From f09e05514d9a9e2623cfa73c4de1ffa98bb30bf8 Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期二, 23 一月 2024 10:09:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MenuMapper.xml | 641 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 339 insertions(+), 302 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..68dd8a2 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 @@ -44,19 +44,19 @@ <result column="key" property="key"/> </resultMap> - <select id="lazyList" resultMap="menuVOResultMap"> + <select id="lazyList" resultMap="menuVOResultMap"> SELECT - menu.*, - ( - SELECT - CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END - FROM - pl_sys_menu - WHERE - parent_id = menu.id AND is_deleted = 0 + menu.*, + ( + SELECT + CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END + FROM + pl_sys_menu + WHERE + parent_id = menu.id AND is_deleted = 0 ) AS "has_children" FROM - pl_sys_menu menu + pl_sys_menu menu WHERE menu.is_deleted = 0 <if test="param1!=null"> and menu.parent_id = #{param1} @@ -75,17 +75,17 @@ <select id="lazyMenuPage" resultMap="menuVOResultMap"> SELECT - menu.*, - ( - SELECT - CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END + menu.*, + ( + SELECT + CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM - pl_sys_menu + pl_sys_menu WHERE - parent_id = menu.id AND is_deleted = 0 AND category = 1 + parent_id = menu.id AND is_deleted = 0 AND category = 1 ) AS "has_children" FROM - pl_sys_menu menu + pl_sys_menu menu WHERE menu.is_deleted = 0 AND menu.category = 1 <if test="param1!=null"> and menu.parent_id = #{param1} @@ -103,11 +103,17 @@ </select> <select id="tree" resultMap="treeNodeResultMap"> - select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where is_deleted = 0 and category = 1 + select id, parent_id, name as title, id as "value", id as "key" + from pl_sys_menu + where is_deleted = 0 + and category = 1 </select> <select id="allMenu" resultMap="menuResultMap"> - select * from pl_sys_menu where is_deleted = 0 and category = 1 + select * + from pl_sys_menu + where is_deleted = 0 + and category = 1 </select> <select id="roleMenu" resultMap="menuResultMap"> @@ -127,49 +133,56 @@ <select id="roleMenuByRoleId" resultMap="menuResultMap"> select * from pl_sys_menu where is_deleted = 0 and id IN - ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> - ) + ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) </select> <select id="roleMenuByTopMenuId" resultMap="menuResultMap"> - select * from pl_sys_menu where is_deleted = 0 and id IN + select * + from pl_sys_menu + where is_deleted = 0 + and id IN ( - SELECT menu_id FROM pl_sys_top_menu_setting WHERE top_menu_id = #{param1} + SELECT menu_id + FROM pl_sys_top_menu_setting + WHERE top_menu_id = #{param1} ) </select> <select id="routes" resultMap="menuResultMap"> SELECT - * + * FROM - pl_sys_menu + pl_sys_menu WHERE - is_deleted = 0 and category = 1 - and id IN ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> ) + is_deleted = 0 and category = 1 + and id IN ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) </select> <select id="allButtons" resultMap="menuResultMap"> - SELECT - id, - parent_id, - CODE, - NAME, - alias, - path, - source, + SELECT id, + parent_id, + CODE, + NAME, + alias, + path, + source, action, sort FROM pl_sys_menu WHERE ( - category = 2 OR id IN ( SELECT parent_id FROM pl_sys_menu WHERE is_deleted = 0 AND category = 2 ) + category = 2 + OR id IN ( SELECT parent_id FROM pl_sys_menu WHERE is_deleted = 0 + AND category = 2 ) ) AND is_deleted = 0 ORDER BY sort @@ -177,82 +190,78 @@ <select id="buttons" resultMap="menuResultMap"> SELECT * FROM ( - SELECT - id, - parent_id, - code, - name, - alias, - path, - source, - action, - sort - FROM - pl_sys_menu - WHERE - is_deleted = 0 and id IN ( - SELECT parent_id FROM pl_sys_menu - WHERE ( category = 2 AND id IN ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> - ) ) ) - UNION ALL + SELECT + id, + parent_id, + code, + name, + alias, + path, + source, + action, + sort + FROM + pl_sys_menu + WHERE + is_deleted = 0 and id IN ( + SELECT parent_id FROM pl_sys_menu + WHERE ( category = 2 AND id IN ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) ) ) + UNION ALL - SELECT - id, - parent_id, - code, - name, - alias, - path, - source, - action, - sort - FROM - pl_sys_menu - WHERE - is_deleted = 0 and category = 2 AND id IN ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach>) + SELECT + id, + parent_id, + code, + name, + alias, + path, + source, + action, + sort + FROM + pl_sys_menu + WHERE + is_deleted = 0 and category = 2 AND id IN ( SELECT menu_id FROM pl_org_role_menu WHERE role_id IN + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach>) ) 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 + <select id="getButtonsByRoleIdAndCode" resultMap="menuResultMap"> + SELECT pm.* + FROM PL_SYS_MENU ps, + PL_SYS_MENU pm + <if test="roleId != null and roleId != ''"> + ,PL_ORG_ROLE_MENU prom + </if> WHERE - "CATEGORY" = '2' - AND IS_DELETED = 0 - AND PARENT_ID IN ( - SELECT - ID - FROM - PL_SYS_MENU - WHERE - CODE = #{code}) - ORDER BY SORT + ps."CATEGORY" = 1 + <if test="roleId != null and roleId != ''"> + AND pm.ID = prom.MENU_ID + AND prom.ROLE_ID = #{roleId} + </if> + 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"> - select - id, + select id, parent_id, name as title, - id as "value", - id as "key" - from pl_sys_menu where is_deleted = 0 order by sort + id as "value", + id as "key" + from pl_sys_menu + where is_deleted = 0 + order by sort </select> <select id="grantTreeByRole" resultMap="treeNodeResultMap"> @@ -260,102 +269,95 @@ and id in ( select menu_id from pl_org_role_menu where role_id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} - </foreach> ) - or id in ( - select parent_id from pl_sys_menu where is_deleted = 0 - and id in ( select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> ) - ) - order by sort - </select> - - <select id="grantTopTree" resultMap="treeNodeResultMap"> - select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where category = 1 and is_deleted = 0 order by sort - </select> - - <select id="grantTopTreeByRole" resultMap="treeNodeResultMap"> - select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where category = 1 and is_deleted = 0 - and id in ( select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> ) + </foreach> + ) or id in ( select parent_id from pl_sys_menu where is_deleted = 0 and id in ( select menu_id from pl_org_role_menu where role_id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} - </foreach> ) + </foreach> + ) + ) + order by sort + </select> + + <select id="grantTopTree" resultMap="treeNodeResultMap"> + select id, parent_id, name as title, id as "value", id as "key" + from pl_sys_menu + where category = 1 + and is_deleted = 0 + order by sort + </select> + + <select id="grantTopTreeByRole" resultMap="treeNodeResultMap"> + select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where category = 1 and + is_deleted = 0 + and id in ( select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + or id in ( + select parent_id from pl_sys_menu where is_deleted = 0 + and id in ( select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) ) order by sort </select> <select id="grantDataScopeTree" resultMap="treeNodeResultMap"> - SELECT - * - FROM - ( - SELECT - id, - parent_id, - NAME AS title, - id AS "value", - id AS "key" - FROM - pl_sys_menu - WHERE - category = 1 - AND is_deleted = 0 - AND id IN ( SELECT menu_id FROM pl_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL ) - ) menu + SELECT * + FROM ( + SELECT id, + parent_id, + NAME AS title, + id AS "value", + id AS "key" + FROM pl_sys_menu + WHERE category = 1 + AND is_deleted = 0 + AND id IN (SELECT menu_id FROM pl_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL) + ) menu UNION ALL - SELECT - id, - menu_id AS parent_id, - scope_name AS title, - id AS "value", - id AS "key" - FROM - pl_auth_scope_data - WHERE - is_deleted = 0 + SELECT id, + menu_id AS parent_id, + scope_name AS title, + id AS "value", + id AS "key" + FROM pl_auth_scope_data + WHERE is_deleted = 0 AND menu_id IS NOT NULL </select> <select id="grantApiScopeTree" resultMap="treeNodeResultMap"> - SELECT - * - FROM - ( - SELECT - id, - parent_id, - NAME AS title, - id AS "value", - id AS "key" - FROM - pl_sys_menu - WHERE - category = 1 - AND is_deleted = 0 - AND id IN ( SELECT menu_id FROM pl_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL ) - ) menu + SELECT * + FROM ( + SELECT id, + parent_id, + NAME AS title, + id AS "value", + id AS "key" + FROM pl_sys_menu + WHERE category = 1 + AND is_deleted = 0 + AND id IN (SELECT menu_id FROM pl_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL) + ) menu UNION ALL - SELECT - id, - menu_id AS parent_id, - scope_name AS title, - id AS "value", - id AS "key" - FROM - pl_auth_scope_api - WHERE - is_deleted = 0 + SELECT id, + menu_id AS parent_id, + scope_name AS title, + id AS "value", + id AS "key" + FROM pl_auth_scope_api + WHERE is_deleted = 0 AND menu_id IS NOT NULL </select> @@ -364,61 +366,63 @@ * FROM ( - SELECT - id, - parent_id, - NAME AS title, - id AS "value", - id AS "key" - FROM - pl_sys_menu - WHERE - category = 1 - AND is_deleted = 0 - AND id IN ( SELECT menu_id FROM pl_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL ) - AND ( - id IN ( - select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> - ) - OR id IN ( - select parent_id from pl_sys_menu where is_deleted = 0 - and id in ( select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> ) - ) - ) + SELECT + id, + parent_id, + NAME AS title, + id AS "value", + id AS "key" + FROM + pl_sys_menu + WHERE + category = 1 + AND is_deleted = 0 + AND id IN ( SELECT menu_id FROM pl_auth_scope_data WHERE is_deleted = 0 AND menu_id IS NOT NULL ) + AND ( + id IN ( + select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + OR id IN ( + select parent_id from pl_sys_menu where is_deleted = 0 + and id in ( select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + ) + ) ) menu UNION ALL SELECT - id, - menu_id AS parent_id, - scope_name AS title, - id AS "value", - id AS "key" + id, + menu_id AS parent_id, + scope_name AS title, + id AS "value", + id AS "key" FROM - pl_auth_scope_data + pl_auth_scope_data WHERE - is_deleted = 0 + is_deleted = 0 AND ( - menu_id IN ( - select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> - ) - OR menu_id IN ( - select parent_id from pl_sys_menu where is_deleted = 0 - and id in ( select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> ) - ) + menu_id IN ( + select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + OR menu_id IN ( + select parent_id from pl_sys_menu where is_deleted = 0 + and id in ( select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + ) ) AND menu_id IS NOT NULL </select> @@ -428,100 +432,133 @@ * FROM ( - SELECT - id, - parent_id, - NAME AS title, - id AS "value", - id AS "key" - FROM - pl_sys_menu - WHERE - category = 1 - AND is_deleted = 0 - AND id IN ( SELECT menu_id FROM pl_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL ) - AND ( - id IN ( - select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> - ) - OR id IN ( - select parent_id from pl_sys_menu where is_deleted = 0 - and id in ( - select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> ) - ) - ) + SELECT + id, + parent_id, + NAME AS title, + id AS "value", + id AS "key" + FROM + pl_sys_menu + WHERE + category = 1 + AND is_deleted = 0 + AND id IN ( SELECT menu_id FROM pl_auth_scope_api WHERE is_deleted = 0 AND menu_id IS NOT NULL ) + AND ( + id IN ( + select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + OR id IN ( + select parent_id from pl_sys_menu where is_deleted = 0 + and id in ( + select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + ) + ) ) menu UNION ALL SELECT - id, - menu_id AS parent_id, - scope_name AS title, - id AS "value", - id AS "key" + id, + menu_id AS parent_id, + scope_name AS title, + id AS "value", + id AS "key" FROM - pl_auth_scope_api + pl_auth_scope_api WHERE - is_deleted = 0 + is_deleted = 0 AND - ( - menu_id IN ( - select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> - ) - OR menu_id IN ( - select parent_id from pl_sys_menu where is_deleted = 0 - and id in ( select menu_id from pl_org_role_menu where role_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> ) - ) + ( + menu_id IN ( + select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + OR menu_id IN ( + select parent_id from pl_sys_menu where is_deleted = 0 + and id in ( select menu_id from pl_org_role_menu where role_id in + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + ) + ) ) AND menu_id IS NOT NULL </select> <select id="authRoutes" resultType="com.vci.ubcs.system.dto.MenuDTO"> SELECT - GROUP_CONCAT(r.role_alias) as alias, - m.path + GROUP_CONCAT(r.role_alias) as alias, + m.path FROM - pl_org_role_menu rm - LEFT JOIN pl_sys_menu m ON rm.menu_id = m.id - LEFT JOIN pl_org_role r ON rm.role_id = r.id + pl_org_role_menu rm + LEFT JOIN pl_sys_menu m ON rm.menu_id = m.id + LEFT JOIN pl_org_role r ON rm.role_id = r.id WHERE - rm.role_id IN - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} - </foreach> - AND m.path IS NOT NULL and m.is_deleted = 0 + rm.role_id IN + <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + AND m.path IS NOT NULL and m.is_deleted = 0 GROUP BY m.path </select> <select id="selectMenuChildByBtnType" resultMap="menuResultMap"> select pm.* - from pl_sys_menu ps, pl_sys_menu pm + from pl_sys_menu ps, pl_sys_menu pm where pm.is_deleted = 0 - 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> + 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> order by pm.sort asc </select> + <select id="getButtonByIdsOrByParentCode" resultMap="menuResultMap"> + SELECT + pm.* + FROM + PL_SYS_MENU pm + <if test="code != null and code != ''"> + ,PL_SYS_MENU ps + </if> + <if test="roleIds != null and roleIds != ''"> + ,PL_ORG_ROLE_MENU prom + </if> + WHERE + pm.IS_DELETED = 0 + AND pm."CATEGORY" = 2 + <if test="code != null and code != ''"> + AND ps."CATEGORY" = 1 + AND ps.ID = pm.PARENT_ID + AND ps.CODE = #{code} + </if> + <if test="roleIds != null and roleIds != ''"> + AND pm.ID = prom.MENU_ID + AND prom.ROLE_ID in (#{roleIds}) + </if> + <if test="ids != null and ids != ''"> + AND pm.ID IN + <foreach collection="ids" index="index" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + ORDER BY SORT ASC + </select> + </mapper> -- Gitblit v1.9.3