jiangqs
2023-08-26 b3942f278045cf74410d81a62ded4696f22d170d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.staff.SysStaffMapper">
 
    <resultMap id="deptStaffResultMap" type="com.ruoyi.system.domain.vo.MgtDeptStaffListVo">
        <result column="deptId" property="deptId"/>
        <result column="deptName" property="deptName"/>
        <collection property="mgtStaffListVoList" ofType="com.ruoyi.system.domain.vo.MgtStaffListVo">
            <result column="userId" property="userId"/>
            <result column="nickName" property="nickName"/>
        </collection>
    </resultMap>
 
    <select id="listMgtDeptStaff" resultMap="deptStaffResultMap">
        SELECT
        sd.dept_id deptId,
        sd.dept_name deptName,
        su.user_id userId,
        su.nick_name nickName
        FROM sys_dept sd
        LEFT JOIN sys_user su ON sd.dept_id = su.dept_id
        WHERE sd.del_flag = "0" AND su.del_flag = "0" AND su.status = "0"
    </select>
 
    <select id="listMgtDeptStaffByDept" resultMap="deptStaffResultMap">
        SELECT
            sd.dept_id deptId,
            sd.dept_name deptName,
            su.user_id userId,
            su.nick_name nickName
        FROM sys_dept sd
                 LEFT JOIN sys_user su ON sd.dept_id = su.dept_id
        WHERE sd.del_flag = "0" AND su.del_flag = "0" AND sd.dept_id = #{deptId}
        <if test="userId != null and userId != ''">
            AND su.user_id = #{userId}
        </if>
    </select>
 
    <select id="pageMgtStaff" resultType="com.ruoyi.system.domain.vo.MgtStaffPageVo">
        SELECT
        su.user_id userId,
        su.dept_id deptId,
        tss.staff_name staffName,
        tss.staff_mobile staffMobile,
        tss.staff_email staffEmail,
        tss.staff_post staffPost,
        tss.staff_avatar staffAvatar,
        tss.head_flag headFlag,
        su.data_scope dataScope
        FROM t_sys_staff tss
        INNER JOIN sys_user su ON tss.user_id = su.user_id
        INNER JOIN sys_dept sd ON su.dept_id = sd.dept_id
        WHERE su.del_flag = '0' AND tss.del_flag = 0
        <if test="param.deptId!=null and param.deptId!=''">
            AND (FIND_IN_SET(#{param.deptId},sd.ancestors) OR su.dept_id = #{param.deptId})
        </if>
        <if test="param.staffName!=null and param.staffName!=''">
            AND tss.staff_name LIKE CONCAT('%',#{param.staffName},'%')
        </if>
    </select>
</mapper>