From e8f935a01d75c89ac591a80b9318eac2480e2dcd Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 27 六月 2024 17:40:01 +0800
Subject: [PATCH] 1. 新增走航轨迹融合功能

---
 src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt |   63 ++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 19 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 027f57d..e65d775 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/dataanalysis/BaseExceptionContinuousSingle.kt
@@ -11,29 +11,54 @@
     override fun onNextData(data: BaseRealTimeData) {
         val isContinue = isContinuous(lastData, data)
         val hasException = judgeException(lastData, data)
-        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 {
+        config.factorFilter.mainList().forEach {f->
+            tagMap[f]?.let {
+                it.eIndex++
+                if (lastData == null) {
+                    it.startData = data
+                }
+                // 鍒ゆ柇鐩搁偦鏁版嵁鏄惁杩炵画骞朵笖鏄惁婊¤冻寮傚父鍒ゆ柇
+                if (!isContinue) {
                     checkResult()
+                    it.sIndex = it.eIndex
+                    it.startData = data
+                } else {
+                    if (hasException[f] == true) {
+                        // 淇敼浜嗚捣濮嬫暟鎹殑浣嶇疆,鍙樻洿涓哄嚭鐜板紓甯哥殑璇ュ��,鑰屼笉鏄師鏉ョ殑鍑虹幇寮傚父鐨勬暟鎹殑鍓嶄竴涓��
+                        if (!it.existException) {
+                            it.sIndex = it.eIndex
+                            it.startData = data
+                        }
+                        it.existException = true
+                    } else {
+                        checkResult()
+                    }
                 }
             }
         }
+//        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