| | |
| | | GALAXISUpdateTaskStatus gALAXIS = new(); |
| | | RGVReturnInfo Rgv = new();//åå车任å¡ç¶æéç¥ |
| | | HIKROBOTTaskProcessReport hIKROBOT = new();//海康æºå¨äºº |
| | | string deviceName = ""; |
| | | try |
| | | { |
| | | if (deviceTypeEnum == DeviceTypeEnum.GALAXIS) |
| | | { |
| | | deviceName = "å¯ä¹å£«"; |
| | | gALAXIS = TaskDTO.Serialize().DeserializeObject<GALAXISUpdateTaskStatus>(); |
| | | if (gALAXIS == null) throw new Exception("åæ°è½¬æ¢å¤±è´¥ï¼"); |
| | | var task = BaseDal.QueryFirst(x => x.WMSTaskNum == gALAXIS.taskId); |
| | |
| | | } |
| | | else if (deviceTypeEnum == DeviceTypeEnum.HIKROBOT) |
| | | { |
| | | deviceName = "海康"; |
| | | hIKROBOT = TaskDTO.Serialize().DeserializeObject<HIKROBOTTaskProcessReport>(); |
| | | if (hIKROBOT == null) throw new Exception("åæ°è½¬æ¢å¤±è´¥ï¼"); |
| | | var task = BaseDal.QueryFirst(x => x.WMSTaskNum == hIKROBOT.robotTaskCode); |
| | |
| | | } |
| | | else //åå车 |
| | | { |
| | | deviceName = "åå车"; |
| | | Rgv = TaskDTO.Serialize().DeserializeObject<RGVReturnInfo>(); |
| | | if (Rgv == null) throw new Exception("åæ°è½¬æ¢å¤±è´¥ï¼"); |
| | | //var task = BaseDal.QueryFirst(x => x.RGVTaskId == Rgv.content.taskID); |
| | | var task = BaseDal.QueryFirst(x => x.PalletCode == Rgv.content.podID); |
| | | if (task == null) throw new Exception($"æªæ¾å°ä»»å¡,ä»»å¡ç¼å·ã{Rgv.content.taskID}ã"); |
| | | if (task.TaskType == TaskTypeEnum.CPMoveInventory.ObjToInt()) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | if (Rgv.messageType == 72)//å°è½¦é¡¶èµ·è´§ç© |
| | | { |
| | | if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.Execut) |
| | |
| | | if (Rgv.content.status == 2) TaskFeedback(task, 1); |
| | | if (Rgv.content.status == 4) |
| | | { |
| | | if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.TakeFinish) |
| | | if (task.TaskType == TaskTypeEnum.CPMoveInventory.ObjToInt()) |
| | | { |
| | | deviceName += "ç§»åº"; |
| | | WMSMoveLocationFeedback wMSMoveLocationFeedback = new WMSMoveLocationFeedback() |
| | | { |
| | | containerCode = task.PalletCode, |
| | | fromStationCode = task.SourceAddress, |
| | | toLocationCode = task.TargetAddress |
| | | }; |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSInOutBoundCompleteFeedback)); |
| | | WMSReturn agvContent = null; |
| | | if (apiInfo == null) task.ExceptionMessage = "æªæ¾å°åºå
¥åºå®æåé¦WMSæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"; |
| | | else |
| | | { |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, wMSMoveLocationFeedback.Serialize()); |
| | | agvContent = response.DeserializeObject<WMSReturn>(); |
| | | content.OK(data: agvContent); |
| | | if (agvContent.code != 200) |
| | | { |
| | | task.ExceptionMessage = agvContent.message; |
| | | content.Error(agvContent.message); |
| | | } |
| | | } |
| | | } |
| | | else if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.TakeFinish) |
| | | { |
| | | if (!string.IsNullOrEmpty(task.ExceptionMessage)) task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt(); |
| | | else task.TaskState = (int)TaskStatusEnum.CheckShapeing; |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | content.OK(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | } |
| | | finally |
| | | { |
| | | // å¨ finally ä¸å¤æåªä¸ªå¯¹è±¡è¢«èµå¼äº |
| | | object logObject = null; |
| | | string deviceName = ""; |
| | | |
| | | if (gALAXIS != null && gALAXIS.taskId != null) |
| | | { |
| | | logObject = gALAXIS; |
| | | deviceName = "å¯ä¹å£«AGV"; |
| | | } |
| | | else if (hIKROBOT != null && hIKROBOT.robotTaskCode != null) |
| | | { |
| | | logObject = hIKROBOT; |
| | | deviceName = "海康æºå¨äºº"; |
| | | } |
| | | else if (Rgv != null && Rgv.content.taskID != 0) |
| | | { |
| | | logObject = Rgv; |
| | | deviceName = "åå车"; |
| | | } |
| | | |
| | | if (logObject != null) |
| | | { |
| | | _trackloginfoService.AddTrackLog(logObject, content, $"ä¸å{deviceName}ä»»å¡", "", ""); |
| | | } |
| | | _trackloginfoService.AddTrackLog(TaskDTO, content, $"{deviceName}ä»»å¡ç¶æåé¦", "", ""); |
| | | } |
| | | return content; |
| | | } |