From 60477d72e953fc73744943db3c63f26d8eb94a19 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Mon, 22 Nov 2021 09:19:43 +0800 Subject: [PATCH] screen-api 增加获取柱状图表格数据的mock接口 --- screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 100 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 78 insertions(+), 22 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 2a3c803..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; @@ -199,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); @@ -243,6 +262,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()){ @@ -251,7 +282,11 @@ 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){ @@ -307,13 +342,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); @@ -437,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); @@ -449,19 +505,19 @@ 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("pollutant"))){ - if (Integer.parseInt(AQIResultMap.get("aqi").toString())>50){ - String pollutant = AQIResultMap.get("pollutant").toString(); + 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",""); + avgMap.put("pollutant","-"); } }else { avgMap.put("aqi",""); -- Gitblit v1.8.0