From c1becf4cbd2e99601ce011c14b8742427249cfb4 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 09 一月 2024 17:25:05 +0800
Subject: [PATCH] 1. 多项调整

---
 src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/AopEvaluation.kt |   46 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 35 insertions(+), 11 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/AopEvaluation.kt b/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/AopEvaluation.kt
index a2c9c8c..384110f 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/AopEvaluation.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/score/AopEvaluation.kt
@@ -15,6 +15,7 @@
 import cn.flightfeather.supervision.common.utils.UUIDGenerator
 import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
 import cn.flightfeather.supervision.domain.ds1.entity.Itemevaluation
+import cn.flightfeather.supervision.domain.ds1.entity.Subtask
 import org.springframework.stereotype.Component
 import java.util.*
 import kotlin.math.abs
@@ -24,9 +25,9 @@
  */
 @Component
 class AopEvaluation(
+    private val aopOutput: AopOutput,
     private val aopDbMapper: AopDbMapper,
     private val aopSceneTypeCheck: AopSceneTypeCheck,
-    private val aopOutput: AopOutput,
     csScoreItem1: CsScoreItem1,
     csScoreItem2: CsScoreItem2,
     mpScoreItem1: MpScoreItem1,
@@ -35,15 +36,14 @@
     whScoreItem1: WhScoreItem1,
     whScoreItem2: WhScoreItem2,
     reScoreItem5: ReScoreItem5,
-    reScoreItem7: ReScoreItem7,
+    // FIXME: 2023/12/29 鍒犲幓鐗规畩璇勪及瑙勫垯
+//    reScoreItem7: ReScoreItem7,
     reScoreItem8: ReScoreItem8,
     reScoreItem9: ReScoreItem9,
     reScoreItem10: ReScoreItem10,
     reScoreItem11: ReScoreItem11,
 ) {
 
-    //鏁版嵁婧�
-    private var source: AopDataSource? = null
     //鐗瑰畾璇勫垎椤癸紙闄や簡缁熶竴鐨勬牴鎹贰鏌ラ棶棰樼洿鎺ユ墸鍒嗗锛屾湁鐗瑰畾鐨勬墸鍒嗛�昏緫鐨勮瘎浼伴」锛�
     private val itemList = mutableListOf<ScoreItem>()
 
@@ -57,7 +57,7 @@
             add(whScoreItem1)
             add(whScoreItem2)
             add(reScoreItem5)
-            add(reScoreItem7)
+//            add(reScoreItem7)
             add(reScoreItem8)
             add(reScoreItem9)
             add(reScoreItem10)
@@ -65,18 +65,43 @@
         }
     }
 
-    fun setResource(topTaskGuid: String?, sceneType: Int, districtName: String? = null, townCode: String? = null) {
-        source = AopDataSource(aopDbMapper, aopSceneTypeCheck)
-        source?.setResource(topTaskGuid, sceneType, districtName, townCode)
+    fun executeByTopTask(topTaskGuid: String?, sceneType: Int, districtName: String? = null, townCode: String? = null) {
+        val source = setResource(topTaskGuid, sceneType, districtName, townCode)
+        execute(source)
+    }
+
+    /**
+     * 瀵圭壒瀹氱殑宸℃煡浠诲姟杩涜鍗曠嫭璇勫垎
+     */
+    fun executeBySubTask(subTask:Subtask) {
+        val source = setResource(subTask)
+        execute(source)
+    }
+
+    private fun setResource(subTask: Subtask): AopDataSource {
+        val source = AopDataSource(aopDbMapper, aopSceneTypeCheck)
+        source.setResource(subTask)
+        return source
+    }
+
+    private fun setResource(
+        topTaskGuid: String?,
+        sceneType: Int,
+        districtName: String?,
+        townCode: String?,
+    ): AopDataSource {
+        val source = AopDataSource(aopDbMapper, aopSceneTypeCheck)
+        source.setResource(topTaskGuid, sceneType, districtName, townCode)
+        return source
     }
 
     /**
      * 鎵ц璇勫垎閫昏緫
      */
-    fun execute() {
+    private fun execute(source: AopDataSource) {
         //鑾峰彇鏁版嵁婧愶紙寰呰瘎浼扮殑鍦烘櫙锛�
         //寰幆澶勭悊姣忎釜鍦烘櫙
-        source?.loop {index, evaluationScene ->
+        source.loop {index, evaluationScene ->
             if (evaluationScene.noRecord()) return@loop
 
             itemGrade(index, evaluationScene)
@@ -84,7 +109,6 @@
                 aopOutput.toDbEvaluation(evaluationScene, this)
             }
         }
-
     }
 
     /**

--
Gitblit v1.9.3