From 7d45b1aa345be565648f9ae01cd200631eb008a2 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 18 三月 2026 13:30:53 +0800
Subject: [PATCH] 生产计划的下发状态逻辑调整+能耗统计查询sql优化

---
 src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml b/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
index 4307123..50f4e2f 100644
--- a/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
+++ b/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
@@ -41,14 +41,17 @@
          </where>
     </select>
     <select id="calculateEnergy" resultType="java.util.Map">
-        select SUM(COALESCE(ecd.dosage,0)) totalEnergyConsumption,
-               SUM(COALESCE(ecd.dosage,0) * COALESCE(e.unit_price,0)) totalEnergyCost
+        select  COALESCE(t.totalEnergyConsumption, 0) AS totalEnergyConsumption,
+                COALESCE(t.totalEnergyCost, 0) AS totalEnergyCost
+        from (select SUM(ecd.dosage) totalEnergyConsumption,
+               SUM(ecd.dosage * e.unit_price) totalEnergyCost
             from energy_consumption_detail ecd
             left join  energy e on ecd.energy_id = e.id
             where ecd.meter_reading_date between #{c.startDate} and #{c.endDate}
             <if test="c.type != null and c.type != ''">
                 and ecd.type =#{c.type}
             </if>
+        )t
     </select>
     <select id="energyConsumptionTypeProportion"
             resultType="com.ruoyi.energy.dto.EnergyConsumptionTypeDto">

--
Gitblit v1.9.3