using HH.WCS.HangYang.util; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static HH.WCS.HangYang.dispatch.HanAo; namespace HH.WCS.HangYang.LISTA.dispatch { public class HangAoHelper { private static readonly HttpHelper apiHelper = new HttpHelper(); private static readonly string baseUrl = Settings.HASeverUrl; /// /// 杭奥任务创建 /// /// /// public static bool CreateOrder(TaskInfoModel model) { var msg = ""; var result = true; var request = JsonConvert.SerializeObject(model); var response = apiHelper.Post(baseUrl + "/sendTask", request); msg = $"[CreateOrder] request={request} response={response}"; Console.WriteLine(msg); if (response != "") { try { var dataResult = JsonConvert.DeserializeObject(response); if (dataResult.code == "0") { result = true; } } catch (Exception ex) { Console.WriteLine(ex.Message); } } else { msg = "[hanao-CreateOrder]创建订单失败"; Console.WriteLine(msg); } LogHelper.Info(msg, "杭奥"); return result; } /// /// 杭奥任务取消 /// /// /// public static bool CancelOrder(CancelModel model) { bool result = false; string msg = ""; var request = JsonConvert.SerializeObject(model); var response = apiHelper.Post(baseUrl + "/cancelTask", request); msg = $"[CancelOrder] request={request};response={response}"; Console.WriteLine(msg); if (response != "") { var dataResult = JsonConvert.DeserializeObject(response); if (dataResult.code == "0") { result = true; } } else { msg = "[hanao-CancelOrder]取消订单失败"; Console.WriteLine(msg); } LogHelper.Info(msg, "杭奥"); return result; } /// /// 杭奥设备状态查询 /// /// /// public static bool GetDeviceState(CancelModel model) { bool result = false; string msg = ""; var request = JsonConvert.SerializeObject(model); var response = apiHelper.Post(baseUrl + "/getDeviceStatus", request); msg = $"[GetDeviceState] request={request};response={response}"; Console.WriteLine(msg); if (response != "") { var dataResult = JsonConvert.DeserializeObject(response); if (dataResult.code == "0") { result = true; } } else { msg = "[GetDeviceState]获取设备状态失败"; Console.WriteLine(msg); } LogHelper.Info(msg, "杭奥"); return result; } /// /// 创建任务参数 /// public class TaskInfoModel { /// /// 任务号 /// public string taskNo { get; set; } /// /// 任务组 /// public string groupNo { get; set; } /// /// 优先级 /// public string priority { get; set; } /// /// 任务类型 /// public string taskType { get; set; } /// /// 起点 /// public string from { get; set; } /// /// 终点 /// public string to { get; set; } /// /// 巷道号 /// public string roadWay { get; set; } /// /// 容器号 /// public string cntrNo { get; set; } /// /// 容器类型 /// public string cntrType { get; set; } /// /// 扩展信息,根据项目自定义 /// public string extData { get; set; } } /// /// 取消任务参数 /// public class CancelModel { /// /// 任务号 /// public string taskNo { get; set; } } /// /// 获取设备状态参数 /// public class DeviceInfoModel { /// /// 设备号 /// public string[] deviceNo { get; set; } } /// /// 返回结果 /// public class HAResult { /// /// 结果值 /// public string code { get; set; } /// /// 异常描述 /// public string msg { get; set; } /// /// 获取设备状态使用 /// public List data { get; set; } } /// /// 返回结果data /// public class DataModel { public string deviceNo { get; set; } public string workStatus { get; set; } public string photoStatus { get; set; } public string manualStatus { get; set; } } } }