/*
* 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; +
*/