using HH.WCS.Mobox3.NFLZ.dispatch;
using HH.WCS.Mobox3.NFLZ.process;
using HH.WCS.Mobox3.NFLZ.wms;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Web.Http;
using System.Web.Http.Cors;
using static HH.WCS.Mobox3.NFLZ.api.ApiModel;
using static HH.WCS.Mobox3.NFLZ.api.OtherModel;
namespace HH.WCS.Mobox3.NFLZ.api
{
///
/// Mobox3.NFLZ调用,脚本中调用
///
public class MoboxController : System.Web.Http.ApiController
{
///
/// 任务取消(目前支持ndc)
///
///
///
[HttpPost]
public SimpleResult CancelTask(MoboxTaskBase model)
{
var result = new SimpleResult();
var task = WCSHelper.GetTask(model.TaskNo);
if (task != null)
{
if (task.N_B_STATE == 0)
{
//等待直接修改状态为取消
WCSHelper.UpdateStatus(model.TaskNo, 4);
result.resultMsg = "任务等待,直接取消";
}
else if (task.N_B_STATE != 3 && task.N_B_STATE != 4)
{
//已推送但是没有完成或者取消,通知hosttoagv
//NDCHelper.Cancel(task.S_CODE.Trim());
NDCApi.CancelOrder(task.S_CODE.Trim());
result.resultMsg = "任务取消已经发送给小车";
}
else
{
result.resultCode = 1;
result.resultMsg = "任务已结束";
}
}
else
{
result.resultCode = 1;
result.resultMsg = "任务不存在";
}
return result;
}
///
/// 作业取消(目前支持ndc)
///
///
///
[HttpPost]
public SimpleResult CancelOperation(MoboxOperationBase model)
{
var result = new SimpleResult();
var op = WMSHelper.GetWmsTask(model.OperationNo);
if (op != null)
{
if (op.N_B_STATE == 0)
{
//等待直接修改状态为取消
op.N_B_STATE = 3;
WMSHelper.UpdateTaskState(op);
result.resultMsg = "任务等待,直接取消";
}
else if (op.N_B_STATE ==1)
{
//已推送但是没有完成或者取消,通知hosttoagv
//NDCHelper.Cancel(task.S_CODE.Trim());
result.resultCode = 1;
result.resultMsg = "该作业有正在执行的任务 前往删除相关任务";
}
else
{
result.resultCode = 1;
result.resultMsg = "任务已结束";
}
}
else
{
result.resultCode = 1;
result.resultMsg = "任务不存在";
}
return result;
}
///
/// 任务强制完成(目前支持ndc)
///
///
///
[HttpPost]
public SimpleResult CompleteTask(MoboxTaskBase model)
{
var result = new SimpleResult();
return result;
}
///
/// 码盘校验
///
///
///
[HttpPost]
public SimpleResult PalletSorting(PalletSorting model)
{
return ApiHelper.PalletSorting(model);
}
///
/// 码盘校验不带上架(入库)单号
///
///
///
[HttpPost]
public SimpleResult PalletSorting1(PalletSorting1 model)
{
return ApiHelper.PalletSorting1(model);
}
///
/// pda入库申请
///
///
///
public SimpleResult Instock(InstockInfo model)
{
return ApiHelper.Instock(model);
}
///
/// 发货单执行
///
///
///
[HttpPost]
public SimpleResult ShippingOrderExecute(ShippingOrderCheck model)
{
return ApiHelper.ShippingOrderExecute(model);
}
///
/// 分拣单执行
///
///
///
[HttpPost]
public SimpleResult SortingOrderExecute(SortingOrderCheck model)
{
return ApiHelper.SortingOrderExecute(model);
}
///
/// 出库单执行
///
///
///
[HttpPost]
public SimpleResult OutboundOrderExecute(OutboundOrderCheck model)
{
return ApiHelper.OutboundOrderExecute(model);
}
///
/// 分拣结果确认(前端拦截数量不可以超过分拣明细中 F_QTY-F_ACC_SR_QTY的数量)
///
///
[HttpPost]
public SimpleResult SortingResultCheck(List models)
{
return ApiHelper.SortingResultCheck(models);
}
///
/// 判断是否是整托分拣
///
///
///
public SimpleResult CheckSortingWholeCntr(CheckSortingWholeCntr model)
{
return ApiHelper.CheckSortingWholeCntr(model);
}
}
}