From 02e7ca80d849ad8a99974bd08f9e68a78f36d601 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 16 一月 2024 21:51:45 +0800 Subject: [PATCH] 分类授权数据授权界面编写与接口修改 --- Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml | 81 ++++++++++++++++++++++++---------------- 1 files changed, 49 insertions(+), 32 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml index df3421c..8316436 100644 --- a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml @@ -219,30 +219,22 @@ ) menu ORDER BY sort </select> - <select id="getButtonByParentCode" resultMap="menuResultMap"> - SELECT - id, - parent_id, - code, - name, - alias, - PATH, - SOURCE, - ACTION, - sort - FROM - PL_SYS_MENU - WHERE - "CATEGORY" = '2' - AND IS_DELETED = 0 - AND PARENT_ID IN ( - SELECT - ID - FROM - PL_SYS_MENU - WHERE - CODE = #{code}) - ORDER BY SORT + <select id="getButtonsByRoleIdAndCode" resultMap="menuResultMap"> + SELECT pm.* + FROM PL_SYS_MENU ps, + PL_SYS_MENU pm, + PL_ORG_ROLE_MENU prom + WHERE ps.ID = prom.MENU_ID + <if test="roleId != null and roleId != ''"> + AND prom.ROLE_ID = #{roleId} + </if> + AND ps."CATEGORY" = 1 + AND pm.IS_DELETED = 0 + <if test="code != null and code != ''"> + AND ps.ID = pm.PARENT_ID + AND ps.CODE = #{code} + </if> + ORDER BY pm.SORT ASC </select> <select id="grantTree" resultMap="treeNodeResultMap"> @@ -513,15 +505,40 @@ and ps.category = 1 and ps.CODE = #{btmType} and ps.ID = pm.PARENT_ID - <if test="roleIds != null and roleIds != ''"> - and ps.ID in ( - SELECT menu_id FROM pl_org_role_menu WHERE role_id IN - <foreach collection="roleIds" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> - ) - </if> + <if test="roleIds != null and roleIds != ''"> + and ps.ID in ( + SELECT menu_id FROM pl_org_role_menu WHERE role_id IN + <foreach collection="roleIds" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + </if> order by pm.sort asc </select> + <select id="getButtonByIdsOrByParentCode" resultMap="menuResultMap"> + SELECT pm.* + FROM PL_SYS_MENU ps, + PL_SYS_MENU pm, + PL_ORG_ROLE_MENU prom + WHERE ps.ID = prom.MENU_ID + <if test="roleIds != null and roleIds != ''"> + AND prom.ROLE_ID in (#{roleIds}) + </if> + AND ps."CATEGORY" = 1 + AND pm.IS_DELETED = 0 + <if test="code != null and code != ''"> + AND ps.ID = pm.PARENT_ID + AND ps.CODE = #{code} + </if> + <if test="ids != null and ids != ''"> + AND ps.ID IN ( + <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + </if> + ORDER BY pm.SORT ASC + </select> + </mapper> -- Gitblit v1.9.3