From eceebb3c08be5628ef27c8a4dfd7f8306d5426c5 Mon Sep 17 00:00:00 2001
From: liu <liujiatong112@163.com>
Date: Mon, 18 Dec 2023 13:57:01 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AF=8A=E6=AF=95?=
 =?UTF-8?q?=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../supervision/controller/AskDiagnosisResultController.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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
index 33ccdc41..a41206e6 100644
--- a/virtual-patient-web/src/main/java/com/supervision/controller/AskDiagnosisResultController.java
+++ b/virtual-patient-web/src/main/java/com/supervision/controller/AskDiagnosisResultController.java
@@ -16,7 +16,7 @@ public class AskDiagnosisResultController {
 
     private final AskDiagnosisResultService askDiagnosisResultService;
 
-    @ApiOperation("结束问诊")
+    @ApiOperation("诊毕(结束问诊)")
     @PostMapping("finishAsk")
     public void finishAsk(@RequestBody FinishAskReqVO reqVO){
         askDiagnosisResultService.finishAsk(reqVO);

From 4ef4e4701631c846c5480b178fac17cdea647536 Mon Sep 17 00:00:00 2001
From: liu <liujiatong112@163.com>
Date: Mon, 18 Dec 2023 14:12:38 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AF=8A=E6=AF=95?=
 =?UTF-8?q?=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../mapper/DiagnosisResultMapper.java         | 18 ----
 .../supervision/model/DiagnosisResult.java    | 85 -------------------
 .../service/DiagnosisResultService.java       | 13 ---
 .../impl/DiagnosisResultServiceImpl.java      | 22 -----
 .../mapper/DiagnosisResultMapper.xml          | 26 ------
 .../AskDiagnosisResultController.java         |  8 +-
 .../supervision/pojo/vo/FinishAskReqVO.java   |  6 --
 .../service/AskDiagnosisResultService.java    |  2 -
 .../impl/AskDiagnosisResultServiceImpl.java   | 42 +++------
 9 files changed, 11 insertions(+), 211 deletions(-)
 delete mode 100644 virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisResultMapper.java
 delete mode 100644 virtual-patient-model/src/main/java/com/supervision/model/DiagnosisResult.java
 delete mode 100644 virtual-patient-model/src/main/java/com/supervision/service/DiagnosisResultService.java
 delete mode 100644 virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisResultServiceImpl.java
 delete mode 100644 virtual-patient-model/src/main/resources/mapper/DiagnosisResultMapper.xml

diff --git a/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisResultMapper.java b/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisResultMapper.java
deleted file mode 100644
index 04215e53..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/mapper/DiagnosisResultMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.supervision.mapper;
-
-import com.supervision.model.DiagnosisResult;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
-* @author flevance
-* @description 针对表【vp_diagnosis_result(诊断结果)】的数据库操作Mapper
-* @createDate 2023-10-20 17:19:21
-* @Entity com.supervision.model.DiagnosisResult
-*/
-public interface DiagnosisResultMapper extends BaseMapper<DiagnosisResult> {
-
-}
-
-
-
-
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
deleted file mode 100644
index dafe12e3..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/model/DiagnosisResult.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package com.supervision.model;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-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;
-
-/**
- * 诊断结果
- * @TableName vp_diagnosis_result
- */
-@TableName(value ="vp_diagnosis_result",autoResultMap = true)
-@Data
-@ApiModel
-public class DiagnosisResult implements Serializable {
-    /**
-     * 主键
-     */
-    @TableId
-    private String id;
-
-    /**
-     * 诊断进程ID
-     */
-    @ApiModelProperty("诊断进程ID")
-    private String processId;
-
-    /**
-     * 最终诊断结果
-     */
-    @ApiModelProperty("最终诊断结果")
-    @TableField(typeHandler = StringListTypeHandler.class)
-    private List<String> finalDiagnosis;
-
-    /**
-     * 治疗计划
-     */
-    @ApiModelProperty("治疗计划")
-    private String treatmentPlan;
-
-    /**
-     * 治疗计划类型(0门诊 1住院)
-     */
-    @ApiModelProperty("治疗计划类型(0门诊 1住院)")
-    private Integer treatmentPlanType;
-
-    /**
-     * 论证诊断
-     */
-    @ApiModelProperty("论证诊断")
-    private String proveDiagnosisDesc;
-
-    /**
-     * 创建人ID
-     */
-    private String createUserId;
-
-    /**
-     * 创建时间
-     */
-    private LocalDateTime createTime;
-
-    /**
-     * 更新人
-     */
-    private String updateUserId;
-
-    /**
-     * 更新时间
-     */
-    private LocalDateTime updateTime;
-
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
-
-
-}
\ No newline at end of file
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisResultService.java b/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisResultService.java
deleted file mode 100644
index fcd36aa4..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/service/DiagnosisResultService.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.supervision.service;
-
-import com.supervision.model.DiagnosisResult;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
-* @author flevance
-* @description 针对表【vp_diagnosis_result(诊断结果)】的数据库操作Service
-* @createDate 2023-10-20 17:19:21
-*/
-public interface DiagnosisResultService extends IService<DiagnosisResult> {
-
-}
diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisResultServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisResultServiceImpl.java
deleted file mode 100644
index a70e1ccd..00000000
--- a/virtual-patient-model/src/main/java/com/supervision/service/impl/DiagnosisResultServiceImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.supervision.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.supervision.model.DiagnosisResult;
-import com.supervision.service.DiagnosisResultService;
-import com.supervision.mapper.DiagnosisResultMapper;
-import org.springframework.stereotype.Service;
-
-/**
-* @author flevance
-* @description 针对表【vp_diagnosis_result(诊断结果)】的数据库操作Service实现
-* @createDate 2023-10-20 17:19:21
-*/
-@Service
-public class DiagnosisResultServiceImpl extends ServiceImpl<DiagnosisResultMapper, DiagnosisResult>
-    implements DiagnosisResultService{
-
-}
-
-
-
-
diff --git a/virtual-patient-model/src/main/resources/mapper/DiagnosisResultMapper.xml b/virtual-patient-model/src/main/resources/mapper/DiagnosisResultMapper.xml
deleted file mode 100644
index e1543c96..00000000
--- a/virtual-patient-model/src/main/resources/mapper/DiagnosisResultMapper.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.supervision.mapper.DiagnosisResultMapper">
-
-    <resultMap id="BaseResultMap" type="com.supervision.model.DiagnosisResult">
-        <id property="id" column="id" jdbcType="VARCHAR"/>
-        <result property="processId" column="process_id" jdbcType="VARCHAR"/>
-        <result property="finalDiagnosis" column="final_diagnosis" jdbcType="ARRAY"
-                typeHandler="com.supervision.handler.StringListTypeHandler"/>
-        <result property="treatmentPlan" column="treatment_plan" jdbcType="VARCHAR"/>
-        <result property="proveDiagnosisDesc" column="prove_diagnosis_desc" jdbcType="VARCHAR"/>
-        <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
-        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-        <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
-        <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-    </resultMap>
-
-    <sql id="Base_Column_List">
-        id
-        ,process_id,final_diagnosis,
-        treatment_plan,prove_diagnosis_desc,create_user_id,
-        create_time,update_user_id,update_time
-    </sql>
-</mapper>
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
index a41206e6..313e5b9e 100644
--- a/virtual-patient-web/src/main/java/com/supervision/controller/AskDiagnosisResultController.java
+++ b/virtual-patient-web/src/main/java/com/supervision/controller/AskDiagnosisResultController.java
@@ -8,7 +8,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-@Api(tags = "问诊结束")
+@Api(tags = "评估详情")
 @RestController
 @RequestMapping("/askDiagnosisResult")
 @RequiredArgsConstructor
@@ -16,12 +16,6 @@ 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){
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
index 55e6b583..3e5f157f 100644
--- 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
@@ -9,10 +9,4 @@ import lombok.Data;
 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/service/AskDiagnosisResultService.java b/virtual-patient-web/src/main/java/com/supervision/service/AskDiagnosisResultService.java
index c9771f84..b76ce9e6 100644
--- a/virtual-patient-web/src/main/java/com/supervision/service/AskDiagnosisResultService.java
+++ b/virtual-patient-web/src/main/java/com/supervision/service/AskDiagnosisResultService.java
@@ -6,7 +6,5 @@ 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
index 3dc70412..098c5d81 100644
--- 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
@@ -28,8 +28,6 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor
 public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService {
 
-    private final DiagnosisResultService diagnosisResultService;
-
     private final DiagnosisPrimaryService diagnosisPrimaryService;
 
     private final AskPatientAnswerService askPatientAnswerService;
@@ -54,35 +52,9 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
 
     private final DiseaseTreatmentPlanDrugService diseaseTreatmentPlanDrugService;
 
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void finishAsk(FinishAskReqVO reqVO) {
-        // 首先保存诊断结果
-        DiagnosisResult diagnosisResult = new DiagnosisResult();
-        diagnosisResult.setProcessId(reqVO.getProcessId());
-        // 最终诊断结果,从初步诊断中获取
-        List<DiagnosisPrimary> list = diagnosisPrimaryService.lambdaQuery()
-                .eq(DiagnosisPrimary::getProcessId, reqVO.getProcessId())
-                .eq(DiagnosisPrimary::getExcludeFlag, 0)
-                .list();
-        if (CollectionUtil.isEmpty(list)) {
-            throw new BusinessException("您还未进行有效的初步诊断!");
-        }
-        diagnosisResult.setFinalDiagnosis(list.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toList()));
-        diagnosisResult.setTreatmentPlanType(reqVO.getTreatmentPlanType());
-        diagnosisResult.setTreatmentPlan(reqVO.getTreatmentPlan());
-        diagnosisResultService.save(diagnosisResult);
-
-        // 修改流程状态
-        processService.lambdaUpdate().set(Process::getStatus, 2).set(Process::getFinishAskTime,LocalDateTime.now())
-                .eq(Process::getId, reqVO.getProcessId()).update();
-    }
 
     @Override
     public DiagnosisResultResVO queryDiagnosisResult(String processId) {
-        // 首先查询到结果
-        DiagnosisResult diagnosisResult = diagnosisResultService.lambdaQuery()
-                .eq(DiagnosisResult::getProcessId, processId).last("limit 1").oneOpt().orElseThrow(() -> new BusinessException("未找到评估结果"));
         DiagnosisResultResVO diagnosisResultResVO = new DiagnosisResultResVO();
         diagnosisResultResVO.setId(processId);
         Process process = processService.getById(processId);
@@ -90,7 +62,7 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
         MedicalRec medicalRec = medicalRecService.getById(process.getMedicalRecId());
         List<Disease> diseasesList = diseaseService.listDiseaseWithType(medicalRec.getDiseaseId());
         // 1.生成预期诊断结果
-        diagnosisResultResVO.setExpertDiagnosisResult(creatExpertDiagnosisResult(medicalRec, diagnosisResult, diseasesList));
+        diagnosisResultResVO.setExpertDiagnosisResult(creatExpertDiagnosisResult(medicalRec, diseasesList, processId));
         // 2.生成初步诊断依据
         diagnosisResultResVO.setBasisPrimaryResultResVO(createBasisPrimaryResult(patient, medicalRec, process));
         // 3.生成证实诊断依据
@@ -269,12 +241,18 @@ public class AskDiagnosisResultServiceImpl implements AskDiagnosisResultService
     /**
      * 预期诊断结果
      */
-    private ExpertDiagnosisResultResVO creatExpertDiagnosisResult(MedicalRec medicalRec, DiagnosisResult diagnosisResult, List<Disease> diseasesList) {
+    private ExpertDiagnosisResultResVO creatExpertDiagnosisResult(MedicalRec medicalRec, List<Disease> diseasesList, String processId) {
         ExpertDiagnosisResultResVO expertDiagnosisResultResVO = new ExpertDiagnosisResultResVO();
         expertDiagnosisResultResVO.setDiagnosis(medicalRec.getSymptoms());
         Set<String> expertDiseaseIdSet = diseasesList.stream().map(Disease::getId).collect(Collectors.toSet());
-        List<Disease> userDiagnosisDiseaseList = CollUtil.isEmpty(diagnosisResult.getFinalDiagnosis()) ? CollUtil.newArrayList()
-                : diseaseService.listByIds(diagnosisResult.getFinalDiagnosis());
+        // 从vp_diagnosis_primary中找到确认诊断时,确认的
+        List<DiagnosisPrimary> userPrimaryDiseaseList = diagnosisPrimaryService.lambdaQuery()
+                .eq(DiagnosisPrimary::getProcessId, processId)
+                // 确认的
+                .eq(DiagnosisPrimary::getExcludeFlag, 0).list();
+
+        List<Disease> userDiagnosisDiseaseList = CollUtil.isEmpty(userPrimaryDiseaseList) ? CollUtil.newArrayList()
+                : diseaseService.listByIds(userPrimaryDiseaseList.stream().map(DiagnosisPrimary::getPrimaryDiagnosisId).collect(Collectors.toList()));
         // 用户的诊断
         expertDiagnosisResultResVO.setUserDiagnosisResult(userDiagnosisDiseaseList.stream().map(e -> {
             DiagnosisDiseaseResultNodeVO userNode = new DiagnosisDiseaseResultNodeVO();