| | |
| | | for (Device device:devices) { |
| | | Date ks = DateUtils.getDate(startTime,"yyyy-MM-dd"); |
| | | Date js = DateUtils.getDateOfDay(DateUtils.getDate(endTime,"yyyy-MM-dd"),1); |
| | | String nameSite = pointMap.get(device.getMonitorPointId()); |
| | | String name = device.getName(); |
| | | Map<String, Object> timeValueMap = new LinkedHashMap<>(); |
| | | Map<String,ArrayList<Double>> listMap = new HashMap<>(); |
| | | int numCount = 0; |
| | | while (DateUtils.isTimeBefor(js,ks)){ |
| | | Map<String, Object> timeValueMap = new LinkedHashMap<>();//key为time,value为数据的json |
| | | timeValueMap.put("监测站点",pointMap.get(device.getMonitorPointId())); |
| | | timeValueMap.put("name",device.getName()); |
| | | timeValueMap = new LinkedHashMap<>();//key为time,value为数据的json |
| | | timeValueMap.put("监测站点",nameSite); |
| | | timeValueMap.put("name",name); |
| | | String c = DateUtils.dateToDateString(ks,"yyyy-MM-dd"); |
| | | timeValueMap.put("日期",c); |
| | | for (String sensor:sensorsList) { |
| | |
| | | if(map.containsKey(k)){ |
| | | Object o = map.get(k).get(sensor); |
| | | num = Objects.nonNull(o)?Double.valueOf(o.toString()):0d; |
| | | if(Objects.nonNull(num)){ |
| | | ArrayList<Double> doubleArrayList = Objects.isNull(listMap.get(numCount+"_"+sensorMap.get(sensor)))?new ArrayList<>():listMap.get(numCount+"_"+sensorMap.get(sensor)); |
| | | doubleArrayList.add(num); |
| | | listMap.put(numCount+"_"+sensorMap.get(sensor),doubleArrayList); |
| | | } |
| | | } |
| | | timeValueMap.put(sensorMap.get(sensor),num); |
| | | } |
| | | resultList.add(timeValueMap); |
| | | ks = DateUtils.getDateOfDay(ks,1); |
| | | } |
| | | timeValueMap = new LinkedHashMap<>(); |
| | | timeValueMap.put("监测站点",nameSite); |
| | | timeValueMap.put("name",name); |
| | | timeValueMap.put("日期","累计值"); |
| | | for(int z = 0 ;z< sensorsList.size();z++){ |
| | | double rsAvg = 0L; |
| | | String son = numCount+"_"+sensorMap.get(sensorsList.get(z)); |
| | | if(listMap.containsKey(numCount+"_"+sensorMap.get(sensorsList.get(z)))){ |
| | | Double ListAvg = listMap.get(numCount+"_"+sensorMap.get(sensorsList.get(z))).stream().collect(Collectors.averagingDouble(Double::doubleValue)); |
| | | rsAvg = new BigDecimal(ListAvg).setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue(); |
| | | } |
| | | timeValueMap.put(sensorMap.get(sensorsList.get(z)),rsAvg); |
| | | } |
| | | resultList.add(timeValueMap); |
| | | numCount++; |
| | | } |
| | | |
| | | }else { |