liding
6 小时以前 dc22724f61e0b792d327fa812895f6dc4fcf129d
src/main/resources/mapper/staff/PersonalShiftMapper.xml
@@ -12,26 +12,26 @@
        <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)
    </select>
   
    <select id="performanceShiftYear" resultType="java.util.Map">