From cc44920da3d40b8248b67560026e891afdd1a6ab Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期四, 08 五月 2025 17:57:14 +0800 Subject: [PATCH] 1.查询可以被引用的部件接口开发完成 2.借用部件(可批量) 开发完成 3.修改原有新增、修改部件接口 完成 4.修改原有删除文档与导入文档接口 完成 5.修改工作流问题 --- lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/mapper/xml/PermissionStreamNewMapper.xml | 78 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 78 insertions(+), 0 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 e7552dc..76f6228 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 @@ -44,4 +44,82 @@ WHERE nps_user.business_id IS NOT NULL order by mix.tree_type, mix.create_time asc </select> + <select id="loadProductMixByBusinessId" resultType="org.jeecg.modules.dnc.entity.ProductMix"> + WITH CTE_Hierarchy AS ( + SELECT + CAST(id AS VARCHAR(36)) AS id, + CAST(parent_id AS VARCHAR(36)) AS parent_id, + 1 AS LEVEL, + CAST('#' + id + '#' AS VARCHAR(MAX)) AS visit_path + FROM + nc_product_mix + WHERE + id = #{businessId} + AND tree_type = #{businessType} + UNION ALL + -- 鍚戜笂閫掑綊鐖惰妭鐐癸紙甯﹀惊鐜娴嬶級 + SELECT + CAST(p.id AS VARCHAR(36)), + CAST(p.parent_id AS VARCHAR(36)), + h.level + 1, + CAST(h.visit_path + '#' + p.id + '#' AS VARCHAR(MAX)) + FROM + nc_product_mix p + INNER JOIN CTE_Hierarchy h ON CAST(p.id AS VARCHAR(36)) = h.parent_id + WHERE + p.tree_type = #{businessType} + AND h.visit_path NOT LIKE '%#' + p.id + '#%' + AND h.level < 1000 + UNION ALL + -- 鍚戜笅閫掑綊瀛愯妭鐐癸紙甯﹀惊鐜娴嬶級 + SELECT + CAST(c.id AS VARCHAR(36)), + CAST(c.parent_id AS VARCHAR(36)), + h.level + 1, + CAST(h.visit_path + '#' + c.id + '#' AS VARCHAR(MAX)) + FROM + nc_product_mix c + INNER JOIN CTE_Hierarchy h ON CAST(c.parent_id AS VARCHAR(36)) = h.id + WHERE + c.tree_type = #{businessType} + AND h.visit_path NOT LIKE '%#' + c.id + '#%' + AND h.level < 1000 + ), + ExclusionCTE AS ( + SELECT DISTINCT id + FROM CTE_Hierarchy + WHERE LEVEL BETWEEN 1 AND 1000 + ) + 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 + AND mix.tree_type = #{businessType} + AND NOT EXISTS (SELECT 1 FROM ExclusionCTE e WHERE e.id = mix.id) + ORDER BY + mix.tree_type, + mix.create_time ASC + OPTION (MAXRECURSION 0); + </select> </mapper> -- Gitblit v1.9.3