From c38942417e15141f9a03d11bb518195ecca44b42 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Sat, 26 Aug 2023 13:39:44 +0800
Subject: [PATCH] fix:小时数据丢失问题修复

---
 screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java    |    5 +-
 screen-api/src/main/java/com/moral/api/controller/SysTestController.java      |   29 ++++++++------
 screen-api/src/main/java/com/moral/api/entity/SysTest.java                    |   28 ++++++++++++++
 screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java |    7 +++
 4 files changed, 53 insertions(+), 16 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java b/screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java
index f796ba8..8c17ad1 100644
--- a/screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java
+++ b/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);
diff --git a/screen-api/src/main/java/com/moral/api/controller/SysTestController.java b/screen-api/src/main/java/com/moral/api/controller/SysTestController.java
index de0360f..b010777 100644
--- a/screen-api/src/main/java/com/moral/api/controller/SysTestController.java
+++ b/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);
diff --git a/screen-api/src/main/java/com/moral/api/entity/SysTest.java b/screen-api/src/main/java/com/moral/api/entity/SysTest.java
index 3f2ee0e..a3c59ca 100644
--- a/screen-api/src/main/java/com/moral/api/entity/SysTest.java
+++ b/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));
+    }
 }
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index 005d4ca..74d4260 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/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);

--
Gitblit v1.8.0