Prechádzať zdrojové kódy

修改启停查询时间

lingpeng.li 5 mesiacov pred
rodič
commit
424f6cc9f7

+ 13 - 32
zgztBus/jeecg-module-lesm/src/main/java/org/jeecg/modules/deviceLesm/service/impl/DeviceInformationServiceImpl.java

@@ -19,7 +19,6 @@ import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -54,31 +53,6 @@ public class DeviceInformationServiceImpl extends ServiceImpl<DeviceInformationM
         result.setDeviceInformationList(deviceInformationList);
         List<String> deviceInformationIds = deviceInformationList.stream().map(DeviceInformation::getId).collect(Collectors.toList());
 
-        // 获取当前日期 尖峰平谷 时长、用电、占比
-        LocalDate currentDate = LocalDate.now();
-        // 定义日期格式
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        // 将当前日期格式化为字符串
-        String formattedDate = currentDate.format(formatter);
-        String  queryDateParam = "";
-        if (oConvertUtils.isEmpty(dates)){
-            queryDateParam = formattedDate;
-        }else {
-            queryDateParam = dates;
-        }
-
-        // 将 dates 转为 LocalDate
-        LocalDate queryDate = LocalDate.parse(queryDateParam, formatter);
-
-        // 转换 dates 为 LocalDateTime 的开始时间(00:00:00)和结束时间(23:59:59)
-        LocalDateTime startOfDay = queryDate.atStartOfDay(); // 00:00:00
-        LocalDateTime endOfDay = queryDate.atTime(23, 59, 59); // 23:59:59
-
-        // 将 LocalDateTime 转换为对应的字符串,格式为 "yyyy-MM-dd HH:mm:ss"
-        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        String startOfDayStr = startOfDay.format(dateTimeFormatter);
-        String endOfDayStr = endOfDay.format(dateTimeFormatter);
-
         Query querylr = new Query();
         querylr.addCriteria(Criteria.where("deviceInformationId").in(deviceInformationIds));
         // 执行查询
@@ -93,18 +67,25 @@ public class DeviceInformationServiceImpl extends ServiceImpl<DeviceInformationM
         Query query = new Query();
         query.addCriteria(Criteria.where("deviceRegionId").is(deviceRegionId))// 设备区域ID
                 .addCriteria(Criteria.where("deviceInformationId").in(deviceInformationIds));// 虚拟设备
-
-        // 使用 $lte 和 $gte 操作符进行日期范围比较
-        query.addCriteria(Criteria.where("deviceStartTime").lte(endOfDayStr)) // deviceStartTime <= dates + 23:59:59
-                .addCriteria(Criteria.where("deviceStopTime").gte(startOfDayStr)); // deviceStopTime >= dates + 00:00:00 // deviceStopTime
-        query.with(Sort.by(Sort.Order.asc("deviceStartTime")));
+        query.with(Sort.by(Sort.Order.desc("deviceStartTime")));
         // 获取上次运行时间、运行累计时间、运行累计功率
         List<StatiscsModelDataResult> statiscsModelDataResultList1 = mongoTemplate.find(query, StatiscsModelDataResult.class, "total_startstop");
         if (oConvertUtils.listIsEmpty(statiscsModelDataResultList1)){
             log.info("{}{}", "未查询到mongoDB信息total_startstop:", "区域ID:" + deviceRegionId + "设备ID集合:" + deviceInformationIds);
             return result;
         }
-
+        // 获取当前日期 尖峰平谷 时长、用电、占比
+        LocalDate currentDate = LocalDate.now();
+        // 定义日期格式
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        // 将当前日期格式化为字符串
+        String formattedDate = currentDate.format(formatter);
+        String  queryDateParam = "";
+        if (oConvertUtils.isEmpty(dates)){
+            queryDateParam = formattedDate;
+        }else {
+            queryDateParam = dates;
+        }
         Query querys = new Query();
         querys.addCriteria(Criteria.where("deviceRegionId").is(deviceRegionId))// 设备区域ID
                 .addCriteria(Criteria.where("deviceInformationId").in(deviceInformationIds))// 虚拟设备