|
@@ -61,18 +61,38 @@
|
|
|
</select>
|
|
|
|
|
|
<select id="listSixMonthElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
|
|
|
- SELECT IFNUll(ROUND(SUM(electricity_value),2),0) 'electricityValue', create_date FROM `energy_electricity`
|
|
|
- WHERE farm_id = #{farmId} and unit_id = #{unitId}
|
|
|
- AND create_date >= DATE_SUB(NOW(), INTERVAL 6 MONTH)
|
|
|
- GROUP BY DATE_FORMAT(create_date,"%Y-%m")
|
|
|
+ SELECT IFNUll(ROUND(SUM(energy_electricity.electricity_value),2),0) 'electricityValue', calendar.month_date AS create_date FROM (
|
|
|
+ SELECT DATE_FORMAT(NOW(), '%Y-%m-01') AS month_date
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m-01')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 MONTH), '%Y-%m-01')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 3 MONTH), '%Y-%m-01')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 4 MONTH), '%Y-%m-01')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 5 MONTH), '%Y-%m-01')
|
|
|
+ ) AS calendar
|
|
|
+ LEFT JOIN `energy_electricity`
|
|
|
+ ON energy_electricity.farm_id = #{farmId} and energy_electricity.unit_id = #{unitId} AND calendar.month_date = DATE_FORMAT(`energy_electricity`.create_date, "%Y-%m-01")
|
|
|
+ GROUP BY calendar.month_date
|
|
|
+ ORDER BY calendar.month_date
|
|
|
</select>
|
|
|
|
|
|
<select id="listSevenDayElectricity" resultType="com.huimv.guowei.admin.entity.EnergyElectricity">
|
|
|
- SELECT IFNULL(ROUND(SUM(electricity_value), 2), 0) AS electricityValue, create_date
|
|
|
- FROM energy_electricity
|
|
|
- WHERE farm_id = #{farmId} and unit_id = #{unitId}
|
|
|
- AND create_date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
|
|
|
- GROUP BY DATE_FORMAT(create_date,"%Y-%m-%d")
|
|
|
+ SELECT IFNULL(ROUND(SUM(energy_electricity.electricity_value), 2), 0) AS 'electricityValue', calendar.date AS create_date
|
|
|
+FROM (
|
|
|
+ SELECT CURDATE() AS date
|
|
|
+ UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY)
|
|
|
+ UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY)
|
|
|
+ UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY)
|
|
|
+ UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY)
|
|
|
+ UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY)
|
|
|
+ UNION ALL SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY)
|
|
|
+) AS calendar
|
|
|
+LEFT JOIN `energy_electricity`
|
|
|
+ ON energy_electricity.farm_id = #{farmId}
|
|
|
+ AND energy_electricity.unit_id = #{unitId}
|
|
|
+ AND DATE(energy_electricity.create_date) = calendar.date
|
|
|
+GROUP BY calendar.date
|
|
|
+ORDER BY calendar.date;
|
|
|
+
|
|
|
</select>
|
|
|
|
|
|
<select id="getLastFlowByUnitId" resultType="java.math.BigDecimal">
|