#
zjj
2024-07-19 5d0f7a5aa4ee994782f3f3bcc66e23653a6ac40a
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -218,6 +218,9 @@
                   case 17://恢复联机任务
                       DB="6.0";
                       break;
                   case 18://清楚联机任务
                       DB="6.1";
                       break;
                   default:
                       return R.error("按钮不存在????!!!");
               }
@@ -294,6 +297,12 @@
        return rgvFetchSingleStepPut(param,3)?R.ok():R.error();
    }
    @ManagerAuth(memo = "取放")
    @PostMapping("/operator/single/step/four/put")
    public R rgvFetchSingleStepFourPut(RgvOperatorParam param){
        return rgvFetchSingleStepPut(param,4)?R.ok():R.error();
    }
    public boolean rgvFetchSingleStepPut(RgvOperatorParam param ,Integer type){
        wrkNo++;
        RgvCommand command = new RgvCommand();
@@ -309,6 +318,9 @@
                break;
            case 3:
                fetchPut = RgvTaskModeType.X_MOVE;
                break;
            case 4:
                fetchPut = RgvTaskModeType.FETCH_PUT;
                break;
            default:
                return false;
@@ -326,7 +338,7 @@
//        command.setDestinationStaNo2(param.getStaNo2());  // 目标站
        command.setCommand((short) 0);
        return rgvControl(command);
        return rgvControlD(command);
    }
@@ -611,4 +623,34 @@
        return false;
    }
    private boolean rgvControlD(RgvCommand command){
        if (command.getRgvNo() == null) {
            throw new CoolException("请选择RGV");
        }
        for (RgvSlave rgv : slaveProperties.getRgv()) {
            // 获取RGV信息
            if (command.getRgvNo().equals(rgv.getId())) {
//                SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
//                if (rgvThread == null) {
//                    throw new CoolException("RGV不在线");
//                }
//                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
//                if (rgvProtocol == null) {
//                    throw new CoolException("RGV不在线");
//                }
                try{
                    if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(11, command))) {
                        return true;
                    } else {
                        throw new CoolException("命令下发失败");
                    }
                }catch (Exception e){
                    log.error("单步任务下发失败,异常:"+e);
                    throw new CoolException("命令下发失败");
                }
            }
        }
        return false;
    }
}