From 8eb584869b4fd4de0f51c93f2616f12e51df9193 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 18 十二月 2025 17:48:29 +0800
Subject: [PATCH] 2025.12.18 1. 动态溯源相关分析逻辑调整; 2. 走航报告接口参数调整;

---
 src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedClue.kt |   46 ++++++++++++++--------------------------------
 1 files changed, 14 insertions(+), 32 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedClue.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedClue.kt
index c87812e..e8c29b7 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedClue.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/model/PollutedClue.kt
@@ -18,42 +18,24 @@
  * @date 2025/5/27
  * @author feiyu02
  */
-class PollutedClue() : BaseExceptionResult(){
-
-//    constructor(
-//        start: BaseRealTimeData,
-//        end: BaseRealTimeData?,
-//        factor: FactorFilter.SelectedFactor,
-//        exceptionData: List<BaseRealTimeData>,
-//        eType: ExceptionType,
-//        config: RTExcWindLevelConfig,
-//        windLevelCondition: RTExcWindLevelConfig.WindLevelCondition?,
-//    ) : this() {
-//        if (exceptionData.isEmpty()) return
-//        pollutedData = PollutedData(start, end, factor, exceptionData, eType, windLevelCondition)
-//        pollutedArea = PollutedArea(exceptionData, config, windLevelCondition)
-//    }
+class PollutedClue() : BaseExceptionResult() {
 
     constructor(
-        tag: ExceptionTag, factor: FactorFilter.SelectedFactor, eType: ExceptionType, config: RTExcWindLevelConfig,
+        exceptions: List<Pair<FactorFilter.SelectedFactor, ExceptionTag>>,
+        eType: ExceptionType,
+        config: RTExcWindLevelConfig,
         windLevelCondition: RTExcWindLevelConfig.WindLevelCondition?,
-    ) : this()
-//            this(
-//        tag.startData!!, tag.endData, factor, tag.exceptionData, eType, config,
-//        windLevelCondition
-//    )
-    {
-        if (tag.exceptionData.isEmpty()) return
-        deviceCode = tag.startData?.deviceCode
-        pollutedData = PollutedData(
-            tag.startData!!, tag.endData, factor, tag.exceptionData, tag.historyData, eType, windLevelCondition
-        )
-        pollutedArea = PollutedArea(tag.historyData, tag.exceptionData, config, windLevelCondition)
-    }
+    ) : this() {
+        if (exceptions.isEmpty() || exceptions[0].second.exceptionData.isEmpty()) return
+        deviceCode = exceptions[0].second.startData?.deviceCode
 
-    /**
-     * 6. 灞曠ず鏁版嵁鍙樺寲鎯呭喌锛屼笂鍗囬�熺巼绛夌瓑
-     */
+
+        // 鑾峰彇鍘婚噸鍚庣殑鐩戞祴鍥犲瓙绫诲瀷
+        val factorList = exceptions.map { it.first }.distinct()
+        pollutedData = PollutedData(exceptions, eType)
+        pollutedArea = PollutedArea(pollutedData!!, config, windLevelCondition)
+
+    }
 
     /**
      * @see [MsgType]

--
Gitblit v1.9.3