using Epost.Model; using NPOI.POIFS.Crypt.Dsig; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Epost.Common { public class AgvHelper { string agvSchedulingTaskUrl = ConfigurationManager.AppSettings["agvSchedulingTaskUrl"]; string bindCtnrAndBinUrl = ConfigurationManager.AppSettings["bindCtnrAndBinUrl"]; HttpHelper http = new HttpHelper(); #region 生成任务单 public AgvResultModel genAgvSchedulingTask(AgvSchedulingTaskModel model) { AgvResultModel resmodel = new AgvResultModel(); try { string postData = JsonHelper.SerializeObject(model); LogHelper.WriteLogInfo("调用AGV生成任务单接口请求参数" + postData, LogHelper.Log_Type.INFO); string res = http.HttpPost_Old(agvSchedulingTaskUrl, postData); LogHelper.WriteLogInfo("调用AGV生成任务单接口返回" + res, LogHelper.Log_Type.INFO); if (!string.IsNullOrEmpty(res)) { resmodel = JsonHelper.DeserializeObject(res); if (resmodel.code == "0") { LogHelper.WriteLogInfo("调用AGV生成任务单接口返回成功", LogHelper.Log_Type.INFO); } else { LogHelper.WriteLogInfo("调用AGV生成任务单接口返回失败" + resmodel.message, LogHelper.Log_Type.ERROR); } } else { LogHelper.WriteLogInfo("调用AGV生成任务单接口返回失败", LogHelper.Log_Type.ERROR); } string resinfo = JsonHelper.SerializeObject(resmodel); return resmodel; } catch (Exception ex) { resmodel.code = "-1"; resmodel.message = ex.ToString(); LogHelper.WriteLogInfo("调用AGV生成任务单接口异常" + ex.ToString(), LogHelper.Log_Type.ERROR); return resmodel; } } #endregion #region 取消任务 public AgvResultModel cancelTask(cancelTaskModel model) { string url = string.Empty; AgvResultModel resmodel = new AgvResultModel(); try { string postData = JsonHelper.SerializeObject(model); LogHelper.WriteLogInfo("调用AGV取消任务接口请求参数" + postData, LogHelper.Log_Type.INFO); string res = http.HttpPost_Old(url, postData); LogHelper.WriteLogInfo("调用AGV取消任务接口返回" + res, LogHelper.Log_Type.INFO); if (!string.IsNullOrEmpty(res)) { resmodel = JsonHelper.DeserializeObject(res); if (resmodel.code == "0") { LogHelper.WriteLogInfo("调用AGV取消任务接口返回成功", LogHelper.Log_Type.INFO); } else { LogHelper.WriteLogInfo("调用AGV取消任务接口返回失败" + resmodel.message, LogHelper.Log_Type.ERROR); } } else { LogHelper.WriteLogInfo("调用AGV取消任务接口返回失败", LogHelper.Log_Type.ERROR); } return resmodel; } catch (Exception ex) { resmodel.code = "-1"; resmodel.message = ex.ToString(); LogHelper.WriteLogInfo("调用AGV取消任务接口异常" + ex.ToString(), LogHelper.Log_Type.ERROR); return resmodel; } } #endregion #region 绑定解绑 public bindCtnrAndBinResponse bindCtnrAndBin(string agvloc, string type) { bindCtnrAndBinReq reqModel = new bindCtnrAndBinReq(); bindCtnrAndBinResponse resmodel = new bindCtnrAndBinResponse(); reqModel.reqCode = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString(); reqModel.ctnrTyp = "1";//agv提供 reqModel.indBind = "1"; reqModel.stgBinCode = agvloc; reqModel.ctnrCode = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString(); string reqstr = JsonHelper.SerializeObject(reqModel); LogHelper.WriteLogInfo("调用AGV绑定解绑接口请求参数" + reqstr, LogHelper.Log_Type.INFO); string resultStr = http.HttpPost_Old(bindCtnrAndBinUrl, reqstr); LogHelper.WriteLogInfo("调用AGV绑定解绑接口返回" + resultStr, LogHelper.Log_Type.INFO); if (!string.IsNullOrEmpty(resultStr)) { resmodel = JsonHelper.DeserializeObject(resultStr); if (resmodel.code == "0") { LogHelper.WriteLogInfo("调用AGV绑定解绑接口成功", LogHelper.Log_Type.INFO); } else { LogHelper.WriteLogInfo("调用AGV绑定解绑接口失败" + resmodel.data, LogHelper.Log_Type.ERROR); } } else { LogHelper.WriteLogInfo("调用AGV绑定解绑接口返回失败", LogHelper.Log_Type.ERROR); } return resmodel; } #endregion } }