Browse Source

修改代码

zhuhao 2 years ago
parent
commit
1afa75b613

+ 1 - 12
IMCS_CCS/Entitys/CallBackThreeCoordinatesRequestData.cs

@@ -28,18 +28,7 @@ namespace IMCS.CCS.Entitys
         /// <summary>
         /// 工位Id
         /// </summary>
-        public string stationId { get; set; }
-
-        /// <summary>
-        /// 程序名
-        /// </summary>
-        public string workProgramName { get; set; }
-
-        /// <summary>
-        /// 工序编号
-        /// </summary>
-        public string procedureNo { get; set; }
-
+        public string stationId { get; set; } 
         /// <summary>
         /// 结果
         /// </summary>

+ 10 - 0
IMCS_CCS/Entitys/CcsAction.cs

@@ -123,4 +123,14 @@ namespace IMCS.CCS.Entitys
         [EnumDescription("db200.22.0")]
         R, 
     }
+
+    public enum ThreeCoordinatesFinishedWrokIdEnum
+    {
+        [EnumDescription("db200.2668.0")]
+        L,
+        [EnumDescription("db200.2708.0")]
+        M,
+        [EnumDescription("db200.2748.0")]
+        R,
+    }
 }

+ 2 - 1
IMCS_CCS/Service/Impl/HttpRequestService.cs

@@ -1729,7 +1729,8 @@ namespace IMCS.CCS.Services
                 TaskCallback taskCallbackData = new TaskCallback(req.url, ActionTypeEnum.SendThreeCoordinates.ToString(),
                     EnumHelper.GetDescription(ActionTypeEnum.SendThreeCoordinates), req.taskId, req.taskNodeId);
                 taskCallbackData = setCallBackValue(CcsActionAddresses, taskCallbackData); 
-                taskCallbackData.Description = stationId; 
+                taskCallbackData.Description = stationId;
+                taskCallbackData.CallbackFailValue3 = req.data.workId;
                 await _taskCallbackService.CreateOrUpdateAndCache(taskCallbackData);
                 Log.Instance.WriteLogAdd(EnumHelper.GetDescription(ActionTypeEnum.SendThreeCoordinates) + "放三坐标成功===>>" + JsonConvert.SerializeObject(req)
                    , EnumHelper.GetDescription(ActionTypeEnum.SendThreeCoordinates));

+ 32 - 10
IMCS_CCS/Service/Impl/TaskJobService.cs

@@ -1119,16 +1119,38 @@ namespace IMCS.CCS.Service.Impl
                            if (freeActionAdress != null)
                            {*/
                            //根据sort顺序,查询左中右可取位置,写入地址列表
-                            CcsActionAddress actionAddressGet = new CcsActionAddress();
-                            actionAddressGet.Type = "CALLBACK_GET_COOR";
-                            actionAddressGet.Sort = key;
-                            List<CcsActionAddress> GetCcsActionAddresses = _ccsActionAddressService.GetList(actionAddressGet);
-
-                            //赋值测量结果
-                             requestData.result = tagValue2.TagValue;
-                            //赋值工位id
-                            requestData.stationId = "";// freeActionAdress.Address;
-                            foreach (CcsActionAddress actionAddress in GetCcsActionAddresses)
+                        CcsActionAddress actionAddressGet = new CcsActionAddress();
+                        actionAddressGet.Type = "CALLBACK_GET_COOR";
+                        actionAddressGet.Sort = key;
+                        List<CcsActionAddress> GetCcsActionAddresses = _ccsActionAddressService.GetList(actionAddressGet);
+
+                        //赋值测量结果
+                        requestData.result = tagValue2.TagValue;
+                        //根据工件id确认哪个位置已测量,赋值工位id
+                        string srcWorkId = task.CallbackFailValue3; //原工件id
+                        var workIdResult = s7.ReadString(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.L));
+                        if(workIdResult.ToString() == srcWorkId)
+                        {
+                            requestData.stationId = "L";
+                        }
+                        if (string.IsNullOrEmpty(requestData.stationId))
+                        {
+                            workIdResult = s7.ReadString(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.M));
+                            if (workIdResult.ToString() == srcWorkId)
+                            {
+                                requestData.stationId = "M";
+                            }
+                        }
+                        if (string.IsNullOrEmpty(requestData.stationId))
+                        {
+                            workIdResult = s7.ReadString(EnumHelper.GetDescription(ThreeCoordinatesFinishedWrokIdEnum.R));
+                            if (workIdResult.ToString() == srcWorkId)
+                            {
+                                requestData.stationId = "R";
+                            }
+                        }
+
+                        foreach (CcsActionAddress actionAddress in GetCcsActionAddresses)
                             {
                                 if (!string.IsNullOrEmpty(actionAddress.Address))
                                 {