From 54a2a28953b310ba421f0765a55bd2d650645443 Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期二, 06 五月 2025 17:04:34 +0800 Subject: [PATCH] 峰谷平占比计算 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunPeakValleyFlatTask.java | 29 +++++++++++++++-------------- 1 files changed, 15 insertions(+), 14 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 91e7370..57adf04 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 @@ -46,11 +46,6 @@ .collect(Collectors.groupingBy(PeakValleyFlatEntity::getPointNo)); groupedByPointNo.entrySet().stream().forEach(entry -> { - - //计算昨日的峰/谷累积量 - double value = getSumValue(entry.getValue(), 1, calendar); - - //计算昨日总电耗 Calendar cal = (Calendar) calendar.clone(); cal.set(Calendar.MILLISECOND, 0); cal.set(Calendar.SECOND, 0); @@ -61,7 +56,20 @@ Date startTime = cal.getTime(); cal.add(Calendar.DAY_OF_YEAR, -29); Date monthStartTime = cal.getTime(); + + //计算昨日的峰/谷累积量 + double value = getSumValue(entry.getValue(), 1, calendar); + + //计算昨日总电耗 double totalValue = getSumValueTotal(entry.getValue().get(0).getPowerNo(), startTime, endTime); + + //计算前三十日峰/谷累积量 + double valueMonth = getSumValueTotal(entry.getValue().get(0).getPointNoTotal(), monthStartTime, startTime)+value; + + //计算前三十日总电耗 + double totalValueMonth = getSumValueTotal(entry.getValue().get(0).getPowerNo(), monthStartTime, endTime); + + logger.info("name:"+entry.getValue().get(0).getName()+";value:"+value+";totalValue:"+totalValue+";valueMonth:"+valueMonth+";totalValueMonth:"+totalValueMonth); //下发昨日占比 ApiPointValueWriteDTO percentDto = new ApiPointValueWriteDTO(); @@ -72,22 +80,15 @@ //下发昨日峰/谷累积量 ApiPointValueWriteDTO totalDto = new ApiPointValueWriteDTO(); - percentDto.setPointNo(entry.getValue().get(0).getPointNoTotal()); - percentDto.setValue(totalValue); + totalDto.setPointNo(entry.getValue().get(0).getPointNoTotal()); + totalDto.setValue(totalValue); dataPointApi.writePointRealValue(totalDto); - - //计算前三十日峰/谷累积量 - double valueMonth = getSumValueTotal(entry.getValue().get(0).getPointNoTotal(), monthStartTime, startTime)+totalValue; - - //计算前三十日总电耗 - double totalValueMonth = getSumValueTotal(entry.getValue().get(0).getPowerNo(), monthStartTime, endTime); //下发前三十日占比 ApiPointValueWriteDTO monthDto = new ApiPointValueWriteDTO(); 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) { -- Gitblit v1.9.3