From 7220ea635c4acbc2a89925321c303e06cd6de181 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Fri, 5 Jan 2024 14:14:51 +0800 Subject: [PATCH] =?UTF-8?q?manage:=20=E6=B7=BB=E5=8A=A0=20=E5=A4=84?= =?UTF-8?q?=E7=BD=AE=E8=AE=A1=E5=88=92=E3=80=81=E8=8D=AF=E5=93=81=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=88=A0=E9=99=A4=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConfigTreatmentPlanManageServiceImpl.java | 18 +++++++++++++++++- .../service/impl/DrugManageServiceImpl.java | 18 +++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) 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不能为空");