From 9dc78ba7334a21043a7b8a5b7b6bc3190a1febcb Mon Sep 17 00:00:00 2001 From: VVT789 <sdxt_0802@163.com> Date: 星期二, 11 二月 2025 12:53:06 +0800 Subject: [PATCH] 尖峰平谷时段统计、尖峰平谷分时统计修改 --- 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