From 4b4c4114db773d2a5c3d2bcd9c15f43f7b4ff062 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Fri, 08 Oct 2021 16:13:53 +0800 Subject: [PATCH] 判断时间,修改臭氧8小时滑动平均值 --- screen-common/src/main/java/com/moral/util/AQIUtils.java | 74 ++++++++++++++++++++++++++++++++++-- 1 files changed, 69 insertions(+), 5 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/AQIUtils.java b/screen-common/src/main/java/com/moral/util/AQIUtils.java index 70cddb2..b7adb3a 100644 --- a/screen-common/src/main/java/com/moral/util/AQIUtils.java +++ b/screen-common/src/main/java/com/moral/util/AQIUtils.java @@ -2,10 +2,7 @@ import org.springframework.util.ObjectUtils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import com.moral.constant.Constants; @@ -54,11 +51,78 @@ } int AQIMAX = 0; if (!ObjectUtils.isEmpty(AQIList)) { - AQIMAX = Collections.max(AQIList); + if (AQIList.size() == 6) { + AQIMAX = Collections.max(AQIList); + } } return AQIMAX; } + public static Map<String,Object> hourlyAqi_pollutant(Map<String, Object> map) { + List<Integer> AQIList = new ArrayList<>(); + Map<String,Integer> AQIMap = new HashMap<>(); + for (Map.Entry<String, Object> entry : map.entrySet()) { + String key = entry.getKey(); + if (entry.getValue().toString().equals("")) { + continue; + } + int PM2_5AQI; + int PM10AQI; + int SO2AQI; + int NO2AQI; + int COAQI; + int O3AQI; + switch (key) { + case Constants.SENSOR_CODE_PM25: + PM2_5AQI = PM2_5AQI(Double.valueOf(entry.getValue().toString())); + AQIList.add(PM2_5AQI); + AQIMap.put("PM2.5",PM2_5AQI); + break; + case Constants.SENSOR_CODE_PM10: + PM10AQI = PM10AQI(Double.valueOf(entry.getValue().toString())); + AQIList.add(PM10AQI); + AQIMap.put("PM10",PM10AQI); + break; + case Constants.SENSOR_CODE_SO2: + SO2AQI = SO2AQI(Double.valueOf(entry.getValue().toString())); + AQIList.add(SO2AQI); + AQIMap.put("SO2",SO2AQI); + break; + case Constants.SENSOR_CODE_NO2: + NO2AQI = NO2AQI(Double.valueOf(entry.getValue().toString())); + AQIList.add(NO2AQI); + AQIMap.put("NO2",NO2AQI); + break; + case Constants.SENSOR_CODE_CO: + COAQI = COAQI(Double.valueOf(entry.getValue().toString())); + AQIList.add(COAQI); + AQIMap.put("CO",COAQI); + break; + case Constants.SENSOR_CODE_O3: + O3AQI = O3AQI(Double.valueOf(entry.getValue().toString())); + AQIList.add(O3AQI); + AQIMap.put("O3",O3AQI); + break; + default: + break; + } + } + int AQIMAX = 0; + if (!ObjectUtils.isEmpty(AQIList)) { + AQIMAX = Collections.max(AQIList); + } + List<String> nameList = new ArrayList<>(); + for (String key:AQIMap.keySet()){ + if (AQIMap.get(key).equals(AQIMAX)){ + nameList.add(key); + } + } + Map<String,Object> resultMap = new HashMap<>(); + resultMap.put("aqi",AQIMAX); + resultMap.put("pollutant",nameList); + return resultMap; + } + //PM2.5 IAQI public static int PM2_5AQI(Double value) { double result; -- Gitblit v1.8.0