From 7cd8d2a1e96de3d173bf5af64b4adc29c497db2a Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期六, 12 十月 2024 17:38:07 +0800
Subject: [PATCH] 1. 新增评估结果批量修改相关接口(完成)

---
 src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/ScoreUtil.kt |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/ScoreUtil.kt b/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/ScoreUtil.kt
index 12df325..84bb7e2 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/ScoreUtil.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/ScoreUtil.kt
@@ -7,6 +7,7 @@
 import cn.flightfeather.supervision.domain.ds1.entity.Itemevaluation
 import cn.flightfeather.supervision.lightshare.vo.EvaluationVo
 import cn.flightfeather.supervision.lightshare.vo.ItemEvaluationVo
+import cn.flightfeather.supervision.lightshare.vo.SubRulePair
 import java.util.*
 
 /**
@@ -37,7 +38,47 @@
 
             // 琛ュ厖鍚勬渶涓婄骇璇勫垎椤圭殑璁″垎
             val fatherId = r.first.fatherid
-            for (t in (evaluationScene.topRules.value ?: emptyList())) {
+            for (t in (topRules ?: emptyList())) {
+                if (t.guid == fatherId) {
+                    t.score += r.first.score
+                    break
+                }
+            }
+        }
+    }
+
+    /**
+     * 鏍规嵁鎵�閫夋渶娣卞眰璇勪及閫夐」锛屼互鍘熸湁璇勫垎涓哄熀纭�锛岀粰瑙勫垯璧嬪�煎搴斿垎鏁板強鑷姩璁$畻鍏朵綑鎵�鏈夋潯鐩緱鍒�
+     * @param evaluationScene 闇�瑕佽瘎浼扮殑瀵硅薄
+     * @param selected 璇勪及琛ㄤ腑閫変腑鐨勮瘎浼版潯鐩富閿甶d闆嗗悎锛堝繀椤绘槸鏈�娣变竴灞傜殑璇勪及鏉$洰锛�
+     */
+    fun scoreAssignSelected(evaluationScene: AopDataSource.EvaluationScene, selected: List<SubRulePair?>?) {
+        val topRules = evaluationScene.topRules.value
+        val subRules = evaluationScene.rules.value
+        val evaluation = evaluationScene.evaluation.value ?: return
+        val itemevaluationList = evaluationScene.itemevaluationList.value ?: return
+        subRules?.forEach { r ->
+
+            r.second.forEach { e ->
+                // 棣栧厛灏嗗師鏈夌殑鍒嗘暟璧嬪�肩粰瀵瑰簲瑙勫垯
+                val itemEva = itemevaluationList.find { it.esrguid == e.guid }
+                e.score = itemEva?.value?.toIntOrNull() ?: 0
+                e.selected = itemEva?.extension1 == "true"
+                // 鏍规嵁浼犲叆鐨勯�変腑璇勪及鏉$洰涓婚敭id锛屼慨鏀瑰叾寰楀垎
+                selected?.find { it?.id == e.guid }?.let {s ->
+                    if (s.selected == true) {
+                        e.setMaxScore()
+                    } else {
+                        e.clear()
+                    }
+                }
+            }
+            // 鏍规嵁瀛愰」鐨勯�夋嫨鎯呭喌锛岃嚜鍔ㄨ绠楄鏉¤瘎浼扮殑鎬诲緱鍒�
+            subRuleCal(r)
+
+            // 琛ュ厖鍚勬渶涓婄骇璇勫垎椤圭殑璁″垎
+            val fatherId = r.first.fatherid
+            for (t in (topRules ?: emptyList())) {
                 if (t.guid == fatherId) {
                     t.score += r.first.score
                     break

--
Gitblit v1.9.3