From 01af882b9316d23dbb079f529a264a4996ff2f6c Mon Sep 17 00:00:00 2001 From: zhitan-cloud <394600+ustcyc@user.noreply.gitee.com> Date: 星期四, 13 二月 2025 18:41:13 +0800 Subject: [PATCH] !74 成本趋势分析:月和年没有数据。 Merge pull request !74 from 潘晓明/pxm_from_develop1.0 --- zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) diff --git a/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java index 5819d02..bb3a01f 100644 --- a/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java @@ -126,14 +126,15 @@ CostTrendEnergyTypeItem item) { BigDecimal costValue = BigDecimal.ZERO; BigDecimal accumulationValue = BigDecimal.ZERO; + //鐢碉細鍙湁HOUR鏁版嵁鏈夋晥锛涘叾浠栬兘婧愮被鍨嬶細HOUR銆丏AY鏈夋暟鎹� switch (sysEnergyInfo.getEnersno()) { case "electric": - List<ElectricityDataItem> electricityDataItems = peakValleyMapper.getDataStatistics(nodeIndices.stream().map(NodeIndex::getIndexId).collect(Collectors.toSet()), bsTime, endTime, timeType); + List<ElectricityDataItem> electricityDataItems = peakValleyMapper.getDataStatistics(nodeIndices.stream().map(NodeIndex::getIndexId).collect(Collectors.toSet()), bsTime, endTime, TimeTypeConst.TIME_TYPE_HOUR); costValue = electricityDataItems.stream().map(ElectricityDataItem::getCost).reduce(BigDecimal.ZERO, BigDecimal::add); accumulationValue = electricityDataItems.stream().map(ElectricityDataItem::getElectricity).reduce(BigDecimal.ZERO, BigDecimal::add); break; default: - accumulationValue = dataItemMapper.getDataItemTimeRangeValueByNodeId(bsTime, endTime, timeType, nodeId, sysEnergyInfo.getEnersno()); + accumulationValue = dataItemMapper.getDataItemTimeRangeValueByNodeId(bsTime, endTime, TimeTypeConst.TIME_TYPE_DAY, nodeId, sysEnergyInfo.getEnersno()); costValue = accumulationValue.multiply(sysEnergyInfo.getPrice()); break; } @@ -175,13 +176,15 @@ // 鑳借�椾俊鎭� List<EnergyConsumeTrendDetailItem> itemList = new ArrayList<>(); - List<EnergyConsumeVO> energyConsumeVOList = new ArrayList<>(); Date startTime = DateTimeUtil.getTime(timeType, timeCode); Date endTime = DateTimeUtil.getEndTimeByType(timeType, startTime); + //鐢碉細鍙湁HOUR鏁版嵁鏈夋晥锛涘叾浠栬兘婧愮被鍨嬶細HOUR銆丏AY鏈夋暟鎹� + String queryTimeType = TimeTypeConst.TIME_TYPE_HOUR; for (SysEnergy sysEnergyInfo : sysEnergies) { + List<EnergyConsumeVO> energyConsumeVOList = new ArrayList<>(); switch (sysEnergyInfo.getEnersno()) { case "electric": - List<ElectricityDataItem> electricityDataItems = peakValleyMapper.getCostTrends(startTime, endTime, timeType, nodeId, sysEnergyInfo.getEnersno()); + List<ElectricityDataItem> electricityDataItems = peakValleyMapper.getCostTrends(startTime, endTime, queryTimeType, nodeId, sysEnergyInfo.getEnersno()); if (!electricityDataItems.isEmpty()) { electricityDataItems.forEach(electricityDataItem -> { EnergyConsumeVO temp = new EnergyConsumeVO(); @@ -193,7 +196,10 @@ } break; default: - List<CarbonEmission> dataItems = dataItemMapper.getMiddleCarbonEmission(startTime, endTime, timeType, nodeId, sysEnergyInfo.getEnersno()); + if (timeType.equals(TimeTypeConst.TIME_TYPE_MONTH) || timeType.equals(TimeTypeConst.TIME_TYPE_YEAR)) { + queryTimeType = TimeTypeConst.TIME_TYPE_DAY; + } + List<CarbonEmission> dataItems = dataItemMapper.getMiddleCarbonEmission(startTime, endTime, queryTimeType, nodeId, sysEnergyInfo.getEnersno()); if (!dataItems.isEmpty()) { dataItems.forEach(electricityDataItem -> { EnergyConsumeVO temp = new EnergyConsumeVO(); @@ -263,7 +269,7 @@ } break; case TimeTypeConst.TIME_TYPE_YEAR: - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM"); + SimpleDateFormat formatter = new SimpleDateFormat(DateTimeUtil.COMMON_PATTERN_TO_MONTH_ZH); energyConsumeVOMap = dataItems.stream().collect(Collectors.groupingBy(li -> formatter.format(li.getDataTime()))); for (int i = 0; i < CommonConst.DIGIT_12; i++) { Date newDate = DateUtil.offsetMonth(bsTime, i); @@ -285,6 +291,7 @@ /** * 璁$畻璐圭敤鍜岀敤閲� + * * @param energyConsumeVOMap * @param formatDate * @param costValueList -- Gitblit v1.9.3