| | |
| | | u.id user_id |
| | | FROM personal_shift s |
| | | LEFT JOIN staff_on_job u ON u.id = s.staff_on_job_id |
| | | LEFT JOIN staff_leave sl ON sl.staff_on_job_id = u.id |
| | | LEFT JOIN personal_attendance_location_config palc ON palc.id = s.personal_attendance_location_config_id |
| | | <where> |
| | | u.id IS NOT NULL |
| | |
| | | </if> |
| | | <if test="time != null and time != ''"> |
| | | and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m') |
| | | AND (u.staff_state = 1 OR (u.staff_state = 0 AND sl.leave_date IS NOT NULL AND sl.leave_date >= DATE_FORMAT(#{time}, '%Y-%m-01'))) |
| | | </if> |
| | | <if test="userName != null and userName != ''"> |
| | | and u.staff_name like concat('%', #{userName}, '%') |
| | |
| | | GROUP_CONCAT(DATE_FORMAT(s.work_time, '%c'), ':', IFNULL(palc.shift, '') order by s.work_time SEPARATOR ';') month_str |
| | | FROM personal_shift s |
| | | LEFT JOIN staff_on_job u ON u.id = s.staff_on_job_id |
| | | LEFT JOIN staff_leave sl ON sl.staff_on_job_id = u.id |
| | | LEFT JOIN personal_attendance_location_config palc ON palc.id = s.personal_attendance_location_config_id |
| | | <where> |
| | | <if test="time != null and time != ''"> |
| | | and DATE_FORMAT(s.work_time, '%Y') = DATE_FORMAT(#{time}, '%Y' ) |
| | | AND (u.staff_state = 1 OR (u.staff_state = 0 AND sl.leave_date IS NOT NULL AND sl.leave_date >= DATE_FORMAT(#{time}, '%Y-01-01'))) |
| | | </if> |
| | | <if test="userName != null and userName != ''"> |
| | | and u.staff_name like concat('%', #{userName}, '%') |
| | |
| | | GROUP_CONCAT(DATE_FORMAT(s.work_time, '%c'), ':', IFNULL(palc.shift, '') order by s.work_time SEPARATOR ';') month_str |
| | | FROM personal_shift s |
| | | LEFT JOIN staff_on_job u ON u.id = s.staff_on_job_id |
| | | LEFT JOIN staff_leave sl ON sl.staff_on_job_id = u.id |
| | | LEFT JOIN personal_attendance_location_config palc ON palc.id = s.personal_attendance_location_config_id |
| | | <where> |
| | | <if test="time != null and time != ''"> |
| | | and DATE_FORMAT(s.work_time, '%Y') = DATE_FORMAT(#{time}, '%Y' ) |
| | | AND (u.staff_state = 1 OR (u.staff_state = 0 AND sl.leave_date IS NOT NULL AND sl.leave_date >= DATE_FORMAT(#{time}, '%Y-01-01'))) |
| | | </if> |
| | | <if test="userName != null and userName != ''"> |
| | | and u.staff_name like concat('%', #{userName}, '%') |
| | |
| | | GROUP_CONCAT(s.work_time, ':', IFNULL(palc.shift, ''), ':', s.id order by s.work_time SEPARATOR ';') AS shift_time, u.id user_id |
| | | FROM personal_shift s |
| | | LEFT JOIN staff_on_job u ON u.id = s.staff_on_job_id |
| | | LEFT JOIN staff_leave sl ON sl.staff_on_job_id = u.id |
| | | LEFT JOIN personal_attendance_location_config palc ON palc.id = s.personal_attendance_location_config_id |
| | | <where> |
| | | <if test="time != null and time != ''"> |
| | | and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m' ) |
| | | AND (u.staff_state = 1 OR (u.staff_state = 0 AND sl.leave_date IS NOT NULL AND sl.leave_date >= DATE_FORMAT(#{time}, '%Y-%m-01'))) |
| | | </if> |
| | | <if test="userName != null and userName != ''"> |
| | | and u.staff_name like concat('%', #{userName}, '%') |