| | |
| | | using HH.WCS.ZhongCeJinTan.process; |
| | | using HH.WCS.ZhongCeJinTan.util; |
| | | using HH.WCS.ZhongCeJinTan.wms; |
| | | using Newtonsoft.Json; |
| | | using System.Linq; |
| | | using System.Threading.Tasks; |
| | | using System.Web.Http; |
| | | using static HH.WCS.ZhongCeJinTan.api.ApiModel; |
| | | |
| | |
| | | /// <summary> |
| | | /// mobox调用 |
| | | /// </summary> |
| | | [RoutePrefix("mobox")] |
| | | //[RoutePrefix("mobox")] |
| | | public class MoboxController : System.Web.Http.ApiController |
| | | { |
| | | [HttpPost] |
| | |
| | | |
| | | //作业任务强制完成 |
| | | [HttpPost] |
| | | //[Route("CompleteTask")] |
| | | public SimpleResult CompleteTask(MoboxTaskBase model) |
| | | { |
| | | LogHelper.Info("CompleteTask 参数:" + JsonConvert.SerializeObject(model), "强制完成"); |
| | | |
| | | var result = new SimpleResult(); |
| | | var task = TaskHelper.GetTask(model.TaskNo); |
| | | if (task != null) |
| | |
| | | { |
| | | result.resultMsg = "任务未执行,不允许强制完成!"; |
| | | } |
| | | |
| | | else if (task.S_B_STATE.Trim() != "未执行") |
| | | else if (task.S_B_STATE.Trim() != "完成"&& task.S_B_STATE.Trim() != "取消") |
| | | { |
| | | //已推送但是没有完成或者取消,通知hosttoagv |
| | | TaskHelper.UpdateStatus(model.TaskNo.Trim(), "完成"); |
| | | |
| | | |
| | | |
| | | |
| | | if (task.S_SCHEDULE_TYPE.Contains("agv")) |
| | | { |
| | | //看小车有没有4取货完成 |
| | | WmsTaskAction ac4 = TaskHelper.GetActionRecord(task.S_CODE, "4"); |
| | | if (ac4 != null) |
| | | { |
| | | |
| | | LogHelper.Info("CompleteTask agv任务已经取货完成,任务强制完成处理", "强制完成"); |
| | | |
| | | |
| | | TaskHelper.UpdateStatus(task, "卸货完成"); |
| | | LocationHelper.UnLockLoc(task.S_END_LOC); |
| | | TaskProcess.OperateStatus(task, 6); |
| | | |
| | | //如果是二段任务则下发立库任务 |
| | | var wcsTask = TaskHelper.GetTaskByState("未执行", "wcs", task.S_OP_CODE, "入库"); |
| | | if (wcsTask != null) |
| | | { |
| | | LocationHelper.LockLoc(wcsTask.S_START_LOC, "出库锁", 2); |
| | | WcsTask.WcsTaskEntity(wcsTask); |
| | | } |
| | | TaskHelper.End(task); |
| | | } |
| | | else |
| | | { |
| | | |
| | | LogHelper.Info("CompleteTask agv任务没有取货完成,任务取消处理", "强制完成"); |
| | | var cancle = new cancleTaskParme(); |
| | | cancle.task_no = task.S_CODE; |
| | | TaskProcess.cancelTask1(cancle); |
| | | } |
| | | } |
| | | |
| | | |
| | | if (task.S_SCHEDULE_TYPE.Contains("wcs")) { |
| | | LogHelper.Info("CompleteTask wcs任务强制完成处理", "强制完成"); |
| | | LocationHelper.UnLockLoc(task.S_START_LOC); |
| | | TaskProcess.OperateStatus(task, 4); |
| | | LocationHelper.UnLockLoc(task.S_END_LOC); |
| | | TaskProcess.OperateStatus(task, 6); |
| | | TaskHelper.End(task); |
| | | LocationHelper.CreateUpAndDown(task); |
| | | } |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | |
| | | result.resultCode = 1; |
| | | result.resultMsg = "任务不存在"; |
| | | } |
| | | |
| | | LogHelper.Info("CompleteTask 返回:" + JsonConvert.SerializeObject(model), "强制完成"); |
| | | return result; |
| | | } |
| | | |