| | |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Enums; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_DTO.Agv; |
| | | using WIDESEAWCS_IBasicInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | |
| | | //return _taskService.AgvSecureApply(secureApplyModel); |
| | | } |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// æç®±å¤æ |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpPost, HttpGet, Route("AgvCallbackBoxNo"), AllowAnonymous] |
| | | public AgvResponseContent AgvCallbackBoxNo([FromBody] AgvCallbackBoxNoDTO agvCallbackBox) |
| | | { |
| | | AgvResponseContent agvResponseContent = new AgvResponseContent(); |
| | | try |
| | | { |
| | | var task = _taskRepository.QueryFirst(x => agvCallbackBox.TaskNo == x.AgvTaskNum); |
| | | if (task==null) |
| | | { |
| | | agvResponseContent.Code = "1"; |
| | | agvResponseContent.Message = $"æªæ¾å°ä»»å¡{agvCallbackBox.TaskNo}"; |
| | | return agvResponseContent; |
| | | } |
| | | if (task.PalletCode!= agvCallbackBox.ContainerCode) |
| | | { |
| | | string Address = task.CurrentAddress switch |
| | | { |
| | | "5206" => "5105", |
| | | "5212" => "5111", |
| | | "5218" => "5117", |
| | | "8005" => "8001", |
| | | "5135" => "5236", |
| | | }; |
| | | AgvCTUCancelDTO agvCTUCancel=new AgvCTUCancelDTO() |
| | | { |
| | | ForceCancel="1", |
| | | MatterArea= task.CurrentAddress, |
| | | TaskCode=task.AgvTaskNum, |
| | | ReqCode = DateTime.Now.ToString("yyyyMMddHHmmss") + task.AgvTaskNum, |
| | | ReqTime= DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | WebResponseContent content = _taskService.AgvBoxApplyPass(agvCTUCancel); |
| | | //åæ¶ä»»å¡ |
| | | if (content.Status) |
| | | { |
| | | agvResponseContent.Code = "0"; |
| | | agvResponseContent.Message = $"åæ¶{task.AgvTaskNum}æå"; |
| | | task.ExceptionMessage = $"å®é
ç®±å·{task.PalletCode}æ«æç®±{agvCallbackBox.ContainerCode}"; |
| | | _taskService.UpdateTask(task, TaskStatusEnum.Cancel); |
| | | } |
| | | else |
| | | { |
| | | agvResponseContent.Code = "1"; |
| | | agvResponseContent.Message = content.Message; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | agvResponseContent.Code = "0"; |
| | | agvResponseContent.Message = "æå"; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | agvResponseContent.Code = "1"; |
| | | agvResponseContent.Message = ex.Message; |
| | | } |
| | | return agvResponseContent; |
| | | } |
| | | /// <summary> |
| | | /// CtuAGV任塿´æ°/宿 |
| | | /// </summary> |
| | |
| | | switch (agvUpdateModel.Method) |
| | | { |
| | | case "end": |
| | | if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.OutEmpty.ObjToInt() || task.TaskType == TaskTypeEnum.OutAllocate.ObjToInt() || task.TaskType == TaskTypeEnum.OutProduct.ObjToInt()) |
| | | if (task.TaskType == TaskTypeEnum.Outbound.ObjToInt() || task.TaskType == TaskTypeEnum.OutEmpty.ObjToInt() |
| | | || task.TaskType == TaskTypeEnum.OutAllocate.ObjToInt() || task.TaskType == TaskTypeEnum.OutProduct.ObjToInt()) |
| | | PutFinish(task.NextAddress); |
| | | _taskService.TaskCompleted(task.TaskNum); |
| | | break; |
| | | case "applyToAgv": |
| | | //æ´æ¹æåå
¥åºAGVåè´§ä»»å¡ç¶æ |
| | | if (task.TaskType == TaskTypeEnum.InProduct.ObjToInt()) |
| | | if (task.TaskType == TaskTypeEnum.InProduct.ObjToInt() || task.TaskType == TaskTypeEnum.InProductBack.ObjToInt()) |
| | | { |
| | | _taskService.UpdateTask(task,TaskStatusEnum.AGV_WaitToExecute); |
| | | } |
| | |
| | | } |
| | | break; |
| | | case "outbin": |
| | | if (task.TaskType == TaskTypeEnum.OutProduct.ObjToInt()) |
| | | if (task.TaskType == TaskTypeEnum.InProduct.ObjToInt() || task.TaskType == TaskTypeEnum.InProductBack.ObjToInt()) |
| | | { |
| | | TakeFinish(task.CurrentAddress); |
| | | _taskService.UpdateTask(task, TaskStatusEnum.AGV_Executing); |
| | | } |
| | | else if(task.TaskType == TaskTypeEnum.OutProduct.ObjToInt()) |
| | | { |
| | | _taskService.UpdateTask(task, TaskStatusEnum.AGV_Executing); |
| | | } |
| | | break; |
| | | default: |