From 9cba325e0d7c30644606e63e5df01faba0c42038 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期三, 06 八月 2025 17:18:41 +0800 Subject: [PATCH] 优化 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs | 217 +++++++++++++++++++++++++++++------------------------- 1 files changed, 116 insertions(+), 101 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs index 63dde4f..340d779 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs @@ -1,4 +1,5 @@ -锘縰sing HH.WCS.JiaTong.dispatch; +锘縰sing HH.WCS.JiaTong.device; +using HH.WCS.JiaTong.dispatch; using HH.WCS.JiaTong.process; using HH.WCS.JiaTong.util; using HH.WCS.JiaTong.wms; @@ -9,7 +10,9 @@ using System.Linq; using System.Net.NetworkInformation; using System.Security.Policy; +using System.Threading; using System.Threading.Tasks; +using System.Web.Services.Description; using static HH.WCS.JiaTong.api.ApiModel; using static HH.WCS.JiaTong.util.Settings; @@ -17,7 +20,7 @@ { internal class WCSCore { - public static void OperateAgvTaskStatus(AgvTaskState model) + public static async Task OperateAgvTaskStatus(AgvTaskState model) { if (string.IsNullOrEmpty(model.task_no)) @@ -27,78 +30,63 @@ } else { - var TN_Task = WCSHelper.GetTask(model.task_no); - if (TN_Task != null) + try { - if (model.state <= 7) + var TN_Task = WCSHelper.GetTask(model.task_no); + if (TN_Task != null) { - //鏈変换鍔″彿璇锋眰 - switch (model.state) + if (model.state <= 7) { - case 1: - WCSHelper.Begin(TN_Task, model.forklift_no); - break; - #region MyRegion - case 3: - WCSHelper.UpdateAgvNo(TN_Task, model.forklift_no); - WCSHelper.UpdateStatus(TN_Task, "寮�鍙栬揣"); - break; - case 4: - WCSHelper.UpdateStatus(TN_Task, "鍙栬揣瀹屾垚"); - TaskProcess.OperateStatus(TN_Task, 4); - break; - case 5: - WCSHelper.UpdateStatus(TN_Task, "寮�鍗歌揣"); - break; - case 6: - WCSHelper.UpdateStatus(TN_Task, "鍗歌揣瀹屾垚"); - if (!string.IsNullOrEmpty(TN_Task.S_NOTE) && (TN_Task.S_NOTE.Trim() == "鍏ュ簱" || TN_Task.S_NOTE.Trim() == "绌烘墭鍥炲簱")) - { - LocationHelper.UnlockLoc(TN_Task.S_END_LOC); - } - else - { - TaskProcess.OperateStatus(TN_Task, 6); - } - UpdateWait(TN_Task); - break; - #endregion - case 2: - WCSHelper.End(TN_Task); - break; - case 7: - TaskProcess.OperateStatus(TN_Task, 7); - WCSHelper.Fail(TN_Task); - TaskProcess.CancelTaskSection(TN_Task); - break; - } - WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data); + //鏈変换鍔″彿璇锋眰 + switch (model.state) + { + case 1: + WCSHelper.Begin(TN_Task, model.forklift_no); + break; + #region MyRegion + case 3: + WCSHelper.UpdateAgvNo(TN_Task, model.forklift_no); + WCSHelper.UpdateStatus(TN_Task, "寮�鍙栬揣"); + break; + case 4: + WCSHelper.UpdateStatus(TN_Task, "鍙栬揣瀹屾垚"); + TaskProcess.OperateStatus(TN_Task, 4); + break; + case 5: + WCSHelper.UpdateStatus(TN_Task, "寮�鍗歌揣"); + break; + case 6: + WCSHelper.UpdateStatus(TN_Task, "鍗歌揣瀹屾垚"); + if (!string.IsNullOrEmpty(TN_Task.S_NOTE) && (TN_Task.S_NOTE.Trim() == "鍏ュ簱" || TN_Task.S_NOTE.Trim() == "绌烘墭鍥炲簱")) + { + LocationHelper.UnlockLoc(TN_Task.S_END_LOC); + } + else + { + TaskProcess.OperateStatus(TN_Task, 6); + } + UpdateWait(TN_Task); + break; + #endregion + case 2: + WCSHelper.End(TN_Task); + break; + case 7: + TaskProcess.OperateStatus(TN_Task, 7); + WCSHelper.Fail(TN_Task); + TaskProcess.CancelTaskSection(TN_Task); + break; + } + WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data); - //鐗╂枡鍒颁綅閫氱煡 - if ((TN_Task.S_TYPE == "鍑哄钩搴� || TN_Task.S_TYPE == "浣欐枡杩斿洖") && model.state == 6) - { - string urlitem = Settings.tableUrls.Find(a => a.id == 5).url; - TaskProcess.MESIteminfoback(TN_Task, urlitem); - } - if ((TN_Task.S_NOTE == "鍑哄簱" || TN_Task.S_NOTE == "寮傚父搴撳尯鍏ュ簱") && !string.IsNullOrEmpty(TN_Task.S_MES_NO) && model.state == 6) - { - string urlitem = Settings.tableUrls.Find(a => a.id == 5).url; - TaskProcess.MESIteminfoback(TN_Task, urlitem); - } - //浠诲姟鍥炴姤 浠诲姟鏉ユ簮 1.閽笣绔嬪簱 2.鑳剁墖搴� 3.棰勫搴�5.mes涓嬪彂 - if (TN_Task.Z_TYPE == 5) - { + //浠诲姟鍥炴姤 浠诲姟鏉ユ簮 1.閽笣绔嬪簱 2.鑳剁墖搴� 3.棰勫搴�5.mes涓嬪彂 //TN_Task = WCSHelper.GetTask(TN_Task.S_CODE); string urlstate = Settings.tableUrls.Find(a => a.id == 4).url; TaskProcess.MESReportback(TN_Task, model.state, urlstate); - } - else - { //绔嬪簱涓巜ms浠诲姟鍥炴姤 TableUrl url = null; switch (TN_Task.Z_TYPE) { - case 1: url = Settings.tableUrls.Find(a => a.id == 1); if (url != null) @@ -169,49 +157,76 @@ break; } + + //鐗╂枡鍒颁綅閫氱煡 + if ((TN_Task.S_TYPE == "鍑哄钩搴� || TN_Task.S_TYPE == "浣欐枡杩斿洖") && model.state == 6) + { + string urlitem = Settings.tableUrls.Find(a => a.id == 5).url; + TaskProcess.MESIteminfoback(TN_Task, urlitem); + } + if ((TN_Task.S_NOTE == "鍑哄簱" || TN_Task.S_NOTE == "寮傚父搴撳尯鍏ュ簱") && !string.IsNullOrEmpty(TN_Task.S_MES_NO) && model.state == 6) + { + string urlitem = Settings.tableUrls.Find(a => a.id == 5).url; + TaskProcess.MESIteminfoback(TN_Task, urlitem); + } + + } + else + { + + var db = new SqlHelper<TaskAction>().GetInstance(); + var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == model.task_no && a.N_ACTION_CODE == model.state).First(); + if (taskAction == null) + { + WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data); + } + + //瀹夊叏璇锋眰绛�+ string url = ""; + string name = ""; + if (TN_Task.Z_TYPE == 1) + { + url = Settings.tableUrls.Find(a => a.id == 2).url; + name = "ML"; + } + else if (TN_Task.Z_TYPE == 3) + { + url = Settings.tableUrls.Find(a => a.id == 10).url; + name = "YBK"; + } + else if (TN_Task.Z_TYPE == 4) + { + url = Settings.tableUrls.Find(a => a.id == 11).url; + name = "YCL"; + } + else + { + LogHelper.Info($"瀹夊叏璇锋眰锛氫换鍔$被鍨嬮敊璇�褰撳墠浠诲姟绫诲瀷{TN_Task.Z_TYPE}"); + } + if (!string.IsNullOrEmpty(url)) + { + TaskProcess.OperateReq(model, url, TN_Task, name); + } + else + { + LogHelper.Info($"瀹夊叏璇锋眰锛氭湭鎵惧埌鍥炴姤鍦板潃锛岃妫�煡閰嶇疆鏂囦欢==>{JsonConvert.SerializeObject(Settings.tableUrls)}"); + } + + } } else { - var db = new SqlHelper<TaskAction>().GetInstance(); - var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == model.task_no && a.N_ACTION_CODE == model.state).First(); - if (taskAction == null) - { - WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data); - } - - //瀹夊叏璇锋眰绛�- string url = ""; - string name = ""; - if (TN_Task.Z_TYPE == 1) - { - url = Settings.tableUrls.Find(a => a.id == 2).url; - name = "ML"; - } - else if (TN_Task.Z_TYPE == 3) - { - url = Settings.tableUrls.Find(a => a.id == 10).url; - name = "YBK"; - } - else if (TN_Task.Z_TYPE == 4) - { - url = Settings.tableUrls.Find(a => a.id == 11).url; - name = "YCL"; - } - else - { - LogHelper.Info($"瀹夊叏璇锋眰锛氫换鍔$被鍨嬮敊璇�褰撳墠浠诲姟绫诲瀷{TN_Task.Z_TYPE}"); - } - if (!string.IsNullOrEmpty(url)) - { - TaskProcess.OperateReq(model, url, TN_Task, name); - } - else - { - LogHelper.Info($"瀹夊叏璇锋眰锛氭湭鎵惧埌鍥炴姤鍦板潃锛岃妫�煡閰嶇疆鏂囦欢==>{JsonConvert.SerializeObject(Settings.tableUrls)}"); - } + Console.WriteLine(111); } } + catch (Exception ex) + { + LogHelper.Info("OperateAgvTaskStatus Error锛� + ex.ToString()); + throw; + } + + } } @@ -237,7 +252,7 @@ { var AreaCodes = AreasByGroup.Select(a => a.S_CODE).ToList(); LogHelper.Info($"浠诲姟{mst.S_CODE},鏍规嵁缁堢偣鍖哄煙鑾峰彇搴撳尯缂栫爜锛歿JsonConvert.SerializeObject(AreaCodes)}"); - var updateMst = db.Queryable<WCSTask>().Where(a => AreaCodes.Contains(a.S_END_AREA.Trim()) && a.S_B_STATE == "绛夊緟鎺ㄩ�").OrderBy(a=>a.T_CREATE).First(); + var updateMst = db.Queryable<WCSTask>().Where(a => AreaCodes.Contains(a.S_END_AREA.Trim()) && a.S_B_STATE == "绛夊緟鎺ㄩ�").OrderBy(a => a.T_CREATE).First(); updateMst.S_B_STATE = "绛夊緟"; db.Updateable(updateMst).UpdateColumns(it => new { it.S_B_STATE }).ExecuteCommand(); } -- Gitblit v1.9.1