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