| | |
| | | var outtasks = tasks.Where(x => x.TaskType == (int)TaskTypeEnum.CPOutbound).ToList(); |
| | | foreach (var item in outtasks) |
| | | { |
| | | ///夿æ¯å¦éè¦ç§»åº |
| | | ///夿æ¯å¦éè¦ç§»åº,åºåºç«å°æ¯å¦ç©ºé² |
| | | if (IsNoMoveTask(item) && StationIsFree(item.TargetAddress)) |
| | | { |
| | | #region ä¸ååºåºä»»å¡ |
| | | fOURBOTnewMovePodTask.priority = item.Grade; |
| | | fOURBOTnewMovePodTask.podID = item.PalletCode; |
| | | fOURBOTnewMovePodTask.destination = item.NextAddress; |
| | | fOURBOTnewMovePodTask.desExt = new |
| | | { |
| | | unload = 1//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 2; |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | if (fOURBOTReturn.returnCode == 0) |
| | | { |
| | | item.RGVTaskId = fOURBOTReturn.data.taskID; |
| | | item.TaskState = (int)TaskStatusEnum.Execut; |
| | | } |
| | | #endregion |
| | | } |
| | | else |
| | | { |
| | | item.TaskState = (int)TaskStatusEnum.RGV_WaitMoveToExecute; |
| | | } |
| | | } |
| | | _taskService.UpdateData(outtasks); |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ä¸åå¤å½¢æ£æµæåä»»å¡ |
| | | /// <summary> |
| | | /// ä¸åå¤å½¢æ£æµæåä»»å¡ |
| | | /// </summary> |
| | |
| | | { |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("æªæ¾å°åå车任å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | List<Dt_RGVLocationInfo> rGVLocationInfos = new List<Dt_RGVLocationInfo>(); |
| | | List<Dt_StationManger> stationMangers = new List<Dt_StationManger>(); |
| | | foreach (var item in tasks) |
| | | { |
| | | #region è·åè´§ä½ |
| | |
| | | item.TaskState = (int)TaskStatusEnum.Puting; |
| | | rGVLocationInfo.LocationStatus = LocationStatusEnum.InLock.ObjToInt(); |
| | | rGVLocationInfos.Add(rGVLocationInfo); |
| | | #region éæ¾å
¥åºç«å° |
| | | Dt_StationManger stationManger = _stationMangerService.GetInStationInfo(item.SourceAddress); |
| | | stationManger.IsOccupied = LocationStatusEnum.Free.ObjToInt(); |
| | | stationMangers.Add(stationManger); |
| | | #endregion |
| | | } |
| | | } |
| | | } |
| | | _taskService.Db.Ado.BeginTran(); |
| | | _taskService.UpdateData(tasks); |
| | | _rGVLocationInfoService.UpdateData(rGVLocationInfos); |
| | | _stationMangerService.UpdateData(stationMangers); |
| | | _taskService.Db.Ado.CommitTran(); |
| | | } |
| | | catch (Exception ex) |
| | |
| | | WriteError(nameof(TaskJob), ex.Message, ex); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region ä¸åå¤å½¢æ£æµå¤±è´¥ä»»å¡ |
| | | public void SendCheckShapeingNGTask(List<Dt_Task> tasks) |
| | | { |
| | | FOURBOTnewMovePodTask fOURBOTnewMovePodTask = new(); |
| | | try |
| | | { |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("æªæ¾å°åå车任å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | foreach (var item in tasks) |
| | | { |
| | | Dt_StationManger stationManger = _stationMangerService.GetInStationInfo(item.SourceAddress); |
| | | item.CurrentAddress = item.NextAddress; |
| | | item.NextAddress = stationManger.RGVStationCode; |
| | | fOURBOTnewMovePodTask.priority = item.Grade; |
| | | fOURBOTnewMovePodTask.podID = item.PalletCode; |
| | | fOURBOTnewMovePodTask.destination = item.NextAddress; |
| | | fOURBOTnewMovePodTask.desExt = new |
| | | { |
| | | unload = 1//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 2; |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | if (fOURBOTReturn.returnCode == 0) |
| | | { |
| | | item.RGVTaskId = fOURBOTReturn.data.taskID; |
| | | item.TaskState = (int)TaskStatusEnum.Puting; |
| | | } |
| | | } |
| | | _taskService.UpdateData(tasks); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteError(nameof(TaskJob), ex.Message, ex); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 夿æ¯å¦éè¦ç§»åº |
| | | public static bool IsNoMoveTask(Dt_Task task) |
| | | { |
| | | var isNoMove = true; |
| | | try |
| | | { |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception(ex.Message); |
| | | } |
| | | return isNoMove; |
| | | } |
| | | #endregion |
| | | |
| | | #region 夿åºåºå£æ¯å¦ç©ºé² |
| | | public bool StationIsFree(string StationCode) |
| | | { |
| | | Dt_StationManger stationManger = _stationMangerService.GetOutStationInfo(StationCode); |
| | | return stationManger.IsOccupied == LocationStatusEnum.Free.ObjToInt(); |
| | | } |
| | | #endregion |
| | | |
| | | #region ç§»åºåä¸ååºåºä»»å¡ |
| | | public void SendMoveToExecuteTask(List<Dt_Task> tasks) |
| | | { |
| | | try |
| | | { |
| | | FOURBOTnewMovePodTask fOURBOTnewMovePodTask = new(); |
| | | Dt_ApiInfo? apiInfo = _apiInfoService.Repository.QueryFirst(x => x.ApiCode == nameof(FOURBOTnewMovePodTask)) ?? throw new Exception("æªæ¾å°åå车任å¡ä¸åæ¥å£é
置信æ¯ï¼è¯·æ£æ¥æ¥å£é
ç½®"); |
| | | foreach (var item in tasks) |
| | | { |
| | | if (_taskService.Repository.QueryData(x => x.Roadway == item.Roadway && x.TaskType == (int)TaskTypeEnum.CPMoveInventory).Any()) continue; |
| | | if (!StationIsFree(item.TargetAddress)) continue; |
| | | #region ä¸ååºåºä»»å¡ |
| | | fOURBOTnewMovePodTask.priority = item.Grade; |
| | | fOURBOTnewMovePodTask.podID = item.PalletCode; |
| | | fOURBOTnewMovePodTask.destination = item.NextAddress; |
| | | fOURBOTnewMovePodTask.desExt = new |
| | | { |
| | | unload = 0//æ¯å¦æ¾ä¸å®¹å¨,0å¦1æ¯ |
| | | }; |
| | | fOURBOTnewMovePodTask.desType = 2; |
| | | string response = HttpHelper.Post(apiInfo.ApiAddress, fOURBOTnewMovePodTask.Serialize()); |
| | | FOURBOTReturn fOURBOTReturn = response.DeserializeObject<FOURBOTReturn>(); |
| | | if (fOURBOTReturn.returnCode == 0) |
| | | { |
| | | item.RGVTaskId = fOURBOTReturn.data.taskID; |
| | | item.TaskState = (int)TaskStatusEnum.Execut; |
| | | } |
| | | #endregion |
| | | } |
| | | _taskService.UpdateData(tasks); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteError(nameof(TaskJob), ex.Message, ex); |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |