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 |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 5 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 3e40a75..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
@@ -26,21 +26,70 @@
 
     <select id="tree" 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="param1!=null">
+        <if test="param1!=null and param1!=''">
             and tenant_id = #{param1}
         </if>
-        <if test="param2!=null">
+        <if test="param2!=null  and param2!=''">
             and role_alias &lt;&gt; #{param2}
         </if>
+        ORDER BY sort
     </select>
 
     <select id="treeByParentId" 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 (
-                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}
-                ) or role_alias = 'appxczrr' or role_alias = 'gldwzrr' or role_alias = 'jszrr' or role_alias = 'zgbmzrr' or role_alias = 'xzzrr'
+                (
+                    <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

--
Gitblit v1.9.3