多单位版国产化地质资料管理系统
zs
2025-12-18 4f0d9bde31a80f6279e26466250da7716eec627f
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<?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.ruili.wcp.dao.management.RoleUserMapper">
    <!-- 带流程分类、流程名称返回结果 -->
    <resultMap id="WithUserResultMap" type="com.ruili.wcp.data.vo.management.RoleUserVO">
        <id column="id" jdbcType="BIGINT" property="Id"/>
        <result column="role_id" property="roleId"/>
        <result column="role_name" property="roleName"/>
        <result column="user_id" property="userId"/>
        <result column="true_name" property="trueName"/>
        <result column="dept_id" property="deptId"/>
        <result column="dept_name" property="deptName"/>
        <result column="security_level" property="securityLevel"/>
    </resultMap>
 
    <!-- 查询带流程SQL -->
    <select id="selectWithUser" parameterType="map" resultMap="WithUserResultMap">
        SELECT a.id,b.role_id,b.role_name,c.user_id,c.true_name ,c.dept_id,c.dept_name
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and a.role_id=#{roleId}
 
        <if test="keyWord">AND c.true_name like concat('%',#{keyWord},'%')</if>
        <if test="sort!=null">
            order by
            <choose>
                <when test="sort='trueName'">
                    c.true_name ${order}
                </when>
                <otherwise>
                    a.id desc
                </otherwise>
            </choose>
        </if>
        limit #{currIndex} , #{pageSize}
    </select>
    <!-- 查询带流程SQL -->
    <select id="selectWithUser" parameterType="map" resultMap="WithUserResultMap" databaseId="oracle">
        SELECT * FROM (
        SELECT ROWNUM AS RN, a.id,b.role_id,b.role_name,c.user_id,c.true_name ,c.dept_id,c.dept_name
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and a.role_id=#{roleId}
 
        <if test="keyWord!=null">AND c.true_name like '%' || #{keyWord} || '%'</if>
        <if test="sort!=null">
            order by
            <choose>
                <when test="sort='trueName'">
                    c.true_name ${order}
                </when>
                <otherwise>
                    a.id desc
                </otherwise>
            </choose>
        </if>
        ) T
        WHERE RN BETWEEN (${currIndex}) AND (${currIndex} + ${pageSize})
    </select>
    <!-- 查询带流程SQL -->
    <select id="selectWithUser" parameterType="map" resultMap="WithUserResultMap" databaseId="kingbasees">
        SELECT * FROM (
        SELECT ROWNUM AS RN, a.id,b.role_id,b.role_name,c.user_id,c.true_name ,c.dept_id,c.dept_name
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and a.role_id=#{roleId}
 
        <if test="keyWord!=null">AND c.true_name like '%' || #{keyWord} || '%'</if>
        <if test="sort!=null">
            order by
            <choose>
                <when test="sort='trueName'">
                    c.true_name ${order}
                </when>
                <otherwise>
                    a.id desc
                </otherwise>
            </choose>
        </if>
        ) T
        WHERE RN BETWEEN (${currIndex}) AND (${currIndex} + ${pageSize})
    </select>
    <!-- 查询带流程SQL -->
    <select id="selectWithUser" parameterType="map" resultMap="WithUserResultMap" databaseId="sqlServer">
        SELECT * FROM (
        SELECT ROW_NUMBER() OVER(
        <if test="sort!=null">
            order by
            <choose>
                <when test="sort='trueName'">
                    c.true_name ${order}
                </when>
                <otherwise>
                    a.id desc
                </otherwise>
            </choose>
        </if>
        ) AS RN, a.id,b.role_id,b.role_name,c.user_id,c.true_name ,c.dept_id,c.dept_name
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and a.role_id=#{roleId}
        <if test="keyWord!=null">AND c.true_name like '%${keyWord}%'</if>
        ) T
        WHERE RN BETWEEN (${currIndex}) AND (${currIndex} + ${pageSize})
    </select>
 
    <!-- 查询带流程总数量SQL -->
    <select id="selectCountWithUser" parameterType="map" resultType="Integer">
        select
        count(1)
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and b.role_id=#{roleId}
        <if test="keyWord!=null">AND c.true_name like concat('%',#{keyWord},'%')</if>
    </select>
    <!-- 查询带流程总数量SQL -->
    <select id="selectCountWithUser" parameterType="map" resultType="Integer" databaseId="oracle">
        select
        count(1)
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and b.role_id=#{roleId}
        <if test="keyWord!=null">AND c.true_name like '%' || #{keyWord} || '%'</if>
    </select>
    <!-- 查询带流程总数量SQL -->
    <select id="selectCountWithUser" parameterType="map" resultType="Integer" databaseId="kingbasees">
        select
        count(1)
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and b.role_id=#{roleId}
        <if test="keyWord!=null">AND c.true_name like '%' || #{keyWord} || '%'</if>
    </select>
 
    <!--获取角色下用户-->
    <select id="selectUserByRoleId" parameterType="map" resultMap="WithUserResultMap">
        SELECT a.id,b.role_id,b.role_name,c.user_id,c.true_name ,c.dept_id,c.dept_name,c.security_level
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and a.role_id=#{roleId}
        <if test="keyWord!=null">
            AND (c.true_name like '%${keyWord}%' or c.user_name like '%${keyWord}%')
        </if>
        <if test="securityCode!=null">
            and c.security_level>=#{securityCode}
        </if>
    </select>
    <select id="selectUserByRoleId" parameterType="map" resultMap="WithUserResultMap" databaseId="oracle">
        SELECT a.id,b.role_id,b.role_name,c.user_id,c.true_name ,c.dept_id,c.dept_name,c.security_level
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and a.role_id=#{roleId}
        <if test="keyWord!=null">AND (c.true_name like '%' || #{keyWord} || '%' or c.user_name like '%' || #{keyWord} ||
            '%')
        </if>
        <if test="securityCode!=null">and c.security_level>=#{securityCode}</if>
    </select>
    <select id="selectUserByRoleId" parameterType="map" resultMap="WithUserResultMap" databaseId="kingbasees">
        SELECT a.id,b.role_id,b.role_name,c.user_id,c.true_name ,c.dept_id,c.dept_name,c.security_level
        FROM sys_role_user a,sys_role b,sys_account c
        WHERE a.role_id=b.role_id and a.user_id=c.user_id and a.role_id=#{roleId}
        <if test="keyWord!=null">AND (c.true_name like '%' || #{keyWord} || '%' or c.user_name like '%' || #{keyWord} ||
            '%')
        </if>
        <if test="securityCode!=null">and c.security_level>=#{securityCode}</if>
    </select>
</mapper>