kcscDev/kcsc-back-end/src/main/resources/mybatisMapper/TcMenuMapper.xml

65 lines
1.8 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.dbnt.kcscbackend.admin.config.mapper.TcMenuMapper">
<select id="selectMenuList" resultType="TcMenu">
select a.menu_id,
a.menu_title,
a.role_grp_id,
a.menu_group,
a.menu_level,
a.menu_sort,
a.menu_url,
a.menu_type_cd,
a.use_yn,
a.frst_crt_id,
a.frst_crt_dt,
a.last_chg_id,
a.last_chg_dt,
b.item_nm as menu_type_value
from tc_menu a
inner join tc_code_item b on a.menu_type_cd = b.item_cd
where a.use_yn = 'Y'
order by menu_type_cd desc, menu_id asc
</select>
<select id="selectMenuAuthList" resultType="TcMenu">
select a.menu_id ,
a.menu_title ,
a.menu_group ,
a.menu_url,
coalesce(b.role_cd, '') as menu_auth
from tc_menu a
left outer join (
select menu_id , string_agg(role_id, ',') as role_cd
from tb_menu_role
group by menu_id
) b on a.menu_id = b.menu_id
where a.use_yn = 'Y'
order by a.menu_id asc
</select>
<select id="selectMenuListToRole" resultType="TcMenu" parameterType="TcMenu">
select a.menu_id ,
a.menu_title ,
a.menu_group ,
a.menu_url,
c.menu_title as group_title,
coalesce(b.role_cd, '') as menu_auth
from tc_menu a
inner join (
select menu_id , string_agg(role_id, ',') as role_cd
from tb_menu_role
where role_id in
<foreach collection="roleList" item="role" separator="," open="(" close=")">
#{role}
</foreach>
group by menu_id
) b on a.menu_id = b.menu_id
inner join tc_menu c on a.menu_group = c.menu_id
where a.use_yn = 'Y'
and a.menu_type_cd = #{menuTypeCd}
order by a.menu_id asc
</select>
</mapper>