From b4540606001895f2cf8c06b4cc239338d8ab128c Mon Sep 17 00:00:00 2001 From: liu Date: Mon, 30 Oct 2023 18:03:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E7=BB=88=E7=BB=93=E6=9E=9C=E8=AF=8A?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supervision/model/DiagnosisPrimary.java | 3 ++ .../supervision/model/DiagnosisResult.java | 17 +++++-- .../java/com/supervision/model/Disease.java | 7 +++ .../supervision/model/DiseaseAncillary.java | 10 +++- .../supervision/model/DiseasePhysical.java | 10 +++- .../vo/ask/DiagnosisPrimaryVO.java | 2 + .../mapper/DiagnosisPrimaryMapper.xml | 3 +- .../mapper/DiagnosisResultMapper.xml | 22 +++++---- .../mapper/DiseaseAncillaryMapper.xml | 25 +++++----- .../main/resources/mapper/DiseaseMapper.xml | 30 ++++++------ .../mapper/DiseasePhysicalMapper.xml | 4 +- .../AskDiagnosisResultController.java | 30 ++++++++++++ .../pojo/vo/BasisConfirmResultResVO.java | 20 ++++++++ .../pojo/vo/BasisDiagnosisNodeResVO.java | 22 +++++++++ .../vo/BasisIdentificationResultResVO.java | 9 ++++ .../pojo/vo/BasisPrimaryResultResVO.java | 17 +++++++ .../supervision/pojo/vo/DealPlanResVO.java | 7 +++ .../pojo/vo/DiagnosisDiseaseResultNodeVO.java | 21 ++++++++ .../pojo/vo/DiagnosisResultResVO.java | 29 +++++++++++ .../pojo/vo/ExpertDiagnosisResultResVO.java | 24 ++++++++++ .../supervision/pojo/vo/FinishAskReqVO.java | 18 +++++++ .../supervision/pojo/vo/FullCheckResVO.java | 4 ++ .../service/AskDiagnosisResultService.java | 12 +++++ .../impl/AskDiagnosisResultServiceImpl.java | 48 +++++++++++++++++++ .../service/impl/AskPrimaryServiceImpl.java | 5 ++ 25 files changed, 354 insertions(+), 45 deletions(-) create mode 100644 virtual-patient-web/src/main/java/com/supervision/controller/AskDiagnosisResultController.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisConfirmResultResVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisDiagnosisNodeResVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisPrimaryResultResVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/DealPlanResVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisDiseaseResultNodeVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisResultResVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/ExpertDiagnosisResultResVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/FinishAskReqVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/pojo/vo/FullCheckResVO.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/service/AskDiagnosisResultService.java create mode 100644 virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPrimary.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPrimary.java index 76646f2e..016185b0 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPrimary.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisPrimary.java @@ -40,6 +40,9 @@ public class DiagnosisPrimary implements Serializable { @ApiModelProperty("是否删除(0否1是)如删除,仅页面不显示") private Integer deleteFlag; + @ApiModelProperty("患者病情(初步诊断填写)") + private String patientDiseaseInfo; + /** * 创建人ID */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisResult.java b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisResult.java index c4e6c558..dafe12e3 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisResult.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisResult.java @@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.List; +import com.supervision.handler.StringListTypeHandler; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; * 诊断结果 * @TableName vp_diagnosis_result */ -@TableName(value ="vp_diagnosis_result") +@TableName(value ="vp_diagnosis_result",autoResultMap = true) @Data @ApiModel public class DiagnosisResult implements Serializable { @@ -32,10 +34,11 @@ public class DiagnosisResult implements Serializable { private String processId; /** - * 诊断结果 + * 最终诊断结果 */ - @ApiModelProperty("诊断结果") - private String finalDiagnosis; + @ApiModelProperty("最终诊断结果") + @TableField(typeHandler = StringListTypeHandler.class) + private List finalDiagnosis; /** * 治疗计划 @@ -43,6 +46,12 @@ public class DiagnosisResult implements Serializable { @ApiModelProperty("治疗计划") private String treatmentPlan; + /** + * 治疗计划类型(0门诊 1住院) + */ + @ApiModelProperty("治疗计划类型(0门诊 1住院)") + private Integer treatmentPlanType; + /** * 论证诊断 */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Disease.java b/virtual-patient-model/src/main/java/com/supervision/model/Disease.java index b2d21af6..9dfc2883 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/Disease.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/Disease.java @@ -61,12 +61,19 @@ public class Disease implements Serializable { @ApiModelProperty("鉴别依据") private String basisIdentification; + /** + * 治疗计划 + */ + @ApiModelProperty("治疗计划") + private String diseaseTreatmentPlan; + /** * 其他 */ @ApiModelProperty("其他") private String other; + /** * 创建人ID */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiseaseAncillary.java b/virtual-patient-model/src/main/java/com/supervision/model/DiseaseAncillary.java index f74978cc..e0d4599a 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiseaseAncillary.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiseaseAncillary.java @@ -38,11 +38,17 @@ public class DiseaseAncillary implements Serializable { private String itemId; /** - * 是否必查 + * 是否必查-初步诊断依据 */ - @ApiModelProperty("是否必查") + @ApiModelProperty("是否必查-初步诊断依据(0否1是)") private Integer requireCheck; + @ApiModelProperty("是否是正式诊断依据(0否1是)") + private Integer basisConfirm; + + @ApiModelProperty("是否是鉴别依据(0否1是)") + private Integer basisIdentification; + /** * 结果 */ diff --git a/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java b/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java index 395b238e..9a187d12 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/DiseasePhysical.java @@ -44,11 +44,17 @@ public class DiseasePhysical implements Serializable { private String locationId; /** - * 是否必查 + * 是否必查-初步诊断依据 */ - @ApiModelProperty("是否必查") + @ApiModelProperty("是否必查-初步诊断依据(0否1是)") private Integer requireCheck; + @ApiModelProperty("是否是正式诊断依据(0否1是)") + private Integer basisConfirm; + + @ApiModelProperty("是否是鉴别依据(0否1是)") + private Integer basisIdentification; + /** * 结果 */ diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisPrimaryVO.java b/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisPrimaryVO.java index 769eacf5..09a0a8c2 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisPrimaryVO.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/ask/DiagnosisPrimaryVO.java @@ -9,4 +9,6 @@ import lombok.EqualsAndHashCode; public class DiagnosisPrimaryVO extends DiagnosisPrimary { private String primaryDiseaseName; + + } diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml index 10fe80ba..d40e2937 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisPrimaryMapper.xml @@ -8,6 +8,7 @@ + @@ -16,7 +17,7 @@ id - ,process_id,primary_diagnosis, + ,process_id,primary_diagnosis,patient_disease_info, create_user_id,create_time,update_user_id, update_time diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisResultMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisResultMapper.xml index 3c8ba844..e1543c96 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiagnosisResultMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiagnosisResultMapper.xml @@ -5,19 +5,21 @@ - - - - - - - - - + + + + + + + + + - id,process_id,final_diagnosis, + id + ,process_id,final_diagnosis, treatment_plan,prove_diagnosis_desc,create_user_id, create_time,update_user_id,update_time diff --git a/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml index a17deab8..ab83076c 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseaseAncillaryMapper.xml @@ -5,20 +5,23 @@ - - - - - - - - - - + + + + + + + + + + + + - id,item_id,require_check, + id + ,item_id,require_check,basis_confirm,basis_identification result,description,create_user_id, create_time,update_user_id,update_time diff --git a/virtual-patient-model/src/main/resources/mapper/DiseaseMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseaseMapper.xml index 74ecb00f..b6507731 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseaseMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseaseMapper.xml @@ -5,24 +5,26 @@ - - - - - - - - - - - - + + + + + + + + + + + + + - id,code,status, + id + ,code,status, expected_diagnosis_result,preliminary_diagnosis,confirming_diagnosis, - basis_identification,other,create_user_id, + basis_identification,disease_treatment_plan,other,create_user_id, create_time,update_user_id,update_time diff --git a/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml index 544552ca..b364c4e1 100644 --- a/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/DiseasePhysicalMapper.xml @@ -10,6 +10,8 @@ + + @@ -20,7 +22,7 @@ id,patient_id,tool_id,location_id, - require_check,result,trait, + require_check,basis_confirm,basis_identification,result,trait, create_user_id,create_time,update_user_id, update_time diff --git a/virtual-patient-web/src/main/java/com/supervision/controller/AskDiagnosisResultController.java b/virtual-patient-web/src/main/java/com/supervision/controller/AskDiagnosisResultController.java new file mode 100644 index 00000000..33ccdc41 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/controller/AskDiagnosisResultController.java @@ -0,0 +1,30 @@ +package com.supervision.controller; + +import com.supervision.pojo.vo.DiagnosisResultResVO; +import com.supervision.pojo.vo.FinishAskReqVO; +import com.supervision.service.AskDiagnosisResultService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +@Api(tags = "问诊结束") +@RestController +@RequestMapping("/askDiagnosisResult") +@RequiredArgsConstructor +public class AskDiagnosisResultController { + + private final AskDiagnosisResultService askDiagnosisResultService; + + @ApiOperation("结束问诊") + @PostMapping("finishAsk") + public void finishAsk(@RequestBody FinishAskReqVO reqVO){ + askDiagnosisResultService.finishAsk(reqVO); + } + + @ApiOperation("查询最终诊断结果") + @GetMapping("queryDiagnosisResult") + public DiagnosisResultResVO queryDiagnosisResult(String processId){ + return askDiagnosisResultService.queryDiagnosisResult(processId); + } +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisConfirmResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisConfirmResultResVO.java new file mode 100644 index 00000000..11df78e7 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisConfirmResultResVO.java @@ -0,0 +1,20 @@ +package com.supervision.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel +public class BasisConfirmResultResVO { + + @ApiModelProperty("证实诊断依据") + private String confirmingDiagnosis; + + @ApiModelProperty("证实诊断列表") + private List nodeList; + + +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisDiagnosisNodeResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisDiagnosisNodeResVO.java new file mode 100644 index 00000000..ac70dbde --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisDiagnosisNodeResVO.java @@ -0,0 +1,22 @@ +package com.supervision.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class BasisDiagnosisNodeResVO { + + @ApiModelProperty("初步诊断依据 0对话 1体格检查 2辅助检查") + private Integer type; + + @ApiModelProperty("记录名称 对话就是对话内容,其他的就是对应的名称") + private String recordName; + + @ApiModelProperty("对应的记录ID") + private String recordId; + + @ApiModelProperty("是否正确,1正确") + private Integer correct; + + +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java new file mode 100644 index 00000000..17f0f51b --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisIdentificationResultResVO.java @@ -0,0 +1,9 @@ +package com.supervision.pojo.vo; + +import lombok.Data; + +@Data +public class BasisIdentificationResultResVO { + + +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisPrimaryResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisPrimaryResultResVO.java new file mode 100644 index 00000000..cc0e4975 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/BasisPrimaryResultResVO.java @@ -0,0 +1,17 @@ +package com.supervision.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class BasisPrimaryResultResVO { + + + @ApiModelProperty("初步诊断依据") + private String preliminaryDiagnosis; + + @ApiModelProperty("初步诊断依据列表") + private List nodeList; +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DealPlanResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DealPlanResVO.java new file mode 100644 index 00000000..d742be15 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DealPlanResVO.java @@ -0,0 +1,7 @@ +package com.supervision.pojo.vo; + +import lombok.Data; + +@Data +public class DealPlanResVO { +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisDiseaseResultNodeVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisDiseaseResultNodeVO.java new file mode 100644 index 00000000..9bff1424 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisDiseaseResultNodeVO.java @@ -0,0 +1,21 @@ +package com.supervision.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class DiagnosisDiseaseResultNodeVO { + + @ApiModelProperty("疾病名称") + private String diseaseName; + + @ApiModelProperty("是否正确,1正确") + private Integer correct; + + @ApiModelProperty("疾病ID") + private Integer diseaseId; + + +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisResultResVO.java new file mode 100644 index 00000000..a588d2a3 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/DiagnosisResultResVO.java @@ -0,0 +1,29 @@ +package com.supervision.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DiagnosisResultResVO { + + private String id; + + @ApiModelProperty("预期诊断结果") + private ExpertDiagnosisResultResVO expertDiagnosisResult; + + @ApiModelProperty("初步诊断依据") + private BasisPrimaryResultResVO basisPrimaryResultResVO; + + @ApiModelProperty("证实诊断依据") + private BasisConfirmResultResVO basisConfirmResultResVO; + + @ApiModelProperty("鉴别诊断依据") + private BasisIdentificationResultResVO basisIdentificationResult; + + @ApiModelProperty("全面检查") + private FullCheckResVO fullCheck; + + @ApiModelProperty("处置方案") + private DealPlanResVO dealPlan; + +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/ExpertDiagnosisResultResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/ExpertDiagnosisResultResVO.java new file mode 100644 index 00000000..5ea70cdb --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/ExpertDiagnosisResultResVO.java @@ -0,0 +1,24 @@ +package com.supervision.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * 预期诊断结果 + */ +@Data +@ApiModel +public class ExpertDiagnosisResultResVO { + + @ApiModelProperty("诊断") + private String diagnosis; + + @ApiModelProperty("用户诊断结果") + private List userDiagnosisResult; + + @ApiModelProperty("预期诊断结果") + private List expertDiagnosisResult; +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FinishAskReqVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FinishAskReqVO.java new file mode 100644 index 00000000..55e6b583 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FinishAskReqVO.java @@ -0,0 +1,18 @@ +package com.supervision.pojo.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class FinishAskReqVO { + + private String processId; + + @ApiModelProperty("治疗计划类型(0门诊 1住院)") + private Integer treatmentPlanType; + + @ApiModelProperty("治疗计划") + private String treatmentPlan; +} diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FullCheckResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FullCheckResVO.java new file mode 100644 index 00000000..375ebd2a --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/FullCheckResVO.java @@ -0,0 +1,4 @@ +package com.supervision.pojo.vo; + +public class FullCheckResVO { +} diff --git a/virtual-patient-web/src/main/java/com/supervision/service/AskDiagnosisResultService.java b/virtual-patient-web/src/main/java/com/supervision/service/AskDiagnosisResultService.java new file mode 100644 index 00000000..c9771f84 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/service/AskDiagnosisResultService.java @@ -0,0 +1,12 @@ +package com.supervision.service; + +import com.supervision.pojo.vo.DiagnosisResultResVO; +import com.supervision.pojo.vo.FinishAskReqVO; +import org.springframework.web.bind.annotation.RequestBody; + +public interface AskDiagnosisResultService { + + void finishAsk(FinishAskReqVO reqVO); + + DiagnosisResultResVO queryDiagnosisResult(String processId); +} diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java new file mode 100644 index 00000000..21ec3462 --- /dev/null +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskDiagnosisResultServiceImpl.java @@ -0,0 +1,48 @@ +package com.supervision.service.impl; + + +import com.supervision.model.DiagnosisPrimary; +import com.supervision.model.DiagnosisResult; +import com.supervision.pojo.vo.DiagnosisResultResVO; +import com.supervision.pojo.vo.FinishAskReqVO; +import com.supervision.service.AskDiagnosisResultService; +import com.supervision.service.DiagnosisPrimaryService; +import com.supervision.service.DiagnosisResultService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService { + + private final DiagnosisResultService diagnosisResultService; + + private final DiagnosisPrimaryService diagnosisPrimaryService; + + @Override + @Transactional(rollbackFor = Exception.class) + public void finishAsk(FinishAskReqVO reqVO) { + // 首先保存诊断结果 + DiagnosisResult diagnosisResult = new DiagnosisResult(); + diagnosisResult.setProcessId(reqVO.getProcessId()); + // 最终诊断结果,从初步诊断中获取 + List list = diagnosisPrimaryService.lambdaQuery() + .eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId()) + .eq(DiagnosisPrimary::getDeleteFlag,0) + .list(); + diagnosisResult.setFinalDiagnosis(list.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toList())); + diagnosisResult.setTreatmentPlanType(reqVO.getTreatmentPlanType()); + diagnosisResult.setTreatmentPlan(reqVO.getTreatmentPlan()); + diagnosisResultService.save(diagnosisResult); + } + + @Override + public DiagnosisResultResVO queryDiagnosisResult(String processId) { + + return null; + } +} diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java index ade2295c..d172686f 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPrimaryServiceImpl.java @@ -9,6 +9,7 @@ import com.supervision.util.UserUtil; import com.supervision.vo.ask.DiagnosisPrimaryVO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -31,9 +32,13 @@ public class AskPrimaryServiceImpl implements AskPrimaryService { } @Override + @Transactional(rollbackFor = Exception.class) public void savePrimary(DiagnosisPrimary reqVO) { reqVO.setCreateUserId(UserUtil.getUser().getId()); diagnosisPrimaryService.save(reqVO); + // 将process关联的所有的患者描述全部都修改 + diagnosisPrimaryService.lambdaUpdate().set(DiagnosisPrimary::getPatientDiseaseInfo,reqVO.getPatientDiseaseInfo()) + .eq(DiagnosisPrimary::getId,reqVO.getProcessId()).update(); } @Override