Parcourir la source

取放任务处理

zhuhao il y a 2 ans
Parent
commit
80d4054cfc
1 fichiers modifiés avec 27 ajouts et 19 suppressions
  1. 27 19
      IMCS_CCS/Service/Impl/TaskJobService.cs

+ 27 - 19
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -495,16 +495,17 @@ namespace IMCS.CCS.Service.Impl
                                  || x.OperateType.Equals(ActionTypeEnum.SendServoStacker.ToString())
                                  || x.OperateType.Equals(ActionTypeEnum.SendLinShift.ToString())
                                  || x.OperateType.Equals(ActionTypeEnum.SendLinShiftFine.ToString())).ToList();
-
-            TaskCallback task = taskList.Where(key => deviceList.Any(device => device.Ip == key.IP)).FirstOrDefault() ; 
-            if (task == null)
+            taskList = taskList.Where(key => deviceList.Any(device => device.Ip == key.IP)).ToList();
+            //TaskCallback task = taskList.Where(key => deviceList.Any(device => device.Ip == key.IP)).FirstOrDefault() ; 
+            if (taskList == null || taskList.Count == 0)
             {
                 return "无回调任务" ;
             } 
             string message = "";
             try
             { 
-                    DateTime currentTime = DateTime.Now;
+                foreach(TaskCallback task in taskList)
+                { 
                     CcsTagValue tagValueQuery = new CcsTagValue();
                     tagValueQuery.Ip = task.IP;
                     //tagValueQuery.Address = task.Address;
@@ -587,7 +588,8 @@ namespace IMCS.CCS.Service.Impl
                             }
                         }
                     }
- 
+                    Thread.Sleep(1000);
+                }
                 return string.IsNullOrEmpty(message) ? "无回调任务" : message;
             }
             catch (Exception ex)
@@ -751,17 +753,18 @@ namespace IMCS.CCS.Service.Impl
             }
             List<Device> deviceList = await getDeviceList();
             //在线设备 
-            taskList = taskList.Where(x => x.OperateType.Equals(ActionTypeEnum.StartNCProgram.ToString()) && x.State).ToList();
-            TaskCallback task = taskList.Where(key => deviceList.Any(device => device.Ip == key.IP)).FirstOrDefault();
-            if (task == null)
+            taskList = taskList.Where(x => x.OperateType.Equals(ActionTypeEnum.StartNCProgram.ToString()) && x.State &&  deviceList.Any(device => device.Ip == x.IP)).ToList();
+            //TaskCallback task = taskList.Where(key => deviceList.Any(device => device.Ip == key.IP)).FirstOrDefault();
+            if (taskList == null || taskList.Count == 0)
             {
                 return "无回调任务";
             }
             string message = "";
             try
-            {
-              
+            { 
                     DateTime currentTime = DateTime.Now;
+                    foreach (TaskCallback task in taskList)
+                    { 
                     CcsTagValue tagValueQuery = new CcsTagValue();
                     tagValueQuery.Ip = task.IP;
                     //tagValueQuery.Address = task.Address;
@@ -844,8 +847,10 @@ namespace IMCS.CCS.Service.Impl
                                 Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
                             }
                         }
+                        
                     }
-                
+                    Thread.Sleep(1000);
+                }
                 return string.IsNullOrEmpty(message) ? "无回调任务" : message;
             }
             catch (Exception ex)
@@ -872,23 +877,24 @@ namespace IMCS.CCS.Service.Impl
             }
             List<Device> deviceList = await getDeviceList();
             //在线设备
-            taskList = taskList.Where(x => x.OperateType.Equals(ActionTypeEnum.StartCleanMachine.ToString()) && x.State).ToList();
-            TaskCallback task = taskList.Where(key => deviceList.Any(device => device.Ip == key.IP)).FirstOrDefault();
-            if (task == null)
+            taskList = taskList.Where(x => x.OperateType.Equals(ActionTypeEnum.StartCleanMachine.ToString()) && x.State && deviceList.Any(device => device.Ip == x.IP)).ToList();
+           // TaskCallback task = taskList.Where(key => deviceList.Any(device => device.Ip == key.IP)).FirstOrDefault();
+            if (taskList == null || taskList.Count == 0)
             {
                 return "无回调任务";
             }
             string message = "";
             try
-            { 
-                    DateTime currentTime = DateTime.Now;
+            {
+                foreach (TaskCallback task in taskList)
+                { 
                     CcsTagValue tagValueQuery = new CcsTagValue();
                     tagValueQuery.Ip = task.IP;
                     //tagValueQuery.Address = task.Address;
                     List<CcsTagValue> tagValues = _ccsTagValueService.GetList(tagValueQuery).ToList();
                     CcsTagValue tagValue = tagValues.Where(o => o.Address == task.Address).FirstOrDefault();
-                    //if (tagValue != null && tagValue.TagValue == task.CallbackValue)
-                    if(currentTime.Subtract(task.CreateTime).TotalSeconds > 10)
+                    if (tagValue != null && tagValue.TagValue == task.CallbackValue)
+                    //if(currentTime.Subtract(task.CreateTime).TotalSeconds > 10)
                     {
                         CallBackRequestData requestData = new CallBackRequestData();
                         requestData.taskId = long.Parse(task.TaskId);
@@ -964,7 +970,9 @@ namespace IMCS.CCS.Service.Impl
                                 Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
                             }
                         }
-                    } 
+                    }
+                    Thread.Sleep(1000);
+                }
                 return string.IsNullOrEmpty(message) ? "无回调任务" : message;
             }
             catch (Exception ex)