From 5df60eb35037611aaa977428c5cd41ad391f72af Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 26 六月 2025 08:32:58 +0800 Subject: [PATCH] 1.生产补料拆分 2.拆分通用存储过程调用 --- util/BillNo.cs | 24 ++++ service/Warehouse/MesItemBlManager.cs | 260 ++++++++++++++++++++++++++------------------------- Controllers/Warehouse/MesItemBlController.cs | 12 + 3 files changed, 166 insertions(+), 130 deletions(-) diff --git a/Controllers/Warehouse/MesItemBlController.cs b/Controllers/Warehouse/MesItemBlController.cs index ee7123a..0c04c6e 100644 --- a/Controllers/Warehouse/MesItemBlController.cs +++ b/Controllers/Warehouse/MesItemBlController.cs @@ -1,7 +1,9 @@ 锘縰sing System.Dynamic; +using Masuit.Tools.Win32.AntiVirus; using Microsoft.AspNetCore.Mvc; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; +using NewPdaSqlServer.service.@base; using NewPdaSqlServer.service.Warehouse; using NewPdaSqlServer.util; @@ -15,6 +17,7 @@ public class MesItemBlController : ControllerBase { private readonly MesItemBlManager _manager = new(); + private readonly MesPrintMangeer _mCf = new(); /***杩涘叆妯$増绠$悊鍙互淇敼妯$増***/ @@ -201,9 +204,12 @@ try { dynamic resultInfos = new ExpandoObject(); - var (success, pendingList) = _manager.SplitBarcode(query); - resultInfos.success = success; - resultInfos.pendingList = pendingList; + resultInfos.tbBillList = new ExpandoObject(); + resultInfos.tbBillList.printInfo = _mCf.getPrintInfo(query); + var scanResult = _manager.SplitBarcode(query); + resultInfos.tbBillList.cfBarInfo = _mCf.getCfInfo(scanResult); + //resultInfos.success = success; + //resultInfos.pendingList = pendingList; return new ResponseResult { status = 0, diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs index 0f0b52d..26f8d2f 100644 --- a/service/Warehouse/MesItemBlManager.cs +++ b/service/Warehouse/MesItemBlManager.cs @@ -487,7 +487,7 @@ /// - Num: 鍙戞枡鏁伴噺(蹇呭~,蹇呴』澶т簬0) /// - blNo: 琛ユ枡鍗曞彿(蹇呭~) /// </remarks> - public (bool success, List<MesItemBlDetail> pendingList) SplitBarcode( + public ProductionPickDto SplitBarcode( WarehouseQuery query) { if (string.IsNullOrEmpty(query.userName)) @@ -543,134 +543,135 @@ // 鎷嗗垎鏉$爜 if (totalQty > query.Num) { - var mesItems = db.Queryable<MesItems>() - .Where(s => s.Id == stockBarcode.ItemId).First(); + newBarcode = BillNo.ExecuteBarcodeSplit(query.userName, query.barcode, query.Num); + //var mesItems = db.Queryable<MesItems>() + // .Where(s => s.Id == stockBarcode.ItemId).First(); - // 鐢熸垚鏂版潯鐮佸彿 - newBarcode = BillNo.GetBillNo("TM(鏉$爜)", mesItems.ItemNo); + //// 鐢熸垚鏂版潯鐮佸彿 + //newBarcode = BillNo.GetBillNo("TM(鏉$爜)", mesItems.ItemNo); - // 鍐欏叆鏂版潯鐮� - executeCommand += db.Insertable(new MesInvItemBarcodes - { - Guid = Guid.NewGuid(), - ItemBarcode = newBarcode, - CustNo = stockBarcode.CustomerNo, - // ProductCode = stockBarcode.ProductCode, - // ItemBarcode2 = stockBarcode.ItemBarcode2, - // ItemCode = stockBarcode.ItemCode, - ItemNo = stockBarcode.ItemNo, - LotNo = stockBarcode.LotNo, - Quantity = query.Num, - EpFlag = true, - TaskNo = stockBarcode.TaskNo, - CreateBy = query.userName, - CreateDate = DateTime.Now, - LastupdateBy = query.userName, - LastupdateDate = DateTime.Now, - OldItemBarcode = query.barcode, - // Mblnr = stockBarcode.Mblnr, - // Zeile = stockBarcode.Zeile, - // RohInId = stockBarcode.RohInId, - Barcodestatus = false, - Oldqty = query.Num as long?, - // Unit = stockBarcode.Unit, - // WeightUnit = stockBarcode.WeightUnit, - Factory = stockBarcode.Factory, - Company = stockBarcode.Company, - BillNo = stockBarcode.BillNo, - BoardStyle = stockBarcode.BoardStyle, - // ColorName = stockBarcode.ColorName, - WorkNo = stockBarcode.WorkNo, - WorkLine = stockBarcode.WorkLine, - // MemoBad = stockBarcode.MemoBad, - ComeFlg = 5, - // Memo = stockBarcode.Memo, - SuppId = stockBarcode.SuppId, - SuppNo = stockBarcode.SuppNo, - InsDate = stockBarcode.IndepDate, // Added InsDate - ItemId = stockBarcode.ItemId - // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit - }).IgnoreColumns(true).ExecuteCommand(); + //// 鍐欏叆鏂版潯鐮� + //executeCommand += db.Insertable(new MesInvItemBarcodes + //{ + // Guid = Guid.NewGuid(), + // ItemBarcode = newBarcode, + // CustNo = stockBarcode.CustomerNo, + // // ProductCode = stockBarcode.ProductCode, + // // ItemBarcode2 = stockBarcode.ItemBarcode2, + // // ItemCode = stockBarcode.ItemCode, + // ItemNo = stockBarcode.ItemNo, + // LotNo = stockBarcode.LotNo, + // Quantity = query.Num, + // EpFlag = true, + // TaskNo = stockBarcode.TaskNo, + // CreateBy = query.userName, + // CreateDate = DateTime.Now, + // LastupdateBy = query.userName, + // LastupdateDate = DateTime.Now, + // OldItemBarcode = query.barcode, + // // Mblnr = stockBarcode.Mblnr, + // // Zeile = stockBarcode.Zeile, + // // RohInId = stockBarcode.RohInId, + // Barcodestatus = false, + // Oldqty = query.Num as long?, + // // Unit = stockBarcode.Unit, + // // WeightUnit = stockBarcode.WeightUnit, + // Factory = stockBarcode.Factory, + // Company = stockBarcode.Company, + // BillNo = stockBarcode.BillNo, + // BoardStyle = stockBarcode.BoardStyle, + // // ColorName = stockBarcode.ColorName, + // WorkNo = stockBarcode.WorkNo, + // WorkLine = stockBarcode.WorkLine, + // // MemoBad = stockBarcode.MemoBad, + // ComeFlg = 5, + // // Memo = stockBarcode.Memo, + // SuppId = stockBarcode.SuppId, + // SuppNo = stockBarcode.SuppNo, + // InsDate = stockBarcode.IndepDate, // Added InsDate + // ItemId = stockBarcode.ItemId + // // ItemUnit = stockBarcode.ItemUnit // Added ItemUnit + //}).IgnoreColumns(true).ExecuteCommand(); - // 鏇存柊鍘熸潯鐮佹暟閲� - executeCommand += db.Updateable<MesInvItemBarcodes>() - .SetColumns(it => it.Quantity == it.Quantity - query.Num) - .Where(it => it.ItemBarcode == query.barcode) - .ExecuteCommand(); - - // 鏇存柊鍘熸潯鐮佹暟閲� - executeCommand += db.Updateable<MesInvItemStocks>() - .SetColumns(it => it.Quantity == it.Quantity - query.Num) - .Where(it => it.ItemBarcode == query.barcode) - .ExecuteCommand(); - - //// 鍒犻櫎鍘熸潯鐮佸簱瀛樿褰� - //executeCommand += db.Deleteable<MesInvItemStocks>() + //// 鏇存柊鍘熸潯鐮佹暟閲� + //executeCommand += db.Updateable<MesInvItemBarcodes>() + // .SetColumns(it => it.Quantity == it.Quantity - query.Num) // .Where(it => it.ItemBarcode == query.barcode) // .ExecuteCommand(); - // 鎻掑叆鍓╀綑鏉$爜鏁伴噺鐨勬柊搴撳瓨璁板綍 - executeCommand += db.Insertable(new MesInvItemStocks - { - Guid = Guid.NewGuid(), - TaskNo = stockBarcode.TaskNo, - ItemBarcode = newBarcode, - ItemNo = stockBarcode.ItemNo, - LotNo = stockBarcode.LotNo, - Quantity = query.Num, - EpFlag = stockBarcode.EpFlag, - CustomerNo = stockBarcode.CustomerNo, - ItemWt = stockBarcode.ItemWt, - DepotsCode = stockBarcode.DepotsCode, - DepotsId = stockBarcode.DepotsId, - DepotSectionsCode = stockBarcode.DepotSectionsCode, - CheckDate = stockBarcode.CheckDate, - ItemType = stockBarcode.ItemType, - IndepDate = stockBarcode.IndepDate, - Factory = stockBarcode.Factory, - Company = stockBarcode.Company, - IqcStatus = stockBarcode.IqcStatus, - BoardStyle = stockBarcode.BoardStyle, - WorkNo = stockBarcode.WorkNo, - WorkLine = stockBarcode.WorkLine, - SuppNo = stockBarcode.SuppNo, - ItemId = stockBarcode.ItemId - // UnitId = stockBarcode.ItemUnit - }).IgnoreColumns(true).ExecuteCommand(); + //// 鏇存柊鍘熸潯鐮佹暟閲� + //executeCommand += db.Updateable<MesInvItemStocks>() + // .SetColumns(it => it.Quantity == it.Quantity - query.Num) + // .Where(it => it.ItemBarcode == query.barcode) + // .ExecuteCommand(); - // 鍐欏叆鏂版潯鐮佺殑浜ゆ槗璁板綍 - executeCommand += db.Insertable(new MesInvBusiness2 - { - Guid = Guid.NewGuid(), - Status = 1, - BillTypeId = 200, // p_bill_type_id - TransactionCode = "209", // p_transaction_no - BusinessType = 0, - ItemBarcode = newBarcode, - ItemNo = stockBarcode.ItemNo, - LotNo = stockBarcode.LotNo, - EpFlag = true, - Quantity = query.Num, - FromInvDepotsCode = null, - FromInvDepotSectionsCode = null, - ToInvDepotsCode = stockBarcode.DepotsCode, - ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode, - Description = query.Type + "鎷嗗垎鐢熸垚", - CreateBy = query.userName, - CreateDate = DateTime.Now, - LastupdateBy = query.userName, - LastupdateDate = DateTime.Now, - Factory = stockBarcode.Factory, - Company = stockBarcode.Company, - TaskNo = stockBarcode.TaskNo, - BillNo = stockBarcode.BillNo, - WorkNo = stockBarcode.WorkNo, - WorkLine = stockBarcode.WorkLine, - SuppNo = stockBarcode.SuppNo, - SuppId = stockBarcode.SuppId, - ItemId = stockBarcode.ItemId - // CkDepot = stockBarcode.DepotsId - }).IgnoreColumns(true).ExecuteCommand(); + ////// 鍒犻櫎鍘熸潯鐮佸簱瀛樿褰� + ////executeCommand += db.Deleteable<MesInvItemStocks>() + //// .Where(it => it.ItemBarcode == query.barcode) + //// .ExecuteCommand(); + + //// 鎻掑叆鍓╀綑鏉$爜鏁伴噺鐨勬柊搴撳瓨璁板綍 + //executeCommand += db.Insertable(new MesInvItemStocks + //{ + // Guid = Guid.NewGuid(), + // TaskNo = stockBarcode.TaskNo, + // ItemBarcode = newBarcode, + // ItemNo = stockBarcode.ItemNo, + // LotNo = stockBarcode.LotNo, + // Quantity = query.Num, + // EpFlag = stockBarcode.EpFlag, + // CustomerNo = stockBarcode.CustomerNo, + // ItemWt = stockBarcode.ItemWt, + // DepotsCode = stockBarcode.DepotsCode, + // DepotsId = stockBarcode.DepotsId, + // DepotSectionsCode = stockBarcode.DepotSectionsCode, + // CheckDate = stockBarcode.CheckDate, + // ItemType = stockBarcode.ItemType, + // IndepDate = stockBarcode.IndepDate, + // Factory = stockBarcode.Factory, + // Company = stockBarcode.Company, + // IqcStatus = stockBarcode.IqcStatus, + // BoardStyle = stockBarcode.BoardStyle, + // WorkNo = stockBarcode.WorkNo, + // WorkLine = stockBarcode.WorkLine, + // SuppNo = stockBarcode.SuppNo, + // ItemId = stockBarcode.ItemId + // // UnitId = stockBarcode.ItemUnit + //}).IgnoreColumns(true).ExecuteCommand(); + + //// 鍐欏叆鏂版潯鐮佺殑浜ゆ槗璁板綍 + //executeCommand += db.Insertable(new MesInvBusiness2 + //{ + // Guid = Guid.NewGuid(), + // Status = 1, + // BillTypeId = 200, // p_bill_type_id + // TransactionCode = "209", // p_transaction_no + // BusinessType = 0, + // ItemBarcode = newBarcode, + // ItemNo = stockBarcode.ItemNo, + // LotNo = stockBarcode.LotNo, + // EpFlag = true, + // Quantity = query.Num, + // FromInvDepotsCode = null, + // FromInvDepotSectionsCode = null, + // ToInvDepotsCode = stockBarcode.DepotsCode, + // ToInvDepotSectionsCode = stockBarcode.DepotSectionsCode, + // Description = query.Type + "鎷嗗垎鐢熸垚", + // CreateBy = query.userName, + // CreateDate = DateTime.Now, + // LastupdateBy = query.userName, + // LastupdateDate = DateTime.Now, + // Factory = stockBarcode.Factory, + // Company = stockBarcode.Company, + // TaskNo = stockBarcode.TaskNo, + // BillNo = stockBarcode.BillNo, + // WorkNo = stockBarcode.WorkNo, + // WorkLine = stockBarcode.WorkLine, + // SuppNo = stockBarcode.SuppNo, + // SuppId = stockBarcode.SuppId, + // ItemId = stockBarcode.ItemId + // // CkDepot = stockBarcode.DepotsId + //}).IgnoreColumns(true).ExecuteCommand(); } else if (totalQty < query.Num) { @@ -847,7 +848,7 @@ { Guid = Guid.NewGuid(), ItemOutId = outId, - ItemBarcode = newBarcode ?? query.barcode, + ItemBarcode = newBarcode , ItemNo = stockBarcode.ItemNo, LotNo = stockBarcode.LotNo, Quantity = query.Num, @@ -882,7 +883,7 @@ BillTypeId = 200, // p_bill_type_id TransactionCode = "209", // p_transaction_no BusinessType = 1, - ItemBarcode = newBarcode ?? query.barcode, + ItemBarcode = newBarcode , ItemNo = stockBarcode.ItemNo, LotNo = stockBarcode.LotNo, EpFlag = true, @@ -961,7 +962,7 @@ // 鍒涘缓 鎻掑叆鏃ュ織 var logService = new LogService(); - var LogMsg = "[PDA]" + query.Type + "銆傛潯鐮併��" + query.barcode + "銆� 鍑哄簱鍗曞彿銆�" + outNo + "銆�"; + var LogMsg = "[PDA]" + query.Type + "銆傛潯鐮併��" + newBarcode + "銆� 鍑哄簱鍗曞彿銆�" + outNo + "銆�"; logService.CreateLog(db, query.userName, womdaa.Guid.ToString(), "WOMDAA", LogMsg, womdaa.Daa001); @@ -984,7 +985,14 @@ }) .ToList(); - return (success, pendingList); + var dto = new ProductionPickDto + { + daa001 = query.billNo, + barcode = query.barcode,//鍘熸潯鐮� + cfBarcode = newBarcode//鎷嗗垎鍚庢潯鐮� + }; + + return dto; } #endregion diff --git a/util/BillNo.cs b/util/BillNo.cs index aa7c5ef..5b985cf 100644 --- a/util/BillNo.cs +++ b/util/BillNo.cs @@ -29,4 +29,26 @@ return str; } -} \ No newline at end of file + + public static string ExecuteBarcodeSplit(string cUser, string oldBarcode, decimal? qty) + { + var sbSql = new StringBuilder(); + sbSql.Append("DECLARE @outMsg nvarchar(2000), @outSum int, @barcodeNew varchar(200) "); + sbSql.Append("EXEC prc_pda_bar_cf '").Append(cUser).Append("', '") + .Append(oldBarcode).Append("', ").Append(qty) + .Append(", @outMsg OUTPUT, @outSum OUTPUT, @barcodeNew OUTPUT "); + sbSql.Append("SELECT @barcodeNew"); + var str = ""; + try + { + str = DbHelperSQL.GetSingle(sbSql.ToString())?.ToString(); + } + catch (Exception ex) + { + // 璁板綍鏃ュ織鎴栧鐞嗗紓甯� + str = ""; + } + return str; + } +} + -- Gitblit v1.9.3