From 5f163c41615c7adb5ad8434a07409809d684a38f Mon Sep 17 00:00:00 2001
From: letsgocoding <sdxt_0802@163.com>
Date: 星期二, 11 二月 2025 12:55:25 +0800
Subject: [PATCH] !58 尖峰平谷时段统计、尖峰平谷分时统计修改 Merge pull request !58 from letsgocoding/wt_from_develop1.0
---
zhitan-system/src/main/java/com/zhitan/peakvalley/service/impl/PeakValleyServiceImpl.java | 77 ++++++++++----------------------------
zhitan-admin/src/main/java/com/zhitan/web/controller/peakvalley/PeakValleyController.java | 2 -
zhitan-system/src/main/java/com/zhitan/peakvalley/service/IPeakValleyService.java | 5 ++
3 files changed, 25 insertions(+), 59 deletions(-)
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/peakvalley/PeakValleyController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/peakvalley/PeakValleyController.java
index 211ddee..bd07910 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/peakvalley/PeakValleyController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/peakvalley/PeakValleyController.java
@@ -60,8 +60,6 @@
@ApiOperation(value = "鑾峰彇灏栧嘲骞宠胺鍒嗘椂缁熻")
public AjaxResult segmentAnalysisDay(PeakValleyDTO dto) {
return AjaxResult.success(rulesService.segmentAnalysisDay(dto));
-// return AjaxResult.success(rulesService.segmentAnalysisDayCustomize(dto));
}
-
}
diff --git a/zhitan-system/src/main/java/com/zhitan/peakvalley/service/IPeakValleyService.java b/zhitan-system/src/main/java/com/zhitan/peakvalley/service/IPeakValleyService.java
index 7dca861..13c86d5 100644
--- a/zhitan-system/src/main/java/com/zhitan/peakvalley/service/IPeakValleyService.java
+++ b/zhitan-system/src/main/java/com/zhitan/peakvalley/service/IPeakValleyService.java
@@ -41,6 +41,11 @@
*/
PeakValleyHourVO segmentAnalysisHour(PeakValleyDTO dto);
+ /**
+ * 灏栧嘲骞宠胺鍒嗘椂缁熻瀵煎嚭
+ * @param dto
+ * @return
+ */
List<PeakValleyHourDataVO> segmentAnalysisHourExport(PeakValleyDTO dto);
PeakValleyDayVO segmentAnalysisDayCustomize(PeakValleyDTO dto);
diff --git a/zhitan-system/src/main/java/com/zhitan/peakvalley/service/impl/PeakValleyServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/peakvalley/service/impl/PeakValleyServiceImpl.java
index 051b89b..4753201 100644
--- a/zhitan-system/src/main/java/com/zhitan/peakvalley/service/impl/PeakValleyServiceImpl.java
+++ b/zhitan-system/src/main/java/com/zhitan/peakvalley/service/impl/PeakValleyServiceImpl.java
@@ -134,14 +134,23 @@
List<ModelNodeIndexInfor> nodeIndexInfoList = modelNodeMapper.selectIndexByModelCodeAndNodeId(dto.getModelCode(), dto.getNodeId());
if (CollectionUtils.isNotEmpty(nodeIndexInfoList)) {
Set<String> indexSet = nodeIndexInfoList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toSet());
- List<ElectricityDataItem> dataItemList = electricityDataItemMapper.getDataStatistics(indexSet, startTime, endTime, timeType);
+ // 鏍规嵁灏忔椂鏁版嵁璁$畻澶╃殑鏁版嵁
+ List<ElectricityDataItem> dataItemList = electricityDataItemMapper.getDataStatistics(indexSet, startTime, endTime, TimeType.HOUR.name());
electricityDataMap = dataItemList.stream()
.collect(Collectors.groupingBy(li -> DateUtil.formatDateTime(li.getDataTime())));
}
while (!startTime.after(endTime)) {
- String mapKey = DateUtil.formatDateTime(startTime);
- List<ElectricityDataItem> dataItemList = electricityDataMap.get(mapKey);
+
+ Date nextTime = DateUtil.offsetDay(startTime, 1);
+ List<ElectricityDataItem> dataItemList = new ArrayList<>();
+ for (Map.Entry<String, List<ElectricityDataItem>> entry : electricityDataMap.entrySet()) {
+ String key = entry.getKey();
+ if ((DateUtils.parseDate(key).after(startTime) || DateUtils.parseDate(key).equals(startTime)) && DateUtils.parseDate(key).before(nextTime)) {
+ List<ElectricityDataItem> list = entry.getValue();
+ dataItemList.addAll(list);
+ }
+ }
BigDecimal sharpFee = BigDecimal.ZERO;
BigDecimal sharpPower = BigDecimal.ZERO;
@@ -157,45 +166,19 @@
String electricityType = electricityDataItem.getElectricityType();
if (ElectricityTypeEnum.SHARP.name().equals(electricityType)) {
-// sharpFee = sharpFee.add(electricityDataItem.getCost());
-
+ sharpFee = sharpFee.add(electricityDataItem.getCost());
sharpPower = sharpPower.add(electricityDataItem.getElectricity());
} else if (ElectricityTypeEnum.PEAK.name().equals(electricityType)) {
-// peakFee = peakFee.add(electricityDataItem.getCost());
+ peakFee = peakFee.add(electricityDataItem.getCost());
peakPower = peakPower.add(electricityDataItem.getElectricity());
} else if (ElectricityTypeEnum.FLAT.name().equals(electricityType)) {
-// flatFee = flatFee.add(electricityDataItem.getCost());
+ flatFee = flatFee.add(electricityDataItem.getCost());
flatPower = flatPower.add(electricityDataItem.getElectricity());
} else {
-// valleyFee = valleyFee.add(electricityDataItem.getCost());
+ valleyFee = valleyFee.add(electricityDataItem.getCost());
valleyPower = valleyPower.add(electricityDataItem.getElectricity());
}
}
- //2024-11-12鏂板
- CostPriceRelevancyVo voS = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(),ElectricityTypeEnum.SHARP.name());
- if(voS!=null){
- sharpFee = voS.getPrice().multiply(sharpPower);
- }
- CostPriceRelevancyVo voP = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(),ElectricityTypeEnum.PEAK.name());
- if(voP!=null){
- peakFee = voP.getPrice().multiply(peakPower);
- }
- CostPriceRelevancyVo voF = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(),ElectricityTypeEnum.FLAT.name());
- if(voF!=null){
- flatFee = voF.getPrice().multiply(flatPower);
- }
- CostPriceRelevancyVo voV = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(), ElectricityTypeEnum.VALLEY.name());
- if(voV!=null){
- valleyFee = voV.getPrice().multiply(valleyPower);
- }
-// CostPriceRelevancyVo voD = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(), ElectricityTypeEnum.DEEP.name());
-// if(voV!=null){
-// DeepFee = voV.getPrice().multiply(valleyPower);
-// }
-
-
-
-
}
PeakValleyDayDataVO peakAndValleyReportVO = new PeakValleyDayDataVO(startTime, sharpFee, sharpPower,
peakFee, peakPower, flatFee, flatPower, valleyFee, valleyPower);
@@ -355,39 +338,19 @@
String electricityType = electricityDataItem.getElectricityType();
if (ElectricityTypeEnum.SHARP.name().equals(electricityType)) {
-// sharpFee = sharpFee.add(electricityDataItem.getCost());
+ sharpFee = sharpFee.add(electricityDataItem.getCost());
sharpPower = sharpPower.add(electricityDataItem.getElectricity());
} else if (ElectricityTypeEnum.PEAK.name().equals(electricityType)) {
-// peakFee = peakFee.add(electricityDataItem.getCost());
+ peakFee = peakFee.add(electricityDataItem.getCost());
peakPower = peakPower.add(electricityDataItem.getElectricity());
} else if (ElectricityTypeEnum.FLAT.name().equals(electricityType)) {
-// flatFee = flatFee.add(electricityDataItem.getCost());
+ flatFee = flatFee.add(electricityDataItem.getCost());
flatPower = flatPower.add(electricityDataItem.getElectricity());
} else {
-// valleyFee = valleyFee.add(electricityDataItem.getCost());
+ valleyFee = valleyFee.add(electricityDataItem.getCost());
valleyPower = valleyPower.add(electricityDataItem.getElectricity());
}
}
- //2024-11-12鏂板
- CostPriceRelevancyVo voS = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(),ElectricityTypeEnum.SHARP.name());
- if(voS!=null){
- sharpFee = voS.getPrice().multiply(sharpPower);
- }
- CostPriceRelevancyVo voP = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(),ElectricityTypeEnum.PEAK.name());
- if(voP!=null){
- peakFee = voP.getPrice().multiply(peakPower);
- }
- CostPriceRelevancyVo voF = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(),ElectricityTypeEnum.FLAT.name());
- if(voF!=null){
- flatFee = voF.getPrice().multiply(flatPower);
- }
- CostPriceRelevancyVo voV = costPriceRelevancyMapper.selectCostPriceRelevancyByNodeId(dto.getNodeId(), ElectricityTypeEnum.VALLEY.name());
- if(voV!=null){
- valleyFee = voV.getPrice().multiply(valleyPower);
- }
-
-
-
}
PeakValleyHourDataVO peakAndValleyReportVO = new PeakValleyHourDataVO(startTime, sharpFee, sharpPower,
peakFee, peakPower, flatFee, flatPower, valleyFee, valleyPower);
--
Gitblit v1.9.3