| | |
| | | left join energy e on ecd.energy_id = e.id |
| | | left join sys_user su on ecd.create_user = su.user_id) A |
| | | <where> |
| | | <if test="c.energyTyep != null and c.energyTyep != ''"> |
| | | <if test="c.type != null and c.type != ''"> |
| | | and type =#{c.type} |
| | | </if> |
| | | <if test="c.energyTyep != null and c.energyTyep != ''"> |
| | | and energy_tyep like concat('%',#{c.energyTyep},'%') |
| | | </if> |
| | | </if> |
| | | <if test="c.energyName != null and c.energyName != ''"> |
| | | and energy_name like concat('%',#{c.energyName},'%') |
| | | </if> |
| | | </if> |
| | | <if test="c.meterReadingDate != null and c.meterReadingDate != ''"> |
| | | and meter_reading_date =#{c.meterReadingDate} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <select id="calculateEnergy" resultType="java.util.Map"> |
| | | 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> |
| | | </where> |
| | | </select> |
| | | <select id="energyConsumptionTypeProportion" |
| | | resultType="com.ruoyi.energy.dto.EnergyConsumptionTypeDto"> |
| | | select e.energy_tyep, |
| | | SUM(ecd.dosage) energyConsumption, |
| | | SUM(ecd.dosage * e.unit_price) energyCost |
| | | 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> |
| | | group by e.energy_tyep |
| | | </select> |
| | | <select id="energyCostDtos" resultType="com.ruoyi.energy.dto.EnergyCostDto"> |
| | | select A.meter_reading_date, |
| | | A.waterConsumption, |
| | | A.waterCost, |
| | | B.electricityConsumption, |
| | | B.electricityCost, |
| | | C.gasConsumption, |
| | | C.gasCost, |
| | | sum(A.waterConsumption+B.electricityConsumption+C.gasConsumption) totalConsumption, |
| | | sum(A.waterCost+B.electricityCost+C.gasCost) totalCost |
| | | from |
| | | (select ecd.meter_reading_date, |
| | | sum(ecd.dosage) waterConsumption, |
| | | sum(ecd.dosage * e1.unit_price) waterCost |
| | | from energy_consumption_detail ecd |
| | | left join energy e1 on ecd.energy_id = e1.id |
| | | where ecd.meter_reading_date between #{c.startDate} and #{c.endDate} |
| | | and e1.energy_tyep='水' |
| | | <if test="c.type != null and c.type != ''"> |
| | | and ecd.type =#{c.type} |
| | | </if> |
| | | group by ecd.meter_reading_date)A |
| | | join |
| | | (select ecd.meter_reading_date, |
| | | sum(ecd.dosage) electricityConsumption, |
| | | sum(ecd.dosage * e2.unit_price) electricityCost |
| | | from energy_consumption_detail ecd |
| | | left join energy e2 on ecd.energy_id = e2.id |
| | | where ecd.meter_reading_date between #{c.startDate} and #{c.endDate} |
| | | and e2.energy_tyep='电' |
| | | <if test="c.type != null and c.type != ''"> |
| | | and ecd.type =#{c.type} |
| | | </if> |
| | | group by ecd.meter_reading_date)B |
| | | on A.meter_reading_date=B.meter_reading_date |
| | | join |
| | | (select ecd.meter_reading_date, |
| | | sum(ecd.dosage) gasConsumption, |
| | | sum(ecd.dosage * e3.unit_price) gasCost |
| | | from energy_consumption_detail ecd |
| | | left join energy e3 on ecd.energy_id = e3.id |
| | | where ecd.meter_reading_date between #{c.startDate} and #{c.endDate} |
| | | and e3.energy_tyep='气' |
| | | <if test="c.type != null and c.type != ''"> |
| | | and ecd.type =#{c.type} |
| | | </if> |
| | | group by ecd.meter_reading_date)C |
| | | on A.meter_reading_date=C.meter_reading_date |
| | | |
| | | </select> |
| | | |
| | | </mapper> |