| | |
| | | using NetTaste; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using System; |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Net.NetworkInformation; |
| | |
| | | else |
| | | { |
| | | bool Work = false; |
| | | if (device.IsConnected) |
| | | try |
| | | { |
| | | int i = 0; |
| | | while (!Work && i <= 3) |
| | | if (device.IsConnected) |
| | | { |
| | | i++; |
| | | Work = device.SetValue(HoistEnum.Inboundboxon, 1, task.TargetAddress); |
| | | Thread.Sleep(500); |
| | | int i = 0; |
| | | while (!Work && i <= 3) |
| | | { |
| | | i++; |
| | | Work = device.SetValue(HoistEnum.Inboundboxon, 1, task.TargetAddress); |
| | | Thread.Sleep(500); |
| | | } |
| | | } |
| | | if (!Work) |
| | | { |
| | | task.ExceptionMessage = $"ã{task.TargetAddress}ãåå
¥3楼å
¥åºç®±æ¾å°ä½å¤±è´¥"; |
| | | task.Remark = $"{device.DeviceCode}_Inboundboxon_{1}_{task.TargetAddress}"; |
| | | } |
| | | } |
| | | if (!Work) |
| | | catch (Exception ex) |
| | | { |
| | | task.ExceptionMessage = $"ã{task.TargetAddress}ãåå
¥3楼å
¥åºç®±æ¾å°ä½å¤±è´¥"; |
| | | task.ExceptionMessage = $"ã{task.TargetAddress}ãåå
¥3楼å
¥åºç®±æ¾å°ä½å¤±è´¥ï¼{ex.Message}"; |
| | | task.Remark = $"{device.DeviceCode}_Inboundboxon_{1}_{task.TargetAddress}"; |
| | | } |
| | | } |
| | |
| | | else |
| | | { |
| | | bool Work = false; |
| | | if (device.IsConnected) |
| | | try |
| | | { |
| | | int i = 0; |
| | | while (!Work && i <= 3) |
| | | if (device.IsConnected) |
| | | { |
| | | i++; |
| | | Work = device.SetValue(HoistEnum.Outboundboxon, 1, task.SourceAddress);//åºåºå®æ |
| | | Thread.Sleep(500); |
| | | int i = 0; |
| | | while (!Work && i <= 3) |
| | | { |
| | | i++; |
| | | Work = device.SetValue(HoistEnum.Outboundboxon, 1, task.SourceAddress);//åºåºå®æ |
| | | Thread.Sleep(500); |
| | | } |
| | | } |
| | | if (!Work) |
| | | { |
| | | task.ExceptionMessage = $"ã{task.SourceAddress}ãåå
¥3楼åºåºç®±æ¾å°ä½å¤±è´¥"; |
| | | task.Remark = $"{device.DeviceCode}_Outboundboxon_{1}_{task.SourceAddress}"; |
| | | } |
| | | } |
| | | if (!Work) |
| | | catch (Exception ex) |
| | | { |
| | | task.ExceptionMessage = $"ã{task.SourceAddress}ãåå
¥3楼åºåºç®±æ¾å°ä½å¤±è´¥"; |
| | | task.Remark = $"{device.DeviceCode}_Outboundboxon_{1}_{task.SourceAddress}"; |
| | | task.Remark = $"{device.DeviceCode}_Outboundboxon_{1}_{task.SourceAddress}"; throw; |
| | | } |
| | | |
| | | } |
| | | BaseDal.UpdateData(task); |
| | | } |
| | |
| | | else |
| | | { |
| | | bool Work = false; |
| | | if (device.IsConnected) |
| | | try |
| | | { |
| | | int i = 0; |
| | | while (!Work && i <= 3) |
| | | if (device.IsConnected) |
| | | { |
| | | i++; |
| | | Work = device.SetValue(HoistEnum.Emptyboxplacedinposition, 1, task.TargetAddress); |
| | | Thread.Sleep(500); |
| | | int i = 0; |
| | | while (!Work && i <= 3) |
| | | { |
| | | i++; |
| | | Work = device.SetValue(HoistEnum.Emptyboxplacedinposition, 1, task.TargetAddress); |
| | | Thread.Sleep(500); |
| | | } |
| | | } |
| | | if (!Work) |
| | | { |
| | | task.ExceptionMessage = $"ã{task.TargetAddress}ãåå
¥4楼空箱æ¾å°ä½å¤±è´¥"; |
| | | task.Remark = $"{device.DeviceCode}_Emptyboxplacedinposition_{1}_{task.TargetAddress}"; |
| | | } |
| | | } |
| | | if (!Work) |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | task.ExceptionMessage = $"ã{task.TargetAddress}ãåå
¥4楼空箱æ¾å°ä½å¤±è´¥"; |
| | | task.Remark = $"{device.DeviceCode}_Emptyboxplacedinposition_{1}_{task.TargetAddress}"; |
| | | } |
| | | |
| | | } |
| | | BaseDal.UpdateData(task); |
| | | } |
| | |
| | | else |
| | | { |
| | | bool Work = false; |
| | | if (device.IsConnected) |
| | | try |
| | | { |
| | | int i = 0; |
| | | while (!Work && i <= 3) |
| | | if (device.IsConnected) |
| | | { |
| | | i++; |
| | | Work = device.SetValue(HoistEnum.Outboundboxretrievalcompleted, 1, task.SourceAddress); |
| | | Thread.Sleep(500); |
| | | int i = 0; |
| | | while (!Work && i <= 3) |
| | | { |
| | | i++; |
| | | Work = device.SetValue(HoistEnum.Outboundboxretrievalcompleted, 1, task.SourceAddress); |
| | | Thread.Sleep(500); |
| | | } |
| | | } |
| | | if (!Work) |
| | | { |
| | | task.ExceptionMessage = $"ã{task.SourceAddress}ãåå
¥4楼åºåºåç®±å®æå¤±è´¥"; |
| | | task.Remark = $"{device.DeviceCode}_Outboundboxretrievalcompleted_{1}_{task.SourceAddress}"; |
| | | } |
| | | } |
| | | if (!Work) |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | task.ExceptionMessage = $"ã{task.SourceAddress}ãåå
¥4楼åºåºåç®±å®æå¤±è´¥"; |
| | | task.Remark = $"{device.DeviceCode}_Outboundboxretrievalcompleted_{1}_{task.SourceAddress}"; |
| | | } |
| | | |
| | | } |
| | | BaseDal.UpdateData(task); |
| | | } |
| | |
| | | { |
| | | bool Wok = false; |
| | | var Address = task.TaskType == TaskTypeEnum.Q3RK.ObjToInt() ? task.TargetAddress : task.SourceAddress; |
| | | if (device.IsConnected) |
| | | try |
| | | { |
| | | int i = 0; |
| | | while (!Wok && i <= 3) |
| | | if (device.IsConnected) |
| | | { |
| | | i++; |
| | | Wok = device.SetValue(QualityInspectionCommandEnum.RequestToEnter, false, Address); |
| | | Thread.Sleep(500); |
| | | int i = 0; |
| | | while (!Wok && i <= 3) |
| | | { |
| | | i++; |
| | | Wok = device.SetValue(QualityInspectionCommandEnum.RequestToEnter, false, Address); |
| | | Thread.Sleep(500); |
| | | } |
| | | } |
| | | if (!Wok) |
| | | { |
| | | task.ExceptionMessage = $"ã{Address}ãå
³é请æ±è¿å
¥å¤±è´¥ï¼"; |
| | | task.Remark = $"{device.DeviceCode}_RequestToEnter_{false}_{Address}"; |
| | | } |
| | | } |
| | | if (!Wok) |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | task.ExceptionMessage = $"ã{Address}ãå
³é请æ±è¿å
¥å¤±è´¥ï¼"; |
| | | task.Remark = $"{device.DeviceCode}_RequestToEnter_{false}_{Address}"; |
| | | } |
| | | |
| | | } |
| | | BaseDal.UpdateData(task); |
| | | } |
| | |
| | | else |
| | | { |
| | | bool Wok = false; |
| | | if (device.IsConnected) |
| | | try |
| | | { |
| | | int i = 0; |
| | | while (!Wok && i <= 3) |
| | | if (device.IsConnected) |
| | | { |
| | | i++; |
| | | Wok = device.SetValue<HoistEnum, short>(HoistEnum.Codereadingtriggered, 1, "TSJR3F"); |
| | | Thread.Sleep(500); |
| | | int i = 0; |
| | | while (!Wok && i <= 3) |
| | | { |
| | | i++; |
| | | Wok = device.SetValue<HoistEnum, short>(HoistEnum.Codereadingtriggered, 1, "TSJR3F"); |
| | | Thread.Sleep(500); |
| | | } |
| | | } |
| | | if (!Wok) |
| | | { |
| | | task.ExceptionMessage = $"ãTSJR3Fã3楼读ç 触å失败ï¼"; |
| | | task.Remark = $"{device.DeviceCode}_Codereadingtriggered_{1}_TSJR3F"; |
| | | } |
| | | } |
| | | if (!Wok) |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | task.ExceptionMessage = $"ãTSJR3Fã3楼读ç 触å失败ï¼"; |
| | | task.Remark = $"{device.DeviceCode}_Codereadingtriggered_{1}_TSJR3F"; |
| | | } |
| | | |
| | | } |
| | | task.TaskState = (int)TaskStatusEnum.CheckPalletCodeing; |
| | | BaseDal.UpdateData(task); |
| | |
| | | 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() && Rgv.messageType == 10 && Rgv.content.status == 4) |
| | | if (task.TaskType == TaskTypeEnum.CPMoveInventory.ObjToInt() && string.IsNullOrEmpty(task.WMSTaskNum)) |
| | | { |
| | | deviceName += "ç§»åº"; |
| | | WMSMoveLocationFeedback wMSMoveLocationFeedback = new WMSMoveLocationFeedback() |
| | | if (Rgv.messageType == 72) |
| | | { |
| | | containerCode = task.PalletCode, |
| | | fromStationCode = task.SourceAddress, |
| | | toLocationCode = task.TargetAddress |
| | | }; |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSMoveLocationFeedback)); |
| | | WMSReturn agvContent = null; |
| | | if (apiInfo == null) task.ExceptionMessage = "æªæ¾å°ç§»åºå®æåé¦WMSæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"; |
| | | else |
| | | task.TaskState = TaskStatusEnum.TakeFinish.ObjToInt(); |
| | | BaseDal.UpdateData(task); |
| | | UpdateLocationStatus(task.SourceAddress, task.PalletCode, deviceTypeEnum, LocationStatusEnum.Free); |
| | | } |
| | | if (Rgv.messageType == 10 && Rgv.content.status == 4) |
| | | { |
| | | task.TaskState = TaskStatusEnum.Finish.ObjToInt(); |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, wMSMoveLocationFeedback.Serialize()); |
| | | agvContent = response.DeserializeObject<WMSReturn>(); |
| | | content.OK(data: agvContent); |
| | | if (agvContent.code != 200) |
| | | deviceName += "ç§»åº"; |
| | | WMSMoveLocationFeedback wMSMoveLocationFeedback = new WMSMoveLocationFeedback() |
| | | { |
| | | task.ExceptionMessage = agvContent.message; |
| | | content.Error(agvContent.message); |
| | | containerCode = task.PalletCode, |
| | | fromStationCode = task.SourceAddress, |
| | | toLocationCode = task.TargetAddress |
| | | }; |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(WMSMoveLocationFeedback)); |
| | | WMSReturn agvContent = null; |
| | | if (apiInfo == null) task.ExceptionMessage = "æªæ¾å°ç§»åºå®æåé¦WMSæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"; |
| | | else |
| | | { |
| | | task.TaskState = TaskStatusEnum.Finish.ObjToInt(); |
| | | 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); |
| | | } |
| | | UpdateLocationStatus(task.TargetAddress, task.PalletCode, deviceTypeEnum, LocationStatusEnum.InStock); |
| | | BaseDal.DeleteAndMoveIntoHty(task, OperateTypeEnum.èªå¨å®æ); |
| | | } |
| | | UpdateLocationStatus(task.TargetAddress, task.PalletCode, deviceTypeEnum, LocationStatusEnum.InStock); |
| | | BaseDal.DeleteAndMoveIntoHty(task, OperateTypeEnum.èªå¨å®æ); |
| | | } |
| | | } |
| | | else |
| | |
| | | if (task.TaskType == (int)TaskTypeEnum.CPInbound && task.TaskState == (int)TaskStatusEnum.Execut) |
| | | { |
| | | task.TaskState = (int)TaskStatusEnum.WaiCheckShape; |
| | | //BaseDal.UpdateData(task);//ç»è´¨æ£é¨åå
¥å¯å¨ä¿¡å· |
| | | var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "F1") as OtherDevice; |
| | | if (device == null) task.ExceptionMessage = "æªæ¾å°1楼质æ£é¨è®¾å¤ä¿¡æ¯"; |
| | | else |
| | | if (task.SourceAddress != "OUT-01") |
| | | { |
| | | if (device.IsConnected) |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); |
| | | //BaseDal.UpdateData(task);//ç»è´¨æ£é¨åå
¥å¯å¨ä¿¡å· |
| | | var device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == "F1") as OtherDevice; |
| | | if (device == null) task.ExceptionMessage = "æªæ¾å°1楼质æ£é¨è®¾å¤ä¿¡æ¯"; |
| | | else |
| | | task.ExceptionMessage = "1楼质æ£é¨è®¾å¤è¿æ¥å¤±è´¥"; |
| | | { |
| | | if (device.IsConnected) |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); |
| | | else |
| | | task.ExceptionMessage = "1楼质æ£é¨è®¾å¤è¿æ¥å¤±è´¥"; |
| | | } |
| | | } |
| | | TaskFeedback(task, 4); |
| | | } |