diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseManageServiceImpl.java index 3c2de53f..3f7577b8 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseManageServiceImpl.java @@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.supervision.exception.BusinessException; import com.supervision.manage.service.*; import com.supervision.model.Disease; +import com.supervision.model.MedicalRec; import com.supervision.service.DiseaseService; +import com.supervision.service.MedicalRecService; import com.supervision.util.RedisSequenceUtil; import com.supervision.vo.manage.DiseaseReqVo; import com.supervision.vo.manage.DiseaseResVo; @@ -34,6 +36,8 @@ public class DiseaseManageServiceImpl implements DiseaseManageService { private final DiseaseQuestionManageService diseaseQuestionManageService; private final DiseaseTreatmentPlanManageService diseaseTreatmentPlanManageService; + + private final MedicalRecService medicalRecService; @Override public Disease saveDisease(Disease disease) { @@ -71,7 +75,7 @@ public class DiseaseManageServiceImpl implements DiseaseManageService { return true; } Assert.isFalse(disease.getDiseaseType()==0,"单一疾病不允许被删除"); - + assertDiseaseIsUsed(id); // 1. 删除疾病信息 diseaseService.removeById(id); @@ -157,4 +161,13 @@ public class DiseaseManageServiceImpl implements DiseaseManageService { } + /** + * 校验疾病是否被使用 + * @param diseaseId 疾病id + */ + private void assertDiseaseIsUsed(String diseaseId){ + boolean isUsedMedicalRec = medicalRecService.lambdaQuery().eq(MedicalRec::getDiseaseId, diseaseId).count() > 0; + Assert.isFalse(isUsedMedicalRec,"疾病已经关联病例,不允许删除"); + } + }