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