Package beans.directory.simple

Source Code of beans.directory.simple.DirectorySimpleBean

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package beans.directory.simple;

import beans.cec.entity.CommitteeResolution;
import framework.beans.directory.DirectoryEntity;
import beans.directory.simple.entities.Appointment;
import beans.directory.simple.entities.CommitteeReason;
import beans.directory.simple.entities.CommitteeResolutionType;
import beans.directory.simple.entities.DiagnosisEncounter;
import beans.directory.simple.entities.DiagnosisType;
import beans.directory.simple.entities.DisabilityType;
import beans.directory.simple.entities.DiscountCardType;
import beans.directory.simple.entities.ExpenditureMetric;
import beans.directory.simple.entities.FollowDownReason;
import beans.directory.simple.entities.FollowupReason;
import beans.directory.simple.entities.Insurer;
import beans.directory.simple.entities.ClinicType;
import beans.directory.simple.entities.ProfChekupResult;
import beans.directory.simple.entities.Profession;
import beans.directory.simple.entities.ProrumbleType;
import beans.directory.simple.entities.ServiceClass;
import beans.directory.simple.entities.SocialStatus;
import beans.directory.simple.entities.TakeDrug;
import beans.directory.simple.entities.UserGroup;
import framework.beans.directory.DirectoryItemDetails;
import framework.beans.directory.simple.DirectorySimpleBeanAbstract;
import beans.discount.entity.Discount;
import beans.discount.entity.DiscountCard;
import beans.followup.entity.Followup;
import beans.profcheckup.entity.ProfcheckupItem;
import beans.directory.expenditure.entity.ExpenditureType;
import beans.directory.service.entity.Service;
import beans.directory.simple.entities.BloodGroup;
import framework.beans.directory.simple.entities.ClientDocumentType;
import beans.doctor.direction.Direction;
import beans.doctor.prescription.PrescriptionItem;
import beans.shedule.prorumble.Prorumble;
import beans.user.client.entity.Client;
import beans.user.job.entity.Job;
import framework.beans.client.clientDocument.ClientDocument;
import framework.beans.directory.simple.entities.Arm;
import framework.beans.directory.simple.entities.Name;
import framework.beans.directory.simple.entities.Patronymic;
import framework.beans.directory.simple.entities.Surname;
import framework.beans.security.entities.ArmPanel;
import framework.beans.security.entities.ArmRight;
import framework.generic.ClipsServerException;
import framework.generic.EDataIntegrity;
import framework.security.UserRight;
import java.util.List;
import javax.ejb.Stateful;
import beans.UserRightsSet;
import beans.contract.entity.ContractPacket;
import beans.contract.entity.Polis;
import beans.discount.card.DiscountCardBeanRemote;
import beans.discount.entity.DiscountCardDetails;
import beans.doctor.PacketService;
import beans.directory.checkuptype.entity.CheckupType;
import beans.directory.packet.entity.PacketTemplateItem;
import beans.directory.simple.entities.CityDistrictOkato;
import framework.beans.directory.simple.entities.DocumentGivenPlace;
import beans.directory.simple.entities.MESTargets;
import beans.directory.simple.entities.MedexamType;
import beans.directory.simple.entities.ServicingPlace;
import beans.directory.simple.entities.DiseaseResult;
import beans.directory.simple.entities.Dvr;
import beans.directory.simple.entities.Excemption;
import beans.directory.simple.entities.FinanceSource;
import beans.directory.simple.entities.MedicalAidType;
import beans.directory.simple.entities.RegionIdCode;
import beans.directory.simple.entities.ReqType;
import beans.directory.simple.entities.ReceptionType;
import beans.directory.simple.entities.RepresentativeStatus;
import beans.directory.simple.entities.Speciality;
import beans.directory.simple.entities.TraumaType;
import beans.directory.simple.entities.VisitType;
import beans.directory.simple.entities.VisitingPurpose;
import beans.directory.simple.entities.dlo.DrugDosageForm;
import beans.directory.simple.entities.dlo.DrugDosageUnit;
import beans.directory.simple.entities.dlo.DrugFarmGroup;
import beans.directory.simple.entities.dlo.DrugMNN;
import beans.directory.simple.entities.dlo.DrugTradeName;
import beans.directory.simple.entities.dlo.DrugVolumeUnit;
import beans.directory.simple.entities.dlo.DrugWeightUnit;
import beans.discount.card.DiscountCardBean;
import beans.doctor.diagnosis.Diagnosis;
import beans.service.mes.entity.MedicEconomicStandart;
import beans.doctor.sicklist.entity.Sicklist;
import beans.user.collaborator.entities.Collaborator;
import beans.user.collaborator.entities.CollaboratorFunctions;
import framework.beans.GenericEntity;
import framework.beans.directory.DirectoryEntityDirty;
import framework.beans.directory.DirectoryEntityExternal;
import framework.beans.directory.DirectoryEntityTrash;
import framework.beans.directory.simple.entities.IntelWriterType;
import framework.beans.directory.simple.entities.Sex;
import framework.generic.ENotMoveToTrash;
import framework.utils.Converter;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import reportgen.cores.ejb.annotations.DefineQueryEntity;

/**
* Как ни странно сушность итема ни с чем больше не связана
* @security ok
* @author axe
*/
@Stateful(mappedName="clips-beans/DirectorySimpleBean")
public class DirectorySimpleBean extends DirectorySimpleBeanAbstract
    implements DirectorySimpleBeanRemote {
   
    public static final int DL_PROF = 10;
    public static final int DL_INSURER = 11;
    public static final int DL_DIAGNOS_TYPE = 12;
    public static final int DL_DIAGNOS_ENCOUNT = 13;
    public static final int DL_SERVICE_CLASS = 14;
    public static final int DL_TAKE_DRUG = 15;
    public static final int DL_REASONUP = 16;
    public static final int DL_REASONDOWN = 17;
    //public static final int DL_DISTRICT = 18;
    public static final int DL_DISCOUNTCARD = 19;
    public static final int DL_EXPEN_METRIC = 20;
   
    public static final int DL_COMMITTEE_RESOLUTION = 21;
    public static final int DL_PROFCHECKUP_RESULTS = 22;
    //public static final int DL_PACKET_SERVICE_TEMPLATE = 23;
    public static final int DL_DISABILITY_TYPE = 24;
    //причина направления на коммиссию
    public static final int DL_COMMITTEE_REASON = 25;
    //тип прогула
    public static final int DL_PRORUMBLE_TYPE = 26;
    //Должности
    public static final int DL_APPOINTMENT = 28;
    //Соц. статус
    public static final int DL_SOCIAL_STATUS = 29;
    //Типы приемов сотрудников
    public static final int DL_RECEPTION_TYPE = 30;
  /**
   * Типы мэсов (медико экономических стандартов) у каждого отделения
   * поликлиники могут быть свои мэсы!
   */
    public static final int DL_CLINIC_TYPE = 31;
  // Цель лечения по МЭСу
    public static final int DL_MES_TARGETS = 32;
    //Группы крови
    public static final int DL_BLOOD_GROUP = 33;

    /**Типы медосмотров*/
    public static final int DL_MEDEXAM_TYPE = 34;

    //место обслуживания
    public static final int DL_SERVICING_PLACE = 35;

    //цель посещения
    public static final int DL_VISITING_PURPOSE = 36;

    //результат обращения
    public static final int DL_DISEASE_RESULT = 37;

    //тип травмы
    public static final int DL_TRAUMA_TYPE = 38;

    //тип посещения (место)
    public static final int DL_REQ_TYPE = 39;

    //вид обращения
    public static final int DL_VISIT_TYPE = 40;

    //справочник связи внешних ид регионов с кодами
    public static final int DL_REGION_ID_CODE = 41;

  //Типа медико-санитарной помощи
    public static final int DL_MEDICAL_AID_TYPE = 42;

    public static final int DL_EXEMPTION_TYPE = 43;

    public static final int DL_DVR = 44;

    public static final int DL_USERGROUP = 45;

    //специальности сотрудников
    public static final int DL_SPECIALITY = 46;

    //районы города
    public static final int DL_CITY_DISTRICT = 47;

    //торговые наименования ЛС
    public static final int DL_DRUG_TRADE_NAME = 48;
    //МНН ЛС
    public static final int DL_DRUG_MNN = 49;
    //лекарственные формы
    public static final int DL_DRUG_DOSAGE_FORM = 50;
    //единицы измерения дозировки
    public static final int DL_DRUG_DOSAGE_UNIT = 51;
    //единицы объема лекарственных форм
    public static final int DL_DRUG_VOLUME_UNIT = 52;
    //единицы веса лекарственных форм
    public static final int DL_DRUG_WEIGHT_UNIT = 53;
    //фармгруппы ЛС
    public static final int DL_DRUG_FARM_GROUP = 54;
    //источник финансирования
    public static final int DL_FINANCE_SOURCE = 55;

    //статус представителя
    public static final int DL_REPRESENTATIVE_STATUS = 56;


    public static final int SIMPLE_DIRECTORIES_COUNT = 57;

   
    public DirectorySimpleBean() {
    }

    @Override
    protected UserRight getRightForCreateDirectoryItem() throws ClipsServerException {
        Class<? extends DirectoryEntity<DirectoryItemDetails>> clazz = getEntityClass();
        if (clazz == UserGroup.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == Profession.class) {
            return UserRightsSet.CREATE_DIRECTORY_COMMON_ITEM;
        } else if (clazz == Insurer.class) {
            return UserRightsSet.CREATE_DIRECTORY_COMMON_ITEM;
        } else if (clazz == DiagnosisType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == MedexamType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DiagnosisEncounter.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == ServiceClass.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == TakeDrug.class) {
            return UserRightsSet.CREATE_DIRECTORY_COMMON_ITEM;
        } else if (clazz == FollowupReason.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == FollowDownReason.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == DiscountCardType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == ExpenditureMetric.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == CommitteeResolutionType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ProfChekupResult.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == DisabilityType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == CommitteeReason.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ProrumbleType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == Appointment.class) {
            return UserRightsSet.CREATE_DIRECTORY_COMMON_ITEM;
        } else if (clazz == SocialStatus.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ReceptionType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == Dvr.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ClinicType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == MESTargets.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == BloodGroup.class) {
            return UserRightsSet.CREATE_DIRECTORY_COMMON_ITEM;
        } else if (clazz == ServicingPlace.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == VisitingPurpose.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == DiseaseResult.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == TraumaType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ReqType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == VisitType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == RegionIdCode.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == MedicalAidType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == Speciality.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == Excemption.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == CityDistrictOkato.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugTradeName.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugMNN.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugDosageForm.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugDosageUnit.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugVolumeUnit.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugWeightUnit.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugFarmGroup.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == FinanceSource.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == RepresentativeStatus.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else {
            return super.getRightForCreateDirectoryItem();
        }
    }

    @Override
    protected UserRight getRightForWriteToDirectory() throws ClipsServerException {
        Class<? extends DirectoryEntity<DirectoryItemDetails>> clazz = getEntityClass();
        if (clazz == UserGroup.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == Profession.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == Insurer.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DiagnosisType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == MedexamType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DiagnosisEncounter.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == ServiceClass.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == TakeDrug.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == FollowupReason.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == FollowDownReason.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == DiscountCardType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == ExpenditureMetric.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == CommitteeResolutionType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ProfChekupResult.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == DisabilityType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == CommitteeReason.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ProrumbleType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == Appointment.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == SocialStatus.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ReceptionType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == Dvr.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ClinicType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == MESTargets.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == BloodGroup.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == ServicingPlace.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == VisitingPurpose.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == DiseaseResult.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == TraumaType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == ReqType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == VisitType.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == RegionIdCode.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == MedicalAidType.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == Speciality.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == Excemption.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == CityDistrictOkato.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugTradeName.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugMNN.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugDosageForm.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugDosageUnit.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugVolumeUnit.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugWeightUnit.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == DrugFarmGroup.class) {
            return UserRightsSet.WRITE_REGION_ADMIN_DIRECTORY;
        } else if (clazz == FinanceSource.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else if (clazz == RepresentativeStatus.class) {
            return UserRightsSet.WRITE_DEVELOPER_DIRECTORY;
        } else {
            return super.getRightForWriteToDirectory();
        }
    }


    @Override
    public boolean init(int type) throws ClipsServerException {
        if(super.init(type)) {
            return true;
        }
        switch (type) {
            case DL_USERGROUP: {
                entityClass = UserGroup.class;
                break;
            }
            case DL_PROF: {
                entityClass = Profession.class;
                break;
            }
            case DL_INSURER: {
                entityClass = Insurer.class;
                break;
            }
            case DL_DIAGNOS_TYPE: {
                entityClass = DiagnosisType.class;
                break;
            }
            case DL_MEDEXAM_TYPE: {
                entityClass = MedexamType.class;
                break;
            }
            case DL_DIAGNOS_ENCOUNT: {
                entityClass = DiagnosisEncounter.class;
                break;
            }
            case DL_SERVICE_CLASS: {
                entityClass = ServiceClass.class;
                break;
            }
            case DL_TAKE_DRUG: {
                entityClass = TakeDrug.class;
                break;
            }
            case DL_REASONUP: {
                entityClass = FollowupReason.class;
                 break;
            }
            case DL_REASONDOWN: {
                entityClass = FollowDownReason.class;
                break;
            }
            case DL_DISCOUNTCARD: {
                entityClass = DiscountCardType.class;
                break;
            }
            case DL_EXPEN_METRIC: {
                entityClass = ExpenditureMetric.class;
                break;
            }
            case DL_COMMITTEE_RESOLUTION: {
                entityClass = CommitteeResolutionType.class;
                break;
            }
            case DL_PROFCHECKUP_RESULTS: {
                entityClass = ProfChekupResult.class;
                break;
            }
            case DL_DISABILITY_TYPE: {
                entityClass = DisabilityType.class;
                break;
            }
            case DL_COMMITTEE_REASON: {
                entityClass = CommitteeReason.class;
                break;
            }
            case DL_PRORUMBLE_TYPE: {
                entityClass = ProrumbleType.class;
                break;
            }
            case DL_APPOINTMENT: {
                entityClass = Appointment.class;
                break;
            }
            case DL_SOCIAL_STATUS: {
                entityClass = SocialStatus.class;
                break;
            }
            case DL_RECEPTION_TYPE: {
                entityClass = ReceptionType.class;
                break;
            }
            case DL_DVR: {
                entityClass = Dvr.class;
                break;
            }
      case DL_CLINIC_TYPE: {
        entityClass = ClinicType.class;
        break;
      }
      case DL_MES_TARGETS: {
        entityClass = MESTargets.class;
        break;
      }
            case DL_BLOOD_GROUP: {
        entityClass = BloodGroup.class;
        break;
      }
            case DL_SERVICING_PLACE: {
        entityClass = ServicingPlace.class;
        break;
      }
            case DL_VISITING_PURPOSE: {
        entityClass = VisitingPurpose.class;
        break;
      }
            case DL_DISEASE_RESULT: {
        entityClass = DiseaseResult.class;
        break;
      }
            case DL_TRAUMA_TYPE: {
        entityClass = TraumaType.class;
        break;
      }
            case DL_REQ_TYPE: {
        entityClass = ReqType.class;
        break;
      }
            case DL_VISIT_TYPE: {
        entityClass = VisitType.class;
        break;
      }
            case DL_REGION_ID_CODE: {
        entityClass = RegionIdCode.class;
        break;
      }
            case DL_MEDICAL_AID_TYPE: {
        entityClass = MedicalAidType.class;
        break;
            }
            case DL_SPECIALITY: {
        entityClass = Speciality.class;
        break;
      }
            case DL_EXEMPTION_TYPE: {
        entityClass = Excemption.class;
        break;
      }
            case DL_CITY_DISTRICT: {
        entityClass = CityDistrictOkato.class;
        break;
      }
            case DL_DRUG_TRADE_NAME: {
        entityClass = DrugTradeName.class;
        break;
      }
            case DL_DRUG_MNN: {
        entityClass = DrugMNN.class;
        break;
      }
            case DL_DRUG_DOSAGE_FORM: {
        entityClass = DrugDosageForm.class;
        break;
      }
            case DL_DRUG_DOSAGE_UNIT: {
        entityClass = DrugDosageUnit.class;
        break;
      }
            case DL_DRUG_VOLUME_UNIT: {
        entityClass = DrugVolumeUnit.class;
        break;
      }
            case DL_DRUG_WEIGHT_UNIT: {
        entityClass = DrugWeightUnit.class;
        break;
      }
            case DL_DRUG_FARM_GROUP: {
        entityClass = DrugFarmGroup.class;
        break;
      }
            case DL_FINANCE_SOURCE: {
        entityClass = FinanceSource.class;
        break;
      }
            case DL_REPRESENTATIVE_STATUS: {
        entityClass = RepresentativeStatus.class;
        break;
      }

            default:
                return false;
        }        DefineQueryEntity gene = entityClass.getAnnotation(DefineQueryEntity.class);
        if (gene != null) {
            hudClassName = gene.title();
        }
        if (DirectoryEntityExternal.class.isAssignableFrom(entityClass)) {
            hasExtKey = true;
        }
        if (DirectoryEntityDirty.class.isAssignableFrom(entityClass)) {
            hasDirty = true;
        }
        if (DirectoryEntityTrash.class.isAssignableFrom(entityClass)) {
            hasTrash = true;
        }
        return true;
    }

    @Override
    protected void onRemove(DirectoryEntity entity) throws ClipsServerException {
        super.onRemove(entity);
        if (entity instanceof Surname) {onRemoveSurname(entity);
        } else if (entity instanceof Name) {onRemoveName(entity);
        } else if (entity instanceof Patronymic) {onRemovePatronymic(entity);
        } else if (entity instanceof Sex) {onRemoveSex(entity);
        } else if (entity instanceof Arm) {onRemoveArm(entity);
        } else if (entity instanceof IntelWriterType) {onRemoveIntelWriterType(entity);
        } else if (entity instanceof Profession) {onRemoveProfession(entity);
        } else if (entity instanceof Appointment) {onRemoveAppointment(entity);
        } else if (entity instanceof Insurer) {onRemoveInsurer(entity);
        } else if (entity instanceof DiagnosisType) {onRemoveDiagnosisType(entity);
        } else if (entity instanceof MedexamType) {onRemovemedexamType(entity);
        } else if (entity instanceof DiagnosisEncounter) {onRemoveDiagnosisEncounter(entity);
        } else if (entity instanceof TakeDrug) {onRemoveTakeDrug(entity);
        } else if (entity instanceof FollowupReason) {onRemoveFollowupReason(entity);
        } else if (entity instanceof FollowDownReason) {onRemoveFollowDownReason(entity);
        } else if (entity instanceof DiscountCardType) {onRemoveDiscountCardType(entity);
        } else if (entity instanceof ExpenditureMetric) {onRemoveExpedintureMetric(entity);
        } else if (entity instanceof CommitteeResolutionType) {onRemoveCommitteeResolutionType(entity);
        } else if (entity instanceof ProfChekupResult) {onRemoveProfChekupResult(entity);
        //} else if (entity instanceof PacketTemplate) {onRemovePacketTemplate(entity);
        } else if (entity instanceof DisabilityType) {onRemoveDisabilityType(entity);
        } else if (entity instanceof SocialStatus) {onRemoveSocialStatus(entity);
        } else if (entity instanceof Dvr) {onRemoveDvr(entity);
        } else if (entity instanceof ClinicType) {onRemoveMedicEconomicStandartType(entity);
        } else if (entity instanceof BloodGroup) {onRemoveBloodGroup(entity);
        } else if (entity instanceof ServiceClass) {onRemoveServiceClass(entity);
        } else if (entity instanceof UserGroup) {onRemoveUserGroup(entity);
        } else if (entity instanceof CommitteeReason) {onRemoveCommitteeReason(entity);
        } else if (entity instanceof ClientDocumentType) {onRemoveClientDocumentType(entity);
        } else if (entity instanceof ProrumbleType) {onRemoveProrumbleType(entity);
        } else if (entity instanceof DocumentGivenPlace) {onRemoveDocumentGivenPlace(entity);
        } else if (entity instanceof MedicalAidType) {onRemoveDocumentGivenPlace(entity);
        } else if (entity instanceof Speciality) {onRemoveSpeciality(entity);
        } else if (entity instanceof CityDistrictOkato) {onRemoveCityDistrict(entity);
        } else if (entity instanceof Excemption) {onRemoveExemptionType(entity);
        } else {
            throw new EDataIntegrity("Для данного справочника не заданы правила удаления в файле DirectorySimpleBean");
        }

    }



    @Override
    final public void replace(int whatID, int withID) throws ClipsServerException {
        checkCommandAccessibility(COMMAND_WRITE);
        DirectoryEntity entityWhat = (DirectoryEntity) findEntity(entityClass, whatID);
        DirectoryEntity entityWith = (DirectoryEntity) findEntity(entityClass, withID);
        if (entityWhat instanceof Surname) {
            replaceSurname(entityWhat, entityWith);
        } else if (entityWhat instanceof Name) {
            replaceName(entityWhat, entityWith);
        } else if (entityWhat instanceof Patronymic) {
            replacePatronymic(entityWhat, entityWith);
        } else if (entityWhat instanceof Arm) {
            replaceArms(entityWhat, entityWith);
        } else if (entityWhat instanceof Profession) {
            replaceProfession(entityWhat, entityWith);
        } else if (entityWhat instanceof Appointment) {
            replaceAppointment(entityWhat, entityWith);
        } else if (entityWhat instanceof Insurer) {
            replaceInsurer(entityWhat, entityWith);
        } else if (entityWhat instanceof TakeDrug) {
            replaceTakeDrug(entityWhat, entityWith);
        } else if (entityWhat instanceof FollowupReason) {
            replaceFollowupReason(entityWhat, entityWith);
        } else if (entityWhat instanceof FollowDownReason) {
            replaceFollowDownReason(entityWhat, entityWith);
        } else if (entityWhat instanceof DiscountCardType) {
            replaceDiscountCardType(entityWhat, entityWith);
        } else if (entityWhat instanceof ExpenditureMetric) {
            replaceExpenMetric(entityWhat, entityWith);
        } else if (entityWhat instanceof CommitteeResolutionType) {
            replaceCommitteeResolutionType(entityWhat, entityWith);
        } else if (entityWhat instanceof ProfChekupResult) {
            replaceProfcheckupResults(entityWhat, entityWith);
        } else if (entityWhat instanceof SocialStatus) {
            replaceSocialStatus(entityWhat, entityWith);
        } else if (entityWhat instanceof ServiceClass) {
            replaceServiceClass(entityWhat, entityWith);
        } else if (entityWhat instanceof UserGroup) {
            replaceUserGroup(entityWhat, entityWith);
        } else if (entityWhat instanceof CommitteeReason) {
            replaceCommitteeReason(entityWhat, entityWith);
        } else if (entityWhat instanceof ClientDocumentType) {
            replaceClientDocumentType(entityWhat, entityWith);
        } else if (entityWhat instanceof ProrumbleType) {
            replaceProrumbleType(entityWhat, entityWith);
        } else if (entityWhat instanceof DocumentGivenPlace) {
            replaceDocumentGivenPlace(entityWhat, entityWith);
        } else {
            throw new ClipsServerException("Замена в данном справочнике не предусмотрена");
        }
    }

    private void replaceSurname(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Client
        List entityList = findEntityList(Client.class, "surname", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Client client = (Client)entityList.get(i);
            client.setSurname((Surname) entityWith);
            manager.merge(client);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceName(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Client
        List entityList = findEntityList(Client.class, "name", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Client client = (Client)entityList.get(i);
            client.setName((Name) entityWith);
            manager.merge(client);
        }
        removeEntity(entityWhat);
        manager.flush();
    }


    private void replacePatronymic(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Client
        List entityList = findEntityList(Client.class, "pathronymic", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Client client = (Client) entityList.get(i);
            client.setPathronymic((Patronymic) entityWith);
            manager.merge(client);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceArms(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //ArmPanel, ArmRight
        List<ArmPanel> entityList = findEntityList(ArmPanel.class, "arm", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            ArmPanel armPanel = entityList.get(i);
            armPanel.setArm((Arm) entityWith);
            manager.merge(armPanel);
        }
        List<ArmRight> entityList1 = findEntityList(ArmRight.class, "arm", entityWhat);
        for (int i = 0; i < entityList1.size(); i++) {
            ArmRight armRight = entityList1.get(i);
            armRight.setArm((Arm) entityWith);
            manager.merge(armRight);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceProfession(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Job
        List entityList = findEntityList(Job.class, "profession", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Job job = (Job)entityList.get(i);
            job.setProfession((Profession) entityWith);
            manager.merge(job);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceAppointment(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Job
        List entityList = findEntityList(Job.class, "appointment", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Job job = (Job)entityList.get(i);
            job.setAppointment((Appointment) entityWith);
            manager.merge(job);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceInsurer(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Contract
        List entityList = findEntityList(Polis.class, "insurer", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Polis polis = (Polis)entityList.get(i);
            polis.setInsurer((Insurer) entityWith);
            manager.merge(polis);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceTakeDrug(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //PrescriptionItem
        List entityList = findEntityList(PrescriptionItem.class, "takeDrug", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            PrescriptionItem prescriptionItem = (PrescriptionItem)entityList.get(i);
            prescriptionItem.setTakeDrug((TakeDrug) entityWith);
            manager.merge(prescriptionItem);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceFollowupReason(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Followup
        List entityList = findEntityList(Followup.class, "upReason", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Followup followup = (Followup)entityList.get(i);
            followup.setUpReason((FollowupReason) entityWith);
            manager.merge(followup);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceFollowDownReason(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Followup
        List entityList = findEntityList(Followup.class, "downReason", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Followup followup = (Followup) entityList.get(i);
            followup.setDownReason((FollowDownReason) entityWith);
            manager.merge(followup);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceDiscountCardType(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //DiscountCard, Discount
        List entityList = findEntityList(DiscountCard.class, "type", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            DiscountCard discountCard = (DiscountCard)entityList.get(i);
            discountCard.setType((DiscountCardType) entityWith);
            manager.merge(discountCard);
        }
        List entityList1 = findEntityList(Discount.class, "cardType", entityWhat);
        for (int i = 0; i < entityList1.size(); i++) {
            Discount discount = (Discount) entityList1.get(i);
            discount.setDiscountCardType((DiscountCardType) entityWith);
            manager.merge(discount);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceExpenMetric(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //ExpenditureType
        List entityList = findEntityList(ExpenditureType.class, "expenditureMetric", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            ExpenditureType expenditureType = (ExpenditureType)entityList.get(i);
            expenditureType.setMetric((ExpenditureMetric) entityWith);
            manager.merge(expenditureType);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceCommitteeResolutionType(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //CommitteeResolution
        List entityList = findEntityList(CommitteeResolution.class, "type", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            CommitteeResolution committeeResolution = (CommitteeResolution)entityList.get(i);
            committeeResolution.setType((CommitteeResolutionType) entityWith);
            manager.merge(committeeResolution);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceProfcheckupResults(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //ProfcheckupItem
        List entityList = findEntityList(ProfcheckupItem.class, "results", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            ProfcheckupItem profcheckupItem = (ProfcheckupItem) entityList.get(i);
            profcheckupItem.setResults((ProfChekupResult) entityWith);
            manager.merge(profcheckupItem);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceSocialStatus(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Client
        List entityList = findEntityList(Client.class, "socialStatus", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Client client = (Client) entityList.get(i);
            client.setSocialStatus((SocialStatus) entityWith);
            manager.merge(client);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceServiceClass(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Discount, Service
        List entityList = findEntityList(Discount.class, "serviceClass", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Discount d = (Discount)entityList.get(i);
            d.setServiceClass((ServiceClass) entityWith);
            manager.merge(d);
        }
        List entityList1 = findEntityList(Service.class, "serviceClass", entityWhat);
        for (int i = 0; i < entityList1.size(); i++) {
            Service s = (Service) entityList1.get(i);
            s.setServiceClass((ServiceClass) entityWith);
            manager.merge(s);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceUserGroup(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Client
        List entityList = findEntityList(Client.class, "userGroup", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Client c = (Client) entityList.get(i);
            c.setUserGroup((UserGroup) entityWith);
            manager.merge(c);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceCommitteeReason(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Direction
        List entityList = findEntityList(Direction.class, "committeeReason", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Direction d = (Direction) entityList.get(i);
            d.setCommitteeReason((CommitteeReason) entityWith);
            manager.merge(d);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceClientDocumentType(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //ClientDocument
        List entityList = findEntityList(ClientDocument.class, "doctype", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            ClientDocument cdt = (ClientDocument) entityList.get(i);
            cdt.setDoctype((ClientDocumentType) entityWith);
            manager.merge(cdt);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceProrumbleType(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //Prorumble
        List<Prorumble> entityList = findEntityList(Prorumble.class, "prorumbleType", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            Prorumble p  = entityList.get(i);
            p.setType((ProrumbleType) entityWith);
            manager.merge(p);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

    private void replaceDocumentGivenPlace(DirectoryEntity entityWhat, DirectoryEntity entityWith) {
        //DocumentGivenPlace
        List<ClientDocument> entityList = findEntityList(ClientDocument.class, "enterprise", entityWhat);
        for (int i = 0; i < entityList.size(); i++) {
            ClientDocument p  = (ClientDocument) entityList.get(i);
            p.setGivenPlace((DocumentGivenPlace) entityWith);
            manager.merge(p);
        }
        removeEntity(entityWhat);
        manager.flush();
    }

/////////////////////////////////////// Блок проверки на возможность удаления

    private void onRemoveSurname(DirectoryEntity entity) throws ClipsServerException {
        //Client
        Class <? extends GenericEntity> checked = Client.class;
        Field f[] = { new Field("surname", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveName(DirectoryEntity entity) throws ClipsServerException {
        //Client
        Class <? extends GenericEntity> checked = Client.class;
        Field f[] = { new Field("name", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) {
      throw new EDataIntegrity("На элемент '" + entity.getTitle()
          + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }
    }

    private void onRemovePatronymic(DirectoryEntity entity) throws ClipsServerException {
        //Client
        Class <? extends GenericEntity> checked = Client.class;
        Field f[] = { new Field("pathronymic", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveSex(DirectoryEntity entity) throws ClipsServerException {
        //Client
        Class <? extends GenericEntity> checked = Client.class;
        Field f[] = { new Field("sex", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveArm(DirectoryEntity entity) throws ClipsServerException {
        //ArmPanel, ArmRight
        Field f[] = { new Field("arm", entity) };
        int count = getEntityCount(ArmPanel.class, f, "");
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы Панели");
        Field f1[] = { new Field("arm", entity) };
        int count1 = getEntityCount(ArmRight.class, f1, "");
        if (count1 > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count1 + " элементов из таблицы Права");
    }

    private void onRemoveIntelWriterType(DirectoryEntity entity) throws ClipsServerException {
        int iwtID = ((IntelWriterType) entity).getId();
        List entityList = findEntityList(CheckupType.class);
        for (int i = 0; i < entityList.size(); i++) {
            CheckupType checkupType = (CheckupType) entityList.get(i);
            String metadata = checkupType.getMetadata();
            try {
                Document xml = Converter.stringToXml(metadata);

                List l = xml.getRootElement().getChildren();
                for (int j = 0; j < l.size(); j++) {
                    Element element = (Element) l.get(j);
                    if (element.getName().equals("field")) {
                        String id = element.getChildTextTrim("id");
                        if (id != null) {
                            try {
                                int intID = Integer.parseInt(id);
                                if (iwtID == intID) {
                                    throw new EDataIntegrity("Этот тип уже используется в анализе (" + checkupType.getTitle() + ")");
                                }
                            } catch (NumberFormatException ex) {
                                throw new ClipsServerException("Некорректная xml (CheckupType " + checkupType.getTitle() + ")", ex);
                            }
                        }
                    }
                }


            } catch (JDOMException ex) {
                throw new ClipsServerException("Некорректная xml (CheckupType " + checkupType.getTitle() + ")", ex);
            }
        }
    }

    private void onRemoveProfession(DirectoryEntity entity) throws ClipsServerException {
        //Job
        Class <? extends GenericEntity> checked = Job.class;
        Field f[] = { new Field("profession", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveAppointment(DirectoryEntity entity) throws ClipsServerException {
        //Job
        Class <? extends GenericEntity> checked = Job.class;
        Field f[] = { new Field("appointment", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveInsurer(DirectoryEntity entity) throws ClipsServerException {
        //Polis
        Class <? extends GenericEntity> checked = Polis.class;
        Field f[] = { new Field("insurer", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) {
      throw new EDataIntegrity("На элемент '" + entity.getTitle()
          + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }
    }

    private void onRemoveDiagnosisType(DirectoryEntity entity) throws ClipsServerException {
        //Diagnosis
        /*Class <? extends GenericEntity> checked = Diagnosis.class;
        Field f[] = { new Field("type", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));*/
        throw new ENotMoveToTrash("Типы диагнозов не подлежат удалению");
    }

    private void onRemovemedexamType(DirectoryEntity entity) throws ClipsServerException {
        throw new ENotMoveToTrash("Типы медосмотров не подлежат удалению");
    }

    private void onRemoveCityDistrict(DirectoryEntity entity) throws ClipsServerException {
        throw new ENotMoveToTrash("Районы городов не подлежат удалению");
    }

    private void onRemoveExemptionType(DirectoryEntity entity) throws ClipsServerException {
        throw new ENotMoveToTrash("Категории льготности не подлежат удалению");
    }

    private void onRemoveDiagnosisEncounter(DirectoryEntity entity) throws ClipsServerException {
        //Diagnosis
        Class <? extends GenericEntity> checked = Diagnosis.class;
        Field f[] = { new Field("encounter", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveTakeDrug(DirectoryEntity entity) throws ClipsServerException {
        //PrescriptionItem
        Class <? extends GenericEntity> checked = PrescriptionItem.class;
        Field f[] = { new Field("takeDrug", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveFollowupReason(DirectoryEntity entity) throws ClipsServerException {
        //Followup
        Class <? extends GenericEntity> checked = Followup.class;
        Field f[] = { new Field("upReason", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveFollowDownReason(DirectoryEntity entity) throws ClipsServerException {
        //Followup
        Class <? extends GenericEntity> checked = Followup.class;
        Field f[] = { new Field("downReason", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveDiscountCardType(DirectoryEntity entity) throws ClipsServerException {
        //DiscountCard, Discount
        Class checked = DiscountCard.class;
        Field f[] = { new Field("type", entity) };

        try {
            DiscountCardBeanRemote cardBeanRemote = getBean(DiscountCardBean.class);
            List list = findEntityList(checked, f);
            for (int i = 0; i < list.size(); i++) {
                DiscountCard discountCard = (DiscountCard) list.get(i);
                cardBeanRemote.initByID(discountCard.getId(), getSessionId());
                DiscountCardDetails details = (DiscountCardDetails) cardBeanRemote.getDetails();
                details.collaboratorBlockerID = getCollaboratorId();
                cardBeanRemote.update(details);
            }
        } catch (ClipsServerException ex) {
            throw new ENotMoveToTrash("Ошибка при блокировке диск. карты", ex);
        }
       
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
        checked = Discount.class;
        Field f1[] = { new Field("cardType", entity) };
        int count1 = getEntityCount(checked, f1);
        if (count1 > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count1 + " элементов из таблицы " + getEntityHumanName(checked));

    }

    private void onRemoveExpedintureMetric(DirectoryEntity entity) throws ClipsServerException {
        //ExpenditureType
        Class <? extends GenericEntity> checked = ExpenditureType.class;
        Field f[] = { new Field("expenditureMetric", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveCommitteeResolutionType(DirectoryEntity entity) throws ClipsServerException {
        //CommitteeResolution
        Class <? extends GenericEntity> checked = CommitteeResolution.class;
        Field f[] = { new Field("type", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveProfChekupResult(DirectoryEntity entity) throws ClipsServerException {
        //ProfcheckupItem
        Class <? extends GenericEntity> checked = ProfcheckupItem.class;
        Field f[] = { new Field("results", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemovePacketTemplate(DirectoryEntity entity) throws ClipsServerException {
        //PacketTemplateItem, PacketService, ContractPacket
        Class checked = PacketTemplateItem.class;
        Field f[] = { new Field("packetServiceTemplate", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
        checked = PacketService.class;
        Field f1[] = { new Field("packetTemplate", entity) };
        int count1 = getEntityCount(checked, f1);
        if (count1 > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count1 + " элементов из таблицы " + getEntityHumanName(checked));
        checked = ContractPacket.class;
        Field f2[] = { new Field("packetServiceTemplate", entity) };
        int count2 = getEntityCount(checked, f2);
        if (count2 > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count2 + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveDisabilityType(DirectoryEntity entity) throws ClipsServerException {
        //Sicklist
        Class <? extends GenericEntity> checked = Sicklist.class;
        Field f[] = { new Field("disabilityType", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveSocialStatus(DirectoryEntity entity) throws ClipsServerException {
        //Client
        Class <? extends GenericEntity> checked = Client.class;
        Field f[] = { new Field("socialStatus", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }


    private void onRemoveDvr(DirectoryEntity entity) throws ClipsServerException {
        //Collaborator
        Class <? extends GenericEntity> checked = Collaborator.class;
        Field f[] = { new Field("dvr", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveMedicEconomicStandartType(DirectoryEntity entity) throws ClipsServerException {
        //MedicEconomicStandart
        Class <? extends GenericEntity> checked = MedicEconomicStandart.class;
        Field f[] = { new Field("mesType", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveBloodGroup(DirectoryEntity entity) throws ClipsServerException {
        //Client
        Class <? extends GenericEntity> checked = Client.class;
        Field f[] = { new Field("bloodGroup", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveServiceClass(DirectoryEntity entity) throws ClipsServerException {
        //Discount, Service
        Class checked = Discount.class;
        Field f[] = { new Field("serviceClass", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
        checked = Service.class;
        Field f1[] = { new Field("serviceClass", entity) };
        int count1 = getEntityCount(checked, f1);
        if (count1 > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count1 + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveUserGroup(DirectoryEntity entity) throws ClipsServerException {
        //Client
        Class <? extends GenericEntity> checked = Client.class;
        Field f[] = { new Field("userGroup", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveCommitteeReason(DirectoryEntity entity) throws ClipsServerException {
        //Direction
        Class <? extends GenericEntity> checked = Direction.class;
        Field f[] = { new Field("committeeReason", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveClientDocumentType(DirectoryEntity entity) throws ClipsServerException {
        //ClientDocument
        Class <? extends GenericEntity> checked = ClientDocument.class;
        Field f[] = { new Field("doctype", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveProrumbleType(DirectoryEntity entity) throws ClipsServerException {
        //Prorumble
        Class checked = Prorumble.class;
        Field f[] = { new Field("prorumbleType", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveDocumentGivenPlace(DirectoryEntity entity) throws ClipsServerException {
        //DocumentGivenPlace
        Class<? extends DirectoryEntity> checked = DocumentGivenPlace.class;
        Field f[] = { new Field("enterprise", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveMedicalAidType(DirectoryEntity entity) throws ClipsServerException {
    // Collaborator
        Class<? extends DirectoryEntity> checked = Collaborator.class;
        Field f[] = { new Field("medicalAidType", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

    private void onRemoveSpeciality(DirectoryEntity entity) throws ClipsServerException {
    // Collaborator
        Class<? extends DirectoryEntity> checked = CollaboratorFunctions.class;
        Field f[] = { new Field("speciality", entity) };
        int count = getEntityCount(checked, f);
        if (count > 0) throw new EDataIntegrity("На элемент '" + entity.getTitle()
                + "' ссылаются " + count + " элементов из таблицы " + getEntityHumanName(checked));
    }

}

/*
    Surname; +
    Name; +
    Pathron; +
    Sex; +
    Arms; +
    IntelliWriterType; +
    Usergroup; +
    Profession; +
    Insurer; +
    DiagnosisType; +
    DiagnosEncount; +
    ServiceClass; +
    TakeDrug; +
    FollowupReason; +
    FollowDownReason; +
    District; +
    DiscountcardType; +
    ExpenMetric; +
    CommitteeResolutionType; +
    ProfcheckupResults; +
    PacketTemplate; +
    DisabilityType; +
    CommitteeReason; +
    ProrumbleType; +
    Laboratory; +
    Appointment; +
    SocialStatus; +
    ReceptionType; +
    MedicEconomicStandartType; +
    BloodGroup; +
    ClientDocumentType; +

*/ 
TOP

Related Classes of beans.directory.simple.DirectorySimpleBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.