From 29e5727404f1c34af7b0f9b80c0876e6eeb4b91c Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期三, 02 四月 2025 16:34:55 +0800
Subject: [PATCH] 上架修改调用完接口再保存

---
 Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs |   56 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 27 insertions(+), 29 deletions(-)

diff --git a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs
index ba35d1e..1cd1a9b 100644
--- a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs
+++ b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs
@@ -234,53 +234,51 @@
                     sn.IS_IN = "Y";
                 }
                 //濡傛灉褰撳墠琛屼笂鏋跺畬鎴愭爣璁颁负寰呭鏍�
-                Action approveAction = null;
                 receiptDtl.QTY_IN = receipt.SnList.Where(q => q.LINE_NO == receiptDtl.LINE_NO && q.STATUS == WMS_ITEM.STATUSs.InStore.GetValue()).Sum(q => q.QTY);
                 if (receiptDtl.QTY_IN == receiptDtl.QTY_OK)
                 {
                     receiptDtl.STATUS = BIZ_U9_RECEIPT.STATUSs.Review.GetValue();
-                    //褰撳墠鍗曟嵁鏄庣粏宸茬粡鍏ㄩ儴涓婃灦瀹屾垚锛屽彲浠ヨ皟鐢║9琛屽鎺ュ彛
-                    approveAction = () =>
+                    //褰撳墠鍗曟嵁鏄庣粏琛屽凡缁忓叏閮ㄤ笂鏋跺畬鎴愶紝鍙互璋冪敤U9琛屽鎺ュ彛锛屽鏋滆瀹″け璐ュ垯鎶ラ敊锛屾渶鍚庝竴涓笂鏋跺け璐�
+                    var iInput = new SubmitLineInput
                     {
-                        var iInput = new SubmitLineInput
+                        userId = UserCode,
+                        IsLogin = true,
+                        param = new()
                         {
-                            userId = UserCode,
-                            IsLogin = true,
-                            param = new()
-                            {
-                                RcvLineID = receiptDtl.ID,
-                                RcvDocNo = receiptDtl.ORDER_NO,
-                                DocLineNo = receiptDtl.LINE_NO,
-                                OrgCode = receiptDtl.AUTH_ORG,
-                            }
-                        };
-                        var result = DI.Resolve<IWMS_U9C>().ReceivementApproveLine(iInput).Result;
-                        if (!result.IsSuccessed)
-                        {
-                            throw new Exception(Biz.T(result.LocaleMsg, input.Locale));
-                        }
-                        else
-                        {
-                            //鏇存柊鍗曟嵁淇℃伅
-                            MainDB.Updateable<BIZ_U9_RECEIPT_DTL>().SetColumns(q => q.STATUS == BIZ_U9_RECEIPT.STATUSs.Finished.GetValue()).Where(q => q.ID == receiptDtl.ID).ExecuteCommand();
-                            if (!MainDB.Queryable<BIZ_U9_RECEIPT_DTL>().Any(q => q.STATUS < BIZ_U9_RECEIPT.STATUSs.Finished.GetValue() && q.ORDER_NO == receipt.ORDER_NO))
-                            {
-                                MainDB.Updateable<BIZ_U9_RECEIPT>().SetColumns(q => q.STATUS == BIZ_U9_RECEIPT.STATUSs.Finished.GetValue()).Where(q => q.ID == receipt.ID).ExecuteCommand();
-                            }
+                            RcvLineID = receiptDtl.ID,
+                            RcvDocNo = receiptDtl.ORDER_NO,
+                            DocLineNo = receiptDtl.LINE_NO,
+                            OrgCode = receiptDtl.AUTH_ORG,
                         }
                     };
+                    var result = await DI.Resolve<IWMS_U9C>().ReceivementApproveLine(iInput);
+                    if (!result.IsSuccessed)
+                    {
+                        action.IsSuccessed = false;
+                        action.LocaleMsg = result.LocaleMsg;
+                        return SetOutPutMqttMsg(action, input.Locale);
+                    }
+                    else
+                    {
+                        receiptDtl.STATUS = BIZ_U9_RECEIPT.STATUSs.Finished.GetValue();
+                    }
                 }
                 else
                 {
                     receiptDtl.STATUS = BIZ_U9_RECEIPT.STATUSs.Storing.GetValue();
                 }
+                //鏇存柊鍗曟嵁鐘舵��
                 if (receipt.Details.Any(q => q.STATUS < BIZ_U9_RECEIPT.STATUSs.Review.GetValue()))
                 {
                     receipt.STATUS = BIZ_U9_RECEIPT.STATUSs.Storing.GetValue();
                 }
-                else
+                else if (receipt.Details.Any(q => q.STATUS < BIZ_U9_RECEIPT.STATUSs.Finished.GetValue()))
                 {
                     receipt.STATUS = BIZ_U9_RECEIPT.STATUSs.Review.GetValue();
+                }
+                else
+                {
+                    receipt.STATUS = BIZ_U9_RECEIPT.STATUSs.Finished.GetValue();
                 }
 
                 //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
@@ -296,7 +294,7 @@
                 });
 
                 //瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
-                action = DoIfFinish(action, input.Locale, approveAction);
+                action = DoIfFinish(action, input.Locale);
             }
             catch (Exception ex)
             {

--
Gitblit v1.9.3