From 0dcc14943b6dcaecf56597ed149e61da997be8e5 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 20 三月 2026 09:29:54 +0800
Subject: [PATCH] fix: BOM的单位产出需要数量精度修改、返回单位取消产品表绑定

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

diff --git a/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml b/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
index 32f2f40..cbbbd18 100644
--- a/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
+++ b/src/main/resources/mapper/energy/EnergyConsumptionDetailMapper.xml
@@ -41,7 +41,9 @@
          </where>
     </select>
     <select id="calculateEnergy" resultType="java.util.Map">
-        select SUM(ecd.dosage) totalEnergyConsumption,
+        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
@@ -49,6 +51,7 @@
             <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">
@@ -115,5 +118,24 @@
         on z.meter_reading_date=C.meter_reading_date
     order by z.meter_reading_date
     </select>
+    <select id="energyConsumptionDetailDtos"
+            resultType="com.ruoyi.energy.dto.EnergyConsumptionDetailDto">
+        select ecd.meter_reading_date,
+               e.energy_tyep,
+               ecd.type,
+               e.unit,
+               e.unit_price,
+               sum(ecd.dosage) dosage,
+               sum(ecd.dosage * e.unit_price) cost
+            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}
+            group by ecd.meter_reading_date,
+                     e.energy_tyep,
+                     ecd.type,
+                     e.unit,
+                     e.unit_price
+        order by ecd.meter_reading_date
+    </select>
 
 </mapper>

--
Gitblit v1.9.3