using HH.WCS.QingXigongchang.core;
using HH.WCS.QingXigongchang.dispatch;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Web.Http;
using static HH.WCS.QingXigongchang.api.ApiModel;
namespace HH.WCS.QingXigongchang.api
{
///
/// hosttoagv上报
///
//[RoutePrefix("agv")]
public class AgvController : System.Web.Http.ApiController
{
[HttpPost]
// [Route("AGVCallbackState")]
public ReturnResult AGVCallbackState(AgvTaskState model)
{
LogHelper.Info("AGVCallbackState 接受到AGV数据:" + JsonConvert.SerializeObject(model), "HosttoagvTask");
ReturnResult rrr = TaskCore.OperateTaskStatus(model);
LogHelper.Info("AGVCallbackState Return:" + JsonConvert.SerializeObject(rrr), "HosttoagvTask");
return rrr;
}
public ReturnResult AGVCallbackCancel(AgvTaskState model)
{
LogHelper.Info("AGVCallbackCancel Request:" + JsonConvert.SerializeObject(model), "HosttoagvTask");
//TaskCore.OperateTaskStatus(model);
var R = NDCHelper.CancelS(model.No);
//指定任务已经完成或取消,无法再处理
if (R.ErrInfo != null && R.ErrInfo.IndexOf("任务已经完成或取消") > -1)
{
return AGVCallbackState(new AgvTaskState
{
No = model.No,
State = 7
});
}
return new ReturnResult()
{
ResultCode = R.ErrCode,
ResultMsg = R.ErrInfo
};
}
[HttpPost]
//[Route("AGVCallbackEvent")]
public ReturnResult AGVCallbackEvent(AgvEventInfo model)
{
LogHelper.Info("AGVCallbackEvent Request:" + JsonConvert.SerializeObject(model), "HosttoagvTask");
return new ReturnResult();
}
[HttpPost]
//[Route("AGVDeviceReceive")]
public ReturnResult AGVDeviceReceive(List models)
{
LogHelper.Info("AGVDeviceReceive Request:" + JsonConvert.SerializeObject(models), "HosttoagvCar");
return new ReturnResult();
}
}
}