From 3c247de78d59b794efaaf8827c0b45012f0e2a00 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Tue, 9 Jan 2024 17:47:44 +0800 Subject: [PATCH] =?UTF-8?q?manage:=20queryListByDiseaseId=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...DiseaseTreatmentPlanManageServiceImpl.java | 21 ++++++++++++++++++- .../vo/manage/DiseaseTreatmentPlanResVo.java | 5 +++++ 2 files changed, 25 insertions(+), 1 deletion(-) 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 1a87b773..1c892c16 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 @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; @@ -36,7 +37,25 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl public List queryListByDiseaseId(String diseaseId) { Assert.notEmpty(diseaseId,"疾病id不能为空"); - return diseaseTreatmentPlanService.queryListByDiseaseId(diseaseId); + List diseaseTreatmentPlanResVos = diseaseTreatmentPlanService.queryListByDiseaseId(diseaseId); + + if (CollUtil.isEmpty(diseaseTreatmentPlanResVos)){ + return diseaseTreatmentPlanResVos; + } + + //添加关联的处置药物 + List treatmentPlanIdList = diseaseTreatmentPlanResVos.stream() + .map(DiseaseTreatmentPlanResVo::getTreatmentPlanId).distinct().collect(Collectors.toList()); + List diseaseTreatmentPlanDrugList = diseaseTreatmentPlanDrugService.lambdaQuery() + .in(DiseaseTreatmentPlanDrug::getTreatmentPlanId, treatmentPlanIdList) + .eq(DiseaseTreatmentPlanDrug::getDiseaseId, diseaseId).list(); + + Map> group = diseaseTreatmentPlanDrugList.stream().collect(Collectors.groupingBy(DiseaseTreatmentPlanDrug::getTreatmentPlanId)); + diseaseTreatmentPlanResVos.forEach(item->item.setDrugIds( + group.getOrDefault(item.getTreatmentPlanId(), CollUtil.newArrayList()) + .stream().map(DiseaseTreatmentPlanDrug::getDrugId).collect(Collectors.toList()))); + + return diseaseTreatmentPlanResVos; } @Override diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanResVo.java index 96f7dd86..420cba5b 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanResVo.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/DiseaseTreatmentPlanResVo.java @@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.List; + @Data @EqualsAndHashCode(callSuper = true) public class DiseaseTreatmentPlanResVo extends ConfigTreatmentPlan { @@ -23,5 +25,8 @@ public class DiseaseTreatmentPlanResVo extends ConfigTreatmentPlan { @ApiModelProperty("计划id 用来代替planId") private String treatmentPlanId; + @ApiModelProperty("药物列表") + private List drugIds; + }