From 2cba01a6b6f67cfa97d0c4e0cc589302fab817ba Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Wed, 24 Jul 2024 11:41:37 +0800
Subject: [PATCH] 查询有变形水库

---
 skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
index d1e9b06..51dd414 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
@@ -39,14 +39,62 @@
         select id, parent_id, role_name as title, id as "value", id as "key" from blade_role where is_deleted = 0
         <if test="_parameter!=null and _parameter!=''">
             and (
-                id = #{_parameter} or parent_id = #{_parameter} or parent_id in (
-                select b.id from blade_role b where b.is_deleted = 0 and b.PARENT_ID = #{_parameter}
+                (
+                    <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                        id = #{parentId}
+                    </foreach>
+                )
+                or
+                (
+                    <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                        parent_id = #{parentId}
+                    </foreach>
+                )
+
+                    or parent_id in (
+                select b.id from blade_role b where b.is_deleted = 0 and
+                    (
+                        <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                            b.PARENT_ID = #{parentId}
+                        </foreach>
+                    )
+
                 ) or role_alias like '%zrr'
             )
         </if>
         ORDER BY sort
     </select>
 
+    <select id="treeByParentIdNew" resultMap="treeNodeResultMap">
+        select id, parent_id, role_name as title, id as "value", id as "key" from blade_role where is_deleted = 0
+        <if test="_parameter!=null and _parameter!=''">
+            and (
+            (
+            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                id = #{parentId}
+            </foreach>
+            )
+            or
+            (
+            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                parent_id = #{parentId}
+            </foreach>
+            )
+
+            or parent_id in (
+            select b.id from blade_role b where b.is_deleted = 0 and
+            (
+            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
+                b.PARENT_ID = #{parentId}
+            </foreach>
+            )
+
+            )
+            )
+        </if>
+        ORDER BY sort
+    </select>
+
     <select id="getRoleNames" resultType="java.lang.String">
         SELECT
         role_name

--
Gitblit v1.9.3