using HH.WCS.Hexafluo.process; using HH.WCS.Hexafluo.util; using HH.WCS.Hexafluo.wms; using Newtonsoft.Json; using System.Collections.Generic; namespace HH.WCS.Hexafluo.dispatch { /// /// 天目系统任务下达 /// public class TmToAGV { private static readonly HttpHelper apiHelper = new HttpHelper(); private static readonly string baseUrl = Settings.TmHelperList; public static TmResult GetIO(WMSTask mst, int start, int end) { if (string.IsNullOrEmpty(baseUrl)) { LogHelper.Info("未获取到配置文件中天目系统端口地址"); } string Start = start.ToString(); int at = start.ToString().Length; if (start.ToString().Length < 4) { for (int i = 0; i < 4 - at; i++) { Start = "0" + Start; } } string End = end.ToString(); int ct = End.ToString().Length; if (End.ToString().Length < 4) { for (int i = 0; i < 4 - ct; i++) { End = "0" + End; } } var interactInfo = new { //orderNo = mst.S_TASK_NO.Trim(), //priority = mst.N_PRIORITY, //orderType = 2, // circulation=1, orderSequence = new List(){ new{ // intendedVehicle="", destinations=new List() { new { locationName="Location-"+Start, operation="Floor0_Take" } } }, new { // intendedVehicle="", destinations = new List < object >() { new { locationName ="Location-"+End, operation= "Floor0_Place" } } } } }; LogHelper.Info(" 下达天目系统订单 地址为:" + baseUrl + "v1/orderByTS" + " 参数为:" + JsonConvert.SerializeObject(interactInfo)); var result = apiHelper.Post(baseUrl + "v1/orderByTS", JsonConvert.SerializeObject(interactInfo)); LogHelper.Info("系统返回:" + JsonConvert.SerializeObject(result)); var data = JsonConvert.DeserializeObject(result); if (data == null) { TmResult tr = new TmResult(); tr.success = false; tr.msg = "无法访问天目系统接口,获取的参数为空"; LogHelper.Info("无法访问天目系统接口,获取的参数为空"); return tr; } else { return data; } } public static TmreturnData SeleState(string TaskNo) { LogHelper.Info(" 查询天目系统订单 地址为:" + baseUrl + "v1/transportStructureOrder/" + TaskNo); var result = apiHelper.Get(baseUrl + "v1/transportStructureOrder/" + TaskNo); LogHelper.Info("查询系统返回:" + JsonConvert.SerializeObject(result)); if (result == null) { TmreturnData da = new TmreturnData(); da.success = false; da.msg = "无法访问天目系统接口,获取的参数为空"; LogHelper.Info("无法访问天目系统接口,获取的参数为空"); return da; } else { return JsonConvert.DeserializeObject(result); } } public static TmResult DeleAgv(string TaskNo) { LogHelper.Info("取消订单天目系统订单 地址为:" + baseUrl + "v1/orderByTS/withdrawalTSOrderByOrderNo/" + TaskNo + "/true"); var result = apiHelper.Post(baseUrl + "v1/orderByTS/withdrawalTSOrderByOrderNo/" + TaskNo + "/true", ""); LogHelper.Info("取消订单天目系统返回:" + JsonConvert.SerializeObject(result)); var data = JsonConvert.DeserializeObject(result); return data; } public class TmResult { public bool success { get; set; } public string error_code { get; set; } public string msg { get; set; } public string data { get; set; } } } }