From 9947203bd3bcd0d7390ea41c254d169b60b90052 Mon Sep 17 00:00:00 2001
From: xueqingkun <xueqingkun@126.com>
Date: Wed, 24 Jan 2024 17:43:25 +0800
Subject: [PATCH] =?UTF-8?q?manage:=20vp=5Fdisease=5Ftreatment=5Fplan=5Fdru?=
 =?UTF-8?q?g=20=E8=A1=A8=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5=20=E8=A7=A3?=
 =?UTF-8?q?=E5=86=B3=E7=96=BE=E7=97=85=E5=A4=84=E7=BD=AE=E6=A3=80=E6=9F=A5?=
 =?UTF-8?q?=E5=A2=9E=E6=94=B9=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../impl/DiseaseTreatmentPlanManageServiceImpl.java       | 8 ++++----
 .../com/supervision/model/DiseaseTreatmentPlanDrug.java   | 8 +++++++-
 .../resources/mapper/DiseaseTreatmentPlanDrugMapper.xml   | 3 ++-
 virtual-patient-web/src/main/resources/sqlScript/todo.sql | 3 +++
 4 files changed, 16 insertions(+), 6 deletions(-)

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 d00f634e..69df8e7f 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
@@ -79,12 +79,12 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl
                 }));
             }
         }
-        Map<String, List<DiseaseTreatmentPlanDrug>> group = diseaseTreatmentPlanDrugList.stream().collect(Collectors.groupingBy(DiseaseTreatmentPlanDrug::getTreatmentPlanId));
+        Map<String, List<DiseaseTreatmentPlanDrug>> group = diseaseTreatmentPlanDrugList.stream().collect(Collectors.groupingBy(DiseaseTreatmentPlanDrug::getDiseaseTreatmentPlanId));
 
         for (DiseaseTreatmentPlanResVo item : diseaseTreatmentPlanResVos) {
             // 设置处置药物id集合
             item.setDrugIds(
-                    group.getOrDefault(item.getTreatmentPlanId(), CollUtil.newArrayList())
+                    group.getOrDefault(item.getId(), CollUtil.newArrayList())
                             .stream().map(DiseaseTreatmentPlanDrug::getDrugId).collect(Collectors.toList()));
             // 设置处置药物剂型与剂型的翻译数据
             String drugId = CollUtil.getFirst(item.getDrugIds());
@@ -114,6 +114,7 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl
                 DiseaseTreatmentPlanDrug diseaseTreatmentPlanDrug = new DiseaseTreatmentPlanDrug();
                 diseaseTreatmentPlanDrug.setDiseaseId(diseaseTreatmentPlan.getDiseaseId());
                 diseaseTreatmentPlanDrug.setTreatmentPlanId(diseaseTreatmentPlan.getTreatmentPlanId());
+                diseaseTreatmentPlanDrug.setDiseaseTreatmentPlanId(diseaseTreatmentPlan.getId());
                 diseaseTreatmentPlanDrug.setDrugId(item);
                 return diseaseTreatmentPlanDrug;
             }).collect(Collectors.toList());
@@ -180,8 +181,7 @@ public class DiseaseTreatmentPlanManageServiceImpl implements DiseaseTreatmentPl
         if (Objects.nonNull(dtp)){
             diseaseTreatmentPlanService.removeById(diseaseTreatmentPlan.getId());
             diseaseTreatmentPlanDrugService.lambdaUpdate()
-                    .eq(DiseaseTreatmentPlanDrug::getTreatmentPlanId,dtp.getTreatmentPlanId())
-                    .eq(DiseaseTreatmentPlanDrug::getDiseaseId,dtp.getDiseaseId()).remove();
+                    .eq(DiseaseTreatmentPlanDrug::getDiseaseTreatmentPlanId,dtp.getId()).remove();
         }
 
         diseaseTreatmentPlan.setId(null);
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiseaseTreatmentPlanDrug.java b/virtual-patient-model/src/main/java/com/supervision/model/DiseaseTreatmentPlanDrug.java
index 29279af9..27dd073c 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/DiseaseTreatmentPlanDrug.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/DiseaseTreatmentPlanDrug.java
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.time.LocalDateTime;
-import java.util.Date;
 import lombok.Data;
 
 /**
@@ -30,6 +29,13 @@ public class DiseaseTreatmentPlanDrug implements Serializable {
      */
     private String treatmentPlanId;
 
+    /**
+     * 疾病处置计划id
+     * 初始设计的时候是希望 diseaseId 和 treatmentPlanId 关联 DiseaseTreatmentPlan表中的 diseaseId, treatmentPlanId
+     * 后面由于疾病没有使用到treatmentPlanId(统一设置为20),所以只根据diseaseId,treatmentPlanId无法区分出某一种处置计划对应的药物
+     */
+    private String diseaseTreatmentPlanId;
+
     /**
      * 药品id
      */
diff --git a/virtual-patient-model/src/main/resources/mapper/DiseaseTreatmentPlanDrugMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseaseTreatmentPlanDrugMapper.xml
index db49a5e3..3fba47d0 100644
--- a/virtual-patient-model/src/main/resources/mapper/DiseaseTreatmentPlanDrugMapper.xml
+++ b/virtual-patient-model/src/main/resources/mapper/DiseaseTreatmentPlanDrugMapper.xml
@@ -8,6 +8,7 @@
             <result property="id" column="id" jdbcType="VARCHAR"/>
             <result property="diseaseId" column="disease_id" jdbcType="VARCHAR"/>
             <result property="treatmentPlanId" column="treatment_plan_id" jdbcType="VARCHAR"/>
+            <result property="diseaseTreatmentPlanId" column="disease_treatment_plan_id" jdbcType="VARCHAR"/>
             <result property="drugId" column="drug_id" jdbcType="VARCHAR"/>
             <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
             <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
@@ -16,7 +17,7 @@
     </resultMap>
 
     <sql id="Base_Column_List">
-        id,disease_id,treatment_plan_id,drug_id,
+        id,disease_id,treatment_plan_id,disease_treatment_plan_id,drug_id,
         create_user_id,create_time,update_user_id,
         update_time
     </sql>
diff --git a/virtual-patient-web/src/main/resources/sqlScript/todo.sql b/virtual-patient-web/src/main/resources/sqlScript/todo.sql
index 7d5433f6..291d5095 100644
--- a/virtual-patient-web/src/main/resources/sqlScript/todo.sql
+++ b/virtual-patient-web/src/main/resources/sqlScript/todo.sql
@@ -56,3 +56,6 @@ ALTER TABLE vp_config_ancillary_item
 -- 在病例表中允许patient_id为空
 alter table vp_medical_rec
     modify patient_id varchar(64) null comment '病人ID';
+
+alter table vp_disease_treatment_plan_drug
+    add disease_treatment_plan_id varchar(64) null comment '疾病处置计划id;初始设计的时候是希望 diseaseId 和 treatmentPlanId 关联 DiseaseTreatmentPlan表中的 diseaseId,treatmentPlanId, 后面由于疾病没有使用到treatmentPlanId(统一设置为20),所以只根据diseaseId,treatmentPlanId无法区分出某一种处置计划对应的药物' after treatment_plan_id;
\ No newline at end of file