From 37d47c6a7ab0f454b948b68c987146b261117993 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期日, 13 七月 2025 22:47:21 +0800
Subject: [PATCH] 2025.7.13 动态溯源逻辑调整

---
 src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt |   20 +++++++++-----------
 1 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
index 3912148..e9f33fd 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
@@ -1,16 +1,17 @@
 package com.flightfeather.uav.biz.dataanalysis
 
+import com.flightfeather.uav.biz.dataanalysis.model.ExceptionTag
 import com.flightfeather.uav.domain.entity.BaseRealTimeData
 
 /**
  * 杩炵画绫诲瀷鐨勫紓甯稿垎鏋愬熀绫�,鍖哄埆浜庣埗绫荤殑鍦版柟鍦ㄤ簬姝ょ寮傚父鍙拰鍗曚釜鏁版嵁鏈韩鏈夊叧,涓庣浉閭绘暟鎹棤鍏�
  */
-abstract class BaseExceptionContinuousSingle<V : BaseAnalysisConfig, Y : BaseExceptionResult>(config: V) :
-    BaseExceptionContinuous<V, Y>(config) {
+abstract class BaseExceptionContinuousSingle<T : ExceptionTag, V : BaseAnalysisConfig, Y : BaseExceptionResult>(config: V, tagClz: Class<T>) :
+    BaseExceptionContinuous<T, V, Y>(config, tagClz) {
 
     override fun onNextData(data: BaseRealTimeData) {
         val isContinue = isContinuous(lastData, data)
-        val hasException = judgeException(lastData, data)
+        val hasException = judge(lastData, data)
         config.factorFilter.selectedList.forEach { s ->
             val f = s.main
             tagMap[f]?.let {
@@ -19,21 +20,18 @@
                     it.startData = data
                 }
                 // 鍒ゆ柇鐩搁偦鏁版嵁鏄惁杩炵画骞朵笖鏄惁婊¤冻寮傚父鍒ゆ柇
-                if (!isContinue || needCut(it)) {
-                    checkResult(s)
-                    it.refreshAfterCheckResult(data)
+                if (!isContinue || needCut(it, hasException[f], data)) {
+                    recordException(s, it, data)
                 } else {
                     if (hasException[f] == true) {
                         // 淇敼浜嗚捣濮嬫暟鎹殑浣嶇疆,鍙樻洿涓哄嚭鐜板紓甯哥殑璇ュ��,鑰屼笉鏄師鏉ョ殑鍑虹幇寮傚父鏁版嵁鐨勫墠涓�涓��
-                        if (!it.existException) {
+                        if (!it.exceptionExisted) {
                             it.sIndex = it.eIndex
                             it.startData = data
                         }
-                        it.existException = true
-                        it.exceptionData.add(data)
+                        it.addExceptionData(data)
                     } else {
-                        checkResult(s)
-                        it.refreshAfterCheckResult(data)
+                        recordException(s, it, data)
                     }
                 }
             }

--
Gitblit v1.9.3