| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup) |
| | | |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry) |
| | | { |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry) |
| | | if (task.Floor == "1F") |
| | | { |
| | | if (task.Floor == "1F") |
| | | { |
| | | elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1); |
| | | } |
| | | else |
| | | { |
| | | elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1); |
| | | } |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | content.OK(); |
| | | elevator.SetValue(ElevatorDBName.OneLayerPutFinish, 1); |
| | | } |
| | | else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.EndAddressExecuting) |
| | | else |
| | | { |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | content.OK(); |
| | | elevator.SetValue(ElevatorDBName.TwoLayerPutFinish, 1); |
| | | } |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | content.OK(); |
| | | } |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.CarryGroup) |
| | | else if (task.TaskState == (int)TaskAcrossFloorStatusEnum.EndAddressExecuting) |
| | | { |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | content.OK(); |
| | | } |
| | | |
| | | if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.CarryGroup) |
| | | { |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | } |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup) |
| | | { |
| | | if (task.TaskState == (int)TaskOutStatusEnum.AGV_OutExecuting) |
| | | { |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | } |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | else if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup) |
| | | { |
| | | commonConveyorLine.SetValue(ConveyorLineDBName.PutFinish, 1, "LK001"); |
| | | commonConveyorLine.Communicator.WriteNoRead("DB100.0", 9990); |
| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup) |
| | | { |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry) |
| | | { |
| | | if (task.Floor == "1F") |
| | | { |
| | | elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1); |
| | | } |
| | | else |
| | | { |
| | | elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1); |
| | | } |
| | | task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting; |
| | | _taskRepository.UpdateData(task); |
| | | } |
| | | } |
| | | |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry) |
| | | { |
| | | if (task.Floor == "1F") |
| | | { |
| | | elevator.SetValue(ElevatorDBName.OneLayerPickUpFinish, 1); |
| | | } |
| | | else |
| | | { |
| | | elevator.SetValue(ElevatorDBName.TwoLayerPickUpFinish, 1); |
| | | } |
| | | task.TaskState = (int)TaskAcrossFloorStatusEnum.EndAddressExecuting; |
| | | _taskRepository.UpdateData(task); |
| | | } |
| | | |
| | | |
| | | if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup) |
| | | { |
| | | commonConveyorLine.SetValue(ConveyorLineDBName.PickUpFinish, 1, "LK001"); |
| | | task.TaskState = (int)TaskOutStatusEnum.AGV_OutExecuting; |
| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup) |
| | | |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry) |
| | | { |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.SecondCarry) |
| | | if (task.Floor == "1F") |
| | | { |
| | | if (task.Floor == "1F") |
| | | if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp) == 1) |
| | | { |
| | | if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPickUp) == 1) |
| | | { |
| | | _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | task.AGVSign = "RequestPickUp"; |
| | | _taskRepository.UpdateData(task); |
| | | content.Error("设å¤ä¸å
许åè´§"); |
| | | } |
| | | _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp) == 1) |
| | | { |
| | | _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | task.AGVSign = "RequestPickUp"; |
| | | _taskRepository.UpdateData(task); |
| | | content.Error("设å¤ä¸å
许åè´§"); |
| | | } |
| | | task.AGVSign = "RequestPickUp"; |
| | | _taskRepository.UpdateData(task); |
| | | content.Error("设å¤ä¸å
许åè´§"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPickUp) == 1) |
| | | { |
| | | _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | task.AGVSign = "RequestPickUp"; |
| | | _taskRepository.UpdateData(task); |
| | | content.Error("设å¤ä¸å
许åè´§"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.OutbondGroup) |
| | | { |
| | | if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPickUp, "LK001") == 1) |
| | | { |
| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.AcrossFloorGroup) |
| | | |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry) |
| | | { |
| | | if (task.TaskState == (int)TaskAcrossFloorStatusEnum.FirstCarry) |
| | | if (task.Floor == "1F") |
| | | { |
| | | if (task.Floor == "1F") |
| | | if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut) == 1) |
| | | { |
| | | if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.OneLayerAllowPut) == 1) |
| | | { |
| | | _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | task.AGVSign = "RequestPut"; |
| | | _taskRepository.UpdateData(task); |
| | | content.Error("设å¤ä¸å
许æ¾è´§"); |
| | | } |
| | | _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut) == 1) |
| | | { |
| | | _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | task.AGVSign = "RequestPut"; |
| | | _taskRepository.UpdateData(task); |
| | | content.Error("设å¤ä¸å
许æ¾è´§"); |
| | | } |
| | | task.AGVSign = "RequestPut"; |
| | | _taskRepository.UpdateData(task); |
| | | content.Error("设å¤ä¸å
许æ¾è´§"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (elevator.GetValue<ElevatorDBName, short>(ElevatorDBName.TwoLayerAllowPut) == 1) |
| | | { |
| | | _taskService.ContinueAgvTask(task.AGVTaskNum); |
| | | content.OK(); |
| | | } |
| | | else |
| | | { |
| | | task.AGVSign = "RequestPut"; |
| | | _taskRepository.UpdateData(task); |
| | | content.Error("设å¤ä¸å
许æ¾è´§"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | if (task.TaskState.GetTaskStateGroup() == TaskStateGroup.InboundGroup) |
| | | { |
| | | if (commonConveyorLine.GetValue<ConveyorLineDBName, short>(ConveyorLineDBName.AllowPut, "LK001") == 1) |
| | | { |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region è·åAGVä»»å¡å· |
| | | |
| | | private static readonly Random _random = new Random(); |
| | | |
| | | |
| | | public static string GenerateUniqueId() |
| | | { |
| | | // è·åå½å毫ç§çº§æ¶é´æ³ |
| | | long timestamp = DateTimeOffset.Now.ToUnixTimeMilliseconds(); |
| | | |
| | | // çæ4ä½éæºæ°ï¼0000-9999ï¼ |
| | | int randomNumber = _random.Next(0, 10000); |
| | | string randomPart = randomNumber.ToString("D4"); // è¡¥é¶å°4ä½ |
| | | |
| | | return $"{timestamp}{randomPart}"; |
| | | } |
| | | #endregion |
| | | } |
| | | } |