From b77a69357da82a965cd63e76e8ceaf625ec4009b Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 15 七月 2021 16:37:47 +0800
Subject: [PATCH] 1. 新增信访信息获取接口 2. 新增用电量信息获取接口 3. 新增风险评估结果接口 4. 新增污染权重实时分析接口

---
 src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt |  142 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 132 insertions(+), 10 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 e14c100..81c0d6f 100644
--- a/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt
+++ b/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt
@@ -4,16 +4,25 @@
  * @author riku
  * Date: 2020/6/10
  */
-enum class  FactorType(val value: Int, val des: String){
-    NO2(1, "NO2"),
-    CO(2,"CO"),
-    H2S(3,"H2S"),
-    SO2(4,"SO2"),
-    O3(5,"O3"),
-    PM25(6,"PM25"),
-    PM10(7, "PM10"),
-    TEMPERATURE(8,"TEMPERATURE"),
-    HUMIDITY(9, "HUMIDITY");
+enum class  FactorType(val value: Int, val des: String, val byteLength: Int){
+    NO2(1, "NO2", 6),
+    CO(2,"CO", 6),
+    H2S(3,"H2S",6),
+    SO2(4,"SO2",6),
+    O3(5,"O3",6),
+    PM25(6,"PM25",3),
+    PM10(7, "PM10",3),
+    TEMPERATURE(8,"TEMPERATURE",3),
+    HUMIDITY(9, "HUMIDITY",3),
+    VOC(10, "VOC",6),
+    NOI(11, "NOI",6),//璐熸哀绂诲瓙
+    LNG(12,"LNG",6),//缁忓害
+    LAT(13,"LAT",5),//绾害
+    VELOCITY(14, "VELOCITY", 3),//閫熷害
+    TIME(15, "TIME", 6),//鏃堕棿
+    WIND_SPEED(16, "WIND_SPEED", 3),
+    WIND_DIRECTION(17, "WIND_DIRECTION", 2),
+    HEIGHT(18, "HEIGHT", 3);
 
     companion object {
 
@@ -27,7 +36,120 @@
             PM10.value -> PM10
             TEMPERATURE.value -> TEMPERATURE
             HUMIDITY.value -> HUMIDITY
+            VOC.value -> VOC
+            NOI.value -> NOI
+            LNG.value -> LNG
+            LAT.value -> LAT
+            VELOCITY.value -> VELOCITY
+            TIME.value -> TIME
+            WIND_SPEED.value -> WIND_SPEED
+            WIND_DIRECTION.value -> WIND_DIRECTION
+            HEIGHT.value -> HEIGHT
             else -> null
         }
+
+        fun getByName(name: String?): FactorType? = when (name) {
+            NO2.des -> NO2
+            CO.des -> CO
+            H2S.des -> H2S
+            SO2.des -> SO2
+            O3.des -> O3
+            PM25.des -> PM25
+            PM10.des -> PM10
+            TEMPERATURE.des -> TEMPERATURE
+            HUMIDITY.des -> HUMIDITY
+            VOC.des -> VOC
+            NOI.des -> NOI
+            LNG.des -> LNG
+            LAT.des -> LAT
+            VELOCITY.des -> VELOCITY
+            TIME.des -> TIME
+            WIND_SPEED.des -> WIND_SPEED
+            WIND_DIRECTION.des -> WIND_DIRECTION
+            HEIGHT.des -> HEIGHT
+            else -> null
+        }
+
+        fun getRange(name: String?): Pair<Double, Double>? {
+            getByName(name)?.let {
+                return getRange(it)
+            }
+            return null
+        }
+
+        /**
+         * 鑾峰彇鐩戞祴鍥犲瓙鐨勫悎鐞嗚寖鍥�
+         */
+        fun getRange(type: FactorType): Pair<Double, Double>? = when (type) {
+            NO2 -> Pair(0.1, 1000.0)
+            CO -> Pair(1.0, 5000.0)
+            H2S -> Pair(0.1, 1000.0)
+            SO2 -> Pair(0.1, 1000.0)
+            O3 -> Pair(0.1, 2000.0)
+            PM25 -> Pair(0.1, 5000.0)
+            PM10 -> Pair(0.1, 10000.0)
+            TEMPERATURE -> Pair(-20.0, 70.0)
+            HUMIDITY -> Pair(0.0, 110.0)
+            VOC -> Pair(1.0, 5000.0)
+            NOI -> Pair(0.1, 1000.0)
+            LNG -> Pair(0.0, 180.0)
+            LAT -> Pair(0.0, 90.0)
+            VELOCITY -> Pair(0.0, 500.0)
+            TIME -> null
+            WIND_SPEED -> Pair(0.0, 100.0)
+            WIND_DIRECTION -> Pair(0.0, 360.0)
+            HEIGHT -> Pair(0.0, 1000.0)
+            else -> null
+        }
+
+        fun getVMax(name: String?): Double? {
+            getByName(name)?.let {
+                return getVMax(it)
+            }
+            return null
+        }
+
+        /**
+         * 涓嶅鐞嗕綆浜庢鍊肩殑鍊�
+         */
+        fun getVMax(type: FactorType): Double? = when (type) {
+            NO2 -> 10.0
+            CO -> 100.0
+            H2S -> 10.0
+            SO2 -> 10.0
+            O3 -> 10.0
+            PM25 -> 10.0
+            PM10 -> 10.0
+            TEMPERATURE -> 10.0
+            HUMIDITY -> 10.0
+            VOC -> 10.0
+            NOI -> 10.0
+            LNG -> 0.0
+            LAT -> 0.0
+            VELOCITY -> 0.0
+            TIME -> 0.0
+            WIND_SPEED -> 2.0
+            WIND_DIRECTION -> 0.0
+            HEIGHT -> 0.0
+            else -> null
+        }
+
+        fun outputFactor(factorName: String?): Boolean {
+            return when (factorName) {
+                NO2.des,
+                CO.des,
+                H2S.des,
+                SO2.des,
+                O3.des,
+                PM25.des,
+                PM10.des,
+                TEMPERATURE.des,
+                HUMIDITY.des,
+                VOC.des,
+                WIND_SPEED.des,
+                WIND_DIRECTION.des -> true
+                else -> false
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3