From 087e0f5d55743795837fdc364eb7574608d14dbb Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 23 Dec 2021 15:49:41 +0800 Subject: [PATCH] 通过组织查询所有国控站信息 --- screen-api/src/main/java/com/moral/api/service/impl/GovMonitorPointServiceImpl.java | 663 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 368 insertions(+), 295 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 7ddf17e..2386fb9 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 @@ -6,22 +6,26 @@ import com.moral.api.entity.Device; import com.moral.api.entity.GovMonitorPoint; import com.moral.api.entity.HistoryHourly; +import com.moral.api.entity.MonitorPoint; import com.moral.api.entity.Organization; import com.moral.api.mapper.DeviceMapper; import com.moral.api.mapper.GovMonitorPointMapper; import com.moral.api.service.GovMonitorPointService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.service.MonitorPointService; 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; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.Resource; + import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -29,7 +33,7 @@ /** * <p> - * ��������������� + * ��������������� * </p> * * @author moral @@ -52,18 +56,21 @@ @Resource private HistoryHourlyServiceImpl historyHourlyService; + @Autowired + private MonitorPointService monitorPointService; + @Override - public List<GovMonitorPoint> queryGovMonitorPointAndDataByRegionCode(Integer regionCode,String sensorCode) { + public List<GovMonitorPoint> queryGovMonitorPointAndDataByRegionCode(Integer regionCode, String sensorCode) { String regionCodeStr = RegionCodeUtils.regionCodeConvertToName(regionCode); QueryWrapper<GovMonitorPoint> wrapper = new QueryWrapper<>(); - wrapper.eq(regionCodeStr,regionCode); + wrapper.eq(regionCodeStr, regionCode); wrapper.eq("is_delete", Constants.NOT_DELETE); - wrapper.select("guid","name","longitude","latitude","station_level"); + wrapper.select("guid", "name", "longitude", "latitude", "station_level"); List<GovMonitorPoint> govMonitorPoints = govMonitorPointMapper.selectList(wrapper); for (GovMonitorPoint govMonitorPoint : govMonitorPoints) { Object data = redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMonitorPoint.getGuid()); - Map<String,Object> dataMap = (Map<String, Object>) data; - if(data!=null&&dataMap.get(sensorCode)!=null) + Map<String, Object> dataMap = (Map<String, Object>) data; + if (data != null && dataMap.get(sensorCode) != null) govMonitorPoint.setData(String.valueOf(dataMap.get(sensorCode))); } return govMonitorPoints; @@ -77,13 +84,13 @@ organization_ids.add(Integer.parseInt(map.get("organization_id").toString())); //������������������������������ QueryWrapper<Device> wrapper_device = new QueryWrapper<>(); - wrapper_device.in("organization_id",organization_ids).eq("is_delete",Constants.NOT_DELETE); + wrapper_device.in("organization_id", organization_ids).eq("is_delete", Constants.NOT_DELETE); List<Device> devices = deviceMapper.selectList(wrapper_device); //������������������������������id Set<String> guids = devices.stream().map(device -> device.getGuid()).collect(Collectors.toSet()); //������������������������������ QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); - wrapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE).in("guid",guids); + wrapper_govMonitorPoint.eq("is_delete", Constants.NOT_DELETE).in("guid", guids); List<GovMonitorPoint> govMonitorPointList = govMonitorPointMapper.selectList(wrapper_govMonitorPoint); return govMonitorPointList; } @@ -93,8 +100,8 @@ String[] guids = map.get("guids").toString().split(","); Integer orgId = Integer.parseInt(map.get("organization_id").toString()); String date = map.get("date").toString(); - String startTime = date+" 00:00:00"; - String endTime = date+" 23:00:01"; + String startTime = date + " 00:00:00"; + String endTime = date + " 23:00:01"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//���������������MM try { Date startDate = simpleDateFormat.parse(startTime); @@ -106,49 +113,49 @@ govMonitorPoint_avg.setId(0); govMonitorPoint_avg.setName(""); govMonitorPoint_avg.setGuid(""); - List<Map<String,Object>> data = new ArrayList<>(); - Map<String,Object> hour_1 = new HashMap<>(); - Map<String,Object> hour_2 = new HashMap<>(); - Map<String,Object> hour_3 = new HashMap<>(); - Map<String,Object> hour_4 = new HashMap<>(); - Map<String,Object> hour_5 = new HashMap<>(); - Map<String,Object> hour_6 = new HashMap<>(); - Map<String,Object> hour_7 = new HashMap<>(); - Map<String,Object> hour_8 = new HashMap<>(); - Map<String,Object> hour_9 = new HashMap<>(); - Map<String,Object> hour_10 = new HashMap<>(); - Map<String,Object> hour_11 = new HashMap<>(); - Map<String,Object> hour_12 = new HashMap<>(); - Map<String,Object> hour_13 = new HashMap<>(); - Map<String,Object> hour_14 = new HashMap<>(); - Map<String,Object> hour_15 = new HashMap<>(); - Map<String,Object> hour_16 = new HashMap<>(); - Map<String,Object> hour_17 = new HashMap<>(); - Map<String,Object> hour_18 = new HashMap<>(); - Map<String,Object> hour_19 = new HashMap<>(); - Map<String,Object> hour_20 = new HashMap<>(); - Map<String,Object> hour_21 = new HashMap<>(); - Map<String,Object> hour_22 = new HashMap<>(); - Map<String,Object> hour_23 = new HashMap<>(); - Map<String,Object> hour_24 = new HashMap<>(); - Map<String,Object> hour_AVG = new HashMap<>(); - for (String guid:guids) { + List<Map<String, Object>> data = new ArrayList<>(); + Map<String, Object> hour_1 = new HashMap<>(); + Map<String, Object> hour_2 = new HashMap<>(); + Map<String, Object> hour_3 = new HashMap<>(); + Map<String, Object> hour_4 = new HashMap<>(); + Map<String, Object> hour_5 = new HashMap<>(); + Map<String, Object> hour_6 = new HashMap<>(); + Map<String, Object> hour_7 = new HashMap<>(); + Map<String, Object> hour_8 = new HashMap<>(); + Map<String, Object> hour_9 = new HashMap<>(); + Map<String, Object> hour_10 = new HashMap<>(); + Map<String, Object> hour_11 = new HashMap<>(); + Map<String, Object> hour_12 = new HashMap<>(); + Map<String, Object> hour_13 = new HashMap<>(); + Map<String, Object> hour_14 = new HashMap<>(); + Map<String, Object> hour_15 = new HashMap<>(); + Map<String, Object> hour_16 = new HashMap<>(); + Map<String, Object> hour_17 = new HashMap<>(); + Map<String, Object> hour_18 = new HashMap<>(); + Map<String, Object> hour_19 = new HashMap<>(); + Map<String, Object> hour_20 = new HashMap<>(); + Map<String, Object> hour_21 = new HashMap<>(); + Map<String, Object> hour_22 = new HashMap<>(); + Map<String, Object> hour_23 = new HashMap<>(); + Map<String, Object> hour_24 = new HashMap<>(); + Map<String, Object> hour_AVG = new HashMap<>(); + for (String guid : guids) { //������������������������ QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); - wrapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE).eq("guid",guid); + wrapper_govMonitorPoint.eq("is_delete", Constants.NOT_DELETE).eq("guid", guid); GovMonitorPoint govMonitorPoint = govMonitorPointMapper.selectOne(wrapper_govMonitorPoint); - if (!ObjectUtils.isEmpty(govMonitorPoint)){ + if (!ObjectUtils.isEmpty(govMonitorPoint)) { govMonitorPointList.add(govMonitorPoint); - }else { + } else { continue; } int govMonitorPointId = govMonitorPoint.getId(); QueryWrapper<Device> wrapper_device = new QueryWrapper<>(); - wrapper_device.eq("is_delete",Constants.NOT_DELETE).eq("organization_id",orgId).eq("guid",guid); + wrapper_device.eq("is_delete", Constants.NOT_DELETE).eq("organization_id", orgId).eq("guid", guid); List<Device> devices = deviceMapper.selectList(wrapper_device); List<String> macs = devices.stream().map(device -> device.getMac()).collect(Collectors.toList()); List<List<HistoryHourly>> oneGovMonitorPointDevicesValue = new ArrayList(); - for (String mac:macs) { + for (String mac : macs) { List<HistoryHourly> valueByMacAndTime = historyHourlyService.getValueByMacAndTime(mac, startDate, endDate); oneGovMonitorPointDevicesValue.add(valueByMacAndTime); } @@ -159,15 +166,15 @@ 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<Integer, Double> O3_1hMap = new HashMap<>(); + for (int i = 0; i < 24; i++) { //������������Map��������������������������������������������������������������������������� - Map<String,Object> oneGovMonitorPointOneHourData = new HashMap<>(); + Map<String, Object> oneGovMonitorPointOneHourData = new HashMap<>(); String time_hourly = ""; - if (i<10){ - time_hourly = date+" 0"+i+":00:00"; - }else { - time_hourly = date+" "+i+":00:00"; + if (i < 10) { + time_hourly = date + " 0" + i + ":00:00"; + } else { + time_hourly = date + " " + i + ":00:00"; } List<Double> PM2_5List = new ArrayList<>(); List<Double> PM10List = new ArrayList<>(); @@ -175,26 +182,26 @@ List<Double> NO2List = new ArrayList<>(); List<Double> COList = new ArrayList<>(); List<Double> O3_1hList = new ArrayList<>(); - for (List<HistoryHourly> valueByMacAndTime:oneGovMonitorPointDevicesValue) { - for (HistoryHourly historyHourly:valueByMacAndTime) { - if (simpleDateFormat.format(historyHourly.getTime()).equals(time_hourly)){ + for (List<HistoryHourly> valueByMacAndTime : oneGovMonitorPointDevicesValue) { + for (HistoryHourly historyHourly : valueByMacAndTime) { + if (simpleDateFormat.format(historyHourly.getTime()).equals(time_hourly)) { JSONObject value = JSONObject.parseObject(historyHourly.getValue()); - if (!ObjectUtils.isEmpty(value.get("a34004"))){ + if (!ObjectUtils.isEmpty(value.get("a34004"))) { PM2_5List.add(Double.parseDouble(value.get("a34004").toString())); } - if (!ObjectUtils.isEmpty(value.get("a34002"))){ + if (!ObjectUtils.isEmpty(value.get("a34002"))) { PM10List.add(Double.parseDouble(value.get("a34002").toString())); } - if (!ObjectUtils.isEmpty(value.get("a21026"))){ + if (!ObjectUtils.isEmpty(value.get("a21026"))) { SO2List.add(Double.parseDouble(value.get("a21026").toString())); } - if (!ObjectUtils.isEmpty(value.get("a21004"))){ + if (!ObjectUtils.isEmpty(value.get("a21004"))) { NO2List.add(Double.parseDouble(value.get("a21004").toString())); } - if (!ObjectUtils.isEmpty(value.get("a21005"))){ + if (!ObjectUtils.isEmpty(value.get("a21005"))) { COList.add(Double.parseDouble(value.get("a21005").toString())); } - if (!ObjectUtils.isEmpty(value.get("a05024"))){ + if (!ObjectUtils.isEmpty(value.get("a05024"))) { O3_1hList.add(Double.parseDouble(value.get("a05024").toString())); } } @@ -206,60 +213,60 @@ 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 (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 (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 (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 (NO2List.size() > 0) { + NO2Avg = (double) Math.round(NO2List.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - if (COList.size()>0){ + 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 (O3_1hList.size() > 0) { + O3_1hAvg = (double) Math.round(O3_1hList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - if (!ObjectUtils.isEmpty(PM2_5Avg)){ + if (!ObjectUtils.isEmpty(PM2_5Avg)) { PM2_5List_daliy.add(PM2_5Avg); - oneGovMonitorPointOneHourData.put("a34004_"+govMonitorPointId,PM2_5Avg); - }else { - oneGovMonitorPointOneHourData.put("a34004_"+govMonitorPointId,null); + oneGovMonitorPointOneHourData.put("a34004_" + govMonitorPointId, PM2_5Avg); + } else { + oneGovMonitorPointOneHourData.put("a34004_" + govMonitorPointId, null); } - if (!ObjectUtils.isEmpty(PM10Avg)){ + if (!ObjectUtils.isEmpty(PM10Avg)) { PM10List_daliy.add(PM10Avg); - oneGovMonitorPointOneHourData.put("a34002_"+govMonitorPointId,PM10Avg); - }else { - oneGovMonitorPointOneHourData.put("a34002_"+govMonitorPointId,null); + oneGovMonitorPointOneHourData.put("a34002_" + govMonitorPointId, PM10Avg); + } else { + oneGovMonitorPointOneHourData.put("a34002_" + govMonitorPointId, null); } - if (!ObjectUtils.isEmpty(SO2Avg)){ + if (!ObjectUtils.isEmpty(SO2Avg)) { SO2List_daliy.add(SO2Avg); - oneGovMonitorPointOneHourData.put("a21026_"+govMonitorPointId,SO2Avg); - }else { - oneGovMonitorPointOneHourData.put("a21026_"+govMonitorPointId,null); + oneGovMonitorPointOneHourData.put("a21026_" + govMonitorPointId, SO2Avg); + } else { + oneGovMonitorPointOneHourData.put("a21026_" + govMonitorPointId, null); } - if (!ObjectUtils.isEmpty(NO2Avg)){ + if (!ObjectUtils.isEmpty(NO2Avg)) { NO2List_daliy.add(NO2Avg); - oneGovMonitorPointOneHourData.put("a21004_"+govMonitorPointId,NO2Avg); - }else { - oneGovMonitorPointOneHourData.put("a21004_"+govMonitorPointId,null); + oneGovMonitorPointOneHourData.put("a21004_" + govMonitorPointId, NO2Avg); + } else { + oneGovMonitorPointOneHourData.put("a21004_" + govMonitorPointId, null); } - if (!ObjectUtils.isEmpty(COAvg)){ + if (!ObjectUtils.isEmpty(COAvg)) { COList_daliy.add(COAvg); - oneGovMonitorPointOneHourData.put("a21005_"+govMonitorPointId,COAvg); - }else { - oneGovMonitorPointOneHourData.put("a21005_"+govMonitorPointId,null); + oneGovMonitorPointOneHourData.put("a21005_" + govMonitorPointId, COAvg); + } else { + oneGovMonitorPointOneHourData.put("a21005_" + govMonitorPointId, null); } - if (!ObjectUtils.isEmpty(O3_1hAvg)){ + if (!ObjectUtils.isEmpty(O3_1hAvg)) { O3_1hList_daliy.add(O3_1hAvg); - oneGovMonitorPointOneHourData.put("a05024_"+govMonitorPointId,O3_1hAvg); - O3_1hMap.put(i,O3_1hAvg); - }else { - oneGovMonitorPointOneHourData.put("a05024_"+govMonitorPointId,null); + oneGovMonitorPointOneHourData.put("a05024_" + govMonitorPointId, O3_1hAvg); + O3_1hMap.put(i, O3_1hAvg); + } else { + oneGovMonitorPointOneHourData.put("a05024_" + govMonitorPointId, null); } Double O3_8h = null; //������������ @@ -270,73 +277,97 @@ //��������������� //String day = sf.format(date); int curHour24 = 25; - if (date.equals(nowDay)){ + if (date.equals(nowDay)) { Calendar calendar = Calendar.getInstance(); curHour24 = calendar.get(calendar.HOUR_OF_DAY); } - if (i>=7){ + if (i >= 7) { List<Double> O3_8hList = new ArrayList<>(); - for (Integer key:O3_1hMap.keySet()){ - if (i-8<key && key<i+1){ + 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)); } } - if (i<curHour24){ - if (O3_8hList.size()>0){ - 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){ - case 0:hour_1.putAll(oneGovMonitorPointOneHourData); + oneGovMonitorPointOneHourData.put("O3_8h_" + govMonitorPointId, O3_8h); + switch (i) { + case 0: + hour_1.putAll(oneGovMonitorPointOneHourData); break; - case 1:hour_2.putAll(oneGovMonitorPointOneHourData); + case 1: + hour_2.putAll(oneGovMonitorPointOneHourData); break; - case 2:hour_3.putAll(oneGovMonitorPointOneHourData); + case 2: + hour_3.putAll(oneGovMonitorPointOneHourData); break; - case 3:hour_4.putAll(oneGovMonitorPointOneHourData); + case 3: + hour_4.putAll(oneGovMonitorPointOneHourData); break; - case 4:hour_5.putAll(oneGovMonitorPointOneHourData); + case 4: + hour_5.putAll(oneGovMonitorPointOneHourData); break; - case 5:hour_6.putAll(oneGovMonitorPointOneHourData); + case 5: + hour_6.putAll(oneGovMonitorPointOneHourData); break; - case 6:hour_7.putAll(oneGovMonitorPointOneHourData); + case 6: + hour_7.putAll(oneGovMonitorPointOneHourData); break; - case 7:hour_8.putAll(oneGovMonitorPointOneHourData); + case 7: + hour_8.putAll(oneGovMonitorPointOneHourData); break; - case 8:hour_9.putAll(oneGovMonitorPointOneHourData); + case 8: + hour_9.putAll(oneGovMonitorPointOneHourData); break; - case 9:hour_10.putAll(oneGovMonitorPointOneHourData); + case 9: + hour_10.putAll(oneGovMonitorPointOneHourData); break; - case 10:hour_11.putAll(oneGovMonitorPointOneHourData); + case 10: + hour_11.putAll(oneGovMonitorPointOneHourData); break; - case 11:hour_12.putAll(oneGovMonitorPointOneHourData); + case 11: + hour_12.putAll(oneGovMonitorPointOneHourData); break; - case 12:hour_13.putAll(oneGovMonitorPointOneHourData); + case 12: + hour_13.putAll(oneGovMonitorPointOneHourData); break; - case 13:hour_14.putAll(oneGovMonitorPointOneHourData); + case 13: + hour_14.putAll(oneGovMonitorPointOneHourData); break; - case 14:hour_15.putAll(oneGovMonitorPointOneHourData); + case 14: + hour_15.putAll(oneGovMonitorPointOneHourData); break; - case 15:hour_16.putAll(oneGovMonitorPointOneHourData); + case 15: + hour_16.putAll(oneGovMonitorPointOneHourData); break; - case 16:hour_17.putAll(oneGovMonitorPointOneHourData); + case 16: + hour_17.putAll(oneGovMonitorPointOneHourData); break; - case 17:hour_18.putAll(oneGovMonitorPointOneHourData); + case 17: + hour_18.putAll(oneGovMonitorPointOneHourData); break; - case 18:hour_19.putAll(oneGovMonitorPointOneHourData); + case 18: + hour_19.putAll(oneGovMonitorPointOneHourData); break; - case 19:hour_20.putAll(oneGovMonitorPointOneHourData); + case 19: + hour_20.putAll(oneGovMonitorPointOneHourData); break; - case 20:hour_21.putAll(oneGovMonitorPointOneHourData); + case 20: + hour_21.putAll(oneGovMonitorPointOneHourData); break; - case 21:hour_22.putAll(oneGovMonitorPointOneHourData); + case 21: + hour_22.putAll(oneGovMonitorPointOneHourData); break; - case 22:hour_23.putAll(oneGovMonitorPointOneHourData); + case 22: + hour_23.putAll(oneGovMonitorPointOneHourData); break; - case 23:hour_24.putAll(oneGovMonitorPointOneHourData); + case 23: + hour_24.putAll(oneGovMonitorPointOneHourData); break; default: break; @@ -349,62 +380,62 @@ 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 (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 (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 (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 (NO2List_daliy.size() > 0) { + NO2Avg_daliy = (double) Math.round(NO2List_daliy.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - if (COList_daliy.size()>0){ + 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_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()); + 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); + 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); - replaceDataMap.put(1,hour_2); - replaceDataMap.put(2,hour_3); - replaceDataMap.put(3,hour_4); - replaceDataMap.put(4,hour_5); - replaceDataMap.put(5,hour_6); - replaceDataMap.put(6,hour_7); - replaceDataMap.put(7,hour_8); - replaceDataMap.put(8,hour_9); - replaceDataMap.put(9,hour_10); - replaceDataMap.put(10,hour_11); - replaceDataMap.put(11,hour_12); - replaceDataMap.put(12,hour_13); - replaceDataMap.put(13,hour_14); - replaceDataMap.put(14,hour_15); - replaceDataMap.put(15,hour_16); - replaceDataMap.put(16,hour_17); - replaceDataMap.put(17,hour_18); - replaceDataMap.put(18,hour_19); - replaceDataMap.put(19,hour_20); - replaceDataMap.put(20,hour_21); - replaceDataMap.put(21,hour_22); - replaceDataMap.put(22,hour_23); - replaceDataMap.put(23,hour_24); - replaceDataMap.put(24,hour_AVG); - for (int i=0;i<25;i++){ + Map<Integer, Map<String, Object>> replaceDataMap = new HashMap<>(); + replaceDataMap.put(0, hour_1); + replaceDataMap.put(1, hour_2); + replaceDataMap.put(2, hour_3); + replaceDataMap.put(3, hour_4); + replaceDataMap.put(4, hour_5); + replaceDataMap.put(5, hour_6); + replaceDataMap.put(6, hour_7); + replaceDataMap.put(7, hour_8); + replaceDataMap.put(8, hour_9); + replaceDataMap.put(9, hour_10); + replaceDataMap.put(10, hour_11); + replaceDataMap.put(11, hour_12); + replaceDataMap.put(12, hour_13); + replaceDataMap.put(13, hour_14); + replaceDataMap.put(14, hour_15); + replaceDataMap.put(15, hour_16); + replaceDataMap.put(16, hour_17); + replaceDataMap.put(17, hour_18); + replaceDataMap.put(18, hour_19); + replaceDataMap.put(19, hour_20); + replaceDataMap.put(20, hour_21); + replaceDataMap.put(21, hour_22); + replaceDataMap.put(22, hour_23); + replaceDataMap.put(23, hour_24); + replaceDataMap.put(24, hour_AVG); + for (int i = 0; i < 25; i++) { List<Double> PM2_5AllList = new ArrayList<>(); List<Double> PM10AllList = new ArrayList<>(); List<Double> SO2AllList = new ArrayList<>(); @@ -412,38 +443,38 @@ List<Double> COAllList = new ArrayList<>(); List<Double> O3_1hAllList = new ArrayList<>(); List<Double> O3_8hAllList = new ArrayList<>(); - for (String guid:guids) { + for (String guid : guids) { //������������������������ QueryWrapper<GovMonitorPoint> wrapper_govMonitorPoint = new QueryWrapper<>(); - wrapper_govMonitorPoint.eq("is_delete",Constants.NOT_DELETE).eq("guid",guid); + wrapper_govMonitorPoint.eq("is_delete", Constants.NOT_DELETE).eq("guid", guid); GovMonitorPoint govMonitorPoint = govMonitorPointMapper.selectOne(wrapper_govMonitorPoint); - if (ObjectUtils.isEmpty(govMonitorPoint)){ + if (ObjectUtils.isEmpty(govMonitorPoint)) { continue; } int govMonitorPointId = govMonitorPoint.getId(); - Map<String,Object> replaceMap = new HashMap<>(); + Map<String, Object> replaceMap = new HashMap<>(); replaceMap = replaceDataMap.get(i); - if (!ObjectUtils.isEmpty(replaceMap.get("a34004_"+govMonitorPointId))){ - PM2_5AllList.add((double)replaceMap.get("a34004_"+govMonitorPointId)); + if (!ObjectUtils.isEmpty(replaceMap.get("a34004_" + govMonitorPointId))) { + PM2_5AllList.add((double) replaceMap.get("a34004_" + govMonitorPointId)); } - if (!ObjectUtils.isEmpty(replaceMap.get("a34002_"+govMonitorPointId))){ - PM10AllList.add((double)replaceMap.get("a34002_"+govMonitorPointId)); + if (!ObjectUtils.isEmpty(replaceMap.get("a34002_" + govMonitorPointId))) { + PM10AllList.add((double) replaceMap.get("a34002_" + govMonitorPointId)); } - if (!ObjectUtils.isEmpty(replaceMap.get("a21026_"+govMonitorPointId))){ - SO2AllList.add((double)replaceMap.get("a21026_"+govMonitorPointId)); + if (!ObjectUtils.isEmpty(replaceMap.get("a21026_" + govMonitorPointId))) { + SO2AllList.add((double) replaceMap.get("a21026_" + govMonitorPointId)); } - if (!ObjectUtils.isEmpty(replaceMap.get("a21004_"+govMonitorPointId))){ - NO2AllList.add((double)replaceMap.get("a21004_"+govMonitorPointId)); + if (!ObjectUtils.isEmpty(replaceMap.get("a21004_" + govMonitorPointId))) { + NO2AllList.add((double) replaceMap.get("a21004_" + govMonitorPointId)); } - if (!ObjectUtils.isEmpty(replaceMap.get("a21005_"+govMonitorPointId))){ - COAllList.add((double)replaceMap.get("a21005_"+govMonitorPointId)); + if (!ObjectUtils.isEmpty(replaceMap.get("a21005_" + govMonitorPointId))) { + COAllList.add((double) replaceMap.get("a21005_" + govMonitorPointId)); } - if (!ObjectUtils.isEmpty(replaceMap.get("a05024_"+govMonitorPointId))){ - O3_1hAllList.add((double)replaceMap.get("a05024_"+govMonitorPointId)); + if (!ObjectUtils.isEmpty(replaceMap.get("a05024_" + govMonitorPointId))) { + O3_1hAllList.add((double) replaceMap.get("a05024_" + govMonitorPointId)); } - if (!ObjectUtils.isEmpty(replaceMap.get("O3_8h_"+govMonitorPointId))){ - O3_8hAllList.add((double)replaceMap.get("O3_8h_"+govMonitorPointId)); + if (!ObjectUtils.isEmpty(replaceMap.get("O3_8h_" + govMonitorPointId))) { + O3_8hAllList.add((double) replaceMap.get("O3_8h_" + govMonitorPointId)); } } Double PM2_5 = null; @@ -453,155 +484,180 @@ Double CO = null; Double O3_1h = null; Double O3_8h = null; - if (PM2_5AllList.size()>0){ - PM2_5 = (double)Math.round(PM2_5AllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); + if (PM2_5AllList.size() > 0) { + PM2_5 = (double) Math.round(PM2_5AllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - if (PM10AllList.size()>0){ - PM10 = (double)Math.round(PM10AllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); + if (PM10AllList.size() > 0) { + PM10 = (double) Math.round(PM10AllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - if (SO2AllList.size()>0){ - SO2 = (double)Math.round(SO2AllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); + if (SO2AllList.size() > 0) { + SO2 = (double) Math.round(SO2AllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - if (NO2AllList.size()>0){ - NO2 = (double)Math.round(NO2AllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); + if (NO2AllList.size() > 0) { + NO2 = (double) Math.round(NO2AllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - if (COAllList.size()>0){ + if (COAllList.size() > 0) { CO = new BigDecimal(COAllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue(); } - if (O3_1hAllList.size()>0){ - O3_1h = (double)Math.round(O3_1hAllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); + if (O3_1hAllList.size() > 0) { + O3_1h = (double) Math.round(O3_1hAllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - if (O3_8hAllList.size()>0){ - O3_8h = (double)Math.round(O3_8hAllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); + if (O3_8hAllList.size() > 0) { + O3_8h = (double) Math.round(O3_8hAllList.stream().mapToDouble(aDouble -> aDouble).summaryStatistics().getAverage()); } - Map<String,Object> AQIMap = new HashMap<>(); - if (!ObjectUtils.isEmpty(PM2_5)){ - AQIMap.put("a34004",PM2_5); + Map<String, Object> AQIMap = new HashMap<>(); + if (!ObjectUtils.isEmpty(PM2_5)) { + AQIMap.put("a34004", PM2_5); } - if (!ObjectUtils.isEmpty(PM2_5)){ - AQIMap.put("a34002",PM10); + if (!ObjectUtils.isEmpty(PM2_5)) { + AQIMap.put("a34002", PM10); } - if (!ObjectUtils.isEmpty(PM2_5)){ - AQIMap.put("a21026",SO2); + if (!ObjectUtils.isEmpty(PM2_5)) { + AQIMap.put("a21026", SO2); } - if (!ObjectUtils.isEmpty(PM2_5)){ - AQIMap.put("a21004",NO2); + if (!ObjectUtils.isEmpty(PM2_5)) { + AQIMap.put("a21004", NO2); } - if (!ObjectUtils.isEmpty(PM2_5)){ - AQIMap.put("a21005",CO); + if (!ObjectUtils.isEmpty(PM2_5)) { + AQIMap.put("a21005", CO); } - if (!ObjectUtils.isEmpty(PM2_5)){ - AQIMap.put("a05024",O3_1h); + if (!ObjectUtils.isEmpty(PM2_5)) { + AQIMap.put("a05024", O3_1h); } AQI aqi = new AQI(); - if (AQIMap.size()!=0){ + if (AQIMap.size() != 0) { aqi = AQIUtils.hourlyAQI(AQIMap); } - Map<String,Object> avgMap = new HashMap<>(); - avgMap.put("a34004_"+"0",PM2_5); - avgMap.put("a34002_"+"0",PM10); - avgMap.put("a21026_"+"0",SO2); - avgMap.put("a21004_"+"0",NO2); - avgMap.put("a21005_"+"0",CO); - avgMap.put("a05024_"+"0",O3_1h); - avgMap.put("O3_8h_"+"0",O3_8h); - if (!ObjectUtils.isEmpty(aqi.getAQIValue())){ - avgMap.put("aqi",aqi.getAQIValue()); - }else { - avgMap.put("aqi",""); + Map<String, Object> avgMap = new HashMap<>(); + avgMap.put("a34004_" + "0", PM2_5); + avgMap.put("a34002_" + "0", PM10); + avgMap.put("a21026_" + "0", SO2); + avgMap.put("a21004_" + "0", NO2); + avgMap.put("a21005_" + "0", CO); + avgMap.put("a05024_" + "0", O3_1h); + avgMap.put("O3_8h_" + "0", O3_8h); + if (!ObjectUtils.isEmpty(aqi.getAQIValue())) { + avgMap.put("aqi", aqi.getAQIValue()); + } else { + avgMap.put("aqi", ""); } - if (!ObjectUtils.isEmpty(aqi.getPrimaryPollutantNames())){ - if (Integer.parseInt(aqi.getAQIValue().toString())>50){ + 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","-"); + pollutant = pollutant.replace("[", ""); + pollutant = pollutant.replace("]", ""); + avgMap.put("pollutant", pollutant); + } else { + avgMap.put("pollutant", "-"); } - }else { - avgMap.put("aqi",""); + } else { + avgMap.put("aqi", ""); } - switch (i){ - case 0:hour_1.putAll(avgMap); + switch (i) { + case 0: + hour_1.putAll(avgMap); break; - case 1:hour_2.putAll(avgMap); + case 1: + hour_2.putAll(avgMap); break; - case 2:hour_3.putAll(avgMap); + case 2: + hour_3.putAll(avgMap); break; - case 3:hour_4.putAll(avgMap); + case 3: + hour_4.putAll(avgMap); break; - case 4:hour_5.putAll(avgMap); + case 4: + hour_5.putAll(avgMap); break; - case 5:hour_6.putAll(avgMap); + case 5: + hour_6.putAll(avgMap); break; - case 6:hour_7.putAll(avgMap); + case 6: + hour_7.putAll(avgMap); break; - case 7:hour_8.putAll(avgMap); + case 7: + hour_8.putAll(avgMap); break; - case 8:hour_9.putAll(avgMap); + case 8: + hour_9.putAll(avgMap); break; - case 9:hour_10.putAll(avgMap); + case 9: + hour_10.putAll(avgMap); break; - case 10:hour_11.putAll(avgMap); + case 10: + hour_11.putAll(avgMap); break; - case 11:hour_12.putAll(avgMap); + case 11: + hour_12.putAll(avgMap); break; - case 12:hour_13.putAll(avgMap); + case 12: + hour_13.putAll(avgMap); break; - case 13:hour_14.putAll(avgMap); + case 13: + hour_14.putAll(avgMap); break; - case 14:hour_15.putAll(avgMap); + case 14: + hour_15.putAll(avgMap); break; - case 15:hour_16.putAll(avgMap); + case 15: + hour_16.putAll(avgMap); break; - case 16:hour_17.putAll(avgMap); + case 16: + hour_17.putAll(avgMap); break; - case 17:hour_18.putAll(avgMap); + case 17: + hour_18.putAll(avgMap); break; - case 18:hour_19.putAll(avgMap); + case 18: + hour_19.putAll(avgMap); break; - case 19:hour_20.putAll(avgMap); + case 19: + hour_20.putAll(avgMap); break; - case 20:hour_21.putAll(avgMap); + case 20: + hour_21.putAll(avgMap); break; - case 21:hour_22.putAll(avgMap); + case 21: + hour_22.putAll(avgMap); break; - case 22:hour_23.putAll(avgMap); + case 22: + hour_23.putAll(avgMap); break; - case 23:hour_24.putAll(avgMap); + case 23: + hour_24.putAll(avgMap); break; - case 24:hour_AVG.putAll(avgMap); + case 24: + hour_AVG.putAll(avgMap); break; default: break; } } - hour_1.put("time","1���"); - hour_2.put("time","2���"); - hour_3.put("time","3���"); - hour_4.put("time","4���"); - hour_5.put("time","5���"); - hour_6.put("time","6���"); - hour_7.put("time","7���"); - hour_8.put("time","8���"); - hour_9.put("time","9���"); - hour_10.put("time","10���"); - hour_11.put("time","11���"); - hour_12.put("time","12���"); - hour_13.put("time","13���"); - hour_14.put("time","14���"); - hour_15.put("time","15���"); - hour_16.put("time","16���"); - hour_17.put("time","17���"); - hour_18.put("time","18���"); - hour_19.put("time","19���"); - hour_20.put("time","20���"); - hour_21.put("time","21���"); - hour_22.put("time","22���"); - hour_23.put("time","23���"); - hour_24.put("time","0���"); - hour_AVG.put("time","������"); + hour_1.put("time", "1���"); + hour_2.put("time", "2���"); + hour_3.put("time", "3���"); + hour_4.put("time", "4���"); + hour_5.put("time", "5���"); + hour_6.put("time", "6���"); + hour_7.put("time", "7���"); + hour_8.put("time", "8���"); + hour_9.put("time", "9���"); + hour_10.put("time", "10���"); + hour_11.put("time", "11���"); + hour_12.put("time", "12���"); + hour_13.put("time", "13���"); + hour_14.put("time", "14���"); + hour_15.put("time", "15���"); + hour_16.put("time", "16���"); + hour_17.put("time", "17���"); + hour_18.put("time", "18���"); + hour_19.put("time", "19���"); + hour_20.put("time", "20���"); + hour_21.put("time", "21���"); + hour_22.put("time", "22���"); + hour_23.put("time", "23���"); + hour_24.put("time", "0���"); + hour_AVG.put("time", "������"); data.add(hour_1); data.add(hour_2); data.add(hour_3); @@ -627,14 +683,31 @@ data.add(hour_23); data.add(hour_24); data.add(hour_AVG); - resultMap.put("title",date+"������"); - resultMap.put("data",data); + resultMap.put("title", date + "������"); + resultMap.put("data", data); govMonitorPointList.add(govMonitorPoint_avg); - resultMap.put("govMonitorPoint",govMonitorPointList); + resultMap.put("govMonitorPoint", govMonitorPointList); return resultMap; - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } return null; } + + @Override + public List<Map<String, Object>> getGovMonitorPointsByOrganizationId(Integer organizationId) { + //������������id������������������������ + QueryWrapper<MonitorPoint> monitorPointQueryWrapper = new QueryWrapper<>(); + monitorPointQueryWrapper.select("DISTINCT city_code") + .eq("organization_id", organizationId) + .eq("is_delete", Constants.NOT_DELETE); + List<Object> cityCodes = monitorPointService.listObjs(monitorPointQueryWrapper); + + //������cityCodes������������������������ + QueryWrapper<GovMonitorPoint> govMonitorPointQueryWrapper = new QueryWrapper<>(); + govMonitorPointQueryWrapper.select("name", "longitude", "latitude") + .eq("is_delete", Constants.NOT_DELETE) + .in("city_code", cityCodes); + return govMonitorPointMapper.selectMaps(govMonitorPointQueryWrapper); + } } -- Gitblit v1.8.0