| | |
| | | |
| | | <!--获取扫描次数统计数据--> |
| | | <select id="getSweepRecordStatistics" resultType="java.lang.Integer"> |
| | | -- 今天 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE DAY(ssr.create_time) = NOW() |
| | | WHERE TO_DAYS( ssr.create_time ) = TO_DAYS(NOW()) |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | union all |
| | | -- 昨天 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE TO_DAYS( NOW( ) ) - TO_DAYS( ssr.create_time) = 1 |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | union all |
| | | -- 本周 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE YEARWEEK(date_format(ssr.create_time,'%Y-%m-%d')) = YEARWEEK(now()) |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | union all |
| | | -- 上周 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE YEARWEEK(date_format(ssr.create_time,'%Y-%m-%d')) = YEARWEEK(now())-1 |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | union all |
| | | -- 本月 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE DATE_FORMAT( ssr.create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | union all |
| | | -- 上月 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( ssr.create_time, '%Y%m' ) ) =1 |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | </select> |
| | | |
| | | |
| | | <!--获取扫描次数统计数据(日统计)--> |
| | | <select id="getSweepRecordStatisticsByDay" resultType="org.springblade.modules.traceability.dto.SweepRecordStatisticDTO"> |
| | | select a.order_hour as time, ifnull(b.num, 0) as num |
| | | from ( |
| | | SELECT 0 AS order_hour UNION ALL SELECT 1 AS order_hour UNION ALL |
| | | SELECT 2 AS order_hour UNION ALL SELECT 3 AS order_hour UNION ALL |
| | | SELECT 4 AS order_hour UNION ALL SELECT 5 AS order_hour UNION ALL |
| | | SELECT 6 AS order_hour UNION ALL SELECT 7 AS order_hour UNION ALL |
| | | SELECT 8 AS order_hour UNION ALL SELECT 9 AS order_hour UNION ALL |
| | | SELECT 10 AS order_hour UNION ALL SELECT 11 AS order_hour UNION ALL |
| | | SELECT 12 AS order_hour UNION ALL SELECT 13 AS order_hour UNION ALL |
| | | SELECT 14 AS order_hour UNION ALL SELECT 15 AS order_hour UNION ALL |
| | | SELECT 16 AS order_hour UNION ALL SELECT 17 AS order_hour UNION ALL |
| | | SELECT 18 AS order_hour UNION ALL SELECT 19 AS order_hour UNION ALL |
| | | SELECT 20 AS order_hour UNION ALL SELECT 21 AS order_hour UNION ALL |
| | | SELECT 22 AS order_hour UNION ALL SELECT 23 AS order_hour |
| | | ) as a |
| | | LEFT JOIN |
| | | ( |
| | | SELECT HOUR(ssr.create_time) AS order_hour, count(*) AS num from sys_sweep_record ssr |
| | | left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE ssr.create_time >= str_to_date(concat(#{sweepRecord.time},' 00:00:00'),'%Y-%m-%d %T') |
| | | AND ssr.create_time<= str_to_date(concat(#{sweepRecord.time},' 23:59:59'),'%Y-%m-%d %T') |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | GROUP BY order_hour |
| | | ) b ON a.order_hour=b.order_hour |
| | | ORDER BY a.order_hour |
| | | </select> |
| | | |
| | | <!--获取扫描次数统计数据(月统计)--> |
| | | <select id="getSweepRecordStatisticsByMonth" resultType="org.springblade.modules.traceability.dto.SweepRecordStatisticDTO"> |
| | | SELECT lefttable.date time, |
| | | IFNULL(righttable.m, '0') AS num |
| | | FROM ( |
| | | SELECT ADDDATE(y.FIRST, x.d - 1) AS date |
| | | FROM |
| | | ( |
| | | SELECT |
| | | 1 AS d UNION ALL |
| | | SELECT |
| | | 2 UNION ALL |
| | | SELECT |
| | | 3 UNION ALL |
| | | SELECT |
| | | 4 UNION ALL |
| | | SELECT |
| | | 5 UNION ALL |
| | | SELECT |
| | | 6 UNION ALL |
| | | SELECT |
| | | 7 UNION ALL |
| | | SELECT |
| | | 8 UNION ALL |
| | | SELECT |
| | | 9 UNION ALL |
| | | SELECT |
| | | 10 UNION ALL |
| | | SELECT |
| | | 11 UNION ALL |
| | | SELECT |
| | | 12 UNION ALL |
| | | SELECT |
| | | 13 UNION ALL |
| | | SELECT |
| | | 14 UNION ALL |
| | | SELECT |
| | | 15 UNION ALL |
| | | SELECT |
| | | 16 UNION ALL |
| | | SELECT |
| | | 17 UNION ALL |
| | | SELECT |
| | | 18 UNION ALL |
| | | SELECT |
| | | 19 UNION ALL |
| | | SELECT |
| | | 20 UNION ALL |
| | | SELECT |
| | | 21 UNION ALL |
| | | SELECT |
| | | 22 UNION ALL |
| | | SELECT |
| | | 23 UNION ALL |
| | | SELECT |
| | | 24 UNION ALL |
| | | SELECT |
| | | 25 UNION ALL |
| | | SELECT |
| | | 26 UNION ALL |
| | | SELECT |
| | | 27 UNION ALL |
| | | SELECT |
| | | 28 UNION ALL |
| | | SELECT |
| | | 29 UNION ALL |
| | | SELECT |
| | | 30 UNION ALL |
| | | SELECT |
| | | 31 |
| | | ) x, |
| | | ( SELECT CONCAT( #{sweepRecord.time}, '-01' ) AS FIRST, DAY ( LAST_DAY( str_to_date( concat(#{sweepRecord.time},'-01'), '%Y-%m-%d' ) ) ) AS |
| | | last ) y |
| | | WHERE |
| | | x.d <= y.last |
| | | AND ADDDATE( y.FIRST |
| | | , x.d - 1 ) <= CURDATE() |
| | | ) AS lefttable |
| | | LEFT JOIN ( |
| | | SELECT |
| | | IFNULL( COUNT( * ), 0 ) AS m, |
| | | DATE_FORMAT( ssr.create_time, '%Y-%c-%d' ) AS gptime |
| | | FROM |
| | | sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE |
| | | DATE_FORMAT( ssr.create_time, '%Y-%m' ) = #{sweepRecord.time} |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | GROUP BY gptime |
| | | ) AS righttable ON DATE_FORMAT(lefttable.date, '%Y-%c-%d') = righttable.gptime |
| | | ORDER BY time |
| | | </select> |
| | | |
| | | <!--获取扫描次数统计数据(年统计)--> |
| | | <select id="getSweepRecordStatisticsByYear" resultType="org.springblade.modules.traceability.dto.SweepRecordStatisticDTO"> |
| | | select m.id time, IFNULL(b,0) num from |
| | | ( |
| | | select 1 as id union |
| | | select 2 union |
| | | select 3 union |
| | | select 4 union |
| | | select 5 union |
| | | select 6 union |
| | | select 7 union |
| | | select 8 union |
| | | select 9 union |
| | | select 10 union |
| | | select 11 union |
| | | select 12 |
| | | ) m |
| | | left join |
| | | ( |
| | | select month(ssr.create_time) a,count(*) b from sys_sweep_record ssr |
| | | left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | where year(ssr.create_time) = #{sweepRecord.time} |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | GROUP BY month(ssr.create_time) |
| | | ) n |
| | | on m.id = n.a |
| | | order by id |
| | | </select> |
| | | |
| | | <!--获取扫描次数统计数据(年统计)--> |
| | | <select id="getSweepRecordStatisticCount" resultType="java.lang.Integer"> |
| | | -- 总计 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE sl.farm_id = #{sweepRecord.farmId} |
| | | union all |
| | | -- 今天 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE TO_DAYS( ssr.create_time ) = TO_DAYS(NOW()) |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | union all |
| | | -- 昨天 |
| | | select count(*) from sys_sweep_record ssr left join sys_traceability st on ssr.code = st.id |
| | | left join sys_recovery sr on sr.id = st.recovery_id |
| | | left join sys_land sl on sl.id = sr.land_id |
| | | WHERE TO_DAYS( NOW( ) ) - TO_DAYS( ssr.create_time) = 1 |
| | | and sl.farm_id = #{sweepRecord.farmId} |
| | | </select> |
| | | </mapper> |