using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using HH.WCS.Mobox3.YNJT_PT.util; using Newtonsoft.Json; namespace HH.WCS.Mobox3.YNJT_PT.dispatch { public class WCSDispatch { private static readonly HttpHelper apiHelper = new HttpHelper(); private static readonly string baseUrl = "http://192.168.1.99:2000/"; /// /// WMS向WCS获取设备状态(堆垛机) /// /// /// public static List getStackerState(int roadway) { var msg = ""; List stackerStates = new List(); var data = new StackerStateModel() { req_no = Guid.NewGuid().ToString("D"), roadway = roadway.ToString() }; var request = JsonConvert.SerializeObject(data); var response = apiHelper.Post(baseUrl + "api/StackerState", request); msg = $"WMS向WCS获取设备状态(堆垛机)[StackerState] request={request} response={response}"; LogHelper.Info(msg, "WCS"); if (response != "") { try { var dataResult = JsonConvert.DeserializeObject(response); if (dataResult.result_flag == 0) { stackerStates = dataResult.data; } else { LogHelper.Info($"WMS向WCS获取设备状态(堆垛机)失败,WCS反馈错误信息:{dataResult.err_msg}", "WCS"); } } catch (Exception ex) { LogHelper.Info($"WMS向WCS获取设备状态(堆垛机)错误,错误原因:{ex.Message}", "WCS"); } } else { msg = "[StackerState]WMS向WCS获取设备状态(堆垛机)失败"; LogHelper.Info(msg, "WCS"); } return stackerStates; } public class StackerStateResponseData { public int result_flag { get; set; } public string err_msg { get; set; } public List data { get; set; } } public class StackerState { public string roadway { get; set; } public string roadway_state { get; set; } // 堆垛机状态 1=空闲,2=执行中,3=报警,0=不可用 } public class StackerStateModel { public string req_no { get; set; } public string roadway { get; set; } } } }