From 3990ae574c221e3764ce9cbc2e4e3eb71b7b1b52 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期六, 24 十月 2026 23:41:23 +0800
Subject: [PATCH] fix(mes): 修复批次正反向追溯链路
---
yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml | 54 ++++++++++++++++++++++++++++--------------------------
1 files changed, 28 insertions(+), 26 deletions(-)
diff --git a/yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml b/yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml
index 0eda416..bfa05b0 100644
--- a/yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml
+++ b/yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml
@@ -10,37 +10,39 @@
</resultMap>
<!--
- 鍚戝墠杩芥函锛氫粠鏌愪釜鍘熸潗鏂欐壒娆″嚭鍙戯紝鏌ユ壘瀹冭鍝簺宸ュ崟娑堣�楀悗锛屼骇鍑轰簡鍝簺鎴愬搧鎵规
- 閾捐矾锛氬簱瀛樹簨鍔�(娑堣�� OUT, biz=123, biz_id=娑堣�楀崟id) 鈫� 娑堣�楀崟 鈫� 鎶ュ伐 鈫� 浜у嚭鍗�(feedback_id) 鈫� 搴撳瓨浜嬪姟(浜у嚭 IN, biz=124, biz_id=浜у嚭鍗昳d) 鈫� 鎵规
+ 鍚戝墠杩芥函锛氬師鏂欐秷鑰楁槑缁� 鈫� 娑堣�楀崟 鈫� 浜у搧浜у嚭鍗� 鈫� 浜у搧浜у嚭琛屻��
+ 鏂版暟鎹紭鍏堟寜 feedback_id 绮剧‘鍏宠仈锛涘巻鍙�/鑷姩鐢熸垚鍗曟嵁缂哄皯 feedback_id 鏃讹紝
+ 閫�鍖栦负鍚屼竴 work_order_id 鍏宠仈锛屼繚璇佸凡鏈夌敓浜ф暟鎹篃鑳藉舰鎴愭壒娆¢摼璺��
-->
<select id="selectListByForward" parameterType="String" resultMap="BatchTraceResult">
- SELECT DISTINCT pf.work_order_id, pf.item_id, tx_produce.batch_id, tx_produce.batch_code
- FROM mes_wm_transaction tx_consume
- JOIN mes_wm_item_consume ic ON tx_consume.biz_id = ic.id AND tx_consume.biz_type = 123 AND ic.deleted = 0
- JOIN mes_pro_feedback pf ON pf.id = ic.feedback_id AND pf.deleted = 0
- JOIN mes_wm_product_produce pp ON pp.feedback_id = pf.id AND pp.deleted = 0
- JOIN mes_wm_transaction tx_produce ON tx_produce.biz_id = pp.id AND tx_produce.biz_type = 124 AND tx_produce.deleted = 0
- WHERE tx_consume.batch_code = #{batchCode}
- AND tx_consume.biz_type = 123
- AND tx_consume.deleted = 0
- AND tx_produce.batch_id IS NOT NULL
+ SELECT DISTINCT pp.work_order_id, ppl.item_id, ppl.batch_id, ppl.batch_code
+ FROM mes_wm_item_consume_detail icd
+ JOIN mes_wm_item_consume ic ON ic.id = icd.consume_id AND ic.deleted = 0
+ JOIN mes_wm_product_produce pp ON pp.deleted = 0 AND (
+ (ic.feedback_id IS NOT NULL AND pp.feedback_id = ic.feedback_id)
+ OR ((ic.feedback_id IS NULL OR pp.feedback_id IS NULL)
+ AND pp.work_order_id = ic.work_order_id)
+ )
+ JOIN mes_wm_product_produce_line ppl ON ppl.produce_id = pp.id AND ppl.deleted = 0
+ WHERE icd.batch_code = #{batchCode}
+ AND icd.deleted = 0
+ AND ppl.batch_id IS NOT NULL
</select>
- <!--
- 鍚戝悗杩芥函锛氫粠鏌愪釜鎴愬搧鎵规鍑哄彂锛屾煡鎵剧敓浜у畠鏃舵秷鑰椾簡鍝簺鍘熸潗鏂欐壒娆�
- 閾捐矾锛氬簱瀛樹簨鍔�(浜у嚭 IN, biz=124, biz_id=浜у嚭鍗昳d) 鈫� 浜у嚭鍗� 鈫� 鎶ュ伐 鈫� 娑堣�楀崟(feedback_id) 鈫� 搴撳瓨浜嬪姟(娑堣�� OUT, biz=123, biz_id=娑堣�楀崟id) 鈫� 鎵规
- -->
+ <!-- 鍚戝悗杩芥函锛氫骇鍝佷骇鍑鸿 鈫� 浜у搧浜у嚭鍗� 鈫� 娑堣�楀崟 鈫� 鍘熸枡娑堣�楁槑缁嗐�傚叧鑱旇鍒欏悓鍚戝墠杩芥函銆� -->
<select id="selectListByBackward" parameterType="String" resultMap="BatchTraceResult">
- SELECT DISTINCT ic.work_order_id, tx_consume.item_id, tx_consume.batch_id, tx_consume.batch_code
- FROM mes_wm_transaction tx_produce
- JOIN mes_wm_product_produce pp ON tx_produce.biz_id = pp.id AND tx_produce.biz_type = 124 AND pp.deleted = 0
- JOIN mes_pro_feedback pf ON pf.id = pp.feedback_id AND pf.deleted = 0
- JOIN mes_wm_item_consume ic ON ic.feedback_id = pf.id AND ic.deleted = 0
- JOIN mes_wm_transaction tx_consume ON tx_consume.biz_id = ic.id AND tx_consume.biz_type = 123 AND tx_consume.deleted = 0
- WHERE tx_produce.batch_code = #{batchCode}
- AND tx_produce.biz_type = 124
- AND tx_produce.deleted = 0
- AND tx_consume.batch_id IS NOT NULL
+ SELECT DISTINCT ic.work_order_id, icd.item_id, icd.batch_id, icd.batch_code
+ FROM mes_wm_product_produce_line ppl
+ JOIN mes_wm_product_produce pp ON pp.id = ppl.produce_id AND pp.deleted = 0
+ JOIN mes_wm_item_consume ic ON ic.deleted = 0 AND (
+ (pp.feedback_id IS NOT NULL AND ic.feedback_id = pp.feedback_id)
+ OR ((pp.feedback_id IS NULL OR ic.feedback_id IS NULL)
+ AND ic.work_order_id = pp.work_order_id)
+ )
+ JOIN mes_wm_item_consume_detail icd ON icd.consume_id = ic.id AND icd.deleted = 0
+ WHERE ppl.batch_code = #{batchCode}
+ AND ppl.deleted = 0
+ AND icd.batch_id IS NOT NULL
</select>
<!-- 鎵规閲囪喘鏉ユ簮锛氭壒娆� 鈫� 閲囪喘鍏ュ簱琛� 鈫� 閲囪喘鍏ュ簱鍗� 鈫� IQC -->
--
Gitblit v1.9.3