From c56e1e74426238939f229f0005828d05089715ff Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 03 七月 2025 17:30:58 +0800 Subject: [PATCH] 2025.7.3 1. 新增动态污染溯源新的判定逻辑 --- src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt | 32 +++++++++++++++++++++++++++----- 1 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt b/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt index 0c934b4..bd019b6 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt @@ -24,7 +24,8 @@ TIME(15, "TIME", 6),//鏃堕棿 WIND_SPEED(16, "WIND_SPEED", 3), WIND_DIRECTION(17, "WIND_DIRECTION", 2), - HEIGHT(18, "HEIGHT", 3); + HEIGHT(18, "HEIGHT", 3), + NO(19, "NO", 6); companion object { @@ -41,6 +42,7 @@ 5 -> PM25 6 -> PM10 7 -> VOC + 19 -> NO else -> null } @@ -63,6 +65,7 @@ WIND_SPEED.value -> WIND_SPEED WIND_DIRECTION.value -> WIND_DIRECTION HEIGHT.value -> HEIGHT + NO.value -> NO else -> null } @@ -85,6 +88,7 @@ WIND_SPEED.des -> WIND_SPEED WIND_DIRECTION.des -> WIND_DIRECTION HEIGHT.des -> HEIGHT + NO.des -> NO else -> null } @@ -99,6 +103,7 @@ * 鑾峰彇鐩戞祴鍥犲瓙鐨勫悎鐞嗚寖鍥� */ fun getRange(type: FactorType): Pair<Double, Double>? = when (type) { + NO -> Pair(0.1, 1000.0) NO2 -> Pair(0.1, 1000.0) CO -> Pair(1.0, 5000.0) H2S -> Pair(0.1, 1000.0) @@ -120,9 +125,9 @@ else -> null } - fun getVMax(name: String?): Double? { + fun getVMin(name: String?): Double? { getByName(name)?.let { - return getVMax(it) + return getVMin(it) } return null } @@ -130,7 +135,8 @@ /** * 涓嶅鐞嗕綆浜庢鍊肩殑鍊� */ - fun getVMax(type: FactorType): Double? = when (type) { + fun getVMin(type: FactorType): Double = when (type) { + NO -> 1.0 NO2 -> 10.0 CO -> 100.0 H2S -> 10.0 @@ -149,7 +155,23 @@ WIND_SPEED -> 2.0 WIND_DIRECTION -> 0.0 HEIGHT -> 0.0 - else -> null + } + + /** + * 鍥犲瓙杩炵画鏁版嵁涓婂崌鍚堢悊骞呭害锛堝�嶆暟锛� + */ + fun getMultiplier(name: String?): Double { + getByName(name)?.let { + return getMultiplier(it) + } + return 10.0 + } + + fun getMultiplier(type: FactorType): Double = when (type) { + PM25 -> 20.0 + PM10 -> 20.0 + VOC -> 10.0 + else -> 10.0 } fun outputFactor(factorName: String?): Boolean { -- Gitblit v1.9.3