From 0aa54059b26e6641196e9953490dd18616e916e3 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 10 九月 2025 17:26:47 +0800
Subject: [PATCH] 精简修正代码

---
 service/Warehouse/MesXkyShdManager.cs |   59 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 31 insertions(+), 28 deletions(-)

diff --git a/service/Warehouse/MesXkyShdManager.cs b/service/Warehouse/MesXkyShdManager.cs
index 3ab65b1..5b50dd9 100644
--- a/service/Warehouse/MesXkyShdManager.cs
+++ b/service/Warehouse/MesXkyShdManager.cs
@@ -1,17 +1,15 @@
 锘縰sing System.Data;
 using System.Data.SqlClient;
-using Masuit.Tools;
 using NewPdaSqlServer.DB;
 using NewPdaSqlServer.Dto.service;
 using NewPdaSqlServer.entity;
+using NewPdaSqlServer.util;
 using SqlSugar;
-using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
 
 namespace NewPdaSqlServer.service.Warehouse;
 
 public class MesXkyShdManager : Repository<MesCgthSq>
 {
-
     public dynamic GetShdhItems(dynamic unity)
     {
         //// 浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆
@@ -23,28 +21,30 @@
         if (shdh.Count < 1)
             throw new Exception($"閫佽揣鍗曞彿銆恵unity.shdh}銆戜笉瀛樺湪鎴栨湭鍚屾!");
 
-       // var sql3 = @"SELECT ISNULL((SELECT SUM(delivery_qty) FROM DELIVERY_NOTICE_DETAIL WHERE delivery_no = @shdh), 0) -
-       //ISNULL((SELECT SUM(include_qty) FROM TBL_BARCODE_INFORMATION WHERE delivery_no = @shdh), 0) AS Diffnum ";
+        // var sql3 = @"SELECT ISNULL((SELECT SUM(delivery_qty) FROM DELIVERY_NOTICE_DETAIL WHERE delivery_no = @shdh), 0) -
+        //ISNULL((SELECT SUM(include_qty) FROM TBL_BARCODE_INFORMATION WHERE delivery_no = @shdh), 0) AS Diffnum ";
 
-       // var diffNum = Db.Ado.SqlQuery<dynamic>(sql3, sqlParams).First();
+        // var diffNum = Db.Ado.SqlQuery<dynamic>(sql3, sqlParams).First();
 
-       // if (diffNum.Diffnum != 0)
-       //     throw new Exception($"閫佽揣鍗曞彿銆恵unity.shdh}銆戞潯鐮佹湭鍏ㄩ儴鎵撳嵃鎴栨湭鍚屾锛屾棤娉曟敹璐э紒");
+        // if (diffNum.Diffnum != 0)
+        //     throw new Exception($"閫佽揣鍗曞彿銆恵unity.shdh}銆戞潯鐮佹湭鍏ㄩ儴鎵撳嵃鎴栨湭鍚屾锛屾棤娉曟敹璐э紒");
 
-        var sql2 = @"select D.item_no,
+        var sql2 = @"WITH dhmx AS(
+    SELECT E.line_k3id,B.paper_bill_no,B.guid,E.quantity FROM dbo.MES_INV_ITEM_ARN B LEFT JOIN MES_INV_ITEM_ARN_DETAIL E ON B.guid = E.parent_Guid
+)
+select DISTINCT D.item_no,
        D.item_name,
        D.item_model,
        A.delivery_qty                         AS shsl,
-       ISNULL(E.quantity, 0)                  as ysl,
-       A.delivery_qty - ISNULL(E.quantity, 0) as dssl,
+       ISNULL(dhmx.quantity, 0)                  as ysl,
+       A.delivery_qty - ISNULL(dhmx.quantity, 0) as dssl,
        A.po_erp_no,
        C.PURCHASE_ORDER_LINE_NUMBER,
-       B.GUID AS DDHID
+       dhmx.GUID AS DDHID
 from DELIVERY_NOTICE_DETAIL A
-         LEFT JOIN dbo.MES_INV_ITEM_ARN B on B.paper_bill_no = A.delivery_no
          LEFT JOIN MES_ROH_IN_DATA C ON A.po_line_no = C.EBELN_K3ID
          LEFT JOIN MES_ITEMS D ON C.ITEM_ID = D.item_id
-         LEFT JOIN dbo.MES_INV_ITEM_ARN_DETAIL E on E.parent_Guid = B.guid AND E.line_k3id = A.po_line_no
+         LEFT JOIN dhmx ON dhmx.line_k3id  = A.po_line_no AND dhmx.paper_bill_no = A.delivery_no
 WHERE A.delivery_no = @shdh";
 
         var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams);
@@ -56,7 +56,6 @@
 
     public dynamic GetShdhBar(dynamic unity)
     {
-
         //// 浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆
         var sqlParams = new List<SugarParameter> { new("@shdh", unity.shdh) };
 
@@ -103,12 +102,14 @@
         using (var conn = new SqlConnection(DbHelperSQL.strConn))
         {
             // 鏂板绌哄璞℃牎楠�
-            if (unity == null) throw new ArgumentNullException(nameof(unity), "鍙傛暟瀵硅薄涓嶈兘涓� null");
-            
+            if (unity == null)
+                throw new ArgumentNullException(nameof(unity), "鍙傛暟瀵硅薄涓嶈兘涓� null");
+
             // 鍙傛暟鏍¢獙澧炲己
             if (string.IsNullOrEmpty(unity.userName?.ToString()))
-                throw new ArgumentException("鐢ㄦ埛璐︽埛涓嶅厑璁镐负绌�", nameof(unity.userName));
-            
+                throw new ArgumentException("鐢ㄦ埛璐︽埛涓嶅厑璁镐负绌�",
+                    nameof(unity.userName));
+
             if (string.IsNullOrEmpty(unity.shdh?.ToString()))
                 throw new ArgumentException("閫佽揣鍗曞彿涓嶅厑璁镐负绌�", nameof(unity.shdh));
 
@@ -123,11 +124,16 @@
                     cmd.CommandType = CommandType.StoredProcedure;
                     SqlParameter[] parameters =
                     {
-                        new("@po_outMsg", SqlDbType.NVarChar, 300) { Direction = ParameterDirection.Output },
-                        new("@po_outSum", SqlDbType.NVarChar, 300) { Direction = ParameterDirection.Output },
-                        new("@pi_user", SqlDbType.NVarChar) { Value = unity.userName.ToString() }, // 鏄惧紡绫诲瀷杞崲
-                        new("@pi_barcode", SqlDbType.NVarChar) { Value = unity.barcode.ToString() },
-                        new("@pi_shdh", SqlDbType.NVarChar) { Value = unity.shdh.ToString() }
+                        new("@po_outMsg", SqlDbType.NVarChar, 300)
+                            { Direction = ParameterDirection.Output },
+                        new("@po_outSum", SqlDbType.NVarChar, 300)
+                            { Direction = ParameterDirection.Output },
+                        new("@pi_user", SqlDbType.NVarChar)
+                            { Value = unity.userName.ToString() }, // 鏄惧紡绫诲瀷杞崲
+                        new("@pi_barcode", SqlDbType.NVarChar)
+                            { Value = unity.barcode.ToString() },
+                        new("@pi_shdh", SqlDbType.NVarChar)
+                            { Value = unity.shdh.ToString() }
                     };
                     parameters[0].Direction = ParameterDirection.Output;
                     parameters[1].Direction = ParameterDirection.Output;
@@ -144,7 +150,6 @@
                     return _strMsg;
 
                     //return 0;
-
                 }
                 catch (Exception ex)
                 {
@@ -157,6 +162,4 @@
             }
         }
     }
-}
-
-
+}
\ No newline at end of file

--
Gitblit v1.9.3