浏览代码

三坐标回调 修改,当中间工位可取并且 工件id等于当前任务的工件ID,发送回调

zhuhao 1 年之前
父节点
当前提交
3fe183954d
共有 1 个文件被更改,包括 47 次插入58 次删除
  1. 47 58
      IMCS_CCS/Service/Impl/TaskJobService.cs

+ 47 - 58
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -1088,6 +1088,7 @@ namespace IMCS.CCS.Service.Impl
                     
                     CcsTagValue tagValue2 = tagValues.Where(o => o.Address == posValue ).FirstOrDefault();//测量结果
                     CcsTagValue tagValue3 = tagValues.Where(o => o.Address == "DB200.10").FirstOrDefault();//中间可取
+                    string currentMiddleWorkId = "";   //初始化当前中间工件ID
                     Log.Instance.WriteLogAdd("三坐标回调开始" + JsonConvert.SerializeObject(tagValue2) + JsonConvert.SerializeObject(tagValue3) , LOG_TITLE_CALLBACK);
                     if (tagValue != null && tagValue2 != null && tagValue3 != null && tagValue3.TagValue == "1")
                     {
@@ -1114,29 +1115,8 @@ namespace IMCS.CCS.Service.Impl
                         requestData.result = tagValue2.TagValue;
                         //根据工件id确认哪个位置已测量,赋值工位id
                         string srcWorkId = task.CallbackFailValue3; //原工件id
-                        requestData.stationId = "M";
-                    //var workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.L), 60); 
-                    //    if (ToolUtils.ReturnStringByBytes(workIdResult.Content) == srcWorkId)
-                    //    {
-                    //        requestData.stationId = "L";
-                    //    }
-                    //    if (string.IsNullOrEmpty(requestData.stationId))
-                    //    {
-                    //        workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.M), 60);
-                    //        if (ToolUtils.ReturnStringByBytes(workIdResult.Content) == srcWorkId)
-                    //        {
-                    //            requestData.stationId = "M";
-                    //        }
-                    //    }
-                    //    if (string.IsNullOrEmpty(requestData.stationId))
-                    //    {
-                    //        workIdResult = s7.Read(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.R),60);
-                    //        if (ToolUtils.ReturnStringByBytes(workIdResult.Content) == srcWorkId)
-                    //        {
-                    //            requestData.stationId = "R";
-                    //        }
-                    //    }
-
+                    
+                       
                         foreach (CcsActionAddress actionAddress in GetCcsActionAddresses)
                         {
                             if (!string.IsNullOrEmpty(actionAddress.Address))
@@ -1159,46 +1139,51 @@ namespace IMCS.CCS.Service.Impl
                                 }
                             }
                         }
-                         
-                        s7.ConnectClose(); 
-                        if (tagValue2.TagValue == "1")
-                        {
-                             var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
-                            ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
-                            if (result.IsSuccess && responseECSCallback.code == 0)
-                            {
-                                task.State = false;
-                                task.UpdateTime = DateTime.Now;
-                                await _taskCallbackService.CreateOrUpdateAndCache(task);
-                                message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
-                                Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
-                            }
-                            else
-                            {
-                                message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
-                                Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
-                            }
-                        }else if(tagValue2.TagValue == "2" || tagValue2.TagValue == "3")
+                    Log.Instance.WriteLogAdd("当前中间工件信息==>工件ID" + requestData.workId + ",当前任务工件ID = " + srcWorkId + ",程序名:" +requestData.workProgramName, LOG_TITLE_CALLBACK);
+                    //当中间位工件ID等于原工件ID
+                    if (srcWorkId == currentMiddleWorkId)
                         {
-                            requestData.code = "1";
-                            requestData.msg = "操作失败";
-                            var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
-                            ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
-                            if (result.IsSuccess && responseECSCallback.code == 0)
+                            if (tagValue2.TagValue == "1")
                             {
-                                task.State = false;
-                                task.UpdateTime = DateTime.Now;
-                                await _taskCallbackService.CreateOrUpdateAndCache(task);
-                                message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
-                                Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
+                                var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
+                                ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
+                                if (result.IsSuccess && responseECSCallback.code == 0)
+                                {
+                                    task.State = false;
+                                    task.UpdateTime = DateTime.Now;
+                                    await _taskCallbackService.CreateOrUpdateAndCache(task);
+                                    message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
+                                    Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
+                                }
+                                else
+                                {
+                                    message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
+                                    Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
+                                }
                             }
-                            else
+                            else if (tagValue2.TagValue == "2" || tagValue2.TagValue == "3")
                             {
-                                message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
-                                Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
+                                requestData.code = "1";
+                                requestData.msg = "操作失败";
+                                var result = await _apiRequestService.RequestAsync(RequsetModeEnum.Post, ecsUrlContext, requestData, null);
+                                ResponseECSCallbackData responseECSCallback = JsonConvert.DeserializeObject<ResponseECSCallbackData>(result.Message);
+                                if (result.IsSuccess && responseECSCallback.code == 0)
+                                {
+                                    task.State = false;
+                                    task.UpdateTime = DateTime.Now;
+                                    await _taskCallbackService.CreateOrUpdateAndCache(task);
+                                    message = task.OperateName + "==>taskId:" + task.TaskId + ",taskNodeId:" + task.TaskNodeId + ",请求结果:" + result.Message + ";";
+                                    Log.Instance.WriteLogAdd(message, LOG_TITLE_CALLBACK);
+                                }
+                                else
+                                {
+                                    message = message + JsonConvert.SerializeObject(task) + ",请求失败! WebApi 返回结果" + ";";
+                                    Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
+                                }
                             }
                         } 
-                        
+
+                      s7.ConnectClose();
                     }
 
                     //回调检测到失败,回调通知ecs
@@ -1256,7 +1241,11 @@ namespace IMCS.CCS.Service.Impl
                                 Log.Instance.WriteLogAdd("回调异常,请求接口失败" + JsonConvert.SerializeObject(result), LOG_TITLE_CALLBACK);
                             }
                         }
-                    } 
+
+                    
+                }
+                
+
                 return string.IsNullOrEmpty(message) ? "无回调任务" : message;
             }
             catch (Exception ex)