#
zjj
2024-03-21 882d2ee2d9a35bf02e5fbb11a79c3abffe9cfe61
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -18,6 +18,7 @@
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.core.CrnThread;
import com.zy.core.RgvThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
@@ -66,17 +67,43 @@
    @ManagerAuth(memo = "复位")
    @PostMapping("/rgv/operator/reset")
    @PostMapping("/operator/reset")
    public R crnReset(RgvOperatorParam param){
        // 系统运行状态判断
//        if (SystemProperties.WCS_RUNNING_STATUS.get()) {
//            return R.error("wcs系统状态为开启");
//        }
        short[] array = new short[9];
        RgvCommand command = new RgvCommand();
        command.setRgvNo(param.getRgvNo()); // 堆垛机编号
        command.setReset(true);
        return rgvControl2(command)?R.ok():R.error();
    }
    @ManagerAuth(memo = "联机")
    @PostMapping("/operator/auto")
    public R crnAuto(RgvOperatorParam param){
        RgvCommand command = new RgvCommand();
        command.setRgvNo(param.getRgvNo()); // 堆垛机编号
        command.setAuto(true);
        return rgvControl2(command)?R.ok():R.error();
    }
    @ManagerAuth(memo = "恢复任务")
    @PostMapping("/operator/restoreTask")
    public R crnRestoreTask(RgvOperatorParam param){
        RgvCommand command = new RgvCommand();
        command.setRgvNo(param.getRgvNo()); // 堆垛机编号
        command.setRestoreTask(true);
        return rgvControl2(command)?R.ok():R.error();
    }
    @ManagerAuth(memo = "完成任务")
    @PostMapping("/operator/compTask")
    public R rgvCompTask(RgvOperatorParam param){
        RgvCommand command = new RgvCommand();
        command.setRgvNo(param.getRgvNo()); // 堆垛机编号
        command.setCompTask(true);
        return rgvControl2(command)?R.ok():R.error();
    }
    @ManagerAuth(memo = "急停")
    @PostMapping("/operator/stop")
    public R rgvStop(RgvOperatorParam param){
        RgvCommand command = new RgvCommand();
        command.setRgvNo(param.getRgvNo()); // 堆垛机编号
        command.setStop(true);
        return rgvControl2(command)?R.ok():R.error();
    }
@@ -87,12 +114,12 @@
        for (RgvSlave rgv : slaveProperties.getRgv()) {
            // 获取堆垛机信息
            if (command.getRgvNo().equals(rgv.getId())) {
                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
                if (crnThread == null) {
                SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
                if (rgvThread == null) {
                    throw new CoolException("RGV不在线");
                }
                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
                if (crnProtocol == null) {
                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
                if (rgvProtocol == null) {
                    throw new CoolException("RGV不在线");
                }
                // 空闲判断