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