|  |  | 
 |  |  |                     if (wrkMast.getWrkSts() == 3L) { | 
 |  |  |                         this.carMoveIn(wrkMast, wrkMast.getSteNo()); | 
 |  |  |                     } | 
 |  |  |                     // 4.堆垛机搬运货物 | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  | 
 |  |  |             if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { | 
 |  |  |                 log.error("穿梭车命令下发失败,穿梭车号={},任务数据={}", steNo, JSON.toJSON(steCommand)); | 
 |  |  |             } else { | 
 |  |  |                 // 修改工作档状态 2.设备上走 => 3.小车待搬 | 
 |  |  |                 // 修改工作档状态 绑定穿梭车 | 
 |  |  |                 wrkMast.setSteNo(steNo); | 
 |  |  |                 wrkMast.setModiTime(new Date()); | 
 |  |  |                 if (wrkMastMapper.updateById(wrkMast) == 0) { | 
 |  |  | 
 |  |  |         if (steProtocol == null) { return; } | 
 |  |  |         if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) { | 
 |  |  |  | 
 |  |  |             String locNo = Utils.append(steProtocol.getRow(), steProtocol.getBay(), steProtocol.getLev()); | 
 |  |  |             LocMast locMast = locMastService.selectById(locNo); | 
 |  |  |             LocMast locMast; | 
 |  |  |             if (wrkMast.getWrkSts() <= 10) { | 
 |  |  |                 locMast = locMastService.selectById(wrkMast.getLocNo()); | 
 |  |  |                 // 堆垛机命令下发区 -------------------------------------------------------------------------- | 
 |  |  |                 CrnCommand crnCommand = new CrnCommand(); | 
 |  |  |                 crnCommand.setCrnNo(locMast.getCrnNo()); // 堆垛机编号 | 
 |  |  |                 crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号 | 
 |  |  |                 crnCommand.setAckFinish((short) 0);  // 任务完成确认位 | 
 |  |  |                 crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 任务模式:  库位移转 | 
 |  |  |                 crnCommand.setSourcePosX(steProtocol.getRow());     // 源库位排 | 
 |  |  |                 crnCommand.setSourcePosY(steProtocol.getBay());     // 源库位列 | 
 |  |  |                 crnCommand.setSourcePosZ(steProtocol.getLev());     // 源库位层 | 
 |  |  |                 crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo()).shortValue());     // 目标库位排 | 
 |  |  |                 crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 目标库位列 | 
 |  |  |                 crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 目标库位层 | 
 |  |  |                 if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { | 
 |  |  |                     log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
 |  |  |                 } else { | 
 |  |  |  | 
 |  |  |             // 堆垛机命令下发区 -------------------------------------------------------------------------- | 
 |  |  |             CrnCommand crnCommand = new CrnCommand(); | 
 |  |  |             crnCommand.setCrnNo(locMast.getCrnNo()); // 堆垛机编号 | 
 |  |  |             crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号 | 
 |  |  |             crnCommand.setAckFinish((short) 0);  // 任务完成确认位 | 
 |  |  |             crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 任务模式:  库位移转 | 
 |  |  |             crnCommand.setSourcePosX(steProtocol.getRow());     // 源库位排 | 
 |  |  |             crnCommand.setSourcePosY(steProtocol.getBay());     // 源库位列 | 
 |  |  |             crnCommand.setSourcePosZ(steProtocol.getLev());     // 源库位层 | 
 |  |  |             crnCommand.setDestinationPosX(locMast.getRow1().shortValue());     // 目标库位排 | 
 |  |  |             crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 目标库位列 | 
 |  |  |             crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 目标库位层 | 
 |  |  |             if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { | 
 |  |  |                 log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); | 
 |  |  |             } else { | 
 |  |  |  | 
 |  |  |                 // 修改工作档状态 3.小车待搬 => 4.迁入小车 | 
 |  |  |                 Date now = new Date(); | 
 |  |  |                 wrkMast.setWrkSts(4L); | 
 |  |  |                 wrkMast.setCrnStrTime(now); | 
 |  |  |                 wrkMast.setModiTime(now); | 
 |  |  |                 if (wrkMastMapper.updateById(wrkMast) == 0) { | 
 |  |  |                     log.error("修改工作档状态 3.小车待搬 => 4.迁入小车 失败!!,工作号={}", wrkMast.getWrkNo()); | 
 |  |  |                     // 修改工作档状态 3.小车待搬 => 4.迁入小车 | 
 |  |  |                     Date now = new Date(); | 
 |  |  |                     wrkMast.setWrkSts(4L); | 
 |  |  |                     wrkMast.setCrnStrTime(now); | 
 |  |  |                     wrkMast.setModiTime(now); | 
 |  |  |                     if (wrkMastMapper.updateById(wrkMast) == 0) { | 
 |  |  |                         log.error("修改工作档状态 3.小车待搬 => 4.迁入小车 失败!!,工作号={}", wrkMast.getWrkNo()); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 // 迁入小车 完成 | 
 |  |  |                 } else if (wrkMast.getWrkSts() == 4) { | 
 |  |  |                     // 4.迁入小车 ==> 6.小车待入 | 
 |  |  |                     wrkMast.setWrkSts(6L); | 
 |  |  |                     Date now = new Date(); | 
 |  |  |                     wrkMast.setCrnEndTime(now); | 
 |  |  |                     wrkMast.setModiTime(now); | 
 |  |  |                     // 修改成功后复位堆垛机 | 
 |  |  |                     if (wrkMastMapper.updateById(wrkMast) > 0) { | 
 |  |  |                         // 堆垛机复位 | 
 |  |  |                         crnThread.setResetFlag(true); | 
 |  |  |                     } else { | 
 |  |  |                         log.error("修改工作档状态 4.迁入小车 => 6.小车待入 失败!!,工作号={}", wrkMast.getWrkNo()); | 
 |  |  |                     } | 
 |  |  |                 // 迁出小车 完成 | 
 |  |  |                 } else if (wrkMast.getWrkSts() == 5) { | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } |