From 0c99d1077c6c5ace847f39f7664f47bcac16126b Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期四, 19 六月 2025 11:11:32 +0800 Subject: [PATCH] 1 --- 2025年6月12日/AuxAllWCS/Build/Project/代码/界面事件.cs | 3023 ++++++++++++++++++++++++++-------------------------------- 1 files changed, 1,350 insertions(+), 1,673 deletions(-) diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\347\225\214\351\235\242\344\272\213\344\273\266.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\347\225\214\351\235\242\344\272\213\344\273\266.cs" index 723b294..e080eb5 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\347\225\214\351\235\242\344\272\213\344\273\266.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\347\225\214\351\235\242\344\272\213\344\273\266.cs" @@ -28,156 +28,154 @@ using GZ.DB.Repository.OIDATABASE; using GZ.DB.IRepository.OIDATABASE; using GZ.DB.Entity.OIDATABASE; -using GZ.Modular.Redis; namespace GZ.Projects.AuxAllWCS { - /// <summary> - /// 浜嬩欢 - /// </summary> - public partial class ViewModel : System.ComponentModel.INotifyPropertyChanged - { + /// <summary> + /// 浜嬩欢 + /// </summary> + public partial class ViewModel : System.ComponentModel.INotifyPropertyChanged + { bool IsExitApp = false; ConcurrentStack<int> ExitJudgeStack = new ConcurrentStack<int>(); - System.Net.HttpListener HttpSvcHost = null; - - #region View1浜嬩欢 - /// <summary> + System.Net.HttpListener HttpSvcHost = null; + + #region View1浜嬩欢 + /// <summary> /// View1鎵撳紑浜嬩欢 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> - public void View1_LoadEvent(object sender, RoutedEventArgs e) - { - - try - { - HttpSvcHost = new System.Net.HttpListener(); - HttpSvcHost.AuthenticationSchemes = System.Net.AuthenticationSchemes.Anonymous; - HttpSvcHost.Prefixes.Add("http://10.221.55.116:8808/"); - HttpSvcHost.Start(); - HttpSvcHost.BeginGetContext(HttpSvcListenerCallback, null); - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - View1_Init(sender, e); - - /// <summary> - /// 绋嬪簭鐗囨:鍒濆鍖栭厤缃�- /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250323111613779][涓氬姟閫昏緫.鍒濆鍖栭厤缃甝 - if (Tag.Global.SettingsOver == 0) + public void View1_LoadEvent(object sender, RoutedEventArgs e) + { + + try + { + HttpSvcHost = new System.Net.HttpListener(); + HttpSvcHost.AuthenticationSchemes = System.Net.AuthenticationSchemes.Anonymous; + HttpSvcHost.Prefixes.Add("http://10.221.55.116:8808/"); + HttpSvcHost.Start(); + HttpSvcHost.BeginGetContext(HttpSvcListenerCallback, null); + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + View1_Init(sender, e); + + /// <summary> + /// 绋嬪簭鐗囨:鍒濆鍖栭厤缃�+ /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250323111613779][涓氬姟閫昏緫.鍒濆鍖栭厤缃甝 + if (Tag.Global.SettingsOver == 0) { SettingInit(); Tag.Global.SettingsOver = 1; } - else if (Settings.deviceInfos.Count == 0) + else if(Settings.deviceInfos.Count == 0) { Tag.Global.SettingsOver = 0; } - #endregion [鑴氭湰][20250323111613779][涓氬姟閫昏緫.鍒濆鍖栭厤缃甝 - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(10000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - //鎵ц澶氭 - for (int iii = 0; iii < 1; iii++) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250323151832119][涓氬姟閫昏緫.Program4] - //Conn.榛樿Redis.SetValue("瑗块棬瀛�.Param3","300","瑗块棬瀛�Queue"); - //return; - if (false) - { - List<string> locs = new List<string>() { "vxr1l", "vx1r", "vxr1c1", "vxr1c2", "vxr2l", "vxr2r", "vxr2c1", "vxr2c2" }; - List<string> sites = new List<string>() { "196365BB283162", "193841BB283149", "198756BB287300", "198767BB286133", "206987BB282931", "204460BB282975", "209405BB287057", "209377BB285899" }; + #endregion [鑴氭湰][20250323111613779][涓氬姟閫昏緫.鍒濆鍖栭厤缃甝 + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(10000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + //鎵ц澶氭 + for(int iii=0;iii<1;iii++) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250323151832119][涓氬姟閫昏緫.Program4] + //Conn.榛樿Redis.SetValue("瑗块棬瀛�.Param3","300","瑗块棬瀛�Queue"); +//return; +if(false){ + List<string> locs = new List<string>() { "vxr1l", "vx1r", "vxr1c1", "vxr1c2", "vxr2l", "vxr2r", "vxr2c1", "vxr2c2" }; + List<string> sites = new List<string>() { "196365BB283162", "193841BB283149", "198756BB287300", "198767BB286133", "206987BB282931", "204460BB282975", "209405BB287057", "209377BB285899" }; - LocRepository locservice = new LocRepository(); - for (int i = 0; i < locs.Count; i++) + LocRepository locservice = new LocRepository(); + for (int i = 0; i < locs.Count; i++) + { + string loccode = locs[i]; + string sitesss = sites[i]; + var loc = locservice.FindEntity(x => x.S_LOC_CODE == loccode); + if (loc == null) { - string loccode = locs[i]; - string sitesss = sites[i]; - var loc = locservice.FindEntity(x => x.S_LOC_CODE == loccode); - if (loc == null) + locservice.Insert(new LocEntity { - locservice.Insert(new LocEntity - { - S_ID = Guid.NewGuid().ToString(), - S_STATE = "缂栬緫", - T_CREATE = DateTime.Now, - T_MODIFY = DateTime.Now, - S_DEEP = "vxr", + S_ID = Guid.NewGuid().ToString(), + S_STATE = "缂栬緫", + T_CREATE = DateTime.Now, + T_MODIFY = DateTime.Now, + S_DEEP = "vxr", - S_LOC_CODE = loccode, - S_AGV_SITE = sitesss, + S_LOC_CODE = loccode, + S_AGV_SITE = sitesss, - S_LOCK_STATE = "鏃�, - N_ROW = 1, - N_COL = 1, - N_AGV_CODE = 0, - N_AGV_SITE_LAYER = 0, - N_CAPACITY = 1, - N_CURRENT_NUM = 0, - S_TYPE = "", + S_LOCK_STATE = "鏃�, + N_ROW = 1, + N_COL = 1, + N_AGV_CODE = 0, + N_AGV_SITE_LAYER = 0, + N_CAPACITY = 1, + N_CURRENT_NUM = 0, + S_TYPE = "", - }); - } + }); } - // TaskProcess.CreateTask("", locs[6], locs[7], "test", 9, new List<string> { "test" }, 1, 1, 1); } + // TaskProcess.CreateTask("", locs[6], locs[7], "test", 9, new List<string> { "test" }, 1, 1, 1); + } - #endregion [鑴氭湰][20250323151832119][涓氬姟閫昏緫.Program4] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - /// <summary> - /// 绋嬪簭鐗囨:鎹风灛鎶撹噦1 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250325083325390][涓氬姟閫昏緫.绗笁鏍囨.鎹风灛鎶撹噦1] - var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 2 && x.deviceName == "Js鎹烽『1"); + #endregion [鑴氭湰][20250323151832119][涓氬姟閫昏緫.Program4] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + /// <summary> + /// 绋嬪簭鐗囨:鎹风灛鎶撹噦1 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250325083325390][涓氬姟閫昏緫.绗笁鏍囨.鎹风灛鎶撹噦1] + var VERX = Settings.deviceInfos?.Find(x =>x.deviceType==2&& x.deviceName == "Js鎹烽『1"); - if (VERX != null) + if (VERX != null) { if (tag.Js1.D1212_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 1) { @@ -189,66 +187,59 @@ LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - //tag.Js1.D1212_LAST = 1; - RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "1", out string msg); + tag.Js1.D1212_LAST = 1; } } - if (tag.Js1.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 0) - { - //tag.Js1.D1212_LAST = 0; - RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "0", out string msg); + if(tag.Js1.D1212_LAST == 1 &&TcpServer.GetBitdata(tag.Js1.D1212, 2) == 0){ + tag.Js1.D1212_LAST = 0; } - if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1) - { - var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new - { - requestType = 4, - endBit = VERX.location[1] - })); - LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); - if (str.Contains("true")) - { - //tag.Js1.D1213_LAST = 1; - RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "1", out string msg); - } - } - if (tag.Js1.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 0) - { - //tag.Js1.D1213_LAST = 0; - RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "0", out string msg); + if (tag.Js1.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 3) == 1) + { + var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new + { + requestType = 4, + endBit = VERX.location[1] + })); + LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); + if (str.Contains("true")) + { + tag.Js1.D1213_LAST = 1; + } + }if(tag.Js1.D1213_LAST == 1 &&TcpServer.GetBitdata(tag.Js1.D1212, 3) == 0){ + tag.Js1.D1213_LAST = 0; } } - #endregion [鑴氭湰][20250325083325390][涓氬姟閫昏緫.绗笁鏍囨.鎹风灛鎶撹噦1] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:鎹风灛鎶撹噦2 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250325083326611][涓氬姟閫昏緫.绗笁鏍囨.鎹风灛鎶撹噦2] - //jsz2鎹风灛鎶撹噦2 + #endregion [鑴氭湰][20250325083325390][涓氬姟閫昏緫.绗笁鏍囨.鎹风灛鎶撹噦1] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:鎹风灛鎶撹噦2 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250325083326611][涓氬姟閫昏緫.绗笁鏍囨.鎹风灛鎶撹噦2] + //jsz2鎹风灛鎶撹噦2 - var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 2 && x.deviceName == "Js鎹烽『2"); + var VERX = Settings.deviceInfos?.Find(x =>x.deviceType==2&& x.deviceName == "Js鎹烽『2"); if (VERX != null) { @@ -262,16 +253,10 @@ LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - //tag.Js2.D1212_LAST = 1; - - RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "1", out string msg); + tag.Js2.D1212_LAST = 1; } - } - if (tag.Js2.D1212_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1212, 2) == 0) - { - //tag.Js2.D1212_LAST = 0; - - RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "0", out string msg); + } if(tag.Js2.D1212_LAST == 1 &&TcpServer.GetBitdata(tag.Js2.D1212, 2) == 0){ + tag.Js2.D1212_LAST = 0; } if (tag.Js2.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 3) == 1) { @@ -283,80 +268,74 @@ LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - //tag.Js2.D1213_LAST = 1; - - RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "1", out string msg); + tag.Js2.D1213_LAST = 1; } - } - if (tag.Js2.D1213_LAST == 1 && TcpServer.GetBitdata(tag.Js2.D1213, 2) == 0) - { - //tag.Js2.D1213_LAST = 0; - - RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "0", out string msg); + }if(tag.Js2.D1213_LAST == 1 &&TcpServer.GetBitdata(tag.Js2.D1213, 2) == 0){ + tag.Js2.D1213_LAST = 0; } } - #endregion [鑴氭湰][20250325083326611][涓氬姟閫昏緫.绗笁鏍囨.鎹风灛鎶撹噦2] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:鑷祦杞祦绋�- /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250325085810885][涓氬姟閫昏緫.绗笁鏍囨.鑷祦杞祦绋媇 - //foreach(var di in Settings.deviceInfos) - // if (di.deviceType == 2 || di.deviceType == 1) - // RunafterMac(di,true); - /// TODO mes 涓嬪彂銆� 鏀规垚鏈烘鑷傜洃鎺�- 鐩戞帶绌虹殑杩樻槸婊$殑 - 鑱斿姩mes 浠诲姟銆�- #endregion [鑴氭湰][20250325085810885][涓氬姟閫昏緫.绗笁鏍囨.鑷祦杞祦绋媇 - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:缁村笇灏旀姄鑷�L - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250325083149366][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�L] - - var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 1 && x.deviceName.Contains("1")); + #endregion [鑴氭湰][20250325083326611][涓氬姟閫昏緫.绗笁鏍囨.鎹风灛鎶撹噦2] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:鑷祦杞祦绋�+ /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250325085810885][涓氬姟閫昏緫.绗笁鏍囨.鑷祦杞祦绋媇 + //foreach(var di in Settings.deviceInfos) +// if (di.deviceType == 2 || di.deviceType == 1) +// RunafterMac(di,true); + /// TODO mes 涓嬪彂銆� 鏀规垚鏈烘鑷傜洃鎺�- 鐩戞帶绌虹殑杩樻槸婊$殑 - 鑱斿姩mes 浠诲姟銆�+ #endregion [鑴氭湰][20250325085810885][涓氬姟閫昏緫.绗笁鏍囨.鑷祦杞祦绋媇 + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:缁村笇灏旀姄鑷�L + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250325083149366][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�L] + +var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 1 && x.deviceName.Contains("1")); if (VERX != null) { @@ -374,7 +353,7 @@ LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.wxr1.R44_LAST = true; + tag.wxr1.R44_LAST = true; } } else @@ -384,15 +363,14 @@ } else { - //TaskRepository ts = new TaskRepository(); + //TaskRepository ts = new TaskRepository(); if (tag.wxr1.R10_LAST) //鎵樼洏鏀剧疆淇″彿銆傘� { - if (tag.wxr1.R10) - { - tag.wxr1.R10_LAST = false; - } - else - if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0], out string traycode)) + if (tag.wxr1.R10) + { + tag.wxr1.R10_LAST=false; + } else + if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0],out string traycode)) { //涓婃姤鏍¢獙銆� ///var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); @@ -416,35 +394,35 @@ } } } - #endregion [鑴氭湰][20250325083149366][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�L] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:缁村笇灏旀姄鑷�R - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250610002047005][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�R] - var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 1 && x.deviceName.Contains("1")); + #endregion [鑴氭湰][20250325083149366][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�L] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:缁村笇灏旀姄鑷�R + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250610002047005][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�R] + var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 1 && x.deviceName.Contains("1")); if (VERX != null) { @@ -462,7 +440,7 @@ LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.wxr1.R46_LAST = true; + tag.wxr1.R46_LAST = true; } } else @@ -474,12 +452,11 @@ { if (tag.wxr1.R11_LAST) //鎵樼洏鏀剧疆淇″彿銆傘� { - if (tag.wxr1.R11) - { - tag.wxr1.R11_LAST = false; - } - else - if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode)) + if (tag.wxr1.R11) + { + tag.wxr1.R11_LAST=false; + } else + if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1],out string traycode)) { //涓婃姤鏍¢獙銆� ///var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); @@ -503,36 +480,36 @@ } } } - #endregion [鑴氭湰][20250610002047005][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�R] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:缁村笇灏旀姄鑷�L - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250325083315503][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�L] - - var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 1 && x.deviceName.Contains("2")); + #endregion [鑴氭湰][20250610002047005][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�R] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:缁村笇灏旀姄鑷�L + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250325083315503][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�L] + +var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 1 && x.deviceName.Contains("2")); if (VERX != null) { @@ -550,7 +527,7 @@ LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.wxr2.R44_LAST = true; + tag.wxr2.R44_LAST = true; } } else @@ -562,12 +539,11 @@ { if (tag.wxr2.R10_LAST) //鎵樼洏鏀剧疆淇″彿銆傘� { - if (tag.wxr2.R10) - { - tag.wxr2.R10_LAST = false; - } - else - if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0], out string traycode)) + if (tag.wxr2.R10) + { + tag.wxr2.R10_LAST=false; + } else + if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[0],out string traycode)) { //涓婃姤鏍¢獙銆� ///var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); @@ -591,35 +567,35 @@ } } } - #endregion [鑴氭湰][20250325083315503][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�L] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:缁村笇灏旀姄鑷�R - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250610002647095][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�R] - var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 1 && x.deviceName.Contains("2")); + #endregion [鑴氭湰][20250325083315503][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�L] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:缁村笇灏旀姄鑷�R + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250610002647095][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�R] + var VERX = Settings.deviceInfos?.Find(x => x.deviceType == 1 && x.deviceName.Contains("2")); if (VERX != null) { @@ -637,7 +613,7 @@ LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.wxr2.R46_LAST = true; + tag.wxr2.R46_LAST = true; } } else @@ -647,14 +623,13 @@ } else { - if (tag.wxr2.R11_LAST) //鎵樼洏鏀剧疆淇″彿銆傘� + if (tag.wxr2.R11_LAST) //鎵樼洏鏀剧疆淇″彿銆傘� { - if (tag.wxr2.R11) - { - tag.wxr2.R11_LAST = false; - } - else - if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1], out string traycode)) + if (tag.wxr2.R11) + { + tag.wxr2.R11_LAST=false; + } else + if (TcpServer.TrayIps.TryGetValue(VERX.deviceNo[1],out string traycode)) { //涓婃姤鏍¢獙銆� ///var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); @@ -678,395 +653,115 @@ } } } - #endregion [鑴氭湰][20250610002647095][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�R] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:浠诲姟涓嬪彂 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250325085542733][涓氬姟閫昏緫.浠诲姟涓嬪彂] - ITaskRepository taskservice = new TaskRepository(); - var tklist = taskservice.FindList(x => x.S_B_STATE == "鏈墽琛� && x.S_WORK_MODE == "AGV"); - if (tklist.Any()) - foreach (var tk in tklist.GroupBy(item => - { - var ticks = item.T_CREATE.Ticks; - return new DateTime(ticks - ticks % (10 * TimeSpan.TicksPerMinute)); - }).OrderBy(x => x.Key)) - { - var ts = tk.OrderByDescending(x => x.N_PRIORITY).ToList(); - foreach (var t in ts) - { - var b = false; - b = RunTask(t); - - if (b) - { - t.S_B_STATE = "宸叉帹閫�; - taskservice.Update(t); - } - } - break; - } - //foreach (var tk in tklist.GroupBy(item => - //{ - // var ticks = item.T_CREATE.Ticks; - // return new DateTime(ticks - ticks % (10 * TimeSpan.TicksPerMinute)); - //}).OrderBy(x => x.Key)) - //if (tklist.Any()) - //{ - - try - { - #region Rgv - - LogHelper.Info($"鏌ョ湅RGV 鐢甸噺锛氥�{tag.RGV.R褰撳墠鐢甸噺}銆�鍏呯數鐘舵�锛氥�{tag.RGV.R鍏呯數鐘舵�}銆�鏁呴殰浠g爜锛氥�{tag.RGV.RgvrunError}銆�); - var task1Isrun = false; - if (tag.RGV.ReadTask1No > 0 && tag.RGV.bit1taskOver != 1) - { - task1Isrun = true; - if (tag.RGV.bit1taskOver_LAST == 1) - RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); - } - var task2Isrun = false; - if (tag.RGV.ReadTask2No > 0 && tag.RGV.bit2taskOver != 1) - { - task2Isrun = true; - if (tag.RGV.bit2taskOver_LAST == 1) - RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); - } - if (task1Isrun || task2Isrun) - { - string mes = ""; - if (task1Isrun) - mes += tag.RGV.ReadTask1No + "鎵ц涓�.."; - if (task2Isrun) - mes += tag.RGV.ReadTask2No + "鎵ц涓�.."; - LogHelper.Info($"{mes} 涓嶈兘涓嬪彂鏂颁换鍔°�"); - throw new Exception($"{mes} 涓嶈兘涓嬪彂鏂颁换鍔°�"); - } - - var thisOver = 0; - - TaskEntity task1 = null; - TaskEntity task2 = null; - - LogHelper.Info($"鏌ョ湅RGV 1宸ヤ綅浠诲姟銆�); - if (tag.RGV.ReadTask1No > 0 && tag.RGV.bit1taskOver == 1) - { - var taskno = tag.RGV.ReadTask1No; - LogHelper.Info($"RGV 1宸ヤ綅浠诲姟{tag.RGV.ReadTask1No}"); - string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0')); - task1 = taskservice.FindEntity(x => x.S_TASK_NO == tno); - - LogHelper.Info($"RGV 1宸ヤ綅浠诲姟{JsonConvert.SerializeObject(task1)}.bit1taskOver_LAST锛歿tag.RGV.bit1taskOver_LAST}"); - if (tag.RGV.bit1taskOver_LAST == 0 && task1 != null) - { - if (task1.S_B_STATE != "瀹屾垚") - { - thisOver = 1; - if (task1.S_B_STATE == "鍙栬揣瀹屾垚") - { - task1.S_B_STATE = "瀹屾垚"; - } - else - { - task1.S_B_STATE = "鍙栬揣瀹屾垚"; - } - LogHelper.Info($"RGV 1宸ヤ綅浠诲姟{task1.S_TASK_NO} 鐘舵�鍒囨崲涓簕task1.S_B_STATE}"); - //tag.RGV.bit1taskOver_LAST = 1; - RedisHelper.Add($"RGV.bit1taskOver_LAST", "1", out string msg); - LogHelper.Info($"RGV 1宸ヤ綅浠诲姟鍐欏鐞�); - taskservice.Update(task1); - LogHelper.Info($"RGV 1宸ヤ綅浠诲姟鏇存柊銆�); - } - else - { - LogHelper.Info("RGV1宸ヤ綅浠诲姟宸茬粡瀹屾垚銆�); - } - } - } - else if (tag.RGV.ReadTask1No == 0) - { - LogHelper.Info($"RGV 1宸ヤ綅娌℃湁浠诲姟銆�); - } - - LogHelper.Info($"鏌ョ湅RGV 2宸ヤ綅浠诲姟銆�); - if (tag.RGV.ReadTask2No > 0 && tag.RGV.bit2taskOver == 1) - { - var taskno = tag.RGV.ReadTask2No; - LogHelper.Info($"RGV 2宸ヤ綅浠诲姟{tag.RGV.ReadTask2No}"); - string tno = "TN" + (DateTime.Now.ToString("yy")) + ((taskno.ToString()).PadLeft(8, '0')); - task2 = taskservice.FindEntity(x => x.S_TASK_NO == tno); - - LogHelper.Info($"RGV2宸ヤ綅浠诲姟{JsonConvert.SerializeObject(task2)}.bit2taskOver_LAST锛歿tag.RGV.bit2taskOver_LAST}"); - if (tag.RGV.bit2taskOver_LAST == 0 && task2 != null) - { - if (task2.S_B_STATE != "瀹屾垚") - { - thisOver = 2; - if (task2.S_B_STATE == "鍙栬揣瀹屾垚") - { - task2.S_B_STATE = "瀹屾垚"; - } - else - { - task2.S_B_STATE = "鍙栬揣瀹屾垚"; - } - LogHelper.Info($"RGV 2宸ヤ綅浠诲姟{task2.S_TASK_NO} 鐘舵�鍒囨崲涓簕task2.S_B_STATE}"); - RedisHelper.Add($"RGV.bit2taskOver_LAST", "1", out string msg); - LogHelper.Info($"RGV 2宸ヤ綅浠诲姟鍐欏鐞�); - taskservice.Update(task2); - LogHelper.Info($"RGV 2宸ヤ綅浠诲姟鏇存柊銆�); - } - else - { - LogHelper.Info("RGV2宸ヤ綅浠诲姟宸茬粡瀹屾垚銆�); - } - } - } - else if (tag.RGV.ReadTask2No == 0) - { - LogHelper.Info($"RGV 2宸ヤ綅娌℃湁浠诲姟銆�); - } - - //if (thisOver > 0) - { - var v2 = RedisHelper.Get<WriteGroupEntity>("RGVQueue", out string rev); - if (v2 != null) - { - LogHelper.Info($"RGVQueue 璇诲埌缁撴灉-{JsonConvert.SerializeObject(v2)} \n 涓嬪彂鍓嶈繘琛屾竻闄ゃ�"); - var b = RedisHelper.Remove("RGVQueue", out rev); - } - } - - ///1 鏈夎揣 灏� 鍙栥� 1 娌¤揣 灏� 鍗歌揣锛�閮芥湁璐� 灏�鍗歌揣銆�閮芥病璐�灏�鍗�- tklist = taskservice.FindList(x => x.S_B_STATE == "鏈墽琛� && x.S_WORK_MODE == "RGV").OrderBy(x => x.T_CREATE).ToList(); - if (task1 != null && task1.S_B_STATE != "瀹屾垚") //1鏈変换鍔�- { - if (task2 != null && task2.S_B_STATE != "瀹屾垚")// 1 鏈変换鍔� 2 鏈変换鍔°� - { - LogHelper.Info($"鏌ョ湅RGV1 鏈変换鍔task1.S_TASK_NO},宸ヤ綅2 涔熸湁浠诲姟{task2.S_TASK_NO}銆�寮�宸ヤ綅1 鍗歌揣銆�); - tag.RGV.workMod = 1; - tag.RGV.taskmod = 2; - tag.RGV.taskno1 = Convert.ToUInt32(task1.S_TASK_NO.Substring(4)); - tag.RGV.task1do = Convert.ToUInt16(task1.S_END_LOC); - System.Threading.Thread.Sleep(750); - RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); - tag.RGV.taskend = 125; - } - else //1鏈変换鍔� 2 娌′换鍔°� - { - LogHelper.Info($"鏌ョ湅RGV1 鏈変换鍔task1.S_TASK_NO},宸ヤ綅2 娌′换鍔°� 鎵惧悓渚у彇璐т换鍔°�"); - //1 濡傛灉鏈夊悓渚у彇璐т换鍔°�灏卞彇銆傛病鏈�- var leftSide = new List<string> { "1023", "1020" }; - var RightSide = new List<string> { "1002", "1008", "1010", "1016" }; - bool creT2 = false; - if (leftSide.Contains(task1.S_START_LOC)) - { - leftSide.Remove(task1.S_START_LOC); - var lsde = leftSide.FirstOrDefault(); - var t2 = tklist.Find(x => x.S_START_LOC == lsde && x.S_END_LOC != "1017"); - if (t2 != null) //鍚屼晶鍙栬揣浠诲姟銆�- { - LogHelper.Info($"鏌ョ湅RGV1 鏈変换鍔task1.S_TASK_NO},宸ヤ綅2 娌′换鍔°� 鎵惧悓渚у彇璐т换鍔t2.S_TASK_NO}銆�); - tag.RGV.workMod = 2; - tag.RGV.taskmod = 1; - tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4)); - tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC); - t2.S_B_STATE = "宸叉帹閫�; - taskservice.Update(t2); - creT2 = true; - System.Threading.Thread.Sleep(750); - RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); - tag.RGV.taskend = 125; - } - } - else if (RightSide.Contains(task1.S_START_LOC)) - { - RightSide.Remove(task1.S_START_LOC); - var t2 = tklist.Find(x => RightSide.Contains(x.S_START_LOC) && x.S_END_LOC != "1017"); - if (t2 != null) //鍚屼晶鍙栬揣浠诲姟銆�- { - LogHelper.Info($"鏌ョ湅RGV1 鏈変换鍔task1.S_TASK_NO},宸ヤ綅2 娌′换鍔°� 鎵惧悓渚у彇璐т换鍔t2.S_TASK_NO}銆�); - tag.RGV.workMod = 2; - tag.RGV.taskmod = 1; - tag.RGV.taskno2 = Convert.ToUInt32(t2.S_TASK_NO.Substring(4)); - tag.RGV.task2do = Convert.ToUInt16(t2.S_START_LOC); - t2.S_B_STATE = "宸叉帹閫�; - taskservice.Update(t2); - creT2 = true; - System.Threading.Thread.Sleep(750); - RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); - tag.RGV.taskend = 125; - } - } - //else //1 鐩存帴鍗歌揣銆� - if (!creT2) - { - LogHelper.Info($"鏌ョ湅RGV1 鏈変换鍔task1.S_TASK_NO},宸ヤ綅2 娌′换鍔°� 娌℃湁鍚屼晶鍙栬揣浠诲姟 1宸ヤ綅鍗歌揣銆�); - tag.RGV.workMod = 1; - tag.RGV.taskmod = 2; - tag.RGV.taskno1 = Convert.ToUInt32(task1.S_TASK_NO.Substring(4)); - tag.RGV.task1do = Convert.ToUInt16(task1.S_END_LOC); - System.Threading.Thread.Sleep(750); - RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); - tag.RGV.taskend = 125; - } - } - } - else - { - if (task2 != null && task2.S_B_STATE != "瀹屾垚")// 1 娌′换鍔� 2 鏈変换鍔°� - { - LogHelper.Info($"鏌ョ湅RGV 1宸ヤ綅娌′换鍔�宸ヤ綅2 鏈変换鍔task2.S_TASK_NO}銆傚伐浣�鍗歌揣銆傘�"); - //2 鍗歌揣銆�- tag.RGV.workMod = 2; - tag.RGV.taskmod = 2; - tag.RGV.taskno2 = Convert.ToUInt32(task2.S_TASK_NO.Substring(4)); - tag.RGV.task2do = Convert.ToUInt16(task2.S_END_LOC); - System.Threading.Thread.Sleep(750); - RedisHelper.Add($"RGV.bit2taskOver_LAST", "0", out string msg); - tag.RGV.taskend = 125; - } - else //1mei 浠诲姟 2 娌′换鍔°� - { - LogHelper.Info($"鏌ョ湅RGV 1宸ヤ綅娌′换鍔�宸ヤ綅2 涔熸病浠诲姟銆備紭鍏�宸ヤ綅缁堢偣1017浠诲姟銆傘�"); - //銆佷笅 1017浠诲姟 缁�鍙峰伐浣嶃� - var lss = tklist.Take(2).ToList(); - var e1017first = lss.Find(x => x.S_END_LOC == "1017"); - if (e1017first == null) - { - e1017first = lss.FirstOrDefault(); - } - if (e1017first != null) - { - LogHelper.Info($"鏌ョ湅RGV 1宸ヤ綅娌′换鍔�宸ヤ綅2 涔熸病浠诲姟銆�宸ヤ綅涓嬩换鍔e1017first.S_TASK_NO}> 缁堢偣{e1017first.S_END_LOC}銆�); - tag.RGV.workMod = 1; - tag.RGV.taskmod = 1; - uint tno = Convert.ToUInt32(e1017first.S_TASK_NO.Substring(4)); - LogHelper.Info($"{e1017first.S_TASK_NO}> 杞崲鍚庝换鍔″彿{tno} 寮�鍐欏叆銆�); - tag.RGV.taskno1 = tno; - LogHelper.Info($"{e1017first.S_TASK_NO}>寮�鍐欏叆 task1do>>{e1017first.S_START_LOC}銆�); - tag.RGV.task1do = Convert.ToUInt16(e1017first.S_START_LOC); - LogHelper.Info($"{e1017first.S_TASK_NO}> taskend 125"); - e1017first.S_B_STATE = "宸叉帹閫�; - taskservice.Update(e1017first); - System.Threading.Thread.Sleep(750); - RedisHelper.Add($"RGV.bit1taskOver_LAST", "0", out string msg); - tag.RGV.taskend = 125; - } - } - } - - #endregion - } - catch (Exception ex) - { - LogHelper.Error(ex.Message, ex); - //throw ex; - } - #endregion [鑴氭湰][20250325085542733][涓氬姟閫昏緫.浠诲姟涓嬪彂] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:ResolveMesTask - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250531163716255][涓氬姟閫昏緫.澶勭悊MES浠诲姟绾跨▼.ResolveMesTask] - //mes 浠诲姟鎷嗗垎銆備竴娈典换鍔″拰 澶氭浠诲姟銆�- ToWMSMES.ResMesTask(); - #endregion [鑴氭湰][20250531163716255][涓氬姟閫昏緫.澶勭悊MES浠诲姟绾跨▼.ResolveMesTask] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - try - { - #region [鑴氭湰][20250605212104026][涓氬姟閫昏緫.SocketServer] - var host = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()); - foreach (var ip in host.AddressList) - { - if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) - { - Console.WriteLine($"ip= {ip.ToString()}"); - new TcpServer(ip.ToString()); - } - } - #endregion [鑴氭湰][20250605212104026][涓氬姟閫昏緫.SocketServer] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - } - /// <summary> - /// 绋嬪簭鐗囨:鍏夋爡澶勭悊 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250611223832523][涓氬姟閫昏緫.鍏夋爡澶勭悊] - // - 鍏夋爡浜や簰澶勭悊銆傘� + #endregion [鑴氭湰][20250610002647095][涓氬姟閫昏緫.绗笁鏍囨.缁寸郴灏�鍙�缁村笇灏旀姄鑷�R] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:浠诲姟涓嬪彂 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250325085542733][涓氬姟閫昏緫.浠诲姟涓嬪彂] + + #endregion [鑴氭湰][20250325085542733][涓氬姟閫昏緫.浠诲姟涓嬪彂] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:ResolveMesTask + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250531163716255][涓氬姟閫昏緫.澶勭悊MES浠诲姟绾跨▼.ResolveMesTask] + //mes 浠诲姟鎷嗗垎銆備竴娈典换鍔″拰 澶氭浠诲姟銆�+ToWMSMES.ResMesTask(); + #endregion [鑴氭湰][20250531163716255][涓氬姟閫昏緫.澶勭悊MES浠诲姟绾跨▼.ResolveMesTask] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + try + { + #region [鑴氭湰][20250605212104026][涓氬姟閫昏緫.SocketServer] + var host = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()); +foreach (var ip in host.AddressList) +{ + if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) + { + Console.WriteLine($"ip= {ip.ToString()}"); + new TcpServer(ip.ToString()); + } +} + #endregion [鑴氭湰][20250605212104026][涓氬姟閫昏緫.SocketServer] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + } + /// <summary> + /// 绋嬪簭鐗囨:鍏夋爡澶勭悊 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250611223832523][涓氬姟閫昏緫.鍏夋爡澶勭悊] + // - 鍏夋爡浜や簰澶勭悊銆傘� var taskCOdes = new List<string> { "Sarrive", "Srelease", "Earrive", "Erelease" }; TaskActRepository taskActRepository = new TaskActRepository(); TaskRepository taskRepository = new TaskRepository(); @@ -1089,62 +784,62 @@ else { loc = item.S_END_LOC; - } - if (loc == null) continue; else loc = loc.Trim(); + } + if (loc == null) continue; else loc = loc.Trim(); bool goin = tin % 2 == 0; - bool continuuuuu = false; + bool continuuuuu =false; var dev = Settings.deviceInfos.Find(x => x.location.Contains(loc)); if (dev != null) { var V = dev.location.ToList().FindIndex(x => x == loc) == 0; - //杞﹁蛋浜� 寮�厜鏍�+ //杞﹁蛋浜� 寮�厜鏍� if (!goin) { if (dev.deviceType == 1) { - LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R02" : "R04"), "true", dev.deviceName + "Queue")); + LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin?"鍏抽棴":"寮�惎")} 鐢宠銆�+string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R02" : "R04"), "true", dev.deviceName + "Queue")); Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R02" : "R04"), "true", dev.deviceName + "Queue"); } else if (dev.deviceType == 2) { - LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue")); + LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin?"鍏抽棴":"寮�惎")} 鐢宠銆�+string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue")); Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue"); } - - item.N_CREATEMETHOD = 1; - taskActRepository.Update(item); - } + + item.N_CREATEMETHOD = 1; + taskActRepository.Update(item); + } //杞﹁杩涘叆浜や簰銆�- else - { + else + { if (dev.deviceType == 1) { - var tf = Conn.榛樿Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//璇诲叧闂姸鎬�- if (tf?.ToLower() == "true") - { - LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆�宸茬粡鍏抽棴锛�); - continuuuuu = true; - } - else - { - LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue")); - Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue"); - } + var tf = Conn.榛樿Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//璇诲叧闂姸鎬�+ if (tf?.ToLower() == "true") + { + LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin?"鍏抽棴":"寮�惎")} 鐢宠銆�宸茬粡鍏抽棴锛�); + continuuuuu = true; + } + else + { + LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin?"鍏抽棴":"寮�惎")} 鐢宠銆�+string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue")); + Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "R01" : "R03"), "true", dev.deviceName + "Queue"); + } } else if (dev.deviceType == 2) { var tf = Conn.榛樿Redis.GetValue(dev.deviceName + ".D1202"); - int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); - if (TcpServer.GetBitdata(numm, (V ? 0 : 1)) == 1) + int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); + if (TcpServer.GetBitdata(numm,(V?0:1))==1) { - LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆�宸茬粡鍏抽棴锛�); + LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin?"鍏抽棴":"寮�惎")} 鐢宠銆�宸茬粡鍏抽棴锛�); continuuuuu = true; } else { - LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin ? "鍏抽棴" : "寮�惎")} 鐢宠銆� + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), dev.deviceName + "Queue")); + LogHelper.Info($"{dev.deviceName}{(V ? "宸� : "鍙�)} 鍏夋爡{(goin?"鍏抽棴":"寮�惎")} 鐢宠銆�+string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), dev.deviceName + "Queue")); Conn.榛樿Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"); } } @@ -1154,7 +849,7 @@ } if (continuuuuu) { - LogHelper.Info($"{item.S_TASK_NO}{item.S_ACTION_CODE} 杞﹁締鍙戦�缁х画浠诲姟锛�); + LogHelper.Info($"{item.S_TASK_NO}{item.S_ACTION_CODE} 杞﹁締鍙戦�缁х画浠诲姟锛�); continueTask(new HaiKangOrderInfo { reqCode = item.S_ID.Replace("-", ""), @@ -1181,922 +876,904 @@ Conn.榛樿Redis.SetValue(dev.deviceName + ".D1223", "0", dev.deviceName + "Queue"); } } - + // 鍙戦偅绉戜笅鏂欏厜鏍呫� - #endregion [鑴氭湰][20250611223832523][涓氬姟閫昏緫.鍏夋爡澶勭悊] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:1020绌烘涓嬬嚎 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => + #endregion [鑴氭湰][20250611223832523][涓氬姟閫昏緫.鍏夋爡澶勭悊] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:1020绌烘涓嬬嚎 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250616094224396][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1020绌烘涓嬬嚎] + foreach (var Bssx in new string[] { "1020", "1023" }) +{ + var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); + var RtaskState_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState_LAST"), typeof(System.UInt16)); + var R鎵樼洏鐮�= (System.String)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.R鎵樼洏鐮�), typeof(System.String)); + Console.WriteLine($"{Bssx} 绌轰笅妫�祴锛氫换鍔$敵璇凤細{RtaskState}- 鏄惁宸插鐞嗭細{RtaskState_LAST}- 鎵樼洏鐮侊細{R鎵樼洏鐮亇"); + if (RtaskState == 3 && RtaskState_LAST == 0) + { + try + { + foreach (var item in new string[] { "1004", "1006", "1012", "1014" }) { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) + var R5 = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽"), typeof(System.UInt16)); + var R5绌洪棽_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽_LAST"), typeof(System.UInt16)); + if (R5 == 5 && R5绌洪棽_LAST == 0) { - if (IsExitApp) { break; } - try + var b = TaskProcess.CreateTask("", Bssx, item, "绌轰笂RGV", 5, new List<string> { R鎵樼洏鐮�}, "RGV"); + if (b) { - #region [鑴氭湰][20250616094224396][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1020绌烘涓嬬嚎] - //1020 1023 绌烘涓嬬嚎 - foreach (var Bssx in new string[] { "1020", "1023" }) - { - var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); - var RtaskState_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState_LAST"), typeof(System.UInt16)); - var R鎵樼洏鐮�= (System.String)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.R鎵樼洏鐮�), typeof(System.String)); - Console.WriteLine($"{Bssx} 绌轰笅妫�祴锛氫换鍔$敵璇凤細{RtaskState}- 鏄惁宸插鐞嗭細{RtaskState_LAST}- 鎵樼洏鐮侊細{R鎵樼洏鐮亇"); - if (RtaskState == 3 && RtaskState_LAST == 0) - { - try - { - foreach (var item in (Bssx == "1020" ? new string[] { "1004", "1012" } : new string[] { "1006", "1014" })) - { - var R5 = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽"), typeof(System.UInt16)); - var R5绌洪棽_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽_LAST"), typeof(System.UInt16)); - if (R5 == 5 && R5绌洪棽_LAST == 0) - { - var b = TaskProcess.CreateTask("", Bssx, item, "绌轰笂RGV", 5, new List<string> { R鎵樼洏鐮�}, "RGV"); - if (b) - { - LogHelper.Debug($"杈撻�绾縍GV绌烘墭浠诲姟 from:{Bssx}>to {item}寮�鍒涘缓鎴愬姛"); - RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg); - //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); - RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "1", out string msg1); - //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "1", $"S{item}ReadQueue"); - break; - } - } - else if (R5 != 5 && R5绌洪棽_LAST == 1) - { - RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "0", out string msg); - //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "0", $"S{item}ReadQueue"); - } - } - System.Threading.Thread.Sleep(1000); - } - catch (Exception ex) - { - LogHelper.Error(ex.Message, ex); - Console.WriteLine(ex.Message + ex.StackTrace); - } - } - else if (RtaskState != 3 && RtaskState_LAST == 1) - { - RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); - //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "0", $"S{Bssx}ReadQueue"); - } - System.Threading.Thread.Sleep(2000); - } - #endregion [鑴氭湰][20250616094224396][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1020绌烘涓嬬嚎] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); + LogHelper.Debug($"杈撻�绾縍GV绌烘墭浠诲姟 from:{Bssx}>to {item}寮�鍒涘缓鎴愬姛"); + Modular.Redis.RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg); + //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); + Modular.Redis.RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "1", out string msg1); + //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "1", $"S{item}ReadQueue"); + break; } } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:1023绌烘涓嬬嚎 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) + else if (R5 != 5 && R5绌洪棽_LAST == 1) { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250616094226654][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1023绌烘涓嬬嚎] - //1023 绌烘涓嬬嚎 - #endregion [鑴氭湰][20250616094226654][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1023绌烘涓嬬嚎] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } + Modular.Redis.RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "0", out string msg); + //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "0", $"S{item}ReadQueue"); } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:瀹氬瓙婊′笅绾�- /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250616094632985][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.瀹氬瓙婊′笅绾縘 - //瀹氬瓙婊′笅绾� 1008 1016 -> 1026 - foreach (var Bssx in new string[] { "1008", "1016" }) - { - var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); - var RtaskState_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState_LAST"), typeof(System.UInt16)); - var R鎵樼洏鐮�= (System.String)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.R鎵樼洏鐮�), typeof(System.String)); - Console.WriteLine($"{Bssx} 婊′笅妫�祴锛氫换鍔$敵璇凤細{RtaskState}- 鏄惁宸插鐞嗭細{RtaskState_LAST}- 鎵樼洏鐮侊細{R鎵樼洏鐮亇"); - if (RtaskState == 3 && RtaskState_LAST == 0) - { - var item = "1026"; - var R5 = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽"), typeof(System.UInt16)); - var R5绌洪棽_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽_LAST"), typeof(System.UInt16)); - if (R5 == 5 && R5绌洪棽_LAST == 0) - { - var b = TaskProcess.CreateTask("", Bssx, item, "婊¤浆1026", 5, new List<string> { R鎵樼洏鐮�}, "RGV"); - if (b) - { - RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg); - RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "1", out string msg2); - //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); - //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "1", $"S{item}ReadQueue"); - break; - } - } - else if (R5 != 5 && R5绌洪棽_LAST == 1) - { - RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "0", out string msg2); - } - } - else if (RtaskState != 3 && RtaskState_LAST == 1) - { - RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); - //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "0", $"S{Bssx}ReadQueue"); - } - System.Threading.Thread.Sleep(2000); - } - #endregion [鑴氭湰][20250616094632985][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.瀹氬瓙婊′笅绾縘 - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:杞瓙婊′笅绾�- /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250616094511322][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.杞瓙婊′笅绾縘 - //杞瓙婊′笅绾� 1002 1010 - RGV2宸ヤ綅涓嶅彲鍒�1017 涓嶅彲涓嬪彂2宸ヤ綅浠诲姟銆�- foreach (var Bssx in new string[] { "1002", "1010" }) - { - var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); - var RtaskState_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState_LAST"), typeof(System.UInt16)); - var R鎵樼洏鐮�= (System.String)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.R鎵樼洏鐮�), typeof(System.String)); - Console.WriteLine($"{Bssx} 婊′笅妫�祴锛氫换鍔$敵璇凤細{RtaskState}- 鏄惁宸插鐞嗭細{RtaskState_LAST}- 鎵樼洏鐮侊細{R鎵樼洏鐮亇"); - if (RtaskState == 3 && RtaskState_LAST == 0) - { - var item = "1017"; - var R5 = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽"), typeof(System.UInt16)); - var R5绌洪棽_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽_LAST"), typeof(System.UInt16)); - if (R5 == 5 && R5绌洪棽_LAST == 0) - { - var b = TaskProcess.CreateTask("", Bssx, item, "婊¤浆1017", 5, new List<string> { R鎵樼洏鐮�}, "RGV"); - if (b) - { - RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg); - RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "1", out string msg1); - //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); - //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "1", $"S{item}ReadQueue"); - break; - } - } - else if (R5 != 5 && R5绌洪棽_LAST == 1) - { - RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "0", out string msg1); - } - } - else if (RtaskState != 3 && RtaskState_LAST == 1) - { - RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); - } - System.Threading.Thread.Sleep(2000); - } - #endregion [鑴氭湰][20250616094511322][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.杞瓙婊′笅绾縘 - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:涓嬫枡浣嶆娴�- /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250616095605911][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.涓嬫枡浣嶆娴媇 - //涓嬫枡浣嶆娴嬨� 1003 鍒颁綅鏃�鍐�鏍囪瘑淇″彿 骞�缁欐満姊版墜淇″彿銆� - foreach (var ssx in new string[] { "1003", "1005", "1011", "1013" }) - { - var RArrive = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}"), typeof(System.UInt16)); - var RArriveLast = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}_LAST"), typeof(System.UInt16)); - if (RArrive == 1 && RArriveLast == 0) - { - if (ssx == "1005") - { - tag.FNK1.D2215 = 1; - //tag.SF涓嬫枡浣�RArrive1005_LAST = 1; - RedisHelper.Add($"FNK1003051113.RArrive1005_LAST", "1", out string msg); - - tag.SF涓嬫枡浣�WRelease1005 = 0; - tag.SF涓嬫枡浣�WSafe0305 = 0; - } - else if (ssx == "1003") - { - tag.FNK2.D2210 = 1; - //tag.SF涓嬫枡浣�RArrive1003_LAST = 1; - - RedisHelper.Add($"FNK1003051113.RArrive1003_LAST", "1", out string msg); - tag.SF涓嬫枡浣�WRelease1003 = 0; - tag.SF涓嬫枡浣�WSafe0305 = 0; - } - else if (ssx == "1013") - { - tag.FNK2.D2215 = 1; - //tag.SF涓嬫枡浣�RArrive1013_LAST = 1; - RedisHelper.Add($"FNK1003051113.RArrive1013_LAST", "1", out string msg); - - tag.SF涓嬫枡浣�WRelease1013 = 0; - tag.SF涓嬫枡浣�WSafe1113 = 0; - } - else if (ssx == "1011") - { - tag.FNK2.D2210 = 1; - //tag.SF涓嬫枡浣�RArrive1011_LAST = 1; - RedisHelper.Add($"FNK1003051113.RArrive1011_LAST", "1", out string msg); - - tag.SF涓嬫枡浣�WRelease1011 = 0; - tag.SF涓嬫枡浣�WSafe1113 = 0; - } - } - else if (RArrive == 0 && RArriveLast == 1) - { - RedisHelper.Add($"FNK1003051113.RArrive{ssx}_LAST", "0", out string msg); - //Conn.榛樿Redis.SetValue($"FNK1003051113.RArrive{ssx}_LAST", "0", $"FNK1003051113Queue"); - } - } - #endregion [鑴氭湰][20250616095605911][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.涓嬫枡浣嶆娴媇 - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:1鍙稦NK鏈烘鎵嬪畬鎴�- /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - - ////2217 - 1003 - #region [鑴氭湰][20250616095709155][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1鍙稦NK鏈烘鎵嬪畬鎴怾 - if (tag.FNK1.D2217 == 1 && tag.FNK1.D2217_LAST == 0) - { - tag.FNK1.D2215 = 0; - //tag.FNK1.D2212_LAST = 1; - RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "1", out string msg); - - tag.SF涓嬫枡浣�WRelease1005 = 1; - tag.SF涓嬫枡浣�WSafe0305 = 1; - } - else if (tag.FNK1.D2217 == 0 && tag.FNK1.D2217_LAST == 1) - //tag.FNK1.D2217_LAST = 0; - RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "0", out string msg); - - if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0) - { - tag.FNK1.D2210 = 0; - //tag.FNK1.D2217_LAST = 1; - - RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "1", out string msg); - tag.SF涓嬫枡浣�WRelease1003 = 1; - tag.SF涓嬫枡浣�WSafe0305 = 1; - } - else if (tag.FNK1.D2212 == 0 && tag.FNK1.D2212_LAST == 1) - { - //tag.FNK1.D2212_LAST = 0; - RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "1", out string msg); - } - - #endregion [鑴氭湰][20250616095709155][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1鍙稦NK鏈烘鎵嬪畬鎴怾 - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:2鍙稦NK鏈烘鎵嬪畬鎴�- /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250616095733680][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.2鍙稦NK鏈烘鎵嬪畬鎴怾 - if (tag.FNK2.D2217 == 1 && tag.FNK2.D2217_LAST == 0) - { - tag.FNK2.D2215 = 0; - //tag.FNK2.D2212_LAST = 1; - RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "1", out string msg); - - tag.SF涓嬫枡浣�WRelease1013 = 1; - tag.SF涓嬫枡浣�WSafe1113 = 1; - } - else if (tag.FNK2.D2217 == 0 && tag.FNK2.D2217_LAST == 1) - //tag.FNK2.D2217_LAST = 0; - RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2217_LAST", "0", out string msg); - if (tag.FNK2.D2212 == 1 && tag.FNK2.D2212_LAST == 0) - { - tag.FNK2.D2210 = 0; - //tag.FNK2.D2217_LAST = 1; - RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "1", out string msg); - - tag.SF涓嬫枡浣�WRelease1011 = 1; - tag.SF涓嬫枡浣�WSafe1113 = 1; - } - else if (tag.FNK2.D2212 == 0 && tag.FNK2.D2212_LAST == 1) - { - //tag.FNK2.D2212_LAST = 0; - RedisHelper.Add($"p鍙戦偅绉�涓嬬嚎.D2212_LAST", "0", out string msg); - } - #endregion [鑴氭湰][20250616095733680][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.2鍙稦NK鏈烘鎵嬪畬鎴怾 - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:Program1 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250617085708084][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1019杞弧鍑鸿緭閫佺嚎.Program1] - - Console.WriteLine($"1019浠诲姟鐘舵�锛歿tag.SA1019.RtaskState}- barcode:{tag.SA1019.R鎵樼洏鐮亇- 绌洪棽{tag.SA1019.R5绌洪棽}"); - #endregion [鑴氭湰][20250617085708084][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1019杞弧鍑鸿緭閫佺嚎.Program1] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:Program1 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250617085712101][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1025agv涓婄┖.Program1] - - Console.WriteLine($"SA1025 浠诲姟鐘舵�锛歿tag.SA1025.RtaskState}- 绌洪棽{tag.SA1025.R5绌洪棽}"); - #endregion [鑴氭湰][20250617085712101][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1025agv涓婄┖.Program1] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:Program1 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250617085750712][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1022agv涓婄┖.Program1] - - Console.WriteLine($"SA1022 浠诲姟鐘舵�锛歿tag.SA1022.RtaskState}- 绌洪棽{tag.SA1022.R5绌洪棽}"); - #endregion [鑴氭湰][20250617085750712][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1022agv涓婄┖.Program1] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:Program1 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250617085800942][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1030涓嬫瘝鎵�Program1] - - Console.WriteLine($"SA1030 浠诲姟鐘舵�锛歿tag.SA1030.RtaskState}- 绌洪棽{tag.SA1030.R5绌洪棽}-->瀵瑰簲缁堢偣2001>绌洪棽5锛歿tag.SA2001.R5绌洪棽}"); - #endregion [鑴氭湰][20250617085800942][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1030涓嬫瘝鎵�Program1] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - /// <summary> - /// 绋嬪簭鐗囨:Program1 - /// 鎻忚堪: - /// </summary> - System.Threading.Tasks.Task.Factory.StartNew(() => - { - System.Threading.Thread.CurrentThread.IsBackground = true; - ExitJudgeStack.Push(0); - //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�- while (true) - { - if (IsExitApp) { break; } - try - { - #region [鑴氭湰][20250617085809982][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.2030杈撻�绾夸笅瀹氬瓙.Program1] - - Console.WriteLine($"SA2030 浠诲姟鐘舵�锛歿tag.SA2030.RtaskState}- 绌洪棽{tag.SA2030.R5绌洪棽} - barcode:{tag.SA2030.R鎵樼洏鐮亇"); - #endregion [鑴氭湰][20250617085809982][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.2030杈撻�绾夸笅瀹氬瓙.Program1] - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - System.Threading.Thread.Sleep(3000); - } - } - ExitJudgeStack.TryPop(out int exitJudgeVal); - }); - + } + System.Threading.Thread.Sleep(1000); } - /// <summary> + catch (Exception ex) + { + LogHelper.Error(ex.Message, ex); + Console.WriteLine(ex.Message + ex.StackTrace); + } + } + else if (RtaskState != 3 && RtaskState_LAST == 1) + { + Modular.Redis.RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); + //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "0", $"S{Bssx}ReadQueue"); + } + System.Threading.Thread.Sleep(2000); +} + #endregion [鑴氭湰][20250616094224396][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1020绌烘涓嬬嚎] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:1023绌烘涓嬬嚎 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250616094226654][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1023绌烘涓嬬嚎] + //1023 绌烘涓嬬嚎 + #endregion [鑴氭湰][20250616094226654][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1023绌烘涓嬬嚎] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:瀹氬瓙婊′笅绾�+ /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250616094632985][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.瀹氬瓙婊′笅绾縘 + foreach (var Bssx in new string[] { "1008", "1016" }) +{ + var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); + var RtaskState_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState_LAST"), typeof(System.UInt16)); + var R鎵樼洏鐮�= (System.String)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.R鎵樼洏鐮�), typeof(System.String)); + Console.WriteLine($"{Bssx} 婊′笅妫�祴锛氫换鍔$敵璇凤細{RtaskState}- 鏄惁宸插鐞嗭細{RtaskState_LAST}- 鎵樼洏鐮侊細{R鎵樼洏鐮亇"); + if (RtaskState == 3 && RtaskState_LAST == 0) + { + var item = "1026"; + var R5 = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽"), typeof(System.UInt16)); + var R5绌洪棽_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽_LAST"), typeof(System.UInt16)); + if (R5 == 5 && R5绌洪棽_LAST == 0) + { + var b = TaskProcess.CreateTask("", Bssx, item, "婊¤浆1026", 5, new List<string> { R鎵樼洏鐮�}, "RGV"); + if (b) + { + Modular.Redis.RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg); + Modular.Redis.RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "1", out string msg2); + //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); + //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "1", $"S{item}ReadQueue"); + break; + } + } + else if (R5 != 5 && R5绌洪棽_LAST == 1) + { + Modular.Redis.RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "0", out string msg2); + } + } + else if (RtaskState != 3 && RtaskState_LAST == 1) + { + Modular.Redis.RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); + //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "0", $"S{Bssx}ReadQueue"); + } + System.Threading.Thread.Sleep(2000); +} + #endregion [鑴氭湰][20250616094632985][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.瀹氬瓙婊′笅绾縘 + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:杞瓙婊′笅绾�+ /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250616094511322][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.杞瓙婊′笅绾縘 + //杞瓙婊′笅绾� 1002 1010 - RGV2宸ヤ綅涓嶅彲鍒�1017 涓嶅彲涓嬪彂2宸ヤ綅浠诲姟銆�+foreach (var Bssx in new string[] { "1002", "1010" }) +{ + var RtaskState = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState"), typeof(System.UInt16)); + var RtaskState_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.RtaskState_LAST"), typeof(System.UInt16)); + var R鎵樼洏鐮�= (System.String)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{Bssx}Read.R鎵樼洏鐮�), typeof(System.String)); + Console.WriteLine($"{Bssx} 婊′笅妫�祴锛氫换鍔$敵璇凤細{RtaskState}- 鏄惁宸插鐞嗭細{RtaskState_LAST}- 鎵樼洏鐮侊細{R鎵樼洏鐮亇"); + if (RtaskState == 3 && RtaskState_LAST == 0) + { + var item = "1017"; + var R5 = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽"), typeof(System.UInt16)); + var R5绌洪棽_LAST = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"S{item}Read.R5绌洪棽_LAST"), typeof(System.UInt16)); + if (R5 == 5 && R5绌洪棽_LAST == 0) + { + var b = TaskProcess.CreateTask("", Bssx, item, "婊¤浆1017", 5, new List<string> { R鎵樼洏鐮�}, "RGV"); + if (b) + { + Modular.Redis.RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out string msg); + Modular.Redis.RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "1", out string msg1); + //Conn.榛樿Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); + //Conn.榛樿Redis.SetValue($"S{item}Read.R5绌洪棽_LAST", "1", $"S{item}ReadQueue"); + break; + } + } + else if (R5 != 5 && R5绌洪棽_LAST == 1) + { + Modular.Redis.RedisHelper.Add($"S{item}Read.R5绌洪棽_LAST", "0", out string msg1); + } + } + else if (RtaskState != 3 && RtaskState_LAST == 1) + { + Modular.Redis.RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); + } + System.Threading.Thread.Sleep(2000); +} + #endregion [鑴氭湰][20250616094511322][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.杞瓙婊′笅绾縘 + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:涓嬫枡浣嶆娴�+ /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250616095605911][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.涓嬫枡浣嶆娴媇 + //涓嬫枡浣嶆娴嬨� 1003 鍒颁綅鏃�鍐�鏍囪瘑淇″彿 骞�缁欐満姊版墜淇″彿銆� +foreach (var ssx in new string[] { "1003", "1005", "1011", "1013" }) +{ + var RArrive = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}"), typeof(System.UInt16)); + var RArriveLast = (System.UInt16)System.Convert.ChangeType(Conn.榛樿Redis.GetValue($"FNK1003051113.RArrive{ssx}_LAST"), typeof(System.UInt16)); + if (RArrive == 1 && RArriveLast == 0) + { + if (ssx == "1005") + { + tag.FNK1.D2210 = 1; + tag.SF涓嬫枡浣�RArrive1005_LAST = 1; + + tag.SF涓嬫枡浣�WRelease1005 = 0; + tag.SF涓嬫枡浣�WSafe0305 = 0; + } + else if (ssx == "1003") + { + tag.FNK2.D2215 = 1; + tag.SF涓嬫枡浣�RArrive1003_LAST = 1; + + tag.SF涓嬫枡浣�WRelease1003 = 0; + tag.SF涓嬫枡浣�WSafe0305 = 0; + } + else if (ssx == "1013") + { + tag.FNK2.D2210 = 1; + tag.SF涓嬫枡浣�RArrive1013_LAST = 1; + + tag.SF涓嬫枡浣�WRelease1013 = 0; + tag.SF涓嬫枡浣�WSafe1113 = 0; + } + else if (ssx == "1011") + { + tag.FNK2.D2215 = 1; + tag.SF涓嬫枡浣�RArrive1011_LAST = 1; + + tag.SF涓嬫枡浣�WRelease1011 = 0; + tag.SF涓嬫枡浣�WSafe1113 = 0; + } + } + else if (RArrive == 0 && RArriveLast == 1) + { + Modular.Redis.RedisHelper.Add($"FNK1003051113.RArrive{ssx}_LAST", "0", out string msg); + } +} + #endregion [鑴氭湰][20250616095605911][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.涓嬫枡浣嶆娴媇 + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:1鍙稦NK鏈烘鎵嬪畬鎴�+ /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250616095709155][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1鍙稦NK鏈烘鎵嬪畬鎴怾 + if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0) +{ + tag.FNK1.D2210 = 0; + tag.FNK1.D2212_LAST = 1; + + tag.SF涓嬫枡浣�WRelease1005 = 1; + tag.SF涓嬫枡浣�WSafe0305 = 1; +} +else if (tag.FNK1.D2212 == 0 && tag.FNK1.D2212_LAST == 1) +{ + tag.FNK1.D2212_LAST = 0; +} +if (tag.FNK1.D2217 == 1 && tag.FNK1.D2217_LAST == 0) +{ + tag.FNK1.D2215 = 0; + tag.FNK1.D2217_LAST = 1; + + tag.SF涓嬫枡浣�WRelease1003 = 1; + tag.SF涓嬫枡浣�WSafe0305 = 1; +} +else if (tag.FNK1.D2217 == 0 && tag.FNK1.D2217_LAST == 1) + tag.FNK1.D2217_LAST = 0; + + #endregion [鑴氭湰][20250616095709155][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1鍙稦NK鏈烘鎵嬪畬鎴怾 + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:2鍙稦NK鏈烘鎵嬪畬鎴�+ /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250616095733680][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.2鍙稦NK鏈烘鎵嬪畬鎴怾 + if (tag.FNK2.D2212 == 1 && tag.FNK2.D2212_LAST == 0) + { + tag.FNK2.D2210 = 0; + tag.FNK2.D2212_LAST = 1; + + tag.SF涓嬫枡浣�WRelease1013 = 1; + tag.SF涓嬫枡浣�WSafe1113 = 1; + } + else if (tag.FNK2.D2212 == 0 && tag.FNK2.D2212_LAST == 1) + { + tag.FNK2.D2212_LAST = 0; + } + if (tag.FNK2.D2217 == 1 && tag.FNK2.D2217_LAST == 0) + { + tag.FNK2.D2215 = 0; + tag.FNK2.D2217_LAST = 1; + + tag.SF涓嬫枡浣�WRelease1011 = 1; + tag.SF涓嬫枡浣�WSafe1113 = 1; + } + else if (tag.FNK2.D2217 == 0 && tag.FNK2.D2217_LAST == 1) + tag.FNK2.D2217_LAST = 0; + #endregion [鑴氭湰][20250616095733680][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.2鍙稦NK鏈烘鎵嬪畬鎴怾 + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:Program1 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250617085708084][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1019杞弧鍑鸿緭閫佺嚎.Program1] + + Console.WriteLine($"1019浠诲姟鐘舵�锛歿tag.SA1019.RtaskState}- barcode:{tag.SA1019.R鎵樼洏鐮亇- 绌洪棽{tag.SA1019.R5绌洪棽}"); + #endregion [鑴氭湰][20250617085708084][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1019杞弧鍑鸿緭閫佺嚎.Program1] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:Program1 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250617085712101][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1025agv涓婄┖.Program1] + + Console.WriteLine($"SA1025 浠诲姟鐘舵�锛歿tag.SA1025.RtaskState}- 绌洪棽{tag.SA1025.R5绌洪棽}"); + #endregion [鑴氭湰][20250617085712101][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1025agv涓婄┖.Program1] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:Program1 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250617085750712][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1022agv涓婄┖.Program1] + + Console.WriteLine($"SA1022 浠诲姟鐘舵�锛歿tag.SA1022.RtaskState}- 绌洪棽{tag.SA1022.R5绌洪棽}"); + #endregion [鑴氭湰][20250617085750712][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1022agv涓婄┖.Program1] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:Program1 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250617085800942][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1030涓嬫瘝鎵�Program1] + + Console.WriteLine($"SA1030 浠诲姟鐘舵�锛歿tag.SA1030.RtaskState}- 绌洪棽{tag.SA1030.R5绌洪棽}-->瀵瑰簲缁堢偣2001>绌洪棽5锛歿tag.SA2001.R5绌洪棽}"); + #endregion [鑴氭湰][20250617085800942][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.1030涓嬫瘝鎵�Program1] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + /// <summary> + /// 绋嬪簭鐗囨:Program1 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + System.Threading.Thread.CurrentThread.IsBackground = true; + ExitJudgeStack.Push(0); + //涓�洿鎵ц锛岀洿鍒版弧瓒崇粨鏉熸潯浠�+ while(true) + { + if (IsExitApp) { break; } + try + { + #region [鑴氭湰][20250617085809982][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.2030杈撻�绾夸笅瀹氬瓙.Program1] + + Console.WriteLine($"SA2030 浠诲姟鐘舵�锛歿tag.SA2030.RtaskState}- 绌洪棽{tag.SA2030.R5绌洪棽} - barcode:{tag.SA2030.R鎵樼洏鐮亇"); + #endregion [鑴氭湰][20250617085809982][涓氬姟閫昏緫.娴佺▼2鐑鐞嗙倝杩涘嚭.2030杈撻�绾夸笅瀹氬瓙.Program1] + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); + } + } + ExitJudgeStack.TryPop(out int exitJudgeVal); +}); + + } + /// <summary> /// View1鍏抽棴浜嬩欢 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> - public void View1_CloseEvent(object sender, System.ComponentModel.CancelEventArgs e) - { - - try - { + public void View1_CloseEvent(object sender, System.ComponentModel.CancelEventArgs e) + { + + try + { System.Threading.Tasks.Task.Factory.StartNew(() => { MessageBox.Show("绋嬪簭姝e湪鍏抽棴锛岃绛夊緟..."); }); - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - try - { - Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][Start]鍏抽棴Http鏈嶅姟"); - if (HttpSvcHost != null) - { - HttpSvcHost.Stop(); - } - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][End]鍏抽棴Http鏈嶅姟"); - } + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + try + { + Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][Start]鍏抽棴Http鏈嶅姟"); + if(HttpSvcHost!=null) + { + HttpSvcHost.Stop(); + } + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][End]鍏抽棴Http鏈嶅姟"); + } - try - { - Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][Start]鍒ゆ柇涓氬姟澶勭悊鐘舵�"); - IsExitApp = true; - //int exitCnt = 0; - while - ( - ExitJudgeStack.Count > 0 - ) - { - System.Threading.Thread.Sleep(100); - //++exitCnt; - //10绉掓湭缁撴潫鍒欏己鍒跺叧闂�- //if (exitCnt >= 100) - //{ - // break; - //} - } - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][End]鍒ゆ柇涓氬姟澶勭悊鐘舵�"); - } - + try + { + Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][Start]鍒ゆ柇涓氬姟澶勭悊鐘舵�"); + IsExitApp = true; + //int exitCnt = 0; + while + ( + ExitJudgeStack.Count > 0 + ) + { + System.Threading.Thread.Sleep(100); + //++exitCnt; + //10绉掓湭缁撴潫鍒欏己鍒跺叧闂�+ //if (exitCnt >= 100) + //{ + // break; + //} + } + } + catch (Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][End]鍒ゆ柇涓氬姟澶勭悊鐘舵�"); + } + e.Cancel = true; - System.Threading.Tasks.Task.Factory.StartNew(() => - { - try - { - Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][Start]鍏抽棴PLC"); - Device.缁村笇灏旀姄鑷�?.Stop(); - Device.缁村笇灏旀姄鑷�?.Stop(); - Device.Js鎹烽『1?.Stop(); - Device.Js鎹烽『2?.Stop(); - Device.p鍙戦偅绉�涓嬬嚎?.Stop(); - Device.A1025鏀捐揣浜や簰?.Stop(); - Device.A1022鏀捐揣浜や簰?.Stop(); - Device.A1019鍙栬揣浜や簰?.Stop(); - Device.A1030鍙栬揣浜や簰?.Stop(); - Device.SSXReadTemp?.Stop(); - Device.S1019Read?.Stop(); - Device.S1022Read?.Stop(); - Device.S1025Read?.Stop(); - Device.S1017Read?.Stop(); - Device.S1023Read?.Stop(); - Device.S1020Read?.Stop(); - Device.S1002Read?.Stop(); - Device.S1004Read?.Stop(); - Device.S1006Read?.Stop(); - Device.S1008Read?.Stop(); - Device.S1010Read?.Stop(); - Device.S1012Read?.Stop(); - Device.S1014Read?.Stop(); - Device.S1016Read?.Stop(); - Device.FNK1003051113?.Stop(); - Device.SSX1003051113?.Stop(); - Device.S1026Read?.Stop(); - Device.S1030Read?.Stop(); - Device.S2001Read?.Stop(); - Device.S2030Read?.Stop(); - Device.A2001鏀捐揣浜や簰?.Stop(); - Device.A2030鍙栬揣浜や簰?.Stop(); - Device.RGV?.Stop(); - Device.p鍙戦偅绉�涓嬬嚎?.Stop(); - Device.p鍙戦偅绉�涓婄嚎?.Stop(); - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][End]鍏抽棴PLC"); - } - try - { - - Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][Start]鍒ゆ柇PLC鐘舵�"); - //int exitCnt = 0; - while - ( - false - || (Device.缁村笇灏旀姄鑷� == null ? false : Device.缁村笇灏旀姄鑷�.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.缁村笇灏旀姄鑷� == null ? false : Device.缁村笇灏旀姄鑷�.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.Js鎹烽『1 == null ? false : Device.Js鎹烽『1.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.Js鎹烽『2 == null ? false : Device.Js鎹烽『2.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.p鍙戦偅绉�涓嬬嚎 == null ? false : Device.p鍙戦偅绉�涓嬬嚎.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.A1025鏀捐揣浜や簰 == null ? false : Device.A1025鏀捐揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.A1022鏀捐揣浜や簰 == null ? false : Device.A1022鏀捐揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.A1019鍙栬揣浜や簰 == null ? false : Device.A1019鍙栬揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.A1030鍙栬揣浜や簰 == null ? false : Device.A1030鍙栬揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.SSXReadTemp == null ? false : Device.SSXReadTemp.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1019Read == null ? false : Device.S1019Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1022Read == null ? false : Device.S1022Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1025Read == null ? false : Device.S1025Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1017Read == null ? false : Device.S1017Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1023Read == null ? false : Device.S1023Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1020Read == null ? false : Device.S1020Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1002Read == null ? false : Device.S1002Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1004Read == null ? false : Device.S1004Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1006Read == null ? false : Device.S1006Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1008Read == null ? false : Device.S1008Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1010Read == null ? false : Device.S1010Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1012Read == null ? false : Device.S1012Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1014Read == null ? false : Device.S1014Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1016Read == null ? false : Device.S1016Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.FNK1003051113 == null ? false : Device.FNK1003051113.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.SSX1003051113 == null ? false : Device.SSX1003051113.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1026Read == null ? false : Device.S1026Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S1030Read == null ? false : Device.S1030Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S2001Read == null ? false : Device.S2001Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.S2030Read == null ? false : Device.S2030Read.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.A2001鏀捐揣浜や簰 == null ? false : Device.A2001鏀捐揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.A2030鍙栬揣浜や簰 == null ? false : Device.A2030鍙栬揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.RGV == null ? false : Device.RGV.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.p鍙戦偅绉�涓嬬嚎 == null ? false : Device.p鍙戦偅绉�涓嬬嚎.State != GZ.Device.PLC.PlcRunState.Stoped) - || (Device.p鍙戦偅绉�涓婄嚎 == null ? false : Device.p鍙戦偅绉�涓婄嚎.State != GZ.Device.PLC.PlcRunState.Stoped) - ) - { - System.Threading.Thread.Sleep(1000); - //++exitCnt; - //10绉掓湭缁撴潫鍒欏己鍒跺叧闂�- //if (exitCnt >= 100) - //{ - // break; - //} - } - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - finally - { - Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][End]鍒ゆ柇PLC鐘舵�"); - } - Application.Current.Dispatcher.Invoke(() => { Environment.Exit(0); }); - }); - - //System.Windows.Application.Current.Shutdown(); - } - /// <summary> + System.Threading.Tasks.Task.Factory.StartNew(() => + { + try + { + Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][Start]鍏抽棴PLC"); + Device.缁村笇灏旀姄鑷�?.Stop(); + Device.缁村笇灏旀姄鑷�?.Stop(); + Device.Js鎹烽『1?.Stop(); + Device.Js鎹烽『2?.Stop(); + Device.p鍙戦偅绉�涓嬬嚎?.Stop(); + Device.A1025鏀捐揣浜や簰?.Stop(); + Device.A1022鏀捐揣浜や簰?.Stop(); + Device.A1019鍙栬揣浜や簰?.Stop(); + Device.A1030鍙栬揣浜や簰?.Stop(); + Device.SSXReadTemp?.Stop(); + Device.S1019Read?.Stop(); + Device.S1022Read?.Stop(); + Device.S1025Read?.Stop(); + Device.S1017Read?.Stop(); + Device.S1023Read?.Stop(); + Device.S1020Read?.Stop(); + Device.S1002Read?.Stop(); + Device.S1004Read?.Stop(); + Device.S1006Read?.Stop(); + Device.S1008Read?.Stop(); + Device.S1010Read?.Stop(); + Device.S1012Read?.Stop(); + Device.S1014Read?.Stop(); + Device.S1016Read?.Stop(); + Device.FNK1003051113?.Stop(); + Device.SSX1003051113?.Stop(); + Device.S1026Read?.Stop(); + Device.S1030Read?.Stop(); + Device.S2001Read?.Stop(); + Device.S2030Read?.Stop(); + Device.A2001鏀捐揣浜や簰?.Stop(); + Device.A2030鍙栬揣浜や簰?.Stop(); + Device.RGV?.Stop(); + Device.p鍙戦偅绉�涓嬬嚎?.Stop(); + Device.p鍙戦偅绉�涓婄嚎?.Stop(); + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][End]鍏抽棴PLC"); + } + try + { + + Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][Start]鍒ゆ柇PLC鐘舵�"); + //int exitCnt = 0; + while + ( + false + || (Device.缁村笇灏旀姄鑷� == null ? false : Device.缁村笇灏旀姄鑷�.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.缁村笇灏旀姄鑷� == null ? false : Device.缁村笇灏旀姄鑷�.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.Js鎹烽『1 == null ? false : Device.Js鎹烽『1.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.Js鎹烽『2 == null ? false : Device.Js鎹烽『2.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.p鍙戦偅绉�涓嬬嚎 == null ? false : Device.p鍙戦偅绉�涓嬬嚎.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.A1025鏀捐揣浜や簰 == null ? false : Device.A1025鏀捐揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.A1022鏀捐揣浜や簰 == null ? false : Device.A1022鏀捐揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.A1019鍙栬揣浜や簰 == null ? false : Device.A1019鍙栬揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.A1030鍙栬揣浜や簰 == null ? false : Device.A1030鍙栬揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.SSXReadTemp == null ? false : Device.SSXReadTemp.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1019Read == null ? false : Device.S1019Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1022Read == null ? false : Device.S1022Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1025Read == null ? false : Device.S1025Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1017Read == null ? false : Device.S1017Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1023Read == null ? false : Device.S1023Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1020Read == null ? false : Device.S1020Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1002Read == null ? false : Device.S1002Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1004Read == null ? false : Device.S1004Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1006Read == null ? false : Device.S1006Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1008Read == null ? false : Device.S1008Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1010Read == null ? false : Device.S1010Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1012Read == null ? false : Device.S1012Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1014Read == null ? false : Device.S1014Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1016Read == null ? false : Device.S1016Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.FNK1003051113 == null ? false : Device.FNK1003051113.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.SSX1003051113 == null ? false : Device.SSX1003051113.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1026Read == null ? false : Device.S1026Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S1030Read == null ? false : Device.S1030Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S2001Read == null ? false : Device.S2001Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.S2030Read == null ? false : Device.S2030Read.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.A2001鏀捐揣浜や簰 == null ? false : Device.A2001鏀捐揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.A2030鍙栬揣浜や簰 == null ? false : Device.A2030鍙栬揣浜や簰.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.RGV == null ? false : Device.RGV.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.p鍙戦偅绉�涓嬬嚎 == null ? false : Device.p鍙戦偅绉�涓嬬嚎.State != GZ.Device.PLC.PlcRunState.Stoped) + || (Device.p鍙戦偅绉�涓婄嚎 == null ? false : Device.p鍙戦偅绉�涓婄嚎.State != GZ.Device.PLC.PlcRunState.Stoped) + ) + { + System.Threading.Thread.Sleep(1000); + //++exitCnt; + //10绉掓湭缁撴潫鍒欏己鍒跺叧闂�+ //if (exitCnt >= 100) + //{ + // break; + //} + } + } + catch (Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + Conn.榛樿鏃ュ織.Debug("[鍏抽棴澶勭悊][End]鍒ゆ柇PLC鐘舵�"); + } + Application.Current.Dispatcher.Invoke(() => { Environment.Exit(0); }); + }); + + //System.Windows.Application.Current.Shutdown(); + } + /// <summary> /// View1鍒濆鍖� /// </summary> /// <param name="sender"></param> /// <param name="e"></param> - public void View1_Init(object sender, RoutedEventArgs e) - { - } - #endregion + public void View1_Init(object sender, RoutedEventArgs e) + { + } + #endregion + + #region 鍒囨崲tab椤�+ public void tab_SelectionChanged(object sender, EventArgs e) + { + //TabItem ti = (sender as TabControl).SelectedItem as TabItem; + //MessageBox.Show(ti.Name); + } + #endregion + + #region Http鏈嶅姟鐩戝惉 + private void HttpSvcListenerCallback(IAsyncResult ar) + { + try + { + HttpSvcHost.BeginGetContext(HttpSvcListenerCallback, null); + System.Net.HttpListenerContext context = HttpSvcHost.EndGetContext(ar); + System.Net.HttpListenerRequest request = context.Request; + System.Net.HttpListenerResponse response = context.Response; + switch(request.LocalEndPoint.ToString()) + { + case "10.221.55.116:8808": + { + using (var reader = new System.IO.StreamReader(request.InputStream, System.Text.Encoding.UTF8)) + { + string requestJson = reader.ReadToEnd(); - #region 鍒囨崲tab椤�- public void tab_SelectionChanged(object sender, EventArgs e) - { - //TabItem ti = (sender as TabControl).SelectedItem as TabItem; - //MessageBox.Show(ti.Name); - } - #endregion + string respstr = HttpSvcListenerCallback_he(request.HttpMethod,request.Url.AbsolutePath,requestJson,out System.Net.HttpStatusCode statusCode); - #region Http鏈嶅姟鐩戝惉 - private void HttpSvcListenerCallback(IAsyncResult ar) - { - try - { - HttpSvcHost.BeginGetContext(HttpSvcListenerCallback, null); - System.Net.HttpListenerContext context = HttpSvcHost.EndGetContext(ar); - System.Net.HttpListenerRequest request = context.Request; - System.Net.HttpListenerResponse response = context.Response; - switch (request.LocalEndPoint.ToString()) - { - case "10.221.55.116:8808": - { - using (var reader = new System.IO.StreamReader(request.InputStream, System.Text.Encoding.UTF8)) - { - string requestJson = reader.ReadToEnd(); - - string respstr = HttpSvcListenerCallback_he(request.HttpMethod, request.Url.AbsolutePath, requestJson, out System.Net.HttpStatusCode statusCode); - - string logContent = ""; - logContent += $"\r\n[{request.HttpMethod}]{request.Url.AbsolutePath}"; - logContent += $"\r\n[request]{requestJson}"; - logContent += $"\r\n[response]{respstr}"; - Conn.榛樿鏃ュ織?.Info(logContent); - - byte[] bytstr = Encoding.UTF8.GetBytes(respstr); - response.StatusCode = (int)statusCode; - response.SendChunked = false; - response.ContentLength64 = bytstr.Length; - response.OutputStream.Write(bytstr, 0, bytstr.Length); - response.Close(); - } - break; - } - } - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - } - } - private System.String HttpSvcListenerCallback_he(System.String method, System.String path, System.String requestJson, out System.Net.HttpStatusCode statusCode) - { - try - { - switch (method) - { - case "POST": - { - switch (path) - { - case "/agv/agvCallbackService/agvCallback": - { - statusCode = System.Net.HttpStatusCode.OK; - + string logContent=""; + logContent += $"\r\n[{request.HttpMethod}]{request.Url.AbsolutePath}"; + logContent += $"\r\n[request]{requestJson}"; + logContent += $"\r\n[response]{respstr}"; + Conn.榛樿鏃ュ織?.Info(logContent); + + byte[] bytstr = Encoding.UTF8.GetBytes(respstr); + response.StatusCode = (int)statusCode; + response.SendChunked = false; + response.ContentLength64 = bytstr.Length; + response.OutputStream.Write(bytstr, 0, bytstr.Length); + response.Close(); + } + break; + } + } + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + } + private System.String HttpSvcListenerCallback_he(System.String method,System.String path,System.String requestJson,out System.Net.HttpStatusCode statusCode) + { + try + { + switch(method) + { + case "POST": + { + switch(path) + { + case "/agv/agvCallbackService/agvCallback": + { + statusCode = System.Net.HttpStatusCode.OK; + LogHelper.Info("ExecuteState Request-haikang锛� + requestJson); var model = JsonConvert.DeserializeObject<HaiKangOrderInfo>(requestJson); OperateHKTaskStatus(model); return JsonConvert.SerializeObject(new HkReturnResult { reqCode = model.reqCode }); - } - case "/api/Wcs/CreateTask": - { - statusCode = System.Net.HttpStatusCode.OK; - + } + case "/api/Wcs/CreateTask": + { + statusCode = System.Net.HttpStatusCode.OK; + LogHelper.Info("/api/Wcs/CreateTask锛� + requestJson); var model = JsonConvert.DeserializeObject<ToWMSMES.CreateTask>(requestJson); var res = ToWMSMES.CreateTask.CreatemesTask(model); return JsonConvert.SerializeObject(res); - } - case "/api/Wcs/TestRequestTask": - { - statusCode = System.Net.HttpStatusCode.OK; - LogHelper.Info("/api/Wcs/TestRequestTask锛� + requestJson); - var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", requestJson); - return str; - } - case "/api/Wcs/updateStatus": - { - statusCode = System.Net.HttpStatusCode.OK; - LogHelper.Info("/api/Wcs/updateStatus锛� + requestJson); - var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", requestJson); - return str; - } - case "/api/Wcs/toMes": - { - statusCode = System.Net.HttpStatusCode.OK; - + } + case "/api/Wcs/TestRequestTask": + { + statusCode = System.Net.HttpStatusCode.OK; + LogHelper.Info("/api/Wcs/TestRequestTask锛� + requestJson); +var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", requestJson); +return str; + } + case "/api/Wcs/updateStatus": + { + statusCode = System.Net.HttpStatusCode.OK; + LogHelper.Info("/api/Wcs/updateStatus锛� + requestJson); +var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", requestJson); +return str; + } + case "/api/Wcs/toMes": + { + statusCode = System.Net.HttpStatusCode.OK; + LogHelper.Info("/api/Wcs/toMes锛� + requestJson); var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/202", requestJson); return str; - } - case "/api/Wcs/CreatePointTask": - { - statusCode = System.Net.HttpStatusCode.OK; - + } + case "/api/Wcs/CreatePointTask": + { + statusCode = System.Net.HttpStatusCode.OK; + LogHelper.Info("/api/Wcs/CreatepointTask锛� + requestJson); var model = JsonConvert.DeserializeObject<ToWMSMES.CreateTask>(requestJson); var res = ToWMSMES.CreateTask.CreatePointTask(model); return JsonConvert.SerializeObject(res); - } - } - break; - } - case "GET": - { - switch (path) - { - case "/inddddddddddddddddd": - { - statusCode = System.Net.HttpStatusCode.OK; - // 澶嶅埗鍒癱ase 涓�- //var _ when System.Text.RegularExpressions.Regex.IsMatch(path, @"\.(html|ico|js|css)(\?.*)?$", System.Text.RegularExpressions.RegexOptions.IgnoreCase) - var filePath = System.IO.Path.Combine("Static", path.Substring(1)); - return File.ReadAllText(filePath); - } - } - break; - } - } - statusCode = System.Net.HttpStatusCode.NotFound; - return ""; - } - catch (Exception ex) - { - Conn.榛樿鏃ュ織.Error(ex.ToString()); - statusCode = System.Net.HttpStatusCode.InternalServerError; - return ""; - } - } - #endregion - } + } + } + break; + } + case "GET": + { + switch(path) + { + case "/inddddddddddddddddd": + { + statusCode = System.Net.HttpStatusCode.OK; + // 澶嶅埗鍒癱ase 涓�+//var _ when System.Text.RegularExpressions.Regex.IsMatch(path, @"\.(html|ico|js|css)(\?.*)?$", System.Text.RegularExpressions.RegexOptions.IgnoreCase) +var filePath = System.IO.Path.Combine("Static", path.Substring(1)); +return File.ReadAllText(filePath); + } + } + break; + } + } + statusCode = System.Net.HttpStatusCode.NotFound; + return ""; + } + catch(Exception ex) + { + Conn.榛樿鏃ュ織.Error(ex.ToString()); + statusCode = System.Net.HttpStatusCode.InternalServerError; + return ""; + } + } + #endregion + } } -- Gitblit v1.9.1