From 5321419f5fddb4e877fe90ccd90ebdc1a115af64 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期五, 18 七月 2025 17:29:26 +0800 Subject: [PATCH] 出库修改 --- process/TaskProcess.cs | 150 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 115 insertions(+), 35 deletions(-) diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index 83a4897..c2088d3 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) { @@ -543,14 +553,33 @@ return false; } - if (wcsTask.S_B_STATE == "鏈墽琛�) + if (wcsTask.S_B_STATE == "鏈墽琛� || wcsTask.S_B_STATE == "宸叉帹閫�) { 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浠诲姟 - + + } @@ -637,6 +666,15 @@ } return result; } + + internal static LocationRecordsResult LocationRecords(LocationRecordsParme model) { + var result = new LocationRecordsResult(); + var db = new SqlHelper<object>().GetInstance(); + + return result; + } + + internal static Result MesUdeItem(MesUdeItemParme model) { @@ -956,34 +994,29 @@ { var task = TaskHelper.GetTaskByWorkNo(model.task_no, "agv"); - var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no,"wcs"); + var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no, "wcs"); - if (task != null && wcsTask != null) + if (task != null) { + LogHelper.Info($"cancelTask1鍙栨秷agv浠诲姟{task.S_CODE}锛�, "鍙栨秷"); if (task.S_B_STATE.Trim() == "鏈墽琛�) { //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷 - LogHelper.Info("cancelTask1鍙栨秷agv浠诲姟锛�, "鍙栨秷"); + 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); + } - else { - WcsTask.WcsCancellTask(wcsTask); - } - - - TaskHelper.Fail(wcsTask); - TaskProcess.OperateStatus(wcsTask, 7); result.errCode = 0; result.errMsg = "鍙栨秷鎴愬姛"; result.success = true; - return result; } - else if (task.S_B_STATE.Trim() != "鍙栨秷" && task.S_B_STATE.Trim() != "澶辫触") + 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(); @@ -997,22 +1030,20 @@ result.success = false; return result; } - - //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv - TaskHelper.Fail(task); - - NDCApi.CancelOrder(task.S_CODE.Trim()); - TaskProcess.CacheBitCancelUpdate(task); 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); } - else { - WcsTask.WcsCancellTask(wcsTask); - } - TaskHelper.Fail(wcsTask); - TaskProcess.OperateStatus(wcsTask, 7); + + 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; @@ -1030,11 +1061,40 @@ result.errMsg = $"{model.task_no}浠诲姟涓嶅瓨鍦�; result.success = false; } + + 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 + { + LogHelper.Info($"璇ヤ换鍔wcsTask.S_CODE}宸茬粡鎺ㄩ�", "鍙栨秷"); + result.errCode = 1; + result.errMsg = "浠诲姟宸茬粡鎺ㄩ�锛屼笉鍏佽鍙栨秷"; + result.success = false; + return result; + + } + } } catch (Exception ex) { - LogHelper.Info("cancelTask1鍙栨秷浠诲姟寮傚父锛�+ex.Message, "鍙栨秷"); + LogHelper.Info("cancelTask1鍙栨秷浠诲姟寮傚父锛� + ex.Message, "鍙栨秷"); result.errCode = 1; result.errMsg = "鍙栨秷浠诲姟寮傚父"; return result; @@ -1690,15 +1750,35 @@ var TOOLSTYPE = ""; if (!string.IsNullOrEmpty(model.TOOLS_TPYE)) { - TOOLSTYPE = model.TOOLS_TPYE; - + TOOLSTYPE = model.TOOLS_TPYE; } - workFlow = TaskHelper.selectWorkFlowByType(model.BUSI_TYPE, TOOLSTYPE); - + //鍏ュ簱鎸夌収宸ヨ鍜屾祦绋嬬紪鍙�+ if (model.Task_type == 1) { + workFlow = TaskHelper.selectWorkFlowByType(model.BUSI_TYPE, TOOLSTYPE); + } + else if (model.Task_type == 2) + { + //鍑哄簱鎸夌収缁堢偣搴撳尯鍜屾祦绋嬬紪鍙�+ + var end = LocationHelper.GetLoc(model.Location_To); + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂"); + + + if (end == null) + { + LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To},娌℃壘鍒�, "Mes浠诲姟涓嬪彂"); + throw new Exception($"缁堢偣:{model.Location_To},娌℃壘鍒�); + } + + workFlow = TaskHelper.selectWorkFlowByEndArea(model.BUSI_TYPE, end.S_AREA_CODE); + TOOLSTYPE = workFlow.TOOLSTYPE; + } + LogHelper.Info($"浣滀笟{model.task_no}锛屽伐瑁呯被鍨媨TOOLSTYPE}", "Mes浠诲姟涓嬪彂"); - + + if (workFlow == null) { LogHelper.Info($"ZCSendTask浠诲姟涓嬪彂澶辫触锛孊USI_TYpe:{model.BUSI_TYPE},娌℃壘鍒板搴斾綔涓氭祦绋�, "Mes浠诲姟涓嬪彂"); throw new Exception($"BUSI_TYpe:{model.BUSI_TYPE},娌℃壘鍒板搴斾綔涓氭祦绋�); -- Gitblit v1.9.1