From 063a25c9cf4e38496cf5395569856b67c80cdc53 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期一, 28 四月 2025 19:11:08 +0800
Subject: [PATCH] 查询最大值

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CumulateHandle.java |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CumulateHandle.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CumulateHandle.java
index 5bd3c39..58625db 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CumulateHandle.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CumulateHandle.java
@@ -79,6 +79,7 @@
         }
         Calendar calendar = Calendar.getInstance();
         calendar.set(Calendar.MILLISECOND, 0);
+        calendar.set(Calendar.SECOND, 0);
         pointMathList.forEach(item -> {
             Object value = CommonConstant.BAD_VALUE;
             if (redisTemplate.hasKey(PointCollector.PV + item.getPointNo())) {
@@ -127,7 +128,7 @@
             return BigDecimal.ZERO;
         } else if (dataList.size() < dto.getLength()) {
             log.info("补全数据,dataList.size()=" + dataList.size());
-            dataList = completionData(dto.getLength(), dataList, startTime, endTime, pointDTO);
+            dataList = completionData(dto.getLength(), dataList, startTime, endTime, momentPoint.getMinfreqid());
         }
         double total = dataList.stream().mapToDouble(ApiPointValueDTO::getV).sum();
         if (listGood != null) {
@@ -136,7 +137,7 @@
         return new BigDecimal(total).divide(new BigDecimal(dto.getDivisor()), 2, BigDecimal.ROUND_HALF_UP);
     }
 
-    private List<ApiPointValueDTO> completionData(int length, List<ApiPointValueDTO> dataList, Date startTime, Date endTime, ApiPointDTO pointDTO) {
+    private List<ApiPointValueDTO> completionData(int length, List<ApiPointValueDTO> dataList, Date startTime, Date endTime, String minfreqid) {
         if (CollectionUtils.isEmpty(dataList) || length == dataList.size()) {
             return dataList;
         } else if (length < dataList.size()) {
@@ -146,7 +147,7 @@
         List<ApiPointValueDTO> result = new ArrayList<>();
         long start = startTime.getTime();
         long end = endTime.getTime();
-        long oneMin = 1000L * DataPointFreqEnum.getEumByCode(pointDTO.getMinfreqid()).getValue();
+        long oneMin = 1000L * DataPointFreqEnum.getEumByCode(minfreqid).getValue();
         long mins = (end - start) / oneMin;
 
         //找出缺少项

--
Gitblit v1.9.3