From dac47617b37ccfb834cd73ce0ee725e1101de214 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 14 八月 2025 17:25:51 +0800
Subject: [PATCH] 2025.8.14 1. 动态溯源模块添加滑动平均异常计算(调试中)

---
 src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/model/ExceptionTag.kt |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 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 4d7cb93..474881b 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
@@ -2,16 +2,20 @@
 
 import com.flightfeather.uav.biz.dataanalysis.BaseExceptionResult
 import com.flightfeather.uav.domain.entity.BaseRealTimeData
+import org.apache.commons.lang3.SerializationUtils
+import org.springframework.beans.BeanUtils
+import java.io.Serializable
 
 /**
  * 寮傚父鏁版嵁鏍囩
  * @date 2025/5/13
  * @author feiyu02
  */
-open class ExceptionTag {
+open class ExceptionTag : Serializable {
     companion object {
         const val MAX_HISTORY = 10
     }
+
     // 璧峰鏁版嵁涓嬫爣
     var sIndex = 0
 
@@ -44,16 +48,16 @@
             // 淇濊瘉鍘嗗彶鏁版嵁鍖呭惈鎵�鏈夊紓甯告暟鎹紙寮傚父鏁版嵁鍙兘涓嶈繛缁級锛屽苟涓斿湪棣栦釜寮傚父鏁版嵁涔嬪墠鏈�澶氬啀淇濆瓨10涓暟鎹�
             val i = historyData.indexOf(exceptionData.first())
             if (i > MAX_HISTORY) {
-                historyData = historyData.subList(i - MAX_HISTORY, historyData.size)
+                historyData = historyData.subList(i - MAX_HISTORY, historyData.size).toMutableList()
             }
         } else {
             if (historyData.size > MAX_HISTORY) {
-                historyData = historyData.subList(historyData.size - MAX_HISTORY, historyData.size)
+                historyData = historyData.subList(historyData.size - MAX_HISTORY, historyData.size).toMutableList()
             }
         }
     }
 
-    fun addExceptionData(data: BaseRealTimeData){
+    fun addExceptionData(data: BaseRealTimeData) {
         exceptionExisted = true
         exceptionData.add(data)
     }
@@ -69,4 +73,22 @@
         exceptionExisted = false
         exceptionCreated = false
     }
+
+    fun clone(): ExceptionTag {
+        val exceptionTag = SerializationUtils.clone(this)
+//        val exceptionTag = ExceptionTag()
+//        BeanUtils.copyProperties(this, exceptionTag)
+//        exceptionTag.apply {
+//            this.sIndex = this@ExceptionTag.sIndex
+//            this.startData = this@ExceptionTag.startData
+//            this.eIndex = this@ExceptionTag.eIndex
+//            this.endData = this@ExceptionTag.endData
+//            this.exceptionData = this@ExceptionTag.exceptionData
+//            this.historyData = this@ExceptionTag.historyData
+//            this.exceptionExisted = this@ExceptionTag.exceptionExisted
+//            this.exceptionCreated = this@ExceptionTag.exceptionCreated
+//            this.exceptionResult = this@ExceptionTag.exceptionResult
+//        }
+        return exceptionTag
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3