|  |  | 
 |  |  | //            if(crnThread.isBackHpFlag()){ | 
 |  |  | //                continue; | 
 |  |  | //            } | 
 |  |  |  | 
 |  |  |             // 只有当堆垛机空闲 并且 无任务时才继续执行 | 
 |  |  |             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO | 
 |  |  |                     && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) { | 
 |  |  |                 // 库位移转 | 
 |  |  |                 this.stnToStn(crn, crnProtocol); | 
 |  |  |             }else { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             try{ | 
 |  |  |                 Thread.sleep(1000); | 
 |  |  |             }catch (Exception e){ | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); | 
 |  |  |             crnProtocol = crnThread.getCrnProtocol(); | 
 |  |  |             if (crnProtocol == null) { continue; } | 
 |  |  |             basCrnp = basCrnpService.selectById(crn.getId()); | 
 |  |  |             if (basCrnp == null) { | 
 |  |  |                 log.error("{}号堆垛机尚未在数据库进行维护!", crn.getId()); | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             // 只有当堆垛机空闲 并且 无任务时才继续执行 | 
 |  |  |             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO | 
 |  |  |                     && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) { | 
 |  |  |                 // 库位移转 | 
 |  |  |                 this.locToLoc(crn, crnProtocol); | 
 |  |  |             }else { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             try{ | 
 |  |  |                 Thread.sleep(1000); | 
 |  |  |             }catch (Exception e){ | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); | 
 |  |  |             crnProtocol = crnThread.getCrnProtocol(); | 
 |  |  |             if (crnProtocol == null) { continue; } | 
 |  |  |             basCrnp = basCrnpService.selectById(crn.getId()); | 
 |  |  |             if (basCrnp == null) { | 
 |  |  |                 log.error("{}号堆垛机尚未在数据库进行维护!", crn.getId()); | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             // 只有当堆垛机空闲 并且 无任务时才继续执行 | 
 |  |  |             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO | 
 |  |  |                     && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) { | 
 |  |  |                 // 如果最近一次是入库模式 | 
 |  |  |                 if (crnProtocol.getLastIo().equals("I")) { | 
 |  |  |                     if (basCrnp.getInEnable().equals("Y")) { | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             // 库位移转 | 
 |  |  |             this.locToLoc(crn, crnProtocol); | 
 |  |  | //            this.crnRebackHp(crnProtocol, crnThread); | 
 |  |  |  | 
 |  |  |         } |