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> group = diseaseTreatmentPlanDrugList.stream().collect(Collectors.groupingBy(DiseaseTreatmentPlanDrug::getTreatmentPlanId)); + Map> 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 @@ + @@ -16,7 +17,7 @@ - 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 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