|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //检测穿梭车行走路径,是否存在其他小车,如有其他小车则进行调离 | 
|---|
|  |  |  | 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);//源库位 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //分配目标库位 | 
|---|