SELECT l.user_id AS uid, l.user_name AS uname, 1 AS leave_app, 0 AS leave_approve, 0 AS borrow_app, 0 AS inbound_cnt, COALESCE(l.duration,0) AS leave_duration
FROM jl_key_dm_leave_application l
<where>
AND l.is_used = 1 AND l.STATUS != 0
<iftest="start != null and start != ''">
AND l.create_time > #{start}
AND l.start_time > #{start}
</if>
<iftest="end != null and end != ''">
AND l.create_time < #{end}
AND l.start_time < #{end}
</if>
</where>
UNION ALL
SELECT r.approver_id AS uid, r.approver_name AS uname, 0, CASE WHEN r.approver_result = 1 THEN 1 ELSE 0 END, 0, 0, 0
FROM jl_key_dm_leave_approval_record r
<where>
AND r.is_used = 1 AND r.STATUS = 2
<iftest="start != null and start != ''">
AND r.approver_time > #{start}
</if>
...
...
@@ -100,22 +102,24 @@
SELECT b.applicant_id AS uid, b.applicant_name AS uname, 0, 0, 1, 0, 0
FROM jl_key_dm_borrow_application b
<where>
AND b.is_used = 1 AND b.approval_status != 0
<iftest="start != null and start != ''">
AND b.create_time > #{start}
AND b.submit_time > #{start}
</if>
<iftest="end != null and end != ''">
AND b.create_time < #{end}
AND b.submit_time < #{end}
</if>
</where>
UNION ALL
SELECT o.receiver_id AS uid, o.receiver_name AS uname, 0, 0, 0, 1, 0
FROM jl_key_dm_outbound_record o
SELECT ir.create_by AS uid, du.`name` AS uname, 0, 0, 0, 1, 0
FROM jl_key_dm_inbound_record ir LEFT JOIN jl_key_dm_user du on ir.create_by = du.id