From 30c97bcdd1eb27375f899e4251e1ef606d692a5e Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期二, 06 五月 2025 09:41:19 +0800 Subject: [PATCH] 峰谷平占比计算 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPeakValleyFlatTask.java | 22 ++++++++++++---------- 1 files changed, 12 insertions(+), 10 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 9d158eb..994a431 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 @@ -51,12 +51,13 @@ double value = getSumValue(entry.getValue(), 1, calendar); //计算昨日总电耗 - calendar.set(Calendar.MILLISECOND, 0); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.HOUR_OF_DAY, 0); + Calendar cal = (Calendar) calendar.clone(); + cal.set(Calendar.MILLISECOND, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.HOUR_OF_DAY, 0); Date endTime = calendar.getTime(); - calendar.add(Calendar.DAY_OF_YEAR, -1); - Date startTime = calendar.getTime(); + cal.add(Calendar.DAY_OF_YEAR, -1); + Date startTime = cal.getTime(); double totalValue = getSumValueTotal(entry.getValue().get(0).getPowerNo(), startTime,endTime); //下发昨日占比 @@ -97,16 +98,17 @@ } private Date getTime(String timeStr, int ago, Calendar calendar) { + Calendar cal = (Calendar) calendar.clone(); String[] timeSplit = timeStr.split(":"); if (timeSplit.length != 2) { throw new IllegalArgumentException("时间配置格式不合法"); } //根据配置获取startTime、endTime - calendar.set(Calendar.MILLISECOND, 0); - calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(timeSplit[0])); - calendar.set(Calendar.MINUTE, Integer.parseInt(timeSplit[1])); - calendar.add(Calendar.DAY_OF_YEAR, -ago); - return calendar.getTime(); + cal.set(Calendar.MILLISECOND, 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); + return cal.getTime(); } private List<ApiPointValueDTO> fillMissingData(List<ApiPointValueDTO> valueList, -- Gitblit v1.9.3