From 9c685df2670f9536d1adf9dfb1c0e95a7d5f9c53 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 28 三月 2026 14:04:08 +0800
Subject: [PATCH] 关于能耗的统计调整

---
 src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java b/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
index 60bbcd3..ae6b522 100644
--- a/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
+++ b/src/main/java/com/ruoyi/energy/service/impl/EnergyConsumptionDetailServiceImpl.java
@@ -24,6 +24,7 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDate;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -123,7 +124,19 @@
         List<EnergyConsumptionTypeDto> energyConsumptionTypeDtos=energyConsumptionDetailMapper.energyConsumptionTypeProportion(energyStatisticsVo);
         energyStatisticsDto.setEnergyConsumptionTypeProportion(energyConsumptionTypeDtos);
         //鑳借�楁槑缁�
-        List<EnergyCostDto> energyCostDtos=energyConsumptionDetailMapper.energyCostDtos(energyStatisticsVo);
+        List<EnergyCostDto> energyCostDtos=new ArrayList<>();
+        //鍒ゆ柇鏃�/鏈�/骞�
+        switch (energyStatisticsVo.getState()){
+            case "鏃�":
+                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos1(energyStatisticsVo);
+                break;
+            case "鏈�":
+                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos2(energyStatisticsVo);
+                break;
+            case "骞�":
+                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos3(energyStatisticsVo);
+                break;
+        }
         energyStatisticsDto.setEnergyCostDtos(energyCostDtos);
         return energyStatisticsDto;
     }
@@ -143,15 +156,48 @@
         energyStatisticsVo.setType(null);//鎭㈠鏌ヨ鍏ㄩ儴
         //骞冲潎鎴愭湰
         energyAccountDto.setAverageEnergyCost(energyAccountDto.getTotalEnergyCost().divide(new BigDecimal(energyStatisticsVo.getDays()),2, RoundingMode.HALF_UP));
-        //鑳借�楁垚鏈秼鍔�
-        List<EnergyAccountTypeDto> energyAccountTypeDtos=energyConsumptionDetailMapper.energyAccountTypeDtos(energyStatisticsVo);
-        energyAccountDto.setEnergyAccountTypeDtos(energyAccountTypeDtos);
         //鑳借�楃被鍨嬫垚鏈崰姣�
         List<EnergyConsumptionTypeDto> energyConsumptionTypeDtos=energyConsumptionDetailMapper.energyConsumptionTypeProportion(energyStatisticsVo);
         energyAccountDto.setEnergyConsumptionTypeProportion(energyConsumptionTypeDtos);
         //鑳借�楃被鍨嬫槑缁�
-        List<EnergyConsumptionDetailDto> energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos(energyStatisticsVo);
+        List<EnergyConsumptionDetailDto> energyConsumptionDetailDtoList = new ArrayList<>();
+        //鍒ゆ柇鏃�/鏈�/骞�
+        switch (energyStatisticsVo.getState()){
+            case "鏃�":
+                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos1(energyStatisticsVo);
+                break;
+            case "鏈�":
+                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos2(energyStatisticsVo);
+                break;
+            case "骞�":
+                energyConsumptionDetailDtoList=energyConsumptionDetailMapper.energyConsumptionDetailDtos3(energyStatisticsVo);
+                break;
+        }
         energyAccountDto.setEnergyConsumptionDetailDtoList(energyConsumptionDetailDtoList);
         return energyAccountDto;
     }
+
+    @Override
+    public EnergyCollectDto collectEnergy(EnergyStatisticsVo energyStatisticsVo) {
+        EnergyCollectDto energyCollectDto = new EnergyCollectDto();
+        //鑳借�楀崟鑰楁暟鎹�
+        List<EnergyConsumptionTypeDto> energyConsumptionTypeDtos=energyConsumptionDetailMapper.energyConsumptionTypeProportion(energyStatisticsVo);
+        energyCollectDto.setEnergyConsumptionTypeProportion(energyConsumptionTypeDtos);
+        //鑳借�楀崟鑰楄秼鍔�
+        List<EnergyCostDto> energyCostDtos=new ArrayList<>();
+        //鍒ゆ柇鏃�/鏈�/骞�
+        switch (energyStatisticsVo.getState()){
+            case "鏃�":
+                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos1(energyStatisticsVo);
+                break;
+            case "鏈�":
+                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos2(energyStatisticsVo);
+                break;
+            case "骞�":
+                energyCostDtos=energyConsumptionDetailMapper.energyCostDtos3(energyStatisticsVo);
+                break;
+        }
+        energyCollectDto.setEnergyCostDtos(energyCostDtos);
+        return energyCollectDto;
+    }
 }

--
Gitblit v1.9.3