From 89943f29476e3de04c638cc7aefbdf2dd24d00c7 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期四, 17 七月 2025 17:31:18 +0800 Subject: [PATCH] 出库、绑定修改 --- process/TaskProcess.cs | 72 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 11 deletions(-) diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index b3da7d6..9d53a2e 100644 --- a/process/TaskProcess.cs +++ b/process/TaskProcess.cs @@ -210,10 +210,20 @@ } if (state == 6)//鍗歌揣瀹屾垚 { + //鎺ラ┏浣嶄笉缁戝畾 + var safety = Settings.safetyLocations.Where(a => a.Area.Contains(mst.S_END_AREA)).FirstOrDefault(); + if (safety != null) { + if (safety.type==1) + { + return; + } + } //閫�簱浠诲姟涓嶇粦瀹�- if (!LocationHelper.GetErroArea(mst.S_END_AREA)) { - CacheBitUpdate(mst, false); - } + if (LocationHelper.GetErroArea(mst.S_END_AREA)) { + return; + } + + CacheBitUpdate(mst, false); } if (state == 7) { @@ -548,9 +558,28 @@ LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽搴旂殑Wcs鍑哄簱浠诲姟鏈墽琛岋紝鏆備笉鎺ㄩ�", "NDC"); return false; } + + //鎺ラ┏浣嶄袱涓猘gv浠诲姟锛宎浠诲姟鍙栬揣瀹屾垚 鎺ㄩ�b浠诲姟 + var agvTask = LocationHelper.GetConnectionTask(wmsWork.CONNECTION,"agv"); + + LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽綋鍓嶆帴椹充綅{wmsWork.CONNECTION}锛岀涓�釜agv浠诲姟淇℃伅"+JsonConvert.SerializeObject(agvTask), "NDC"); + //if (agvTask==null) + //{ + // LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽綋鍓嶆帴椹充綅{wmsWork.CONNECTION}锛宎gv浠诲姟娌℃壘鍒帮紝鏆備笉鎺ㄩ�", "NDC"); + // return false; + //} + + if (agvTask != null) + { + if (agvTask.S_B_STATE != "鍙栬揣瀹屾垚") + { + LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽綋鍓嶆帴椹充綅{wmsWork.CONNECTION}锛宎gv浠诲姟{agvTask.S_CODE},鐘舵�{agvTask.S_B_STATE}锛屾殏涓嶆帹閫�, "NDC"); + return false; + } + } } - //鎺ラ┏浣嶄袱涓猘gv浠诲姟锛宎浠诲姟鍙栬揣瀹屾垚 鎺ㄩ�b浠诲姟 - + + } @@ -976,6 +1005,13 @@ 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; @@ -994,6 +1030,13 @@ 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); @@ -1025,10 +1068,10 @@ if (wcsTask.S_B_STATE.Trim() == "鏈墽琛�) { //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷 - if (task.S_TYPE.Contains("鍏ュ簱") || task.S_TYPE.Contains("鍥炲簱")) + if (wcsTask.S_TYPE.Contains("鍏ュ簱") || wcsTask.S_TYPE.Contains("鍥炲簱")) { - ContainerHelper.delCntr(task.S_CNTR_CODE); - ContainerHelper.delCntrItem(task.S_CNTR_CODE); + ContainerHelper.delCntr(wcsTask.S_CNTR_CODE); + ContainerHelper.delCntrItem(wcsTask.S_CNTR_CODE); } TaskHelper.Fail(wcsTask); TaskProcess.OperateStatus(wcsTask, 7); @@ -1040,17 +1083,24 @@ 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 == task.S_CODE && a.S_ACTION == "5").First(); + 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($"璇ヤ换鍔task.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷"); + 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); -- Gitblit v1.9.1