From 1571cd0f137ced4345fa8785e166a29dc31b6ad1 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 13 五月 2025 17:42:39 +0800
Subject: [PATCH] 1. 新增动态污染溯源的数据异常判断逻辑 2. 新增动态污染溯源websocket连接功能

---
 src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt |   33 +++++----------------------------
 1 files changed, 5 insertions(+), 28 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 9a10bdc..3912148 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
@@ -1,17 +1,17 @@
 package com.flightfeather.uav.biz.dataanalysis
 
-import com.flightfeather.uav.biz.dataanalysis.model.DataAnalysisConfig
 import com.flightfeather.uav.domain.entity.BaseRealTimeData
 
 /**
  * 杩炵画绫诲瀷鐨勫紓甯稿垎鏋愬熀绫�,鍖哄埆浜庣埗绫荤殑鍦版柟鍦ㄤ簬姝ょ寮傚父鍙拰鍗曚釜鏁版嵁鏈韩鏈夊叧,涓庣浉閭绘暟鎹棤鍏�
  */
-abstract class BaseExceptionContinuousSingle(config: DataAnalysisConfig) : BaseExceptionContinuous(config) {
+abstract class BaseExceptionContinuousSingle<V : BaseAnalysisConfig, Y : BaseExceptionResult>(config: V) :
+    BaseExceptionContinuous<V, Y>(config) {
 
     override fun onNextData(data: BaseRealTimeData) {
         val isContinue = isContinuous(lastData, data)
         val hasException = judgeException(lastData, data)
-        config.factorFilter.selectedList.forEach {s->
+        config.factorFilter.selectedList.forEach { s ->
             val f = s.main
             tagMap[f]?.let {
                 it.eIndex++
@@ -19,12 +19,12 @@
                     it.startData = data
                 }
                 // 鍒ゆ柇鐩搁偦鏁版嵁鏄惁杩炵画骞朵笖鏄惁婊¤冻寮傚父鍒ゆ柇
-                if (!isContinue) {
+                if (!isContinue || needCut(it)) {
                     checkResult(s)
                     it.refreshAfterCheckResult(data)
                 } else {
                     if (hasException[f] == true) {
-                        // 淇敼浜嗚捣濮嬫暟鎹殑浣嶇疆,鍙樻洿涓哄嚭鐜板紓甯哥殑璇ュ��,鑰屼笉鏄師鏉ョ殑鍑虹幇寮傚父鐨勬暟鎹殑鍓嶄竴涓��
+                        // 淇敼浜嗚捣濮嬫暟鎹殑浣嶇疆,鍙樻洿涓哄嚭鐜板紓甯哥殑璇ュ��,鑰屼笉鏄師鏉ョ殑鍑虹幇寮傚父鏁版嵁鐨勫墠涓�涓��
                         if (!it.existException) {
                             it.sIndex = it.eIndex
                             it.startData = data
@@ -38,29 +38,6 @@
                 }
             }
         }
-//        repeat(config.factorCount) { i ->
-//            eIndex[i]++
-//            if (lastData == null) {
-//                startData[i] = data
-//            }
-//            // 鍒ゆ柇鐩搁偦鏁版嵁鏄惁杩炵画骞朵笖鏄惁婊¤冻寮傚父鍒ゆ柇
-//            if (!isContinue) {
-//                checkResult()
-//                sIndex[i] = eIndex[i]
-//                startData[i] = data
-//            } else {
-//                if (hasException[i]) {
-//                    // 淇敼浜嗚捣濮嬫暟鎹殑浣嶇疆,鍙樻洿涓哄嚭鐜板紓甯哥殑璇ュ��,鑰屼笉鏄師鏉ョ殑鍑虹幇寮傚父鐨勬暟鎹殑鍓嶄竴涓��
-//                    if (!existException[i]) {
-//                        sIndex[i] = eIndex[i]
-//                        startData[i] = data
-//                    }
-//                    existException[i] = true
-//                } else {
-//                    checkResult()
-//                }
-//            }
-//        }
         lastData = data
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3