From d11b1f9c98e8765d3cee15abd4474b0e05a5acbc Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期六, 01 三月 2025 10:33:56 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_External/ERPService/InvokeERPService.cs | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 152 insertions(+), 1 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 f88f409..f831843 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,8 +1,15 @@ -锘縰sing System; +锘縰sing Newtonsoft.Json; +using Newtonsoft.Json.Serialization; +using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using WIDESEA_Common.APIEnum; +using WIDESEA_Core.Helper; +using WIDESEA_External.Model; +using WIDESEA_IBasicRepository; +using WIDESEA_Model.Models; namespace WIDESEA_External.ERPService { @@ -11,5 +18,149 @@ /// </summary> public class InvokeERPService : IInvokeERPService { + private readonly IApiInfoRepository _apiInfoRepository; + public InvokeERPService(IApiInfoRepository apiInfoRepository) + { + _apiInfoRepository = apiInfoRepository; + } + // 鍒涘缓涓�涓娇鐢ㄥ皬椹煎嘲鍛藉悕娉曠殑搴忓垪鍖栬缃� + JsonSerializerSettings settings = new JsonSerializerSettings + { + ContractResolver = new CamelCasePropertyNamesContractResolver() + }; + /// <summary> + /// ERP鏀惰揣鍗曟帴鍙h皟鐢� + /// </summary> + /// <param name="receiveModel"></param> + /// <returns></returns> + public string InvokeMatReceiveApi(ERPReceiveModel receiveModel) + { + Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString()); + ERPBaseModel<ERPReceiveModel> model = new ERPBaseModel<ERPReceiveModel>() + { + Data = receiveModel, + Desc = "鏀惰揣鍗�", + Type = "toTCWMSReceive", + SecurityCode = "TeChuang" + }; + + string request = JsonConvert.SerializeObject(model, settings); + + string response = HttpHelper.Post(apiInfo.ApiAddress, request); + return response; + } + + /// <summary> + /// ERP鐗╂枡IQC妫�楠屽崟鎺ュ彛璋冪敤 + /// </summary> + /// <param name="checkModel"></param> + /// <returns></returns> + public string InvokeCheckOrderApi(ERPCheckModel checkModel) + { + Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString()); + ERPBaseModel<ERPCheckModel> model = new ERPBaseModel<ERPCheckModel>() + { + Data = checkModel, + Desc = "鐗╂枡IQC妫�楠屽崟", + Type = "toTCWMSIQCTest", + SecurityCode = "TeChuang" + }; + string request = JsonConvert.SerializeObject(model, settings); + + string response = HttpHelper.Post(apiInfo.ApiAddress, request); + return response; + } + + /// <summary> + /// ERP鐗╂枡鍏ュ簱鍗曟帴鍙h皟鐢� + /// </summary> + /// <param name="inboundModel"></param> + /// <returns></returns> + public string InvokeInboundOrderApi(ERPInboundModel inboundModel) + { + Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.InvokeErpApi.ToString()); + ERPBaseModel<ERPInboundModel> model = new ERPBaseModel<ERPInboundModel>() + { + Data = inboundModel, + Desc = "鐗╂枡鍏ュ簱鍗�", + Type = "toTCWMSMaterialWarehousing", + SecurityCode = "TeChuang" + }; + 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> + /// <param name="outboundModel"></param> + /// <returns></returns> + #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