From 8c7333f578a4b51283a1f519cd58fa57019a5825 Mon Sep 17 00:00:00 2001
From: dongyukun <1208714201@qq.com>
Date: 星期二, 06 五月 2025 16:39:15 +0800
Subject: [PATCH] 峰谷平占比计算

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPeakValleyFlatTask.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPeakValleyFlatTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPeakValleyFlatTask.java
index 3b571f1..91e7370 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPeakValleyFlatTask.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPeakValleyFlatTask.java
@@ -53,6 +53,7 @@
                 //计算昨日总电耗
                 Calendar cal = (Calendar) calendar.clone();
                 cal.set(Calendar.MILLISECOND, 0);
+                cal.set(Calendar.SECOND, 0);
                 cal.set(Calendar.MINUTE, 0);
                 cal.set(Calendar.HOUR_OF_DAY, 0);
                 Date endTime = calendar.getTime();
@@ -72,11 +73,11 @@
                 //下发昨日峰/谷累积量
                 ApiPointValueWriteDTO totalDto = new ApiPointValueWriteDTO();
                 percentDto.setPointNo(entry.getValue().get(0).getPointNoTotal());
-                percentDto.setValue(value);
+                percentDto.setValue(totalValue);
                 dataPointApi.writePointRealValue(totalDto);
 
                 //计算前三十日峰/谷累积量
-                double valueMonth = getSumValueTotal(entry.getValue().get(0).getPointNoTotal(), monthStartTime, endTime);
+                double valueMonth = getSumValueTotal(entry.getValue().get(0).getPointNoTotal(), monthStartTime, startTime)+totalValue;
 
                 //计算前三十日总电耗
                 double totalValueMonth = getSumValueTotal(entry.getValue().get(0).getPowerNo(), monthStartTime, endTime);
@@ -86,8 +87,8 @@
                 monthDto.setPointNo(entry.getValue().get(0).getPointNoMonth());
                 double percentMonth = totalValueMonth == 0 ? 0 : valueMonth / totalValueMonth * 100;
                 monthDto.setValue(percentMonth);
+                logger.info("name:"+entry.getValue().get(0).getName()+";value:"+value+";valueMonth:"+valueMonth+";totalValueMonth:"+totalValueMonth);
                 dataPointApi.writePointRealValue(monthDto);
-
             });
         } catch (Exception ex) {
             logger.error("runPeakValleyFlatTask运行异常", ex);
@@ -102,6 +103,7 @@
         }
         //根据配置获取startTime、endTime
         cal.set(Calendar.MILLISECOND, 0);
+        cal.set(Calendar.SECOND, 0);
         cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(timeSplit[0]));
         cal.set(Calendar.MINUTE, Integer.parseInt(timeSplit[1]));
         cal.add(Calendar.DAY_OF_YEAR, -ago);
@@ -171,9 +173,13 @@
             dto.setStart(startTime);
             dto.setEnd(endTime);
             logger.info("开始查询,测点:" + entity.getPowerNo() + "startTime:" + startTime + "endTime:" + endTime);
-
+            List<ApiPointValueDTO> valueList;
             //查找数据
-            List<ApiPointValueDTO> valueList = dataPointApi.queryPointHistoryValue(dto);
+            try {
+                valueList = dataPointApi.queryPointHistoryValue(dto);
+            } catch (Exception e) {
+                throw new RuntimeException("查询测点异常");
+            }
             //补全数据
             valueList = fillMissingData(valueList, startTime, endTime);
             //累加

--
Gitblit v1.9.3