|
|
@ -206,20 +206,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
|
|
|
</select> |
|
|
|
<select id="selectMineWarningStatisticList" resultType="yq.system.domain.vo.StatisticVo"> |
|
|
|
SELECT |
|
|
|
mg.mine_group_name, |
|
|
|
COUNT(CASE WHEN mw.create_time IS NOT NULL THEN 1 END) AS clock, -- 计算已打卡的人数 |
|
|
|
COUNT(CASE WHEN mw.create_time IS NULL THEN 1 END) AS unClock -- 计算未打卡的人数 |
|
|
|
mg.mine_group_name AS mineGroupName, |
|
|
|
COUNT(DISTINCT CASE WHEN mw.create_time IS NOT NULL THEN mf.id END) AS clock, -- 统计已打卡的人数 |
|
|
|
COUNT(DISTINCT CASE WHEN mw.create_time IS NULL THEN mf.id END) AS unClock , -- 统计未打卡的人数 |
|
|
|
GROUP_CONCAT(CASE WHEN mw.create_time IS NULL THEN mf.face_name END) AS unClockNames -- 统计未打卡的人员名称 |
|
|
|
FROM |
|
|
|
mine_face mf |
|
|
|
LEFT JOIN |
|
|
|
mine_warning mw ON mw.face_id = mf.id |
|
|
|
<if test="search == 今日 "> AND DATE(mw.create_time) = CURDATE() </if> |
|
|
|
<if test="search == 7天 "> AND DATE(mw.create_time) = CURDATE() - INTERVAL 7 DAY </if> |
|
|
|
<if test="search == 30天 "> AND DATE(mw.create_time) = CURDATE() - INTERVAL 1 MONTH </if> |
|
|
|
LEFT JOIN |
|
|
|
mine_group mg ON mg.id = mf.group_id |
|
|
|
mine_group mg |
|
|
|
LEFT JOIN mine_face mf ON mg.id = mf.group_id |
|
|
|
LEFT JOIN mine_warning mw ON mw.face_id = mf.id |
|
|
|
<if test="search == '今日' "> AND DATE(mw.create_time) = CURDATE() </if> |
|
|
|
<if test="search == '7天' "> AND mw.create_time >= CURDATE() - INTERVAL 7 DAY -- 过去7天内的打卡记录 </if> |
|
|
|
<if test="search == '30天' "> AND DATE(mw.create_time) = CURDATE() - INTERVAL 1 MONTH </if> |
|
|
|
|
|
|
|
GROUP BY |
|
|
|
mg.dept_id, mg.id; |
|
|
|
mg.dept_id, mg.id; |
|
|
|
</select> |
|
|
|
<select id="selectMineWarningUnMedicalList" resultMap="MineWarningResult"> |
|
|
|
select mw.id, |
|
|
|