|
@@ -44,22 +44,48 @@
|
|
|
</select>
|
|
|
|
|
|
<select id="listSixMonthFeed" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
|
|
|
- SELECT IFNUll(ROUND(SUM(f.duck_weight)/1000,1),0) 'duckWeight', f.call_date FROM `env_regular_call_feeding` f
|
|
|
- LEFT JOIN `base_duck_info` d ON f.duck_id = d.id
|
|
|
- WHERE f.farm_id = #{farmId} and d.unit_id in ${units}
|
|
|
+ SELECT IFNULL(duckWeight, 0) AS duckWeight, dates.month_date AS call_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 dates
|
|
|
+LEFT JOIN (
|
|
|
+ SELECT IFNULL(ROUND(SUM(f.duck_weight) / 1000, 1), 0) AS duckWeight, DATE_FORMAT(f.call_date, "%Y-%m-01") AS month_date
|
|
|
+ FROM env_regular_call_feeding f
|
|
|
+ LEFT JOIN base_duck_info d ON f.duck_id = d.id
|
|
|
+ WHERE f.farm_id = #{farmId} AND d.unit_id IN ${units}
|
|
|
AND f.call_date >= DATE_SUB(NOW(), INTERVAL 6 MONTH)
|
|
|
- And f.event_type = 0
|
|
|
- GROUP BY DATE_FORMAT(f.call_date,"%Y-%m")
|
|
|
+ AND f.event_type = 0
|
|
|
+ GROUP BY DATE_FORMAT(f.call_date, "%Y-%m-01")
|
|
|
+) AS results ON dates.month_date = results.month_date
|
|
|
+ORDER BY dates.month_date;
|
|
|
</select>
|
|
|
|
|
|
<select id="listSevenDayFeed" resultType="com.huimv.guowei.admin.entity.EnvRegularCallFeeding">
|
|
|
- SELECT IFNULL(ROUND(SUM(f.duck_weight)/1000,1), 0) AS duckWeight, f.call_date
|
|
|
- FROM env_regular_call_feeding f
|
|
|
- LEFT JOIN base_duck_info d ON f.duck_id = d.id
|
|
|
- WHERE f.farm_id = #{farmId} and d.unit_id in ${units}
|
|
|
- AND f.call_date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
|
|
|
- And f.event_type = 0
|
|
|
- GROUP BY DATE_FORMAT(f.call_date,"%Y-%m-%d")
|
|
|
+ SELECT IFNULL(duckWeight, 0) AS duckWeight, dates.date AS call_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 dates
|
|
|
+LEFT JOIN (
|
|
|
+ SELECT IFNULL(ROUND(SUM(f.duck_weight) / 1000, 1), 0) AS duckWeight, DATE(f.call_date) AS date
|
|
|
+ FROM env_regular_call_feeding f
|
|
|
+ LEFT JOIN base_duck_info d ON f.duck_id = d.id
|
|
|
+ WHERE f.farm_id = #{farmId} AND d.unit_id IN ${units}
|
|
|
+ AND f.call_date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
|
|
|
+ AND f.event_type = 0
|
|
|
+ GROUP BY DATE(f.call_date)
|
|
|
+) AS results ON dates.date = results.date
|
|
|
+ORDER BY dates.date;
|
|
|
</select>
|
|
|
|
|
|
<select id="listScreen" resultType="com.huimv.guowei.admin.entity.vo.EnvRegularCallFeedingVo">
|