From 9ec715d2deb18a269dd49c48da91a36632d08c81 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 18 六月 2025 00:56:26 +0800
Subject: [PATCH] 最新代码上传,优化功能等

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs |  280 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 252 insertions(+), 28 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs"
index 9f898a1..5ad1885 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs"
@@ -1,4 +1,6 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Serialization;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -19,8 +21,13 @@
         private readonly IApiInfoRepository _apiInfoRepository;
         public InvokeERPService(IApiInfoRepository apiInfoRepository)
         {
-            _apiInfoRepository= apiInfoRepository;
+            _apiInfoRepository = apiInfoRepository;
         }
+        // 鍒涘缓涓�涓娇鐢ㄥ皬椹煎嘲鍛藉悕娉曠殑搴忓垪鍖栬缃�
+        JsonSerializerSettings settings = new JsonSerializerSettings
+        {
+            ContractResolver = new CamelCasePropertyNamesContractResolver()
+        };
         /// <summary>
         /// ERP鏀惰揣鍗曟帴鍙h皟鐢�
         /// </summary>
@@ -28,15 +35,18 @@
         /// <returns></returns>
         public string InvokeMatReceiveApi(ERPReceiveModel receiveModel)
         {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x=>x.ApiCode==APIEnum.InvokeMatReceiveApi.ToString());
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
             ERPBaseModel<ERPReceiveModel> model = new ERPBaseModel<ERPReceiveModel>()
             {
                 Data = receiveModel,
-                Desc = "鏀惰揣鍗�",
+                Desc = "WMS鏀惰揣鍗曟帹閫�",
                 Type = "toTCWMSReceive",
-                SecurityCode = ""
+                SecurityCode = "TeChuang"
             };
-            string response = HttpHelper.Post(apiInfo.ApiAddress, model.Serialize());
+            
+            string request = JsonConvert.SerializeObject(model, settings);
+            
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
             return response;
         }
 
@@ -47,16 +57,36 @@
         /// <returns></returns>
         public string InvokeCheckOrderApi(ERPCheckModel checkModel)
         {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeCheckOrderApi.ToString());
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
             ERPBaseModel<ERPCheckModel> model = new ERPBaseModel<ERPCheckModel>()
             {
                 Data = checkModel,
-                Desc = "鏀惰揣鍗�",
+                Desc = "鐗╂枡IQC妫�楠屽崟",
                 Type = "toTCWMSIQCTest",
-                SecurityCode = ""
+                SecurityCode = "TeChuang"
             };
+            string request = JsonConvert.SerializeObject(model, settings);
 
-            string response = HttpHelper.Post(apiInfo.ApiAddress, model.Serialize());
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+
+        /// <summary>
+        /// ERP鐗╂枡閫佹鎺ュ彛璋冪敤
+        /// </summary>
+        public string InvokeInspectApi(ERPInspectModel eRPInspectModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPInspectModel> model = new ERPBaseModel<ERPInspectModel>()
+            {
+                Data = eRPInspectModel,
+                Desc = "鐗╂枡鍑轰粨妫�楠屽崟",
+                Type = "toTCWMSOUTTest",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
             return response;
         }
 
@@ -67,16 +97,207 @@
         /// <returns></returns>
         public string InvokeInboundOrderApi(ERPInboundModel inboundModel)
         {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeInboundOrderApi.ToString());
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
             ERPBaseModel<ERPInboundModel> model = new ERPBaseModel<ERPInboundModel>()
             {
                 Data = inboundModel,
-                Desc = "鏀惰揣鍗�",
+                Desc = "鐗╂枡鍏ュ簱鍗�",
                 Type = "toTCWMSMaterialWarehousing",
-                SecurityCode = ""
+                SecurityCode = "TeChuang"
             };
-
-            string response = HttpHelper.Post(apiInfo.ApiAddress, model.Serialize());
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// ERP棰嗘枡閫氱煡鍗曞嚭搴�
+        /// </summary>
+        public string InvokeOutStandardsApi(ERPIssueModel issueModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPIssueModel> model = new ERPBaseModel<ERPIssueModel>()
+            {
+                Data = issueModel,
+                Desc = "棰嗘枡鍑哄簱閫氱煡鍗�",
+                Type = "toStandardPickList",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings).Replace("issitem", "Issitem");
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// ERP閫�鏂欎笂鎶ユ帴鍙h皟鐢�
+        /// </summary>
+        public string InvokeReturnApi(ERPReturnModel returnModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPReturnModel> model = new ERPBaseModel<ERPReturnModel>()
+            {
+                Data = returnModel,
+                Desc = "鏉愭枡閫�搴�",
+                Type = "importMaterialsIssueNoteWMS",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings).Replace("issitem", "Issitem");
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// ERP鐩樿耽/浜忎笂鎶ユ帴鍙h皟鐢�
+        /// </summary>
+        public string InvokeTakeStockApi(ERPTakeStockModel takeModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPTakeStockModel> model = new ERPBaseModel<ERPTakeStockModel>()
+            {
+                Data = takeModel,
+                Desc = "鏉愭枡鐩樼偣",
+                Type = "toTCWMSMaterialCounting",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// ERP鎴愬搧鍑哄簱涓婃姤鎺ュ彛璋冪敤
+        /// </summary>
+        public string InvokeProOutApi(ERPProOutOrderModel outOrderModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPProOutOrderModel> model = new ERPBaseModel<ERPProOutOrderModel>()
+            {
+                Data = outOrderModel,
+                Desc = "鍑哄簱鎴愬搧閫氱煡",
+                Type = "toOrderAssignment",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// ERP鎴愬搧璁㈠崟瀹㈡埛鏌ヨ鎺ュ彛璋冪敤
+        /// </summary>
+        /// <param name="saleOrderNo"></param>
+        /// <returns></returns>
+        public string InvokeProSaleCustomer(string saleOrderNo)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpSaleCustomApi.ToString());
+            object saleObj = new { soNumber=saleOrderNo };
+            string request = JsonConvert.SerializeObject(saleObj, settings);
+            Dictionary<string,string> requestHeader =new Dictionary<string, string>
+            {
+                { "AccessToken", "TCKJF60B03C07E8E41B0B3CF759B7B01AB81HATC"},
+            };
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request,headers:requestHeader);
+            return response;
+        }
+        /// <summary>
+        /// ERP鎴愬搧璁㈠崟鍑哄簱搴撳瓨鏌ヨ
+        /// </summary>
+        /// <returns></returns>
+        public string InvokeOutProErpSync(string outProOrderNo)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpOutProErpSyncApi.ToString());
+            object outNoObj = new { shippingNumber = outProOrderNo };
+            string request = JsonConvert.SerializeObject(outNoObj, settings);
+            Dictionary<string, string> requestHeader = new Dictionary<string, string>
+            {
+                { "AccessToken", "TCKJF60B03C07E8E41B0B3CF759B7B01AB81HATC"},
+            };
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request, headers: requestHeader);
+            return response;
+        }
+        /// <summary>
+        /// ERP鎴愬搧鍏ュ簱浜у搧鍨嬪彿闈㈢Н鏌ヨ
+        /// </summary>
+        /// <returns></returns>
+        public string InvokeProInErpStatic(string partNum,string partNumWithRev)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeProInErpStatic.ToString());
+            object inObj = new { partNum, partNumWithRev };
+            string request = JsonConvert.SerializeObject(inObj, settings);
+            Dictionary<string, string> requestHeader = new Dictionary<string, string>
+            {
+                { "AccessToken", "TCKJF60B03C07E8E41B0B3CF759B7B01AB81HATC"},
+            };
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request, headers: requestHeader);
+            return response;
+        }
+        /// <summary>
+        /// ERP鎴愬搧鍏ュ簱涓婃姤鎺ュ彛璋冪敤
+        /// </summary>
+        public string InvokeProInApi(ERPProInboundModel inboundModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPProInboundModel> model = new ERPBaseModel<ERPProInboundModel>()
+            {
+                Data = inboundModel,
+                Desc = "鎴愬搧鍏ュ簱",
+                Type = "toWOStockForm",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// 鎴愬搧浠撴鎶ュ簾鍑哄簱鎺ㄩ�丒RP
+        /// </summary>
+        /// <param name="checkModel"></param>
+        /// <returns></returns>
+        public string InvokeProCheckApi(ERPProductCheckModel checkModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPProductCheckModel> model = new ERPBaseModel<ERPProductCheckModel>()
+            {
+                Data = checkModel,
+                Desc = "鎴愬搧妫�楠屽崟",
+                Type = "toFGIIqcChecked",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// 鎴愬搧瓒呭懆鏈熸姤搴熸帹閫丒RP
+        /// </summary>
+        /// <param name="sheetModel"></param>
+        /// <returns></returns>
+        public string InvokeProScrapSheetApi(ERPScrapSheetModel sheetModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPScrapSheetModel> model = new ERPBaseModel<ERPScrapSheetModel>()
+            {
+                Data = sheetModel,
+                Desc = "鎴愬搧鎶ュ簾鍗�",
+                Type = "toFGIScrapSheet",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+            return response;
+        }
+        /// <summary>
+        /// 鎴愬搧鐩樼偣鐩樿耽/鐩樹簭
+        /// </summary>
+        /// <param name="stockCheckModel"></param>
+        /// <returns></returns>
+        public string InvokeProStockCheckApi(ERPProStockCheckModel stockCheckModel)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+            ERPBaseModel<ERPProStockCheckModel> model = new ERPBaseModel<ERPProStockCheckModel>()
+            {
+                Data = stockCheckModel,
+                Desc = "鎴愬搧鐩樼偣鍗�",
+                Type = "toStockCheck",
+                SecurityCode = "TeChuang"
+            };
+            string request = JsonConvert.SerializeObject(model, settings);
+            string response = HttpHelper.Post(apiInfo.ApiAddress, request);
             return response;
         }
         /// <summary>
@@ -84,18 +305,21 @@
         /// </summary>
         /// <param name="outboundModel"></param>
         /// <returns></returns>
-        public string InvokeOutboundOrderApi(ERPOutboundModel outboundModel)
-        {
-            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeOutboundOrderApi.ToString());
-            ERPBaseModel<ERPOutboundModel> model = new ERPBaseModel<ERPOutboundModel>()
-            {
-                Data = outboundModel,
-                Desc = "鏉愭枡鍑哄簱",
-                Type = "toBomMaterialOutTC",
-                SecurityCode = "LxkgPgN3$U"
-            };
-            string response = HttpHelper.Post(apiInfo.ApiAddress, model.Serialize());
-            return response;
-        }
+        #region 寮冪敤
+        //public string InvokeOutboundOrderApi(ERPOutboundModel outboundModel)
+        //{
+        //    Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString());
+        //    ERPBaseModel<ERPOutboundModel> model = new ERPBaseModel<ERPOutboundModel>()
+        //    {
+        //        Data = outboundModel,
+        //        Desc = "鏉愭枡鍑哄簱",
+        //        Type = "toBomMaterialOutTC",
+        //        SecurityCode = "TeChuang"
+        //    };
+        //    string request = JsonConvert.SerializeObject(model, settings);
+        //    string response = HttpHelper.Post(apiInfo.ApiAddress, request);
+        //    return response;
+        //}
+        #endregion
     }
 }

--
Gitblit v1.9.3