From b57fb8b61bd053601035694470ac4e79fbf99bf8 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期六, 12 四月 2025 17:52:56 +0800
Subject: [PATCH] 雅达-优化收货单处理逻辑及参数结构

---
 Tiger.Business.WMS/ERP/WMS_U9C.cs |   89 +++++++++++++++++++++-----------------------
 1 files changed, 42 insertions(+), 47 deletions(-)

diff --git a/Tiger.Business.WMS/ERP/WMS_U9C.cs b/Tiger.Business.WMS/ERP/WMS_U9C.cs
index 25d91e4..cb5c19d 100644
--- a/Tiger.Business.WMS/ERP/WMS_U9C.cs
+++ b/Tiger.Business.WMS/ERP/WMS_U9C.cs
@@ -1,5 +1,4 @@
-锘縰sing Tiger.Model;
-using SqlSugar;
+锘縰sing SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq.Expressions;
@@ -10,18 +9,7 @@
 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;
-using static System.Net.WebRequestMethods;
 
 namespace Tiger.Business.WMS
 {
@@ -30,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
@@ -38,14 +30,19 @@
         { 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; 娴嬭瘯
-        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
-        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
 
@@ -74,19 +71,21 @@
                 List<CreateRcvBySrcASNParam> param = new();
                 param.Add(input.CreateRcvBySrcASNParam);
                 var response = await HttpHelper.PostAsync(CreateRcvBySrcASNUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", input.token } });
+                //var response = new ApiAction("{\"ResCode\":0,\"Success\":true,\"ResMsg\":null,\"Data\":[{\"IsSucess\":true,\"U9CVersion\":null,\"OtherID\":\"WMS\",\"ID\":1002503210000100,\"Code\":\"YDRC250300003\",\"ErrorMsg\":null}]}");
+
                 var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                 if (result != null)
                 {
                     if (result.Success && result.Data[0].IsSucess)
                     {
                         action.Data = result.Data;
-                        Logger.Interface.Info($"鏂板鏀惰揣鍗�-鏉ユ簮ASN鍗曟帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}");
+                       Logger.Interface.Info($"鏂板鏀惰揣鍗�-鏉ユ簮ASN鍗曟帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}");
                     }
                     else
                     {
                         action.IsSuccessed = false;
                         action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
-                        Logger.Interface.Info($"鏂板鏀惰揣鍗�-鏉ユ簮ASN鍗曞け璐�:{result.Data[0].ErrorMsg}");
+                        Logger.Interface.Info($"鏂板鏀惰揣鍗�-鏉ユ簮ASN鍗曞け璐ワ紝鎻愪氦Json: {JsonConvert.SerializeObject(param)}锛岄敊璇俊鎭�:{result.Data[0].ErrorMsg}");
                     }
                 }
             }
@@ -119,37 +118,27 @@
                         Logger.Interface.Info($"U9C鐧诲綍token: {input.token}");
                     }
                 }
-                CreateReceivementParam param = new()
-                {
-                    rcvDTO = new()
-                    {
-                        BusinessDate = DateTime.Now,
-                        Supplier = new() { m_code = input.Supplier },
-                        RcvDocType = new() { m_code = input.RcvDocType },
-                        RcvLines= input.RcvLines,
-                    },
-                    OtherID = "WMS"
-                };
-                var response = await HttpHelper.PostAsync(CreateReceivementUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", input.token } });
+
+                var response = await HttpHelper.PostAsync(CreateReceivementUrl, JsonConvert.SerializeObject(input.CreateReceivementParam), new Dictionary<string, string>() { { "token", input.token } });
                 var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                 if (result != null)
                 {
                     if (result.Success && result.Data[0].IsSucess)
                     {
                         action.Data = result.Data;
-                        Logger.Interface.Info($"鏂板鏀惰揣鍗�-鏃犳潵婧愭帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}");
+                        Logger.Interface.Info($"鏂板鏀惰揣鍗�-鏃犳潵婧愭帴鍙f彁浜son: {JsonConvert.SerializeObject(input.CreateReceivementParam)}锛岃繑鍥濲son: {response.Message}");
                     }
                     else
                     {
                         action.IsSuccessed = false;
                         action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
-                        Logger.Interface.Info($"鏂板鏀惰揣-鍗曟棤鏉ユ簮澶辫触:{result.Data[0].ErrorMsg}");
+                        Logger.Interface.Info($"鏂板鏀惰揣-鍗曟棤鏉ユ簮澶辫触锛屾彁浜son: {JsonConvert.SerializeObject(input.CreateReceivementParam)}锛岄敊璇俊鎭�:{result.Data[0].ErrorMsg}");
                     }
                 }
             }
             catch (System.Exception ex)
             {
-                action.CatchExceptionWithLog(ex, "鏂板鏀惰揣鍗�-鏃犳潵婧愬紓甯�");
+                action.CatchExceptionWithLog(ex, $"鏂板鏀惰揣鍗�-鏃犳潵婧愬紓甯革紝鎻愪氦Json: {JsonConvert.SerializeObject(input.CreateReceivementParam)}");
             }
             Logger.Interface.Info($"/* 鏂板鏀惰揣鍗�-鏃犳潵婧愭帴鍙g粨鏉� */\r\n"); //鍥哄畾鍐欐硶
             return action;
@@ -165,10 +154,12 @@
             var action = new ApiAction<List<U9CReturnData2>>();
             try
             {
-                action = await SubmitLine(input);
-                if (action.IsSuccessed) {
-                    action = await ApproveLine(input);
-                }
+                //action = await SubmitLine(input);
+                //if (action.IsSuccessed) {
+                //    input.IsLogin = false;
+                //    action = await ApproveLine(input);
+                //}
+                action = await ApproveLine(input);
             }
             catch (System.Exception ex)
             {
@@ -199,19 +190,21 @@
                         Logger.Interface.Info($"U9C鐧诲綍token: {input.token}");
                     }
                 }
-                var response = await HttpHelper.PostAsync(SubmitLineUrl, JsonConvert.SerializeObject(input.param), new Dictionary<string, string>() { { "token", input.token } });
+                var _params = new List<SubmitLineInputParam>();
+                _params.Add(input.param);
+                var response = await HttpHelper.PostAsync(SubmitLineUrl, JsonConvert.SerializeObject(_params), new Dictionary<string, string>() { { "token", input.token } });
                 var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                 if (result != null)
                 {
                     if (result.Success && result.Data[0].IsSucess)
                     {
                         action.Data = result.Data;
-                        Logger.Interface.Info($"鏀惰揣鍗�-琛屾彁浜ゆ帴鍙f彁浜son: {JsonConvert.SerializeObject(input.param)}锛岃繑鍥濲son: {response.Message}");
+                        Logger.Interface.Info($"鏀惰揣鍗�-琛屾彁浜ゆ帴鍙f彁浜son: {JsonConvert.SerializeObject(_params)}锛岃繑鍥濲son: {response.Message}");
                     }
                     else
                     {
                         action.IsSuccessed = false;
-                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
+                        action.LocaleMsg = new($"鏀惰揣鍗�-琛屾彁浜ゆ帴鍙eけ璐�: {result.Data[0].ErrorMsg}");
                         Logger.Interface.Info($"鏀惰揣鍗�-琛屾彁浜ゆ帴鍙eけ璐�:{result.Data[0].ErrorMsg}");
                     }
                 }
@@ -238,27 +231,29 @@
                 //濡傛灉宸茬粡鐧诲綍鍒欎笉闇�瑕佸啀娆$櫥褰曪紝鐩存帴浣跨敤浼犲叆鐨則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;
                         Logger.Interface.Info($"U9C鐧诲綍token: {input.token}");
                     }
                 }
-                var response = await HttpHelper.PostAsync(ApproveLineUrl, JsonConvert.SerializeObject(input.param), new Dictionary<string, string>() { { "token", input.token } });
+                var _params = new List<SubmitLineInputParam>();
+                _params.Add(input.param);
+                var response = await HttpHelper.PostAsync(ApproveLineUrl, JsonConvert.SerializeObject(_params), new Dictionary<string, string>() { { "token", input.token } });
                 var result = JsonConvert.DeserializeObject<U9CResult2>(response.Message);
                 if (result != null)
                 {
                     if (result.Success && result.Data[0].IsSucess)
                     {
                         action.Data = result.Data;
-                        Logger.Interface.Info($"鏀惰揣鍗�-琛屽鏍告帴鍙f彁浜son: {JsonConvert.SerializeObject(input.param)}锛岃繑鍥濲son: {response.Message}");
+                        Logger.Interface.Info($"鏀惰揣鍗�-琛屽鏍告帴鍙f彁浜son: {JsonConvert.SerializeObject(_params)}锛岃繑鍥濲son: {response.Message}");
                     }
                     else
                     {
                         action.IsSuccessed = false;
-                        action.LocaleMsg = new($"{action.Message}; {result.Data[0].ErrorMsg}");
-                        Logger.Interface.Info($"鏀惰揣鍗�-琛屽鏍告帴鍙eけ璐�:{result.Data[0].ErrorMsg}");
+                        action.LocaleMsg = new($"鏀惰揣鍗� - 琛屽鏍告帴鍙eけ璐�:{result.Data[0].ErrorMsg}");
+                        Logger.Interface.Info($"鏀惰揣鍗�-琛屽鏍告帴鍙f彁浜son: {JsonConvert.SerializeObject(_params)}锛屽け璐�:{result.Data[0].ErrorMsg}");
                     }
                 }
             }

--
Gitblit v1.9.3