using 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
|
{
|
/// <summary>
|
/// 调用ERP接口
|
/// </summary>
|
public class InvokeERPService : IInvokeERPService
|
{
|
private readonly IApiInfoRepository _apiInfoRepository;
|
public InvokeERPService(IApiInfoRepository apiInfoRepository)
|
{
|
_apiInfoRepository = apiInfoRepository;
|
}
|
// 创建一个使用小驼峰命名法的序列化设置
|
JsonSerializerSettings settings = new JsonSerializerSettings
|
{
|
ContractResolver = new CamelCasePropertyNamesContractResolver()
|
};
|
/// <summary>
|
/// ERP收货单接口调用
|
/// </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 = "WMS收货单推送",
|
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物料入库单接口调用
|
/// </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退料上报接口调用
|
/// </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盘赢/亏上报接口调用
|
/// </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>
|
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>
|
/// 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
|
}
|
}
|