From 87249bd6c05be0a6f70a212b5ccb390792a67bf2 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Fri, 08 Oct 2021 09:39:55 +0800
Subject: [PATCH] 增加日均值,站点均值

---
 screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java |   36 +++++++++++++++++++++++++++++-------
 1 files changed, 29 insertions(+), 7 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..56d7241 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
@@ -105,6 +105,7 @@
             govMonitorPoint_avg.setId(0);
             govMonitorPoint_avg.setName("");
             govMonitorPoint_avg.setGuid("");
+            govMonitorPointList.add(govMonitorPoint_avg);
             List<Map<String,Object>> data = new ArrayList<>();
             Map<String,Object> hour_1 = new HashMap<>();
             Map<String,Object> hour_2 = new HashMap<>();
@@ -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���������������������������������������������������������������������������
@@ -247,6 +249,7 @@
                         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());
@@ -305,6 +308,20 @@
                             break;
                     }
                 }
+                Double PM2_5Avg_daliy = (double)Math.round(PM2_5List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+                Double PM10Avg_daliy = (double)Math.round(PM10List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+                Double SO2Avg_daliy = (double)Math.round(SO2List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+                Double NO2Avg_daliy = (double)Math.round(NO2List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+                Double COAvg_daliy = new BigDecimal(COList_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue();
+                Double O3_1hAvg_daliy = (double)Math.round(O3_1hList_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage());
+                Double 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);
@@ -438,16 +455,18 @@
                 }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(AQIResultMap.get("pollutant"))){
+                    if (Integer.parseInt(AQIResultMap.get("aqi").toString())>50){
+                        String pollutant = AQIResultMap.get("pollutant").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;
@@ -496,6 +515,8 @@
                     case 22:hour_23.putAll(avgMap);
                         break;
                     case 23:hour_24.putAll(avgMap);
+                        break;
+                    case 24:hour_AVG.putAll(avgMap);
                         break;
                     default:
                         break;
@@ -550,6 +571,7 @@
             data.add(hour_22);
             data.add(hour_23);
             data.add(hour_24);
+            data.add(hour_AVG);
             resultMap.put("title",date+"������");
             resultMap.put("data",data);
             resultMap.put("govMonitorPoint",govMonitorPointList);

--
Gitblit v1.8.0