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