From bda3bf8923acb5216f6f46b5d903cac24c842143 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期六, 28 九月 2024 22:25:29 +0800
Subject: [PATCH] 1. 新增监测数据得分批量更新接口(待完成)

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ItemevaluationServiceImpl.kt |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ItemevaluationServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ItemevaluationServiceImpl.kt
index 4ea547f..b3d99bc 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ItemevaluationServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ItemevaluationServiceImpl.kt
@@ -9,7 +9,10 @@
 import cn.flightfeather.supervision.domain.ds1.entity.Itemevaluation
 import cn.flightfeather.supervision.domain.ds1.mapper.ItemevaluationMapper
 import cn.flightfeather.supervision.domain.ds1.repository.SubTaskRep
+import cn.flightfeather.supervision.domain.ds1.repository.TaskRep
 import cn.flightfeather.supervision.lightshare.service.ItemevaluationService
+import cn.flightfeather.supervision.lightshare.vo.AreaVo
+import cn.flightfeather.supervision.lightshare.vo.EvaluationUpdateVo
 import cn.flightfeather.supervision.lightshare.vo.ItemEvaluationVo
 import org.springframework.beans.BeanUtils
 import org.springframework.stereotype.Service
@@ -22,6 +25,7 @@
     private val aopOutput: AopOutput,
     private val aopSceneTypeCheck: AopSceneTypeCheck,
     private val subTaskRep: SubTaskRep,
+    private val taskRep: TaskRep,
 ) : ItemevaluationService {
 
     //鎵归噺淇敼鍗曢」璇勪及
@@ -106,4 +110,24 @@
             throw BizException("鍑虹幇绯荤粺鍐呴儴閿欒")
         }
     }
+
+    override fun updateMonitorDataEva(evaVo: EvaluationUpdateVo): Boolean {
+        val task = taskRep.findOneTask(evaVo)
+        val taskId = task?.tguid
+        val sceneType = evaVo.scensetypeid?.toInt() ?: throw BizException("鍦烘櫙绫诲瀷鏈缃紝鏃犳硶鏇存柊鍒嗘暟")
+        val source = AopDataSource(aopDbMapper, aopSceneTypeCheck)
+        source.setResource(taskId, sceneType, null, null)
+        try {
+            source.loop() { _, evaluationScene ->
+                if (evaluationScene.noRecord()) throw BizException("宸℃煡浠诲姟涓嶅瓨鍦�")
+                // 灏嗗垎鏁拌祴鍊煎埌瀵瑰簲鐨勮瘎浼拌鍒欎笅锛屽苟涓旇嚜鍔ㄨ绠楀叾浣欒鍒欑殑寰楀垎
+                ScoreUtil.scoreAssign(evaluationScene, itemList)
+                // 鑾峰彇鎬诲垎鍜屽瓙椤瑰緱鍒嗘暟鎹簱琛ㄧ粨鏋勪綋锛屽苟鍏ュ簱
+                ScoreUtil.updateEvaRecord(evaluationScene)?.let { aopOutput.updateDbEvaluation(evaluationScene, it) }
+            }
+            return true
+        } catch (e: Exception) {
+            throw BizException("鍑虹幇绯荤粺鍐呴儴閿欒")
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3