Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

lipenghui 6 gün önce
ebeveyn
işleme
0a34611bc8

+ 33 - 4
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/iotopeationfill/IotOpeationFillController.java

@@ -1175,10 +1175,25 @@ public class IotOpeationFillController {
         String deviceCode = vo.getDeviceCode();
 
         // 构建时间参数(一次计算,全局复用)
-        LocalDateTime start = LocalDateTime.of(createDate, LocalTime.MIN);
+        /*LocalDateTime start = LocalDateTime.of(createDate, LocalTime.MIN);
         LocalDateTime end = LocalDateTime.of(createDate, LocalTime.MAX);
         Timestamp startTime = Timestamp.valueOf(start);
-        Timestamp endTime = Timestamp.valueOf(end);
+        Timestamp endTime = Timestamp.valueOf(end);*/
+
+        // 定义下午4点的 LocalTime(16:00:00)
+        LocalTime fourPm = LocalTime.of(16, 0, 0);
+
+        // startTime:vo.getCreateTime() 的下午4点(当天16:00:00)
+        LocalDateTime start = LocalDateTime.of(vo.getCreateTime(), fourPm);
+
+
+        // endTime:vo.getCreateTime() 的前一天下午4点(前一天16:00:00)
+        // 步骤:1. 先获取前一天的日期 2. 拼接下午4点的时间
+        LocalDate previousDay = vo.getCreateTime().minusDays(1);
+        LocalDateTime end = LocalDateTime.of(previousDay, fourPm);
+        Timestamp startTime = Timestamp.valueOf(end);
+        Timestamp endTime = Timestamp.valueOf(start);
+
         LocalDateTime midDay = LocalDateTime.of(createDate, LocalTime.of(12, 0));
 
         // 批量收集DeviceVO查询参数
@@ -1489,14 +1504,28 @@ public class IotOpeationFillController {
 
 
 
-            LocalTime localTime = LocalTime.of(0,0,0);
+            /*LocalTime localTime = LocalTime.of(0,0,0);
             LocalTime localTime1 = LocalTime.of(23,59,59);
 
             LocalDateTime start = LocalDateTime.of(vo.getCreateTime(),localTime);
             LocalDateTime end = LocalDateTime.of(vo.getCreateTime(),localTime1);
 
             Timestamp startTime = Timestamp.valueOf(start);
-            Timestamp endTime = Timestamp.valueOf(end);
+            Timestamp endTime = Timestamp.valueOf(end);*/
+
+            // 定义下午4点的 LocalTime(16:00:00)
+            LocalTime fourPm = LocalTime.of(16, 0, 0);
+
+            // startTime:vo.getCreateTime() 的下午4点(当天16:00:00)
+            LocalDateTime start = LocalDateTime.of(vo.getCreateTime(), fourPm);
+
+
+            // endTime:vo.getCreateTime() 的前一天下午4点(前一天16:00:00)
+            // 步骤:1. 先获取前一天的日期 2. 拼接下午4点的时间
+            LocalDate previousDay = vo.getCreateTime().minusDays(1);
+            LocalDateTime end = LocalDateTime.of(previousDay, fourPm);
+            Timestamp startTime = Timestamp.valueOf(end);
+            Timestamp endTime = Timestamp.valueOf(start);
 
 
             List<YfDeviceDO> existList = allDevice.stream().filter(e->e.getStatus()==3).collect(Collectors.toList());