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(); } } }