From f14c2f82f0593309a3677ee38c7572e4b13a196e Mon Sep 17 00:00:00 2001
From: huangjin <huangjin@lucahealthcare.com>
Date: Wed, 16 Oct 2024 14:19:35 +0800
Subject: [PATCH] =?UTF-8?q?Scale=E5=8A=A0=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../com/luca/pilot/entity/PlanModule.java     |  2 +-
 .../pilot/entity/ScaleQuestionEntity.java     | 33 +++++++++++++++++++
 .../pilot/service/impl/PlanServiceImpl.java   | 13 ++++++--
 3 files changed, 45 insertions(+), 3 deletions(-)
 create mode 100644 src/main/java/com/luca/pilot/entity/ScaleQuestionEntity.java

diff --git a/src/main/java/com/luca/pilot/entity/PlanModule.java b/src/main/java/com/luca/pilot/entity/PlanModule.java
index da06de5..90e301f 100644
--- a/src/main/java/com/luca/pilot/entity/PlanModule.java
+++ b/src/main/java/com/luca/pilot/entity/PlanModule.java
@@ -4,7 +4,7 @@ import lombok.Data;
 import org.springframework.data.mongodb.core.mapping.Document;
 
 @Data
-@Document(collection="plan_module")
+@Document(collection="plan_module_hj")
 public class PlanModule {
 
     private String key;
diff --git a/src/main/java/com/luca/pilot/entity/ScaleQuestionEntity.java b/src/main/java/com/luca/pilot/entity/ScaleQuestionEntity.java
new file mode 100644
index 0000000..53056b5
--- /dev/null
+++ b/src/main/java/com/luca/pilot/entity/ScaleQuestionEntity.java
@@ -0,0 +1,33 @@
+package com.luca.pilot.entity;
+
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.math.BigDecimal;
+
+/**
+ * @author linfeng.yang
+ * @date 2021/8/03 涓嬪崍14:40
+ */
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+@Document(collection="scale_question")
+public class ScaleQuestionEntity extends AbstractAuditingEntity {
+
+
+    private Long id;
+    private String code;
+    private String scaleCode;
+    private String content;
+    private Integer sortNumber;
+    private Long scaleId;
+    private String type;
+    private BigDecimal score;
+    private String title;
+
+}
diff --git a/src/main/java/com/luca/pilot/service/impl/PlanServiceImpl.java b/src/main/java/com/luca/pilot/service/impl/PlanServiceImpl.java
index 8f1ffb7..664aca3 100644
--- a/src/main/java/com/luca/pilot/service/impl/PlanServiceImpl.java
+++ b/src/main/java/com/luca/pilot/service/impl/PlanServiceImpl.java
@@ -26,6 +26,7 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
@@ -561,12 +562,20 @@ public class PlanServiceImpl implements PlanService {
                     Map<String,Object> resultMap = new HashMap<>();
                     if (Objects.nonNull(item.getScaleResult())) {
 //                        sb.add("result:" + item.getScaleResult());
-                        resultMap.put("result",item.getScaleResult());
+                        resultMap.put("evaluation",item.getScaleResult());
                     }
                     if (Objects.nonNull(item.getTotalScore())) {
 //                        sb.add("totalScore:" + item.getTotalScore());
-                        resultMap.put("totalScore",item.getTotalScore());
+                        resultMap.put("score",item.getTotalScore());
                     }
+
+                    if(!StringUtils.isEmpty(item.getScaleCode())) {
+                        List<ScaleQuestionEntity> questions = mongoTemplate.find(new Query().addCriteria(where("scale_code").is(item.getScaleCode())), ScaleQuestionEntity.class);
+                        BigDecimal totalScore = questions.stream().map(ScaleQuestionEntity::getScore).reduce(BigDecimal.ZERO, BigDecimal::add);
+                        resultMap.put("totalScore", totalScore);
+                    }
+
+
                     if (!MapUtil.isEmpty(resultMap)) {
                         result.put(item.getScaleCode(), resultMap);
                     }
-- 
GitLab