| | |
| | | |
| | | #region åå车å
¶ä»ä»»å¡ç¶æ |
| | | /// <summary> |
| | | /// å¾
å¤å½¢æ£æµ |
| | | /// </summary> |
| | | [Description("å¾
å¤å½¢æ£æµ")] |
| | | WaiCheckShape, |
| | | /// <summary> |
| | | /// å¤å½¢æ£æµä¸ |
| | | /// </summary> |
| | | [Description("å¤å½¢æ£æµä¸")] |
| | |
| | | if (task == null) throw new Exception($"æªæ¾å°ä»»å¡,ä»»å¡ç¼å·ã{Rgv.content.taskID}ã"); |
| | | if (Rgv.messageType == 72)//å°è½¦é¡¶èµ·è´§ç© |
| | | { |
| | | TaskFromCompleted(task, deviceTypeEnum); |
| | | //ç»è´¨æ£é¨åå
¥å¯å¨ä¿¡å· |
| | | 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 ?? throw new Exception("æªæ¾å°1楼质æ£é¨è®¾å¤ä¿¡æ¯"); |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); |
| | | } |
| | | else |
| | | { |
| | | TaskFromCompleted(task, deviceTypeEnum); |
| | | } |
| | | } |
| | | else if (Rgv.messageType == 10) |
| | | { |
| | | if (task.TaskState == (int)TaskStatusEnum.TakeFinish && Rgv.content.status == 4) |
| | |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | public WebResponseContent IQCResult(IQCResultDTO iQC) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | #region 容å¨ä¸æ¶ |
| | | Dt_StationManger stationManger = _stationMangerService.Repository.QueryFirst(x => x.StationCode == iQC.StationCode) ?? throw new Exception($"æªæ¾å°ç«å°ã{iQC.StationCode}ãä¿¡æ¯"); |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOToccupyStation)) ?? throw new Exception("æªæ¾å°ç«ç¹å®¹å¨ä¸æ¶æ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | FOURBOToccupyStation fOURBOToccupyStation = new FOURBOToccupyStation() |
| | |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOToccupyStation.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | if (fOURBOTReturn.returnCode != 0) throw new Exception(fOURBOTReturn.returnUserMsg); |
| | | #endregion |
| | | |
| | | #region å建ååè½¦ä»»å¡ |
| | | var task = BaseDal.QueryFirst(x => x.PalletCode == iQC.ContainerCode && x.SourceAddress == iQC.StationCode && x.TaskState == (int)TaskStatusEnum.New); |
| | | #endregion |
| | | #region å¼å«åå车 |
| | | apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("æªæ¾å°åå车任å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | FOURBOTnewMovePodTask fOURBOTnewMovePodTask = new() |
| | | { |
| | | priority = task.Grade, |
| | | podID = task.PalletCode, |
| | | //desNodeID = task.SourceAddress, |
| | | desExt = new |
| | | { |
| | | unload = 0//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | }, |
| | | desStationCodes = task.SourceAddress, |
| | | desType = 5 |
| | | }; |
| | | response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | content.Data = fOURBOTReturn; |
| | | if (fOURBOTReturn.returnCode != 0) throw new Exception(fOURBOTReturn.returnUserMsg); |
| | | task.TaskState = (int)TaskStatusEnum.Execut; |
| | | BaseDal.UpdateData(task); |
| | | #endregion |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | } |
| | | //FOURBOTnewMovePodTaskResponseData fOURBO = fOURBOTReturn.data as FOURBOTnewMovePodTaskResponseData ?? throw new Exception("æªè·åå°åå车è¿åçä»»å¡ID"); |
| | | item.RGVTaskId = fOURBO.taskID; |
| | | item.TaskState = (int)TaskStatusEnum.Execut; |
| | | item.TaskState = (int)TaskStatusEnum.TakeFinish; |
| | | } |
| | | } |
| | | _taskService.UpdateData(tasks); |
| | |
| | | item.NextAddress = stationManger.StationCode; |
| | | fOURBOTnewMovePodTask.priority = item.Grade; |
| | | fOURBOTnewMovePodTask.podID = item.PalletCode; |
| | | fOURBOTnewMovePodTask.destination = item.NextAddress; |
| | | //fOURBOTnewMovePodTask.desNodeID = item.NextAddress; |
| | | fOURBOTnewMovePodTask.desStationCodes = item.NextAddress; |
| | | fOURBOTnewMovePodTask.desExt = new |
| | | { |
| | | unload = 1//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | |
| | | if (FreeLocationInfos.Count < 1) throw new Exception($"æååºå建移åºä»»å¡æ å¯ç¨ç©ºè´§ä½"); |
| | | foreach (var item in rGVLocationInfos) |
| | | { |
| | | Dt_RGVLocationInfo? rGVLocationInfo = FreeLocationInfos.Where(x => x.Layer == item.Layer).OrderBy(n => Math.Abs(n.Row - item.Row)).FirstOrDefault(); |
| | | Dt_RGVLocationInfo? rGVLocationInfo = FreeLocationInfos.Where(x => x.Layer == item.Layer && x.RoadwayNo != item.RoadwayNo).OrderBy(n => Math.Abs(n.Row - item.Row)).FirstOrDefault(); |
| | | rGVLocationInfo ??= FreeLocationInfos.First(); |
| | | Dt_Task dt_Task = new() |
| | | { |
| | |
| | | #region ä¸ååºåºä»»å¡ |
| | | fOURBOTnewMovePodTask.priority = item.Grade; |
| | | fOURBOTnewMovePodTask.podID = item.PalletCode; |
| | | fOURBOTnewMovePodTask.destination = item.NextAddress; |
| | | fOURBOTnewMovePodTask.desNodeID = item.NextAddress; |
| | | fOURBOTnewMovePodTask.desExt = new |
| | | { |
| | | unload = 0//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | |
| | | { |
| | | try |
| | | { |
| | | var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.New).ToList(); |
| | | var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskType == (int)TaskTypeEnum.CPInbound && x.TaskState == (int)TaskStatusEnum.WaiCheckShape).ToList(); |
| | | if (newTasks.Count > 0) SendRGVInTask(newTasks); |
| | | newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskStatusEnum.New).ToList(); |
| | | if (newTasks.Count > 0) |
| | | { |
| | | #region æ¥æ¾å¯ä¹å£«ä»»å¡ |
| | |
| | | #endregion |
| | | |
| | | #region æ¥æ¾RGVä»»å¡ |
| | | Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPInbound).ToList(); |
| | | if (Tasks.Count > 0) SendRGVInTask(Tasks); |
| | | //Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPInbound).ToList(); |
| | | //if (Tasks.Count > 0) SendRGVInTask(Tasks); |
| | | Tasks = newTasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPOutbound).ToList(); |
| | | if (Tasks.Count > 0) IsMoveTask(Tasks); |
| | | #endregion |
| | |
| | | var R_ExtremeWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_ExtremeWarning, task.SourceAddress); |
| | | //åå
¥åæ¢è´¨æ£ä¿¡å· |
| | | device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress); |
| | | Thread.Sleep(500); |
| | | device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, false, task.SourceAddress); |
| | | if (qualityResult) |
| | | { |
| | | //å¦æè´¨æ£éè¿äºï¼å°±æä»»å¡ç¶ææ¹ä¸ºè´¨æ£å®æ |
| | | task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt(); |
| | | task.ExceptionMessage = ""; |
| | | Uptasks.Add(task); |
| | | } |
| | | else |
| | |
| | | if (R_ExtremeWarning) task.ExceptionMessage += ",è¶
é«"; |
| | | Uptasks.Add(task); |
| | | //åå
¥å¤ä½ä¿¡å· |
| | | device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress); |
| | | //device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress); |
| | | } |
| | | } |
| | | else |