From 2ad979f912a1883c7a46048fa371d213f8406ba9 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 08 Nov 2021 11:26:22 +0800
Subject: [PATCH] update
---
screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 97 insertions(+), 19 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java
index 3f33fea..7ddf17e 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java
@@ -14,6 +14,7 @@
import com.moral.api.service.OrganizationService;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
+import com.moral.pojo.AQI;
import com.moral.util.AQIUtils;
import com.moral.util.RegionCodeUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -157,6 +158,7 @@
List<Double> NO2List_daliy = new ArrayList<>();
List<Double> COList_daliy = new ArrayList<>();
List<Double> O3_1hList_daliy = new ArrayList<>();
+ List<Double> O3_8hList_daliy = new ArrayList<>();
Map<Integer,Double> O3_1hMap = new HashMap<>();
for (int i=0; i<24; i++){
//������������Map���������������������������������������������������������������������������
@@ -198,12 +200,30 @@
}
}
}
- Double PM2_5Avg = (double)Math.round(PM2_5List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
- Double PM10Avg = (double)Math.round(PM10List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
- Double SO2Avg = (double)Math.round(SO2List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
- Double NO2Avg = (double)Math.round(NO2List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
- Double COAvg = new BigDecimal(COList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
- Double O3_1hAvg = (double)Math.round(O3_1hList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ Double PM2_5Avg = null;
+ Double PM10Avg = null;
+ Double SO2Avg = null;
+ Double NO2Avg = null;
+ Double COAvg = null;
+ Double O3_1hAvg = null;
+ if (PM2_5List.size()>0){
+ PM2_5Avg = (double)Math.round(PM2_5List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (PM10List.size()>0){
+ PM10Avg = (double)Math.round(PM10List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (SO2List.size()>0){
+ SO2Avg = (double)Math.round(SO2List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (NO2List.size()>0){
+ NO2Avg = (double)Math.round(NO2List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (COList.size()>0){
+ COAvg = new BigDecimal(COList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
+ }
+ if (O3_1hList.size()>0){
+ O3_1hAvg = (double)Math.round(O3_1hList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
if (!ObjectUtils.isEmpty(PM2_5Avg)){
PM2_5List_daliy.add(PM2_5Avg);
oneGovMonitorPointOneHourData.put("a34004_"+govMonitorPointId,PM2_5Avg);
@@ -242,14 +262,31 @@
oneGovMonitorPointOneHourData.put("a05024_"+govMonitorPointId,null);
}
Double O3_8h = null;
+ //������������
+ Date now = new Date();
+ SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
+ //���������������������
+ String nowDay = sf.format(now);
+ //���������������
+ //String day = sf.format(date);
+ int curHour24 = 25;
+ if (date.equals(nowDay)){
+ Calendar calendar = Calendar.getInstance();
+ curHour24 = calendar.get(calendar.HOUR_OF_DAY);
+ }
if (i>=7){
List<Double> O3_8hList = new ArrayList<>();
for (Integer key:O3_1hMap.keySet()){
if (i-8<key && key<i+1){
O3_8hList.add(O3_1hMap.get(key));
+ O3_8hList_daliy.add(O3_1hMap.get(key));
}
}
- O3_8h = (double)Math.round(O3_8hList.stream().mapToDouble(aDouble ->aDouble).summaryStatistics().getAverage());
+ if (i<curHour24){
+ if (O3_8hList.size()>0){
+ O3_8h = (double)Math.round(O3_8hList.stream().mapToDouble(aDouble ->aDouble).summaryStatistics().getAverage());
+ }
+ }
}
oneGovMonitorPointOneHourData.put("O3_8h_"+govMonitorPointId,O3_8h);
switch (i){
@@ -305,6 +342,41 @@
break;
}
}
+ Double PM2_5Avg_daliy = null;
+ Double PM10Avg_daliy = null;
+ Double SO2Avg_daliy = null;
+ Double NO2Avg_daliy = null;
+ Double COAvg_daliy = null;
+ Double O3_1hAvg_daliy = null;
+ Double O3_8hAvg_daliy = null;
+ if (PM2_5List_daliy.size()>0){
+ PM2_5Avg_daliy = (double)Math.round(PM2_5List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (PM10List_daliy.size()>0){
+ PM10Avg_daliy = (double)Math.round(PM10List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (SO2List_daliy.size()>0){
+ SO2Avg_daliy = (double)Math.round(SO2List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (NO2List_daliy.size()>0){
+ NO2Avg_daliy = (double)Math.round(NO2List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (COList_daliy.size()>0){
+ COAvg_daliy = new BigDecimal(COList_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
+ }
+ if (O3_1hList_daliy.size()>0){
+ O3_1hAvg_daliy = (double)Math.round(O3_1hList_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ if (O3_8hList_daliy.size()>0){
+ O3_8hAvg_daliy = (double)Math.round(O3_8hList_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+ }
+ hour_AVG.put("a34004_"+govMonitorPointId,PM2_5Avg_daliy);
+ hour_AVG.put("a34002_"+govMonitorPointId,PM10Avg_daliy);
+ hour_AVG.put("a21026_"+govMonitorPointId,SO2Avg_daliy);
+ hour_AVG.put("a21004_"+govMonitorPointId,NO2Avg_daliy);
+ hour_AVG.put("a21005_"+govMonitorPointId,COAvg_daliy);
+ hour_AVG.put("a05024_"+govMonitorPointId,O3_1hAvg_daliy);
+ hour_AVG.put("O3_8h_"+govMonitorPointId,O3_8hAvg_daliy);
}
Map<Integer,Map<String,Object>> replaceDataMap = new HashMap<>();
replaceDataMap.put(0,hour_1);
@@ -421,9 +493,9 @@
if (!ObjectUtils.isEmpty(PM2_5)){
AQIMap.put("a05024",O3_1h);
}
- Map<String,Object> AQIResultMap = new HashMap<>();
+ AQI aqi = new AQI();
if (AQIMap.size()!=0){
- AQIResultMap = AQIUtils.hourlyAqi_pollutant(AQIMap);
+ aqi = AQIUtils.hourlyAQI(AQIMap);
}
Map<String,Object> avgMap = new HashMap<>();
avgMap.put("a34004_"+"0",PM2_5);
@@ -433,21 +505,23 @@
avgMap.put("a21005_"+"0",CO);
avgMap.put("a05024_"+"0",O3_1h);
avgMap.put("O3_8h_"+"0",O3_8h);
- if (!ObjectUtils.isEmpty(AQIResultMap.get("aqi"))){
- avgMap.put("aqi",AQIResultMap.get("aqi"));
+ if (!ObjectUtils.isEmpty(aqi.getAQIValue())){
+ avgMap.put("aqi",aqi.getAQIValue());
}else {
avgMap.put("aqi","");
}
- if (!ObjectUtils.isEmpty(AQIResultMap.get("aqi"))){
- String pollutant = AQIResultMap.get("pollutant").toString();
- pollutant = pollutant.replace("[","");
- pollutant = pollutant.replace("]","");
- avgMap.put("pollutant",pollutant);
+ if (!ObjectUtils.isEmpty(aqi.getPrimaryPollutantNames())){
+ if (Integer.parseInt(aqi.getAQIValue().toString())>50){
+ String pollutant = aqi.getPrimaryPollutantNames().toString();
+ pollutant = pollutant.replace("[","");
+ pollutant = pollutant.replace("]","");
+ avgMap.put("pollutant",pollutant);
+ }else {
+ avgMap.put("pollutant","-");
+ }
}else {
avgMap.put("aqi","");
}
- //System.out.println("==============="+pollutant);
- //avgMap.put("pullutant",StringUtils.join(aqi_pollutantMap.get("pollutant").toArray(), separator));
switch (i){
case 0:hour_1.putAll(avgMap);
break;
@@ -497,6 +571,8 @@
break;
case 23:hour_24.putAll(avgMap);
break;
+ case 24:hour_AVG.putAll(avgMap);
+ break;
default:
break;
}
@@ -525,7 +601,7 @@
hour_22.put("time","22���");
hour_23.put("time","23���");
hour_24.put("time","0���");
- hour_AVG.put("time","avg");
+ hour_AVG.put("time","������");
data.add(hour_1);
data.add(hour_2);
data.add(hour_3);
@@ -550,8 +626,10 @@
data.add(hour_22);
data.add(hour_23);
data.add(hour_24);
+ data.add(hour_AVG);
resultMap.put("title",date+"������");
resultMap.put("data",data);
+ govMonitorPointList.add(govMonitorPoint_avg);
resultMap.put("govMonitorPoint",govMonitorPointList);
return resultMap;
}catch (Exception e){
--
Gitblit v1.8.0