From 8c6e742562d0c8647e0ee8deff01a3eb176d677b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 02 九月 2025 17:30:47 +0800
Subject: [PATCH] 2025.9.2 1. 新增走航任务统计功能(待完成)

---
 src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceController.kt |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceController.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceController.kt
index 83bb5c7..eb0f7eb 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceController.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/SourceTraceController.kt
@@ -28,7 +28,12 @@
      * 姣忎竴鍒婚挓瀵瑰巻鍙茬嚎绱㈣繘琛岀粺璁★紝鎻愬嚭浼氬晢寤鸿锛堢姹℃煋婧愯緝杩溿�佹薄鏌撴簮鏁伴噺銆佸嚭鐜版鏁帮級銆佽蛋鑸矾绾胯皟鏁村缓璁紙绂绘薄鏌撴簮杈冭繎銆佽蛋鑸建杩规湭鎺ヨ繎婧簮鍦烘櫙锛�
      */
 
-    constructor(sceneInfoRep: SceneInfoRep, sourceTraceRep: SourceTraceRep, factorFilter: FactorFilter?) {
+    constructor(
+        sceneInfoRep: SceneInfoRep,
+        sourceTraceRep: SourceTraceRep,
+        factorFilter: FactorFilter?,
+        isSearchAddress: Boolean,
+    ) {
         this.sceneInfoRep = sceneInfoRep
         this.sourceTraceRep = sourceTraceRep
         this.config = if (factorFilter != null) {
@@ -40,24 +45,29 @@
                     .withMain(FactorType.CO)
 //                    .withMain(FactorType.H2S)
 //                    .withMain(FactorType.SO2)
-                    .withMain(FactorType.O3)
+//                    .withMain(FactorType.O3)
                     .withMain(FactorType.PM25)
                     .withMain(FactorType.PM10)
 //                    .withMain(FactorType.VOC)
+                    .withMain(FactorType.NO)
                     .withCombination(
                         listOf(
                             listOf(FactorType.PM25, FactorType.PM10),
-                            listOf(FactorType.VOC, FactorType.CO),
+//                            listOf(FactorType.VOC, FactorType.CO),
+                            listOf(FactorType.NO, FactorType.NO2),
                         )
                     )
                     .create()
             )
         }
+        this.config.isSearchAddress = isSearchAddress
+
         pollutedSummary = PollutedSummary(config) { summaryCallback(it) }
         newTask()
     }
 
-    constructor(sceneInfoRep: SceneInfoRep, sourceTraceRep: SourceTraceRep) : this(sceneInfoRep, sourceTraceRep, null)
+    constructor(sceneInfoRep: SceneInfoRep, sourceTraceRep: SourceTraceRep, isSearchAddress: Boolean = true)
+            : this(sceneInfoRep, sourceTraceRep, null, isSearchAddress)
 
     private val pollutedSummary: PollutedSummary
     private val sceneInfoRep: SceneInfoRep
@@ -76,6 +86,7 @@
 
     private fun newTask() {
         taskList.apply {
+//            add(RTExcSlideAverage(config) { dataChangeCallback(it) }.also { it.init() })
             add(RTExcWindLevel1(config) { exceptionCallback(it) }.also { it.init() })
             add(RTExcWindLevel1_1(config) { exceptionCallback(it) }.also { it.init() })
             add(RTExcWindLevel4(config) { exceptionCallback(it) }.also { it.init() })
@@ -102,6 +113,16 @@
         dealOnTimeout()
     }
 
+    fun addDataList(dataList: List<BaseRealTimeData>) {
+        // 璁$畻寮傚父
+        dataList.forEach { data ->
+            taskList.forEach { it.onNextData(data) }
+            pollutedSummary.refreshLatestMonitorData(data)
+        }
+        // 闄愬畾鏃堕棿鍐呮病鏈夋柊鏁版嵁浼犲叆锛屽垯缁撴潫褰撳墠鐨勮绠�
+        dealOnTimeout()
+    }
+
     /**
      * 瓒呮椂澶勭悊锛岃緝闀挎椂闂存病鏈夋柊鏁版嵁杩涘叆锛岃繘琛屽垵濮嬪寲鎿嶄綔
      */

--
Gitblit v1.9.3