| | |
| | | { |
| | | var cacheKey = $"{instance.GetType().FullName}_{methodName}"; |
| | | |
| | | if (!_methodCache.TryGetValue(cacheKey, out var methodDelegate)) |
| | | try |
| | | { |
| | | // è·åæ¹æ³ä¿¡æ¯ |
| | | var methodInfo = instance.GetType().GetMethod( |
| | | methodName, |
| | | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); |
| | | |
| | | if (methodInfo == null) |
| | | throw new MissingMethodException($"Method {methodName} not found"); |
| | | if (!_methodCache.TryGetValue(cacheKey, out var methodDelegate)) |
| | | { |
| | | // è·åæ¹æ³ä¿¡æ¯ |
| | | var methodInfo = instance.GetType().GetMethod( |
| | | methodName, |
| | | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); |
| | | |
| | | // åå»ºå§æå¹¶ç¼å |
| | | methodDelegate = Delegate.CreateDelegate( |
| | | GetDelegateType(methodInfo), |
| | | instance, |
| | | methodInfo); |
| | | if (methodInfo == null) |
| | | throw new MissingMethodException($"Method {methodName} not found"); |
| | | |
| | | _methodCache.TryAdd(cacheKey, methodDelegate); |
| | | // åå»ºå§æå¹¶ç¼å |
| | | methodDelegate = Delegate.CreateDelegate( |
| | | GetDelegateType(methodInfo), |
| | | instance, |
| | | methodInfo); |
| | | |
| | | _methodCache.TryAdd(cacheKey, methodDelegate); |
| | | } |
| | | |
| | | // æ§è¡å§æ |
| | | //if (methodName != "TaskEverythingRun") |
| | | // return null; |
| | | return methodDelegate.DynamicInvoke(args); |
| | | } |
| | | |
| | | // æ§è¡å§æ |
| | | //if (methodName != "TaskEverythingRun") |
| | | // return null; |
| | | return methodDelegate.DynamicInvoke(args); |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error($"InvokeMethod > cacheKey-{ex.Message}", ex); |
| | | throw ex; |
| | | } |
| | | } |
| | | |
| | | // æ ¹æ®æ¹æ³ç¾åçæå¯¹åºçå§æç±»å |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //private static TaskRepository _repository; |
| | | //public static TaskRepository _TpInstence |
| | | //{ |
| | | // get |
| | | // { |
| | | // if (_repository == null) |
| | | // _repository = new TaskRepository(); |
| | | // return _repository; |
| | | // } |
| | | //} |
| | | /// <summary> |
| | | /// é
ç½®åå§åã |
| | | /// </summary> |
| | |
| | | tasks.Add(GetTask(ThreadMXC4, tag, 3000)); |
| | | //tasks.Add(GetTask(ResetGats, tag, 3000)); |
| | | |
| | | |
| | | |
| | | tasks.Add(GetTask(sa1022, tag, 3000)); |
| | | tasks.Add(GetTask(sa1025, tag, 3000)); |
| | | tasks.Add(GetTask(sa1030, tag, 3000)); |
| | | tasks.Add(GetTask(sa2001, tag, 3000)); |
| | | tasks.Add(GetTask(sa2030, tag, 3000)); |
| | | tasks.Add(GetTask(sa2008, tag, 3000)); |
| | | tasks.Add(GetTask(sa3001, tag, 3000)); |
| | | tasks.Add(GetTask(sa3005, tag, 3000)); |
| | | tasks.Add(GetTask(sa3006, tag, 3000)); |
| | | tasks.Add(GetTask(sa3010, tag, 3000)); |
| | | tasks.Add(GetTask(taskssss1, tag, 3000)); |
| | | tasks.Add(GetTask(taskssss2, tag, 3000)); |
| | | tasks.Add(GetTask(taskssss3, tag, 3000)); |
| | | //tasks.Add(GetTask(sa1022, tag, 3000)); |
| | | //tasks.Add(GetTask(sa1025, tag, 3000)); |
| | | //tasks.Add(GetTask(sa1030, tag, 3000)); |
| | | //tasks.Add(GetTask(sa2001, tag, 3000)); |
| | | //tasks.Add(GetTask(sa2030, tag, 3000)); |
| | | //tasks.Add(GetTask(sa2008, tag, 3000)); |
| | | //tasks.Add(GetTask(sa3001, tag, 3000)); |
| | | //tasks.Add(GetTask(sa3005, tag, 3000)); |
| | | //tasks.Add(GetTask(sa3006, tag, 3000)); |
| | | //tasks.Add(GetTask(sa3010, tag, 3000)); |
| | | |
| | | |
| | | tasks.Add(GetTask(ThreadMXC5, tag, 3000)); |
| | | tasks.Add(GetTask(ThreadMXC6, tag, 3000)); |
| | | |
| | | Task.WaitAll(tasks.ToArray()); |
| | | } |
| | | void taskssss1(Tag tag) |
| | | { |
| | | sa1025(tag); |
| | | sa1030(tag); |
| | | } |
| | | void taskssss2(Tag tag) |
| | | { |
| | | sa2001(tag); |
| | | sa2030(tag); |
| | | sa2008(tag); |
| | | } |
| | | void taskssss3(Tag tag) |
| | | { |
| | | sa3001(tag); |
| | | sa3005(tag); |
| | | sa3006(tag); |
| | | sa3010(tag); |
| | | } |
| | | |
| | | public static ConcurrentDictionary<string, bool> Iponlines = new ConcurrentDictionary<string, bool>(); |
| | |
| | | Console.WriteLine($"ThreadTaskRun ä»»å¡ä¸å =================> "); |
| | | LogHelper.Info("ThreadTaskRun ä»»å¡ä¸å"); |
| | | |
| | | ITaskRepository taskservice = new TaskRepository(); |
| | | TaskRepository taskservice = new TaskRepository(); |
| | | try |
| | | { |
| | | LogHelper.Info("ä»»å¡ä¸å AGV ä»»å¡ è¿å
¥"); |
| | |
| | | { |
| | | LogHelper.Info(ex.Message + ex.StackTrace); |
| | | } |
| | | finally |
| | | { |
| | | taskservice.Disnull(); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | var taskCOdes = new List<string> { "Sarrive", "Srelease", "Earrive", "Erelease" }; |
| | | TaskActRepository taskActRepository = new TaskActRepository(); |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | 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()) |
| | | try |
| | | { |
| | | foreach (var mor in timeMorhours) |
| | | |
| | | 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()) |
| | | { |
| | | mor.N_CREATEMETHOD = 2; |
| | | mor.S_REVIEW_COMMENT = "è¶
æ¶ä¸å¤ç"; |
| | | taskActRepository.Update(mor); |
| | | } |
| | | requires1 = requires1.Except(timeMorhours).ToList(); |
| | | } |
| | | foreach (var requires in requires1.GroupBy(x => x.S_TASK_NO)) |
| | | //foreach (var item in requires) |
| | | { |
| | | var rsss = requires.ToList(); |
| | | var item = rsss.OrderBy(x => x.S_ACTION_CODE.Contains("release") ? 0 : 1).LastOrDefault(); |
| | | if (rsss.Count > 1) |
| | | { |
| | | rsss.Remove(item); |
| | | foreach (var mor in rsss) |
| | | foreach (var mor in timeMorhours) |
| | | { |
| | | mor.N_CREATEMETHOD = 3; |
| | | mor.S_REVIEW_COMMENT = "å¤ä½ä¸å¤ç"; |
| | | mor.N_CREATEMETHOD = 2; |
| | | mor.S_REVIEW_COMMENT = "è¶
æ¶ä¸å¤ç"; |
| | | taskActRepository.Update(mor); |
| | | } |
| | | requires1 = requires1.Except(timeMorhours).ToList(); |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE}å
æ
å¤ç =================> "); |
| | | var tin = taskCOdes.IndexOf(item.S_ACTION_CODE); |
| | | if (tin == -1) |
| | | foreach (var requires in requires1.GroupBy(x => x.S_TASK_NO)) |
| | | //foreach (var item in requires) |
| | | { |
| | | item.N_CREATEMETHOD = -1; |
| | | item.S_REVIEW_COMMENT = $"ä¿¡å·æªç¥{item.S_ACTION_CODE}ä¸å¤ç"; |
| | | taskActRepository.Update(item); |
| | | continue; |
| | | } |
| | | var task = taskRepository.FindEntity(x => x.S_TASK_NO == item.S_TASK_NO); |
| | | if (task == null) |
| | | { |
| | | item.N_CREATEMETHOD = -1; |
| | | item.S_REVIEW_COMMENT = $"ä»»å¡ä¸¢å¤±ä¸å¤ç"; |
| | | taskActRepository.Update(item); |
| | | continue; |
| | | } |
| | | string loc = ""; |
| | | if (tin < 2) |
| | | { |
| | | loc = item.S_START_LOC; |
| | | } |
| | | else |
| | | { |
| | | loc = item.S_END_LOC; |
| | | } |
| | | if (loc == null) continue; else loc = loc.Trim(); |
| | | bool goin = tin % 2 == 0; |
| | | bool continuuuuu = false; |
| | | var dev = Settings.deviceInfos.Find(x => x.location.Contains(loc)); |
| | | if (dev != null) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å¤ç =================> "); |
| | | var V = dev.location.ToList().FindIndex(x => x == loc) == 0; |
| | | //è½¦èµ°äº å¼å
æ
|
| | | if (!goin) |
| | | var rsss = requires.ToList(); |
| | | var item = rsss.OrderBy(x => x.S_ACTION_CODE.Contains("release") ? 0 : 1).LastOrDefault(); |
| | | if (rsss.Count > 1) |
| | | { |
| | | if (dev.deviceType == 4) |
| | | rsss.Remove(item); |
| | | foreach (var mor in rsss) |
| | | { |
| | | LogHelper.Info($"车离å¼è¾é线交äº> {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} SSX AGV 交äºããã"); |
| | | switch (loc) |
| | | { |
| | | case "1019": |
| | | { |
| | | SetRedistoPlc("A1019å货交äº.SOver", "true", "A1019å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | case "1030": |
| | | { |
| | | SetRedistoPlc("A1030å货交äº.SOver", "true", "A1030å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | case "2030": |
| | | { |
| | | SetRedistoPlc("A2030å货交äº.SOver", "true", "A2030å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | case "3005": |
| | | { |
| | | SetRedistoPlc("A3005å货交äº.SOver", "true", "A3005å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | SetRedistoPlc("A3010å货交äº.SOver", "true", "A3010å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | //} |
| | | //switch (loc) |
| | | //{ |
| | | case "1022": |
| | | { |
| | | SetRedistoPlc("A1022æ¾è´§äº¤äº.SOver", "true", "A1022æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | case "1025": |
| | | { |
| | | SetRedistoPlc("A1025æ¾è´§äº¤äº.SOver", "true", "A1025æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | case "2001": |
| | | { |
| | | SetRedistoPlc("A2001æ¾è´§äº¤äº.SOver", "true", "A2001æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | tag.SA2001.wTaskNo = 20012007; |
| | | tag.SA2001.wEbit = 2007; |
| | | tag.SA2001.wæçç = TaskProcess.GenerateTaskNo("èææçå·").Substring(3); |
| | | } |
| | | break; |
| | | case "3001": |
| | | { |
| | | SetRedistoPlc("A3001æ¾è´§äº¤äº.SOver", "true", "A3001æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | case "3006": |
| | | { |
| | | SetRedistoPlc("A3006æ¾è´§äº¤äº.SOver", "true", "A3006æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | } |
| | | break; |
| | | } |
| | | mor.N_CREATEMETHOD = 3; |
| | | mor.S_REVIEW_COMMENT = "å¤ä½ä¸å¤ç"; |
| | | taskActRepository.Update(mor); |
| | | } |
| | | else |
| | | { |
| | | if (dev.deviceType == 1) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç =================> "); |
| | | 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", false); |
| | | } |
| | | else if (dev.deviceType == 2) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç =================> "); |
| | | 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 ? "D1220" : "D1221"), "0", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue"); |
| | | } |
| | | else if (dev.deviceType == 5) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç =================> "); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "1", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "0", dev.deviceName + "Queue"); |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç宿 =================> "); |
| | | } |
| | | item.N_CREATEMETHOD = 1; |
| | | item.S_REVIEW_COMMENT = $"å
æ
å¼å¯å®æ"; |
| | | taskActRepository.Update(item); |
| | | } |
| | | //车è¦è¿å
¥äº¤äºã |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE}å
æ
å¤ç =================> "); |
| | | var tin = taskCOdes.IndexOf(item.S_ACTION_CODE); |
| | | if (tin == -1) |
| | | { |
| | | item.N_CREATEMETHOD = -1; |
| | | item.S_REVIEW_COMMENT = $"ä¿¡å·æªç¥{item.S_ACTION_CODE}ä¸å¤ç"; |
| | | taskActRepository.Update(item); |
| | | continue; |
| | | } |
| | | var task = taskRepository.FindEntity(x => x.S_TASK_NO == item.S_TASK_NO); |
| | | if (task == null) |
| | | { |
| | | item.N_CREATEMETHOD = -1; |
| | | item.S_REVIEW_COMMENT = $"ä»»å¡ä¸¢å¤±ä¸å¤ç"; |
| | | taskActRepository.Update(item); |
| | | continue; |
| | | } |
| | | string loc = ""; |
| | | if (tin < 2) |
| | | { |
| | | loc = item.S_START_LOC; |
| | | } |
| | | else |
| | | { |
| | | if (dev.deviceType == 4) |
| | | loc = item.S_END_LOC; |
| | | } |
| | | if (loc == null) continue; else loc = loc.Trim(); |
| | | bool goin = tin % 2 == 0; |
| | | bool continuuuuu = false; |
| | | var dev = Settings.deviceInfos.Find(x => x.location.Contains(loc)); |
| | | if (dev != null) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å¤ç =================> "); |
| | | var locindex = dev.location.ToList().FindIndex(x => x == loc); |
| | | var V = locindex == 0; |
| | | //è½¦èµ°äº å¼å
æ
|
| | | if (!goin) |
| | | { |
| | | LogHelper.Info($"车请æ±è¾é线交äº> {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} SSX AGV 交äºããã"); |
| | | //tag.SA1019.Sagverr |
| | | switch (loc) |
| | | if (dev.deviceType == 4) |
| | | { |
| | | case "1019": |
| | | { |
| | | if (tag.SA1019.SreadCan) |
| | | LogHelper.Info($"车离å¼è¾é线交äº> {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} SSX AGV 交äºããã"); |
| | | switch (loc) |
| | | { |
| | | case "1019": |
| | | { |
| | | LogHelper.Info($"1019 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | SetRedistoPlc("A1019å货交äº.SOver", "true", "A1019å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | else |
| | | break; |
| | | case "1030": |
| | | { |
| | | SetRedistoPlc("A1019å货交äº.Ssetreq", "true", "A1019å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.SA1019.StaskMode = 1; |
| | | SetRedistoPlc("A1030å货交äº.SOver", "true", "A1030å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | } |
| | | break; |
| | | case "1030": |
| | | { |
| | | if (tag.SA1030.SreadCan) |
| | | break; |
| | | case "2030": |
| | | { |
| | | LogHelper.Info($"1030 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | SetRedistoPlc("A2030å货交äº.SOver", "true", "A2030å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | else |
| | | break; |
| | | case "3005": |
| | | { |
| | | SetRedistoPlc("A1030å货交äº.Ssetreq", "true", "A1030å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.SA1030.StaskMode = 1; |
| | | SetRedistoPlc("A3005å货交äº.SOver", "true", "A3005å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | } |
| | | break; |
| | | case "2030": |
| | | { |
| | | if (tag.SA2030.SreadCan) |
| | | break; |
| | | case "3010": |
| | | { |
| | | LogHelper.Info($"2030 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | SetRedistoPlc("A3010å货交äº.SOver", "true", "A3010å货交äºQueue", "agv åè´§å®æåå®æäº¤äº"); |
| | | } |
| | | else |
| | | break; |
| | | //} |
| | | //switch (loc) |
| | | //{ |
| | | case "1022": |
| | | { |
| | | SetRedistoPlc("A2030å货交äº.Ssetreq", "true", "A2030å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.SA2030.StaskMode = 1; |
| | | SetRedistoPlc("A1022æ¾è´§äº¤äº.SOver", "true", "A1022æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | } |
| | | } |
| | | break; |
| | | case "3005": |
| | | { |
| | | if (tag.ssxè¾é线.s3005.SreadCan) |
| | | break; |
| | | case "1025": |
| | | { |
| | | LogHelper.Info($"3005 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | SetRedistoPlc("A1025æ¾è´§äº¤äº.SOver", "true", "A1025æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | } |
| | | else |
| | | break; |
| | | case "2001": |
| | | { |
| | | SetRedistoPlc("A3005å货交äº.Ssetreq", "true", "A3005å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.ssxè¾é线.s3005.StaskMode = 1; |
| | | SetRedistoPlc("A2001æ¾è´§äº¤äº.SOver", "true", "A2001æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | tag.SA2001.wTaskNo = 20012007; |
| | | tag.SA2001.wEbit = 2007; |
| | | tag.SA2001.wæçç = TaskProcess.GenerateTaskNo("èææçå·").Substring(3); |
| | | } |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | if (tag.ssxè¾é线.s3010.SreadCan) |
| | | break; |
| | | case "3001": |
| | | { |
| | | LogHelper.Info($"3010 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | SetRedistoPlc("A3001æ¾è´§äº¤äº.SOver", "true", "A3001æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | } |
| | | else |
| | | break; |
| | | case "3006": |
| | | { |
| | | SetRedistoPlc("A3010å货交äº.Ssetreq", "true", "A3010å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.ssxè¾é线.s3010.StaskMode = 1; |
| | | SetRedistoPlc("A3006æ¾è´§äº¤äº.SOver", "true", "A3006æ¾è´§äº¤äºQueue", "agv æ¾è´§å®æåå®æäº¤äº"); |
| | | } |
| | | } |
| | | break; |
| | | //} |
| | | //switch (loc) |
| | | //{ |
| | | case "1022": |
| | | { |
| | | if (tag.SA1022.SreadCan) |
| | | { |
| | | LogHelper.Info($"1022 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A1022æ¾è´§äº¤äº.Ssetreq", "true", "A1022æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.SA1022.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | case "1025": |
| | | { |
| | | if (tag.SA1025.SreadCan) |
| | | { |
| | | LogHelper.Info($"1025 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A1025æ¾è´§äº¤äº.Ssetreq", "true", "A1025æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.SA1025.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | case "2001": |
| | | { |
| | | if (tag.SA2001.SreadCan) |
| | | { |
| | | LogHelper.Info($"2001 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A2001æ¾è´§äº¤äº.Ssetreq", "true", "A2001æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.SA2001.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | case "3001": |
| | | { |
| | | if (tag.ssxè¾é线.s3001.SreadCan) |
| | | { |
| | | LogHelper.Info($"3001 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A3001æ¾è´§äº¤äº.Ssetreq", "true", "A3001æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.ssxè¾é线.s3001.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | case "3006": |
| | | { |
| | | if (tag.ssxè¾é线.s3006.SreadCan) |
| | | { |
| | | LogHelper.Info($"3006 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A3006æ¾è´§äº¤äº.Ssetreq", "true", "A3006æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.ssxè¾é线.s3006.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (dev.deviceType == 1) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç =================> "); |
| | | 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", false); |
| | | } |
| | | else if (dev.deviceType == 2) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç =================> "); |
| | | 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 ? "D1220" : "D1221"), "0", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "1", dev.deviceName + "Queue"); |
| | | } |
| | | else if (dev.deviceType == 5) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç =================> "); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "1", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "0", dev.deviceName + "Queue"); |
| | | } |
| | | else if (dev.deviceType == 6) |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç group=================> "); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (locindex == 0 ? "WD1210" : locindex == 1 ? "WD1211" : "WD1212"), "0", dev.deviceName + "Queue"); |
| | | GZ.Modular.Redis.WriteGroupEntity group = new GZ.Modular.Redis.WriteGroupEntity(); |
| | | group.groupName = dev.deviceName + ".Turn" + (V ? "1" : "2"); |
| | | group.queueStatus = 1; |
| | | group.queueTime = DateTime.Now; |
| | | group.writeList = new List<GZ.Modular.Redis.ParamData>(); |
| | | |
| | | GZ.Modular.Redis.ParamData p_WD1213 = new GZ.Modular.Redis.ParamData(); |
| | | p_WD1213.paramName = dev.deviceName + "." + (V ? "WD1213" : "WD1215"); |
| | | p_WD1213.paramValue = "1"; |
| | | group.writeList.Add(p_WD1213); |
| | | |
| | | GZ.Modular.Redis.ParamData p_WD1214 = new GZ.Modular.Redis.ParamData(); |
| | | p_WD1214.paramName = dev.deviceName + "." + (V ? "WD1214" : "WD1216"); |
| | | p_WD1214.paramValue = "0"; |
| | | group.writeList.Add(p_WD1214); |
| | | |
| | | string lastKey = ""; |
| | | string lastVal = ""; |
| | | Conn.é»è®¤Redis.SetQueue(group, dev.deviceName + "Queue", lastKey, lastVal); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç group over=================> "); |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å¼å¯å
æ
å¤ç宿 =================> "); |
| | | } |
| | | item.N_CREATEMETHOD = 1; |
| | | item.S_REVIEW_COMMENT = $"å
æ
å¼å¯å®æ"; |
| | | taskActRepository.Update(item); |
| | | } |
| | | //车è¦è¿å
¥äº¤äºã |
| | | else |
| | | { |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç =================> "); |
| | | if (dev.deviceType == 1) |
| | | if (dev.deviceType == 4) |
| | | { |
| | | var tf = Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//读å
³éç¶æ |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å
³éä¿¡å·{tf}"); |
| | | if (tf?.ToLower() == "true") |
| | | LogHelper.Info($"车请æ±è¾é线交äº> {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} SSX AGV 交äºããã"); |
| | | //tag.SA1019.Sagverr |
| | | switch (loc) |
| | | { |
| | | 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", false); |
| | | case "1019": |
| | | { |
| | | if (tag.SA1019.SreadCan) |
| | | { |
| | | LogHelper.Info($"1019 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A1019å货交äº.Ssetreq", "true", "A1019å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.SA1019.StaskMode = 1; |
| | | } |
| | | } |
| | | break; |
| | | case "1030": |
| | | { |
| | | if (tag.SA1030.SreadCan) |
| | | { |
| | | LogHelper.Info($"1030 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A1030å货交äº.Ssetreq", "true", "A1030å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.SA1030.StaskMode = 1; |
| | | } |
| | | } |
| | | break; |
| | | case "2030": |
| | | { |
| | | if (tag.SA2030.SreadCan) |
| | | { |
| | | LogHelper.Info($"2030 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A2030å货交äº.Ssetreq", "true", "A2030å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.SA2030.StaskMode = 1; |
| | | } |
| | | } |
| | | break; |
| | | case "3005": |
| | | { |
| | | if (tag.ssxè¾é线.s3005.SreadCan) |
| | | { |
| | | LogHelper.Info($"3005 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A3005å货交äº.Ssetreq", "true", "A3005å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.ssxè¾é线.s3005.StaskMode = 1; |
| | | } |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | if (tag.ssxè¾é线.s3010.SreadCan) |
| | | { |
| | | LogHelper.Info($"3010 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A3010å货交äº.Ssetreq", "true", "A3010å货交äºQueue", "åAGVç³è¯·"); |
| | | tag.ssxè¾é线.s3010.StaskMode = 1; |
| | | } |
| | | } |
| | | break; |
| | | //} |
| | | //switch (loc) |
| | | //{ |
| | | case "1022": |
| | | { |
| | | if (tag.SA1022.SreadCan) |
| | | { |
| | | LogHelper.Info($"1022 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A1022æ¾è´§äº¤äº.Ssetreq", "true", "A1022æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.SA1022.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | case "1025": |
| | | { |
| | | if (tag.SA1025.SreadCan) |
| | | { |
| | | LogHelper.Info($"1025 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A1025æ¾è´§äº¤äº.Ssetreq", "true", "A1025æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.SA1025.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | case "2001": |
| | | { |
| | | if (tag.SA2001.SreadCan) |
| | | { |
| | | LogHelper.Info($"2001 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A2001æ¾è´§äº¤äº.Ssetreq", "true", "A2001æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.SA2001.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | case "3001": |
| | | { |
| | | if (tag.ssxè¾é线.s3001.SreadCan) |
| | | { |
| | | LogHelper.Info($"3001 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A3001æ¾è´§äº¤äº.Ssetreq", "true", "A3001æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.ssxè¾é线.s3001.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | case "3006": |
| | | { |
| | | if (tag.ssxè¾é线.s3006.SreadCan) |
| | | { |
| | | LogHelper.Info($"3006 读å°è¾é线å
许ã"); |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | SetRedistoPlc("A3006æ¾è´§äº¤äº.Ssetreq", "true", "A3006æ¾è´§äº¤äºQueue", "åAGVç³è¯·"); |
| | | tag.ssxè¾é线.s3006.StaskMode = 2; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | else if (dev.deviceType == 2) |
| | | else |
| | | { |
| | | var tf = Conn.é»è®¤Redis.GetValue(dev.deviceName + ".D1202"); |
| | | int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); |
| | | int close = TcpServer.GetBitdata(numm, (V ? 0 : 1)); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å
³éä¿¡å·{close}"); |
| | | if (close == 1) |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç =================> "); |
| | | if (dev.deviceType == 1) |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å·²ç»å
³éï¼"); |
| | | continuuuuu = true; |
| | | var tf = Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "R50" : "R52"));//读å
³éç¶æ |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å
³éä¿¡å·{tf}"); |
| | | 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", false); |
| | | } |
| | | } |
| | | else |
| | | else if (dev.deviceType == 2) |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã" + string.Format("{0}{1}{2}", dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue")); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "0", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"); |
| | | var tf = Conn.é»è®¤Redis.GetValue(dev.deviceName + ".D1202"); |
| | | int numm = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); |
| | | int close = TcpServer.GetBitdata(numm, (V ? 0 : 1)); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
æ
å
³éä¿¡å·{close}"); |
| | | if (close == 1) |
| | | { |
| | | 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"), "1", dev.deviceName + "Queue")); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1222" : "D1223"), "0", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D1220" : "D1221"), "1", dev.deviceName + "Queue"); |
| | | |
| | | string d12201 = RedisHelper.Get<string>(dev.deviceName + "." + (V ? "D1220" : "D1221"), out string msg); |
| | | LogHelper.Info($"ThreadGrats å{(dev.deviceName + "." + (V ? "D1220" : "D1221"))}为 1 ï¼ å读{d12201}"); |
| | | string d12201 = RedisHelper.Get<string>(dev.deviceName + "." + (V ? "D1220" : "D1221"), out string msg); |
| | | LogHelper.Info($"ThreadGrats å{(dev.deviceName + "." + (V ? "D1220" : "D1221"))}为 1 ï¼ å读{d12201}"); |
| | | } |
| | | } |
| | | } |
| | | else if (dev.deviceType == 5) |
| | | { |
| | | else if (dev.deviceType == 5) |
| | | { |
| | | |
| | | var close = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "D2220" : "D2225")), typeof(System.UInt16)); |
| | | if (close == 0) |
| | | { |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å·²ç»å
³éï¼"); |
| | | continuuuuu = true; |
| | | var close = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "D2220" : "D2225")), typeof(System.UInt16)); |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å
³éç¶æï¼{close}ï¼"); |
| | | if (close == 0) |
| | | { |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "1", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "0", dev.deviceName + "Queue"); |
| | | } |
| | | } |
| | | else |
| | | else if (dev.deviceType == 6) |
| | | { |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2212" : "D2217"), "1", dev.deviceName + "Queue"); |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (V ? "D2211" : "D2216"), "0", dev.deviceName + "Queue"); |
| | | var close = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (V ? "RD1203" : "RD1204")), typeof(System.UInt16)); |
| | | LogHelper.Info($"{dev.deviceName}{(V ? "å·¦" : "å³")} å
æ
{(goin ? "å
³é" : "å¼å¯")} ç³è¯·ã å
³éç¶æï¼{close}ï¼"); |
| | | var canDo = (System.UInt16)System.Convert.ChangeType(Conn.é»è®¤Redis.GetValue(dev.deviceName + "." + (locindex == 0 ? "RD1200" : locindex == 1 ? "RD1201" : "RD1202")), typeof(System.UInt16)); |
| | | if (close == 0) |
| | | { |
| | | continuuuuu = true; |
| | | } |
| | | else |
| | | { |
| | | Conn.é»è®¤Redis.SetValue(dev.deviceName + "." + (locindex == 0 ? "WD1210" : locindex == 1 ? "WD1211" : "WD1212"), "1", dev.deviceName + "Queue"); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç group =================> "); |
| | | GZ.Modular.Redis.WriteGroupEntity group = new GZ.Modular.Redis.WriteGroupEntity(); |
| | | group.groupName = dev.deviceName + ".Turn" + (V ? "1" : "2"); |
| | | group.queueStatus = 1; |
| | | group.queueTime = DateTime.Now; |
| | | group.writeList = new List<GZ.Modular.Redis.ParamData>(); |
| | | |
| | | GZ.Modular.Redis.ParamData p_WD1213 = new GZ.Modular.Redis.ParamData(); |
| | | p_WD1213.paramName = dev.deviceName + "." + (V ? "WD1213" : "WD1215"); |
| | | p_WD1213.paramValue = "0"; |
| | | group.writeList.Add(p_WD1213); |
| | | |
| | | GZ.Modular.Redis.ParamData p_WD1214 = new GZ.Modular.Redis.ParamData(); |
| | | p_WD1214.paramName = dev.deviceName + "." + (V ? "WD1214" : "WD1216"); |
| | | p_WD1214.paramValue = "1"; |
| | | group.writeList.Add(p_WD1214); |
| | | |
| | | string lastKey = ""; |
| | | string lastVal = ""; |
| | | Conn.é»è®¤Redis.SetQueue(group, dev.deviceName + "Queue", lastKey, lastVal); |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç group over=================> "); |
| | | } |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç宿 =================> "); |
| | | } |
| | | LogHelper.Info($"ThreadGrats {item.S_TASK_NO} >{item.S_ACTION_CODE} è®¾å¤æ¯{dev.deviceName} å
³éå
æ
å¤ç宿 =================> "); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (continuuuuu) |
| | | { |
| | | LogHelper.Info($"{item.S_TASK_NO}{item.S_ACTION_CODE} 车è¾åéç»§ç»ä»»å¡ï¼"); |
| | | continueTask?.Invoke(new HaiKangOrderInfo |
| | | if (continuuuuu) |
| | | { |
| | | reqCode = item.S_ID.Replace("-", ""), |
| | | taskCode = item.S_TASK_NO |
| | | }); |
| | | item.N_CREATEMETHOD = 1; |
| | | item.S_REVIEW_COMMENT = $"车åç»§ç»ä»»å¡OK"; |
| | | taskActRepository.Update(item); |
| | | LogHelper.Info($"{item.S_TASK_NO}{item.S_ACTION_CODE} 车è¾åéç»§ç»ä»»å¡ï¼"); |
| | | continueTask?.Invoke(new HaiKangOrderInfo |
| | | { |
| | | reqCode = item.S_ID.Replace("-", ""), |
| | | taskCode = item.S_TASK_NO |
| | | }); |
| | | item.N_CREATEMETHOD = 1; |
| | | item.S_REVIEW_COMMENT = $"车åç»§ç»ä»»å¡OK"; |
| | | taskActRepository.Update(item); |
| | | } |
| | | |
| | | } |
| | | } |
| | | System.Threading.Thread.Sleep(3000); |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadGrats>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskActRepository.Disnull(); |
| | | taskRepository.Disnull(); |
| | | } |
| | | //ResetGats(tag); |
| | | } |
| | | public void ResetGats(Tag tag) |
| | |
| | | return; |
| | | } |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | foreach (var Bssx in new string[] { "1020", "1023" }) |
| | | try |
| | | { |
| | | 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) |
| | | foreach (var Bssx in new string[] { "1020", "1023" }) |
| | | { |
| | | var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | 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) |
| | | { |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | try |
| | | { |
| | | var listtep = new List<string>(); |
| | | if (Bssx == "1020") |
| | | var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | { |
| | | if (!string.IsNullOrEmpty(tag.SFT䏿壿ç.R1003Barcode) && string.IsNullOrEmpty(tag.SFT䏿壿ç.R1011Barcode)) |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | try |
| | | { |
| | | var listtep = new List<string>(); |
| | | if (Bssx == "1020") |
| | | { |
| | | listtep = new List<string> { "1012", "1004" }; |
| | | if (!string.IsNullOrEmpty(tag.SFT䏿壿ç.R1003Barcode) && string.IsNullOrEmpty(tag.SFT䏿壿ç.R1011Barcode)) |
| | | { |
| | | listtep = new List<string> { "1012", "1004" }; |
| | | } |
| | | else |
| | | { |
| | | listtep = new List<string> { "1004", "1012" }; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | listtep = new List<string> { "1004", "1012" }; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //if (tag.SF䏿ä½.RArrive1005 == 1) |
| | | if (!string.IsNullOrEmpty(tag.SFT䏿壿ç.R1005Barcode) && string.IsNullOrEmpty(tag.SFT䏿壿ç.R1013Barcode)) |
| | | { |
| | | listtep = new List<string> { "1014", "1006" }; |
| | | } |
| | | else |
| | | { |
| | | listtep = new List<string> { "1006", "1014" }; |
| | | } |
| | | } |
| | | |
| | | foreach (var item in listtep)//(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 && task == null) |
| | | { |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | if (task != null) |
| | | //if (tag.SF䏿ä½.RArrive1005 == 1) |
| | | if (!string.IsNullOrEmpty(tag.SFT䏿壿ç.R1005Barcode) && string.IsNullOrEmpty(tag.SFT䏿壿ç.R1013Barcode)) |
| | | { |
| | | Console.WriteLine($" {item}ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($" {item}ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | listtep = new List<string> { "1014", "1006" }; |
| | | } |
| | | |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "空ä¸RGV", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | else |
| | | { |
| | | LogHelper.Debug($"è¾é线RGV空æä»»å¡ from:{Bssx}>to {item}å¼å§å建æå"); |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{item}Read.R5空é²_LAST", "1", $"S{item}ReadQueue"); |
| | | break; |
| | | listtep = new List<string> { "1006", "1014" }; |
| | | } |
| | | } |
| | | else if (R5 != 5 && R5空é²_LAST == 1) |
| | | |
| | | foreach (var item in listtep)//(Bssx == "1020" ? new string[] { "1004", "1012" } : new string[] { "1006", "1014" })) |
| | | { |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "0", out msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{item}Read.R5空é²_LAST", "0", $"S{item}ReadQueue"); |
| | | 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 && task == null) |
| | | { |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($" {item}ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($" {item}ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "空ä¸RGV", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | { |
| | | LogHelper.Debug($"è¾é线RGV空æä»»å¡ from:{Bssx}>to {item}å¼å§å建æå"); |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "1", $"S{Bssx}ReadQueue"); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out msg); |
| | | //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 msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{item}Read.R5空é²_LAST", "0", $"S{item}ReadQueue"); |
| | | } |
| | | } |
| | | System.Threading.Thread.Sleep(1000); |
| | | } |
| | | System.Threading.Thread.Sleep(1000); |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error(ex.Message, ex); |
| | | Console.WriteLine(ex.Message + ex.StackTrace); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | else if (RtaskState != 3 && RtaskState_LAST == 1) |
| | | { |
| | | LogHelper.Error(ex.Message, ex); |
| | | Console.WriteLine(ex.Message + ex.StackTrace); |
| | | 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); |
| | | } |
| | | else if (RtaskState != 3 && RtaskState_LAST == 1) |
| | | |
| | | /** |
| | | foreach (var Bssx in new string[] { "1008", "1016" }) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); |
| | | //Conn.é»è®¤Redis.SetValue($"S{Bssx}Read.RtaskState_LAST", "0", $"S{Bssx}ReadQueue"); |
| | | 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 task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | |
| | | 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) |
| | | { |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "满转1026", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out string msg2); |
| | | |
| | | LogHelper.Info($"{Ræçç } å®åçäº§å®æè¿è¡é²å·¥ï¼ï¼"); |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = Ræçç , |
| | | type = 1, |
| | | lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02" |
| | | })); |
| | | //var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | //if (strr.success && strr.data != null) |
| | | //{ |
| | | |
| | | //} |
| | | //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); |
| | | } |
| | | System.Threading.Thread.Sleep(2000); |
| | | |
| | | |
| | | 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 task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | 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) |
| | | { |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "满转1017", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out string msg1); |
| | | LogHelper.Info($"{Ræçç } 转åçäº§å®æè¿è¡é²å·¥ï¼ï¼"); |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = Ræçç , |
| | | type = 2, |
| | | lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02" |
| | | })); |
| | | //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); |
| | | } |
| | | **/ |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadEdown>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskRepository.Disnull(); |
| | | } |
| | | |
| | | foreach (var item in new string[] { "1004", "1012", "1006", "1014", "1026", "1017" }) |
| | |
| | | return; |
| | | } |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | foreach (var Bssx in new string[] { "1008", "1016" }) |
| | | try |
| | | { |
| | | 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) |
| | | foreach (var Bssx in new string[] { "1008", "1016" }) |
| | | { |
| | | var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | 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) |
| | | { |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | |
| | | 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) |
| | | { |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "满转1026", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | |
| | | 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) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out string msg2); |
| | | |
| | | LogHelper.Info($"{Ræçç } å®åçäº§å®æè¿è¡é²å·¥ï¼ï¼"); |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | if (task != null) |
| | | { |
| | | cntrCode = Ræçç , |
| | | type = 1, |
| | | lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02" |
| | | })); |
| | | //var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | //if (strr.success && strr.data != null) |
| | | //{ |
| | | Console.WriteLine($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "满转1026", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out 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; |
| | | LogHelper.Info($"{Ræçç } å®åçäº§å®æè¿è¡é²å·¥ï¼ï¼"); |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = Ræçç , |
| | | type = 1, |
| | | lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02" |
| | | })); |
| | | //var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | //if (strr.success && strr.data != null) |
| | | //{ |
| | | |
| | | //} |
| | | //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 (R5 != 5 && R5空é²_LAST == 1) |
| | | else if (RtaskState != 3 && RtaskState_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "0", out string msg2); |
| | | 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); |
| | | } |
| | | 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); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadDown>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskRepository.Disnull(); |
| | | } |
| | | } |
| | | |
| | | public void Thread0210Down(Tag tag) |
| | | { |
| | | //return; |
| | | Console.WriteLine($"Thread0210Down ==================>"); |
| | | if (tag.RGV.Rå
çµç¶æ == 1 || tag.RGV.Ræå¨1èªå¨2 == 1 || tag.RGV.RgvrunError > 0) |
| | | { |
| | |
| | | return; |
| | | } |
| | | TaskRepository taskRepository = new TaskRepository(); |
| | | foreach (var Bssx in new string[] { "1002", "1010" }) |
| | | try |
| | | { |
| | | 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) |
| | | foreach (var Bssx in new string[] { "1002", "1010" }) |
| | | { |
| | | var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | 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) |
| | | { |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | 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) |
| | | { |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | var task = taskRepository.FindEntity(x => x.S_START_LOC == Bssx && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | string msg = ""; |
| | | if (task != null) |
| | | { |
| | | Console.WriteLine($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | Console.WriteLine($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{Bssx} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "满转1017", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | 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) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out string msg1); |
| | | LogHelper.Info($"{Ræçç } 转åçäº§å®æè¿è¡é²å·¥ï¼ï¼"); |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new |
| | | task = taskRepository.FindEntity(x => x.S_END_LOC == item && x.S_B_STATE != "宿" && x.S_B_STATE != "忶"); |
| | | msg = ""; |
| | | if (task != null) |
| | | { |
| | | cntrCode = Ræçç , |
| | | type = 2, |
| | | lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02" |
| | | })); |
| | | //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; |
| | | Console.WriteLine($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | LogHelper.Info($"{item} ææ£å¨ [{task.S_B_STATE}] ä¸ç{task.S_TASK_NO}ä»»å¡"); |
| | | continue; |
| | | } |
| | | var b = TaskProcess.CreateTask("", Bssx, item, "满转1017", 5, new List<string> { Ræçç }, "RGV"); |
| | | if (b) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "1", out msg); |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "1", out string msg1); |
| | | LogHelper.Info($"{Ræçç } 转åçäº§å®æè¿è¡é²å·¥ï¼ï¼"); |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/223", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = Ræçç , |
| | | type = 2, |
| | | lineCode = "1002,1008".Contains(Bssx) ? "T01" : "T02" |
| | | })); |
| | | //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 (R5 != 5 && R5空é²_LAST == 1) |
| | | else if (RtaskState != 3 && RtaskState_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{item}Read.R5空é²_LAST", "0", out string msg1); |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); |
| | | } |
| | | System.Threading.Thread.Sleep(2000); |
| | | } |
| | | else if (RtaskState != 3 && RtaskState_LAST == 1) |
| | | { |
| | | RedisHelper.Add($"S{Bssx}Read.RtaskState_LAST", "0", out string msg); |
| | | } |
| | | System.Threading.Thread.Sleep(2000); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("Thread0210Down>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskRepository.Disnull(); |
| | | } |
| | | } |
| | | |
| | |
| | | public void ResolveMesTask(Tag tag) |
| | | { |
| | | 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); |
| | | //if (VERXs.Any()) |
| | | foreach (var task in tasks) |
| | | try |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} "); |
| | | if (task.S_TYPE?.Trim() == "100") |
| | | 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); |
| | | foreach (var task in tasks) |
| | | { |
| | | LogHelper.Info($"MESä»»å¡ S_TYPE 100->{task.S_TYPE} "); |
| | | } |
| | | var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC)); |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} {(sx == null ? "é" : "æ¯")}æ»è£
æºå¨äººä»»å¡"); |
| | | if (sx == null) |
| | | { |
| | | gotoOOOOOOOOO: |
| | | if (string.IsNullOrEmpty(task.S_CNTRS) && !string.IsNullOrEmpty(task.S_INDEX)) |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} "); |
| | | if (task.S_TYPE?.Trim() == "100") |
| | | { |
| | | // 嫿任å¡ã æå®ç©æä¸æå®æçï¼éè¦åºåº |
| | | var ssagv = Settings.deviceInfos.Find(x => x.deviceType == 4); |
| | | if (ssagv.location.Contains(task.S_START_LOC)) |
| | | switch (task.S_START_LOC) |
| | | { |
| | | case "2030": |
| | | if (!string.IsNullOrEmpty(tag.SA2030.Ræçç )) |
| | | { |
| | | LogHelper.Info($"è§£é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 |
| | | LogHelper.Info($"MESä»»å¡ S_TYPE 100->{task.S_TYPE} "); |
| | | } |
| | | var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC)); |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} {(sx == null ? "é" : "æ¯")}æ»è£
æºå¨äººä»»å¡"); |
| | | if (sx == null) |
| | | { |
| | | gotoOOOOOOOOO: |
| | | if (string.IsNullOrEmpty(task.S_CNTRS) && !string.IsNullOrEmpty(task.S_INDEX)) |
| | | { |
| | | // 嫿任å¡ã æå®ç©æä¸æå®æçï¼éè¦åºåº |
| | | var ssagv = Settings.deviceInfos.Find(x => x.deviceType == 4); |
| | | if (ssagv.location.Contains(task.S_START_LOC)) |
| | | switch (task.S_START_LOC) |
| | | { |
| | | case "2030": |
| | | if (!string.IsNullOrEmpty(tag.SA2030.Ræçç )) |
| | | { |
| | | 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($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 2030 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //2027 2220 2013.. è¯å«ä¸ä¸ï¼å¼å§åº |
| | | //1 ç27 20 13 æ¯å¦æä»»å¡ã æåä¸åºäºã çåºå£å¤æå¹é
ã |
| | | //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($"2027ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | continue; |
| | | } |
| | | } |
| | | { |
| | | 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($"2020ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | continue; |
| | | } |
| | | } |
| | | { |
| | | 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($"2013ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | continue; |
| | | } |
| | | } |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s2027.Ræçç )) |
| | | { |
| | | LogHelper.Info($"è§£é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.ssxè¾é线.s2027.Ræçç , |
| | | cntrCode = tag.SA2030.Ræçç , |
| | | type = 1 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | LogHelper.Info($"2027 è¯»å°æç{tag.ssxè¾é线.s2027.Ræçç } å¹é
æåï¼åä»»å¡å·ï¼20272030ï¼ç»ç¹ï¼2030 åæçç å读"); |
| | | tag.ssxè¾é线.s2027.wTaskNo = 20272030; |
| | | tag.ssxè¾é线.s2027.wEbit = 2030; |
| | | tag.ssxè¾é线.s2027.wæçç = tag.ssxè¾é线.s2027.Ræçç ; |
| | | LogHelper.Info($"2027 > 2030 SSXä»»å¡ä¸å宿ã"); |
| | | continue; |
| | | } |
| | | } |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s2020.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s2020.Ræçç , |
| | | type = 1 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | LogHelper.Info($"2020 è¯»å°æç{tag.ssxè¾é线.s2020.Ræçç } å¹é
æåï¼åä»»å¡å·ï¼20202030ï¼ç»ç¹ï¼2030 åæçç å读"); |
| | | tag.ssxè¾é线.s2020.wTaskNo = 20202030; |
| | | tag.ssxè¾é线.s2020.wEbit = 2030; |
| | | tag.ssxè¾é线.s2020.wæçç = tag.ssxè¾é线.s2020.Ræçç ; |
| | | LogHelper.Info($"2020 > 2030 SSXä»»å¡ä¸å宿ã"); |
| | | continue; |
| | | } |
| | | } |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s2013.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s2013.Ræçç , |
| | | type = 1 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | LogHelper.Info($"2013 è¯»å°æç{tag.ssxè¾é线.s2013.Ræçç } å¹é
æåï¼åä»»å¡å·ï¼20132030ï¼ç»ç¹ï¼2030 åæçç å读"); |
| | | tag.ssxè¾é线.s2013.wTaskNo = 20132030; |
| | | tag.ssxè¾é线.s2013.wEbit = 2030; |
| | | tag.ssxè¾é线.s2013.wæçç = tag.ssxè¾é线.s2013.Ræçç ; |
| | | LogHelper.Info($"2013 > 2030 SSXä»»å¡ä¸å宿ã"); |
| | | continue; |
| | | } |
| | | } |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} æ¥å¿è½è·å°è¿ï¼è¯´ææ²¡ç©æï¼æè
é½ä¸ç¬¦å æ æ³å»2030"); |
| | | } |
| | | break; |
| | | case "1019": |
| | | if (!string.IsNullOrEmpty(tag.SA1019.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.SA1019.Ræçç , |
| | | type = 2 |
| | | })); |
| | | 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($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 1019 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | break; |
| | | //case "1030": |
| | | // { |
| | | |
| | | // } |
| | | //break; |
| | | case "3005": |
| | | { |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s3005.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s3005.Ræçç , |
| | | type = 2 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | task.S_CNTRS = tag.ssxè¾é线.s3005.Ræçç ; |
| | | task.S_CNTRS = tag.SA2030.Ræçç ; |
| | | taskservice.Update(task); |
| | | goto gotoOOOOOOOOO; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 3010 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 2030 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s3010.Ræçç )) |
| | | else |
| | | { |
| | | //2027 2220 2013.. è¯å«ä¸ä¸ï¼å¼å§åº |
| | | //1 ç27 20 13 æ¯å¦æä»»å¡ã æåä¸åºäºã çåºå£å¤æå¹é
ã |
| | | //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($"2027ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | continue; |
| | | } |
| | | } |
| | | { |
| | | 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($"2020ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | continue; |
| | | } |
| | | } |
| | | { |
| | | 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($"2013ä»»å¡ ä»»å¡ç»ç¹æ¯2030 ï¼ç»æ¢"); |
| | | continue; |
| | | } |
| | | } |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s2027.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s2027.Ræçç , |
| | | type = 1 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | LogHelper.Info($"2027 è¯»å°æç{tag.ssxè¾é线.s2027.Ræçç } å¹é
æåï¼åä»»å¡å·ï¼20272030ï¼ç»ç¹ï¼2030 åæçç å读"); |
| | | tag.ssxè¾é线.s2027.wTaskNo = 20272030; |
| | | tag.ssxè¾é线.s2027.wEbit = 2030; |
| | | tag.ssxè¾é线.s2027.wæçç = tag.ssxè¾é线.s2027.Ræçç ; |
| | | LogHelper.Info($"2027 > 2030 SSXä»»å¡ä¸å宿ã"); |
| | | continue; |
| | | } |
| | | } |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s2020.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s2020.Ræçç , |
| | | type = 1 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | LogHelper.Info($"2020 è¯»å°æç{tag.ssxè¾é线.s2020.Ræçç } å¹é
æåï¼åä»»å¡å·ï¼20202030ï¼ç»ç¹ï¼2030 åæçç å读"); |
| | | tag.ssxè¾é线.s2020.wTaskNo = 20202030; |
| | | tag.ssxè¾é线.s2020.wEbit = 2030; |
| | | tag.ssxè¾é线.s2020.wæçç = tag.ssxè¾é线.s2020.Ræçç ; |
| | | LogHelper.Info($"2020 > 2030 SSXä»»å¡ä¸å宿ã"); |
| | | continue; |
| | | } |
| | | } |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s2013.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s2013.Ræçç , |
| | | type = 1 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | LogHelper.Info($"2013 è¯»å°æç{tag.ssxè¾é线.s2013.Ræçç } å¹é
æåï¼åä»»å¡å·ï¼20132030ï¼ç»ç¹ï¼2030 åæçç å读"); |
| | | tag.ssxè¾é线.s2013.wTaskNo = 20132030; |
| | | tag.ssxè¾é线.s2013.wEbit = 2030; |
| | | tag.ssxè¾é线.s2013.wæçç = tag.ssxè¾é线.s2013.Ræçç ; |
| | | LogHelper.Info($"2013 > 2030 SSXä»»å¡ä¸å宿ã"); |
| | | continue; |
| | | } |
| | | } |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} æ¥å¿è½è·å°è¿ï¼è¯´ææ²¡ç©æï¼æè
é½ä¸ç¬¦å æ æ³å»2030"); |
| | | } |
| | | break; |
| | | case "1019": |
| | | if (!string.IsNullOrEmpty(tag.SA1019.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s3010.Ræçç , |
| | | cntrCode = tag.SA1019.Ræçç , |
| | | type = 2 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | task.S_CNTRS = tag.ssxè¾é线.s3010.Ræçç ; |
| | | task.S_CNTRS = tag.SA2030.Ræçç ; |
| | | taskservice.Update(task); |
| | | goto gotoOOOOOOOOO; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 3010 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 1019 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | //else if (ssagv.location.Contains(task.S_END_LOC)) |
| | | // switch (task.S_END_LOC) |
| | | // { |
| | | // case "1022": |
| | | // { |
| | | // if (tag.SA1022.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹1022 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "1025": |
| | | // { |
| | | // if (tag.SA1025.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 1025 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "2001": |
| | | // { |
| | | // if (tag.SA2001.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 2001 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "3001": |
| | | // { |
| | | // if (tag.ssxè¾é线.s3001.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3001 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "3006": |
| | | // { |
| | | // if (tag.ssxè¾é线.s3006.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3006 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // } |
| | | } |
| | | else |
| | | { |
| | | //if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC)) |
| | | //{ |
| | | //} |
| | | //if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC)) //1030 æ¯ä¸»å¨ç³è¯·ï¼ ä¸ç¨å¤æã |
| | | //{ |
| | | // //ç©æå¹é
夿ãå 2030夿 |
| | | //} |
| | | string type = ""; |
| | | if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC)) |
| | | switch (task.S_START_LOC) |
| | | { |
| | | case "1019": |
| | | { |
| | | type = "A009"; |
| | | if (tag.SA1019.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 1019 RtaskState>{tag.SA1019.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "2030": |
| | | { |
| | | type = "A007"; |
| | | if (tag.SA2030.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 2030 RtaskState>{tag.SA2030.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3005": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3005.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 3005 RtaskState>{tag.ssxè¾é线.s3005.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3010.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 3010 RtaskState>{tag.ssxè¾é线.s3010.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC)) |
| | | switch (task.S_END_LOC) |
| | | { |
| | | case "1022": |
| | | { |
| | | type = "A008"; |
| | | if (tag.SA1022.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹1022 >{tag.SA1022.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "1025": |
| | | { |
| | | type = "A007"; |
| | | if (tag.SA1025.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 1025 >{tag.SA1025.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "2001": |
| | | { |
| | | type = "A007"; |
| | | if (tag.SA2001.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 2001>{tag.SA2001.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3001": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3001.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3001>{tag.ssxè¾é线.s3001.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3006": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3006.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3006>{tag.ssxè¾é线.s3001.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | break; |
| | | //case "1030": |
| | | // { |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç´æ¥çæå¯¹åºä»»å¡"); |
| | | //ç´æ¥çæå¯¹åºä»»å¡ã |
| | | 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() ?? new List<string>(), "AGV", type); |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç´æ¥çæå¯¹åºä»»å¡ ç»æï¼{res}"); |
| | | if (res) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ä¿®æ¹æ è¯"); |
| | | //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); |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} æ¥æ¾æ¯å¦æå·²çæä»»å¡ï¼{t1s != null}"); |
| | | 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; |
| | | 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(); |
| | | |
| | | bool canReq = true; |
| | | var tf = Conn.é»è®¤Redis.GetValue(sx.deviceName + ".D1202"); |
| | | var V = sx.location.ToList().FindIndex(x => x == task.S_END_LOC) == 0; |
| | | var tf2 = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); |
| | | canReq = TcpServer.GetBitdata(tf2, (V ? 2 : 3)) == 1; |
| | | //if (canReq) |
| | | // 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 && canReq)//!= task.S_END_LOC) |
| | | { |
| | | //ç¬¬äºæ®µã |
| | | LocEntity endLoc = null; |
| | | var di = sx; |
| | | if (di != null) |
| | | { |
| | | //foreach (var ssloc in di.deviceNo) |
| | | { |
| | | var ssloc = di.deviceNo[1]; |
| | | var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE.Trim() == "æ ") |
| | | { |
| | | endLoc = endloc; |
| | | //break; |
| | | } |
| | | else |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç¼åä½{ssloc} ä¸å¯ç¨ã"); |
| | | } |
| | | if (endLoc != null) |
| | | { |
| | | var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "ä¸ç©º", 7, "NONE".Split(',').ToList()); |
| | | if (res) |
| | | { |
| | | task.N_PRIORITY = 0; taskservice.Update(task); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} çæç¬¬ä¸æ®µä»»å¡ã"); |
| | | if (t1.S_START_LOC != task.S_START_LOC) |
| | | { |
| | | t1 = taskservice.FindEntity(x => x.S_SRC_NO == task.S_TASK_NO && x.S_START_LOC == task.S_START_LOC && x.S_B_STATE == "宿"); |
| | | } |
| | | 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 |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} çéçæç¬¬ä¸æ®µ ä»»å¡ã"); |
| | | //çæç¬¬ä¸æ®µã |
| | | LocEntity endLoc = null; |
| | | var di = sx; |
| | | if (di != null) |
| | | { |
| | | //foreach (var ssloc in di.deviceNo) |
| | | { |
| | | var ssloc = di.deviceNo[0]; |
| | | var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE.Trim() == "æ ") |
| | | { |
| | | endLoc = endloc; |
| | | // } |
| | | //break; |
| | | case "3005": |
| | | { |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s3005.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s3005.Ræçç , |
| | | type = 2 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | task.S_CNTRS = tag.ssxè¾é线.s3005.Ræçç ; |
| | | taskservice.Update(task); |
| | | goto gotoOOOOOOOOO; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 3010 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | if (!string.IsNullOrEmpty(tag.ssxè¾é线.s3010.Ræçç )) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.MESbaseUrl + "mom-basic/dataTransmission/json/service/224", JsonConvert.SerializeObject(new |
| | | { |
| | | cntrCode = tag.ssxè¾é线.s3010.Ræçç , |
| | | type = 2 |
| | | })); |
| | | var strr = JsonConvert.DeserializeObject<MES2234>(str); |
| | | if (strr.success && strr.data.materialCode == task.S_INDEX) |
| | | { |
| | | task.S_CNTRS = tag.ssxè¾é线.s3010.Ræçç ; |
| | | taskservice.Update(task); |
| | | goto gotoOOOOOOOOO; |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç©æ{task.S_INDEX} ä¸ 3010 åºå£çæçç©æ{strr.data.materialCode}ä¸ç¬¦å"); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | //else if (ssagv.location.Contains(task.S_END_LOC)) |
| | | // switch (task.S_END_LOC) |
| | | // { |
| | | // case "1022": |
| | | // { |
| | | // if (tag.SA1022.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹1022 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "1025": |
| | | // { |
| | | // if (tag.SA1025.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 1025 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "2001": |
| | | // { |
| | | // if (tag.SA2001.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 2001 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "3001": |
| | | // { |
| | | // if (tag.ssxè¾é线.s3001.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3001 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // case "3006": |
| | | // { |
| | | // if (tag.ssxè¾é线.s3006.R5ç©ºé² != 1) |
| | | // { |
| | | // LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3006 é空é²ï¼ä¸æ¨é"); |
| | | // continue; |
| | | // } |
| | | // } |
| | | // break; |
| | | // } |
| | | } |
| | | else |
| | | { |
| | | //if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC)) |
| | | //{ |
| | | //} |
| | | //if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC)) //1030 æ¯ä¸»å¨ç³è¯·ï¼ ä¸ç¨å¤æã |
| | | //{ |
| | | // //ç©æå¹é
夿ãå 2030夿 |
| | | //} |
| | | string type = ""; |
| | | if (new List<string> { "1019"/*, "1030"*/, "2030", "3005", "3010" }.Contains(task.S_START_LOC)) |
| | | switch (task.S_START_LOC) |
| | | { |
| | | case "1019": |
| | | { |
| | | type = "A009"; |
| | | if (tag.SA1019.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 1019 RtaskState>{tag.SA1019.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "2030": |
| | | { |
| | | type = "A007"; |
| | | if (tag.SA2030.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 2030 RtaskState>{tag.SA2030.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3005": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3005.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 3005 RtaskState>{tag.ssxè¾é线.s3005.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3010": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3010.RtaskState != 4) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} èµ·ç¹ 3010 RtaskState>{tag.ssxè¾é线.s3010.RtaskState} æªç³è¯·RGVä»»å¡ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | if (new List<string> { "2001", "1022", "1025", "3001", "3006" }.Contains(task.S_END_LOC)) |
| | | switch (task.S_END_LOC) |
| | | { |
| | | case "1022": |
| | | { |
| | | type = "A008"; |
| | | if (tag.SA1022.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹1022 >{tag.SA1022.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "1025": |
| | | { |
| | | type = "A007"; |
| | | if (tag.SA1025.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 1025 >{tag.SA1025.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "2001": |
| | | { |
| | | type = "A007"; |
| | | if (tag.SA2001.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 2001>{tag.SA2001.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3001": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3001.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3001>{tag.ssxè¾é线.s3001.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | case "3006": |
| | | { |
| | | type = "A010"; |
| | | if (tag.ssxè¾é线.s3006.R5ç©ºé² != 5) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç»ç¹ 3006>{tag.ssxè¾é线.s3001.R5空é²} é空é²ï¼ä¸æ¨é"); |
| | | continue; |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç´æ¥çæå¯¹åºä»»å¡"); |
| | | //ç´æ¥çæå¯¹åºä»»å¡ã |
| | | 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() ?? new List<string>(), "AGV", type); |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç´æ¥çæå¯¹åºä»»å¡ ç»æï¼{res}"); |
| | | if (res) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ä¿®æ¹æ è¯"); |
| | | //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); |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} æ¥æ¾æ¯å¦æå·²çæä»»å¡ï¼{t1s != null}"); |
| | | 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; |
| | | 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(); |
| | | |
| | | bool canReq = true; |
| | | var tf = Conn.é»è®¤Redis.GetValue(sx.deviceName + ".D1202"); |
| | | var V = sx.location.ToList().FindIndex(x => x == task.S_END_LOC) == 0; |
| | | var tf2 = int.Parse(string.IsNullOrEmpty(tf) ? "0" : tf); |
| | | canReq = TcpServer.GetBitdata(tf2, (V ? 2 : 3)) == 1; |
| | | //if (canReq) |
| | | // 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 && canReq)//!= task.S_END_LOC) |
| | | { |
| | | //ç¬¬äºæ®µã |
| | | LocEntity endLoc = null; |
| | | var di = sx; |
| | | if (di != null) |
| | | { |
| | | //foreach (var ssloc in di.deviceNo) |
| | | { |
| | | var ssloc = di.deviceNo[1]; |
| | | var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE.Trim() == "æ ") |
| | | { |
| | | endLoc = endloc; |
| | | //break; |
| | | } |
| | | else |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç¼åä½{ssloc} ä¸å¯ç¨ã"); |
| | | } |
| | | if (endLoc != null) |
| | | { |
| | | var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "ä¸ç©º", 7, "NONE".Split(',').ToList()); |
| | | if (res) |
| | | { |
| | | task.N_PRIORITY = 0; taskservice.Update(task); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç¼åä½{ssloc} ä¸å¯ç¨ã"); |
| | | } |
| | | if (endLoc != null) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} åå»ºç¬¬ä¸æ®µ ä»»å¡ã"); |
| | | var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "满转", 8, task.S_CNTRS.Split(',').ToList()); |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} åå»ºç¬¬ä¸æ®µ ä»»å¡ãç»æï¼{res}"); |
| | | if (res) |
| | | { |
| | | task.N_PRIORITY = 0; taskservice.Update(task); |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} çæç¬¬ä¸æ®µä»»å¡ã"); |
| | | if (t1.S_START_LOC != task.S_START_LOC) |
| | | { |
| | | t1 = taskservice.FindEntity(x => x.S_SRC_NO == task.S_TASK_NO && x.S_START_LOC == task.S_START_LOC && x.S_B_STATE == "宿"); |
| | | } |
| | | 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 |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} çéçæç¬¬ä¸æ®µ ä»»å¡ã"); |
| | | //çæç¬¬ä¸æ®µã |
| | | LocEntity endLoc = null; |
| | | var di = sx; |
| | | if (di != null) |
| | | { |
| | | //foreach (var ssloc in di.deviceNo) |
| | | { |
| | | var ssloc = di.deviceNo[0]; |
| | | var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE.Trim() == "æ ") |
| | | { |
| | | endLoc = endloc; |
| | | //break; |
| | | } |
| | | else |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} ç¼åä½{ssloc} ä¸å¯ç¨ã"); |
| | | } |
| | | if (endLoc != null) |
| | | { |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} åå»ºç¬¬ä¸æ®µ ä»»å¡ã"); |
| | | var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "满转", 8, task.S_CNTRS.Split(',').ToList()); |
| | | |
| | | LogHelper.Info($"è§£éMESä»»å¡ ->{task.S_TASK_NO} åå»ºç¬¬ä¸æ®µ ä»»å¡ãç»æï¼{res}"); |
| | | if (res) |
| | | { |
| | | task.N_PRIORITY = 0; taskservice.Update(task); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("ThreadGrats>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | taskservice.Disnull(); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | // æ¥è¯¢ä»»å¡ï¼æ ¹æ®ä»»å¡å· |
| | | //var wcsTask = WCSHelper.GetTask(model.taskCode); |
| | | ITaskRepository MainMissionService = new TaskRepository(); |
| | | var wcsTask = MainMissionService.FindEntity(x => model.taskCode == x.S_TASK_NO); |
| | | if (wcsTask != null) |
| | | TaskRepository MainMissionService = new TaskRepository(); |
| | | LocRepository locrep = new LocRepository(); |
| | | try |
| | | { |
| | | if (!string.IsNullOrWhiteSpace(model.method)) |
| | | var wcsTask = MainMissionService.FindEntity(x => model.taskCode == x.S_TASK_NO); |
| | | if (wcsTask != null) |
| | | { |
| | | ILocRepository locrep = new LocRepository(); |
| | | var startloc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_START_LOC); |
| | | var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_END_LOC); |
| | | |
| | | List<string> cntrs = wcsTask.S_CNTRS.Split(',').ToList(); |
| | | bool bobe = false; |
| | | //model.method = model.method?.ToLower(); |
| | | switch (model.method) |
| | | if (!string.IsNullOrWhiteSpace(model.method)) |
| | | { |
| | | case "start": |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºæ§è¡ï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | if (wcsTask.S_B_STATE.Trim() == "å·²æ¨é") |
| | | { |
| | | wcsTask.S_B_STATE = "æ§è¡ä¸"; |
| | | wcsTask.T_START_TIME = DateTime.Now; |
| | | var startloc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_START_LOC); |
| | | var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_END_LOC); |
| | | |
| | | List<string> cntrs = wcsTask.S_CNTRS.Split(',').ToList(); |
| | | bool bobe = false; |
| | | //model.method = model.method?.ToLower(); |
| | | switch (model.method) |
| | | { |
| | | case "start": |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºæ§è¡ï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | if (wcsTask.S_B_STATE.Trim() == "å·²æ¨é") |
| | | { |
| | | wcsTask.S_B_STATE = "æ§è¡ä¸"; |
| | | wcsTask.T_START_TIME = DateTime.Now; |
| | | MainMissionService.Update(wcsTask); |
| | | bobe = true; |
| | | } |
| | | break; |
| | | case "outBin": |
| | | case "outbin": |
| | | model.method = model.method?.ToLower(); |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºåè´§å®æï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | wcsTask.S_B_STATE = "åè´§å®æ"; |
| | | |
| | | startloc.N_CURRENT_NUM = 0; |
| | | startloc.S_LOCK_STATE = "æ "; |
| | | startloc.T_MODIFY = DateTime.Now; |
| | | //ILocContainerRepository locContainerRepository = new LocContainerRepository(); |
| | | ////var cnr = locContainerRepository.FindList(x => cntrs.Contains(x.S_CNTR_CODE.Trim()) && x.S_LOC_CODE == wcsTask.S_START_LOC); |
| | | //locContainerRepository.Delete(x => cntrs.Contains(x.S_CNTR_CODE.Trim()) && x.S_LOC_CODE == wcsTask.S_START_LOC); |
| | | MainMissionService.Update(wcsTask); |
| | | locrep.Update(startloc); |
| | | |
| | | bobe = true; |
| | | } |
| | | break; |
| | | case "outBin": |
| | | case "outbin": |
| | | model.method = model.method?.ToLower(); |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºåè´§å®æï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | wcsTask.S_B_STATE = "åè´§å®æ"; |
| | | |
| | | startloc.N_CURRENT_NUM = 0; |
| | | startloc.S_LOCK_STATE = "æ "; |
| | | startloc.T_MODIFY = DateTime.Now; |
| | | //ILocContainerRepository locContainerRepository = new LocContainerRepository(); |
| | | ////var cnr = locContainerRepository.FindList(x => cntrs.Contains(x.S_CNTR_CODE.Trim()) && x.S_LOC_CODE == wcsTask.S_START_LOC); |
| | | //locContainerRepository.Delete(x => cntrs.Contains(x.S_CNTR_CODE.Trim()) && x.S_LOC_CODE == wcsTask.S_START_LOC); |
| | | MainMissionService.Update(wcsTask); |
| | | locrep.Update(startloc); |
| | | |
| | | bobe = true; |
| | | var device = Settings.deviceInfos.Find(x => x.location.Contains(wcsTask.S_START_LOC)); |
| | | if (device != null) |
| | | { |
| | | if (device.deviceType == 1) |
| | | var device = Settings.deviceInfos.Find(x => x.location.Contains(wcsTask.S_START_LOC)); |
| | | if (device != null) |
| | | { |
| | | if (device.deviceName.Contains("ç»´å¸å°æè")) |
| | | { //å¸è´§è¿è¡æ¸
空ï¼è§¦åæ«ç |
| | | var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; |
| | | string V = inde ? "R05" : "R06"; |
| | | Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "true", device.deviceName + "Queue", false); |
| | | |
| | | TcpServer.TrayIps.Remove(device.deviceNo[inde ? 0 : 1]); |
| | | } |
| | | } |
| | | else if (device.deviceType == 2) |
| | | { |
| | | //Task.Run(() => |
| | | //{ |
| | | // var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; |
| | | // string V = inde ? "D1224" : "D1225"; |
| | | // Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); |
| | | //}); |
| | | } |
| | | else |
| | | switch (device.deviceType) |
| | | if (device.deviceType == 1) |
| | | { |
| | | case 4: |
| | | { |
| | | if (device.deviceName.Contains("ç»´å¸å°æè")) |
| | | { //å¸è´§è¿è¡æ¸
空ï¼è§¦åæ«ç |
| | | var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; |
| | | string V = inde ? "R05" : "R06"; |
| | | Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "true", device.deviceName + "Queue", false); |
| | | |
| | | } |
| | | break; |
| | | |
| | | TcpServer.TrayIps.Remove(device.deviceNo[inde ? 0 : 1]); |
| | | } |
| | | } |
| | | } |
| | | //LocationHelper.UnLockLoc(wcsTask.S_START_LOC); |
| | | break; |
| | | case "end": |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºå®æï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | wcsTask.S_B_STATE = "宿"; |
| | | wcsTask.T_END_TIME = DateTime.Now; |
| | | |
| | | bobe = true; |
| | | //ILocContainerRepository locContainerRepository2 = new LocContainerRepository(); |
| | | //List<LocContainerEntity> llls = new List<LocContainerEntity>(); |
| | | //foreach (var c in cntrs) |
| | | //{ |
| | | // var action = new LocContainerEntity() |
| | | // { |
| | | // S_ID = Guid.NewGuid().ToString(), |
| | | // S_STATE = "ç¼è¾", |
| | | // T_CREATE = DateTime.Now, |
| | | // T_MODIFY = DateTime.Now, |
| | | |
| | | // S_LOC_CODE = endLoc.S_LOC_CODE, |
| | | // S_CNTR_CODE = c, |
| | | // S_TYPE = "", |
| | | // }; |
| | | // llls.Add(action); |
| | | //} |
| | | |
| | | endLoc.S_LOCK_STATE = "æ "; |
| | | endLoc.N_CURRENT_NUM = 1; |
| | | endLoc.T_MODIFY = DateTime.Now; |
| | | MainMissionService.Update(wcsTask); |
| | | if (Settings.deviceInfos.Find(x => x.deviceType == 2 && (/*x.location.Contains(wcsTask.S_END_LOC)||*/x.deviceNo.Contains(wcsTask.S_END_LOC))) != null) |
| | | locrep.Update(endLoc); |
| | | //locContainerRepository2.Insert(llls); |
| | | |
| | | var device2 = Settings.deviceInfos.Find(x => x.location.Contains(wcsTask.S_END_LOC)); |
| | | if (device2 != null) |
| | | { |
| | | if (device2.deviceType == 1) |
| | | { |
| | | if (device2.deviceName.Contains("ç»´å¸å°æè")) |
| | | { |
| | | //string V = device2.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0 ? "R10" : "R11"; |
| | | //Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "true", device2.deviceName + "Queue"); |
| | | //å¸è´§ååæçåèµ°ã ç¶åè§¦åæ«ç è¿è¡æ ¡éªã |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | //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"); |
| | | |
| | | GZ.Modular.Redis.RedisHelper.Add(device2.deviceName + "." + V2, "true", out string msg1); |
| | | TcpServer.TrayIps.Remove(device2.deviceNo[inde ? 0 : 1]); |
| | | } |
| | | } |
| | | else if (device2.deviceType == 2) |
| | | { |
| | | if (device2.deviceName.Contains("Jsæ·é¡º")) |
| | | else if (device.deviceType == 2) |
| | | { |
| | | //Task.Run(() => |
| | | //{ |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | string V = inde ? "D1224" : "D1225"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | // var inde = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0; |
| | | // string V = inde ? "D1224" : "D1225"; |
| | | // Conn.é»è®¤Redis.SetValue(device.deviceName + "." + V, "0", device.deviceName + "Queue"); |
| | | //}); |
| | | |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new |
| | | { |
| | | sceneType = 3, |
| | | cntrCode = cntrs.FirstOrDefault() |
| | | })); |
| | | //if (device2.deviceName.Contains("1")) |
| | | //{ |
| | | // if (inde) tag.Js1.D1224 = 1; |
| | | // else tag.Js1.D1225 = 1; |
| | | //}else |
| | | //{ |
| | | // if (inde) tag.Js2.D1224 = 1; |
| | | // else tag.Js2.D1225 = 1; |
| | | //} |
| | | } |
| | | //Task.Run(() => |
| | | //{ |
| | | var ssloc = device2.deviceNo[1]; |
| | | var endloc = locrep.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | LogHelper.Info($"æ·é¡ºå¸è´§åï¼ æ¥çç¼åä½ {ssloc}-{endloc?.N_CURRENT_NUM}>0? åç³è¯·mesæ¬èµ°ã"); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 1) |
| | | else |
| | | switch (device.deviceType) |
| | | { |
| | | case 4: |
| | | { |
| | | |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | //LocationHelper.UnLockLoc(wcsTask.S_START_LOC); |
| | | break; |
| | | case "end": |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºå®æï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | wcsTask.S_B_STATE = "宿"; |
| | | wcsTask.T_END_TIME = DateTime.Now; |
| | | |
| | | bobe = true; |
| | | //ILocContainerRepository locContainerRepository2 = new LocContainerRepository(); |
| | | //List<LocContainerEntity> llls = new List<LocContainerEntity>(); |
| | | //foreach (var c in cntrs) |
| | | //{ |
| | | // var action = new LocContainerEntity() |
| | | // { |
| | | // S_ID = Guid.NewGuid().ToString(), |
| | | // S_STATE = "ç¼è¾", |
| | | // T_CREATE = DateTime.Now, |
| | | // T_MODIFY = DateTime.Now, |
| | | |
| | | // S_LOC_CODE = endLoc.S_LOC_CODE, |
| | | // S_CNTR_CODE = c, |
| | | // S_TYPE = "", |
| | | // }; |
| | | // llls.Add(action); |
| | | //} |
| | | |
| | | endLoc.S_LOCK_STATE = "æ "; |
| | | endLoc.N_CURRENT_NUM = 1; |
| | | endLoc.T_MODIFY = DateTime.Now; |
| | | MainMissionService.Update(wcsTask); |
| | | if (Settings.deviceInfos.Find(x => x.deviceType == 2 && (/*x.location.Contains(wcsTask.S_END_LOC)||*/x.deviceNo.Contains(wcsTask.S_END_LOC))) != null) |
| | | locrep.Update(endLoc); |
| | | //locContainerRepository2.Insert(llls); |
| | | |
| | | var device2 = Settings.deviceInfos.Find(x => x.location.Contains(wcsTask.S_END_LOC)); |
| | | if (device2 != null) |
| | | { |
| | | if (device2.deviceType == 1) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | if (device2.deviceName.Contains("ç»´å¸å°æè")) |
| | | { |
| | | requestType = 3, |
| | | startBit = ssloc |
| | | })); |
| | | LogHelper.Info($"{ssloc}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | { |
| | | //return; |
| | | //string V = device2.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0 ? "R10" : "R11"; |
| | | //Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "true", device2.deviceName + "Queue"); |
| | | //å¸è´§ååæçåèµ°ã ç¶åè§¦åæ«ç è¿è¡æ ¡éªã |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | //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"); |
| | | |
| | | GZ.Modular.Redis.RedisHelper.Add(device2.deviceName + "." + V2, "true", out string msg1); |
| | | TcpServer.TrayIps.Remove(device2.deviceNo[inde ? 0 : 1]); |
| | | } |
| | | } |
| | | //}); |
| | | else if (device2.deviceType == 2) |
| | | { |
| | | if (device2.deviceName.Contains("Jsæ·é¡º")) |
| | | { |
| | | //Task.Run(() => |
| | | //{ |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | string V = inde ? "D1224" : "D1225"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | //}); |
| | | |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/202", JsonConvert.SerializeObject(new |
| | | { |
| | | sceneType = 3, |
| | | cntrCode = cntrs.FirstOrDefault() |
| | | })); |
| | | //if (device2.deviceName.Contains("1")) |
| | | //{ |
| | | // if (inde) tag.Js1.D1224 = 1; |
| | | // else tag.Js1.D1225 = 1; |
| | | //}else |
| | | //{ |
| | | // if (inde) tag.Js2.D1224 = 1; |
| | | // else tag.Js2.D1225 = 1; |
| | | //} |
| | | } |
| | | //Task.Run(() => |
| | | //{ |
| | | var ssloc = device2.deviceNo[1]; |
| | | var endloc = locrep.FindEntity(x => x.S_LOC_CODE == ssloc); |
| | | LogHelper.Info($"æ·é¡ºå¸è´§åï¼ æ¥çç¼åä½ {ssloc}-{endloc?.N_CURRENT_NUM}>0? åç³è¯·mesæ¬èµ°ã"); |
| | | if (endloc != null && endloc.N_CURRENT_NUM == 1) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 3, |
| | | startBit = ssloc |
| | | })); |
| | | LogHelper.Info($"{ssloc}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | { |
| | | //return; |
| | | } |
| | | } |
| | | //}); |
| | | } |
| | | else |
| | | switch (device2.deviceType) |
| | | { |
| | | case 4: |
| | | { |
| | | |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | string V = inde ? "D2210" : "D2215"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | //var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | //string V = inde ? "D2210" : "D2215"; |
| | | //Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | |
| | | //LocationMethod.JudgeLocation(wcsTask); |
| | | break; |
| | | case "cancel": |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºåæ¶ï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | wcsTask.S_B_STATE = "åæ¶"; |
| | | //startloc.S_LOCK_STATE = "æ "; |
| | | //endLoc.S_LOCK_STATE = "æ "; |
| | | MainMissionService.Update(wcsTask); |
| | | TaskActRepository taskActRepository = new TaskActRepository(); |
| | | var tare = taskActRepository.FindList(x => x.S_TASK_NO == wcsTask.S_TASK_NO); |
| | | if (tare.Any()) |
| | | { |
| | | if (tare.Find(x => x.S_ACTION_CODE == "outbin") == null) |
| | | { |
| | | startloc.S_LOCK_STATE = "æ "; |
| | | endLoc.S_LOCK_STATE = "æ "; |
| | | locrep.Update(startloc); |
| | | locrep.Update(endLoc); |
| | | } |
| | | else if (tare.Find(x => x.S_ACTION_CODE == "end") == null) |
| | | { |
| | | endLoc.S_LOCK_STATE = "æ "; |
| | | locrep.Update(endLoc); |
| | | } |
| | | } |
| | | |
| | | //locrep.Update(startloc); |
| | | //locrep.Update(endLoc); |
| | | //TaskProcess.OperateStatus(wcsTask, 7); |
| | | //WCSHelper.Fail(wcsTask); |
| | | break; |
| | | case "apply": |
| | | // å¤æè¯¥ä»»å¡çæ¥é©³ä½æ¯å¦æå
¶ä»å
¥åºæåºåºä»»å¡ï¼å¦ææï¼åå¨çä½çå¾
ï¼å¦ææ²¡æï¼åå
¥ |
| | | //TaskisOk(wcsTask); |
| | | break; |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(wcsTask.S_SRC_NO)) |
| | | { |
| | | var mestask = MainMissionService.FindEntity(x => x.S_TASK_NO == wcsTask.S_SRC_NO); |
| | | if (mestask != null && bobe) |
| | | { |
| | | if (model.method != "end") |
| | | { |
| | | if (mestask.S_START_LOC == wcsTask.S_START_LOC && mestask.S_B_STATE == "MES") |
| | | Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | } |
| | | else |
| | | switch (device2.deviceType) |
| | | { |
| | | if (mestask.S_END_LOC != wcsTask.S_END_LOC) |
| | | { |
| | | case 4: |
| | | { |
| | | |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | string V = inde ? "D2210" : "D2215"; |
| | | Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | //var inde = device2.location.ToList().FindIndex(x => x == wcsTask.S_END_LOC) == 0; |
| | | //string V = inde ? "D2210" : "D2215"; |
| | | //Conn.é»è®¤Redis.SetValue(device2.deviceName + "." + V, "1", device2.deviceName + "Queue"); |
| | | } |
| | | break; |
| | | LogHelper.Info($"{wcsTask.S_SRC_NO}-{wcsTask.S_TASK_NO} ä¸é¶æ®µå®æï¼éç½®è¿è¡äºé¶æ®µã"); |
| | | mestask.N_PRIORITY = -88; |
| | | MainMissionService.Update(mestask); |
| | | } |
| | | } |
| | | |
| | | //LocationMethod.JudgeLocation(wcsTask); |
| | | break; |
| | | case "cancel": |
| | | LogHelper.Info($"海康车任å¡ç¶æåæ´ä¸ºåæ¶ï¼ä»»å¡å·ä¸ºï¼{model.taskCode}", "agvæåäº¤äºæ¥å¿"); |
| | | wcsTask.S_B_STATE = "åæ¶"; |
| | | //startloc.S_LOCK_STATE = "æ "; |
| | | //endLoc.S_LOCK_STATE = "æ "; |
| | | MainMissionService.Update(wcsTask); |
| | | TaskActRepository taskActRepository = new TaskActRepository(); |
| | | var tare = taskActRepository.FindList(x => x.S_TASK_NO == wcsTask.S_TASK_NO); |
| | | if (tare.Any()) |
| | | { |
| | | if (tare.Find(x => x.S_ACTION_CODE == "outbin") == null) |
| | | { |
| | | startloc.S_LOCK_STATE = "æ "; |
| | | endLoc.S_LOCK_STATE = "æ "; |
| | | locrep.Update(startloc); |
| | | locrep.Update(endLoc); |
| | | else if (mestask.S_B_STATE == "MES") |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | } |
| | | } |
| | | else if (tare.Find(x => x.S_ACTION_CODE == "end") == null) |
| | | { |
| | | endLoc.S_LOCK_STATE = "æ "; |
| | | locrep.Update(endLoc); |
| | | } |
| | | |
| | | } |
| | | |
| | | //locrep.Update(startloc); |
| | | //locrep.Update(endLoc); |
| | | //TaskProcess.OperateStatus(wcsTask, 7); |
| | | //WCSHelper.Fail(wcsTask); |
| | | break; |
| | | case "apply": |
| | | // å¤æè¯¥ä»»å¡çæ¥é©³ä½æ¯å¦æå
¶ä»å
¥åºæåºåºä»»å¡ï¼å¦ææï¼åå¨çä½çå¾
ï¼å¦ææ²¡æï¼åå
¥ |
| | | //TaskisOk(wcsTask); |
| | | break; |
| | | } |
| | | |
| | | if (!string.IsNullOrEmpty(wcsTask.S_SRC_NO)) |
| | | { |
| | | var mestask = MainMissionService.FindEntity(x => x.S_TASK_NO == wcsTask.S_SRC_NO); |
| | | if (mestask != null && bobe) |
| | | { |
| | | if (model.method != "end") |
| | | else if (mestask != null && model.method == "cancel") |
| | | { |
| | | if (mestask.S_START_LOC == wcsTask.S_START_LOC && mestask.S_B_STATE == "MES") |
| | | if (mestask.S_B_STATE == "MES") |
| | | Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | LogHelper.Info($"{wcsTask.S_SRC_NO}-{wcsTask.S_TASK_NO} ä¸é¶æ®µåæ¶ï¼éç½®ç¹ï¼çº¿ç¨å¤çã"); |
| | | mestask.N_PRIORITY = -1; |
| | | mestask.S_B_STATE = "MES_åæ¶"; |
| | | MainMissionService.Update(mestask); |
| | | } |
| | | else |
| | | { |
| | | if (mestask.S_END_LOC != wcsTask.S_END_LOC) |
| | | { |
| | | LogHelper.Info($"{wcsTask.S_SRC_NO}-{wcsTask.S_TASK_NO} ä¸é¶æ®µå®æï¼éç½®è¿è¡äºé¶æ®µã"); |
| | | mestask.N_PRIORITY = -88; |
| | | MainMissionService.Update(mestask); |
| | | } |
| | | else if (mestask.S_B_STATE == "MES") |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | } |
| | | } |
| | | |
| | | } |
| | | else if (mestask != null && model.method == "cancel") |
| | | { |
| | | if (mestask.S_B_STATE == "MES") |
| | | Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/201", JsonConvert.SerializeObject(new |
| | | { |
| | | reqCode = wcsTask.S_SRC_NO, |
| | | model.method |
| | | })); |
| | | LogHelper.Info($"{wcsTask.S_SRC_NO}-{wcsTask.S_TASK_NO} ä¸é¶æ®µåæ¶ï¼éç½®ç¹ï¼çº¿ç¨å¤çã"); |
| | | mestask.N_PRIORITY = -1; |
| | | mestask.S_B_STATE = "MES_åæ¶"; |
| | | MainMissionService.Update(mestask); |
| | | } |
| | | TaskProcess.AddActionRecord(model.taskCode, model.method, model.eqpCode, model.data, wcsTask.S_START_LOC, wcsTask.S_END_LOC); |
| | | //è°ç¨ç¬¬ä¸æ¹æ¥å£ï¼å¦ææï¼TaskProcess.ReportStatus |
| | | } |
| | | TaskProcess.AddActionRecord(model.taskCode, model.method, model.eqpCode, model.data, wcsTask.S_START_LOC, wcsTask.S_END_LOC); |
| | | //è°ç¨ç¬¬ä¸æ¹æ¥å£ï¼å¦ææï¼TaskProcess.ReportStatus |
| | | else |
| | | { |
| | | // ææ¶è®¾å®ä¸º0 |
| | | wcsTask.S_B_STATE = "䏿¥ç¶æç©º"; |
| | | //å®å
¨è¯·æ±ç |
| | | //TaskProcess.OperateReq(model.taskCode, wcsTask.N_B_STATE, model.eqpCode, model.data); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | // ææ¶è®¾å®ä¸º0 |
| | | wcsTask.S_B_STATE = "䏿¥ç¶æç©º"; |
| | | //å®å
¨è¯·æ±ç |
| | | //TaskProcess.OperateReq(model.taskCode, wcsTask.N_B_STATE, model.eqpCode, model.data); |
| | | LogHelper.Info($"å½åä»»å¡å·ä»»å¡ä¸åå¨{model.taskCode} agvæåäº¤äºæ¥å¿"); |
| | | return new HkReturnResult { reqCode = model.reqCode, code = 1, message = "è¿ä¸æ¯æä»¬çä»»å¡ã" }; |
| | | } |
| | | } |
| | | else |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Info($"å½åä»»å¡å·ä»»å¡ä¸åå¨{model.taskCode} agvæåäº¤äºæ¥å¿"); |
| | | return new HkReturnResult { reqCode = model.reqCode, code = 1, message = "è¿ä¸æ¯æä»¬çä»»å¡ã" }; |
| | | LogHelper.Error("ThreadGrats>>" + ex.Message, ex); |
| | | } |
| | | finally |
| | | { |
| | | locrep.Disnull(); |
| | | MainMissionService.Disnull(); |
| | | } |
| | | return new HkReturnResult { reqCode = model.reqCode, code = 0 }; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | public void ThreadMXC5(Tag tag) |
| | | { |
| | | var VERX = Settings.deviceInfos.Find(x => x.deviceType == 6 && x.deviceName.Contains("1å·")); |
| | |
| | | LogHelper.Info("转å1å·çº¿ deviceType 6 没æé
ç½®ã"); |
| | | return; |
| | | } |
| | | |
| | | if (tag.ZZ1.RD1200 == 1 && tag.ZZ1.RD1200_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 11, |
| | | endBit = VERX.location[0] |
| | | })); |
| | | LogHelper.Info($"{VERX.location[0]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | { |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1200_LAST", "1", out string msg); |
| | | } |
| | | } |
| | | else if (tag.ZZ1.RD1200 == 0 && tag.ZZ1.RD1200_LAST == 1) |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1200_LAST", "0", out string msg); |
| | | |
| | | |
| | | if (tag.ZZ1.RD1201 == 1 && tag.ZZ1.RD1201_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 11, |
| | | endBit = VERX.location[1] |
| | | })); |
| | | LogHelper.Info($"{VERX.location[1]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | { |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1201_LAST", "1", out string msg); |
| | | } |
| | | } |
| | | else if (tag.ZZ1.RD1201 == 0 && tag.ZZ1.RD1201_LAST == 1) |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1201_LAST", "0", out string msg); |
| | | |
| | | |
| | | if (tag.ZZ1.RD1202 == 1 && tag.ZZ1.RD1202_LAST == 0) |
| | | { |
| | | var str = Settings.apiHelper.Post(Settings.WMSbaseUrl + "mom-basic/dataTransmission/json/service/200", JsonConvert.SerializeObject(new |
| | | { |
| | | requestType = 9, |
| | | startBit = VERX.location[2], |
| | | unLockStartBitOutbin = true |
| | | })); |
| | | LogHelper.Info($"{VERX.location[2]}ç³è¯·mesä»»å¡ç»æ{str}"); |
| | | var strr = JsonConvert.DeserializeObject<Messss>(str); |
| | | if (strr != null && strr.success && strr.data?.state == 0) |
| | | { |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1202_LAST", "1", out string msg); |
| | | } |
| | | } |
| | | else if (tag.ZZ1.RD1202 == 0 && tag.ZZ1.RD1202_LAST == 1) |
| | | RedisHelper.Add($"Z转å1å·æºæ¢°æ.RD1202_LAST", "0", out string msg); |
| | | |
| | | } |
| | | public void ThreadMXC6(Tag tag) |
| | |
| | | LogHelper.Info("转å2å·çº¿ deviceType 6 没æé
ç½®ã"); |
| | | return; |
| | | } |
| | | |
| | | if (tag.ZZ2.RD1200 == 1 && tag.ZZ2.RD1200_LAST == 0) |
| | | { |
| | | |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1200_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.ZZ2.RD1200 == 0 && tag.ZZ2.RD1200_LAST == 1) |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1200_LAST", "0", out string msg); |
| | | |
| | | |
| | | if (tag.ZZ2.RD1201 == 1 && tag.ZZ2.RD1201_LAST == 0) |
| | | { |
| | | |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1201_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.ZZ2.RD1201 == 0 && tag.ZZ2.RD1201_LAST == 1) |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1201_LAST", "0", out string msg); |
| | | |
| | | |
| | | if (tag.ZZ2.RD1202 == 1 && tag.ZZ2.RD1202_LAST == 0) |
| | | { |
| | | |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1202_LAST", "1", out string msg); |
| | | } |
| | | else if (tag.ZZ2.RD1202 == 0 && tag.ZZ2.RD1202_LAST == 1) |
| | | RedisHelper.Add($"Z转å2å·æºæ¢°æ.RD1202_LAST", "0", out string msg); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// å®å1å·çº¿ã |
| | | /// 1.å¢å ä¸çº¿é»è¾ã 2. æåçä¿¡å·å°±åï¼æ²¡ä¿¡å·å«å |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public class HttpServer |
| | | { |