From 56f5b01b7fce60a659f18f7c840c0867cd42067a Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 01 四月 2025 23:48:47 +0800
Subject: [PATCH] 新增审核和确认接口,优化登录逻辑

---
 Tiger.Business.WMS/ERP/WMS_U9C.ApproveMiscRcvTrans.cs          |    2 
 Tiger.Business.WMS/ERP/WMS_U9C.ApproveMaterialReqProdReturn.cs |   82 +++++++++++++
 Tiger.IBusiness.WMS/iERP/IWMS_U9C.cs                           |    2 
 Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs    |   83 +++++++++++++
 Tiger.Business.WMS/ERP/WMS_U9C.CreateProdReturnOrder.cs        |   55 ++++++++
 Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferIn.cs             |   26 ++--
 Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferForm.cs           |    2 
 Tiger.Business.WMS/ERP/WMS_U9C.cs                              |   23 +++
 Tiger.Business.WMS/ERP/WMS_U9C.ApproveMiscShip.cs              |    2 
 Tiger.Business.WMS/ERP/WMS_U9C.ConfirmMaterialReqProdReturn.cs |   82 +++++++++++++
 10 files changed, 335 insertions(+), 24 deletions(-)

diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.ApproveMaterialReqProdReturn.cs b/Tiger.Business.WMS/ERP/WMS_U9C.ApproveMaterialReqProdReturn.cs
new file mode 100644
index 0000000..8bef7b1
--- /dev/null
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.ApproveMaterialReqProdReturn.cs
@@ -0,0 +1,82 @@
+锘縰sing Tiger.Model;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Text;
+using System.Threading.Tasks;
+using Rhea.Common;
+using System.Net;
+using System.Linq;
+using Newtonsoft.Json;
+using Tiger.IBusiness;
+using Microsoft.AspNetCore.Http;
+using Tiger.Model.Minsun;
+using Org.BouncyCastle.Asn1.Tsp;
+using Tiger.Model.Entitys.MES.Position;
+using Apache.NMS.ActiveMQ.Commands;
+using System.Security.Cryptography;
+using System.Diagnostics;
+using Tiger.Model.Entitys.MES.U9C;
+using Newtonsoft.Json.Linq;
+using System.Security.Policy;
+using NetTaste;
+
+namespace Tiger.Business.WMS
+{
+    public partial class WMS_U9C
+    {
+        /// <summary>
+        /// 棰嗘枡鍗曢��鏂欏崟瀹℃牳鎺ュ彛
+        /// </summary>
+        public static string ApproveReqReturnUrl
+        { get; set; } = "http://172.16.80.20/u9c/webapi/IssueDoc/Approve"; // ApiConfig.IsTestServer ? Cache.SysParam["ApproveReqReturnUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["ApproveReqReturnUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/IssueDoc/Approve
+
+        /// <summary>
+        /// 棰嗘枡鍗曢��鏂欏崟瀹℃牳鎺ュ彛
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        public async Task<ApiAction<List<U9CReturnData>>> ApproveReqReturn(ApproveReqReturnInput input)
+        {
+            Logger.Interface.Info($"/**\r\n *杩涘叆棰嗘枡鍗曢��鏂欏崟瀹℃牳鎺ュ彛....\r\n */\r\n"); //鍥哄畾鍐欐硶
+            var action = new ApiAction<List<U9CReturnData>>();
+            try
+            {
+                //濡傛灉宸茬粡鐧诲綍鍒欎笉闇�瑕佸啀娆$櫥褰曪紝鐩存帴浣跨敤浼犲叆鐨則oken
+                if (input.IsLogin)
+                {
+                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={Reviewer}{secret}");
+                    if (u9CLoginResult.Success)
+                    {
+                        input.token = u9CLoginResult.Data;
+                        Logger.Interface.Info($"U9C鐧诲綍token: {input.token}");
+                    }
+                }
+
+                var response = await HttpHelper.PostAsync(ConfirmReqReturnUrl, JsonConvert.SerializeObject(input.ApproveReqReturnParams), new Dictionary<string, string>() { { "token", input.token } });
+                var result = JsonConvert.DeserializeObject<U9CResult>(response.Message);
+                if (result != null)
+                {
+                    if (result.Success && result.Data[0].m_isSucess)
+                    {
+                        action.Data = result.Data;
+                        Logger.Interface.Info($"棰嗘枡鍗曢��鏂欏崟瀹℃牳鎺ュ彛鎻愪氦Json: {JsonConvert.SerializeObject(input.ApproveReqReturnParams)}锛岃繑鍥濲son: {response.Message}");
+                    }
+                    else
+                    {
+                        action.IsSuccessed = false;
+                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}");
+                        Logger.Interface.Info($"棰嗘枡鍗曢��鏂欏崟瀹℃牳鎺ュ彛澶辫触:{result.Data[0].m_errorMsg}锛屾彁浜son: {JsonConvert.SerializeObject(input.ApproveReqReturnParams)}");
+                    }
+                }
+            }
+            catch (System.Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, "棰嗘枡鍗�/閫�鏂欏崟鍙戞枡/閫�鏂欑‘璁ゅ紓甯�");
+            }
+            Logger.Interface.Info($"/* 棰嗘枡鍗曢��鏂欏崟瀹℃牳鎺ュ彛缁撴潫 */\r\n"); //鍥哄畾鍐欐硶
+            return action;
+        }
+    }
+}
diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscRcvTrans.cs b/Tiger.Business.WMS/ERP/WMS_U9C.ApproveMiscRcvTrans.cs
similarity index 97%
rename from Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscRcvTrans.cs
rename to Tiger.Business.WMS/ERP/WMS_U9C.ApproveMiscRcvTrans.cs
index ee038b6..0f203d7 100644
--- a/Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscRcvTrans.cs
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.ApproveMiscRcvTrans.cs
@@ -44,7 +44,7 @@
                 //濡傛灉宸茬粡鐧诲綍鍒欎笉闇�瑕佸啀娆$櫥褰曪紝鐩存帴浣跨敤浼犲叆鐨則oken
                 if (input.IsLogin)
                 {
-                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
+                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={Reviewer}{secret}");
                     if (u9CLoginResult.Success)
                     {
                         input.token = u9CLoginResult.Data;
diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscShip.cs b/Tiger.Business.WMS/ERP/WMS_U9C.ApproveMiscShip.cs
similarity index 97%
rename from Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscShip.cs
rename to Tiger.Business.WMS/ERP/WMS_U9C.ApproveMiscShip.cs
index d7a5992..8c237a9 100644
--- a/Tiger.Business.WMS/ERP/WMS_U9C.CreateMiscShip.cs
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.ApproveMiscShip.cs
@@ -44,7 +44,7 @@
                 //濡傛灉宸茬粡鐧诲綍鍒欎笉闇�瑕佸啀娆$櫥褰曪紝鐩存帴浣跨敤浼犲叆鐨則oken
                 if (input.IsLogin)
                 {
-                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
+                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={Reviewer}{secret}");
                     if (u9CLoginResult.Success)
                     {
                         input.token = u9CLoginResult.Data;
diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.ConfirmMaterialReqProdReturn.cs b/Tiger.Business.WMS/ERP/WMS_U9C.ConfirmMaterialReqProdReturn.cs
new file mode 100644
index 0000000..3ef8476
--- /dev/null
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.ConfirmMaterialReqProdReturn.cs
@@ -0,0 +1,82 @@
+锘縰sing Tiger.Model;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Text;
+using System.Threading.Tasks;
+using Rhea.Common;
+using System.Net;
+using System.Linq;
+using Newtonsoft.Json;
+using Tiger.IBusiness;
+using Microsoft.AspNetCore.Http;
+using Tiger.Model.Minsun;
+using Org.BouncyCastle.Asn1.Tsp;
+using Tiger.Model.Entitys.MES.Position;
+using Apache.NMS.ActiveMQ.Commands;
+using System.Security.Cryptography;
+using System.Diagnostics;
+using Tiger.Model.Entitys.MES.U9C;
+using Newtonsoft.Json.Linq;
+using System.Security.Policy;
+using NetTaste;
+
+namespace Tiger.Business.WMS
+{
+    public partial class WMS_U9C
+    {
+        /// <summary>
+        /// 棰嗘枡鍗�/閫�鏂欏崟 鍙戞枡/閫�鏂欑‘璁�
+        /// </summary>
+        public static string ConfirmReqReturnUrl
+        { get; set; } = "http://172.16.80.20/u9c/webapi/IssueDoc/Confirm"; // ApiConfig.IsTestServer ? Cache.SysParam["ConfirmReqReturnUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["ConfirmReqReturnUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/IssueDoc/Confirm
+
+        /// <summary>
+        /// 棰嗘枡鍗�/閫�鏂欏崟鍙戞枡/閫�鏂欑‘璁�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        public async Task<ApiAction<List<U9CReturnData>>> ConfirmReqReturn(ConfirmReqReturnInput input)
+        {
+            Logger.Interface.Info($"/**\r\n *杩涘叆棰嗘枡鍗�/閫�鏂欏崟鍙戞枡/閫�鏂欑‘璁ゆ帴鍙�....\r\n */\r\n"); //鍥哄畾鍐欐硶
+            var action = new ApiAction<List<U9CReturnData>>();
+            try
+            {
+                //濡傛灉宸茬粡鐧诲綍鍒欎笉闇�瑕佸啀娆$櫥褰曪紝鐩存帴浣跨敤浼犲叆鐨則oken
+                if (input.IsLogin)
+                {
+                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
+                    if (u9CLoginResult.Success)
+                    {
+                        input.token = u9CLoginResult.Data;
+                        Logger.Interface.Info($"U9C鐧诲綍token: {input.token}");
+                    }
+                }
+
+                var response = await HttpHelper.PostAsync(ConfirmReqReturnUrl, JsonConvert.SerializeObject(input.ConfirmReqReturnParams), new Dictionary<string, string>() { { "token", input.token } });
+                var result = JsonConvert.DeserializeObject<U9CResult>(response.Message);
+                if (result != null)
+                {
+                    if (result.Success && result.Data[0].m_isSucess)
+                    {
+                        action.Data = result.Data;
+                        Logger.Interface.Info($"棰嗘枡鍗�/閫�鏂欏崟鍙戞枡/閫�鏂欑‘璁ゆ帴鍙f彁浜son: {JsonConvert.SerializeObject(input.ConfirmReqReturnParams)}锛岃繑鍥濲son: {response.Message}");
+                    }
+                    else
+                    {
+                        action.IsSuccessed = false;
+                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}");
+                        Logger.Interface.Info($"棰嗘枡鍗�/閫�鏂欏崟鍙戞枡/閫�鏂欑‘璁ゆ帴鍙eけ璐�:{result.Data[0].m_errorMsg}锛屾彁浜son: {JsonConvert.SerializeObject(input.ConfirmReqReturnParams)}");
+                    }
+                }
+            }
+            catch (System.Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, "棰嗘枡鍗�/閫�鏂欏崟鍙戞枡/閫�鏂欑‘璁ゅ紓甯�");
+            }
+            Logger.Interface.Info($"/* 棰嗘枡鍗�/閫�鏂欏崟鍙戞枡/閫�鏂欑‘璁ゆ帴鍙g粨鏉� */\r\n"); //鍥哄畾鍐欐硶
+            return action;
+        }
+    }
+}
diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.CreateProdReturnOrder.cs b/Tiger.Business.WMS/ERP/WMS_U9C.CreateProdReturnOrder.cs
index 135be19..10e4aed 100644
--- a/Tiger.Business.WMS/ERP/WMS_U9C.CreateProdReturnOrder.cs
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.CreateProdReturnOrder.cs
@@ -31,7 +31,7 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public async Task<ApiAction<List<U9CReturnData>>> CreateProdReturnOrder(CreateProdReturnOrderInput input) {
+        public async Task<ApiAction<List<U9CReturnData>>> CreateProdReturnOrderNew(CreateProdReturnOrderNewInput input) {
             Logger.Interface.Info($"/**\r\n *杩涘叆鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙�....\r\n */\r\n"); //鍥哄畾鍐欐硶
             var action = new ApiAction<List<U9CReturnData>>();
             try
@@ -47,20 +47,20 @@
                     }
                 }
 
-                var response = await HttpHelper.PostAsync(CreateProdReturnOrderUrl, JsonConvert.SerializeObject(input.CreateProdReturnOrderParam), new Dictionary<string, string>() { { "token", input.token } });
+                var response = await HttpHelper.PostAsync(CreateProdReturnOrderNewUrl, JsonConvert.SerializeObject(input.CreateProdReturnOrderNewParams), new Dictionary<string, string>() { { "token", input.token } });
                 var result = JsonConvert.DeserializeObject<U9CResult>(response.Message);
                 if (result != null)
                 {
                     if (result.Success && result.Data[0].m_isSucess)
                     {
                         action.Data = result.Data;
-                        Logger.Interface.Info($"鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙f彁浜son: {JsonConvert.SerializeObject(input.CreateProdReturnOrderParam)}锛岃繑鍥濲son: {response.Message}");
+                        Logger.Interface.Info($"鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙f彁浜son: {JsonConvert.SerializeObject(input.CreateProdReturnOrderNewParams)}锛岃繑鍥濲son: {response.Message}");
                     }
                     else
                     {
                         action.IsSuccessed = false;
                         action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}");
-                        Logger.Interface.Info($"鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙eけ璐�:{result.Data[0].m_errorMsg}");
+                        Logger.Interface.Info($"鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙eけ璐�:{result.Data[0].m_errorMsg}锛屾彁浜son: {JsonConvert.SerializeObject(input.CreateProdReturnOrderNewParams)}");
                     }
                 }
             }
@@ -71,5 +71,52 @@
             Logger.Interface.Info($"/* 鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙g粨鏉� */\r\n"); //鍥哄畾鍐欐硶
             return action;
         }
+
+        /// <summary>
+        /// 鍒涘缓鐢熶骇閫�鏂欏崟
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        public async Task<ApiAction<List<U9CReturnData>>> CreateProdReturnOrder(CreateProdReturnOrderInput input)
+        {
+            Logger.Interface.Info($"/**\r\n *杩涘叆鍒涘缓鐢熶骇閫�鏂欏崟鎺ュ彛....\r\n */\r\n"); //鍥哄畾鍐欐硶
+            var action = new ApiAction<List<U9CReturnData>>();
+            try
+            {
+                //濡傛灉宸茬粡鐧诲綍鍒欎笉闇�瑕佸啀娆$櫥褰曪紝鐩存帴浣跨敤浼犲叆鐨則oken
+                if (input.IsLogin)
+                {
+                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
+                    if (u9CLoginResult.Success)
+                    {
+                        input.token = u9CLoginResult.Data;
+                        Logger.Interface.Info($"U9C鐧诲綍token: {input.token}");
+                    }
+                }
+
+                var response = await HttpHelper.PostAsync(CreateProdReturnOrderNewUrl, JsonConvert.SerializeObject(input.CreateProdReturnOrderParam), new Dictionary<string, string>() { { "token", input.token } });
+                var result = JsonConvert.DeserializeObject<U9CResult>(response.Message);
+                if (result != null)
+                {
+                    if (result.Success && result.Data[0].m_isSucess)
+                    {
+                        action.Data = result.Data;
+                        Logger.Interface.Info($"鍒涘缓鐢熶骇閫�鏂欏崟鎺ュ彛鎻愪氦Json: {JsonConvert.SerializeObject(input.CreateProdReturnOrderParam)}锛岃繑鍥濲son: {response.Message}");
+                    }
+                    else
+                    {
+                        action.IsSuccessed = false;
+                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}");
+                        Logger.Interface.Info($"鍒涘缓鐢熶骇閫�鏂欏崟鎺ュ彛澶辫触:{result.Data[0].m_errorMsg}");
+                    }
+                }
+            }
+            catch (System.Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, "鍒涘缓鐢熶骇閫�鏂欏崟寮傚父");
+            }
+            Logger.Interface.Info($"/* 鍒涘缓鐢熶骇閫�鏂欏崟鎺ュ彛缁撴潫 */\r\n"); //鍥哄畾鍐欐硶
+            return action;
+        }
     }
 }
diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferForm.cs b/Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferForm.cs
index 03475aa..c10574b 100644
--- a/Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferForm.cs
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferForm.cs
@@ -167,7 +167,7 @@
                 //濡傛灉宸茬粡鐧诲綍鍒欎笉闇�瑕佸啀娆$櫥褰曪紝鐩存帴浣跨敤浼犲叆鐨則oken
                 if (input.IsLogin)
                 {
-                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
+                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={Reviewer}{secret}");
                     if (u9CLoginResult.Success)
                     {
                         input.token = u9CLoginResult.Data;
diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferIn.cs b/Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferIn.cs
index a391db4..31fe6c6 100644
--- a/Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferIn.cs
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.CreateTransferIn.cs
@@ -32,12 +32,12 @@
         { get; set; } = "http://172.16.80.20/u9c/webapi/TransferIn/Approve"; // ApiConfig.IsTestServer ? Cache.SysParam["TransferInApproveUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["TransferInApproveUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/TransferIn/Approve
 
         /// <summary>
-        /// 鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙�
+        /// 鍒涘缓璋冨叆鍗曟帴鍙�
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
         public async Task<ApiAction<List<U9CReturnData>>> CreateTransferIn(CreateTransferInInput input) {
-            Logger.Interface.Info($"/**\r\n *杩涘叆鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙�....\r\n */\r\n"); //鍥哄畾鍐欐硶
+            Logger.Interface.Info($"/**\r\n *杩涘叆鍒涘缓璋冨叆鍗曟帴鍙�....\r\n */\r\n"); //鍥哄畾鍐欐硶
             var action = new ApiAction<List<U9CReturnData>>();
             try
             {
@@ -59,21 +59,21 @@
                     if (result.Success && result.Data[0].m_isSucess)
                     {
                         action.Data = result.Data;
-                        Logger.Interface.Info($"鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙f彁浜son: {JsonConvert.SerializeObject(input.CreateTransferInParam)}锛岃繑鍥濲son: {response.Message}");
+                        Logger.Interface.Info($"鍒涘缓璋冨叆鍗曟帴鍙f彁浜son: {JsonConvert.SerializeObject(input.CreateTransferInParam)}锛岃繑鍥濲son: {response.Message}");
                     }
                     else
                     {
                         action.IsSuccessed = false;
                         action.LocaleMsg = new($"{action.Message}; {result.Data[0].m_errorMsg}");
-                        Logger.Interface.Info($"鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙eけ璐�:{result.Data[0].m_errorMsg}");
+                        Logger.Interface.Info($"鍒涘缓璋冨叆鍗曟帴鍙eけ璐�:{result.Data[0].m_errorMsg}");
                     }
                 }
             }
             catch (System.Exception ex)
             {
-                action.CatchExceptionWithLog(ex, "鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欏紓甯�");
+                action.CatchExceptionWithLog(ex, "鍒涘缓璋冨叆鍗曞紓甯�");
             }
-            Logger.Interface.Info($"/* 鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙g粨鏉� */\r\n"); //鍥哄畾鍐欐硶
+            Logger.Interface.Info($"/* 鍒涘缓璋冨叆鍗曟帴鍙g粨鏉� */\r\n"); //鍥哄畾鍐欐硶
             return action;
         }
 
@@ -90,12 +90,14 @@
             var action = new ApiAction<List<U9CReturnData2>>();
             try
             {
-                action = await Submit(input);
-                if (action.IsSuccessed)
-                {
-                    input.IsLogin = false;
-                    action = await Approve(input);
-                }
+                //action = await Submit(input);
+                //if (action.IsSuccessed)
+                //{
+                //    input.IsLogin = false;
+                //    action = await Approve(input);
+                //}
+
+                action = await Approve(input);
             }
             catch (System.Exception ex)
             {
diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.cs b/Tiger.Business.WMS/ERP/WMS_U9C.cs
index 6253d49..09e150f 100644
--- a/Tiger.Business.WMS/ERP/WMS_U9C.cs
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.cs
@@ -18,6 +18,10 @@
         public static string U9CAuthLoginUrl { get; set; } = ApiConfig.IsTestServer ? Cache.SysParam["U9CAuthLoginUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["U9CAuthLoginUrl", "U9CUrl"].PARAM_VALUE; // "http://172.16.80.20/U9C/webapi/OAuth2/AuthLogin?"; 娴嬭瘯
         //public static string U9CAuthLoginUrl { get; set; } = Cache.SysParam["U9CAuthLoginUrl", "U9CUrl"].PARAM_VALUE; //姝e紡
         public static string secret = "&entcode=02&orgcode=101&clientid=mes&clientsecret=12c8ee7e9bb74ad2a6a0fb3315c8af20";
+        /// <summary>
+        /// 瀹℃牳浜�
+        /// </summary>
+        public static string Reviewer = Cache.SysParam["Reviewer", "U9CUrl"].PARAM_VALUE; 
         public static string CreateRcvBySrcASNUrl
         { get; set; } = "http://172.16.80.20/U9C/webapi/Receivement/CreateRcvBySrcASN"; //ApiConfig.IsTestServer ? Cache.SysParam["CreateRcvBySrcASNUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["CreateRcvBySrcASNUrl", "U9CUrl"].PARAM_VALUE;  //"http://172.16.80.20/U9C/webapi/Receivement/CreateRcvBySrcASN"; 娴嬭瘯
         public static string CreateReceivementUrl
@@ -26,14 +30,29 @@
         { get; set; } = "http://172.16.80.20/u9c/webapi/Receivement/SubmitLine";  // ApiConfig.IsTestServer ? Cache.SysParam["SubmitLineUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["SubmitLineUrl", "U9CUrl"].PARAM_VALUE;  //http://172.16.80.20/u9c/webapi/Receivement/SubmitLine; 娴嬭瘯
         public static string ApproveLineUrl
         { get; set; } = "http://172.16.80.20/u9c/webapi/Receivement/ApproveLine"; // ApiConfig.IsTestServer ? Cache.SysParam["ApproveLineUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["ApproveLineUrl", "U9CUrl"].PARAM_VALUE;  //http://172.16.80.20/u9c/webapi/Receivement/ApproveLine; 娴嬭瘯
+        /// <summary>
+        /// 鍒涘缓鐢熶骇棰嗘枡鍗�
+        /// </summary>
         public static string CreateProdMaterialReqUrl
         { get; set; } = "http://172.16.80.20/u9c/webapi/IssueDoc/Create"; // ApiConfig.IsTestServer ? Cache.SysParam["CreateProdMaterialReqUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["CreateProdMaterialReqUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/IssueDoc/Create
-        public static string CreateProdReturnOrderUrl
+        /// <summary>
+        /// 鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂�
+        /// </summary>
+        public static string CreateProdReturnOrderNewUrl
         { get; set; } = "http://172.16.80.20/u9c/webapi/IssueDoc/CreateRecedeIssueDocNew"; // ApiConfig.IsTestServer ? Cache.SysParam["CreateProdReturnOrderUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["CreateProdReturnOrderUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/IssueDoc/CreateRecedeIssueDocNew
+        /// <summary>
+        /// 鍒涘缓濮斿鐢熶骇棰嗘枡鍗�
+        /// </summary>
         public static string CreateOutProdMaterialReqUrl
         { get; set; } = "http://172.16.80.20/u9c/webapi/PMIssueDoc/Create"; // ApiConfig.IsTestServer ? Cache.SysParam["CreateOutProdMaterialReqUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["CreateOutProdMaterialReqUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/PMIssueDoc/Create
+        /// <summary>
+        /// 鍒涘缓濮斿鐢熶骇閫�鏂欏崟
+        /// </summary>
         public static string CreateOutProdReturnOrderUrl
         { get; set; } = "http://172.16.80.20/u9c/webapi/PMIssueDoc/CreateRecedeIssueDoc"; // ApiConfig.IsTestServer ? Cache.SysParam["CreateOutProdReturnOrderUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["CreateOutProdReturnOrderUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/PMIssueDoc/CreateRecedeIssueDoc
+        /// <summary>
+        /// 鍒涘缓璋冨叆鍗�
+        /// </summary>
         public static string CreateTransferInUrl
         { get; set; } = "http://172.16.80.20/u9c/webapi/TransferIn/Create"; // ApiConfig.IsTestServer ? Cache.SysParam["CreateTransferInUrl_Test", "U9CUrl"].PARAM_VALUE : Cache.SysParam["CreateTransferInUrl", "U9CUrl"].PARAM_VALUE; //http://172.16.80.20/u9c/webapi/TransferIn/Create
 
@@ -232,7 +251,7 @@
                 //濡傛灉宸茬粡鐧诲綍鍒欎笉闇�瑕佸啀娆$櫥褰曪紝鐩存帴浣跨敤浼犲叆鐨則oken
                 if (input.IsLogin)
                 {
-                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={input.userId}{secret}");
+                    var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode={Reviewer}{secret}");
                     if (u9CLoginResult.Success)
                     {
                         input.token = u9CLoginResult.Data;
diff --git a/Tiger.IBusiness.WMS/iERP/IWMS_U9C.cs b/Tiger.IBusiness.WMS/iERP/IWMS_U9C.cs
index 4828702..ffd6db0 100644
--- a/Tiger.IBusiness.WMS/iERP/IWMS_U9C.cs
+++ b/Tiger.IBusiness.WMS/iERP/IWMS_U9C.cs
@@ -17,8 +17,10 @@
         public Task<ApiAction<List<U9CReturnData2>>> ReceivementApproveLine(SubmitLineInput input);
         public Task<ApiAction<List<U9CReturnData>>> CreateProdMaterialReq(CreateProdMaterialReqInput input);
         public Task<ApiAction<List<U9CReturnData>>> CreateProdReturnOrder(CreateProdReturnOrderInput input);
+        public Task<ApiAction<List<U9CReturnData>>> CreateProdReturnOrderNew(CreateProdReturnOrderNewInput input);
         public Task<ApiAction<List<U9CReturnData>>> CreateOutProdMaterialReq(CreateOutProdMaterialReqInput input);
         public Task<ApiAction<List<U9CReturnData>>> CreateOutProdReturnOrder(CreateOutProdReturnOrderInput input);
+        public Task<ApiAction<List<U9CReturnData>>> ConfirmReqReturn(ConfirmReqReturnInput input);
         public Task<ApiAction<List<U9CReturnData>>> CreateTransferForm(CreateTransferFormInput input);
         public Task<ApiAction<List<U9CReturnData2>>> TransferFormApprove(TransferFormSubmitInput input);
         public Task<ApiAction<List<U9CReturnData>>> CreateTransferIn(CreateTransferInInput input);
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
index 8e8b3bd..8cc7c41 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
@@ -504,12 +504,12 @@
     #endregion
 
     #region 鍒涘缓鐢熶骇閫�鏂欏崟-鎸夎閫�鏂欐帴鍙�
-    public class CreateProdReturnOrderInput : U9CBaseInput
+    public class CreateProdReturnOrderNewInput : U9CBaseInput
     {
-        public List<CreateProdReturnOrderParam> CreateProdReturnOrderParam { get; set; }
+        public List<CreateProdReturnOrderNewParam> CreateProdReturnOrderNewParams { get; set; }
     }
 
-    public class CreateProdReturnOrderParam
+    public class CreateProdReturnOrderNewParam
     {
         public List<RecedeItemAndSnDTOList> RecedeItemAndSnDTOList { get; set; }
         public bool IsAutoIssued { get; set; }
@@ -524,6 +524,50 @@
         public double IssueLineNum { get; set; }
     }
 
+    #endregion
+
+    #region 鍒涘缓鐢熶骇閫�鏂欏崟
+    public class CreateProdReturnOrderInput : U9CBaseInput
+    {
+        public List<CreateProdReturnOrderParam> CreateProdReturnOrderParam { get; set; }
+    }
+
+    public class CreateProdReturnOrderParam
+    {
+        /// <summary>
+        /// 鐗╂枡缂栫爜
+        /// </summary>
+        public string ItemCode { get; set; }
+        /// <summary>
+        /// 澶囨枡琛↖D
+        /// </summary>
+        public string PickID { get; set; }
+        /// <summary>
+        /// 閫�鏂欐暟閲�
+        /// </summary>
+        public double RecedeQty { get; set; }
+        /// <summary>
+        /// 閫�鏂欑悊鐢� 0 鍊掓墸閫�鏂�  1濮斿閫�鏂�  2鎸枡閫�鏂� 3棰嗘枡寤鸿閫�鏂� 4鍋囬��鏂�  5鐩樼偣宸紓閫�鏂�  6璺ㄦ湡闂村弽寮�宸ラ��鏂�
+        /// </summary>
+        public int RecedeReason { get; set; }
+        /// <summary>
+        /// 棰嗘枡鍗曡ID
+        /// </summary>
+        public double IssueDocLine { get; set; }
+        /// <summary>
+        /// 鎵瑰彿
+        /// </summary>
+        public string LotNo { get; set; }
+        /// <summary>
+        /// 鑷姩鎵f枡 榛樿 false
+        /// </summary>
+        public bool IsAutoIssued { get; set; } = false;
+        public string OtherID { get; set; } = "WMS";
+        /// <summary>
+        /// 鐘舵�� 1涓烘彁浜ょ姸鎬�
+        /// </summary>
+        public int DocStatus { get; set; }
+    }
     #endregion
 
     #region 鍒涘缓濮斿鐢熶骇棰嗘枡鍗�
@@ -628,6 +672,39 @@
 
     #endregion
 
+    #region  棰嗘枡鍗�/閫�鏂欏崟鍙戞枡/閫�鏂欑‘璁�
+    public class ConfirmReqReturnInput : U9CBaseInput
+    {
+        public List<ConfirmReqReturnParam> ConfirmReqReturnParams { get; set; }
+    }
+
+    public class ConfirmReqReturnParam
+    {
+        /// <summary>
+        /// 棰嗘枡鍗�/閫�鏂欏崟鍙�
+        /// </summary>
+        public string DocNo { get; set; }
+        public bool IsSucceed { get; set; } = true;
+        public string ErrorMsg { get; set; }
+        public bool OperateType { get; set; } = true;
+        public string OtherID { get; set; } = "WMS";
+        public bool IsNotNewTransaction { get; set; } = true;
+        public bool IsAutoApp { get; set; } = true;
+    }
+    #endregion
+
+
+    #region  棰嗘枡鍗曢��鏂欏崟瀹℃牳鎺ュ彛
+    public class ApproveReqReturnInput : U9CBaseInput
+    {
+        public List<ApproveReqReturnParam> ApproveReqReturnParams { get; set; }
+    }
+
+    public class ApproveReqReturnParam: ConfirmReqReturnParam
+    {
+    }
+    #endregion
+
     #region 鍒涘缓璋冨叆鍗�
     public class CreateTransferInInput : U9CBaseInput
     {

--
Gitblit v1.9.3