using HH.WCS.Mobox3.YNJuXing.dispatch;
|
using HH.WCS.Mobox3.YNJuXing.process;
|
using HH.WCS.Mobox3.YNJuXing.wms;
|
using Newtonsoft.Json;
|
using System.Collections.Generic;
|
using System.Web.Http;
|
using System.Web.Http.Cors;
|
using static HH.WCS.Mobox3.YNJuXing.api.ApiModel;
|
using static HH.WCS.Mobox3.YNJuXing.api.OtherModel;
|
|
namespace HH.WCS.Mobox3.YNJuXing.api
|
{
|
/// <summary>
|
/// mobox3调用,脚本中调用
|
/// </summary>
|
public class MoboxController : System.Web.Http.ApiController
|
{
|
/// <summary>
|
/// 任务取消(目前支持ndc)
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("CancelTask")]
|
public SimpleResult CancelTask(MoboxTaskBase model)
|
{
|
var result = new SimpleResult();
|
string taskInfo = "";
|
var task = WCSHelper.GetTask(model.TaskNo);
|
if (task != null)
|
{
|
taskInfo = JsonConvert.SerializeObject(task);
|
string taskType = task.S_B_STATE.Trim();
|
if (task.S_B_STATE.Trim() == "未执行")
|
{
|
//未执行直接修改状态为取消
|
//TaskProcess.DeleteElevatorTask(task);
|
result.resultMsg = "任务未执行,直接取消" + $"任务状态:{taskType}";
|
WCSHelper.UpdateStatus(model.TaskNo, 5);
|
TaskProcess.OperateStatus(task, 7);
|
}
|
else if (task.S_B_STATE.Trim() == "已推送")
|
{
|
var res = true;
|
//if (task.S_SCHEDULE_TYPE == "agv")
|
//{
|
// //已推送但是小车未执行,取消需要通知HOSTTOAGV
|
// NDCHelper.Cancel(task.S_CODE.Trim());
|
// res = true;
|
//}
|
//else
|
//{
|
// //设备任务取消
|
// res = TaskProcess.Cancel(task);
|
//}
|
if (res)
|
{
|
if (task.S_SCHEDULE_TYPE == "WCS")
|
{
|
//TaskProcess.ThirdReportStatus(task.S_SRC_NO, "", "H", "", task);
|
}
|
result.resultMsg = "任务取消已经发送给小车" + $"任务状态:{taskType}";
|
WCSHelper.UpdateStatus(model.TaskNo, 5);
|
TaskProcess.OperateStatus(task, 7);
|
}
|
else
|
{
|
result.resultCode = -2;
|
result.resultMsg = "任务取消失败";
|
}
|
}
|
else
|
{
|
result.resultCode = 1;
|
result.resultMsg = "任务已结束或处于执行中,不允许取消!" + $"任务状态:{taskType}";
|
}
|
}
|
else
|
{
|
result.resultCode = 1;
|
result.resultMsg = "任务不存在" + $"任务号:{model.TaskNo}";
|
}
|
LogHelper.Info("CancelTask Return:" + JsonConvert.SerializeObject(result) + ",TaskInfo:" + taskInfo, "MoboxTask");
|
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]
|
[Route("CompleteTask")]
|
public SimpleResult CompleteTask(MoboxTaskBase model)
|
{
|
var result = new SimpleResult();
|
LogHelper.Info("CompleteTask Request:" + JsonConvert.SerializeObject(model), "MoboxTask");
|
return ApiHelper.MoboxCompleteTask(model, 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>
|
/// 巨星点到点任务
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("AddTask")]
|
public SimpleResult AddTask(AddTaskModel model)
|
{
|
var result = new SimpleResult();
|
LogHelper.Info("AddTask Request:" + JsonConvert.SerializeObject(model), "MoboxTask");
|
return ApiHelper.AddTask(model, result);
|
}
|
|
/// <summary>
|
/// 巨星指定托盘出库任务
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("AddDesignateTask")]
|
public SimpleResult AddDesignateTask(AddDesignateTaskModel model)
|
{
|
var result = new SimpleResult();
|
LogHelper.Info("AddDesignateTask Request:" + JsonConvert.SerializeObject(model), "MoboxTask");
|
return ApiHelper.AddDesignateTask(model, result);
|
}
|
|
/// <summary>
|
/// 修改优先级
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("UpdatePriority")]
|
public SimpleResult UpdatePriority(UpdatePriorityModel model)
|
{
|
var result = new SimpleResult();
|
LogHelper.Info("UpdatePriority Request:" + JsonConvert.SerializeObject(model), "MoboxTask");
|
return ApiHelper.UpdatePriority(model, result);
|
}
|
|
/// <summary>
|
/// 标准接口--关闭
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("JXCancelTask")]
|
public SimpleResult JXCancelTask(MoboxTaskBase model)
|
{
|
var result = new SimpleResult();
|
LogHelper.Info("JXCancelTask Request:" + JsonConvert.SerializeObject(model), "MoboxTask");
|
return ApiHelper.JXCancelTask(model, result);
|
}
|
|
|
}
|
}
|