From 2dee01ae6f13a72b1d2ba9ca3d1ffbea72ab513b Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Sat, 09 Oct 2021 08:59:28 +0800 Subject: [PATCH] screen-aqi 增加监测因子对比图接口 --- screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 10 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 56d7241..69e1073 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,7 +105,6 @@ 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<>(); @@ -200,12 +199,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); @@ -244,6 +261,18 @@ 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()){ @@ -252,7 +281,9 @@ O3_8hList_daliy.add(O3_1hMap.get(key)); } } - O3_8h = (double)Math.round(O3_8hList.stream().mapToDouble(aDouble ->aDouble).summaryStatistics().getAverage()); + if (i<curHour24){ + O3_8h = (double)Math.round(O3_8hList.stream().mapToDouble(aDouble ->aDouble).summaryStatistics().getAverage()); + } } oneGovMonitorPointOneHourData.put("O3_8h_"+govMonitorPointId,O3_8h); switch (i){ @@ -462,7 +493,7 @@ pollutant = pollutant.replace("]",""); avgMap.put("pollutant",pollutant); }else { - avgMap.put("pollutant",""); + avgMap.put("pollutant","-"); } }else { avgMap.put("aqi",""); @@ -546,7 +577,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); @@ -574,6 +605,7 @@ 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