|
|
@@ -66,8 +66,8 @@
|
|
|
LEFT JOIN (SELECT m.materials_type_id, count(m.materials_id) AS will_expire_count
|
|
|
FROM is_materials m
|
|
|
WHERE m.materials_cabinet_id is not null
|
|
|
- and DATE_ADD(NOW(), INTERVAL 30 DAY ) > m.expiration_date
|
|
|
- AND NOW() < m.expiration_date
|
|
|
+ and DATEADD(DAY, 30, GETDATE()) > m.expiration_date
|
|
|
+ AND GETDATE() < m.expiration_date
|
|
|
GROUP BY m.materials_type_id) b ON b.materials_type_id = t.materials_type_id
|
|
|
LEFT JOIN (SELECT m.materials_type_id, count(m.materials_id) AS expired_count
|
|
|
FROM is_materials m
|
|
|
@@ -132,7 +132,7 @@
|
|
|
</where>
|
|
|
GROUP BY ma.materials_type_id ) c ON c.materials_type_id = t.materials_type_id
|
|
|
|
|
|
- LEFT JOIN ( SELECT ma.materials_type_id, AVG(TIMESTAMPDIFF(SECOND, m.loan_time, m.actual_restitution_time)) AS
|
|
|
+ LEFT JOIN ( SELECT ma.materials_type_id, AVG(DATEDIFF(SECOND, m.loan_time, m.actual_restitution_time)) AS
|
|
|
average_time FROM
|
|
|
is_materials_loan m LEFT JOIN is_materials ma on ma.materials_id = m.materials_id
|
|
|
<where>
|
|
|
@@ -248,22 +248,21 @@
|
|
|
GROUP BY l.loan_user_id) d on b.loan_user_id = a.user_id
|
|
|
</select>
|
|
|
<select id="getDayLoanStatistics" resultType="com.ktg.iscs.domain.vo.statistics.DayLoanStatisticsVO">
|
|
|
- select FORMAT(a.date, '%m/%d') as day,
|
|
|
+ select FORMAT(a.date, 'MM/dd') as day,
|
|
|
( CASE WHEN b.all_count IS NULL THEN 0 ELSE b.all_count END ) AS all_count,
|
|
|
( CASE WHEN c.return_count IS NULL THEN 0 ELSE c.return_count END ) AS return_count,
|
|
|
( CASE WHEN d.timeout_count IS NULL THEN 0 ELSE d.timeout_count END ) AS timeout_count
|
|
|
FROM (
|
|
|
select a.Date from (
|
|
|
- select CURRENT_TIMESTAMP - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a) ) DAY as Date
|
|
|
+ select DATEADD(DAY, -(a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a)), CURRENT_TIMESTAMP) as Date
|
|
|
from (select 0 as a union all select 1 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) as a
|
|
|
cross join (select 0 as a union all select 1 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) as b
|
|
|
cross join (select 0 as a union all select 1 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) as c
|
|
|
cross join (select 0 as a union all select 1 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) as d
|
|
|
) a where a.Date between #{startTime} and #{endTime}) a
|
|
|
- left join (select count (l.materials_loan_id) as all_count, FORMAT(l.loan_time, '%Y-%m-%d') as date from is_materials_loan l group by date) b
|
|
|
- on b.date = a.Date
|
|
|
- left join (select count (l.materials_loan_id) as return_count, FORMAT(l.loan_time, '%Y-%m-%d') as date from is_materials_loan l where FORMAT(l.loan_time, '%Y-%m-%d') between #{startTime} and #{endTime} and l.actual_restitution_time <= l.reminder_time group by date) c on c.date = a.Date
|
|
|
- left join (select count (l.materials_loan_id) as timeout_count, FORMAT(l.loan_time, '%Y-%m-%d') as date from is_materials_loan l where FORMAT(l.loan_time, '%Y-%m-%d') between #{startTime} and #{endTime} and l.actual_restitution_time > l.reminder_time group by date) d on d.date = a.Date
|
|
|
+ left join (select count (l.materials_loan_id) as all_count, FORMAT(l.loan_time, 'yyyy-MM-dd') as date from is_materials_loan l group by FORMAT(l.loan_time, 'yyyy-MM-dd')) b on b.date = FORMAT(a.Date, 'yyyy-MM-dd')
|
|
|
+ left join (select count (l.materials_loan_id) as return_count, FORMAT(l.loan_time, 'yyyy-MM-dd') as date from is_materials_loan l where FORMAT(l.loan_time, 'yyyy-MM-dd') between #{startTime} and #{endTime} and l.actual_restitution_time <= l.reminder_time group by FORMAT(l.loan_time, 'yyyy-MM-dd')) c on c.date = FORMAT(a.Date, 'yyyy-MM-dd')
|
|
|
+ left join (select count (l.materials_loan_id) as timeout_count, FORMAT(l.loan_time, 'yyyy-MM-dd') as date from is_materials_loan l where FORMAT(l.loan_time, 'yyyy-MM-dd') between #{startTime} and #{endTime} and l.actual_restitution_time > l.reminder_time group by FORMAT(l.loan_time, 'yyyy-MM-dd')) d on d.date = FORMAT(a.Date, 'yyyy-MM-dd')
|
|
|
ORDER BY a.date DESC
|
|
|
</select>
|
|
|
<select id="getOngoingJobList" resultType="com.ktg.iscs.domain.vo.homePage.OngoingJobVO">
|
|
|
@@ -281,50 +280,20 @@
|
|
|
ORDER BY j.ticket_id DESC
|
|
|
</select>
|
|
|
<select id="getLoanList" resultType="com.ktg.iscs.domain.vo.homePage.HomePageLoanVO">
|
|
|
- <!-- select DATE_FORMAT(a.date, '%m/%d') as day,
|
|
|
+ select FORMAT(a.date, 'MM/dd') as day,
|
|
|
( CASE WHEN b.loan_count IS NULL THEN 0 ELSE b.loan_count END ) AS loan_count,
|
|
|
( CASE WHEN c.return_count IS NULL THEN 0 ELSE c.return_count END ) AS return_count
|
|
|
FROM (
|
|
|
select a.Date from (
|
|
|
- select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a) ) DAY as Date
|
|
|
+ select DATEADD(DAY, -(a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a)), CURRENT_TIMESTAMP) as Date
|
|
|
from (select 0 as a union all select 1 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) as a
|
|
|
cross join (select 0 as a union all select 1 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) as b
|
|
|
cross join (select 0 as a union all select 1 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) as c
|
|
|
cross join (select 0 as a union all select 1 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) as d
|
|
|
) a where a.Date between #{startTime} and #{endTime}) a
|
|
|
- left join (select count(l.materials_loan_id) as loan_count, DATE_FORMAT(l.loan_time, '%Y-%m-%d') as date from is_materials_loan l where DATE_FORMAT(l.loan_time, '%Y-%m-%d') between #{startTime} and #{endTime} group by date) b on b.date = a.Date
|
|
|
- left join (select count(l.materials_loan_id) as return_count, DATE_FORMAT(l.loan_time, '%Y-%m-%d') as date from is_materials_loan l where DATE_FORMAT(l.loan_time, '%Y-%m-%d') between #{startTime} and #{endTime} and l.status = "1" group by date) c on c.date = a.Date
|
|
|
- ORDER BY a.date DESC -->
|
|
|
- <!-- SELECT
|
|
|
- FORMAT(a.Date, 'MM/dd') AS day,
|
|
|
- COALESCE(b.loan_count, 0) AS loan_count,
|
|
|
- COALESCE(c.return_count, 0) AS return_count
|
|
|
- FROM (
|
|
|
- SELECT
|
|
|
- DATEADD(DAY, -(a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a)), CURRENT_TIMESTAMP) AS Date
|
|
|
- FROM (VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) AS a(a)
|
|
|
- CROSS JOIN (VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) AS b(b)
|
|
|
- CROSS JOIN (VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) AS c(c)
|
|
|
- CROSS JOIN (VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) AS d(d)
|
|
|
- ) AS a
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- l.loan_time AS date,
|
|
|
- COUNT(l.materials_loan_id) AS loan_count
|
|
|
- FROM is_materials_loan l
|
|
|
- WHERE l.loan_time BETWEEN #{startTime} AND #{endTime}
|
|
|
- GROUP BY l.loan_time
|
|
|
- ) AS b ON a.Date = b.date
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- l.loan_time AS date,
|
|
|
- COUNT(l.materials_loan_id) AS return_count
|
|
|
- FROM is_materials_loan l
|
|
|
- WHERE l.loan_time BETWEEN #{startTime} AND #{endTime}
|
|
|
- AND l.status = '1'
|
|
|
- GROUP BY l.loan_time
|
|
|
- ) AS c ON a.Date = c.date
|
|
|
- ORDER BY a.Date DESC;-->
|
|
|
+ left join (select count(l.materials_loan_id) as loan_count, FORMAT(l.loan_time, 'yyyy-MM-dd') as date from is_materials_loan l where FORMAT(l.loan_time, 'yyyy-MM-dd') between #{startTime} and #{endTime} group by FORMAT(l.loan_time, 'yyyy-MM-dd')) b on b.date = FORMAT(a.Date, 'yyyy-MM-dd')
|
|
|
+ left join (select count(l.materials_loan_id) as return_count, FORMAT(l.loan_time, 'yyyy-MM-dd') as date from is_materials_loan l where FORMAT(l.loan_time, 'yyyy-MM-dd') between #{startTime} and #{endTime} and l.status = '1' group by FORMAT(l.loan_time, 'yyyy-MM-dd')) c on c.date = FORMAT(a.Date, 'yyyy-MM-dd')
|
|
|
+ ORDER BY a.date DESC
|
|
|
|
|
|
</select>
|
|
|
|