diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseAncillaryManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseAncillaryManageService.java index c2175efe..f4693614 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseAncillaryManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseAncillaryManageService.java @@ -16,4 +16,7 @@ public interface DiseaseAncillaryManageService { boolean updateAncillary(DiseaseAncillary diseaseAncillary); + boolean deleteByDiseaseId(String diseaseId); + + } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseasePhysicalManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseasePhysicalManageService.java index 0d6346ae..765d5250 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseasePhysicalManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseasePhysicalManageService.java @@ -14,4 +14,6 @@ public interface DiseasePhysicalManageService { boolean deletePhysical(String id); boolean updatePhysical(DiseasePhysical diseasePhysical); + + boolean deleteByDiseaseId(String diseaseId); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseQuestionManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseQuestionManageService.java index 416731f4..1385dd54 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseQuestionManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseQuestionManageService.java @@ -12,4 +12,6 @@ public interface DiseaseQuestionManageService { void batchSaveQuestion(List diseaseQuestionList); boolean deleteDiseaseQuestion(String id); + + boolean deleteByDiseaseId(String diseaseId); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseTreatmentPlanManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseTreatmentPlanManageService.java index 0a1d9c8d..3ebc5ecc 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseTreatmentPlanManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/DiseaseTreatmentPlanManageService.java @@ -15,4 +15,6 @@ public interface DiseaseTreatmentPlanManageService { void batchSaveTreatmentPlan(List diseaseTreatmentPlanList); boolean deleteDiseaseTreatmentPlan(String id); + + boolean deleteByDiseaseId(String diseaseId); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java index d0b59ddd..a0308c9c 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseAncillaryManageServiceImpl.java @@ -3,6 +3,8 @@ 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.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.supervision.manage.service.DiseaseAncillaryManageService; import com.supervision.model.DiseaseAncillary; import com.supervision.service.DiseaseAncillaryService; @@ -54,6 +56,13 @@ public class DiseaseAncillaryManageServiceImpl implements DiseaseAncillaryManage return diseaseAncillaryService.updateById(diseaseAncillary); } + @Override + public boolean deleteByDiseaseId(String diseaseId) { + Assert.notEmpty(diseaseId,"疾病id不能为空"); + + return diseaseAncillaryService.lambdaUpdate().eq(DiseaseAncillary::getDiseaseId, diseaseId).remove(); + } + private void assertDiseaseAncillary(DiseaseAncillary diseaseAncillary){ 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 f8a39b15..8bb835a4 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 @@ -6,13 +6,15 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.exception.BusinessException; -import com.supervision.manage.service.DiseaseManageService; +import com.supervision.manage.service.*; import com.supervision.model.Disease; import com.supervision.model.DiseaseAncillary; +import com.supervision.service.DiseaseAncillaryService; import com.supervision.service.DiseaseService; import com.supervision.vo.manage.DiseaseVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Objects; @@ -21,6 +23,14 @@ import java.util.Objects; public class DiseaseManageServiceImpl implements DiseaseManageService { private final DiseaseService diseaseService; + + private final DiseaseAncillaryManageService diseaseAncillaryManageService; + + private final DiseasePhysicalManageService diseasePhysicalManageService; + + private final DiseaseQuestionManageService diseaseQuestionManageService; + + private final DiseaseTreatmentPlanManageService diseaseTreatmentPlanManageService; @Override public Disease saveDisease(Disease disease) { @@ -43,11 +53,25 @@ public class DiseaseManageServiceImpl implements DiseaseManageService { } @Override + @Transactional public boolean deleteDisease(String id) { - //todo: 应该删除其他关联信息 + // 1. 删除疾病信息 + diseaseService.removeById(id); + + // 2. 删除疾病辅助检查信息 + diseaseAncillaryManageService.deleteByDiseaseId(id); + + // 3. 删除疾病体格检查信息 + diseasePhysicalManageService.deleteByDiseaseId(id); + + //4. 删除疾病问题信息 + diseaseQuestionManageService.deleteByDiseaseId(id); + + // 5. 删除疾病处置计划信息 + diseaseTreatmentPlanManageService.deleteByDiseaseId(id); - return diseaseService.removeById(id); + return true; } @Override diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java index 3e93e1f5..9e7805c3 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseasePhysicalManageServiceImpl.java @@ -50,6 +50,13 @@ public class DiseasePhysicalManageServiceImpl implements DiseasePhysicalManageSe return diseasePhysicalService.updateById(diseasePhysical); } + @Override + public boolean deleteByDiseaseId(String diseaseId) { + + Assert.notEmpty(diseaseId,"疾病id不能为空"); + return diseasePhysicalService.lambdaUpdate().eq(DiseasePhysical::getDiseaseId,diseaseId).remove(); + } + private void assertDiseasePhysical(DiseasePhysical diseasePhysical){ diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseQuestionManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseQuestionManageServiceImpl.java index 21942ca0..5abcc71f 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseQuestionManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseQuestionManageServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.supervision.manage.service.DiseaseAncillaryManageService; import com.supervision.manage.service.DiseaseQuestionManageService; import com.supervision.model.DiseaseQuestion; import com.supervision.service.AskTemplateQuestionLibraryService; @@ -47,6 +48,13 @@ public class DiseaseQuestionManageServiceImpl implements DiseaseQuestionManageSe return diseaseQuestionService.removeById(id); } + @Override + public boolean deleteByDiseaseId(String diseaseId) { + Assert.notEmpty(diseaseId,"疾病id不允许为空"); + + return diseaseQuestionService.lambdaUpdate().eq(DiseaseQuestion::getDiseaseId, diseaseId).remove(); + } + private List findListByDiseaseIdAndQuestionIdGroup(List diseaseQuestionList){ diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java index cd57248b..e8621b7c 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/DiseaseTreatmentPlanManageServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil; import com.supervision.manage.service.DiseaseTreatmentPlanManageService; import com.supervision.model.ConfigTreatmentPlan; import com.supervision.model.DiseaseTreatmentPlan; +import com.supervision.service.DiseaseQuestionService; import com.supervision.service.DiseaseTreatmentPlanService; import com.supervision.vo.manage.DiseaseTreatmentPlanResVo; import lombok.RequiredArgsConstructor; @@ -49,6 +50,13 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl return diseaseTreatmentPlanService.removeById(id); } + @Override + public boolean deleteByDiseaseId(String diseaseId) { + Assert.notEmpty(diseaseId,"疾病id不能为空"); + + return diseaseTreatmentPlanService.lambdaUpdate().eq(DiseaseTreatmentPlan::getDiseaseId,diseaseId).remove(); + } + private void assertDiseaseTreatmentPlan(DiseaseTreatmentPlan diseaseTreatmentPlan){