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