From 53f1ab4cc2183551f90ea7f8881c162373f507e0 Mon Sep 17 00:00:00 2001
From: 潘晓明 <hahagongzi2006@163.com>
Date: 星期四, 13 二月 2025 18:40:02 +0800
Subject: [PATCH] 成本趋势分析:月和年没有数据。

---
 zhitan-system/src/main/java/com/zhitan/statisticalAnalysis/service/impl/EnergyConsumeDataServiceImpl.java |   23 +++++++++--------------
 1 files changed, 9 insertions(+), 14 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 ca612f9..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,21 +176,12 @@
 
         // 鑳借�椾俊鎭�
         List<EnergyConsumeTrendDetailItem> itemList = new ArrayList<>();
-        List<EnergyConsumeVO> energyConsumeVOList = new ArrayList<>();
         Date startTime = DateTimeUtil.getTime(timeType, timeCode);
         Date endTime = DateTimeUtil.getEndTimeByType(timeType, startTime);
-        //缁熻鏁版嵁涓湀鍜屽勾娌℃湁鏁版嵁
-        String queryTimeType = timeType;
-        switch (timeType) {
-            case TimeTypeConst.TIME_TYPE_DAY:
-                queryTimeType = TimeTypeConst.TIME_TYPE_HOUR;
-                break;
-            case TimeTypeConst.TIME_TYPE_MONTH:
-            case TimeTypeConst.TIME_TYPE_YEAR:
-                queryTimeType = TimeTypeConst.TIME_TYPE_DAY;
-                break;
-        }
+        //鐢碉細鍙湁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, queryTimeType, nodeId, sysEnergyInfo.getEnersno());
@@ -204,6 +196,9 @@
                     }
                     break;
                 default:
+                    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 -> {

--
Gitblit v1.9.3