From c527a91673f8a53bc60280edc5dc1038e91b0266 Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期一, 28 七月 2025 16:52:18 +0800 Subject: [PATCH] 1 --- 2025年6月12日/AuxAllWCS/Build/Project/代码/VS自定义类/AutoThread.cs | 336 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 272 insertions(+), 64 deletions(-) diff --git "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" index 6a9318b..b341b89 100644 --- "a/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" +++ "b/2025\345\271\2646\346\234\21012\346\227\245/AuxAllWCS/Build/Project/\344\273\243\347\240\201/VS\350\207\252\345\256\232\344\271\211\347\261\273/AutoThread.cs" @@ -30,11 +30,50 @@ using System.Net.NetworkInformation; using System.Windows.Documents; using System.Text.RegularExpressions; +using GZ.Device.PLC; +using System.Runtime.CompilerServices; +using ServiceStack.Text; +using GZ.Projects.AuxAllWCS; namespace GZ.Projects.AuxAllWCS { + public static class ExtendClass + { + public static void Disnull(this TaskRepository repository) + { + repository.dbcontext.Dispose(); + repository = null; + } + public static void Disnull(this LocRepository repository) + { + repository.dbcontext.Dispose(); + repository = null; + } + public static void Disnull(this TaskActRepository repository) + { + repository.dbcontext.Dispose(); + repository = null; + } + public static void Disnull(this SYSRepository repository) + { + repository.dbcontext.Dispose(); + repository = null; + } + } public partial class AutoThread { + /// <summary> + /// 1 鍙紑绾跨▼ Device Client + /// 2 鍙紑璁惧 Device Server + /// 3 鍏ㄥ紑 + /// </summary> + public static readonly int _type = 1; + /// <summary> + /// 1 modbus + /// 2 -24 vxr 25 S7 + /// 3 MC + /// </summary> + public static readonly string tys = "1 2 24 25 3"; private static AutoThread _instance; @@ -60,6 +99,12 @@ public static object InvokeMethod(object instance, string methodName, params object[] args) { var cacheKey = $"{instance.GetType().FullName}_{methodName}"; + + if (AutoThread._type % 2 == 0) + { + Console.WriteLine($"{AutoThread._type}> 褰撳墠鏄�Device Server 妯″紡銆�); + return null; + } try { @@ -90,7 +135,7 @@ } catch (Exception ex) { - LogHelper.Error($"InvokeMethod > cacheKey-{ex.Message}", ex); + LogHelper.Error($"InvokeMethod > cacheKey:{cacheKey}-{ex.Message}", ex); throw ex; } } @@ -126,6 +171,7 @@ // return _repository; // } //} + /// <summary> /// 閰嶇疆鍒濆鍖栥� /// </summary> @@ -152,9 +198,11 @@ } + public void ThreaTotal(Tag tag, Device device) { List<Task> tasks = new List<Task>(); + LogHelper.Info("ThreaTotal 绾跨▼鎬荤嚎鍚姩"); tasks.Add(GetTask(delegate (Tag tag1, Device device1) { try @@ -202,6 +250,7 @@ tasks.Add(GetTask(taskssss1, tag, 3000)); tasks.Add(GetTask(taskssss2, tag, 3000)); tasks.Add(GetTask(taskssss3, tag, 3000)); + tasks.Add(GetTask(task20132027, tag, 3000)); //tasks.Add(GetTask(sa1022, tag, 3000)); //tasks.Add(GetTask(sa1025, tag, 3000)); //tasks.Add(GetTask(sa1030, tag, 3000)); @@ -216,8 +265,58 @@ tasks.Add(GetTask(ThreadMXC5, tag, 3000)); tasks.Add(GetTask(ThreadMXC6, tag, 3000)); + tasks.Add(GetTask(ThreadS7helper, tag, 3000)); + LogHelper.Info("ThreaTotal 绾跨▼鎬荤嚎runing"); Task.WaitAll(tasks.ToArray()); + LogHelper.Info("ThreaTotal 绾跨▼鎬荤嚎over"); + } + + + private void ThreadS7helper(Tag tag) + { + //var plc = new Plc(CpuType.S71500,); + + //foreach (var item in collection) + //{ + // S7.Net.Plc plc = new Plc(CpuType.S71500, item.address, 0, 1); + // Link(plc); + // PLCS.Add(item.deviceName, plc); + //} + } + + void task20132027(Tag tag) + { + { + var t20132027 = tag.ssx杈撻�绾�s2027; + LogHelper.Info($"鏌ョ湅 2027浠诲姟 R鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RtaskState{t20132027.RtaskState} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit} w鎵樼洏鍙凤細{t20132027.w鎵樼洏鐮亇"); + //if (tag.ssx杈撻�绾�s2027.wTaskNo > 0 && tag.ssx杈撻�绾�s2020.w鎵樼洏鐮�!= tag.ssx杈撻�绾�s2027.R鎵樼洏鐮� + //{ + // tag.ssx杈撻�绾�s2027.wEbit = 0; + // tag.ssx杈撻�绾�s2027.w鎵樼洏鐮�= ""; + // tag.ssx杈撻�绾�s2027.wTaskNo = 0; + //} + } + { + var t20132027 = tag.ssx杈撻�绾�s2020; + LogHelper.Info($"鏌ョ湅 2020浠诲姟 R鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RtaskState{t20132027.RtaskState} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit} w鎵樼洏鍙凤細{t20132027.w鎵樼洏鐮亇"); + //if (tag.ssx杈撻�绾�s2020.wTaskNo > 0 && tag.ssx杈撻�绾�s2020.w鎵樼洏鐮�!= tag.ssx杈撻�绾�s2020.R鎵樼洏鐮� + //{ + // tag.ssx杈撻�绾�s2020.wEbit = 0; + // tag.ssx杈撻�绾�s2020.w鎵樼洏鐮�= ""; + // tag.ssx杈撻�绾�s2020.wTaskNo = 0; + //} + } + { + var t20132027 = tag.ssx杈撻�绾�s2013; + LogHelper.Info($"鏌ョ湅 2013浠诲姟 R鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RtaskState{t20132027.RtaskState} RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit} w鎵樼洏鍙凤細{t20132027.w鎵樼洏鐮亇"); + //if (tag.ssx杈撻�绾�s2013.wTaskNo > 0 && tag.ssx杈撻�绾�s2013.w鎵樼洏鐮�!= tag.ssx杈撻�绾�s2013.R鎵樼洏鐮� + //{ + // tag.ssx杈撻�绾�s2013.wEbit = 0; + // tag.ssx杈撻�绾�s2013.w鎵樼洏鐮�= ""; + // tag.ssx杈撻�绾�s2013.wTaskNo = 0; + } + //} } void taskssss1(Tag tag) { @@ -238,7 +337,7 @@ sa3010(tag); } - public static ConcurrentDictionary<string, bool> Iponlines = new ConcurrentDictionary<string, bool>(); + //public static ConcurrentDictionary<string, bool> Iponlines = new ConcurrentDictionary<string, bool>(); public bool IsMachineOnline(string hostNameOrIp, int timeout = 1000) { //device.p鍙戦偅绉�涓嬬嚎.Config.IP @@ -1213,6 +1312,8 @@ } } } + task1 = null; + task2 = null; LogHelper.Info($"rgv 澶勭悊瀹屾垚銆倀askend 125"); #endregion } @@ -1236,7 +1337,6 @@ TaskRepository taskRepository = new TaskRepository(); try { - var requires1 = taskActRepository.FindList(x => taskCOdes.Contains(x.S_ACTION_CODE) && x.N_CREATEMETHOD == 0).OrderBy(x => x.T_CREATE).ToList(); var timeMorhours = requires1.FindAll(x => DateTime.Now.Subtract(x.T_CREATE).TotalHours > 1); if (timeMorhours.Any()) @@ -1681,6 +1781,8 @@ } } + requires1 = null; + timeMorhours = null; } catch (Exception ex) { @@ -2421,27 +2523,45 @@ private void sa2008(Tag tag) { + string tno = "sa2008";// TaskProcess.GenerateTaskNo("鏃ュ織娴佹按鍙�, "LOG"); var rdisTcode = RedisHelper.Get<string>($"Arrive{2008}BarcodeLast", out string msg); - LogHelper.Info($"2008 鎵樼洏鍙穥tag.SA2030.R鎵樼洏鐮亇 redis Arrive{2008}BarcodeLast鎵樼洏鍙凤細{rdisTcode} 鍖归厤鏍¢獙銆�); - if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2008.R鎵樼洏鐮� && rdisTcode != tag.ssx杈撻�绾�s2008.R鎵樼洏鐮� + var ntr = tag.ssx杈撻�绾�s2008.R鎵樼洏鐮� + LogHelper.Info($"[{tno}]2008 鎵樼洏鍙穥ntr} redis Arrive{2008}BarcodeLast鎵樼洏鍙凤細{rdisTcode},浠诲姟鐢宠锛歿tag.ssx杈撻�绾�s2008.RtaskState} 鍖归厤鏍¢獙銆�); + if (ntr == "123") + ntr = ""; + if (rdisTcode != ntr && (tag.ssx杈撻�绾�s2008.wTaskNo > 0 || !string.IsNullOrEmpty(tag.ssx杈撻�绾�s2008.w鎵樼洏鐮�)) { - var ntr = tag.ssx杈撻�绾�s2008.R鎵樼洏鐮� - var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new - { - cntrCode = ntr, - type = 1 - })); - var strr = JsonConvert.DeserializeObject<MES2234>(str); - if (strr.success && strr.data != null) - { - var end = (strr.data.lineNum == 1 ? 2027 - : strr.data.lineNum == 2 ? 2020 : 2013); - tag.ssx杈撻�绾�s2008.wTaskNo = (uint)(20080000 + end); - tag.ssx杈撻�绾�s2008.wEbit = 2027; - tag.ssx杈撻�绾�s2008.R鎵樼洏鐮�= ntr; + LogHelper.Info($"[{tno}]2008 鎵樼洏鍙穥ntr} 鍒囨崲鎵樼洏鍙凤紙涔熷彲鑳芥竻绌轰簡锛夛紝娓呴櫎浠诲姟鏁版嵁銆倃TaskNo锛寃Ebit=0锛寃鎵樼洏鐮�绌�); + tag.ssx杈撻�绾�s2008.wEbit = 0; + LogHelper.Info($"[{tno}] wEbit 0"); + tag.ssx杈撻�绾�s2008.w鎵樼洏鐮�= ""; + LogHelper.Info($"[{tno}] w鎵樼洏鐮�''"); + tag.ssx杈撻�绾�s2008.wTaskNo = 0; + LogHelper.Info($"[{tno}] wTaskNo 0"); + if (string.IsNullOrEmpty(ntr)) RedisHelper.Add<string>($"Arrive{2008}BarcodeLast", ntr, out msg); - } } + if (tag.ssx杈撻�绾�s2008.RtaskState == 1) + if (!string.IsNullOrEmpty(ntr) && rdisTcode != ntr) + { + LogHelper.Info($"[{tno}]2008 鎵樼洏鍙穥ntr} 鐢宠WMS 鍒嗛亾"); + var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + { + cntrCode = ntr, + type = 1 + })); + var strr = JsonConvert.DeserializeObject<MES2234>(str); + if (strr.success && strr.data != null) + { + tag.ssx杈撻�绾�s2008.w鎵樼洏鐮�= ntr; + var end = (ushort)(strr.data.lineNum == 1 ? 2027 + : strr.data.lineNum == 2 ? 2020 : 2013); + tag.ssx杈撻�绾�s2008.wTaskNo = (uint)(20080000 + end); + tag.ssx杈撻�绾�s2008.wEbit = end; + LogHelper.Info($"[{tno}]2008 鎵樼洏鍙穥ntr} 鍐欎换鍔★紝wTaskNo={(uint)(20080000 + end)} wEbit={end} w鎵樼洏鐮�{ntr} Arrive{2008}BarcodeLast={ntr} "); + RedisHelper.Add<string>($"Arrive{2008}BarcodeLast", ntr, out msg); + } + } } private void sa2030(Tag tag) @@ -2614,6 +2734,8 @@ i = 0; } + //LogHelper.Info($"_methodCache>>>>" + _methodCache.Count + ">>>>" + JsonConvert.SerializeObject(_methodCache.Keys)); + //Console.WriteLine($"SA2030 浠诲姟鐘舵�锛� =====>"); //Console.WriteLine($"SA2030 浠诲姟鐘舵�锛歿tag.SA2030.RtaskState}- 绌洪棽{tag.SA2030.R5绌洪棽} - barcode:{tag.SA2030.R鎵樼洏鐮亇"); @@ -2646,60 +2768,99 @@ switch (task.S_START_LOC) { case "2030": - if (!string.IsNullOrEmpty(tag.SA2030.R鎵樼洏鐮�) + //if (!string.IsNullOrEmpty(tag.SA2030.R鎵樼洏鐮�) + //{ + // LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 2030 鍑哄彛鎵樼洏鍙穥tag.SA2030.R鎵樼洏鐮亇 鍖归厤鏍¢獙銆�); + // var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new + // { + // cntrCode = tag.SA2030.R鎵樼洏鐮� + // type = 1 + // })); + // var strr = JsonConvert.DeserializeObject<MES2234>(str); + // if (strr.success && strr.data.materialCode == task.S_INDEX) + // { + // task.S_CNTRS = tag.SA2030.R鎵樼洏鐮� + // taskservice.Update(task); + // goto gotoOOOOOOOOO; + // } + // else + // { + // LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐗╂枡{task.S_INDEX} 涓�2030 鍑哄彛鐨勬墭鐩樼墿鏂檣strr.data.materialCode}涓嶇鍚�); + // } + //} + //else + if (string.IsNullOrEmpty(tag.SA2030.R鎵樼洏鐮�) { - LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 2030 鍑哄彛鎵樼洏鍙穥tag.SA2030.R鎵樼洏鐮亇 鍖归厤鏍¢獙銆�); - var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new - { - cntrCode = tag.SA2030.R鎵樼洏鐮� - type = 1 - })); - var strr = JsonConvert.DeserializeObject<MES2234>(str); - if (strr.success && strr.data.materialCode == task.S_INDEX) - { - task.S_CNTRS = tag.SA2030.R鎵樼洏鐮� - taskservice.Update(task); - goto gotoOOOOOOOOO; - } - else - { - LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐗╂枡{task.S_INDEX} 涓�2030 鍑哄彛鐨勬墭鐩樼墿鏂檣strr.data.materialCode}涓嶇鍚�); - } - } - else - { + //鍒涘缓鍑哄簱鐩存帴璧嬪�缁檓es浠诲姟銆傞槻姝㈠嚭搴撴參锛屽娆″嚭搴撱� + + //2027 2220 2013.. 璇嗗埆涓�笅锛屽紑濮嬪簱 //1 鐪�7 20 13 鏄惁鏈変换鍔°� 鏈夊垯涓嶅嚭浜嗐� 绛夊嚭鍙e垽鏂尮閰嶃� //2 閮芥病鏈変换鍔★紝閫愪釜鍖归厤鏄惁绗﹀悎锛屽垯鍑哄簱銆� //LogHelper.Info($""); { var t20132027 = tag.ssx杈撻�绾�s2027; - LogHelper.Info($"璇嗗埆2027浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); - if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + LogHelper.Info($"mes璇嗗埆2027浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); + //if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + //{ + // LogHelper.Info($"2027浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); + // continue; + //} + if (t20132027.wTaskNo > 0 && t20132027.RtaskState == 1) { - LogHelper.Info($"2027浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); - continue; + LogHelper.Info($"2027 宸蹭笅鍙戜换鍔★紝缁堟"); + } + else + { + LogHelper.Info($"2027 浠诲姟娓呯┖"); + t20132027.wEbit = 0; + t20132027.w鎵樼洏鐮�= ""; + t20132027.wTaskNo = 0; } } { var t20132027 = tag.ssx杈撻�绾�s2020; - LogHelper.Info($"璇嗗埆2027浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); - if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + LogHelper.Info($"mes璇嗗埆2020浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); + //if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + //{ + // LogHelper.Info($"2020浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); + // continue; + //} + + if (t20132027.wTaskNo > 0 && t20132027.RtaskState == 1) { - LogHelper.Info($"2020浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); - continue; + LogHelper.Info($"2020 宸蹭笅鍙戜换鍔★紝缁堟"); + } + else + { + LogHelper.Info($"2020 浠诲姟娓呯┖"); + t20132027.wEbit = 0; + t20132027.w鎵樼洏鐮�= ""; + t20132027.wTaskNo = 0; } } { var t20132027 = tag.ssx杈撻�绾�s2013; - LogHelper.Info($"璇嗗埆2027浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); - if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + LogHelper.Info($"mes璇嗗埆2013浠诲姟 鎵樼洏鍙凤細{t20132027.R鎵樼洏鐮亇 RTaskNo>{t20132027.RTaskNo} REbit>{t20132027.REbit} wTaskNo>{t20132027.wTaskNo} wEbit>{t20132027.wEbit}"); + //if ((t20132027.RTaskNo > 0 && t20132027.REbit == 2030) || (t20132027.wTaskNo > 0 && t20132027.wEbit == 2030)) + //{ + // LogHelper.Info($"2013浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); + // continue; + //} + if (t20132027.wTaskNo > 0 && t20132027.RtaskState == 1) { - LogHelper.Info($"2013浠诲姟 浠诲姟缁堢偣鏄�030 锛岀粓姝�); - continue; + LogHelper.Info($"2013 宸蹭笅鍙戜换鍔★紝缁堟"); + } + else + { + LogHelper.Info($"2013 浠诲姟娓呯┖"); + t20132027.wEbit = 0; + t20132027.w鎵樼洏鐮�= ""; + t20132027.wTaskNo = 0; } } - if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2027.R鎵樼洏鐮�) + + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2027.R鎵樼洏鐮� && tag.ssx杈撻�绾�s2027.RtaskState == 1) { var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new { @@ -2710,14 +2871,16 @@ if (strr.success && strr.data.materialCode == task.S_INDEX) { LogHelper.Info($"2027 璇诲埌鎵樼洏{tag.ssx杈撻�绾�s2027.R鎵樼洏鐮亇 鍖归厤鎴愬姛锛屽啓浠诲姟鍙凤細20272030锛岀粓鐐癸細2030 鍜屾墭鐩樼爜鍚岃"); + tag.ssx杈撻�绾�s2027.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2027.R鎵樼洏鐮� tag.ssx杈撻�绾�s2027.wTaskNo = 20272030; tag.ssx杈撻�绾�s2027.wEbit = 2030; - tag.ssx杈撻�绾�s2027.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2027.R鎵樼洏鐮� - LogHelper.Info($"2027 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆�); + LogHelper.Info($"2027 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆倃鎵樼洏鐮�{tag.ssx杈撻�绾�s2027.w鎵樼洏鐮亇,wTaskNo{tag.ssx杈撻�绾�s2027.wTaskNo} wEbit{tag.ssx杈撻�绾�s2027.wEbit}"); + task.S_CNTRS = tag.ssx杈撻�绾�s2027.R鎵樼洏鐮� + taskservice.Update(task); continue; } } - if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2020.R鎵樼洏鐮�) + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2020.R鎵樼洏鐮� && tag.ssx杈撻�绾�s2020.RtaskState == 1) { var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new { @@ -2728,14 +2891,17 @@ if (strr.success && strr.data.materialCode == task.S_INDEX) { LogHelper.Info($"2020 璇诲埌鎵樼洏{tag.ssx杈撻�绾�s2020.R鎵樼洏鐮亇 鍖归厤鎴愬姛锛屽啓浠诲姟鍙凤細20202030锛岀粓鐐癸細2030 鍜屾墭鐩樼爜鍚岃"); + tag.ssx杈撻�绾�s2020.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2020.R鎵樼洏鐮� tag.ssx杈撻�绾�s2020.wTaskNo = 20202030; tag.ssx杈撻�绾�s2020.wEbit = 2030; - tag.ssx杈撻�绾�s2020.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2020.R鎵樼洏鐮� - LogHelper.Info($"2020 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆�); + LogHelper.Info($"2020 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆倃鎵樼洏鐮�{tag.ssx杈撻�绾�s2020.w鎵樼洏鐮亇,wTaskNo{tag.ssx杈撻�绾�s2020.wTaskNo} wEbit{tag.ssx杈撻�绾�s2020.wEbit}"); + task.S_CNTRS = tag.ssx杈撻�绾�s2020.R鎵樼洏鐮� + taskservice.Update(task); continue; } } - if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2013.R鎵樼洏鐮�) + + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s2013.R鎵樼洏鐮� && tag.ssx杈撻�绾�s2013.RtaskState == 1) { var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new { @@ -2746,14 +2912,20 @@ if (strr.success && strr.data.materialCode == task.S_INDEX) { LogHelper.Info($"2013 璇诲埌鎵樼洏{tag.ssx杈撻�绾�s2013.R鎵樼洏鐮亇 鍖归厤鎴愬姛锛屽啓浠诲姟鍙凤細20132030锛岀粓鐐癸細2030 鍜屾墭鐩樼爜鍚岃"); + tag.ssx杈撻�绾�s2013.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2013.R鎵樼洏鐮� tag.ssx杈撻�绾�s2013.wTaskNo = 20132030; tag.ssx杈撻�绾�s2013.wEbit = 2030; - tag.ssx杈撻�绾�s2013.w鎵樼洏鐮�= tag.ssx杈撻�绾�s2013.R鎵樼洏鐮� - LogHelper.Info($"2013 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆�); + LogHelper.Info($"2013 > 2030 SSX浠诲姟涓嬪彂瀹屾垚銆倃鎵樼洏鐮�{tag.ssx杈撻�绾�s2013.w鎵樼洏鐮亇,wTaskNo{tag.ssx杈撻�绾�s2013.wTaskNo} wEbit{tag.ssx杈撻�绾�s2013.wEbit}"); + task.S_CNTRS = tag.ssx杈撻�绾�s2013.R鎵樼洏鐮� + taskservice.Update(task); continue; } } - LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鏃ュ織鑳借窇鍒拌繖锛岃鏄庢病鐗╂枡锛屾垨鑰呴兘涓嶇鍚�鏃犳硶鍘�030"); + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鏃ュ織鑳借窇鍒拌繖锛岃鏄庢病鐗╂枡锛屾垨鑰呴兘涓嶇鍚�鏃犳硶鍘�2030"); + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 鐗╂枡{task.S_INDEX} 2030 鏈夋墭鐩樸�鍗犱簡浣嶇疆闃绘尅浠诲姟銆�); } break; case "1019": @@ -2900,6 +3072,15 @@ LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 1019 RtaskState>{tag.SA1019.RtaskState} 鏈敵璇稲GV浠诲姟锛屼笉鎺ㄩ�"); continue; } + if (!string.IsNullOrEmpty(tag.SA1019.R鎵樼洏鐮� && tag.SA1019.R鎵樼洏鐮�== task.S_CNTRS) + { + + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 1019 鎵樼洏鍙蜂笌浠诲姟涓嶅尮閰嶏紝涓嶆帹閫�); + continue; + } } break; case "2030": @@ -2908,6 +3089,15 @@ if (tag.SA2030.RtaskState != 4) { LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 2030 RtaskState>{tag.SA2030.RtaskState} 鏈敵璇稲GV浠诲姟锛屼笉鎺ㄩ�"); + continue; + } + if (!string.IsNullOrEmpty(tag.SA2030.R鎵樼洏鐮� && tag.SA2030.R鎵樼洏鐮�== task.S_CNTRS) + { + + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 2030 鎵樼洏鍙蜂笌浠诲姟涓嶅尮閰嶏紝涓嶆帹閫�); continue; } } @@ -2920,6 +3110,15 @@ LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 3005 RtaskState>{tag.ssx杈撻�绾�s3005.RtaskState} 鏈敵璇稲GV浠诲姟锛屼笉鎺ㄩ�"); continue; } + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s3005.R鎵樼洏鐮� && tag.ssx杈撻�绾�s3005.R鎵樼洏鐮�== task.S_CNTRS) + { + + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 3005 鎵樼洏鍙蜂笌浠诲姟涓嶅尮閰嶏紝涓嶆帹閫�); + continue; + } } break; case "3010": @@ -2928,6 +3127,15 @@ if (tag.ssx杈撻�绾�s3010.RtaskState != 4) { LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 3010 RtaskState>{tag.ssx杈撻�绾�s3010.RtaskState} 鏈敵璇稲GV浠诲姟锛屼笉鎺ㄩ�"); + continue; + } + if (!string.IsNullOrEmpty(tag.ssx杈撻�绾�s3010.R鎵樼洏鐮� && tag.ssx杈撻�绾�s3010.R鎵樼洏鐮�== task.S_CNTRS) + { + + } + else + { + LogHelper.Info($"瑙i噴MES浠诲姟 ->{task.S_TASK_NO} 璧风偣 3010 鎵樼洏鍙蜂笌浠诲姟涓嶅尮閰嶏紝涓嶆帹閫�); continue; } } @@ -3490,7 +3698,7 @@ Console.WriteLine($"ip= {ip.ToString()}"); new HttpServer(ip.ToString()).HttpServerRun(); new TcpServer(ip.ToString()); - var server = new EnhancedWebSocketServer($"http://{ip.ToString()}:8809/").StartAsync(); + //var server = new EnhancedWebSocketServer($"http://{ip.ToString()}:8809/").StartAsync(); //var client = new WebSocketClient($"http://{ip.ToString()}:8809/").ConnectAsync(); break; } -- Gitblit v1.9.1