cjl
2023-08-26 c38942417e15141f9a03d11bb518195ecca44b42
fix:小时数据丢失问题修复
4 files modified
69 ■■■■ changed files
screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java 7 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/SysTestController.java 29 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/entity/SysTest.java 28 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java
@@ -107,10 +107,15 @@
        if (!params.containsKey("monitorPointIds")) {
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        String[] monitorPointIds = params.remove("monitorPointIds").toString().split(",");
        String monitorPoint = params.remove("monitorPointIds").toString();
        /*if(monitorPoint.contains("")){
        }*/
        String[] monitorPointIds = monitorPoint.split(",");
        if (monitorPointIds.length > 3) {
            return ResultMessage.ok();
        }
        params.put("monitorPointIds", monitorPointIds);
        List<Object> response = historyFiveMinutelyService.getAreaWindData(params);
        return ResultMessage.ok(response);
screen-api/src/main/java/com/moral/api/controller/SysTestController.java
@@ -56,18 +56,21 @@
    @GetMapping("resultWord")
    public void adresultWordd(HttpServletResponse response,String time,String endTime) {
       // for(int i = 495;i<1095;i++){
            List<SysTest> listAll = sysTestService.listAll(time,endTime,null);
            if(CollectionUtils.isEmpty(listAll)){
                return;
            }
          /*  Date endTime =listAll.get(0).getTime();
            String endTimeStr = DateUtils.dateToDateString(endTime,DateUtils.yyyyMMdd_EN);
        String ks = "2023-06-22";
        endTime = "2023-08-06";
        Date ksDate = DateUtils.convertDate(ks);
        List<SysTest> listAll = sysTestService.listAll(ks,endTime,null);
        if(CollectionUtils.isEmpty(listAll)){
            return;
        }
        for(SysTest s : listAll){
            Date endTimes =s.getTime();
            String endTimeStr = DateUtils.dateToDateString(endTimes,DateUtils.yyyyMMdd_EN);
            String  fileName = "空气质量日报.docx";
            Map<String,Object> map = resultMap(listAll);
            downloadWord(fileName, map, response,"空气质量日报"+endTimeStr+".docx");*/
          //  time = DateUtils.dateToDateString(DateUtils.addDays(endTime,1),DateUtils.yyyy_MM_dd_EN);
     //   }
            downloadWord(fileName, map, response,"空气质量日报"+endTimeStr+".docx");
            //time = DateUtils.dateToDateString(DateUtils.addDays(endTime,1),DateUtils.yyyy_MM_dd_EN);
        }
    }
    @GetMapping("excelM")
@@ -136,9 +139,9 @@
    @GetMapping("resultWordMonth")
    public void resultWordMonth(HttpServletResponse response) {
        String ks = "2020-06-01";
        String ks = "2023-07-01";
        Date ksDate = DateUtils.convertDate(ks);
        for(int i = 0;i<37;i++){
        for(int i = 0;i<1;i++){
            Date jsDate =  DateUtils.getLastDayOfCurrMonth(ksDate);;
            String time = DateUtils.dateToDateString(ksDate,DateUtils.yyyy_MM_dd_EN);
            String endTime = DateUtils.dateToDateString(jsDate,DateUtils.yyyy_MM_dd_EN);
@@ -161,7 +164,7 @@
        String path = getPath(fileName);//我这放 resources包下
        try {
            //获取模板文档
            OutputStream out = new FileOutputStream("E:\\home\\mon\\" + newFileName);
            OutputStream out = new FileOutputStream("E:\\home\\mon1\\" + newFileName);
            File rootFile = new File(ResourceUtils.getURL("classpath:").getPath());
            File file= new File(rootFile, path);
            XWPFDocument word = WordExportUtil.exportWord07(file.getPath(), params);
screen-api/src/main/java/com/moral/api/entity/SysTest.java
@@ -8,6 +8,7 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.StringUtils;
/**
 * <p>
@@ -52,4 +53,31 @@
    @TableField(exist = false)
    private String mon;
    public String getPm25() {
        return StringUtils.isEmpty(pm25)?"0":String.valueOf(Double.parseDouble(pm25));
    }
    public String getPm10() {
        return StringUtils.isEmpty(pm10)?"0":String.valueOf(Double.parseDouble(pm10));
    }
    public String getSo2() {
        return StringUtils.isEmpty(so2)?"0":String.valueOf(Double.parseDouble(so2));
    }
    public String getNo2() {
        return StringUtils.isEmpty(no2)?"0":String.valueOf(Double.parseDouble(no2));
    }
    public String getCo() {
        return StringUtils.isEmpty(co)?"0":String.valueOf(Double.parseDouble(co));
    }
    public String getO3() {
        return StringUtils.isEmpty(o3)?"0":String.valueOf(Double.parseDouble(o3));
    }
    public String getVoc() {
        return StringUtils.isEmpty(voc)?"0":String.valueOf(Double.parseDouble(voc));
    }
}
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -205,6 +205,7 @@
        QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("mac", "name").in("mac", macs);
        queryWrapper.orderByAsc("dev_num","name","id");
        List<Device> devices = deviceMapper.selectList(queryWrapper);
        Map<String,Object> devicesInfo = new HashMap<>();
        for (Device device:devices) {
@@ -246,8 +247,8 @@
                for (HistoryHourly historyHourly:distinctHistoryHourlies) {
                    Map<String,Object> historyHourlyMap = new HashMap<>();
                    historyHourlyMap.put("mac",mac);
                    JSONObject value = JSONObject.parseObject(historyHourly.getValue());
                    Double sensorValue = Double.parseDouble(value.get(sensorCode).toString());
                    JSONObject  value= JSONObject.parseObject(historyHourly.getValue());
                    Double sensorValue = Objects.nonNull(value)&&Objects.nonNull(value.get(sensorCode))?Double.parseDouble(value.get(sensorCode).toString()):0d;
                    historyHourlyMap.put(sensorCode,sensorValue);
                    Date time = historyHourly.getTime();
                    String timeStr = DateUtils.dateToDateString(time, DateUtils.yyyy_MM_dd_HH_EN);