From 0fdee7bc3b061e62052047019330ffa705df7085 Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期四, 19 六月 2025 13:50:12 +0800 Subject: [PATCH] 1 --- 2025年6月12日/AuxAllWCS/Build/Project/代码/自定义类.cs | 1300 +++++++++-------- 2025年6月12日/AuxAllWCS/Build/Project/代码/ViewModel.cs | 5 2025年6月12日/AuxAllWCS/Build/Project/代码/界面事件.cs | 3015 ++++++++++++++++++++++------------------ .gitignore | 1 4 files changed, 2,337 insertions(+), 1,984 deletions(-) diff --git a/.gitignore b/.gitignore index 19ff4ae..9d5867f 100644 --- a/.gitignore +++ b/.gitignore @@ -193,3 +193,4 @@ /2025骞�鏈�2鏃�AuxAllWCS/Build/Project/浠g爜/鍙橀噺鏁版嵁搴�cs /2025骞�鏈�2鏃�AuxAllWCS/Build/Project/浠g爜/闆嗘垚浜掕仈.cs /2025骞�鏈�2鏃�AuxAllWCS/Build/Project/浠g爜/鑷畾涔夌被.cs +/2025骞�鏈�2鏃�AuxAllWCS/Project.rar diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/ViewModel.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/ViewModel.cs" index 74fea72..9013fa8 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/ViewModel.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/ViewModel.cs" @@ -28,6 +28,7 @@ using GZ.DB.Repository.OIDATABASE; using GZ.DB.IRepository.OIDATABASE; using GZ.DB.Entity.OIDATABASE; +using GZ.Modular.Redis; namespace GZ.Projects.AuxAllWCS { public partial class ViewModel : System.ComponentModel.INotifyPropertyChanged @@ -233,7 +234,9 @@ //string V = inde ? "R05" : "R06"; //Conn.榛樿Redis.SetValue(device2.deviceName + "." + V, "true", device2.deviceName + "Queue"); string V2 = inde ? "R10_LAST" : "R11_LAST"; - Conn.榛樿Redis.SetValue(device2.deviceName + "." + V2, "true", device2.deviceName + "Queue"); + //Conn.榛樿Redis.SetValue(device2.deviceName + "." + V2, "true", device2.deviceName + "Queue"); + + RedisHelper.Add(device2.deviceName + "." + V2, "true", out string msg1); TcpServer.TrayIps.Remove(device2.deviceNo[inde ? 0 : 1]); } } 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 e080eb5..723b294 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,154 +28,156 @@ 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" }; - - 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) - { - locservice.Insert(new LocEntity - { - 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_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 = "", - - }); - } + #endregion [鑴氭湰][20250323111613779][涓氬姟閫昏緫.鍒濆鍖栭厤缃甝 } - // TaskProcess.CreateTask("", locs[6], locs[7], "test", 9, new List<string> { "test" }, 1, 1, 1); - } + 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 [鑴氭湰][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"); + 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) + { + locservice.Insert(new LocEntity + { + S_ID = Guid.NewGuid().ToString(), + S_STATE = "缂栬緫", + T_CREATE = DateTime.Now, + T_MODIFY = DateTime.Now, + S_DEEP = "vxr", - if (VERX != null) + 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 = "", + + }); + } + } + // 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"); + + if (VERX != null) { if (tag.Js1.D1212_LAST == 0 && TcpServer.GetBitdata(tag.Js1.D1212, 2) == 1) { @@ -187,59 +189,66 @@ LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.Js1.D1212_LAST = 1; + //tag.Js1.D1212_LAST = 1; + RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "1", out string msg); } } - if(tag.Js1.D1212_LAST == 1 &&TcpServer.GetBitdata(tag.Js1.D1212, 2) == 0){ - tag.Js1.D1212_LAST = 0; + 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.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; + 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); } } - #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) { @@ -253,10 +262,16 @@ LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.Js2.D1212_LAST = 1; + //tag.Js2.D1212_LAST = 1; + + RedisHelper.Add($"Js鎹烽『1.D1212_LAST", "1", out string msg); } - } if(tag.Js2.D1212_LAST == 1 &&TcpServer.GetBitdata(tag.Js2.D1212, 2) == 0){ - tag.Js2.D1212_LAST = 0; + } + 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.D1213_LAST == 0 && TcpServer.GetBitdata(tag.Js2.D1212, 3) == 1) { @@ -268,74 +283,80 @@ LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.Js2.D1213_LAST = 1; + //tag.Js2.D1213_LAST = 1; + + RedisHelper.Add($"Js鎹烽『1.D1213_LAST", "1", out string msg); } - }if(tag.Js2.D1213_LAST == 1 &&TcpServer.GetBitdata(tag.Js2.D1213, 2) == 0){ - tag.Js2.D1213_LAST = 0; + } + 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); } } - #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) { @@ -353,7 +374,7 @@ LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.wxr1.R44_LAST = true; + tag.wxr1.R44_LAST = true; } } else @@ -363,14 +384,15 @@ } 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); @@ -394,35 +416,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) { @@ -440,7 +462,7 @@ LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.wxr1.R46_LAST = true; + tag.wxr1.R46_LAST = true; } } else @@ -452,11 +474,12 @@ { 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); @@ -480,36 +503,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) { @@ -527,7 +550,7 @@ LogHelper.Info($"{VERX.location[0]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.wxr2.R44_LAST = true; + tag.wxr2.R44_LAST = true; } } else @@ -539,11 +562,12 @@ { 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); @@ -567,35 +591,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) { @@ -613,7 +637,7 @@ LogHelper.Info($"{VERX.location[1]}鐢宠mes浠诲姟缁撴灉{str}"); if (str.Contains("true")) { - tag.wxr2.R46_LAST = true; + tag.wxr2.R46_LAST = true; } } else @@ -623,13 +647,14 @@ } 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); @@ -653,115 +678,395 @@ } } } - #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][涓氬姟閫昏緫.鍏夋爡澶勭悊] - // - 鍏夋爡浜や簰澶勭悊銆傘� + #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][涓氬姟閫昏緫.鍏夋爡澶勭悊] + // - 鍏夋爡浜や簰澶勭悊銆傘� var taskCOdes = new List<string> { "Sarrive", "Srelease", "Earrive", "Erelease" }; TaskActRepository taskActRepository = new TaskActRepository(); TaskRepository taskRepository = new TaskRepository(); @@ -784,62 +1089,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"); } } @@ -849,7 +1154,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("-", ""), @@ -876,904 +1181,922 @@ 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(() => - { - 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" }) - { - 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) + #endregion [鑴氭湰][20250611223832523][涓氬姟閫昏緫.鍏夋爡澶勭悊] + } + catch (Exception ex) { - 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; + Conn.榛樿鏃ュ織.Error(ex.ToString()); + } + finally + { + System.Threading.Thread.Sleep(3000); } } - else if (R5 != 5 && R5绌洪棽_LAST == 1) + 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) { - 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"); + if (IsExitApp) { break; } + try + { + #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); + } } - } - 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) - { - 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) + ExitJudgeStack.TryPop(out int exitJudgeVal); + }); + /// <summary> + /// 绋嬪簭鐗囨:1023绌烘涓嬬嚎 + /// 鎻忚堪: + /// </summary> + System.Threading.Tasks.Task.Factory.StartNew(() => { - 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) + 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(() => { - 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; + 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.D2215 = 1; - tag.SF涓嬫枡浣�RArrive1003_LAST = 1; + tag.SF涓嬫枡浣�WRelease1005 = 0; + tag.SF涓嬫枡浣�WSafe0305 = 0; + } + else if (ssx == "1003") + { + tag.FNK2.D2210 = 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; + 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.D2215 = 1; - tag.SF涓嬫枡浣�RArrive1011_LAST = 1; + 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) - { - 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涓嬫枡浣�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 + { - 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; + ////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涓嬫枡浣�WRelease1003 = 1; - tag.SF涓嬫枡浣�WSafe0305 = 1; -} -else if (tag.FNK1.D2217 == 0 && tag.FNK1.D2217_LAST == 1) - tag.FNK1.D2217_LAST = 0; + 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); - #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; + if (tag.FNK1.D2212 == 1 && tag.FNK1.D2212_LAST == 0) + { + tag.FNK1.D2210 = 0; + //tag.FNK1.D2217_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; + 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); + } - 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] - + #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] - + #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] - + #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] - + #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> + #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 - { - 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鏈嶅姟"); - } + public void View1_CloseEvent(object sender, System.ComponentModel.CancelEventArgs e) + { - 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 + { + 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鏈嶅姟"); + } + + 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 - - #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(); + public void View1_Init(object sender, RoutedEventArgs e) + { + } + #endregion - string respstr = HttpSvcListenerCallback_he(request.HttpMethod,request.Url.AbsolutePath,requestJson,out System.Net.HttpStatusCode statusCode); + #region 鍒囨崲tab椤�+ public void tab_SelectionChanged(object sender, EventArgs e) + { + //TabItem ti = (sender as TabControl).SelectedItem as TabItem; + //MessageBox.Show(ti.Name); + } + #endregion - 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; - + #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; + 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 + } } diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\350\207\252\345\256\232\344\271\211\347\261\273.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\350\207\252\345\256\232\344\271\211\347\261\273.cs" index 0da9e5b..6c0f02d 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\350\207\252\345\256\232\344\271\211\347\261\273.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/\350\207\252\345\256\232\344\271\211\347\261\273.cs" @@ -30,481 +30,508 @@ using GZ.DB.Entity.OIDATABASE; namespace GZ.Projects.AuxAllWCS { -public class Settings -{ -#region [鑷畾涔夌被][20250323144531864][Settings] - public static bool FirstG {get;set;}=false; + public class Settings + { + #region [鑷畾涔夌被][20250323144531864][Settings] + public static bool FirstG { get; set; } = false; public static string HostToAgvServerUrl { get; set; } - + public static List<deviceInfo> deviceInfos { get; set; } = new List<deviceInfo>(); public static List<string> RunProcs { get; set; } = new List<string>(); public static string HKbaseUrl { get; set; } public static string MESbaseUrl { get; set; } public static string WMSbaseUrl { get; set; } public static readonly HttpHelper apiHelper = new HttpHelper(); - + public static string GetTimeStamp(DateTime? time = null) - { - TimeSpan ts = DateTime.UtcNow - (time ?? new DateTime(1970, 1, 1, 0, 0, 0, 0)); - return Convert.ToInt64(ts.TotalMilliseconds).ToString(); - } -#endregion [鑷畾涔夌被][20250323144531864][Settings] -} -public class LogHelper -{ -#region [鑷畾涔夌被][20250323145442478][LogHelper] - public static Dictionary<string, ILogger> loggers = new Dictionary<string, ILogger>(); - -public static void Debug(string message, string name = "") { - ILogger logger = null; - if (loggers.Keys.Contains(name)) { - logger = loggers[name]; - } - else { - logger = LogFactory.CreateLogger(name); - if (logger != null) { - loggers.Add(name, logger); + { + TimeSpan ts = DateTime.UtcNow - (time ?? new DateTime(1970, 1, 1, 0, 0, 0, 0)); + return Convert.ToInt64(ts.TotalMilliseconds).ToString(); } - else { - logger = LogFactory.CreateLogger("console"); + #endregion [鑷畾涔夌被][20250323144531864][Settings] + } + public class LogHelper + { + #region [鑷畾涔夌被][20250323145442478][LogHelper] + public static Dictionary<string, ILogger> loggers = new Dictionary<string, ILogger>(); + + public static void Debug(string message, string name = "") + { + ILogger logger = null; + if (loggers.Keys.Contains(name)) + { + logger = loggers[name]; + } + else + { + logger = LogFactory.CreateLogger(name); + if (logger != null) + { + loggers.Add(name, logger); + } + else + { + logger = LogFactory.CreateLogger("console"); + } + } + if (logger != null) + { + logger.Debug(message); + } } - } - if (logger != null) { - logger.Debug(message); - } -} -public static void Info(string message, string name = "") { - //logger.Info(message); - ILogger logger = null; - if (loggers.Keys.Contains(name)) { - logger = loggers[name]; - } - else { - logger = LogFactory.CreateLogger(name); - if (logger != null) { - loggers.Add(name, logger); + public static void Info(string message, string name = "") + { + //logger.Info(message); + ILogger logger = null; + if (loggers.Keys.Contains(name)) + { + logger = loggers[name]; + } + else + { + logger = LogFactory.CreateLogger(name); + if (logger != null) + { + loggers.Add(name, logger); + } + else + { + logger = LogFactory.CreateLogger("infoFile"); + } + } + if (logger != null) + { + logger.Info(message); + } } - else { - logger = LogFactory.CreateLogger("infoFile"); + + public static void Error(string message, Exception ex, string name = "") + { + //logger.Error(ex, message); + ILogger logger = null; + if (loggers.Keys.Contains(name)) + { + logger = loggers[name]; + } + else + { + logger = LogFactory.CreateLogger(name); + if (logger != null) + { + loggers.Add(name, logger); + } + else + { + logger = LogFactory.CreateLogger("errorFile"); + } + } + if (logger != null) + { + logger.Error($"{message}{ex.StackTrace}"); + } } + #endregion [鑷畾涔夌被][20250323145442478][LogHelper] } - if (logger != null) { - logger.Info(message); - } -} - -public static void Error(string message, Exception ex, string name = "") { - //logger.Error(ex, message); - ILogger logger = null; - if (loggers.Keys.Contains(name)) { - logger = loggers[name]; - } - else { - logger = LogFactory.CreateLogger(name); - if (logger != null) { - loggers.Add(name, logger); + public class LogFactory + { + #region [鑷畾涔夌被][20250323145505759][LogFactory] + /// <summary> + /// 閫氳繃閰嶇疆鏂囦欢閰嶇疆鏃ュ織 + /// </summary> + static LogFactory() + { + var loggerNames = new List<string>() { "HosttoagvTask", "HosttoagvCar", "NDC", "鏉ゥ" }; + LogManager.Configuration = DefaultConfig(loggerNames); } - else { - logger = LogFactory.CreateLogger("errorFile"); + public static ILogger CreateLogger(string name) + { + var logger = LogManager.GetLogger(name); + return logger; } + + public static LoggingConfiguration DefaultConfig(List<string> loggerNames) + { + var config = new LoggingConfiguration(); + loggerNames.ForEach(a => + { + var target = new FileTarget(); + target.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M + target.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; + target.ArchiveFileName = @"${basedir}/Logs/" + a + "/{####}.txt"; + target.FileName = @"${basedir}/Logs/" + a + "/${shortdate}.txt";//褰撳墠鏂囦欢璺緞 + target.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + + config.AddTarget(a, target); + config.AddRuleForOneLevel(LogLevel.Info, target, a); + }); + + + // 娣诲姞target-console + var consoleTarget = new ColoredConsoleTarget(); + consoleTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + + config.AddTarget("console", consoleTarget); + config.AddRule(LogLevel.Debug, LogLevel.Fatal, consoleTarget); + + //娣诲姞target-info + var infoFileTarget = new FileTarget(); + infoFileTarget.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M + infoFileTarget.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; + infoFileTarget.ArchiveFileName = @"${basedir}/Logs/Info/{####}.txt"; + infoFileTarget.FileName = @"${basedir}/Logs/Info/${shortdate}.txt";//褰撳墠鏂囦欢璺緞 + infoFileTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + + config.AddTarget("infoFile", infoFileTarget); + config.AddRuleForOneLevel(LogLevel.Info, infoFileTarget);//INFO鍐欏湪Info鏂囦欢 + + //娣诲姞target-err + var errorFileTarget = new FileTarget(); + errorFileTarget.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M + errorFileTarget.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; + errorFileTarget.ArchiveFileName = @"${basedir}/Logs/Error/{####}.txt"; + errorFileTarget.FileName = @"${basedir}/Logs/Error/${shortdate}.txt"; + errorFileTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + + config.AddTarget("errorFile", errorFileTarget); + config.AddRule(LogLevel.Error, LogLevel.Fatal, errorFileTarget); + + + return config; + } + + #endregion [鑷畾涔夌被][20250323145505759][LogFactory] } - if (logger != null) { - logger.Error($"{message}{ex.StackTrace}"); + public class HaiKangOrderInfo + { + #region [鑷畾涔夌被][20250324165635320][HaiKangOrderInfo] + + /// <summary> + /// 璇锋眰缂栧彿锛堢紪鍙峰敮涓�級 + /// </summary> + public string reqCode { get; set; } + + /// <summary> + /// 璇锋眰鏃堕棿 + /// </summary> + public string reqTime { get; set; } + + /// <summary> + /// 瀹㈡埛绔紪鍙凤紙濡侾DA銆丠CWMS绛夛級 + /// </summary> + public string clientCode { get; set; } + + /// <summary> + /// 浠ょ墝鍙�+ /// </summary> + public string tokenCode { get; set; } + + /// <summary> + /// 浠诲姟绫诲瀷 + /// </summary> + public string taskTyp { get; set; } + + /// <summary> + /// 瀹瑰櫒绫诲瀷锛堝弶杞﹂」鐩繀浼狅級 + /// 锛堝弶杞�CTU 涓撶敤锛�+ /// </summary> + public string ctnrTyp { get; set; } + + /// <summary> + /// 瀹瑰櫒缂栧彿锛堝弶杞�CTU 涓撶敤锛�+ /// </summary> + public string ctnrCode { get; set; } + + /// <summary> + /// 浠诲姟妯″紡锛�-鏅�銆�-鍑哄簱銆�-鍏ュ簱銆�-绉诲簱 锛�+ /// </summary> + public string taskMode { get; set; } + + /// <summary> + /// 宸ヤ綔浣�+ /// </summary> + public string wbCode { get; set; } + + /// <summary> + /// 璐ф灦缂栧彿 + /// </summary> + public string podCode { get; set; } + + /// <summary> + /// 鏂瑰悜锛�80锛氬乏銆�锛氬彸銆�0锛氫笂銆�90锛氫笅 锛�+ /// </summary> + public string podDir { get; set; } + + /// <summary> + /// 璐ф灦绫诲瀷 + /// </summary> + public string podTyp { get; set; } + + /// <summary> + /// 鐗╂枡鎵规鎴栬揣鏋朵笂鐨勭墿鏂欏敮涓�紪鐮�+ /// </summary> + public string materialLot { get; set; } + + /// <summary> + /// 浼樺厛绾�+ /// </summary> + public string priority { get; set; } + + /// <summary> + /// 缁勭紪鍙�+ /// </summary> + public string groupId { get; set; } + + /// <summary> + /// 鑷畾涔夊瓧娈�JSON 鏍煎紡 + /// </summary> + public string data { get; set; } + + /// <summary> + /// 鍙栨秷绫诲瀷 + /// </summary> + public string forceCancel { get; set; } + + /// <summary> + /// 鍥炲簱鍖哄煙缂栫爜 + /// </summary> + public string matterArea { get; set; } + + /// <summary> + /// 鍙栨秷璇GV姝e湪鎵ц鐨勪换鍔″崟 + /// </summary> + public string agvCode { get; set; } + + /// <summary> + /// 浠诲姟鍗曠紪鍙�+ /// </summary> + public string taskCode { get; set; } + + /// <summary> + /// 鍦扮爜 X 鍧愭爣 + /// </summary> + public string cooX { get; set; } + + /// <summary> + /// 鍦扮爜 Y 鍧愭爣 + /// </summary> + public string cooY { get; set; } + + /// <summary> + /// 褰撳墠浣嶇疆缂栧彿 + /// </summary> + public string currentPositionCode { get; set; } + + /// <summary> + /// 鍦板浘缂栧彿 + /// </summary> + public string mapCode { get; set; } + + /// <summary> + /// 鍦扮爜缂栧彿 + /// </summary> + public string mapDataCode { get; set; } + + /// <summary> + /// 浠撲綅缂栧彿 + /// </summary> + public string stgBinCode { get; set; } + + /// <summary> + /// 鏂规硶鍚�+ /// </summary> + public string method { get; set; } + + /// <summary> + /// AGV 缂栧彿 + /// </summary> + public string robotCode { get; set; } + + + /// <summary> + /// 瀹瑰櫒绫诲瀷 + /// </summary> + public string ctnrType { get; set; } + + + /// <summary> + /// 宸烽亾缂栧彿 + /// </summary> + public string roadWayCode { get; set; } + + /// <summary> + /// 宸烽亾鍐呴『搴忓彿 + /// </summary> + public string seq { get; set; } + + /// <summary> + /// 璁惧缂栧彿 + /// </summary> + public string eqpCode { get; set; } + + /// <summary> + /// 浠诲姟璺緞闆嗗悎 + /// </summary> + public List<positionCodePath> positionCodePath { get; set; } + + #endregion [鑷畾涔夌被][20250324165635320][HaiKangOrderInfo] } -} -#endregion [鑷畾涔夌被][20250323145442478][LogHelper] -} -public class LogFactory -{ -#region [鑷畾涔夌被][20250323145505759][LogFactory] - /// <summary> - /// 閫氳繃閰嶇疆鏂囦欢閰嶇疆鏃ュ織 - /// </summary> - static LogFactory() { - var loggerNames = new List<string>() { "HosttoagvTask", "HosttoagvCar", "NDC", "鏉ゥ" }; - LogManager.Configuration = DefaultConfig(loggerNames); - } - public static ILogger CreateLogger(string name) { - var logger = LogManager.GetLogger(name); - return logger; - } + public class positionCodePath + { + #region [鑷畾涔夌被][20250324165724429][positionCodePath] - public static LoggingConfiguration DefaultConfig(List<string> loggerNames) { - var config = new LoggingConfiguration(); - loggerNames.ForEach(a => { - var target = new FileTarget(); - target.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M - target.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; - target.ArchiveFileName = @"${basedir}/Logs/" + a + "/{####}.txt"; - target.FileName = @"${basedir}/Logs/" + a + "/${shortdate}.txt";//褰撳墠鏂囦欢璺緞 - target.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; + /// <summary> + /// 浠诲姟缂栧彿 + /// </summary> + public string positionCode { get; set; } - config.AddTarget(a, target); - config.AddRuleForOneLevel(LogLevel.Info, target, a); - }); - - - // 娣诲姞target-console - var consoleTarget = new ColoredConsoleTarget(); - consoleTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; - - config.AddTarget("console", consoleTarget); - config.AddRule(LogLevel.Debug, LogLevel.Fatal, consoleTarget); - - //娣诲姞target-info - var infoFileTarget = new FileTarget(); - infoFileTarget.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M - infoFileTarget.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; - infoFileTarget.ArchiveFileName = @"${basedir}/Logs/Info/{####}.txt"; - infoFileTarget.FileName = @"${basedir}/Logs/Info/${shortdate}.txt";//褰撳墠鏂囦欢璺緞 - infoFileTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; - - config.AddTarget("infoFile", infoFileTarget); - config.AddRuleForOneLevel(LogLevel.Info, infoFileTarget);//INFO鍐欏湪Info鏂囦欢 - - //娣诲姞target-err - var errorFileTarget = new FileTarget(); - errorFileTarget.ArchiveAboveSize = 1024 * 1024 * 5;//姣忎釜鏂囦欢鏈�ぇ5M - errorFileTarget.ArchiveNumbering = ArchiveNumberingMode.DateAndSequence; - errorFileTarget.ArchiveFileName = @"${basedir}/Logs/Error/{####}.txt"; - errorFileTarget.FileName = @"${basedir}/Logs/Error/${shortdate}.txt"; - errorFileTarget.Layout = @"${longdate} | ${level:uppercase=false:padding=-5} | ${message} ${onexception:${exception:format=tostring} ${newline} ${stacktrace} ${newline}"; - - config.AddTarget("errorFile", errorFileTarget); - config.AddRule(LogLevel.Error, LogLevel.Fatal, errorFileTarget); - - - return config; - } - -#endregion [鑷畾涔夌被][20250323145505759][LogFactory] -} -public class HaiKangOrderInfo -{ -#region [鑷畾涔夌被][20250324165635320][HaiKangOrderInfo] - - /// <summary> - /// 璇锋眰缂栧彿锛堢紪鍙峰敮涓�級 - /// </summary> - public string reqCode { get; set; } - - /// <summary> - /// 璇锋眰鏃堕棿 - /// </summary> - public string reqTime { get; set; } - - /// <summary> - /// 瀹㈡埛绔紪鍙凤紙濡侾DA銆丠CWMS绛夛級 - /// </summary> - public string clientCode { get; set; } - - /// <summary> - /// 浠ょ墝鍙�- /// </summary> - public string tokenCode { get; set; } - - /// <summary> - /// 浠诲姟绫诲瀷 - /// </summary> - public string taskTyp { get; set; } - - /// <summary> - /// 瀹瑰櫒绫诲瀷锛堝弶杞﹂」鐩繀浼狅級 - /// 锛堝弶杞�CTU 涓撶敤锛�- /// </summary> - public string ctnrTyp { get; set; } - - /// <summary> - /// 瀹瑰櫒缂栧彿锛堝弶杞�CTU 涓撶敤锛�- /// </summary> - public string ctnrCode { get; set; } - - /// <summary> - /// 浠诲姟妯″紡锛�-鏅�銆�-鍑哄簱銆�-鍏ュ簱銆�-绉诲簱 锛�- /// </summary> - public string taskMode { get; set; } - - /// <summary> - /// 宸ヤ綔浣�- /// </summary> - public string wbCode { get; set; } - - /// <summary> - /// 璐ф灦缂栧彿 - /// </summary> - public string podCode { get; set; } - - /// <summary> - /// 鏂瑰悜锛�80锛氬乏銆�锛氬彸銆�0锛氫笂銆�90锛氫笅 锛�- /// </summary> - public string podDir { get; set; } - - /// <summary> - /// 璐ф灦绫诲瀷 - /// </summary> - public string podTyp { get; set; } - - /// <summary> - /// 鐗╂枡鎵规鎴栬揣鏋朵笂鐨勭墿鏂欏敮涓�紪鐮�- /// </summary> - public string materialLot { get; set; } - - /// <summary> - /// 浼樺厛绾�- /// </summary> - public string priority { get; set; } - - /// <summary> - /// 缁勭紪鍙�- /// </summary> - public string groupId { get; set; } - - /// <summary> - /// 鑷畾涔夊瓧娈�JSON 鏍煎紡 - /// </summary> - public string data { get; set; } - - /// <summary> - /// 鍙栨秷绫诲瀷 - /// </summary> - public string forceCancel { get; set; } - - /// <summary> - /// 鍥炲簱鍖哄煙缂栫爜 - /// </summary> - public string matterArea { get; set; } - - /// <summary> - /// 鍙栨秷璇GV姝e湪鎵ц鐨勪换鍔″崟 - /// </summary> - public string agvCode { get; set; } - - /// <summary> - /// 浠诲姟鍗曠紪鍙�- /// </summary> - public string taskCode { get; set; } - - /// <summary> - /// 鍦扮爜 X 鍧愭爣 - /// </summary> - public string cooX { get; set; } - - /// <summary> - /// 鍦扮爜 Y 鍧愭爣 - /// </summary> - public string cooY { get; set; } - - /// <summary> - /// 褰撳墠浣嶇疆缂栧彿 - /// </summary> - public string currentPositionCode { get; set; } - - /// <summary> - /// 鍦板浘缂栧彿 - /// </summary> - public string mapCode { get; set; } - - /// <summary> - /// 鍦扮爜缂栧彿 - /// </summary> - public string mapDataCode { get; set; } - - /// <summary> - /// 浠撲綅缂栧彿 - /// </summary> - public string stgBinCode { get; set; } - - /// <summary> - /// 鏂规硶鍚�- /// </summary> - public string method { get; set; } - - /// <summary> - /// AGV 缂栧彿 - /// </summary> - public string robotCode { get; set; } - - - /// <summary> - /// 瀹瑰櫒绫诲瀷 - /// </summary> - public string ctnrType { get; set; } - - - /// <summary> - /// 宸烽亾缂栧彿 - /// </summary> - public string roadWayCode { get; set; } - - /// <summary> - /// 宸烽亾鍐呴『搴忓彿 - /// </summary> - public string seq { get; set; } - - /// <summary> - /// 璁惧缂栧彿 - /// </summary> - public string eqpCode { get; set; } - - /// <summary> - /// 浠诲姟璺緞闆嗗悎 - /// </summary> - public List<positionCodePath> positionCodePath { get; set; } - -#endregion [鑷畾涔夌被][20250324165635320][HaiKangOrderInfo] -} -public class positionCodePath -{ -#region [鑷畾涔夌被][20250324165724429][positionCodePath] - - /// <summary> - /// 浠诲姟缂栧彿 - /// </summary> - public string positionCode { get; set; } - - /// <summary> - /// 绫诲瀷 - /// </summary> - public string Type { get; set; } -#endregion [鑷畾涔夌被][20250324165724429][positionCodePath] -} -public class HkReturnResult -{ -#region [鑷畾涔夌被][20250324171912560][HkReturnResult] - - /// <summary> - /// 杩斿洖鐘舵�鐮�- /// </summary> - public int code { get; set; } - /// <summary> - /// 杩斿洖璇存槑 - /// </summary> - public string message { get; set; } - /// <summary> - /// 浠诲姟鍙�- /// </summary> - public string reqCode { get; set; } -#endregion [鑷畾涔夌被][20250324171912560][HkReturnResult] -} -public class deviceInfo -{ -#region [鑷畾涔夌被][20250325083629462][deviceInfo] - - - public string address { get; set; } - public string deviceName { get; set; } - public string FuLeLineNo { get; set; } - public string[] deviceNo { get; set; } - - /// <summary> - /// 瀵瑰簲绾夸綋 -浼樺厛绾�- /// </summary> - public string[] areaPriy { get; set; } - - public string[] location { get; set; } - /// <summary> - /// 1 缁村笇灏旀満姊拌噦 - /// 2 鎹风灛鏈烘鑷傝噦 - /// 3 鎹风灛杈撻�绾�- /// </summary> - public int deviceType { get; set; } - public int enable { get; set; } - - /// <summary> - /// 浠诲姟鏉冮噸銆� - /// </summary> - public int taskPri { get; set; } = 60; -#endregion [鑷畾涔夌被][20250325083629462][deviceInfo] -} -public class HttpHelper -{ -#region [鑷畾涔夌被][20250325095622918][HttpHelper] - public string Post(string url, string postData, string contentType = "application/json", string sessionId = "") { - LogHelper.Info(url+"+"+postData); - WebRequest request = WebRequest.Create(url); - request.Method = "POST"; - byte[] byteArray = Encoding.UTF8.GetBytes(postData); - request.ContentType = contentType; - request.ContentLength = byteArray.Length; - request.Timeout = 15000; - if (sessionId != "") { - request.Headers.Set("ASP.NET_SessionId", sessionId); + /// <summary> + /// 绫诲瀷 + /// </summary> + public string Type { get; set; } + #endregion [鑷畾涔夌被][20250324165724429][positionCodePath] } - + public class HkReturnResult + { + #region [鑷畾涔夌被][20250324171912560][HkReturnResult] + + /// <summary> + /// 杩斿洖鐘舵�鐮�+ /// </summary> + public int code { get; set; } + /// <summary> + /// 杩斿洖璇存槑 + /// </summary> + public string message { get; set; } + /// <summary> + /// 浠诲姟鍙�+ /// </summary> + public string reqCode { get; set; } + #endregion [鑷畾涔夌被][20250324171912560][HkReturnResult] + } + public class deviceInfo + { + #region [鑷畾涔夌被][20250325083629462][deviceInfo] + + + public string address { get; set; } + public string deviceName { get; set; } + public string FuLeLineNo { get; set; } + public string[] deviceNo { get; set; } + + /// <summary> + /// 瀵瑰簲绾夸綋 -浼樺厛绾�+ /// </summary> + public string[] areaPriy { get; set; } + + public string[] location { get; set; } + /// <summary> + /// 1 缁村笇灏旀満姊拌噦 + /// 2 鎹风灛鏈烘鑷傝噦 + /// 3 鎹风灛杈撻�绾�+ /// </summary> + public int deviceType { get; set; } + public int enable { get; set; } + + /// <summary> + /// 浠诲姟鏉冮噸銆� + /// </summary> + public int taskPri { get; set; } = 60; + #endregion [鑷畾涔夌被][20250325083629462][deviceInfo] + } + public class HttpHelper + { + #region [鑷畾涔夌被][20250325095622918][HttpHelper] + public string Post(string url, string postData, string contentType = "application/json", string sessionId = "") + { + LogHelper.Info(url + "+" + postData); + WebRequest request = WebRequest.Create(url); + request.Method = "POST"; + byte[] byteArray = Encoding.UTF8.GetBytes(postData); + request.ContentType = contentType; + request.ContentLength = byteArray.Length; + request.Timeout = 15000; + if (sessionId != "") + { + request.Headers.Set("ASP.NET_SessionId", sessionId); + } + //Authorization: UApGP6WW9FsBUqAlzxRGOw == request.Headers.Set("Authorization", "UApGP6WW9FsBUqAlzxRGOw=="); - StreamReader reader = null; - Stream stream = null; - WebResponse rsp = null; - try { - stream = request.GetRequestStream(); - stream.Write(byteArray, 0, byteArray.Length); - stream.Close(); - rsp = request.GetResponse(); - stream = rsp.GetResponseStream(); - reader = new StreamReader(stream); - string rrend = reader.ReadToEnd(); - LogHelper.Info($"{url} response={rrend}"); - return rrend; + StreamReader reader = null; + Stream stream = null; + WebResponse rsp = null; + try + { + stream = request.GetRequestStream(); + stream.Write(byteArray, 0, byteArray.Length); + stream.Close(); + rsp = request.GetResponse(); + stream = rsp.GetResponseStream(); + reader = new StreamReader(stream); + string rrend = reader.ReadToEnd(); + LogHelper.Info($"{url} response={rrend}"); + return rrend; + } + catch (Exception ex) + { + LogHelper.Info($"{url} err={ex.Message}"); + return ""; + } + finally + { + // 閲婃斁璧勬簮 + if (reader != null) reader.Close(); + if (stream != null) stream.Close(); + if (rsp != null) rsp.Close(); + } + + } + #endregion [鑷畾涔夌被][20250325095622918][HttpHelper] } - catch (Exception ex) { - LogHelper.Info($"{url} err={ex.Message}"); - return ""; - } - finally { - // 閲婃斁璧勬簮 - if (reader != null) reader.Close(); - if (stream != null) stream.Close(); - if (rsp != null) rsp.Close(); - } - -} -#endregion [鑷畾涔夌被][20250325095622918][HttpHelper] -} -public class HKResult -{ -#region [鑷畾涔夌被][20250325095900399][HKResult] - /// <summary> -/// 杩斿洖缂栫爜 -/// </summary> -public string code { get; set; } - -/// <summary> -/// 杩斿洖娑堟伅 -/// </summary> -public string message { get; set; } - -/// <summary> -/// 璇锋眰缂栧彿 -/// </summary> -public string reqCode { get; set; } - -/// <summary> -/// 鑷畾涔夎繑鍥烇紙杩斿洖浠诲姟鍗曞彿锛�-/// </summary> -public string data { get; set; } -#endregion [鑷畾涔夌被][20250325095900399][HKResult] -} -public class SYSHelper -{ -#region [鑷畾涔夌被][20250325131633664][SYSHelper] - private static object locker = new object(); -internal static int GetSerialNumber(string snType, string prefix, string Vend = "0") -{ - if (Vend == "1") - Vend = DateTime.Now.ToString("yyMMdd"); - int result = 0; - lock (locker) + public class HKResult { - SYSRepository sysservice = new SYSRepository(); - var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend); + #region [鑷畾涔夌被][20250325095900399][HKResult] + /// <summary> + /// 杩斿洖缂栫爜 + /// </summary> + public string code { get; set; } - if (sId != null) + /// <summary> + /// 杩斿洖娑堟伅 + /// </summary> + public string message { get; set; } + + /// <summary> + /// 璇锋眰缂栧彿 + /// </summary> + public string reqCode { get; set; } + + /// <summary> + /// 鑷畾涔夎繑鍥烇紙杩斿洖浠诲姟鍗曞彿锛�+ /// </summary> + public string data { get; set; } + #endregion [鑷畾涔夌被][20250325095900399][HKResult] + } + public class SYSHelper + { + #region [鑷畾涔夌被][20250325131633664][SYSHelper] + private static object locker = new object(); + internal static int GetSerialNumber(string snType, string prefix, string Vend = "0") { - + if (Vend == "1") + Vend = DateTime.Now.ToString("yyMMdd"); + int result = 0; + lock (locker) + { + SYSRepository sysservice = new SYSRepository(); + var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend); + + if (sId != null) + { + sId.CN_N_MAX++; sId.CN_T_LAST = DateTime.Now; //sysservice.Update(sId); @@ -513,71 +540,70 @@ sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).CurrentValue = sId.CN_N_MAX; sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).IsModified = true; - sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).CurrentValue = sId.CN_T_LAST; + sysservice.dbcontext.Entry(sId).Property(x => x.CN_T_LAST).CurrentValue = sId.CN_T_LAST; - sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).IsModified = true; - + sysservice.dbcontext.Entry(sId).Property(x => x.CN_T_LAST).IsModified = true; + sysservice.dbcontext.SaveChanges(); result = sId.CN_N_MAX; + } + else + { + sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0, CN_S_APP_TYPE = "WCS" }; + sysservice.Insert(sId); + } + } + return result; } - else - { - sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0,CN_S_APP_TYPE="WCS" }; - sysservice.Insert(sId); - } + #endregion [鑷畾涔夌被][20250325131633664][SYSHelper] } - return result; -} -#endregion [鑷畾涔夌被][20250325131633664][SYSHelper] -} -public class TaskProcess -{ -#region [鑷畾涔夌被][20250325152141671][TaskProcess] - internal static bool CreateTask(string no, string from, string to, string taskType, int pri, List<string> cntrs, string workMode = "AGV", int cntrCount = 1, int startLayer = 1, int endLayer = 1) -{ - - LogHelper.Debug($"杈撻�绾縍GV绌烘墭浠诲姟 from:{from}>to {to}寮�鍒涘缓>"); - var cntrInfo = string.Join(",", cntrs); - ILocRepository locc = new LocRepository(); - var fromLoc = locc.FindEntity(x => x.S_LOC_CODE == from); - var endLoc = locc.FindEntity(x => x.S_LOC_CODE == to); - + public class TaskProcess + { + #region [鑷畾涔夌被][20250325152141671][TaskProcess] + internal static bool CreateTask(string no, string from, string to, string taskType, int pri, List<string> cntrs, string workMode = "AGV", int cntrCount = 1, int startLayer = 1, int endLayer = 1) + { + LogHelper.Info($"杈撻�绾縍GV绌烘墭浠诲姟 from:{from}>to {to}寮�鍒涘缓>"); + + var cntrInfo = string.Join(",", cntrs); + ILocRepository locc = new LocRepository(); + var fromLoc = locc.FindEntity(x => x.S_LOC_CODE == from); + var endLoc = locc.FindEntity(x => x.S_LOC_CODE == to); + var s = Settings.deviceInfos.Find(x => x.location.Contains(from)) != null; var e = Settings.deviceInfos.Find(x => x.location.Contains(to)) != null; string t = "F01"; if (s && !e) t = "A002"; if (!s && e) t = "A003"; if (s && e) t = "A004"; - try - { + try + { - TaskEntity wmsTask = new TaskEntity() - { - S_ID = Guid.NewGuid().ToString(), - S_STATE = "缂栬緫", - T_CREATE = DateTime.Now, - T_MODIFY = DateTime.Now, + TaskEntity wmsTask = new TaskEntity() + { + S_ID = Guid.NewGuid().ToString(), + S_STATE = "缂栬緫", + T_CREATE = DateTime.Now, + T_MODIFY = DateTime.Now, - S_TASK_NO = GenerateTaskNo(), - S_START_LAREA = fromLoc.S_AREA_CODE, - S_END_LAREA = endLoc.S_AREA_CODE, - S_DEPART_NAME = "", - S_START_LOC = from, - S_END_LOC = to, - S_TYPE = taskType, - S_SRC_NO = no,// - N_PRIORITY = pri, - S_WORK_MODE = workMode, - S_B_STATE = "鏈墽琛�, - S_CNTRS = cntrInfo, - N_START_LAYER = startLayer, - N_END_LAYER = endLayer, - N_CNTR_COUNT = cntrCount, - S_INDEX=t, - }; - ITaskRepository taskserice = new TaskRepository(); - taskserice.Insert(wmsTask); - + S_TASK_NO = GenerateTaskNo(), + S_START_LAREA = fromLoc.S_AREA_CODE, + S_END_LAREA = endLoc.S_AREA_CODE, + S_DEPART_NAME = "", + S_START_LOC = from, + S_END_LOC = to, + S_TYPE = taskType, + S_SRC_NO = no,// + N_PRIORITY = pri, + S_WORK_MODE = workMode, + S_B_STATE = "鏈墽琛�, + S_CNTRS = cntrInfo, + N_START_LAYER = startLayer, + N_END_LAYER = endLayer, + N_CNTR_COUNT = cntrCount, + S_INDEX = t, + }; + ITaskRepository taskserice = new TaskRepository(); + taskserice.Insert(wmsTask); if (workMode == "AGV") { fromLoc.S_LOCK_STATE = "鍑哄簱閿�; @@ -585,19 +611,19 @@ locc.Update(fromLoc); locc.Update(endLoc); } - - LogHelper.Debug($"杈撻�绾縍GV绌烘墭浠诲姟 from:{from}>to {to} 鍒涘缓{wmsTask.S_TASK_NO}鎴愬姛"); + + LogHelper.Info($"杈撻�绾縍GV绌烘墭浠诲姟 from:{from}>to {to} 鍒涘缓{wmsTask.S_TASK_NO}鎴愬姛"); return true; - } - catch (Exception ex) - { - LogHelper.Error("CreateTask" + ex.Message, ex); - return false; - } -} + } + catch (Exception ex) + { + LogHelper.Error("CreateTask" + ex.Message, ex); + return false; + } + } - internal static void AddActionRecord(string no, string state, string forkliftNo, string extData,string strloc,string endloc) + internal static void AddActionRecord(string no, string state, string forkliftNo, string extData, string strloc, string endloc) { var action = new TaskActEntity() { @@ -605,8 +631,8 @@ S_STATE = "缂栬緫", T_CREATE = DateTime.Now, T_MODIFY = DateTime.Now, - S_START_LOC= strloc, - S_END_LOC= endloc, + S_START_LOC = strloc, + S_END_LOC = endloc, S_ACTION_CODE = state, S_TASK_NO = no, S_EQ_NO = forkliftNo, @@ -624,18 +650,18 @@ var date = DateTime.Now.ToString("yyMMdd"); return $"TN{date}{id.ToString().PadLeft(4, '0')}"; } -#endregion [鑷畾涔夌被][20250325152141671][TaskProcess] -} -public class Utils -{ -#region [鑷畾涔夌被][20250417094750211][Utils] - -#endregion [鑷畾涔夌被][20250417094750211][Utils] -} -public class ToWMSMES -{ -#region [鑷畾涔夌被][20250531152402452][ToWMSMES] - //2 wms mes + #endregion [鑷畾涔夌被][20250325152141671][TaskProcess] + } + public class Utils + { + #region [鑷畾涔夌被][20250417094750211][Utils] + + #endregion [鑷畾涔夌被][20250417094750211][Utils] + } + public class ToWMSMES + { + #region [鑷畾涔夌被][20250531152402452][ToWMSMES] + //2 wms mes public class CreateTask @@ -685,14 +711,14 @@ return new ReturnMsg { resultCode = -1, resultMsg = "浠诲姟閲嶅涓嬪彂銆� }; } } - - public class ReturnMsg - { - public int resultCode { get; set; } - public string resultMsg { get; set; } - } - - + + public class ReturnMsg + { + public int resultCode { get; set; } + public string resultMsg { get; set; } + } + + internal static ReturnMsg CreatePointTask(CreateTask model) { ITaskRepository taskservice = new TaskRepository(); @@ -736,135 +762,135 @@ { ///1. TaskRepository taskservice = new TaskRepository(); - var tasks = taskservice.FindList(x =>( x.S_B_STATE == "MES"|| x.S_B_STATE == "People") && x.N_PRIORITY == -88); - var VERXs = Settings.deviceInfos?.FindAll(x => x.deviceType==2); + var tasks = taskservice.FindList(x => (x.S_B_STATE == "MES" || x.S_B_STATE == "People") && x.N_PRIORITY == -88); + var VERXs = Settings.deviceInfos?.FindAll(x => x.deviceType == 2); //if (VERXs.Any()) - foreach (var task in tasks) + foreach (var task in tasks) + { + var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC)); + if (sx == null) { - var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC)); - if (sx == null) + //鐩存帴鐢熸垚瀵瑰簲浠诲姟銆�+ var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS.Split(',').ToList()); + if (res) { - //鐩存帴鐢熸垚瀵瑰簲浠诲姟銆�- var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS.Split(',').ToList()); - if (res) + //task.N_PRIORITY = 0; + taskservice.dbcontext.Set<TaskEntity>().Attach(task); + taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0; + taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true; + taskservice.dbcontext.SaveChanges(); + } + } + else + { + var sindex = sx.location.ToList().IndexOf(task.S_END_LOC); + LocRepository locRepository = new LocRepository(); + //鐢熸垚璺宠穬浠诲姟銆� -- 鎵樼洏璐т綅琛ㄣ� + var t1s = taskservice.FindList(x => x.S_SRC_NO == task.S_TASK_NO); + if (t1s.Any()) + { + var t1 = t1s.OrderBy(x => x.T_CREATE).LastOrDefault(); + if (t1.S_END_LOC == task.S_END_LOC) { - //task.N_PRIORITY = 0; - taskservice.dbcontext.Set<TaskEntity>().Attach(task); - taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0; - taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true; - taskservice.dbcontext.SaveChanges(); + task.N_PRIORITY = 0; + task.S_B_STATE = "MES_瀹屾垚"; + taskservice.Update(task); + continue; + } + if (t1.S_B_STATE == "瀹屾垚") + { + //1.缁堢偣鏄惁鏈夋墭鐩樸� 渚濇嵁鏄粓鐐圭殑浠诲姟鏄�浣滀负缁堢偣锛岃繕鏄捣鐐广� + //var ec = taskservice.FindList(x => (x.S_START_LOC == task.S_START_LOC || x.S_END_LOC == task.S_END_LOC) /*&& DateTime.Now.Subtract(x.T_CREATE).TotalHours < 5*/).OrderByDescending(x => x.T_CREATE).FirstOrDefault();//($"select top 1 * from TN_TASK WHERE S_START_LOC='{task.S_END_LOC}' OR S_END_LOC='{task.S_END_LOC}' ORDER BY T_CREATE DESC"); + //var ec = taskservice.FindList(x => x.S_START_LOC == task.S_START_LOC && x.S_END_LOC == task.S_START_LOC, new Common.Data.Pagination + // { + // page = 1, + // sidx = "T_CREATE", + // sord = "desc", + // rows = 1 + // }).FirstOrDefault(); + TaskEntity ec = null; + var dev = Conn.榛樿Redis.GetValue(sx.deviceName + "." + (sindex == 0 ? "D1224" : "D1225")); + if (dev?.Trim() == "1") + ec = taskservice.FindList(x => x.S_END_LOC == task.S_END_LOC && x.S_B_STATE == "瀹屾垚", new Common.Data.Pagination + { + page = 1, + sidx = "T_CREATE", + sord = "desc", + rows = 1 + }).FirstOrDefault(); + if (t1.S_START_LOC == task.S_START_LOC && ec != null)//!= task.S_END_LOC) + { + //绗簩娈点� + LocEntity endLoc = null; + var di = sx; + if (di != null) + { + foreach (var ssloc in di.deviceNo) + { + var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); + if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�) + { + endLoc = endloc; + break; + } + } + if (endLoc != null) + { + var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "涓嬬┖", 7, ec.S_CNTRS.Split(',').ToList()); + if (res) + { + task.N_PRIORITY = 0; taskservice.Update(task); + } + } + } + } + else + { + var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + "琛ユ弧", 6, task.S_CNTRS.Split(',').ToList()); + if (res) + { + task.N_PRIORITY = 0; taskservice.Update(task); + } + } } } else { - var sindex = sx.location.ToList().IndexOf(task.S_END_LOC); - LocRepository locRepository = new LocRepository(); - //鐢熸垚璺宠穬浠诲姟銆� -- 鎵樼洏璐т綅琛ㄣ� - var t1s = taskservice.FindList(x => x.S_SRC_NO == task.S_TASK_NO); - if (t1s.Any()) + //鐢熸垚绗竴娈点� + LocEntity endLoc = null; + var di = sx; + if (di != null) { - var t1 = t1s.OrderBy(x => x.T_CREATE).LastOrDefault(); - if (t1.S_END_LOC == task.S_END_LOC) + foreach (var ssloc in di.deviceNo) { - task.N_PRIORITY = 0; - task.S_B_STATE = "MES_瀹屾垚"; - taskservice.Update(task); - continue; - } - if (t1.S_B_STATE == "瀹屾垚") - { - //1.缁堢偣鏄惁鏈夋墭鐩樸� 渚濇嵁鏄粓鐐圭殑浠诲姟鏄�浣滀负缁堢偣锛岃繕鏄捣鐐广� - //var ec = taskservice.FindList(x => (x.S_START_LOC == task.S_START_LOC || x.S_END_LOC == task.S_END_LOC) /*&& DateTime.Now.Subtract(x.T_CREATE).TotalHours < 5*/).OrderByDescending(x => x.T_CREATE).FirstOrDefault();//($"select top 1 * from TN_TASK WHERE S_START_LOC='{task.S_END_LOC}' OR S_END_LOC='{task.S_END_LOC}' ORDER BY T_CREATE DESC"); - //var ec = taskservice.FindList(x => x.S_START_LOC == task.S_START_LOC && x.S_END_LOC == task.S_START_LOC, new Common.Data.Pagination - // { - // page = 1, - // sidx = "T_CREATE", - // sord = "desc", - // rows = 1 - // }).FirstOrDefault(); - TaskEntity ec = null; - var dev = Conn.榛樿Redis.GetValue(sx.deviceName + "." + (sindex == 0 ? "D1224" : "D1225")); - if (dev?.Trim() == "1") - ec = taskservice.FindList(x =>x.S_END_LOC == task.S_END_LOC&&x.S_B_STATE=="瀹屾垚", new Common.Data.Pagination - { - page = 1, - sidx = "T_CREATE", - sord = "desc", - rows = 1 - }).FirstOrDefault(); - if (t1.S_START_LOC == task.S_START_LOC && ec != null)//!= task.S_END_LOC) + var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); + if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�) { - //绗簩娈点� - LocEntity endLoc = null; - var di = sx; - if (di != null) - { - foreach (var ssloc in di.deviceNo) - { - var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); - if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�) - { - endLoc = endloc; - break; - } - } - if (endLoc != null) - { - var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "涓嬬┖", 7, ec.S_CNTRS.Split(',').ToList()); - if (res) - { - task.N_PRIORITY = 0; taskservice.Update(task); - } - } - } + endLoc = endloc; + break; } - else + } + if (endLoc != null) + { + var res = TaskProcess.CreateTask("", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "婊¤浆", 8, task.S_CNTRS.Split(',').ToList()); + if (res) { - var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + "琛ユ弧", 6, task.S_CNTRS.Split(',').ToList()); - if (res) - { - task.N_PRIORITY = 0; taskservice.Update(task); - } + task.N_PRIORITY = 0; taskservice.Update(task); } } } - else - { - //鐢熸垚绗竴娈点� - LocEntity endLoc = null; - var di = sx; - if (di != null) - { - foreach (var ssloc in di.deviceNo) - { - var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); - if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�) - { - endLoc = endloc; - break; - } - } - if (endLoc != null) - { - var res = TaskProcess.CreateTask("", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "婊¤浆", 8, task.S_CNTRS.Split(',').ToList()); - if (res) - { - task.N_PRIORITY = 0; taskservice.Update(task); - } - } - } - } - } + } + } //var VERX = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains("鎹风灛鎶撹噦")); //if () ///2 鐪嬬紦瀛樺尯銆�娌℃弧鐨勩� } - - -#endregion [鑷畾涔夌被][20250531152402452][ToWMSMES] -} + + + #endregion [鑷畾涔夌被][20250531152402452][ToWMSMES] + } } \ No newline at end of file -- Gitblit v1.9.1