| | |
| | | |
| | | @Override |
| | | public CrnCommand getPickAndPutCommand(String sourceLocNo, String targetLocNo, Integer taskNo, Integer crnNo) { |
| | | BasCrnp basCrnp = getBasCrnp(crnNo); |
| | | CrnCommand crnCommand = new CrnCommand(); |
| | | crnCommand.setCrnNo(crnNo); // 堆垛机编号 |
| | | crnCommand.setTaskNo(taskNo); // 工作号 |
| | | crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE.id); // 任务模式: 库位移转 |
| | | crnCommand.setSourcePosX(Utils.getRow(sourceLocNo)); // 源库位排 |
| | | crnCommand.setSourcePosX(resolveCommandRow(sourceLocNo, basCrnp)); // 源库位排 |
| | | crnCommand.setSourcePosY(Utils.getBay(sourceLocNo)); // 源库位列 |
| | | crnCommand.setSourcePosZ(Utils.getLev(sourceLocNo)); // 源库位层 |
| | | crnCommand.setDestinationPosX(Utils.getRow(targetLocNo)); // 目标库位排 |
| | | crnCommand.setDestinationPosX(resolveCommandRow(targetLocNo, basCrnp)); // 目标库位排 |
| | | crnCommand.setDestinationPosY(Utils.getBay(targetLocNo)); // 目标库位列 |
| | | crnCommand.setDestinationPosZ(Utils.getLev(targetLocNo)); // 目标库位层 |
| | | crnCommand.setCommand(1); // 任务确认 |
| | |
| | | |
| | | @Override |
| | | public CrnCommand getMoveCommand(String targetLocNo, Integer taskNo, Integer crnNo) { |
| | | Integer targetRow = resolveCommandRow(targetLocNo, crnNo); |
| | | CrnCommand crnCommand = new CrnCommand(); |
| | | crnCommand.setCrnNo(crnNo); // 堆垛机编号 |
| | | crnCommand.setTaskNo(taskNo); // 工作号 |
| | | crnCommand.setAckFinish(0); // 任务完成确认位 |
| | | crnCommand.setTaskMode(CrnTaskModeType.CRN_MOVE.id); // 任务模式: 堆垛机移动 |
| | | crnCommand.setSourcePosX(Utils.getRow(targetLocNo)); // 目标库位排 |
| | | crnCommand.setSourcePosX(targetRow); // 目标库位排 |
| | | crnCommand.setSourcePosY(Utils.getBay(targetLocNo)); // 目标库位列 |
| | | crnCommand.setSourcePosZ(Utils.getLev(targetLocNo)); // 目标库位层 |
| | | crnCommand.setDestinationPosX(Utils.getRow(targetLocNo)); // 目标库位排 |
| | | crnCommand.setDestinationPosX(targetRow); // 目标库位排 |
| | | crnCommand.setDestinationPosY(Utils.getBay(targetLocNo)); // 目标库位列 |
| | | crnCommand.setDestinationPosZ(Utils.getLev(targetLocNo)); // 目标库位层 |
| | | crnCommand.setCommand(1); // 任务确认 |
| | | return crnCommand; |
| | | } |
| | | |
| | | private Integer resolveCommandRow(String locNo, Integer crnNo) { |
| | | return resolveCommandRow(locNo, getBasCrnp(crnNo)); |
| | | } |
| | | |
| | | private Integer resolveCommandRow(String locNo, BasCrnp basCrnp) { |
| | | Integer locationRow = Utils.getRow(locNo); |
| | | if (basCrnp == null) { |
| | | return locationRow; |
| | | } |
| | | return basCrnp.getCommandRow(locationRow); |
| | | } |
| | | |
| | | private BasCrnp getBasCrnp(Integer crnNo) { |
| | | BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class); |
| | | return basCrnpService.getById(crnNo); |
| | | } |
| | | |
| | | @Override |
| | | public CrnCommand getResetCommand(Integer taskNo, Integer crnNo) { |
| | | CrnCommand crnCommand = new CrnCommand(); |