From 87733eb3623593da247c051593d64b8ff9e1d3a4 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 06 十一月 2026 19:00:39 +0800
Subject: [PATCH] feat(crm,mes): 扩展客户字段与重构批次号生成逻辑

---
 yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml |   29 +++++++++--------------------
 1 files changed, 9 insertions(+), 20 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 2576322..fc31ec1 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
@@ -63,26 +63,15 @@
     -->
     <select id="selectSalesTargetList" parameterType="String"
             resultType="cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchSalesTargetRespVO">
-        SELECT s.code AS sales_code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, s.contact_name,
-               oqc.code AS oqc_code, oqc.check_result AS check_result,
-               sl.batch_code, sl.item_id, sl.quantity, sl.quality_status
-        FROM mes_wm_product_sales_line sl
-        JOIN mes_wm_product_sales s ON s.id = sl.sales_id AND s.deleted = 0
-        LEFT JOIN mes_qc_oqc oqc ON oqc.id = sl.oqc_id AND oqc.deleted = 0
-        WHERE sl.batch_code = #{batchCode} AND sl.deleted = 0 AND s.status != 5
-          AND NOT EXISTS (SELECT 1 FROM mes_wm_product_sales_detail d
-                          WHERE d.line_id = sl.id AND d.batch_code = #{batchCode} AND d.deleted = 0)
-        UNION ALL
-        SELECT s.code AS sales_code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, s.contact_name,
-               oqc.code AS oqc_code, oqc.check_result AS check_result,
-               d.batch_code, d.item_id, SUM(d.quantity) AS quantity, MAX(sl.quality_status) AS quality_status
-        FROM mes_wm_product_sales_detail d
-        JOIN mes_wm_product_sales s ON s.id = d.sales_id AND s.deleted = 0
-        JOIN mes_wm_product_sales_line sl ON sl.id = d.line_id AND sl.deleted = 0
-        LEFT JOIN mes_qc_oqc oqc ON oqc.id = sl.oqc_id AND oqc.deleted = 0
-        WHERE d.batch_code = #{batchCode} AND d.deleted = 0 AND s.status != 5
-        GROUP BY s.id, s.code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, s.contact_name,
-                 oqc.code, oqc.check_result, d.batch_code, d.item_id
+        SELECT s.code AS sales_code, tx.shipment_id, COALESCE(sh.outbound_time, MAX(tx.transaction_time)) AS sales_date,
+               s.sales_order_code, s.client_id, s.client_name, s.contact_name,
+               tx.batch_code, tx.item_id, -SUM(tx.quantity) AS quantity
+        FROM mes_wm_transaction tx
+        JOIN mes_wm_product_sales s ON s.id = tx.biz_id AND s.deleted = 0
+        LEFT JOIN mes_wm_product_sales_shipment sh ON sh.id = tx.shipment_id AND sh.deleted = 0
+        WHERE tx.batch_code = #{batchCode} AND tx.deleted = 0 AND tx.biz_type = 119 AND tx.type = 2
+        GROUP BY s.id, s.code, tx.shipment_id, sh.outbound_time, s.sales_order_code,
+                 s.client_id, s.client_name, s.contact_name, tx.batch_code, tx.item_id
         ORDER BY sales_date
     </select>
 

--
Gitblit v1.9.3