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 | 336 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 175 insertions(+), 161 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 521597f..340d779 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs @@ -20,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)) @@ -30,189 +30,203 @@ } 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); - - //浠诲姟鍥炴姤 浠诲姟鏉ユ簮 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); - //绔嬪簱涓巜ms浠诲姟鍥炴姤 - TableUrl url = null; - switch (TN_Task.Z_TYPE) - { - case 1: - url = Settings.tableUrls.Find(a => a.id == 1); - if (url != null) - { - TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "ML"); - } - else - { - LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=1鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); - } - break; - case 3: - url = Settings.tableUrls.Find(a => a.id == 9); - if (url != null) - { - TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "YBK"); - } - else - { - LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=9鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); - } - break; - case 4: - url = Settings.tableUrls.Find(a => a.id == 11); - if (url != null) - { - Console.WriteLine($"鍘熸潗鏂欎换鍔″洖鎶TN_Task.S_EQ_NO}"); - if (TN_Task.S_TYPE.Contains("鐢垫")) + //鏈変换鍔″彿璇锋眰 + 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() == "绌烘墭鍥炲簱")) { - if (TN_Task.S_TYPE == "鐢垫1") + 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); + + //浠诲姟鍥炴姤 浠诲姟鏉ユ簮 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); + //绔嬪簱涓巜ms浠诲姟鍥炴姤 + TableUrl url = null; + switch (TN_Task.Z_TYPE) + { + case 1: + url = Settings.tableUrls.Find(a => a.id == 1); + if (url != null) + { + TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "ML"); + } + else + { + LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=1鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); + } + break; + case 3: + url = Settings.tableUrls.Find(a => a.id == 9); + if (url != null) + { + TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "YBK"); + } + else + { + LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=9鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); + } + break; + case 4: + url = Settings.tableUrls.Find(a => a.id == 11); + if (url != null) + { + Console.WriteLine($"鍘熸潗鏂欎换鍔″洖鎶TN_Task.S_EQ_NO}"); + if (TN_Task.S_TYPE.Contains("鐢垫")) { - if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4") + if (TN_Task.S_TYPE == "鐢垫1") { - TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); + if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4") + { + TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); + } + } + else if (TN_Task.S_TYPE == "鐢垫2") + { + if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2") + { + TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); + } } } - else if (TN_Task.S_TYPE == "鐢垫2") + else { - if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2") - { - TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); - } + + var db = new SqlHelper<object>().GetInstance(); + var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList(); + TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); } } else { - - var db = new SqlHelper<object>().GetInstance(); - var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList(); - TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); + LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=11鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); } - } - else - { - LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=11鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); - } - break; - case 6: - url = Settings.tableUrls.Find(a => a.id == 14); - if (url != null) - { - TaskProcess.WmsReportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); - } - else - { - LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=14鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); - } + break; + case 6: + url = Settings.tableUrls.Find(a => a.id == 14); + if (url != null) + { + TaskProcess.WmsReportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url); + } + else + { + LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=14鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); + } - break; + 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); + } + } - - //鐗╂枡鍒颁綅閫氱煡 - if ((TN_Task.S_TYPE == "鍑哄钩搴� || TN_Task.S_TYPE == "浣欐枡杩斿洖") && model.state == 6) + else { - 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); - } + 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; + } + + } } -- Gitblit v1.9.1