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