1
2025-09-29 4747e5dcb4066161b42a7a54cab542949ad5826c
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -271,19 +271,12 @@
        }
        RgvCommand command = new RgvCommand();
        command.setRgvNo(param.getRgvNo()); // RGV编号
        command.setAckFinish1(true);  // 任务完成确认位
//        command.setTaskNo1( 0); // 工作号
        command.setTaskMode1(RgvTaskModeType.NONE); // 任务模式
        command.setSourceStaNo1((short) 0); // 源站
        command.setDestinationStaNo1((short) 0);  // 目标站
        command.setAckFinish2(true);  // 任务完成确认位
        command.setTaskNo2(0); // 工作号
        command.setTaskMode2(RgvTaskModeType.NONE); // 任务模式
        command.setSourceStaNo2((short) 0); // 源站
        command.setDestinationStaNo2((short) 0);  // 目标站
        command.setCommand(true);
        command.setWrkTaskPri(0);  //执行工位
        command.setTaskNo(Math.toIntExact(0)); // 工作号
        command.setTaskStatus((short)0); // 任务模式: 取货
        command.setTargetPosition(0);  // 目标站
        return rgvControl(command)? R.ok(): R.error();
        return rgvClear(command)? R.ok(): R.error();
    }
    @ManagerAuth(memo = "手动复位")
@@ -348,4 +341,30 @@
        return false;
    }
    private boolean rgvClear(RgvCommand command){
        if (command.getRgvNo() == null) {
            throw new CoolException("请选择RGV");
        }
        for (RgvSlave rgv : slaveProperties.getRgv()) {
            // 获取RGV信息
            if (command.getRgvNo().equals(rgv.getId())) {
                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
                if (rgvThread == null) {
                    throw new CoolException("RGV不在线");
                }
                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
                if (rgvProtocol == null) {
                    throw new CoolException("RGV不在线");
                }
                if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(3, command))) {
                    return true;
                } else {
                    throw new CoolException("命令下发失败");
                }
            }
        }
        return false;
    }
}