From 2e03f1e42f80305a79e669eccff820bfb2d9ee9d Mon Sep 17 00:00:00 2001
From: liu <liujiatong112@163.com>
Date: Fri, 19 Jan 2024 16:45:27 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AB=AF=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../impl/ProcessRecordServiceImpl.java        | 43 +++++++++++--------
 .../java/com/supervision/model/Process.java   |  5 ++-
 2 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ProcessRecordServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ProcessRecordServiceImpl.java
index 5b0f498b..dc995eec 100644
--- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ProcessRecordServiceImpl.java
+++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ProcessRecordServiceImpl.java
@@ -17,6 +17,8 @@ import com.supervision.manage.service.ProcessRecordService;
 import com.supervision.service.ProcessService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.supervision.model.Process;
 
 import java.util.*;
 import java.util.function.Function;
@@ -57,32 +59,33 @@ public class ProcessRecordServiceImpl implements ProcessRecordService {
         if (CollUtil.isNotEmpty(page.getRecords())) {
             HashSet<String> diseaseIdSet = new HashSet<>();
             page.getRecords().forEach(e -> {
-                if (StrUtil.isNotEmpty(e.getContainDiseaseIdJsonStr())){
-                    diseaseIdSet.addAll(JSONUtil.toList(e.getContainDiseaseIdJsonStr(),String.class));
-                }else if (StrUtil.isNotBlank(e.getDiseaseId())){
+                if (StrUtil.isNotEmpty(e.getContainDiseaseIdJsonStr())) {
+                    diseaseIdSet.addAll(JSONUtil.toList(e.getContainDiseaseIdJsonStr(), String.class));
+                } else if (StrUtil.isNotBlank(e.getDiseaseId())) {
                     diseaseIdSet.add(e.getDiseaseId());
                 }
-        });
-        if (CollUtil.isNotEmpty(diseaseIdSet)) {
-            Map<String, Disease> diseaseMap = diseaseService.listByIds(diseaseIdSet).stream().collect(Collectors.toMap(Disease::getId, Function.identity()));
-            for (ProcessRecordVO record : page.getRecords()) {
-                List<String> diseaseName = new ArrayList<>();
-                if (StrUtil.isNotEmpty(record.getContainDiseaseIdJsonStr())){
-                    for (String containsDiseaseId : JSONUtil.toList(record.getContainDiseaseIdJsonStr(), String.class)) {
-                        Optional.ofNullable(diseaseMap.get(containsDiseaseId)).ifPresent(disease -> diseaseName.add(disease.getDiseaseNameAlias()));
+            });
+            if (CollUtil.isNotEmpty(diseaseIdSet)) {
+                Map<String, Disease> diseaseMap = diseaseService.listByIds(diseaseIdSet).stream().collect(Collectors.toMap(Disease::getId, Function.identity()));
+                for (ProcessRecordVO record : page.getRecords()) {
+                    List<String> diseaseName = new ArrayList<>();
+                    if (StrUtil.isNotEmpty(record.getContainDiseaseIdJsonStr())) {
+                        for (String containsDiseaseId : JSONUtil.toList(record.getContainDiseaseIdJsonStr(), String.class)) {
+                            Optional.ofNullable(diseaseMap.get(containsDiseaseId)).ifPresent(disease -> diseaseName.add(disease.getDiseaseNameAlias()));
+                        }
+                    } else if (StrUtil.isNotBlank(record.getDiseaseId())) {
+                        Optional.ofNullable(diseaseMap.get(record.getDiseaseId())).ifPresent(disease -> diseaseName.add(disease.getDiseaseNameAlias()));
                     }
-                }else if (StrUtil.isNotBlank(record.getDiseaseId())){
-                    Optional.ofNullable(diseaseMap.get(record.getDiseaseId())).ifPresent(disease -> diseaseName.add(disease.getDiseaseNameAlias()));
-                }
 
-                record.setDiseaseType(CollUtil.join(diseaseName, ","));
+                    record.setDiseaseType(CollUtil.join(diseaseName, ","));
+                }
             }
         }
-    }
         return page;
-}
+    }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public ProcessEvaluation saveOrUpdateProcessEvaluation(ProcessEvaluation processEvaluation) {
         // 如果processId不为空,校验是否已经存在
         if (StrUtil.isNotBlank(processEvaluation.getProcessId())) {
@@ -94,13 +97,15 @@ public class ProcessRecordServiceImpl implements ProcessRecordService {
             });
         }
         processEvaluationService.saveOrUpdate(processEvaluation);
+        // 状态更新为已评估
+        processService.lambdaUpdate().set(Process::getStatus, 3).eq(Process::getId, processEvaluation.getProcessId()).update();
         return processEvaluation;
     }
 
     @Override
     public ProcessEvaluation queryProcessEvaluation(String processId) {
-        Assert.notEmpty(processId,() -> new BusinessException("流程ID不能为空"));
-        return processEvaluationService.lambdaQuery().eq(ProcessEvaluation::getProcessId,processId).last(" limit 1").one();
+        Assert.notEmpty(processId, () -> new BusinessException("流程ID不能为空"));
+        return processEvaluationService.lambdaQuery().eq(ProcessEvaluation::getProcessId, processId).last(" limit 1").one();
     }
 
 }
diff --git a/virtual-patient-model/src/main/java/com/supervision/model/Process.java b/virtual-patient-model/src/main/java/com/supervision/model/Process.java
index 9f8caf64..f320d0ec 100644
--- a/virtual-patient-model/src/main/java/com/supervision/model/Process.java
+++ b/virtual-patient-model/src/main/java/com/supervision/model/Process.java
@@ -49,9 +49,10 @@ public class Process implements Serializable {
     /**
      * 待问诊状态:新建成功后默认就是待问诊状态
      * 待处置:诊毕后,进入待处置
-     * 已评估状态:处置结束,系统自动评估,就是已评估状态
+     * 问诊结束:处置结束,系统自动评估,就是系统已评估
+     * 教师已评估:后台系统教师评估
      */
-    @ApiModelProperty("任务状态  0:待问诊 1:待处置 2:已评估")
+    @ApiModelProperty("任务状态  0:待问诊 1:待处置 2:问诊结束(系统已评估) 3 已评估(教师已评估)")
     private Integer status;
 
     @ApiModelProperty("实例类型 0:学习实例 1:考核实例")

From 068c9b72cdc8686e2c25f89f2f26016234bde2ec Mon Sep 17 00:00:00 2001
From: liu <liujiatong112@163.com>
Date: Fri, 19 Jan 2024 16:59:05 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AB=AF=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../main/java/com/supervision/vo/result/ProcessRecordVO.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/result/ProcessRecordVO.java b/virtual-patient-model/src/main/java/com/supervision/vo/result/ProcessRecordVO.java
index 811a6703..1afe2d2f 100644
--- a/virtual-patient-model/src/main/java/com/supervision/vo/result/ProcessRecordVO.java
+++ b/virtual-patient-model/src/main/java/com/supervision/vo/result/ProcessRecordVO.java
@@ -35,8 +35,8 @@ public class ProcessRecordVO {
     @ApiModelProperty("疾病分类")
     private String diseaseType;
 
-    @ApiModelProperty("状态 2:已评估 其他未评估")
-    private String status;
+    @ApiModelProperty("状态 3:已评估 其他未评估")
+    private Integer status;
 
     @ApiModelProperty("更新时间(问诊实例的时间)")
     private String updateTime;