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 |   67 +++++++++++++++++++++++++++++++--
 1 files changed, 62 insertions(+), 5 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 2d6770b..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
@@ -197,7 +197,6 @@
                         #{item}
                     </foreach>
                   ) ) )
-
             UNION ALL
 
             SELECT
@@ -220,8 +219,32 @@
         ) menu ORDER BY sort
     </select>
 
+    <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">
-        select id, parent_id, name as title, id as "value", id as "key" from pl_sys_menu where is_deleted = 0 order by sort
+        select
+               id,
+               parent_id,
+               name as title,
+               id as "value",
+               id as "key"
+        from pl_sys_menu where is_deleted = 0 order by sort
     </select>
 
     <select id="grantTreeByRole" resultMap="treeNodeResultMap">
@@ -477,11 +500,45 @@
 
     <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.alias = #{btmType}
-          and ps.id = pm.parent_id order by pm.sort asc
+          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 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