| | |
| | | <result column="work_time" property="workTime" /> |
| | | </resultMap> |
| | | <select id="performanceShiftPage" resultType="com.ruoyi.staff.dto.PerformanceShiftMapDto"> |
| | | SELECT |
| | | SELECT |
| | | u.staff_name name, |
| | | GROUP_CONCAT(s.work_time, ':', IFNULL(palc.shift, ''), ':', s.id order by s.work_time SEPARATOR ';') AS shift_time, |
| | | u.id user_id |
| | | 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 personal_attendance_location_config palc ON palc.id = s.personal_attendance_location_config_id |
| | | <where> |
| | | <if test="sysDeptId != null and sysDeptId != ''"> |
| | | <if test="sysDeptId != null and sysDeptId != ''"> |
| | | and u.sys_dept_id = #{sysDeptId} |
| | | </if> |
| | | <if test="time != null and time != ''"> |
| | | and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m' ) |
| | | and DATE_FORMAT(s.work_time, '%Y-%m') = DATE_FORMAT(#{time}, '%Y-%m') |
| | | </if> |
| | | <if test="userName != null and userName != ''"> |
| | | and u.staff_name like concat('%', #{userName}, '%') |
| | | </if> |
| | | </where> |
| | | GROUP BY u.id |
| | | order by s.create_time |
| | | GROUP BY u.id, u.staff_name |
| | | ORDER BY MAX(s.create_time) desc |
| | | </select> |
| | | |
| | | |
| | | <select id="performanceShiftYear" resultType="java.util.Map"> |
| | | SELECT |
| | | u.staff_name name, |
| | |
| | | order by s.create_time |
| | | </select> |
| | | |
| | | <!-- 查询员工的请假信息(从approval_instance的form_config解析) --> |
| | | <!-- 关联路径: staff_on_job.staff_no = sys_user.user_name, sys_user.user_id = approval_instance.applicant_id --> |
| | | <select id="selectStaffHolidayDates" resultType="java.util.Map"> |
| | | SELECT |
| | | soj.id AS staff_id, |
| | | ai.form_config |
| | | FROM staff_on_job soj |
| | | INNER JOIN sys_user su ON su.user_name = soj.staff_no |
| | | INNER JOIN approval_instance ai ON ai.applicant_id = su.user_id |
| | | WHERE soj.id IN |
| | | <foreach collection="staffIds" item="staffId" open="(" separator="," close=")"> |
| | | #{staffId} |
| | | </foreach> |
| | | AND ai.business_type IN (14, 19) |
| | | AND ai.status = 'APPROVED' |
| | | AND ai.deleted = 0 |
| | | </select> |
| | | |
| | | </mapper> |