|
@@ -188,4 +188,125 @@ SELECT
|
|
|
CONVERT(IFNULL(SUM(CASE WHEN create_date BETWEEN #{monthStart} AND #{monthEnd} THEN electricity_value ELSE 0 END), '0'), DECIMAL(10, 2)) AS electricityValueLastMonthUsage
|
|
|
FROM `energy_data` WHERE unit_id = ${unitId} AND farm_id =${farmId}
|
|
|
</select>
|
|
|
+
|
|
|
+
|
|
|
+ <select id="listSevenDayElectricity" resultType="com.huimv.admin.entity.vo.EnergyVo">
|
|
|
+ SELECT
|
|
|
+ calendar.date,
|
|
|
+ ROUND(COALESCE(SUM(energy_data.electricity_value), 0), 2) AS 'value'
|
|
|
+ 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_data`
|
|
|
+ ON
|
|
|
+ calendar.date = DATE(energy_data.create_date)
|
|
|
+ AND energy_data.farm_id = #{farmId}
|
|
|
+ AND energy_data.display_type = #{displayType}
|
|
|
+ AND energy_data.unit_id = #{unitId}
|
|
|
+ GROUP BY
|
|
|
+ calendar.date;
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="listSixMonthElectricity" resultType="com.huimv.admin.entity.vo.EnergyVo">
|
|
|
+ SELECT
|
|
|
+ calendar.date,
|
|
|
+ ROUND(COALESCE(SUM(energy_data.electricity_value), 0), 2) AS 'value'
|
|
|
+ FROM (
|
|
|
+ SELECT DATE_FORMAT(NOW(), '%Y-%m') AS date
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 MONTH), '%Y-%m')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 3 MONTH), '%Y-%m')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 4 MONTH), '%Y-%m')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 5 MONTH), '%Y-%m')
|
|
|
+ ) AS calendar
|
|
|
+ LEFT JOIN
|
|
|
+ `energy_data`
|
|
|
+ ON
|
|
|
+ calendar.date = DATE_FORMAT(energy_data.create_date,"%Y-%m")
|
|
|
+ AND energy_data.farm_id = #{farmId}
|
|
|
+ AND energy_data.display_type = #{displayType}
|
|
|
+ AND energy_data.unit_id = #{unitId}
|
|
|
+ GROUP BY
|
|
|
+ calendar.date
|
|
|
+ order by
|
|
|
+ calendar.date
|
|
|
+ </select>
|
|
|
+ <select id="getElectricity" resultType="java.lang.Double">
|
|
|
+ SELECT
|
|
|
+ ROUND(COALESCE(SUM(energy_data.electricity_value), 0), 2) AS 'value'
|
|
|
+ FROM
|
|
|
+ `energy_data`
|
|
|
+ WHERE
|
|
|
+ create_date BETWEEN #{startDate} AND #{endDate}
|
|
|
+ AND energy_data.farm_id = #{farmId}
|
|
|
+ AND energy_data.display_type = #{displayType}
|
|
|
+ AND energy_data.unit_id = #{unitId}
|
|
|
+ </select>
|
|
|
+ <select id="listSevenDayWater" resultType="com.huimv.admin.entity.vo.EnergyVo">
|
|
|
+ SELECT
|
|
|
+ calendar.date,
|
|
|
+ ROUND(COALESCE(SUM(energy_data.water_value), 0), 2) AS 'value'
|
|
|
+ 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_data`
|
|
|
+ ON
|
|
|
+ calendar.date = DATE(energy_data.create_date)
|
|
|
+ AND energy_data.farm_id = #{farmId}
|
|
|
+ AND energy_data.display_type = #{displayType}
|
|
|
+ AND energy_data.unit_id = #{unitId}
|
|
|
+ GROUP BY
|
|
|
+ calendar.date;
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getWater" resultType="java.lang.Double">
|
|
|
+ SELECT
|
|
|
+ ROUND(COALESCE(SUM(energy_data.water_value), 0), 2) AS 'value'
|
|
|
+ FROM
|
|
|
+ `energy_data`
|
|
|
+ WHERE
|
|
|
+ create_date BETWEEN #{startDate} AND #{endDate}
|
|
|
+ AND energy_data.farm_id = #{farmId}
|
|
|
+ AND energy_data.display_type = #{displayType}
|
|
|
+ AND energy_data.unit_id = #{unitId}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="listSixMonthWater" resultType="com.huimv.admin.entity.vo.EnergyVo">
|
|
|
+ SELECT
|
|
|
+ calendar.date,
|
|
|
+ ROUND(COALESCE(SUM(energy_data.water_value), 0), 2) AS 'value'
|
|
|
+ FROM (
|
|
|
+ SELECT DATE_FORMAT(NOW(), '%Y-%m') AS date
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 2 MONTH), '%Y-%m')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 3 MONTH), '%Y-%m')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 4 MONTH), '%Y-%m')
|
|
|
+ UNION ALL SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 5 MONTH), '%Y-%m')
|
|
|
+ ) AS calendar
|
|
|
+ LEFT JOIN
|
|
|
+ `energy_data`
|
|
|
+ ON
|
|
|
+ calendar.date = DATE_FORMAT(energy_data.create_date,"%Y-%m")
|
|
|
+ AND energy_data.farm_id = #{farmId}
|
|
|
+ AND energy_data.display_type = #{displayType}
|
|
|
+ AND energy_data.unit_id = #{unitId}
|
|
|
+ GROUP BY
|
|
|
+ calendar.date
|
|
|
+ order by
|
|
|
+ calendar.date
|
|
|
+ </select>
|
|
|
</mapper>
|