mitao
2025-01-17 afa0dbb4f54e7244835dd67ec33c3e545f122f71
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?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"
        <if test="deptId != null">
            AND sd.dept_id = #{deptId}
        </if>
        <if test="userId != null ">
            AND su.user_id = #{userId}
        </if>
        <if test="null != name and '' != name">
            and su.nick_name like CONCAT('%', #{name}, '%')
        </if>
    </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>
        <if test="param.staffMobile!=null and param.staffMobile!=''">
            AND tss.staff_mobile LIKE CONCAT('%',#{param.staffMobile},'%')
        </if>
    </select>
 
    <select id="listSimpleDept" resultType="com.ruoyi.system.domain.vo.DeptSimpleVo">
        SELECT
            dept_id deptId,
            dept_name deptName
        FROM sys_dept
        WHERE del_flag = '0'
    </select>
 
    <select id="listSysStaffByIds" resultType="com.ruoyi.system.api.domain.poji.sys.SysStaff">
        SELECT * FROM t_sys_staff
        WHERE del_flag = 0 AND user_id IN
        <foreach collection="userIdList" item="userId" open="(" separator="," close=")">
            #{userId}
        </foreach>
    </select>
</mapper>