From 96be94fc3c33c49e15b538bebbea455e839a7a7b Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期二, 10 六月 2025 16:32:12 +0800 Subject: [PATCH] 数字孪生看板接口 维修service提取到公共模块 --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/MdcProductionMapper.xml | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 171 insertions(+), 1 deletions(-) diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/MdcProductionMapper.xml b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/MdcProductionMapper.xml index 119e935..ae5f5d3 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/MdcProductionMapper.xml +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/MdcProductionMapper.xml @@ -31,4 +31,174 @@ <select id="findThreeProductionId" resultType="java.lang.String"> SELECT TOP 1 t2.id id FROM mdc_user_production t1 LEFT JOIN mdc_production t2 ON t1.pro_id = t2.id WHERE t1.user_id = #{userId} AND t2.org_type = '3' </select> -</mapper> \ No newline at end of file + <select id="findAllProductionId" resultType="org.jeecg.modules.system.entity.MdcProduction"> + SELECT + t1.* + FROM + mdc_production t1 + LEFT JOIN mdc_user_production t2 ON t1.id = t2.pro_id + LEFT JOIN sys_user t3 on t3.ID=t2.user_id + WHERE + t3.id = #{userId} + AND t1.org_type = '3' + </select> + + <select id="recursionChildrenByList" resultType="java.lang.String"> + WITH temp (id) AS ( + -- 鍒濆鏌ヨ锛岃幏鍙栨寚瀹� id 鐨勮褰� + SELECT + id + FROM + mdc_production + WHERE + id IN + <foreach collection = "productionIds" item = "id" index = "index" open = "(" close = ")" separator = ","> + #{id} + </foreach> + UNION ALL + -- 閫掑綊鏌ヨ锛屾煡鎵惧瓙鑺傜偣 + SELECT + a.id + FROM + mdc_production a + INNER JOIN temp ON a.parent_id = temp.id + ) +-- 鏈�缁堟煡璇紝浣跨敤 DISTINCT 鍘婚噸 + SELECT DISTINCT + id + FROM + temp; + </select> + + <select id="findChildren" resultType="java.lang.String"> + WITH temp ( id ) AS ( + SELECT + id + FROM + mdc_production + WHERE + id IN + <foreach collection="mdcProductionIds" item = "id" index = "index" open = "(" close = ")" separator = ","> + #{id} + </foreach> + AND mdc_flag = '1' UNION ALL + SELECT + a.id + FROM + mdc_production a + INNER JOIN temp ON a.parent_id = temp.id + WHERE + a.mdc_flag = '1' + ) SELECT + * + FROM + temp + </select> + + <select id="loadProductionOptions" resultType="org.jeecg.modules.system.entity.MdcProduction"> + SELECT + t1.* + FROM + mdc_production t1 + LEFT JOIN mdc_user_production t2 ON t1.id = t2.pro_id + WHERE + t2.user_id = #{userId} AND t1.mdc_flag = '1' + <choose> + <when test="productionId != null and productionId != ''"> + AND t1.org_type = '3' AND t1.parent_id = #{productionId} + </when> + <otherwise> + AND t1.org_type = '2' + </otherwise> + </choose> + ORDER BY t1.production_order + </select> + + <select id="findTeamValue" resultType="java.lang.String"> + SELECT DISTINCT + t1.team_code deamCode + FROM + mdc_equipment t1 + LEFT JOIN mdc_production_equipment t2 ON t1.id = t2.equipment_id + WHERE t2.production_id IN + <foreach collection="productionList" item = "productionId" index = "index" open = "(" close= ")" separator = ","> + #{productionId} + </foreach> + </select> + + <select id="findProIdsByUId" resultType="java.lang.String"> + SELECT + pro_id + FROM + mdc_user_production + WHERE + pro_id IN + <foreach collection="allProductionIds" item = "productionId" index = "index" open = "(" close= ")" separator = ","> + #{productionId} + </foreach> + AND user_id = #{userId} + </select> + + <select id="findChildByProId" resultType="java.lang.String"> + WITH temp ( id ) AS ( + SELECT + id + FROM + mdc_production + WHERE + id = #{ productionId } + AND mdc_flag = '1' UNION ALL + SELECT + a.id + FROM + mdc_production a + INNER JOIN temp ON a.parent_id = temp.id + WHERE + a.mdc_flag = '1' + ) SELECT + * + FROM + temp + </select> + + <select id="findProName" resultType="java.lang.String"> + WITH production_hierarchy AS ( + SELECT + t3.id, + t3.parent_id, + t3.production_name, + t3.org_type, + 0 AS level + FROM + mdc_equipment t1 + JOIN + mdc_production_equipment t2 ON t1.id = t2.equipment_id + JOIN + mdc_production t3 ON t2.production_id = t3.id + WHERE + t1.equipment_id = #{equipmentId} + + UNION ALL + SELECT + t4.id, + t4.parent_id, + t4.production_name, + t4.org_type, + ph.level + 1 + FROM + production_hierarchy ph + JOIN + mdc_production t4 ON ph.parent_id = t4.id + WHERE + ph.parent_id IS NOT NULL + ) + SELECT TOP 1 + production_name + FROM + production_hierarchy + WHERE + org_type = 2 + ORDER BY + level ASC + </select> +</mapper> -- Gitblit v1.9.3