From 9e5eb7707c9a42e2515a583b40078d2d7685e2d0 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期三, 19 三月 2025 00:51:42 +0800 Subject: [PATCH] 优化清点上架支持扫箱条码 --- Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs index 135ed8c..b2f19b1 100644 --- a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs +++ b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs @@ -123,12 +123,12 @@ action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.ReceiptDtlStatusException", receiptDtl.LINE_NO, receiptDtl.STATUS.GetEnumDesc<BIZ_U9_RECEIPT.STATUSs>()); return action; } - var receiptSn = receipt.SnList.First(q => q.SN == CurInvItem.SN); - if (receiptSn.STATUS != WMS_ITEM.STATUSs.WaitIn.GetValue()) + var receiptSn = receipt.SnList.Where(q => CurInvItem.Items.Any(i => i.SN == q.SN)).ToList(); + if (receiptSn.Any(q => q.STATUS != WMS_ITEM.STATUSs.WaitIn.GetValue())) { action.IsSuccessed = false; //action.LocaleMsg = Biz.L("鏀惰揣鍗曚腑鏉$爜[{0}]鐘舵�乕{1}]寮傚父锛岃鎵弿姝g‘鐨勬潯鐮�"); - action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.ReceiptSnStatusException", receiptSn.SN, receiptSn.STATUS.GetEnumDesc<WMS_ITEM.STATUSs>()); + action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.ReceiptSnStatusException", CurInvItem.SN, receiptSn.First(q => q.STATUS != WMS_ITEM.STATUSs.WaitIn.GetValue()).STATUS.GetEnumDesc<WMS_ITEM.STATUSs>()); return action; } @@ -189,6 +189,7 @@ //鎵ц涓婃灦鏁版嵁澶勭悊 foreach (var item in CurInvItem.Items) { + item.IS_LOCKED = "Y"; item.SOURCE_CODE = item.TRANS_CODE; item.SOURCE_ORDER = item.TRANS_NO; item.SOURCE_LINE = item.TRANS_LINE; @@ -206,8 +207,11 @@ } //鏇存柊鍗曟嵁淇℃伅 - receiptSn.STATUS = WMS_ITEM.STATUSs.InStore.GetValue(); - receiptSn.IS_IN = "Y"; + foreach(var sn in receiptSn) + { + sn.STATUS = WMS_ITEM.STATUSs.InStore.GetValue(); + sn.IS_IN = "Y"; + } //濡傛灉褰撳墠琛屼笂鏋跺畬鎴愭爣璁颁负寰呭鏍� receiptDtl.QTY_IN = receipt.SnList.Where(q => q.LINE_NO == receiptDtl.LINE_NO).Sum(q => q.QTY); if (receiptDtl.QTY_IN == receiptDtl.QTY) -- Gitblit v1.9.3