From 61ece19b5b178d1b23bed16c733b01af1185f838 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期日, 20 七月 2025 23:11:43 +0800 Subject: [PATCH] 0720 --- dispatch/WcsTask.cs | 105 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 74 insertions(+), 31 deletions(-) diff --git a/dispatch/WcsTask.cs b/dispatch/WcsTask.cs index 5b084a7..7ee98e1 100644 --- a/dispatch/WcsTask.cs +++ b/dispatch/WcsTask.cs @@ -16,6 +16,7 @@ using System.Web.Services.Description; using Top.Api; using static HH.WCS.ZhongCeJinTan.api.ApiModel; +using static HH.WCS.ZhongCeJinTan.util.Settings; using static HH.WCS.ZhongCeJinTan.wms.WcsModel; namespace HH.WCS.ZhongCeJinTan.dispatch @@ -1207,8 +1208,72 @@ } } + + /// <summary> + /// 鍙栬揣鏃犺揣 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + public static WcsWarningReurn ZcOutChangeBit(changeBitParme model) + { + var result = new WcsWarningReurn(); + var newDb = new SqlHelper<object>().GetInstance(); + try + { + if (string.IsNullOrEmpty(model.taskNo)) + { + throw new Exception("浠诲姟鍙蜂负绌�); + } + var task = TaskHelper.GetTask(model.taskNo); + if (task == null) + { + throw new Exception($"鏈煡璇㈠埌浠诲姟鍙穥model.taskNo}鐨勪换鍔�); + } + + if (task.S_TYPE.Contains("鍑哄簱")) + { + //鍙栬揣鏃犺揣 + LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栬揣鏃犺揣,鍙栨秷浠诲姟", "鍙栬揣鏃犺揣"); + if (WcsCancellTask(task)) + { + LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栨秷浠诲姟鎴愬姛锛岃捣鐐箋task.S_START_LOC}璁句负寮傚父", "鍙栬揣鏃犺揣"); + TaskHelper.Fail(task); + TaskProcess.OperateStatus(task, 7); + LocationHelper.updateLocLock(task.S_START_LOC, 3, "鍏朵粬閿�); + var agvTask = TaskHelper.GetTaskByWorkNo(task.S_OP_CODE, "agv"); + if (agvTask != null) + { + if (agvTask.S_B_STATE != "鏈墽琛�) + { + NDCApi.CancelOrder(agvTask.S_CODE.Trim()); + } + TaskHelper.Fail(agvTask); + TaskProcess.CacheBitCancelUpdate(agvTask); + } + } + + } + else + { + throw new Exception($"浠诲姟鍙穥model.taskNo},浠诲姟绫诲瀷{task.S_TYPE}"); + } + result.msg = "Wcs鍙栬揣鏃犺揣澶勭悊鎴愬姛"; + result.code = "0"; + result.requestPk = model.requestPk; + return result; + } + catch (Exception ex) + { + newDb.RollbackTran(); + result.msg = "Wcs鍙栬揣鏃犺揣寮傚父"; + result.code = "1"; + result.requestPk = model.requestPk; + LogHelper.Info("Wcs鍙栬揣鏃犺揣寮傚父" + ex.Message, "鍙栬揣鏃犺揣"); + return result; + } + } /// <summary> /// 鏀捐揣鏈夎揣 @@ -1233,39 +1298,16 @@ throw new Exception($"鏈煡璇㈠埌浠诲姟鍙穥model.taskNo}鐨勪换鍔�); } - if (task.S_TYPE.Contains("鍑哄簱")) - { - //鍙栬揣鏃犺揣 - LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栬揣鏃犺揣,鍙栨秷浠诲姟", "鏀捐揣鏈夎揣"); - if (WcsCancellTask(task)) - { - LogHelper.Info($"浠诲姟鍙穥task.S_CODE},鍙栨秷浠诲姟鎴愬姛锛岃捣鐐箋task.S_START_LOC}璁句负寮傚父", "鏀捐揣鏈夎揣"); - TaskHelper.Fail(task); - TaskProcess.OperateStatus(task, 7); - LocationHelper.updateLocLock(task.S_START_LOC, 3, "鍏朵粬閿�); - var agvTask = TaskHelper.GetTaskByWorkNo(task.S_OP_CODE, "agv"); - if (agvTask != null) - { - if (agvTask.S_B_STATE!="鏈墽琛�) - { - NDCApi.CancelOrder(agvTask.S_CODE.Trim()); - } - TaskHelper.Fail(agvTask); - TaskProcess.CacheBitCancelUpdate(agvTask); - } - } - - } - else { + if (!task.S_TYPE.Contains("鍑哄簱")) { //鍗歌揣鏈夎揣 - if (task.S_B_STATE.Contains("瀹屾垚") || task.S_B_STATE.Contains("鍙栨秷") || task.S_B_STATE.Contains("澶辫触")) + if (task.S_B_STATE == "瀹屾垚" || task.S_B_STATE.Contains("鍙栨秷") || task.S_B_STATE.Contains("澶辫触")) { throw new Exception($"浠诲姟鍙穥model.taskNo}锛屼换鍔$姸鎬侊細{task.S_B_STATE}锛屼笉鑳芥敼閬�); } var endLoc = LocationHelper.GetLocOne(task.S_END_LOC); - var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROW == endLoc.N_ROW && a.N_COL > endLoc.N_COL && a.S_LOCK_STATE == "鏃� && a.N_CURRENT_NUM == 0 && a.C_ENABLE == "Y").OrderBy(b => b.N_COL).First(); + var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROADWAY == endLoc.N_ROADWAY && a.N_COL != endLoc.N_COL && a.S_LOCK_STATE == "鏃� && a.N_CURRENT_NUM == 0 && a.C_ENABLE == "Y").OrderBy(b => b.N_ROW).OrderBy(b => b.N_COL).OrderBy(b => b.N_LAYER).First(); LogHelper.Info($"Wcs鏀捐揣鏈夎揣瀵绘壘鏂扮粓鐐逛俊鎭� + JsonConvert.SerializeObject(end), "鏀捐揣鏈夎揣"); @@ -1282,17 +1324,19 @@ result.msg = end.S_CODE; result.code = "0"; result.requestPk = model.requestPk; + return result; } else { throw new Exception($"鏈煡璇㈠埌搴撳尯{endLoc.S_AREA_CODE}鏈夌鍚堢殑璐т綅"); } + }else + { + throw new Exception($"浠诲姟鍙穥model.taskNo},浠诲姟绫诲瀷{task.S_TYPE}"); + } - result.msg = "Wcs鏀捐揣鏈夎揣/鍙栬揣鏃犺揣澶勭悊鎴愬姛"; - result.code = "0"; - result.requestPk = model.requestPk; - return result; + } catch (Exception ex) { @@ -1303,7 +1347,6 @@ LogHelper.Info("Wcs鏀捐揣鏈夎揣寮傚父" + ex.Message, "鏀捐揣鏈夎揣"); return result; } - return result; } -- Gitblit v1.9.1