diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java index 824fdaaa..f3832cab 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java @@ -8,7 +8,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.manage.constant.DisposalPlanEnum; import com.supervision.manage.service.ConfigTreatmentPlanManageService; import com.supervision.model.ConfigTreatmentPlan; +import com.supervision.model.DiseaseTreatmentPlan; import com.supervision.service.ConfigTreatmentPlanService; +import com.supervision.service.DiseaseTreatmentPlanService; import com.supervision.vo.manage.TreatmentPlanTreeNode; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -22,6 +24,8 @@ public class ConfigTreatmentPlanManageServiceImpl implements ConfigTreatmentPlan private final ConfigTreatmentPlanService configTreatmentPlanService; + private final DiseaseTreatmentPlanService diseaseTreatmentPlanService; + @Override public List queryTree(Integer disposalMethod) { @@ -60,10 +64,22 @@ public class ConfigTreatmentPlanManageServiceImpl implements ConfigTreatmentPlan public boolean deleteTreatmentPlan(String id) { Assert.notEmpty(id,"id 不允许为空"); - + assertTreatmentPlanUsed(id); return configTreatmentPlanService.removeById(id); } + /** + * 判断处置计划是否被使用 + * @param id 处置计划id + * @return true:被使用 false:未被使用 + */ + public void assertTreatmentPlanUsed(String id){ + // 有没有被疾病关联 + boolean b = diseaseTreatmentPlanService.lambdaQuery() + .eq(DiseaseTreatmentPlan::getTreatmentPlanId, id).count() > 0; + Assert.isFalse(b,"处置计划已被疾病关联,不允许删除"); + + } @Override public boolean updateTreatmentPlan(ConfigTreatmentPlan configDrug) { diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DrugManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DrugManageServiceImpl.java index 983eeb99..064cd773 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DrugManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DrugManageServiceImpl.java @@ -1,13 +1,19 @@ package com.supervision.manage.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.supervision.manage.service.ConfigTreatmentPlanManageService; import com.supervision.manage.service.DrugManageService; import com.supervision.model.ConfigDrug; +import com.supervision.model.ConfigTreatmentPlan; +import com.supervision.model.DiseaseTreatmentPlanDrug; import com.supervision.service.ConfigDrugService; +import com.supervision.service.ConfigTreatmentPlanService; +import com.supervision.service.DiseaseTreatmentPlanDrugService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -15,7 +21,9 @@ import org.springframework.stereotype.Service; @RequiredArgsConstructor public class DrugManageServiceImpl implements DrugManageService { - private final ConfigDrugService configDrugService;; + private final ConfigDrugService configDrugService; + + private final DiseaseTreatmentPlanDrugService diseaseTreatmentPlanDrugService; @Override public ConfigDrug saveDrug(ConfigDrug configDrug) { Assert.notEmpty(configDrug.getDrugName(), "药品名称不能为空"); @@ -27,10 +35,18 @@ public class DrugManageServiceImpl implements DrugManageService { @Override public boolean deleteDrugById(String id) { Assert.notEmpty(id, "药品id不能为空"); + assertDrugIsUsed(id); return configDrugService.removeById(id); } + + public void assertDrugIsUsed(String id) { + boolean diseasePlanIsUsed = diseaseTreatmentPlanDrugService.lambdaQuery().eq(DiseaseTreatmentPlanDrug::getDrugId, id).count() > 0; + Assert.isFalse(diseasePlanIsUsed, "药品已经在疾病处置计划中使用"); + + } + @Override public boolean updateDrug(ConfigDrug configDrug) { Assert.notEmpty(configDrug.getId(), "药品id不能为空");