From 176d7d8283e66ccf63878c9ab823e900df94b748 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 05 八月 2025 17:20:58 +0800
Subject: [PATCH] 2025.8.5 1. 动态溯源模块添加延迟数据周期异常合并功能

---
 src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionDataExceed.kt |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionDataExceed.kt b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionDataExceed.kt
index 24decf6..babc0c4 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionDataExceed.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/exceptiontype/ExceptionDataExceed.kt
@@ -1,33 +1,55 @@
 package com.flightfeather.uav.biz.dataanalysis.exceptiontype
 
+import com.flightfeather.uav.biz.FactorFilter
 import com.flightfeather.uav.biz.dataanalysis.BaseExceptionContinuousSingle
 import com.flightfeather.uav.biz.dataanalysis.model.DataAnalysisConfig
+import com.flightfeather.uav.biz.dataanalysis.model.ExceptionResult
+import com.flightfeather.uav.biz.dataanalysis.model.ExceptionTag
 import com.flightfeather.uav.biz.dataanalysis.model.ExceptionType
 import com.flightfeather.uav.domain.entity.BaseRealTimeData
+import com.flightfeather.uav.socket.eunm.FactorType
 
 /**
  * 鏁版嵁瓒呮爣寮傚父鍒嗘瀽
  */
-class ExceptionDataExceed(config: DataAnalysisConfig) : BaseExceptionContinuousSingle(config) {
+@Deprecated("鍘熻秴鏍囧垽瀹氶�昏緫璁惧畾鐨勮秴鏍囧�兼湁婕忔礊锛�")
+class ExceptionDataExceed(config: DataAnalysisConfig) :
+    BaseExceptionContinuousSingle<ExceptionTag, DataAnalysisConfig, ExceptionResult>(config, ExceptionTag::class.java) {
+
+    override var judgeMethod: JudgeMethod = JudgeMethod.M2
 
     override fun getExceptionType(): ExceptionType = ExceptionType.TYPE2
 
-    override fun judgeException(p: BaseRealTimeData?, n: BaseRealTimeData): List<Boolean> {
-        val res = mutableListOf<Boolean>()
-        repeat(config.factorCount) { i ->
-            val data = n.getByFactorIndex(i)
-            val limit = config.exceptionSetting.getByFactorIndex(i)
+    override fun judgeException(p: BaseRealTimeData?, n: BaseRealTimeData): MutableMap<FactorType, Boolean> {
+        val res = mutableMapOf<FactorType, Boolean>()
+        config.factorFilter.mainList().forEach { f ->
+            val data = n.getByFactorType(f)
+            val limit = config.exceptionSetting.getByFactorType(f)
             val bool = if (data != null && limit != null) {
                 data >= limit
             } else {
                 false
             }
-            res.add(bool)
+            res[f] = bool
         }
         return res
     }
 
-    override fun judgeDuration(sIndex: Int, eIndex: Int): Boolean {
+    override fun judgeExceptionCount(tag: ExceptionTag, factorType: FactorType?): Boolean {
         return true
     }
+
+    override fun newResult(tag: ExceptionTag, factor: FactorFilter.SelectedFactor): ExceptionResult {
+        val eType = getExceptionType()
+        return ExceptionResult(tag.startData!!, tag.endData, factor, tag.exceptionData, config.mission.missionCode,
+            eType)
+    }
+
+    override fun newResult(exceptions: List<Pair<FactorFilter.SelectedFactor, ExceptionTag>>): ExceptionResult {
+        return ExceptionResult()
+    }
+
+    override fun onNewResult(result: List<ExceptionResult>) {
+        TODO("Not yet implemented")
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3