using JSMachine.WMS.Common;
using JSMachine.WMS.Infrastructure.Helper;
using JSMachine.WMS.RPC.IBSRPC.Dto.In.BusinessParam;
using JSMachine.WMS.RPC.IBSRPC.Dto.Out.BusinessResult;
using JSMachine.WMS.RPC.IBSRPC.IService;
using Newtonsoft.Json;
namespace JSMachine.WMS.RPC.IBSRPC.Service
{
///
/// IBS接口
///
public class PaperStockOperator: IPaperStockOperator
{
private static readonly string IbsUrl = Global.AppSettings.ErpConfig.ErpUrl;
private static readonly string QueryByPaperLabelUrl = Global.AppSettings.ErpConfig.QueryByPaperLabelUrl;
private static readonly string PaperStockOutUrl = Global.AppSettings.ErpConfig.PaperStockOutUrl;
private static readonly string RePaperStockInUrl = Global.AppSettings.ErpConfig.RePaperStockInUrl;
private static readonly Dictionary header = new Dictionary
{
{ "AppId", Global.AppSettings.ErpConfig.AppId },
{ "AppKey", Global.AppSettings.ErpConfig.AppKey }
};
///
/// 获取原纸信息
///
///
///
public async Task QueryByPaperLabel(PaperInfoQueryParam param)
{
IbsApiResult ibsResult = new();
try
{
var url = IbsUrl + QueryByPaperLabelUrl + param.PaperLabel;
var resStr = HttpRequestHelper.Get(url, header);
if (resStr == null)
{
LogHelper.Error($"IBS原纸信息,按原纸卷标查询(GetPaperMessage)出错");
return null;
}
//ibsResult = JsonConvert.DeserializeObject>(resStr);
}
catch (Exception ex)
{
LogHelper.Error($"IBS原纸信息,按原纸卷标查询(GetPaperMessage)出错: {ex.Message} \n {ex.StackTrace}");
}
return ibsResult?.Data;
}
///
/// 原纸出库
///
///
///
public async Task PaperStockOut(PaperInfoQueryParam param)
{
var ibsResult = new IbsResultDto();
try
{
var url = IbsUrl + PaperStockOutUrl;
var parameters = new Dictionary
{
{ "PaperLabel", param.PaperLabel }
};
var resStr = HttpRequestHelper.Post(url, parameters, header);
if (resStr == null)
{
LogHelper.Error($"IBS原纸出库(PaperStockOut)失败");
return null;
}
//ibsResult = JsonConvert.DeserializeObject(resStr);
}
catch (Exception ex)
{
LogHelper.Error($"IBS原纸出库(PaperStockOut)失败: {ex.Message} \n {ex.StackTrace}");
}
return ibsResult ?? new IbsResultDto();
}
///
/// 残卷入库
///
///
///
public async Task RePaperStockIn(PaperInfoQueryParam param)
{
var ibsResult = new IbsResultDto();
try
{
var url = IbsUrl + RePaperStockInUrl;
var parameters = new Dictionary
{
{ "PaperLabel", param.PaperLabel },
{ "Weight", param.Weight.ToString() },
{ "Meters", param.Meters.ToString() }
};
var resStr = HttpRequestHelper.Post(url, parameters, header);
if (resStr == null)
{
LogHelper.Error($"IBS残卷回库(RePaperStockIn)失败");
return null;
}
//ibsResult = JsonConvert.DeserializeObject(resStr);
}
catch (Exception ex)
{
LogHelper.Error($"IBS残卷回库(RePaperStockIn)失败: {ex.Message} \n {ex.StackTrace}");
}
return ibsResult ?? new IbsResultDto();
}
}
}