From b38ef27a088410208e4643c3ab34de433fcf4849 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 08 五月 2025 11:20:38 +0800
Subject: [PATCH] 1.现场收料优化

---
 service/Wom/WomdaaManager.cs |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs
index 2a3909c..006f15c 100644
--- a/service/Wom/WomdaaManager.cs
+++ b/service/Wom/WomdaaManager.cs
@@ -620,13 +620,8 @@
         var sqlParams = new List<SugarParameter> { new("@daa001", query.daa001) };
 
         var sql1 = @"SELECT A.item_out_no,
-       SUM(B.QUANTITY) AS BL_Num,
-       (SELECT ISNULL(SUM(B.QUANTITY), 0)
-        FROM MES_INV_ITEM_OUTS A
-                 LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
-        WHERE out_type = '鐢熶骇棰嗘枡'
-          AND A.task_no = @daa001
-          AND ISNULL(IS_XCSL, '0') = 1) AS JS_Num,
+       SUM(B.QUANTITY)         AS BL_Num,
+       ISNULL(Sub.JS_Sum, 0) AS JS_Num, -- 浣跨敤LEFT JOIN瀛愭煡璇㈢殑缁撴灉
        C.item_no,
        C.item_name,
        D.USER_NAME
@@ -634,9 +629,24 @@
          LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
          LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
          LEFT JOIN SYS_USER D ON A.create_by = D.ACCOUNT
-WHERE out_type = '鐢熶骇棰嗘枡'
+-- 鏂板LEFT JOIN鑱氬悎瀛愭煡璇�
+         LEFT JOIN (SELECT B1.ITEM_ID,
+                           SUM(B1.QUANTITY) AS JS_Sum
+                    FROM MES_INV_ITEM_OUTS A1
+                             LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B1 ON A1.GUID = B1.ITEM_OUT_ID
+                    WHERE A1.out_type = '鐢熶骇棰嗘枡'
+                      AND A1.task_no = @daa001
+                      AND ISNULL(B1.IS_XCSL, '0') = 1
+                    GROUP BY B1.ITEM_ID -- 鎸塈TEM_ID鎻愬墠鑱氬悎
+) AS Sub ON Sub.ITEM_ID = C.item_id
+WHERE A.out_type = '鐢熶骇棰嗘枡'
   AND A.task_no = @daa001
-GROUP BY item_out_no, C.item_no, C.item_name, D.USER_NAME";
+GROUP BY A.item_out_no,
+         C.item_no,
+         C.item_name,
+         D.USER_NAME,
+         C.item_id,
+         ISNULL(Sub.JS_Sum, 0);";
 
         var XcslItem = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);
 

--
Gitblit v1.9.3