diff --git a/ZR.Service/mes/qc/backend/QcBackEndService.cs b/ZR.Service/mes/qc/backend/QcBackEndService.cs index 87075c3d..6d7ad975 100644 --- a/ZR.Service/mes/qc/backend/QcBackEndService.cs +++ b/ZR.Service/mes/qc/backend/QcBackEndService.cs @@ -1239,9 +1239,41 @@ namespace ZR.Service.Business _ = Task.Run(() => { ProFinishedProductReceiptService proFinishedProductReceiptService = new ProFinishedProductReceiptService(); + + // 生成ReceiptNo:GP+日期YYYYMMDD+0001顺序递增 + string today = nowTime.ToString("yyyyMMdd"); + string receiptNoPrefix = $"HD{today}"; + + // 查询今天已存在的最大单号 + var lastReceipt = Context + .Queryable() + .Where(it => it.ReceiptNo.StartsWith(receiptNoPrefix)) + .OrderBy(it => it.ReceiptNo, OrderByType.Desc) + .First(); + + string newReceiptNo; + if (lastReceipt != null && !string.IsNullOrEmpty(lastReceipt.ReceiptNo)) + { + // 提取流水号并递增 + string sequenceStr = lastReceipt.ReceiptNo.Substring(receiptNoPrefix.Length); + if (int.TryParse(sequenceStr, out int sequence)) + { + newReceiptNo = $"{receiptNoPrefix}{(sequence + 1):D4}"; + } + else + { + newReceiptNo = $"{receiptNoPrefix}0001"; + } + } + else + { + newReceiptNo = $"{receiptNoPrefix}0001"; + } + // 箱数 + int _packageCount = Context.Queryable().Where(it => it.WorkOrder == qcBackEndWorkorder.WorkOrder).Where(it => it.LabelType == 1).Count(); ProFinishedProductReceipt newModel = new() { - ReceiptNo = "1", + ReceiptNo = newReceiptNo, SiteNo = qcBackEndWorkorder.SiteNo, WorkOrder = qcBackEndWorkorder.WorkOrder, WarehouseCode = "LS", @@ -1259,7 +1291,7 @@ namespace ZR.Service.Business BatchCode = nowTime.ToString("yyyyMMdd"), Unit = "个", PackageCode = qcBackEndWorkorder.WorkOrder, - PackageCount = 1, + PackageCount = _packageCount, PackageNum = qcBackEndWorkorder.QualifiedNumber, LabelCode = "", LabelPrintStatus = "未打印", diff --git a/ZR.Service/mes/qc/gp12/QcGp12Service.cs b/ZR.Service/mes/qc/gp12/QcGp12Service.cs index 7bffc1c3..3561b31a 100644 --- a/ZR.Service/mes/qc/gp12/QcGp12Service.cs +++ b/ZR.Service/mes/qc/gp12/QcGp12Service.cs @@ -738,8 +738,42 @@ namespace ZR.Service.Business _ = Task.Run(() => { ProFinishedProductReceiptService proFinishedProductReceiptService = new ProFinishedProductReceiptService(); + + // 生成ReceiptNo:GP+日期YYYYMMDD+0001顺序递增 + string today = nowTime.ToString("yyyyMMdd"); + string receiptNoPrefix = $"GP{today}"; + + // 查询今天已存在的最大单号 + var lastReceipt = Context + .Queryable() + .Where(it => it.ReceiptNo.StartsWith(receiptNoPrefix)) + .OrderBy(it => it.ReceiptNo, OrderByType.Desc) + .First(); + + string newReceiptNo; + if (lastReceipt != null && !string.IsNullOrEmpty(lastReceipt.ReceiptNo)) + { + // 提取流水号并递增 + string sequenceStr = lastReceipt.ReceiptNo.Substring(receiptNoPrefix.Length); + if (int.TryParse(sequenceStr, out int sequence)) + { + newReceiptNo = $"{receiptNoPrefix}{(sequence + 1):D4}"; + } + else + { + newReceiptNo = $"{receiptNoPrefix}0001"; + } + } + else + { + newReceiptNo = $"{receiptNoPrefix}0001"; + } + // 箱数 + int _packageCount = Context.Queryable().Where(it=>it.WorkOrder == qcGp12Workorder.WorkOrder).Where(it => it.LabelType == 1).Count(); + + ProFinishedProductReceipt newModel = new() { - ReceiptNo = "1", + ReceiptNo = newReceiptNo, SiteNo = qcGp12Workorder.SiteNo, WorkOrder = qcGp12Workorder.WorkOrder, WarehouseCode = "LS", @@ -757,9 +791,9 @@ namespace ZR.Service.Business BatchCode = nowTime.ToString("yyyyMMdd"), Unit = "个", PackageCode = qcGp12Workorder.WorkOrder, - PackageCount = 1, + PackageCount = _packageCount, PackageNum = qcGp12Workorder.QualifiedNumber, - LabelCode = "", + LabelCode = $"LabelType=FPR^ReceiptNo={qcGp12Workorder.WorkOrder}^WorkOrder={qcGp12Workorder.WorkOrder}^PartNumber={qcGp12Workorder.PartNumber}^LabelFrom=GP12", LabelPrintStatus = "未打印", StorageLocation = "LS", QcStatus = "待检验",