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