From 00a72fff219241eb5b0405a066cc859d07cf7735 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期三, 17 九月 2025 10:23:44 +0800 Subject: [PATCH] 1111 --- service/Warehouse/MesItemBlManager.cs | 168 +++++++++++++++++++++++++------------------------------- 1 files changed, 75 insertions(+), 93 deletions(-) diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs index 09ed76a..a0ae6af 100644 --- a/service/Warehouse/MesItemBlManager.cs +++ b/service/Warehouse/MesItemBlManager.cs @@ -1,13 +1,14 @@ -锘縰sing System.Data; -using System.Data.SqlClient; -using System.Text; +锘縰sing Masuit.Tools; using NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; using NewPdaSqlServer.entity.Base; using NewPdaSqlServer.util; using SqlSugar; -using DbType = System.Data.DbType; +using System.Data; +using System.Text; +using System.Data.SqlClient; +using DbHelperSQL = NewPdaSqlServer.DB.DbHelperSQL; namespace NewPdaSqlServer.service.Warehouse; @@ -28,9 +29,9 @@ new("@type", query.type), new("@dateTime", query.dateTime == "" ? null : query.dateTime), new("@lineNo", query.lineNo) + }; - var sql2 = new StringBuilder( - "exec prc_pda_itemBl_billNoList @type,@orgId,@dateTime,@lineNo"); + var sql2 = new StringBuilder("exec prc_pda_itemBl_billNoList @type,@orgId,@dateTime,@lineNo"); var LineInfo = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams); @@ -52,9 +53,7 @@ // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷 var mesItemBl = Db.Queryable<MesItemBl>() - .Where(a => - a.BlNo == query.billNo && a.Bl008 == query.Type && - a.Bl018 == true) + .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true) .First(); if (mesItemBl == null) @@ -80,8 +79,7 @@ // .ToList(); //return (mesItemBl.Bl001, blDetails); - var sql = string.Format( - @"SELECT c.id as ItemId,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, + var sql = string.Format(@"SELECT c.id as ItemId,c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001 fROM MES_ITEM_BL_DETAIL A LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID @@ -108,7 +106,7 @@ } /// <summary> - /// 鐢熶骇宸ュ崟琛ユ枡鎵爜 + /// 鐢熶骇宸ュ崟琛ユ枡鎵爜 /// 鎵弿鏉$爜 prc_rf_pda_scan_zout_barcode3 /// </summary> /// <param name="query">鏌ヨ鍙傛暟</param> @@ -134,52 +132,42 @@ throw new Exception("鐢宠鍗曞彿涓嶈兘涓虹┖锛�"); // 鍑嗗璋冪敤瀛樺偍杩囩▼鐨勫弬鏁� - var outMsg = ""; - var outSum = -1; + string outMsg = ""; + int outSum = -1; decimal barcodeNum = 0; decimal splitNum = 0; try { // 璋冪敤瀛樺偍杩囩▼ - var parameters = new[] + var parameters = new SqlParameter[] { - new SqlParameter("@C_USER", SqlDbType.NVarChar, 100) - { Value = query.userName ?? string.Empty }, - new SqlParameter("@P_BILL_NO", SqlDbType.NVarChar, 50) - { Value = query.billNo ?? string.Empty }, - new SqlParameter("@P_ITEM_BARCODE", SqlDbType.NVarChar, 100) - { Value = query.barcode ?? string.Empty }, - new SqlParameter("@P_BL_NO", SqlDbType.NVarChar, 100) - { Value = query.blNo ?? string.Empty }, - new SqlParameter("@P_TYPE", SqlDbType.NVarChar, 20) - { Value = query.Type ?? string.Empty }, - new SqlParameter("@OUT_MSG", SqlDbType.NVarChar, 2000) - { Direction = ParameterDirection.Output }, - new SqlParameter("@OUT_SUM", SqlDbType.Int) - { Direction = ParameterDirection.Output }, - new SqlParameter("@BARCODE_NUM", SqlDbType.Decimal) - { - Direction = ParameterDirection.Output, - Precision = 18, - Scale = 10 - }, - new SqlParameter("@SPLIT_NUM", SqlDbType.Decimal) - { - Direction = ParameterDirection.Output, - Precision = 18, - Scale = 10 - } + new SqlParameter("@C_USER", SqlDbType.NVarChar, 100) { Value = query.userName ?? string.Empty }, + new SqlParameter("@P_BILL_NO", SqlDbType.NVarChar, 50) { Value = query.billNo ?? string.Empty }, + new SqlParameter("@P_ITEM_BARCODE", SqlDbType.NVarChar, 100) { Value = query.barcode ?? string.Empty }, + new SqlParameter("@P_BL_NO", SqlDbType.NVarChar, 100) { Value = query.blNo ?? string.Empty }, + new SqlParameter("@P_TYPE", SqlDbType.NVarChar, 20) { Value = query.Type ?? string.Empty }, + new SqlParameter("@OUT_MSG", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output }, + new SqlParameter("@OUT_SUM", SqlDbType.Int) { Direction = ParameterDirection.Output }, + new SqlParameter("@BARCODE_NUM", SqlDbType.Decimal) { + Direction = ParameterDirection.Output, + Precision = 18, + Scale = 10 + }, + new SqlParameter("@SPLIT_NUM", SqlDbType.Decimal) { + Direction = ParameterDirection.Output, + Precision = 18, + Scale = 10 + } }; // 鎵ц瀛樺偍杩囩▼ - var procedureName = "PRC_PDA_SCBLCL"; - var res = - DbHelperSQL.RunProcedure_NonQuery(procedureName, parameters); + string procedureName = "PRC_PDA_SCBLCL"; + int res = DbHelperSQL.RunProcedure_NonQuery(procedureName, parameters); // 鑾峰彇杈撳嚭鍙傛暟 outMsg = parameters[5].Value?.ToString() ?? ""; - outSum = parameters[6].Value as int? ?? 0; // 榛樿鍊兼牴鎹渶姹傝皟鏁� + outSum = parameters[6].Value as int? ?? 0; // 榛樿鍊兼牴鎹渶姹傝皟鏁� barcodeNum = parameters[7].Value as decimal? ?? 0m; splitNum = parameters[8].Value as decimal? ?? 0m; @@ -192,11 +180,10 @@ query.Num = barcodeNum; // 鑾峰彇寰呭彂鏂欐槑缁嗗垪琛� - var pendingList = Db - .Queryable<MesItemBl, MesItemBlDetail>((a, b) => + var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) => new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo - && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) + && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) .Select((a, b) => new MesItemBlDetail { Bld012 = b.Bld012, @@ -210,18 +197,17 @@ return (query, pendingList); } - - if (outSum == -1) // 澶勭悊澶辫触 + else if (outSum == -1) // 澶勭悊澶辫触 + { throw new Exception(outMsg); - - if (outSum == 1) // 澶勭悊鎴愬姛 + } + else if (outSum == 1) // 澶勭悊鎴愬姛 { // 鑾峰彇鏈�缁堢殑寰呭彂鏂欐槑缁嗗垪琛� - var finalPendingList = Db - .Queryable<MesItemBl, MesItemBlDetail>((a, b) => - new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) + var finalPendingList = Db.Queryable<MesItemBl, MesItemBlDetail>( + (a, b) => new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo - && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) + && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) .Select((a, b) => new MesItemBlDetail { Bld012 = b.Bld012, @@ -237,8 +223,10 @@ query.message = outMsg; return (query, finalPendingList); } - - throw new Exception("鏈煡鐨勫鐞嗙粨鏋滅姸鎬�"); + else + { + throw new Exception("鏈煡鐨勫鐞嗙粨鏋滅姸鎬�"); + } } catch (Exception ex) { @@ -262,6 +250,7 @@ public ProductionPickDto SplitBarcode( WarehouseQuery query) { + // Validate input parameters if (string.IsNullOrEmpty(query.userName)) throw new Exception("鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒"); @@ -280,34 +269,31 @@ // Prepare parameters for the stored procedure var parameters = new List<SugarParameter> - { - new("@C_USER", query.userName), - new("@P_BILL_NO", query.billNo), - new("@P_ITEM_BARCODE", query.barcode), - new("@P_BL_NO", query.blNo), - new("@P_TYPE", query.Type), - new("@NUM", query.Num), - new("@OUT_MSG", "", DbType.String, ParameterDirection.Output), - new("@OUT_SUM", 0, DbType.Int32, ParameterDirection.Output), - new("@OUT_CF_BAR", "", DbType.String, ParameterDirection.Output) - }; +{ + new SugarParameter("@C_USER", query.userName), + new SugarParameter("@P_BILL_NO", query.billNo), + new SugarParameter("@P_ITEM_BARCODE", query.barcode), + new SugarParameter("@P_BL_NO", query.blNo), + new SugarParameter("@P_TYPE", query.Type), + new SugarParameter("@NUM", query.Num), + new SugarParameter("@OUT_MSG", "", System.Data.DbType.String, ParameterDirection.Output), + new SugarParameter("@OUT_SUM", 0, System.Data.DbType.Int32, ParameterDirection.Output), + new SugarParameter("@OUT_CF_BAR", "", System.Data.DbType.String, ParameterDirection.Output) +}; // Execute the stored procedure - Db.Ado.UseStoredProcedure() - .ExecuteCommand("PRC_PDA_SCBLCL_CF", parameters); + Db.Ado.UseStoredProcedure().ExecuteCommand("PRC_PDA_SCBLCL_CF", parameters); // Get output parameters - var outMsg = parameters - .FirstOrDefault(p => p.ParameterName == "@OUT_MSG")?.Value - ?.ToString(); - var outSum = Convert.ToInt32(parameters - .FirstOrDefault(p => p.ParameterName == "@OUT_SUM")?.Value ?? -1); - var outCfBar = parameters - .FirstOrDefault(p => p.ParameterName == "@OUT_CF_BAR")?.Value - ?.ToString(); + var outMsg = parameters.FirstOrDefault(p => p.ParameterName == "@OUT_MSG")?.Value?.ToString(); + var outSum = Convert.ToInt32(parameters.FirstOrDefault(p => p.ParameterName == "@OUT_SUM")?.Value ?? -1); + var outCfBar = parameters.FirstOrDefault(p => p.ParameterName == "@OUT_CF_BAR")?.Value?.ToString(); // Handle the result - if (outSum == -1) throw new Exception(outMsg ?? "鎿嶄綔澶辫触"); + if (outSum == -1) + { + throw new Exception(outMsg ?? "鎿嶄綔澶辫触"); + } // Get pending list for the supplement order var pendingList = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) => @@ -328,8 +314,8 @@ var dto = new ProductionPickDto { daa001 = query.billNo, - barcode = query.barcode, //鍘熸潯鐮� - cfBarcode = outCfBar //鎷嗗垎鍚庢潯鐮� + barcode = query.barcode,//鍘熸潯鐮� + cfBarcode = outCfBar//鎷嗗垎鍚庢潯鐮� }; return dto; @@ -350,7 +336,6 @@ return LineInfo; } - #endregion #region 鐢熶骇瓒呴 @@ -634,7 +619,7 @@ ErpAutoid = womdab.Erpid, PbillNo = query.billNo, ItemId = blDetail.Bld012, - DepotId = stockBarcode.DepotId.ToString() + DepotId = stockBarcode.DepotId.ToString(), // Unit = blDetail.Bld009, // DepotId = stockBarcode.DepotsId }).IgnoreColumns(true).ExecuteCommand(); @@ -674,7 +659,7 @@ ItemId = blDetail.Bld012, Unit = blDetail.Bld009, DepotId = (int)stockBarcode.DepotId, - Dabid = womdab.Guid + Dabid = womdab.Guid, }).IgnoreColumns(true).ExecuteCommand(); // 鎻掑叆涓氬姟娴佹按 @@ -751,9 +736,9 @@ }); // 鑾峰彇鏈�缁堢殑寰呭鐞嗗垪琛� - var finalPendingList = Db - .Queryable<MesItemBl, MesItemBlDetail>((a, b) => - new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) + var finalPendingList = Db.Queryable<MesItemBl, MesItemBlDetail>( + (a, b) => + new JoinQueryInfos(JoinType.Left, a.Id == b.Mid)) .Where((a, b) => a.BlNo == query.blNo && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0) .Select((a, b) => new MesItemBlDetail @@ -1194,9 +1179,7 @@ // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷 var mesItemBl = Db.Queryable<MesItemBl>() - .Where(a => - a.BlNo == query.billNo && a.Bl008 == query.Type && - a.Bl018 == true) + .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true) .First(); if (mesItemBl == null) @@ -1222,8 +1205,7 @@ // .ToList(); //return (mesItemBl.Bl001, blDetails); - var sql = string.Format( - @"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, + var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty, dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001 fROM MES_ITEM_BL_DETAIL A LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID -- Gitblit v1.9.3