From 95c865c03a9cb128af51ac4b7d7f9d7149441efd Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期一, 07 七月 2025 17:30:35 +0800 Subject: [PATCH] agv效率开发 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs | 80 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 75 insertions(+), 5 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 4e05af9..63dde4f 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs @@ -5,8 +5,11 @@ using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.IdentityModel.Protocols.WSTrust; using System.Linq; +using System.Net.NetworkInformation; using System.Security.Policy; +using System.Threading.Tasks; using static HH.WCS.JiaTong.api.ApiModel; using static HH.WCS.JiaTong.util.Settings; @@ -57,6 +60,7 @@ { TaskProcess.OperateStatus(TN_Task, 6); } + UpdateWait(TN_Task); break; #endregion case 2: @@ -99,7 +103,7 @@ 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"); + TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "ML"); } else { @@ -110,7 +114,7 @@ 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"); + TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "YBK"); } else { @@ -162,6 +166,7 @@ { LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=14鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�); } + break; } } @@ -199,7 +204,7 @@ } if (!string.IsNullOrEmpty(url)) { - TaskProcess.OperateReq(model, url, TN_Task,name); + TaskProcess.OperateReq(model, url, TN_Task, name); } else { @@ -208,6 +213,56 @@ } } } + } + + /// <summary> + /// 鍗歌揣瀹屾垚濡傛灉鏈夌浉閭诲簱鍖虹殑鍥炲簱浠诲姟 鎺ㄩ�浠诲姟 + /// </summary> + internal static void UpdateWait(WCSTask mst) + { + var db = new SqlHelper<object>().GetInstance(); + try + { + var area = db.Queryable<Area>().Where(a => a.S_CODE.Trim() == mst.S_END_AREA).First(); + if (area != null) + { + if (!string.IsNullOrEmpty(area.S_GROUP)) + { + int code = int.Parse(area.S_GROUP.Substring(1, 1)); + string areaName = area.S_GROUP.Substring(0, 1); + string[] AreaList = new string[] { areaName + (code - 1), areaName + (code + 1), area.S_GROUP }; + LogHelper.Info($"浠诲姟{mst.S_CODE},缁堢偣鍖哄煙{JsonConvert.SerializeObject(AreaList)}"); + var AreasByGroup = db.Queryable<Area>().Where(a => AreaList.Contains(a.S_GROUP)).ToList(); + if (AreasByGroup.Count > 0) + { + 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(); + updateMst.S_B_STATE = "绛夊緟"; + db.Updateable(updateMst).UpdateColumns(it => new { it.S_B_STATE }).ExecuteCommand(); + } + else + { + LogHelper.Info($"浠诲姟{mst.S_CODE},缁堢偣鍖哄煙{JsonConvert.SerializeObject(AreaList)},鏈壘鍒板浜庡垎缁勫簱鍖猴紝璇锋鏌ュ簱鍖鸿〃"); + } + + } + else + { + LogHelper.Info($"浠诲姟{mst.S_CODE},缁堢偣搴撳尯{mst.S_END_AREA}鍒嗙粍涓虹┖"); + } + } + else + { + LogHelper.Info($"浠诲姟{mst.S_CODE},缁堢偣搴撳尯{mst.S_END_AREA}鏈壘鍒板浜庡簱鍖猴紝璇锋鏌ュ簱鍖鸿〃"); + } + } + catch (Exception ex) + { + LogHelper.Info($"UpdateWait Error锛歿ex}"); + + } + } /// <summary> @@ -232,11 +287,26 @@ } }); - - } } + /// <summary> + /// 浠诲姟鍒嗗彂锛屾牴鎹皟搴︾被鍨嬪彂缁欎笉鍚岀殑璋冨害绯荤粺 + /// </summary> + internal static void DispatchWait() + { + //鏌ヨ浠诲姟 + //鑾峰彇鎵�湁绛夊緟鐨勪换鍔�+ // Console.WriteLine("寮�浠诲姟鎺ㄩ�"); + var list = WCSHelper.GetTaskListByState("绛夊緟鎺ㄩ�"); + if (list.Count > 0) + { + list.ForEach(task => + { + TaskProcess.WaitSend(task); + }); + } + } } } -- Gitblit v1.9.1