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/Common/Preparation.cs | 56 +++++++++++++++++++++++++++++--------------------------- 1 files changed, 29 insertions(+), 27 deletions(-) diff --git a/Tiger.Business.WMS/Common/Preparation.cs b/Tiger.Business.WMS/Common/Preparation.cs index f942fbc..6579a32 100644 --- a/Tiger.Business.WMS/Common/Preparation.cs +++ b/Tiger.Business.WMS/Common/Preparation.cs @@ -90,8 +90,8 @@ } // 鏌ヨ鍗曟嵁鏄庣粏锛屽苟鍚堝苟鍒板鏂欏崟鐨勫鏂欐槑缁嗕腑 - var dtls = bizType.GetPickList(orderNo); - if (dtls.Sum(q => q.QTY_ACT_REQ) <= 0) + var srcDtls = bizType.GetPickList(orderNo); + if (srcDtls.Sum(q => q.QTY_ACT_REQ) <= 0) { action.IsSuccessed = false; //action.LocaleMsg = Biz.L("鍗曟嵁[{0}]鏈壘鍒伴渶瑕佸鏂欑殑琛屾槑缁嗭紝璇锋壂鎻忔纭殑鍗曟嵁"); @@ -129,10 +129,10 @@ ADD_TIME = DateTime.Now, }; Order.SourceOrders.Add(srcOrder); - foreach (var dtl in dtls) + foreach (var sdtl in srcDtls) { - dtl.AUTH_ORG = OrgCode; - var pdtl = Order.Details.Where(q => q.ITEM_CODE == dtl.ITEM_CODE).FirstOrDefault(); + sdtl.AUTH_ORG = OrgCode; + var pdtl = Order.Details.Where(q => q.ITEM_CODE == sdtl.ITEM_CODE).FirstOrDefault(); if (pdtl.IsNullOrEmpty()) { pdtl = new () @@ -140,32 +140,34 @@ AUTH_ORG = OrgCode, ORDER_NO = Order.ORDER_NO, ORDER_LINE = (Order.Details.Max(q => q.LINE_CODE.ToInt32()) + 1).ToString(), - ITEM_CODE = dtl.ITEM_CODE, - SUBITEM_CODE = dtl.SUBITEM_CODE, - UNIT = dtl.UNIT, - PLAN_LOSS_QTY = dtl.PLAN_LOSS_QTY, - PLAN_LOSS_RATE = dtl.PLAN_LOSS_RATE, - IS_CALC_LOSS = dtl.IS_CALC_LOSS, - IS_WHOLE = dtl.IS_WHOLE, - SOURCE_CODE = dtl.SOURCE_CODE, - SOURCE_ORDER = dtl.SOURCE_ORDER, - SOURCE_LINE = dtl.SOURCE_LINE, + ITEM_CODE = sdtl.ITEM_CODE, + SUBITEM_CODE = sdtl.SUBITEM_CODE, + UNIT = sdtl.UNIT, + PLAN_LOSS_QTY = sdtl.PLAN_LOSS_QTY, + PLAN_LOSS_RATE = sdtl.PLAN_LOSS_RATE, + IS_CALC_LOSS = sdtl.IS_CALC_LOSS, + IS_WHOLE = sdtl.IS_WHOLE, + SOURCE_CODE = sdtl.SOURCE_CODE, + SOURCE_ORDER = sdtl.SOURCE_ORDER, + SOURCE_LINE = sdtl.SOURCE_LINE, STATUS = BIZ_WMS_PREP_DTL.STATUSs.UnCalc.GetValue(), - FTY_CODE = dtl.FTY_CODE, - WS_CODE = dtl.WS_CODE, - LINE_CODE = dtl.LINE_CODE, - POST_CODE = dtl.POST_CODE, - OPER_CODE = dtl.OPER_CODE, - SEGMENT = dtl.SEGMENT, - SMT_NO = dtl.SMT_NO, - STATION_NO = dtl.STATION_NO, - FEEDER_NO = dtl.FEEDER_NO, - FEEDER_TYPE = dtl.FEEDER_TYPE, + FTY_CODE = sdtl.FTY_CODE, + WS_CODE = sdtl.WS_CODE, + LINE_CODE = sdtl.LINE_CODE, + POST_CODE = sdtl.POST_CODE, + OPER_CODE = sdtl.OPER_CODE, + SEGMENT = sdtl.SEGMENT, + SMT_NO = sdtl.SMT_NO, + STATION_NO = sdtl.STATION_NO, + FEEDER_NO = sdtl.FEEDER_NO, + FEEDER_TYPE = sdtl.FEEDER_TYPE, }; Order.Details.Add(pdtl); } - pdtl.QTY_REQ += dtl.QTY_ACT_REQ; - Order.SourceDetails.Add(dtl); + pdtl.QTY_REQ += sdtl.QTY_ACT_REQ; + sdtl.ORDER_NO = pdtl.ORDER_NO; + sdtl.ORDER_LINE = pdtl.ORDER_LINE; + Order.SourceDetails.Add(sdtl); } var srcInfo = Order.SourceOrders.Select(q => new { q.SOURCE_CODE, q.SOURCE_ORDER }).DistinctBy(q => q.SOURCE_ORDER).OrderBy(q => q.SOURCE_ORDER); Order.SOURCE_CODE = string.Join(",", srcInfo.Select(q => q.SOURCE_CODE)); -- Gitblit v1.9.3