xiejun
2023-07-17 1f0a10ab714699acc85430b90bcb5a1eeaad1eec
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?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.vci.ubcs.system.user.mapper.UserMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="userResultMap" type="com.vci.ubcs.system.user.entity.User">
        <result column="id" property="id"/>
        <result column="tenant_id" property="tenantId"/>
        <result column="create_user" property="createUser"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
        <result column="code" property="code"/>
        <result column="user_type" property="userType"/>
        <result column="account" property="account"/>
        <result column="password" property="password"/>
        <result column="name" property="name"/>
        <result column="real_name" property="realName"/>
        <result column="email" property="email"/>
        <result column="phone" property="phone"/>
        <result column="birthday" property="birthday"/>
        <result column="sex" property="sex"/>
        <result column="role_id" property="roleId"/>
        <result column="dept_id" property="deptId"/>
        <result column="post_id" property="postId"/>
        <result column="strategy_name" property="pwdStrategy"/>
        <result column="pwd_update_time" property="pwdUpdateTime"/>
        <result column="secretgrade" property="secretGrade"/>
        <result column="strategy_update_status" property="strategyUpdateStatus"/>
    </resultMap>
 
 
    <select id="selectUserPage" resultMap="userResultMap">
        SELECT
            pou.*,nvl(pss.STRATEGY_NAME,(SELECT STRATEGY_NAME FROM PL_SYS_PWDSTRATEGY WHERE IS_DEFAULT=1)) strategy_name
        FROM pl_org_user pou
            LEFT JOIN PL_SYS_USER_PWDSTRATEGY plup on plup.USER_ID=pou.ID
            LEFT JOIN PL_SYS_PWDSTRATEGY pss on pss.ID=plup.PWDSTRATEGY_ID
        WHERE is_deleted = 0
        <if test="tenantId!=null and tenantId != ''">
            and tenant_id = #{tenantId}
        </if>
        <if test="user.tenantId!=null and user.tenantId != ''">
            and tenant_id = #{user.tenantId}
        </if>
        <if test="user.account!=null and user.account != ''">
            and account = #{user.account}
        </if>
        <if test="user.realName!=null and user.realName != ''">
            and real_name = #{user.realName}
        </if>
        <if test="user.userType!=null and user.userType != ''">
            and user_type = #{user.userType}
        </if>
        <if test="deptIdList!=null and deptIdList.size>0">
            and pou.id in (
            SELECT
            user_id
            FROM
            pl_org_user_dept poud
            WHERE
            dept_id IN
            <foreach collection="deptIdList" index="index" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
            )
        </if>
        ORDER BY pou.id
    </select>
 
    <select id="getUser" resultMap="userResultMap">
        SELECT
            pou.*,nvl(pss.STRATEGY_NAME,(SELECT STRATEGY_NAME FROM PL_SYS_PWDSTRATEGY WHERE IS_DEFAULT=1)) strategy_name
        FROM pl_org_user pou
            LEFT JOIN PL_SYS_USER_PWDSTRATEGY plup on plup.USER_ID=pou.ID
            LEFT JOIN PL_SYS_PWDSTRATEGY pss on pss.ID=plup.PWDSTRATEGY_ID
        WHERE
            tenant_id = #{param1} and account = #{param2}
            <if test="param3!=null and param3 != ''">
                and name = #{param3}
            </if>
          and is_deleted = 0
    </select>
 
    <select id="exportUser" resultType="com.vci.ubcs.system.user.excel.UserExcel">
        SELECT
            pou.*,nvl(pss.STRATEGY_NAME,(SELECT STRATEGY_NAME FROM PL_SYS_PWDSTRATEGY WHERE IS_DEFAULT=1)) strategy_name
        FROM pl_org_user pou
            LEFT JOIN PL_SYS_USER_PWDSTRATEGY plup on plup.USER_ID=pou.ID
            LEFT JOIN PL_SYS_PWDSTRATEGY pss on pss.ID=plup.PWDSTRATEGY_ID
            ${ew.customSqlSegment}
    </select>
 
    <select id="selectByIdUser" resultType="com.vci.ubcs.system.user.entity.User">
        select id, code, user_type, account, password , name, real_name, avatar, email, phone , birthday, sex, role_id, dept_id, post_id , pwd_update_time, secretgrade, strategy_update_status, tenant_id, create_user , create_dept, create_time, update_user, update_time, status , is_deleted
        from pl_org_user
            where id = #{userId} and is_deleted = 0
    </select>
 
    <select id="getUserMap" resultType="map">
        SELECT
            PCR.ID as value,
            PCR.ACCOUNT as lable
        FROM
            PL_ORG_USER PCR
        WHERE
            instr(PCR.ROLE_ID,#{roleId}) > 0
        AND
            PCR.ID != #{userId}
        AND
            PCR.IS_DELETED = 0
    </select>
 
</mapper>