From aa7d6bef3b1f3437b69ef21f8af4ace39939d2b9 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期五, 17 一月 2025 01:57:45 +0800
Subject: [PATCH] 优化库存管理和标签重打印逻辑

---
 Tiger.Business.WMS/Transaction/In_Default.cs |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/Tiger.Business.WMS/Transaction/In_Default.cs b/Tiger.Business.WMS/Transaction/In_Default.cs
index f8ab470..5a10dca 100644
--- a/Tiger.Business.WMS/Transaction/In_Default.cs
+++ b/Tiger.Business.WMS/Transaction/In_Default.cs
@@ -99,7 +99,7 @@
 	                    return action;
 	                }
 	                var inv = result.Data as Inventory;
-
+                    var _inv = inv.Clone();
                     //楠岃瘉鏉$爜鏄惁姝g‘
                     if (new[] { WMS_ITEM.STATUSs.InStore, WMS_ITEM.STATUSs.Loaded, WMS_ITEM.STATUSs.UseUp }.Contains(inv.Status))
                     {
@@ -193,10 +193,18 @@
                     if (CurInvItem.Items.Any(q => q.QTY <= 0))
                     {
                         var qtyList = Biz.DataSource["YadaU9C"].Client.Queryable<mes_MaterialBarCode>().Where(q => CurInvItem.Items.Select(q => q.SN).Contains(q.Code)).ToList();
-                        foreach (var qty in qtyList)
+                        if (qtyList.Count == 0)
                         {
-                            var item = CurInvItem.Items.First(q => q.SN == qty.Code);
-                            item.QTY = qty.WhQty;
+                            var item = CurInvItem.Items.First(q => q.SN == _inv.Barcode.SN);
+                            item.QTY = _inv.Items.First(q => q.SN == _inv.Barcode.SN).QTY;
+                        }
+                        else
+                        {
+                            foreach (var qty in qtyList)
+                            {
+                                var item = CurInvItem.Items.First(q => q.SN == qty.Code);
+                                item.QTY = qty.WhQty;
+                            }
                         }
                         action.Data.Data = CurInvItem.Items.Select(q => new { q.SN, q.QTY });
                         action.Data.Command = Command = "ComfirmQty";

--
Gitblit v1.9.3