From 82c1b82a6d46620a5ae493353c37d40da691f716 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 11 九月 2025 10:57:03 +0800
Subject: [PATCH] 优化sql

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/PermissionStreamNewMapper.xml |   62 ++++++++++++++++--------------
 1 files changed, 33 insertions(+), 29 deletions(-)

diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/PermissionStreamNewMapper.xml b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/PermissionStreamNewMapper.xml
index 76f6228..8ef3bdf 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/PermissionStreamNewMapper.xml
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/PermissionStreamNewMapper.xml
@@ -3,36 +3,40 @@
 <mapper namespace="org.jeecg.modules.dnc.mapper.PermissionStreamNewMapper">
     <select id="loadProductMix" resultType="org.jeecg.modules.dnc.entity.ProductMix">
         SELECT DISTINCT
-            mix.id,
-            mix.tree_code 'code',
-                mix.tree_name 'name',
-            mix.parent_id,
-            mix.tree_type AS 'type',
-                mix.extend,
-                mix.create_time
-        FROM
-            nc_product_mix mix -- 杩炴帴鏉冮檺琛紝绛涢�夐儴闂ㄧ浉鍏宠褰�
-                LEFT JOIN nc_permission_stream_new nps_depart ON mix.id = nps_depart.business_id
-                AND nps_depart.delete_flag = '0'
-                        <if test="productIdList != null and productIdList.size() > 0">
-                            AND nps_depart.depart_id IN
-                            <foreach collection="productIdList" item="productId" index="index" open="(" close=")" separator=",">
-                                #{productId}
-                            </foreach>
-                        </if>
-                AND nps_depart.user_id IS NULL -- 杩炴帴鏉冮檺琛紝绛涢�夌敤鎴风浉鍏宠褰�
-                LEFT JOIN nc_permission_stream_new nps_user ON mix.id = nps_user.business_id
-                AND nps_user.user_id = #{userId}
-                AND nps_user.delete_flag = '0'
-        WHERE
-            nps_depart.business_id IS NOT NULL
-          AND nps_user.business_id IS NOT NULL
-        order by mix.tree_type, mix.create_time asc
+        mix.id,
+        mix.tree_code AS 'code',
+        mix.tree_name AS 'name',
+        mix.parent_id,
+        mix.tree_type AS 'type',
+        mix.extend,
+        mix.create_time
+        FROM nc_product_mix mix
+        WHERE EXISTS (
+        SELECT 1
+        FROM nc_permission_stream_new nps_depart
+        WHERE nps_depart.business_id = mix.id
+        AND nps_depart.delete_flag = '0'
+        AND nps_depart.user_id IS NULL
+        <if test="productIdList != null and productIdList.size() > 0">
+            AND nps_depart.depart_id IN
+            <foreach collection="productIdList" item="productId" open="(" close=")" separator=",">
+                #{productId}
+            </foreach>
+        </if>
+        )
+        AND EXISTS (
+        SELECT 1
+        FROM nc_permission_stream_new nps_user
+        WHERE nps_user.business_id = mix.id
+        AND nps_user.user_id = #{userId}
+        AND nps_user.delete_flag = '0'
+        )
+        ORDER BY mix.tree_type, mix.create_time ASC;
     </select>
     <select id="loadProductMixAll" resultType="org.jeecg.modules.dnc.entity.ProductMix">
         SELECT DISTINCT mix.id,
-                        mix.tree_code    'code',
-                        mix.tree_name    'name',
+                        mix.tree_code ,
+                        mix.tree_name ,
                         mix.parent_id,
                         mix.tree_type AS 'type',
                         mix.extend,
@@ -92,8 +96,8 @@
         )
         SELECT DISTINCT
             mix.id,
-            mix.tree_code 'code',
-            mix.tree_name 'name',
+            mix.tree_code,
+            mix.tree_name,
             mix.parent_id,
             mix.tree_type AS 'type',
             mix.extend,

--
Gitblit v1.9.3