From 77da8b9247b9df926678cfb7e4af0f0900f3a084 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期二, 13 五月 2025 18:32:52 +0800
Subject: [PATCH] 修复了一些已知问题

---
 Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs b/Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs
index 86065b8..23f7840 100644
--- a/Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs
+++ b/Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs
@@ -236,7 +236,7 @@
                     var actQty = CurPrepDtl.QTY_PREP > CurPREP.BizType.GetActReqQty(CurPrepDtl) ? 0 : (CurPREP.BizType.GetActReqQty(CurPrepDtl) - CurPrepDtl.QTY_PREP);
                     Result<List<SuggestItem>> result = Suggest(CurPrepDtl.ORDER_NO, CurPrepDtl.ITEM_CODE, option, input.AuthOption, actQty);
                     action.LocaleMsg = result.LocaleMsg;
-                    if (result.IsException)
+                    if (result.IsException || result.IsFailed)
                     {
                         action.IsSuccessed = false;
                         return action;
@@ -292,7 +292,8 @@
             {
 	            var prepDtl = MainDB.Queryable<BIZ_WMS_PREP_DTL>().Where(q => q.ID == CurPrepDtl.ID).First();
 	            prepDtl.Suggests = Suggests;
-	            CurPrepDtl = prepDtl;
+                prepDtl.Deliverys = MainDB.Queryable<BIZ_WMS_PREP_SN>().Where(q => q.ORDER_NO == CurPrepDtl.ORDER_NO && q.ORDER_LINE == CurPrepDtl.ORDER_LINE && q.STATUS == WMS_ITEM.STATUSs.OffShelf.GetValue()).ToList();
+                CurPrepDtl = prepDtl;
 	            CurPREP.Order.Details.RemoveAll(q => q.ID == CurPrepDtl.ID);
 	            CurPREP.Order.Details.Add(CurPrepDtl);
 	            action.Data = CurPrepDtl;
@@ -445,6 +446,14 @@
                     action.LocaleMsg = Biz.L("WMS.Out_BIZ_WMS_PREP.ScanItem.NoNeedItemCode", inv.CurPkg.SN, CurPrepDtl.ITEM_CODE);
                     return action;
                 }
+                //鍒ゆ柇鏄惁鍦ㄥ鏂欐暟閲忓凡缁忚秴杩囬渶姹傛暟閲忓垯涓嶅厑璁哥户缁彂鏂�
+                if (CurPrepDtl.QTY_PREP > CurPREP.BizType.GetActReqQty(CurPrepDtl))
+                {
+                    action.IsSuccessed = false;
+                    //action.LocaleMsg = Biz.L($"褰撳墠鐗╂枡[{0}]瀹為檯闇�姹俒{1}]宸插鏂橻{2}]锛屾棤闇�缁х画涓嬫灦锛岃鏀惧洖鍘熷偍浣嶅苟閫夋嫨鍏朵粬鐗╂枡琛岀户缁搷浣�");
+                    action.LocaleMsg = Biz.L("WMS.Out_BIZ_WMS_PREP.ScanItem.PrepQtyEnough", CurPrepDtl.ITEM_CODE, CurPREP.BizType.GetActReqQty(CurPrepDtl), CurPrepDtl.QTY_PREP);
+                    return action;
+                }
                 //鍒ゆ柇鏄惁鍦ㄥ鏂欎腑鐨勭墿鏂�
                 //if (!CurPREP.Order.Details.Any(q => q.ITEM_CODE == inv.ItemInfo.ITEM_CODE))
                 //{
@@ -453,7 +462,7 @@
                 //    action.LocaleMsg = Biz.L("WMS.Out_BIZ_WMS_PREP.ScanItem.NoNeedItemCode", inv.ItemInfo.ITEM_CODE.IsNullOrEmpty(inv.Barcode.ItemCode));
                 //    return action;
                 //}
-                
+
                 //ProcessingOrderDetail = input.SN;
                 //if (WMSContext.TransactionDic.Where(q => !string.IsNullOrWhiteSpace(q.Value.ProcessingSn)).Any(q => q.Value.ProcessingSn == ProcessingSn && q.Value.TransID != this.TransID))
                 //{
@@ -791,6 +800,8 @@
         public async Task<ApiAction> GenerateDlvyBatch(BaseInput input)
         {
             var range = input.Data.ToInt32().GetEnum<BIZ_WMS_PREP_BTH.BATCH_RANGEs>();
+            //浠庢暟鎹簱鏇存柊褰撳墠鍗曟嵁鐨勬墍鏈変俊鎭�
+            CurPREP.Order = MainDB.Queryable<BIZ_WMS_PREP>().Where(q => q.ID == CurPREP.Order.ID).IncludesAllFirstLayer().First();
             var action = await CurPREP.Order.BIZ_TYPE.GetEnum<BIZ_WMS_PREP.BIZ_TYPEs>() .GenerateDlvyBatch(this, range);
             return action;
         }

--
Gitblit v1.9.3