cjl
2023-07-07 621c0260c04a2293e1a19c69efd0bcee48a36314
ci:导出格式提交
2 files modified
33 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java 31 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/util/CacheUtils.java 2 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
@@ -378,10 +378,15 @@
            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) {
@@ -390,12 +395,32 @@
                        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 {
screen-manage/src/main/java/com/moral/api/util/CacheUtils.java
@@ -89,7 +89,9 @@
        Map<String, SysDictData> unitMap = sysDictDataService.getDictDatasByType("unit");
        //查询对应的单位名称以及转换公式
        Map<String,Device> result = new HashMap<>();
        int i = 0;
        for (Device device : devices) {
            System.out.println(">>>>>>>>>>>:"+(i++));
            Version version = device.getVersion();
            List<Sensor> sensors = version.getSensors();
            for (Sensor sensor : sensors) {