| | |
| | | int time1 = Integer.parseInt(mapList1.get(j).get("time").toString()) ; |
| | | if (time==time1){ |
| | | Double O3_8h = Double.parseDouble(mapList1.get(j).get("O3_8h").toString()); |
| | | dataAvbByMIdAndTime.get(i).put("O3_8h",new BigDecimal(O3_8h).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | dataAvbByMIdAndTime.get(i).put("O3_8h",new BigDecimal(O3_8h).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | Map<String, Object> dailyAvgData = historyMapper.getDailyAvgData(mId, startTime); |
| | | if (dailyAvgData!=null){ |
| | | dailyAvgData.put("maxO3_8h",new BigDecimal(maxO3).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | dailyAvgData.put("maxO3_8h",new BigDecimal(maxO3).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | } |
| | | List<Map<String,Object>> finalList = new ArrayList<>(); |
| | | for (int i = 0; i <dataAvbByMIdAndTime.size() ; i++) { |
| | |
| | | Map<String,Object> timeAndDate = new HashMap(); |
| | | String time = startTime.substring(0,11); |
| | | timeAndDate.put("time",time); |
| | | if (dailyAvgData==null){ |
| | | if (dailyAvgData!=null){ |
| | | //List<Map<String, Object>> dailyData = historyHourlyMapper.getDataAvbByMIdAndT; |
| | | timeAndDate.put("data",""); |
| | | }else { |
| | | timeAndDate.put("data",dailyAvgData); |
| | | }else { |
| | | timeAndDate.put("data",""); |
| | | } |
| | | |
| | | finalList.add(timeAndDate); |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("maxO3",maxO3); |
| | |
| | | int time1 = Integer.parseInt(mapList1.get(j).get("time").toString()) ; |
| | | if (time==time1){ |
| | | Double O3_8h = Double.parseDouble(mapList1.get(j).get("O3_8h").toString()); |
| | | dataByMonitorPoints.get(i).put("O3_8h",new BigDecimal(O3_8h).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | dataByMonitorPoints.get(i).put("O3_8h",new BigDecimal(O3_8h).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | } |
| | | } |
| | | } |
| | |
| | | Map<String, Object> dailyAvgData = historyMapper.getDailyAvgDataByMIds(mIds, startTime); |
| | | if (dailyAvgData!=null){ |
| | | Map<String,Object> timeAndDate = new HashMap(); |
| | | dailyAvgData.put("maxO3_8h",new BigDecimal(maxO3).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | dailyAvgData.put("maxO3_8h",new BigDecimal(maxO3).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | timeAndDate.put("data",dailyAvgData); |
| | | timeAndDate.put("time",startTime.substring(0,11)); |
| | | finalList.add(timeAndDate); |
| | | }else { |
| | | Map<String, Object> avgDataByMIds = historyHourlyMapper.getAvgDataByMIds(mIds, startTime, endTime); |
| | | Map<String,Object> timeAndDate = new HashMap(); |
| | | avgDataByMIds.put("maxO3_8h",new BigDecimal(maxO3).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | if (avgDataByMIds == null){ |
| | | avgDataByMIds = new HashMap<>(); |
| | | avgDataByMIds.put("PM2_5",""); |
| | | avgDataByMIds.put("NO2",""); |
| | | avgDataByMIds.put("primary_pollutants","-"); |
| | | avgDataByMIds.put("SO2",""); |
| | | avgDataByMIds.put("O3",""); |
| | | avgDataByMIds.put("PM10",""); |
| | | avgDataByMIds.put("O3_8h",""); |
| | | avgDataByMIds.put("CO",""); |
| | | avgDataByMIds.put("AQI",""); |
| | | }else { |
| | | avgDataByMIds.put("maxO3_8h",maxO3); |
| | | } |
| | | |
| | | timeAndDate.put("data",avgDataByMIds); |
| | | timeAndDate.put("time",startTime.substring(0,11)); |
| | | finalList.add(timeAndDate); |
| | |
| | | for (int i=0;i<finalList.size();i++) { |
| | | if (i!=finalList.size()-1){ |
| | | Map<String, Object> map1 = AQICalculation2.hourlyAQI((Map<String, Object>) finalList.get(i).get("data")); |
| | | if (Double.parseDouble(map1.get("AQI").toString())>=50.0){ |
| | | if (Double.parseDouble(map1.get("AQI").toString())>50.0){ |
| | | ((Map<String, Object>) finalList.get(i).get("data")).put("primary_pollutants",map1.get("maxSensor")); |
| | | ((Map<String, Object>) finalList.get(i).get("data")).put("AQI",map1.get("AQI")); |
| | | }else { |
| | |
| | | } |
| | | }else { |
| | | Map<String, Object> map1 = AQICalculation2.dayAQI((Map<String, Object>) finalList.get(i).get("data")); |
| | | if (map1.get("AQI").toString().equals("")){ |
| | | break; |
| | | } |
| | | if (Double.parseDouble(map1.get("AQI").toString())>=50.0){ |
| | | ((Map<String, Object>) finalList.get(i).get("data")).put("primary_pollutants",map1.get("maxSensor")); |
| | | ((Map<String, Object>) finalList.get(i).get("data")).put("AQI",map1.get("AQI")); |
| | |
| | | Map<String,Object> timeAndDate = new HashMap(); |
| | | String time = startTime.substring(0,11); |
| | | timeAndDate.put("time",time); |
| | | if (dailyAvgData==null){ |
| | | timeAndDate.put("data",""); |
| | | }else { |
| | | if (dailyAvgData!=null){ |
| | | timeAndDate.put("data",dailyAvgData); |
| | | }else { |
| | | Map map = new HashMap<>(); |
| | | Map map1 = new HashMap(); |
| | | map1.put("PM2_5",""); |
| | | map1.put("NO2",""); |
| | | map1.put("primary_pollutants","-"); |
| | | map1.put("SO2",""); |
| | | map1.put("O3",""); |
| | | map1.put("PM10",""); |
| | | map1.put("O3_8h",""); |
| | | map1.put("CO",""); |
| | | map1.put("AQI",""); |
| | | map.put("data",map1); |
| | | timeAndDate.put("data",map); |
| | | } |
| | | List timeList = new ArrayList(); |
| | | for (int q = 0; q < finalList.size(); q++) { |
| | | timeList.add(finalList.get(q).get("time")); |
| | | } |
| | | if (finalList.size()<25){ |
| | | for (int j = 1; j < 25; j++) { |
| | | Map<String,Object> map = null; |
| | | for (int q = 0; q < finalList.size(); q++) { |
| | | if (finalList.get(q).get("time").toString().length() > 2){ |
| | | continue; |
| | | }else { |
| | | String sj=""; |
| | | if (j<10){ |
| | | sj="0"+j; |
| | | }else { |
| | | if (j==24){ |
| | | sj="00"; |
| | | }else { |
| | | sj=""+j; |
| | | } |
| | | } |
| | | if (!timeList.contains(sj)){ |
| | | map = new HashMap<>(); |
| | | Map map1 = new HashMap(); |
| | | map1.put("PM2_5",""); |
| | | map1.put("NO2",""); |
| | | map1.put("primary_pollutants",""); |
| | | map1.put("SO2",""); |
| | | map1.put("O3",""); |
| | | map1.put("PM10",""); |
| | | map1.put("O3_8h",""); |
| | | map1.put("CO",""); |
| | | map1.put("AQI",""); |
| | | map.put("time",sj); |
| | | map.put("data",map1); |
| | | finalList.add(map); |
| | | break; |
| | | }else { |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | for (int j = 0; j <finalList.size() ; j++) { |
| | | if (finalList.get(j).get("time").toString().length()>2){ |
| | | Map map2 = finalList.get(j); |
| | | finalList.remove(j); |
| | | finalList.add(map2); |
| | | } |
| | | } |
| | | return finalList; |
| | | } |