108 lines
4.1 KiB
XML
108 lines
4.1 KiB
XML
<?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.bonus.canteen.core.auth.role.mapper.MgrRoleOrgMapper">
|
|
<insert id="insertBatch" parameterType="object">
|
|
insert into sys_role_dept
|
|
values
|
|
<foreach collection="orgList" item="org" index="index" separator=",">
|
|
(#{roleId}, #{org.orgId})
|
|
</foreach>
|
|
</insert>
|
|
|
|
<select id="getTenantOrg" resultType="com.bonus.canteen.core.customer.dto.CustOrgTreeDTO">
|
|
SELECT c.dept_id as org_id,
|
|
c.dept_name as org_name,
|
|
c.parent_id as super_id,
|
|
c.order_num as sort
|
|
FROM
|
|
<choose>
|
|
<when test="'1'.toString() != authPO.roleType.toString()">
|
|
( select org_id
|
|
from (
|
|
SELECT o.dept_id as org_id
|
|
FROM sys_role_dept o
|
|
LEFT JOIN sys_role r ON r.role_id = o.role_id
|
|
LEFT JOIN sys_user_role u ON o.role_id = u.role_id
|
|
WHERE r.del_flag = 0
|
|
AND u.user_id = #{authPO.userId}
|
|
AND r.role_key = #{authPO.roleCode}
|
|
) s
|
|
ORDER BY org_id) t
|
|
LEFT JOIN sys_dept c ON c.dept_id = t.org_id
|
|
<where>
|
|
<if test="delFlag != null">
|
|
AND c.del_flag = #{delFlag}
|
|
</if>
|
|
</where>
|
|
</when>
|
|
<otherwise>
|
|
sys_dept c
|
|
<where>
|
|
<if test="delFlag != null">
|
|
c.del_flag = #{delFlag}
|
|
</if>
|
|
</where>
|
|
</otherwise>
|
|
</choose>
|
|
</select>
|
|
|
|
<!-- <select id="getTenantOrg" resultType="com.bonus.canteen.core.customer.dto.CustOrgTreeDTO">-->
|
|
<!-- SELECT c.org_id,-->
|
|
<!-- c.org_num,-->
|
|
<!-- c.org_name,-->
|
|
<!-- c.org_full_name,-->
|
|
<!-- c.org_level,-->
|
|
<!-- c.super_id,-->
|
|
<!-- c.sort-->
|
|
<!-- <if test="'2'.toString() == authPO.roleType.toString()">-->
|
|
<!-- ,-->
|
|
<!-- t.half_select-->
|
|
<!-- </if>-->
|
|
<!-- FROM-->
|
|
<!-- <choose>-->
|
|
<!-- <when test="'2'.toString() == authPO.roleType.toString()">-->
|
|
<!-- ( select org_id,-->
|
|
<!-- half_select-->
|
|
<!-- from (-->
|
|
<!-- SELECT o.org_id, o.half_select-->
|
|
<!-- FROM mgr_role_org o-->
|
|
<!-- LEFT JOIN mgr_role r ON r.role_id = o.role_id-->
|
|
<!-- LEFT JOIN mgr_user_role u ON o.role_id = u.role_id-->
|
|
<!-- WHERE r.del_flag = 2-->
|
|
<!-- AND u.user_id = #{authPO.userId}-->
|
|
<!-- AND r.role_code = #{authPO.roleCode}-->
|
|
<!-- ) s-->
|
|
<!-- ORDER BY org_id, half_select) t-->
|
|
<!-- LEFT JOIN cust_org c ON c.org_id = t.org_id-->
|
|
<!-- <where>-->
|
|
<!-- <if test="delFlag != null">-->
|
|
<!-- AND c.if_del = #{delFlag}-->
|
|
<!-- </if>-->
|
|
<!-- <if test="excludeMiddle == 1">-->
|
|
<!-- AND t.half_select = 1-->
|
|
<!-- </if>-->
|
|
<!-- </where>-->
|
|
<!-- </when>-->
|
|
<!-- <otherwise>-->
|
|
<!-- cust_org c-->
|
|
<!-- <where>-->
|
|
<!-- <if test="delFlag != null">-->
|
|
<!-- AND c.if_del = #{delFlag}-->
|
|
<!-- </if>-->
|
|
<!-- </where>-->
|
|
<!-- </otherwise>-->
|
|
<!-- </choose>-->
|
|
<!-- </select>-->
|
|
|
|
<select id="getRoleListByOrgId" resultType="com.bonus.canteen.core.auth.role.entity.MgrRole">
|
|
SELECT mro.role_id
|
|
FROM sys_role_dept mro
|
|
WHERE mro.dept_id = #{orgId}
|
|
# AND mro.half_select = #{excludeMiddle}
|
|
<if test="roleId != null">
|
|
AND mro.role_id != #{roleId}
|
|
</if>
|
|
GROUP BY mro.role_id
|
|
</select>
|
|
</mapper>
|