using HH.WCS.Mobox3.WeiLi.dispatch;
|
using HH.WCS.Mobox3.WeiLi.process;
|
using HH.WCS.Mobox3.WeiLi.wms;
|
using Newtonsoft.Json;
|
using System.Collections.Generic;
|
using System.Web.Http;
|
using System.Web.Http.Cors;
|
using static HH.WCS.Mobox3.WeiLi.api.ApiModel;
|
using static HH.WCS.Mobox3.WeiLi.api.OtherModel;
|
|
namespace HH.WCS.Mobox3.WeiLi.api
|
{
|
/// <summary>
|
/// mobox3调用,脚本中调用
|
/// </summary>
|
public class MoboxController : System.Web.Http.ApiController
|
{
|
/// <summary>
|
/// 任务取消(目前支持ndc)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public SimpleResult CancelTask(MoboxTaskBase model)
|
{
|
var result = new SimpleResult();
|
var task = WCSHelper.GetTask(model.TaskNo);
|
if (task != null)
|
{
|
var wmsTask = WMSHelper.GetWmsTask(task.S_OP_CODE);
|
if (wmsTask != null)
|
{
|
|
if (task.N_B_STATE == 0)
|
{
|
//等待直接修改状态为取消
|
WCSHelper.UpdateStatus(model.TaskNo, 4);
|
wmsTask.N_B_STATE = 6;
|
WMSHelper.UpdateTaskState(wmsTask);
|
LocationHelper.UnLockLoc(task.S_START_LOC);
|
LocationHelper.UnLockLoc(task.S_END_LOC);
|
LocationHelper.UnLockLoc(wmsTask.S_END_LOC);
|
|
result.resultMsg = "任务等待,直接取消";
|
}
|
else if (task.N_B_STATE != 3 && task.N_B_STATE != 4)
|
{
|
if (task.S_SCHEDULE_TYPE == "NDC")
|
{
|
//已推送但是没有完成或者取消,通知hosttoagv
|
NDCApi.CancelOrder(task.S_CODE.Trim());
|
}
|
else
|
{
|
TaskProcess.Cancel(task);
|
TaskProcess.OperateStatus(task, 7);
|
WCSHelper.Fail(task);
|
WMSHelper.Fail(task);
|
}
|
|
result.resultMsg = "任务取消已经发送给小车";
|
}
|
else
|
{
|
result.resultCode = 1;
|
result.resultMsg = "任务已结束";
|
}
|
|
}
|
else
|
{
|
result.resultCode = 1;
|
result.resultMsg = "任务所处的作业不存在";
|
}
|
}
|
else
|
{
|
result.resultCode = 1;
|
result.resultMsg = "任务不存在";
|
}
|
return result;
|
}
|
|
/// <summary>
|
/// 作业取消(目前支持ndc)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[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;
|
}
|
|
/// <summary>
|
/// 任务强制完成(目前支持ndc)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public SimpleResult CompleteTask(MoboxTaskBase model)
|
{
|
var result = new SimpleResult();
|
return result;
|
}
|
|
|
/// <summary>
|
/// 码盘校验
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public SimpleResult PalletSorting(PalletSorting model)
|
{
|
return ApiHelper.PalletSorting(model);
|
}
|
/// <summary>
|
/// 码盘校验不带上架(入库)单号
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public SimpleResult PalletSorting1(PalletSorting1 model)
|
{
|
return ApiHelper.PalletSorting1(model);
|
}
|
/// <summary>
|
/// pda入库申请
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public SimpleResult Instock(InstockInfo model)
|
{
|
return ApiHelper.Instock(model);
|
|
}
|
|
/// <summary>
|
/// 发货单执行
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public SimpleResult ShippingOrderExecute(ShippingOrderCheck model)
|
{
|
return ApiHelper.ShippingOrderExecute(model);
|
|
}
|
/// <summary>
|
/// 分拣单执行
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public SimpleResult SortingOrderExecute(SortingOrderCheck model)
|
{
|
return ApiHelper.SortingOrderExecute(model);
|
|
}
|
|
/// <summary>
|
/// 出库单执行
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
public SimpleResult OutboundOrderExecute(OutboundOrderCheck model)
|
{
|
return ApiHelper.OutboundOrderExecute(model);
|
|
}
|
/// <summary>
|
/// 分拣结果确认(前端拦截数量不可以超过分拣明细中 F_QTY-F_ACC_SR_QTY的数量)
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost]
|
public SimpleResult SortingResultCheck(List<SortingResultCheck> models)
|
{
|
return ApiHelper.SortingResultCheck(models);
|
|
}
|
|
/// <summary>
|
/// 判断是否是整托分拣
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public SimpleResult CheckSortingWholeCntr(CheckSortingWholeCntr model)
|
{
|
return ApiHelper.CheckSortingWholeCntr(model);
|
}
|
|
/// <summary>
|
/// pda入库申请
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("WeiLiInstock")]
|
public SimpleResult WeiLiInstock(WeiLiInstockInfo model)
|
{
|
LogHelper.Info($"码盘入库接口 入参={JsonConvert.SerializeObject(model)}");
|
return ApiHelper.WeiLiInstock(model);
|
}
|
|
/// <summary>
|
/// 出库申请
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("WeiLiOutstock")]
|
public SimpleResult WeiLiOutstock(WeiLiOutstockInfo model)
|
{
|
LogHelper.Info($"出库申请 入参={JsonConvert.SerializeObject(model)}");
|
return ApiHelper.WeiLiOutstock(model);
|
}
|
|
/// <summary>
|
/// pda入库确认
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("WeiLiInstockVerify")]
|
public SimpleResult WeiLiInstockVerify(WeiLiInstockVerify model)
|
{
|
LogHelper.Info($"码盘入库确认接口 入参={JsonConvert.SerializeObject(model)}");
|
return ApiHelper.WeiLiInstockVerify(model);
|
}
|
|
/// <summary>
|
/// PDA分拣回
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("WeiLiDisbutionIn")]
|
public SimpleResult WeiLiDisbutionIn(WeiLiDisbutionInMolde model)
|
{
|
LogHelper.Info($"分拣回接口 入参={JsonConvert.SerializeObject(model)}");
|
return ApiHelper.WeiLiDisbutionIn(model);
|
}
|
|
/// <summary>
|
/// 清除错误作业
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("ErrorOperation")]
|
public SimpleResult ErrorOperation(MoboxOperationBase model)
|
{
|
LogHelper.Info($"清除错误作业 入参={JsonConvert.SerializeObject(model)}");
|
return ApiHelper.ErrorOperation(model);
|
}
|
|
/// <summary>
|
/// 指引出库
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("GuidelinesOut")]
|
public SimpleResult GuidelinesOut(GuidelinesOutModel model)
|
{
|
LogHelper.Info($"指引出库 入参={JsonConvert.SerializeObject(model)}");
|
return ApiHelper.GuidelinesOut(model);
|
}
|
|
|
/// <summary>
|
/// 合盘入
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("GuidelinesIn")]
|
public SimpleResult GuidelinesIn(WeiLiDisbutionInMolde model)
|
{
|
LogHelper.Info($"合盘入库 入参={JsonConvert.SerializeObject(model)}");
|
return ApiHelper.GuidelinesIn(model);
|
}
|
|
///// <summary>
|
///// 呼叫空框
|
///// </summary>
|
///// <param name="model"></param>
|
///// <returns></returns>
|
//public SimpleResult WeiLiOutstock(WeiLiOutstockInfo model)
|
//{
|
// return ApiHelper.WeiLiOutstock(model);
|
//
|
//}
|
|
|
}
|
}
|