using HH.WCS.JuShi.dispatch;
using HH.WCS.JuShi.process;
using HH.WCS.JuShi.wms;
using Newtonsoft.Json;
using System.Collections.Generic;
using System.Web.Http;
using static HH.WCS.JuShi.api.ApiModel;
using static HH.WCS.JuShi.api.OtherModel;
namespace HH.WCS.JuShi.api {
///
/// mobox3调用,脚本中调用
///
public class MoboxController : System.Web.Http.ApiController {
///
/// 任务暂停的请求
///
///
///
[HttpPost]
public SimpleResult PauseTask() {
var result = new SimpleResult();
//ManualTaskSwitch [{"Area":"AAA","State":0}]
//准备一个数据模型,作为开关,收到暂停请求后,打开,后续相关流程的任务不再推送
//同时你要查询已经推送的任务,如果全部完成了或者取消了,找不到执行中的,返回成功
//收到暂停请求后,
return result;
}
public SimpleResult RecoverTask() {
var result = new SimpleResult();
//ManualTaskSwitch [{"Area":"AAA","State":0}]
return result;
}
///
/// 任务取消(目前支持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());
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 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);
}
///
/// 分拣结果确认(前端拦截数量不可以超过分拣明细中 F_QTY-F_ACC_SR_QTY的数量)
///
///
public SimpleResult SortingResultCheck(List models) {
return ApiHelper.SortingResultCheck(models);
}
///
/// 判断是否是整托分拣
///
///
///
public SimpleResult CheckSortingWholeCntr(CheckSortingWholeCntr model) {
return ApiHelper.CheckSortingWholeCntr(model);
}
#region 国祥空调PDA接口
///
/// 取消任务信息
///
[HttpPost]
public Result CancelTask(cancleTaskParme model)
{
LogHelper.Info("cancelTask 参数:" + JsonConvert.SerializeObject(model), "API");
var res = TaskProcess.cancelTask1(model);
LogHelper.Info("cancelTask 返回:" + JsonConvert.SerializeObject(res), "API");
return res;
}
///
/// 入库接口
///
[HttpPost]
public Result CreateInWork(moboxParam model)
{
LogHelper.Info($"{model.S_TASK_TYPE}入库接口 参数:" + JsonConvert.SerializeObject(model), "API");
var res = TaskProcess.CreateInWork(model);
LogHelper.Info($"{model.S_TASK_TYPE}入库接口 返回:" + JsonConvert.SerializeObject(res), "API");
return res;
}
///
/// 出库接口
///
[HttpPost]
public Result CreateOutWork(moboxParam model)
{
LogHelper.Info($"{model.S_TASK_TYPE}出库接口 参数:" + JsonConvert.SerializeObject(model), "API");
var res = TaskProcess.CreateOutWork(model);
LogHelper.Info($"{model.S_TASK_TYPE}出库接口 返回:" + JsonConvert.SerializeObject(res), "API");
return res;
}
///
/// 空托转运接口
///
[HttpPost]
public Result EmptyTrayTransport(moboxParam model)
{
LogHelper.Info("空托转运接口 参数:" + JsonConvert.SerializeObject(model), "API");
var res = TaskProcess.EmptyTrayTransport(model);
LogHelper.Info("空托转运接口 返回:" + JsonConvert.SerializeObject(res), "API");
return res;
}
#endregion
}
}