From 30d475ca8f7f09ab6ad4802add508dd51d9e20a2 Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Sat, 09 Oct 2021 11:32:27 +0800
Subject: [PATCH] 修改臭氧八小时滑动平均值在臭氧无值情况下为0的问题

---
 screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 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 69e1073..80b0a02 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
@@ -282,7 +282,9 @@
                             }
                         }
                         if (i<curHour24){
-                            O3_8h = (double)Math.round(O3_8hList.stream().mapToDouble(aDouble ->aDouble).summaryStatistics().getAverage());
+                            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);
@@ -339,13 +341,34 @@
                             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());
+                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);

--
Gitblit v1.8.0