From 38d72198bfcced01ed9513b978163e5cd1d84625 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期一, 21 七月 2025 15:31:41 +0800
Subject: [PATCH] 2025.7.21 1. 修改动态溯源异常判断逻辑

---
 src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/model/ExceptionTag.kt |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/model/ExceptionTag.kt b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/model/ExceptionTag.kt
index 0bb8a4a..4d7cb93 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/model/ExceptionTag.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/model/ExceptionTag.kt
@@ -9,6 +9,9 @@
  * @author feiyu02
  */
 open class ExceptionTag {
+    companion object {
+        const val MAX_HISTORY = 10
+    }
     // 璧峰鏁版嵁涓嬫爣
     var sIndex = 0
 
@@ -24,6 +27,9 @@
     // 寮傚父鏁版嵁娈�
     var exceptionData = mutableListOf<BaseRealTimeData>()
 
+    // 杩戞鏃堕棿鍐呯殑鍘嗗彶鏁版嵁
+    var historyData = mutableListOf<BaseRealTimeData>()
+
     // 鏄惁瀛樺湪寮傚父
     var exceptionExisted = false
 
@@ -32,14 +38,33 @@
 
     var exceptionResult = mutableListOf<BaseExceptionResult>()
 
+    fun addHistoryData(data: BaseRealTimeData) {
+        historyData.add(data)
+        if (exceptionData.isNotEmpty()) {
+            // 淇濊瘉鍘嗗彶鏁版嵁鍖呭惈鎵�鏈夊紓甯告暟鎹紙寮傚父鏁版嵁鍙兘涓嶈繛缁級锛屽苟涓斿湪棣栦釜寮傚父鏁版嵁涔嬪墠鏈�澶氬啀淇濆瓨10涓暟鎹�
+            val i = historyData.indexOf(exceptionData.first())
+            if (i > MAX_HISTORY) {
+                historyData = historyData.subList(i - MAX_HISTORY, historyData.size)
+            }
+        } else {
+            if (historyData.size > MAX_HISTORY) {
+                historyData = historyData.subList(historyData.size - MAX_HISTORY, historyData.size)
+            }
+        }
+    }
+
     fun addExceptionData(data: BaseRealTimeData){
         exceptionExisted = true
         exceptionData.add(data)
     }
 
-    fun refreshWithNextException(data: BaseRealTimeData) {
+    fun refreshWithNoException(data: BaseRealTimeData) {
         sIndex = eIndex
         startData = data
+    }
+
+    fun refreshWithNextException(data: BaseRealTimeData) {
+        refreshWithNoException(data)
         exceptionData.clear()
         exceptionExisted = false
         exceptionCreated = false

--
Gitblit v1.9.3