From 37d47c6a7ab0f454b948b68c987146b261117993 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期日, 13 七月 2025 22:47:21 +0800
Subject: [PATCH] 2025.7.13 动态溯源逻辑调整

---
 src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt |   83 +++++++++++++++++++++++++++++++++++------
 1 files changed, 70 insertions(+), 13 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt
index d39d51d..d6a68a2 100644
--- a/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt
+++ b/src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt
@@ -10,7 +10,8 @@
  * @date 2025/5/29
  * @author feiyu02
  */
-class RTExcWindLevelConfig(factorFilter: FactorFilter): BaseAnalysisConfig(factorFilter) {
+class RTExcWindLevelConfig(factorFilter: FactorFilter, combination: List<List<FactorType>>?): BaseAnalysisConfig
+    (factorFilter, combination) {
 
     inner class WindLevelCondition(
         val windSpeed: Pair<Double, Double>,
@@ -65,37 +66,71 @@
     )
 
     /****鏁版嵁蹇�熶笂鍗�*****************************************************************************/
-    var changeRateCondition = WindLevelCondition(
-        .0 to Double.MAX_VALUE,
-        0.1 to Double.MAX_VALUE,
-        DistanceType.TYPE1,
-        3
-    )
     // 鐩戞祴鍥犲瓙鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級鍐呮甯稿彉鍖栫殑閲忕骇鑼冨洿
-    var changeRateUp = mutableMapOf(
+    var changeRateUp1 = mutableMapOf(
         FactorType.PM25 to WindLevelCondition(
-            .0 to Double.MAX_VALUE,
+            .0 to 1.5,
             4.0 to Double.MAX_VALUE,
             DistanceType.TYPE1,
             3
         ),
         FactorType.PM10 to WindLevelCondition(
-            .0 to Double.MAX_VALUE,
+            .0 to 1.5,
             4.0 to Double.MAX_VALUE,
             DistanceType.TYPE1,
             3
         ),
         FactorType.VOC to WindLevelCondition(
-            .0 to Double.MAX_VALUE,
+            .0 to 1.5,
             6.0 to Double.MAX_VALUE,
             DistanceType.TYPE1,
             1
         ),
     )
+    var changeRateUp2 = mutableMapOf(
+        FactorType.PM25 to WindLevelCondition(
+            1.6 to 7.9,
+            4.0 to Double.MAX_VALUE,
+            DistanceType.TYPE3,
+            3
+        ),
+        FactorType.PM10 to WindLevelCondition(
+            1.6 to 7.9,
+            4.0 to Double.MAX_VALUE,
+            DistanceType.TYPE3,
+            3
+        ),
+        FactorType.VOC to WindLevelCondition(
+            1.6 to 7.9,
+            6.0 to Double.MAX_VALUE,
+            DistanceType.TYPE3,
+            1
+        ),
+    )
+    var changeRateUp3 = mutableMapOf(
+        FactorType.PM25 to WindLevelCondition(
+            8.0 to 13.8,
+            4.0 to Double.MAX_VALUE,
+            DistanceType.TYPE4,
+            3
+        ),
+        FactorType.PM10 to WindLevelCondition(
+            8.0 to 13.8,
+            4.0 to Double.MAX_VALUE,
+            DistanceType.TYPE4,
+            3
+        ),
+        FactorType.VOC to WindLevelCondition(
+            8.0 to 13.8,
+            6.0 to Double.MAX_VALUE,
+            DistanceType.TYPE4,
+            1
+        ),
+    )
 
-    /****鏁版嵁蹇�熶笅闄�*****************************************************************************/
+    /****鏁版嵁蹇�熶笅闄嶆彁閱�*****************************************************************************/
     // 鐩戞祴鍥犲瓙鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級鍐呮甯稿彉鍖栫殑閲忕骇鑼冨洿
-    var changeRateDown = mutableMapOf(
+    var changeRateWarnDown = mutableMapOf(
         FactorType.PM25 to WindLevelCondition(
             .0 to Double.MAX_VALUE,
             -Double.MAX_VALUE to -2.0,
@@ -115,4 +150,26 @@
             3
         ),
     )
+
+    /****鏁版嵁鏈変笂鍗囪秼鍔挎彁閱�*****************************************************************************/
+    var changeRateWarnUp = mutableMapOf(
+        FactorType.PM25 to WindLevelCondition(
+            .0 to Double.MAX_VALUE,
+            2.0 to 4.0,
+            DistanceType.TYPE1,
+            3
+        ),
+        FactorType.PM10 to WindLevelCondition(
+            .0 to Double.MAX_VALUE,
+            2.0 to 4.0,
+            DistanceType.TYPE1,
+            3
+        ),
+        FactorType.VOC to WindLevelCondition(
+            .0 to Double.MAX_VALUE,
+            3.0 to 6.0,
+            DistanceType.TYPE1,
+            1
+        ),
+    )
 }
\ No newline at end of file

--
Gitblit v1.9.3