From eb3dd00b0b7fcda477229d518d250f9c842b790b Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 21 十月 2025 17:45:44 +0800
Subject: [PATCH] 2025.10.21 1. 走航季度报告相关数据计算逻辑调整
---
src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt | 76 +++++++++++++++++++++++++++++++++++---
1 files changed, 70 insertions(+), 6 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 81c0d6f..e99a0b7 100644
--- a/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt
+++ b/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt
@@ -1,5 +1,7 @@
package com.flightfeather.uav.socket.eunm
+import com.flightfeather.uav.biz.dataanalysis.BaseExceptionAnalysis
+
/**
* @author riku
* Date: 2020/6/10
@@ -22,11 +24,53 @@
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);
+
+ fun getTxt(): String {
+ return when (this) {
+ NO2 -> "NO2"
+ CO -> "CO"
+ H2S -> "H2S"
+ SO2 -> "SO2"
+ O3 -> "O3"
+ PM25 -> "PM2.5"
+ PM10 -> "PM10"
+ TEMPERATURE -> "娓╁害"
+ HUMIDITY -> "婀垮害"
+ VOC -> "VOC"
+ NOI -> "NOI"
+ LNG -> "缁忓害"
+ LAT -> "绾害"
+ VELOCITY -> "杞﹂��"
+ TIME -> "鏃堕棿"
+ WIND_SPEED -> "椋庨��"
+ WIND_DIRECTION -> "椋庡悜"
+ HEIGHT -> "楂樺害"
+ NO -> "NO"
+ }
+ }
companion object {
+ /**
+ * 閫氳繃绱㈠紩鑾峰彇鏋氫妇绫诲瀷锛岀敤浜庢暟鎹垎鏋�
+ * @see [BaseExceptionAnalysis]
+ */
fun getByIndex(index: Int): FactorType? = when (index) {
+ 0 -> NO2
+ 1 -> CO
+ 2 -> H2S
+ 3 -> SO2
+ 4 -> O3
+ 5 -> PM25
+ 6 -> PM10
+ 7 -> VOC
+ 19 -> NO
+ else -> null
+ }
+
+ fun getByValue(value: Int): FactorType? = when (value) {
NO2.value -> NO2
CO.value -> CO
H2S.value -> H2S
@@ -45,6 +89,7 @@
WIND_SPEED.value -> WIND_SPEED
WIND_DIRECTION.value -> WIND_DIRECTION
HEIGHT.value -> HEIGHT
+ NO.value -> NO
else -> null
}
@@ -67,6 +112,7 @@
WIND_SPEED.des -> WIND_SPEED
WIND_DIRECTION.des -> WIND_DIRECTION
HEIGHT.des -> HEIGHT
+ NO.des -> NO
else -> null
}
@@ -81,6 +127,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)
@@ -102,9 +149,9 @@
else -> null
}
- fun getVMax(name: String?): Double? {
+ fun getVMin(name: String?): Double? {
getByName(name)?.let {
- return getVMax(it)
+ return getVMin(it)
}
return null
}
@@ -112,7 +159,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
@@ -131,10 +179,26 @@
WIND_SPEED -> 2.0
WIND_DIRECTION -> 0.0
HEIGHT -> 0.0
- else -> null
}
- fun outputFactor(factorName: String?): Boolean {
+ /**
+ * 鍥犲瓙杩炵画鏁版嵁涓婂崌鍚堢悊骞呭害锛堝�嶆暟锛�
+ */
+ 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 isOutputFactor(factorName: String?): Boolean {
return when (factorName) {
NO2.des,
CO.des,
--
Gitblit v1.9.3