ソースを参照

数据导出BUG修改

wukai 1 年間 前
コミット
b24708de06

+ 17 - 6
ruoyi-admin/src/main/java/com/ruoyi/biz/controller/ApiController.java

@@ -10,6 +10,7 @@ import com.ruoyi.biz.service.impl.IotTokenServiceImpl;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -28,6 +29,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.URLEncoder;
+import java.text.ParseException;
 import java.time.LocalDate;
 import java.time.ZoneOffset;
 import java.util.*;
@@ -212,15 +214,24 @@ public class ApiController extends BaseController {
     @ApiOperation("设备具体数据")
     @GetMapping("/export")
     @CrossOrigin(origins = "*")
-    public void export(Date start, Date end, HttpServletResponse response) {
-        if (start == null) {
+    public void export(String start, String end, HttpServletResponse response) {
+        Date startD = null;
+        Date endD = null;
+        if (StringUtils.isNotEmpty(start) && StringUtils.isNotEmpty(end)) {
+            try {
+                startD = DateUtils.parseDate(start + " 00:00:00", DateUtils.YYYY_MM_DD_HH_MM_SS);
+                endD = DateUtils.parseDate(end + " 23:59:59", DateUtils.YYYY_MM_DD_HH_MM_SS);
+            } catch (ParseException ignored) {
+            }
+        }
+        if (startD == null) {
             LocalDate localDate = LocalDate.now().minusDays(7);
-            start = Date.from(localDate.atStartOfDay(ZoneOffset.of("+8")).toInstant());
+            startD = Date.from(localDate.atStartOfDay(ZoneOffset.of("+8")).toInstant());
         }
-        List<TwinCalc2hr> list = calc2hrService.calc2hrList(start, end);
+        List<TwinCalc2hr> list = calc2hrService.calc2hrList(startD, endD);
         Map<String, Object> queryMap = new HashMap<>(16);
-        queryMap.put("start", start);
-        queryMap.put("end", end);
+        queryMap.put("start", startD);
+        queryMap.put("end", endD);
         TwinRecordAlarms recordAlarms = new TwinRecordAlarms();
         recordAlarms.setAlarmType("stop");
         recordAlarms.setParams(queryMap);

+ 4 - 2
ruoyi-admin/src/main/resources/mapper/biz/TwinCalc2hrMapper.xml

@@ -273,8 +273,10 @@
         SUM(STOP2_B) STOP2_B,
         SUM(STOP3_B) STOP3_B
         FROM TWIN_CALC_2HR
-        WHERE DATA_DATE >= #{start}
-        <if test="end != null ">and DATA_DATE &lt;= #{end}</if>
+        <where>
+            DATA_DATE >= #{start}
+            <if test="end != null ">and DATA_DATE &lt;= #{end}</if>
+        </where>
         GROUP BY DATA_DATE,DEVICE_ID
         ) B WHERE A.ID=B.DEVICE_ID ORDER BY DEVICE_ID,DATA_DATE
     </select>

+ 2 - 2
ruoyi-admin/src/test/java/com/jjt/DataPF.java

@@ -66,8 +66,8 @@ public class DataPF {
 //        taskService.calc("2024-05-19");
 //        taskService.calc("2024-05-20");
 //        taskService.calc("2024-05-21",12);
-        for (int i = 1; i <= 5; i++) {
-            taskService.calc("2024-05-23", i);
+        for (int i = 6; i <= 8; i++) {
+            taskService.calc("2024-05-24", i);
         }
 //        taskService.calcLastPeriod();
 //        String table = "root.tl.suxi.knittings97_plc1";