| | |
| | | |
| | | //检测穿梭车行走路径,是否存在其他小车,如有其他小车则进行调离 |
| | | public static boolean checkShuttlePath(List<NavigateNode> nodes, Integer shuttleId) { |
| | | boolean flag = false; |
| | | boolean flag = false; |
| | | int shuttleX = -1; |
| | | int shuttleY = -1; |
| | | int shuttleZ = -1; |
| | |
| | | if (currentShuttleThread == null) { |
| | | //没找到小车 |
| | | return false; |
| | | } |
| | | |
| | | ShuttleProtocol shuttleProtocol = currentShuttleThread.getShuttleProtocol(); |
| | | if (!shuttleProtocol.isIdle()) { |
| | | return false;//被调度的小车处于工作状态,禁止触发避让任务 |
| | | } |
| | | |
| | | //搜索一条没有小车的空巷道,并调度小车 |
| | |
| | | ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); |
| | | assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo());//四向穿梭车号 |
| | | assignCommand.setTaskNo((short) commonService.getWorkNo(7));//任务号 |
| | | assignCommand.setTaskMode(ShuttleTaskModeType.MOVE_LOC_NO.id.shortValue());//移动到目标库位 |
| | | assignCommand.setTaskMode(ShuttleTaskModeType.AVOID.id.shortValue());//避让任务 |
| | | assignCommand.setSourceLocNo(startLocNo);//源库位 |
| | | |
| | | //分配目标库位 |