gongchunyi
11 小时以前 7ea8883ca6b47ec014a32ed57c3bea64544e893e
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">
@@ -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>