From 06d3d15a5a08637041cc601101c063b11b07a346 Mon Sep 17 00:00:00 2001 From: net <net@netdeMBP.lan> Date: 星期五, 14 二月 2025 17:25:21 +0800 Subject: [PATCH] 合并理去杀杀人 --- zhitan-system/src/main/java/com/zhitan/peakvalley/service/impl/PeakValleyServiceImpl.java | 77 ++++++++++---------------------------- 1 files changed, 20 insertions(+), 57 deletions(-) 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