From 61ece19b5b178d1b23bed16c733b01af1185f838 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期日, 20 七月 2025 23:11:43 +0800 Subject: [PATCH] 0720 --- api/MoboxController.cs | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 167 insertions(+), 6 deletions(-) diff --git a/api/MoboxController.cs b/api/MoboxController.cs index 67ab716..0f5b344 100644 --- a/api/MoboxController.cs +++ b/api/MoboxController.cs @@ -1,9 +1,11 @@ -锘縰sing HH.WCS.ZhongCeJinTan.device; +锘縰sing HH.WCS.Mobox3.ZhongCeJinTan.dispatch; +using HH.WCS.ZhongCeJinTan.device; using HH.WCS.ZhongCeJinTan.dispatch; using HH.WCS.ZhongCeJinTan.process; using HH.WCS.ZhongCeJinTan.util; using HH.WCS.ZhongCeJinTan.wms; using Newtonsoft.Json; +using System; using System.Linq; using System.Threading.Tasks; using System.Web.Http; @@ -25,13 +27,27 @@ if (task != null) { if (task.S_B_STATE.Trim() == "鏈墽琛�) { //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷 - TaskHelper.UpdateStatus(model.TaskNo, "鍙栨秷"); + + LogHelper.Info($"mobox鍙栨秷agv浠诲姟{task.S_CODE}锛�, "鍙栨秷"); + TaskHelper.Fail(task); + TaskProcess.CacheBitCancelUpdate(task); + TaskHelper.opMesTask(task, 3); } else if(task.S_B_STATE.Trim() != "鍙栨秷"&& task.S_B_STATE.Trim() != "瀹屾垚") { - //if (GZRobot.CancelOrder(task.GZ_ID)) - //{ - // result.resultMsg = "浠诲姟鍙栨秷宸茬粡鍙戦�缁欏皬杞�; - //} + var db = new SqlHelper<object>().GetInstance(); + var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First(); + + + if (qhflag != null) + { + LogHelper.Info($"mobox鍙栨秷锛岃浠诲姟{task.S_CODE}宸茬粡鍙栬揣瀹屾垚,锛屼笉鍏佽鍙栨秷", "鍙栨秷"); + return result; + } + TaskHelper.opMesTask(task, 3); + //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv + TaskHelper.Fail(task); + NDCApi.CancelOrder(task.S_CODE.Trim()); + TaskProcess.CacheBitCancelUpdate(task); } else { result.resultCode = 1; @@ -45,6 +61,151 @@ return result; } + internal static Result cancelTask1(MoboxTaskBase model) + { + var result = new Result(); + LogHelper.Info("cancelTask1鍙栨秷浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(model), "鍙栨秷"); + if (model == null) + { + result.errMsg = "鍙傛暟涓簄ull"; + result.errCode = 1; + result.success = false; + return result; + } + + try + { + var task = TaskHelper.GetTaskByWorkNo(model.TaskNo, "agv"); + + var wcsTask = TaskHelper.GetTaskByWorkNo(model.TaskNo, "wcs"); + + if (task != null) + { + LogHelper.Info($"cancelTask1鍙栨秷agv浠诲姟{task.S_CODE}锛�, "鍙栨秷"); + if (task.S_B_STATE.Trim() == "鏈墽琛�) + { + //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷 + TaskHelper.opMesTask(task, 3); + TaskHelper.Fail(task); + TaskProcess.CacheBitCancelUpdate(task); + + if (task.S_TYPE.Contains("鍏ュ簱") || task.S_TYPE.Contains("鍥炲簱")) + { + ContainerHelper.delCntr(task.S_CNTR_CODE); + ContainerHelper.delCntrItem(task.S_CNTR_CODE); + + } + result.errCode = 0; + result.errMsg = "鍙栨秷鎴愬姛"; + result.success = true; + } + else if (task.S_B_STATE.Trim() != "鍙栨秷" && task.S_B_STATE.Trim() != "澶辫触" && task.S_B_STATE.Trim() != "瀹屾垚") + { + var db = new SqlHelper<object>().GetInstance(); + var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First(); + + + if (qhflag != null) + { + LogHelper.Info($"璇ヤ换鍔task.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷"); + result.errCode = 1; + result.errMsg = "浠诲姟宸茬粡鍙栬揣瀹屾垚锛屼笉鍏佽鍙栨秷"; + result.success = false; + return result; + } + if (task.S_TYPE.Contains("鍏ュ簱") || task.S_TYPE.Contains("鍥炲簱")) + { + ContainerHelper.delCntr(task.S_CNTR_CODE); + ContainerHelper.delCntrItem(task.S_CNTR_CODE); + ContainerHelper.delCntrLoc(task.S_CNTR_CODE); + } + + TaskHelper.opMesTask(task, 3); + //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv + TaskHelper.Fail(task); + + NDCApi.CancelOrder(task.S_CODE.Trim()); + TaskProcess.CacheBitCancelUpdate(task); + + result.errCode = 0; + result.errMsg = "鍙栨秷鎴愬姛"; + result.success = true; + } + else + { + result.errCode = 1; + result.errMsg = "浠诲姟宸茬粡缁撴潫"; + result.success = false; + } + } + else + { + result.errCode = 1; + result.errMsg = $"{model.TaskNo}浠诲姟涓嶅瓨鍦�; + result.success = false; + return result; + } + + if (wcsTask != null) + { + LogHelper.Info($"cancelTask1鍙栨秷Wcs浠诲姟{wcsTask.S_CODE}", "鍙栨秷"); + if (wcsTask.S_B_STATE.Trim() == "鏈墽琛�) + { + //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷 + if (wcsTask.S_TYPE.Contains("鍏ュ簱") || wcsTask.S_TYPE.Contains("鍥炲簱")) + { + ContainerHelper.delCntr(wcsTask.S_CNTR_CODE); + ContainerHelper.delCntrItem(wcsTask.S_CNTR_CODE); + } + TaskHelper.Fail(wcsTask); + TaskProcess.OperateStatus(wcsTask, 7); + result.errCode = 0; + result.errMsg = "鍙栨秷鎴愬姛"; + result.success = true; + return result; + } + else if (wcsTask.S_B_STATE.Trim() != "鍙栨秷" && wcsTask.S_B_STATE.Trim() != "澶辫触" && wcsTask.S_B_STATE.Trim() != "瀹屾垚") + { + var db = new SqlHelper<object>().GetInstance(); + var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == wcsTask.S_CODE && a.S_ACTION == "5").First(); + + LogHelper.Info($"璇ヤ换鍔wcsTask.S_CODE}鍔ㄤ綔淇℃伅" + JsonConvert.SerializeObject(qhflag), "鍙栨秷"); + if (qhflag != null) + { + LogHelper.Info($"璇ヤ换鍔wcsTask.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷"); + result.errCode = 1; + result.errMsg = "浠诲姟宸茬粡鍙栬揣瀹屾垚锛屼笉鍏佽鍙栨秷"; + result.success = false; + return result; + } + + if (wcsTask.S_TYPE.Contains("鍏ュ簱") || wcsTask.S_TYPE.Contains("鍥炲簱")) + { + ContainerHelper.delCntr(wcsTask.S_CNTR_CODE); + ContainerHelper.delCntrItem(wcsTask.S_CNTR_CODE); + ContainerHelper.delCntrLoc(wcsTask.S_CNTR_CODE); + } + WcsTask.WcsCancellTask(wcsTask); + TaskHelper.Fail(wcsTask); + TaskProcess.OperateStatus(wcsTask, 7); + result.errCode = 0; + result.errMsg = "鍙栨秷鎴愬姛"; + result.success = true; + } + } + } + catch (Exception ex) + { + + LogHelper.Info("cancelTask1鍙栨秷浠诲姟寮傚父锛� + ex.Message, "鍙栨秷"); + result.errCode = 1; + result.errMsg = "鍙栨秷浠诲姟寮傚父"; + return result; + } + + return result; + } + //浣滀笟浠诲姟寮哄埗瀹屾垚 [HttpPost] -- Gitblit v1.9.1