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 |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs
index a58ae4b..006f15c 100644
--- a/service/Wom/WomdaaManager.cs
+++ b/service/Wom/WomdaaManager.cs
@@ -109,6 +109,7 @@
 
         var _strMsg = "";
         var _intSum = "";
+        var _cfBar = "";//鎷嗗垎鍚庢潯鐮�
         using (var conn = new SqlConnection(DbHelperSQL.strConn))
         {
             using (var cmd = new SqlCommand("[prc_pda_SCLL_CF]", conn))
@@ -119,8 +120,9 @@
                     cmd.CommandType = CommandType.StoredProcedure;
                     SqlParameter[] parameters =
                     {
-                        new("@outMsg", SqlDbType.NVarChar, 300),
+                        new("@outMsg", SqlDbType.NVarChar, 2000),
                         new("@outSum", SqlDbType.NVarChar, 300),
+                        new("@outCfBar", SqlDbType.NVarChar, 300),
                         new("@c_User", query.userName),
                         new("@p_biLL_no", query.daa001),
                         new("@p_item_barcode", query.barcode),
@@ -128,11 +130,13 @@
                     };
                     parameters[0].Direction = ParameterDirection.Output;
                     parameters[1].Direction = ParameterDirection.Output;
+                    parameters[2].Direction = ParameterDirection.Output;
                     foreach (var parameter in parameters)
                         cmd.Parameters.Add(parameter);
                     cmd.ExecuteNonQuery();
                     _strMsg = parameters[0].Value.ToString();
                     _intSum = parameters[1].Value.ToString();
+                    _cfBar = parameters[2].Value.ToString();
 
 
                     var result = Convert.ToInt32(_intSum);
@@ -141,7 +145,8 @@
                     var dto = new ProductionPickDto
                     {
                         daa001 = query.daa001,
-                        barcode = query.barcode
+                        barcode = query.barcode,//鍘熸潯鐮�
+                        cfBarcode = _cfBar//鎷嗗垎鍚庢潯鐮�
                     };
 
                     return dto;
@@ -615,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
@@ -629,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