From 73d5bf7122a33d2915cce1deb444743844dfbd37 Mon Sep 17 00:00:00 2001
From: dongyukun <1208714201@qq.com>
Date: 星期一, 05 五月 2025 20:03:47 +0800
Subject: [PATCH] 峰谷平占比计算

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPeakValleyFlatTask.java |   38 ++++++++++++++++++++------------------
 1 files changed, 20 insertions(+), 18 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 fb1a9d7..ea3f8d8 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
@@ -65,26 +65,28 @@
                 dto.setValue(value/totalValue*100);
                 dataPointApi.writePointRealValue(dto);
 
-                //计算前三十日累积量
-                double value30 = 0;
-                for (int i = 1; i < 31; i++) {
+                if(entry.getValue().get(0).getPointNoMonth()!=null){
                     //计算前三十日累积量
-                    value30 = value30 + getSumValue(entry.getValue(), i, calendar);
+                    double value30 = 0;
+                    for (int i = 1; i < 31; i++) {
+                        //计算前三十日累积量
+                        value30 = value30 + getSumValue(entry.getValue(), i, calendar);
+                    }
+
+                    //计算前三十日总电耗
+                    calendar.set(Calendar.MILLISECOND, 0);
+                    calendar.set(Calendar.MINUTE, 0);
+                    calendar.set(Calendar.HOUR_OF_DAY, 0);
+                    calendar.add(Calendar.DAY_OF_YEAR, -30);
+                    Date startTimeMonth = calendar.getTime();
+                    double totalValueMonth = getSumValueTotal(entry.getValue().get(0).getPowerNo(), startTimeMonth,endTime);
+
+                    //下发前三十日占比
+                    ApiPointValueWriteDTO monthDto = new ApiPointValueWriteDTO();
+                    monthDto.setPointNo(entry.getValue().get(0).getPointNoMonth());
+                    monthDto.setValue(value30/totalValueMonth*100);
+                    dataPointApi.writePointRealValue(monthDto);
                 }
-
-                //计算前三十日总电耗
-                calendar.set(Calendar.MILLISECOND, 0);
-                calendar.set(Calendar.MINUTE, 0);
-                calendar.set(Calendar.HOUR_OF_DAY, 0);
-                calendar.add(Calendar.DAY_OF_YEAR, -30);
-                Date startTimeMonth = calendar.getTime();
-                double totalValueMonth = getSumValueTotal(entry.getValue().get(0).getPowerNo(), startTimeMonth,endTime);
-
-                //下发前三十日占比
-                ApiPointValueWriteDTO monthDto = new ApiPointValueWriteDTO();
-                monthDto.setPointNo(entry.getValue().get(0).getPointNoMonth());
-                monthDto.setValue(value30/totalValueMonth*100);
-                dataPointApi.writePointRealValue(monthDto);
             });
         } catch (Exception ex) {
             logger.error("runPeakValleyFlatTask运行异常");

--
Gitblit v1.9.3