xiejun
2024-01-23 f09e05514d9a9e2623cfa73c4de1ffa98bb30bf8
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
<?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.mapper.ClassifyAuthMapper">
    <resultMap id="classifyAuthMap" type="com.vci.ubcs.system.entity.ClassifyAuth">
        <result column="oid" property="oid"/>
        <result column="ROLE_ID" property="roleId"/>
        <result column="CLASSIFY_ID" property="classifyId"/>
        <result column="BUTTON_IDS" property="buttonIds"/>
    </resultMap>
 
    <select id="getClassifyAuthList" resultMap="classifyAuthMap">
        SELECT *
            FROM PL_ORG_CLASSIFYAUTH
        WHERE CLASSIFY_ID = #{classifyId};
    </select>
 
 
    <select id="getViewClassByRoleIds" resultType="java.lang.String">
        SELECT CLASSIFY_ID
        FROM PL_ORG_CLASSIFYAUTH
        WHERE
        <if test="roleIds != null and ! roleIds.isEmpty() and roleIds.size() > 0">
          ROLE_ID IN
            <foreach item="item" index="index" collection="roleIds" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
          AND AUTH_TYPE = #{authType}
          AND BUTTON_IDS LIKE CONCAT('%', CONCAT((
            SELECT
                pm.ID
            FROM
                PL_SYS_MENU ps,
                PL_SYS_MENU pm
            WHERE
                ps.CODE = #{buttonCode}
                AND ps.ID = pm.PARENT_ID
                AND pm.CODE = #{menuCode}
        ), '%'))
    </select>
 
 
</mapper>