From 90ba60a8243c0b8b54f8868cbc8809343704ff46 Mon Sep 17 00:00:00 2001 From: kyy <3283105747@qq.com> Date: 星期一, 15 九月 2025 17:15:41 +0800 Subject: [PATCH] 1、送货单签收 --- service/Warehouse/MesXkyShdManager.cs | 64 +++++++++++++++++++++++++++++--- 1 files changed, 58 insertions(+), 6 deletions(-) diff --git a/service/Warehouse/MesXkyShdManager.cs b/service/Warehouse/MesXkyShdManager.cs index 3ab65b1..dd9a9d2 100644 --- a/service/Warehouse/MesXkyShdManager.cs +++ b/service/Warehouse/MesXkyShdManager.cs @@ -31,20 +31,22 @@ // 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); @@ -157,6 +159,56 @@ } } } + + public string ConfirmSignReceipt(dynamic unity) + { + var _strMsg = ""; + var _intSum = 0; + using (var conn = new SqlConnection(DbHelperSQL.strConn)) + { + if (unity == null) throw new ArgumentNullException(nameof(unity), "鍙傛暟瀵硅薄涓嶈兘涓� null"); + + if (string.IsNullOrEmpty(unity.userName?.ToString())) + throw new ArgumentException("鐢ㄦ埛璐︽埛涓嶅厑璁镐负绌�", nameof(unity.userName)); + + if (string.IsNullOrEmpty(unity.shdh?.ToString())) + throw new ArgumentException("閫佽揣鍗曞彿涓嶅厑璁镐负绌�", nameof(unity.shdh)); + + using (var cmd = new SqlCommand("[prc_pda_inv_dhdsh_qs]", conn)) + { + try + { + conn.Open(); + cmd.CommandType = CommandType.StoredProcedure; + SqlParameter[] parameters = + { + new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, + new("@po_outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }, + new("@pi_user", SqlDbType.NVarChar) { Value = unity.userName.ToString() }, + new("@pi_shdh", SqlDbType.NVarChar) { Value = unity.shdh.ToString() } + }; + + foreach (var parameter in parameters) + cmd.Parameters.Add(parameter); + cmd.ExecuteNonQuery(); + _strMsg = parameters[0].Value.ToString(); + _intSum = Convert.ToInt32(parameters[1].Value); + + if (_intSum <= 0) throw new Exception(_strMsg); + + return _strMsg; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + finally + { + conn.Close(); + } + } + } + } } -- Gitblit v1.9.3