From 5d36e1f987ef21e44ded2e8a1d06c28094ec1e76 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期六, 19 四月 2025 12:39:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- zhitan-system/src/main/java/com/zhitan/peakvalley/service/impl/PeakValleyServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 38 insertions(+), 20 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 e607910..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,7 +5,8 @@ import com.zhitan.common.enums.ElectricityTypeEnum; import com.zhitan.common.enums.TimeType; import com.zhitan.common.utils.DateUtils; -import com.zhitan.model.domain.vo.ModelNodeIndexInfor; +import com.zhitan.costmanagement.mapper.CostPriceRelevancyMapper; +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; @@ -35,7 +36,8 @@ private ModelNodeMapper modelNodeMapper; @Resource private PeakValleyMapper electricityDataItemMapper; - + @Resource + CostPriceRelevancyMapper costPriceRelevancyMapper; /** * 鏌ヨ缁熻鏁版嵁 @@ -53,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() @@ -128,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; @@ -199,11 +210,11 @@ AtomicReference<BigDecimal> tipCount = new AtomicReference<>(BigDecimal.ZERO); AtomicReference<BigDecimal> troughCount = new AtomicReference<>(BigDecimal.ZERO); AtomicReference<BigDecimal> peakCount = new AtomicReference<>(BigDecimal.ZERO); - + reportVOList.stream().forEach(r->{ PeakValleyLineChatVO costVO = new PeakValleyLineChatVO(); PeakValleyLineChatVO powerConsumptionVO = new PeakValleyLineChatVO(); - + /** * 鐢ㄧ數閲� */ @@ -243,7 +254,7 @@ peakFreeCount.set(peakFreeCount.get().add(r.getPeakFee())); }); - peakValleyDayTotalVO.setPeakPowerCost(peakFreeCount.get().doubleValue()); + peakValleyDayTotalVO.setPeakPowerCost(peakFreeCount.get().doubleValue()); peakValleyDayTotalVO.setPeakPowerConsumption(peakCount.get().doubleValue()); peakValleyDayTotalVO.setFlatPowerCost(flatFreeCount.get().doubleValue()); peakValleyDayTotalVO.setFlatPowerConsumption(flatCount.get().doubleValue()); @@ -277,13 +288,15 @@ peakValleyDayTotalVO.setTipPowerCostProportion(0); peakValleyDayTotalVO.setTroughPowerCostProportion(0); } - - peakValleyDayTotalVO.setTotalCost(powerTotal.doubleValue()); - peakValleyDayTotalVO.setTotalPowerConsumption(freeTotal.doubleValue()); + +// peakValleyDayTotalVO.setTotalCost(powerTotal.doubleValue()); +// peakValleyDayTotalVO.setTotalPowerConsumption(freeTotal.doubleValue()); + peakValleyDayTotalVO.setTotalCost(freeTotal.doubleValue()); + peakValleyDayTotalVO.setTotalPowerConsumption(powerTotal.doubleValue()); peakValleyVO.setTotalVO(peakValleyDayTotalVO); peakValleyVO.setCostList(costList); peakValleyVO.setPowerConsumptionList(powerConsumptionList); - + return peakValleyVO; } @@ -298,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() @@ -410,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() @@ -472,4 +485,9 @@ return reportVOList; } + + @Override + public PeakValleyDayVO segmentAnalysisDayCustomize(PeakValleyDTO dto) { + return null; + } } -- Gitblit v1.9.3