From 36746596927952a6b860129a62eec9059bf083a7 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期六, 26 四月 2025 18:06:27 +0800
Subject: [PATCH] 优化了备料逻辑

---
 Tiger.Business.WMS/Transaction/Old/OutTransfer.cs |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/Tiger.Business.WMS/Transaction/Old/OutTransfer.cs b/Tiger.Business.WMS/Transaction/Old/OutTransfer.cs
index 9500a4b..e7dd561 100644
--- a/Tiger.Business.WMS/Transaction/Old/OutTransfer.cs
+++ b/Tiger.Business.WMS/Transaction/Old/OutTransfer.cs
@@ -61,9 +61,9 @@
             var action = new ApiAction<ProdReqOutput>();
             try
             {
-                req = await Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.ORDER_NO == input.ReqNo).Includes(q => q.DtlsWithGhost, d => d.ItemInfo).IncludesAllFirstLayer().FirstAsync();
+                req = await Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.ORDER_NO == input.ReqNo).Includes(q => q.Details, d => d.ItemInfo).IncludesAllFirstLayer().FirstAsync();
                 //楠岃瘉鏄庣粏鏄惁姝g‘
-                if (!req.Dtls.Any())
+                if (!req.Details.Any())
                 {
                     action.IsSuccessed = false;
                     action.LocaleMsg = new("WMS.ProdMReq.SelectOrder.DtlsException", input.ReqNo);
@@ -82,7 +82,7 @@
 
                 var begin = DateTime.Now;
                 var ElapsedTime = 0.0;
-                var sumDtls = req.Dtls.Where(q => q.STATUS != BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue())
+                var sumDtls = req.Details.Where(q => q.STATUS != BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue())
                     .GroupBy(x => new { x.ITEM_CODE }).Select(x => new { ItemCode = x.Key.ITEM_CODE.ToString(), WarehouseCode = x.Max(t => t.OUT_WH_CODE), actQty = x.Sum(t => t.QTY_REQ - t.QTY_OUT), lockObj = new object() });
                 var dic = sumDtls.ToDictionary(k => k, v => new Result<List<SuggestItem>>());
                 foreach (var item in dic)
@@ -206,11 +206,11 @@
             var action = new ApiAction();
             try
             {
-                var dtls = req.Dtls.GroupBy(x => new { x.ORDER_LINE, x.ITEM_CODE, x.ItemInfo.ITEM_NAME }).Select(x => new ProdReqDtl() { BillLine = x.Key.ORDER_LINE.ToInt32(), ItemCode = x.Key.ITEM_CODE, ItemName = x.Key.ITEM_NAME, Status = "", Items = new List<ProdReqDtlItems>() }).ToList();
+                var dtls = req.Details.GroupBy(x => new { x.ORDER_LINE, x.ITEM_CODE, x.ItemInfo.ITEM_NAME }).Select(x => new ProdReqDtl() { BillLine = x.Key.ORDER_LINE.ToInt32(), ItemCode = x.Key.ITEM_CODE, ItemName = x.Key.ITEM_NAME, Status = "", Items = new List<ProdReqDtlItems>() }).ToList();
                 foreach (var d in dtls)
                 {
                     d.Items = Suggests.Where(x => x.Item.ITEM_CODE == d.ItemCode).Select(x => new ProdReqDtlItems { WHCode = x.Warehouse.WH_CODE, LocationCode = x.Location.LOCATION_CODE, SN = x.Item.SN, QTY = x.Item.QTY }).ToList();
-                    d.Status = $"{(double)req.Dtls.Where(x => x.ITEM_CODE == d.ItemCode).Sum(x => x.QTY_OUT)} / {(double)req.Dtls.Where(x => x.ITEM_CODE == d.ItemCode).Sum(x => x.QTY_REQ)} {Suggests.FirstOrDefault()?.Item?.UNIT} (杩橀渶{d.Items.Count}涓�)";
+                    d.Status = $"{(double)req.Details.Where(x => x.ITEM_CODE == d.ItemCode).Sum(x => x.QTY_OUT)} / {(double)req.Details.Where(x => x.ITEM_CODE == d.ItemCode).Sum(x => x.QTY_REQ)} {Suggests.FirstOrDefault()?.Item?.UNIT} (杩橀渶{d.Items.Count}涓�)";
                 }
                 action.Data = itemcode.IsNullOrEmpty() ? dtls.OrderBy(q => q.BillLine) : dtls.Where(x => x.ItemCode == itemcode).FirstOrDefault()?.Items.OrderBy(q => q.SN);
             }
@@ -230,7 +230,7 @@
             var action = new ApiAction();
             try
             {
-                action.Data = $"鐗╂枡{itemcode}锛氬凡涓嬫灦[{(double)req.Dtls.Where(x => x.ITEM_CODE == itemcode).Sum(x => x.QTY_OUT)}]锛屽叡{(double)req.Dtls.Where(x => x.ITEM_CODE == itemcode).Sum(x => x.QTY_REQ)} {Suggests.FirstOrDefault()?.Item?.UNIT}";
+                action.Data = $"鐗╂枡{itemcode}锛氬凡涓嬫灦[{(double)req.Details.Where(x => x.ITEM_CODE == itemcode).Sum(x => x.QTY_OUT)}]锛屽叡{(double)req.Details.Where(x => x.ITEM_CODE == itemcode).Sum(x => x.QTY_REQ)} {Suggests.FirstOrDefault()?.Item?.UNIT}";
             }
             catch (Exception ex)
             {
@@ -318,7 +318,7 @@
                 }
 
                 //浠撳簱鍗℃帶
-                if (!req.Dtls.Any(q => q.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE && q.OUT_WH_CODE == CurInv.Warehouse.WH_CODE))
+                if (!req.Details.Any(q => q.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE && q.OUT_WH_CODE == CurInv.Warehouse.WH_CODE))
                 {
                     action.IsSuccessed = false;
                     action.LocaleMsg = Biz.L($"鏉$爜[{CurInv.Barcode.SN}]鐨勬枡鍙锋垨鑰呬粨搴撹窡鍗曟嵁[{req.ORDER_NO}]涓婄殑涓嶄竴鑷�");
@@ -382,8 +382,8 @@
 
                 //2.鏄惁瓒呭彂
                 isExceed = false;
-                req = await Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.ORDER_NO == req.ORDER_NO).Includes(q => q.DtlsWithGhost, d => d.ItemInfo).IncludesAllFirstLayer().FirstAsync();
-                dtls = req.Dtls.Where(x => x.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE).ToList();
+                req = await Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.ORDER_NO == req.ORDER_NO).Includes(q => q.Details, d => d.ItemInfo).IncludesAllFirstLayer().FirstAsync();
+                dtls = req.Details.Where(x => x.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE).ToList();
                 if (dtls.IsNullOrEmpty())
                 {
                     action.IsSuccessed = false;
@@ -583,7 +583,7 @@
                 };
 
                 //4.鏇存柊涓氬姟鍗曟嵁锛孊IZ_WMS_TRANSFER銆丅IZ_WMS_TRANSFER_DTL銆丅IZ_WMS_TRANSFER_SN 鍒ゆ柇鏄庣粏琛岀姸鎬佹槸鍚﹀畬鎴�
-                var isComplete = !req.Dtls.Any(x => x.STATUS != BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && x.STATUS != BIZ_WMS_TRANSFER.STATUSs.Picked.GetValue() && x.QTY_REQ > 0);
+                var isComplete = !req.Details.Any(x => x.STATUS != BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && x.STATUS != BIZ_WMS_TRANSFER.STATUSs.Picked.GetValue() && x.QTY_REQ > 0);
                 his_isComplete = isComplete;
                 if (isComplete)
                 {

--
Gitblit v1.9.3