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/";
|
|
/// <summary>
|
/// WMS向WCS获取设备状态(堆垛机)
|
/// </summary>
|
/// <param name="roadway"></param>
|
/// <returns></returns>
|
public static List<StackerState> getStackerState(int roadway)
|
{
|
var msg = "";
|
List<StackerState> stackerStates = new List<StackerState>();
|
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<StackerStateResponseData>(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<StackerState> 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; }
|
}
|
|
}
|
}
|