From 75f043dfa6660716364e66ee0b3cf99f44255686 Mon Sep 17 00:00:00 2001 From: DYL0109 <dn18191638832@163.com> Date: 星期三, 16 四月 2025 19:20:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop1.0' into dyl_dev --- zhitan-system/src/main/java/com/zhitan/peakvalley/service/impl/PeakValleyServiceImpl.java | 96 ++++++++++++++--------------------------------- 1 files changed, 29 insertions(+), 67 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..1ce7f2c 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 @@ -5,9 +5,8 @@ import com.zhitan.common.enums.ElectricityTypeEnum; import com.zhitan.common.enums.TimeType; import com.zhitan.common.utils.DateUtils; -import com.zhitan.costmanagement.domain.vo.CostPriceRelevancyVo; import com.zhitan.costmanagement.mapper.CostPriceRelevancyMapper; -import com.zhitan.model.domain.vo.ModelNodeIndexInfor; +import com.zhitan.model.domain.vo.ModelNodeIndexInfo; import com.zhitan.model.mapper.ModelNodeMapper; import com.zhitan.peakvalley.domain.ElectricityDataItem; import com.zhitan.peakvalley.domain.dto.ElectricityDataItemListDTO; @@ -56,9 +55,9 @@ Map<String, List<ElectricityDataItem>> electricityDataMap = new HashMap<>(); // 鏌ヨ鐐逛綅淇℃伅 - List<ModelNodeIndexInfor> nodeIndexInfoList = modelNodeMapper.selectIndexByModelCodeAndNodeId(dto.getModelCode(), dto.getNodeId()); + List<ModelNodeIndexInfo> nodeIndexInfoList = modelNodeMapper.selectIndexByModelCodeAndNodeId(dto.getModelCode(), dto.getNodeId()); if (CollectionUtils.isNotEmpty(nodeIndexInfoList)) { - Set<String> indexSet = nodeIndexInfoList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toSet()); + Set<String> indexSet = nodeIndexInfoList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toSet()); List<ElectricityDataItem> dataItemList = electricityDataItemMapper.getDataStatistics(indexSet, startTime, endTime, timeType); electricityDataMap = dataItemList.stream() @@ -131,17 +130,26 @@ Map<String, List<ElectricityDataItem>> electricityDataMap = new HashMap<>(); // 鏌ヨ鐐逛綅淇℃伅 - List<ModelNodeIndexInfor> nodeIndexInfoList = modelNodeMapper.selectIndexByModelCodeAndNodeId(dto.getModelCode(), dto.getNodeId()); + List<ModelNodeIndexInfo> 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); + Set<String> indexSet = nodeIndexInfoList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toSet()); + // 鏍规嵁灏忔椂鏁版嵁璁$畻澶╃殑鏁版嵁 + 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 +165,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); @@ -329,9 +311,9 @@ Map<String, List<ElectricityDataItem>> electricityDataMap = new HashMap<>(); // 鏌ヨ鐐逛綅淇℃伅 - List<ModelNodeIndexInfor> nodeIndexInfoList = modelNodeMapper.selectIndexByModelCodeAndNodeId(dto.getModelCode(), dto.getNodeId()); + List<ModelNodeIndexInfo> nodeIndexInfoList = modelNodeMapper.selectIndexByModelCodeAndNodeId(dto.getModelCode(), dto.getNodeId()); if (CollectionUtils.isNotEmpty(nodeIndexInfoList)) { - Set<String> indexSet = nodeIndexInfoList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toSet()); + Set<String> indexSet = nodeIndexInfoList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toSet()); List<ElectricityDataItem> dataItemList = electricityDataItemMapper.getDataStatistics(indexSet, startTime, endTime, timeType); electricityDataMap = dataItemList.stream() @@ -355,39 +337,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); @@ -461,9 +423,9 @@ Map<String, List<ElectricityDataItem>> electricityDataMap = new HashMap<>(); // 鏌ヨ鐐逛綅淇℃伅 - List<ModelNodeIndexInfor> nodeIndexInfoList = modelNodeMapper.selectIndexByModelCodeAndNodeId(dto.getModelCode(), dto.getNodeId()); + List<ModelNodeIndexInfo> nodeIndexInfoList = modelNodeMapper.selectIndexByModelCodeAndNodeId(dto.getModelCode(), dto.getNodeId()); if (CollectionUtils.isNotEmpty(nodeIndexInfoList)) { - Set<String> indexSet = nodeIndexInfoList.stream().map(ModelNodeIndexInfor::getIndexId).collect(Collectors.toSet()); + Set<String> indexSet = nodeIndexInfoList.stream().map(ModelNodeIndexInfo::getIndexId).collect(Collectors.toSet()); List<ElectricityDataItem> dataItemList = electricityDataItemMapper.getDataStatistics(indexSet, startTime, endTime, timeType); electricityDataMap = dataItemList.stream() -- Gitblit v1.9.3