From 85909f9a78a328de2bc3efc0d1d184320cb8970b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 11 七月 2025 17:22:54 +0800
Subject: [PATCH] 2025.7.11 1. 修改动态溯源异常判断逻辑

---
 src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt |  110 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 95 insertions(+), 15 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 1bbd6b4..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>,
@@ -28,7 +29,7 @@
     // 瀹氭椂绾跨储鍒嗘瀽鏃堕棿闂撮殧(鍗曚綅锛氬垎閽�)
     var analysisPeriod = 15
     // 瀹氭椂鍒嗘瀽闂撮殧涓紝绔嬪嵆杩涜绾跨储鍒嗘瀽鐨勬渶灏忕嚎绱㈤噺(鍗曚綅锛氫釜)
-    var analysisCount = 2
+    var analysisCount = 4
 
     /****鏁版嵁绐佸彉*****************************************************************************/
     // 0 - 1绾ч
@@ -52,8 +53,8 @@
         1.6 to 7.9,
         0.2 to Double.MAX_VALUE,
         DistanceType.TYPE3,
-//        3
-        1
+        3
+//        1
     )
 
     // 5 - 6绾ч
@@ -64,32 +65,111 @@
         3
     )
 
-    /****鏁版嵁鍙樺寲閫熺巼*****************************************************************************/
-    var changeRateCondition = WindLevelCondition(
-        .0 to Double.MAX_VALUE,
-        0.1 to Double.MAX_VALUE,
-        DistanceType.TYPE1,
-        3
-    )
+    /****鏁版嵁蹇�熶笂鍗�*****************************************************************************/
     // 鐩戞祴鍥犲瓙鍦ㄤ竴涓洃娴嬪懆鏈燂紙4绉掞級鍐呮甯稿彉鍖栫殑閲忕骇鑼冨洿
-    var changeRate = 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 changeRateWarnDown = mutableMapOf(
+        FactorType.PM25 to WindLevelCondition(
+            .0 to Double.MAX_VALUE,
+            -Double.MAX_VALUE to -2.0,
+            DistanceType.TYPE1,
+            3
+        ),
+        FactorType.PM10 to WindLevelCondition(
+            .0 to Double.MAX_VALUE,
+            -Double.MAX_VALUE to -2.0,
+            DistanceType.TYPE1,
+            3
+        ),
+        FactorType.VOC to WindLevelCondition(
+            .0 to Double.MAX_VALUE,
+            -Double.MAX_VALUE to -3.0,
+            DistanceType.TYPE1,
+            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