#
Junjie
2 天以前 2c70de24f676af47132638a3aeaa69cc5b64a8c4
src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -675,6 +675,10 @@
                .eq("status", 1));
        if (shuttleMaxPowerVerifyConfig != null) {
            if (shuttleMaxPowerVerifyConfig.getValue().equals("true")) {
                if (this.shuttleProtocol.getBatteryPower() == null) {
                    return false;
                }
                if (this.shuttleProtocol.getBatteryVoltage() < 5630) {
                    return false;//电压不够继续充电
                }
@@ -953,6 +957,10 @@
        List<NavigationMapType> restartCalcMapTypes = new ArrayList<>(mapTypes);
        restartCalcMapTypes.add(NavigationMapType.SHUTTLE);
        if (assignCommand.getTaskMode() == ShuttleTaskModeType.TRANSPORT.id) {
            restartCalcMapTypes.add(NavigationMapType.DFX);
        }
        String currentLocNo = shuttleProtocol.getCurrentLocNo();
        List<ShuttleCommand> commands = shuttleOperaUtils.getStartToTargetCommands(currentLocNo, locNo, restartCalcMapTypes, assignCommand, this);
        if (commands == null) {
@@ -989,7 +997,7 @@
    }
    @Override
    public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes) {
    public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes, Boolean shuttleDirectionReverse) {
        NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
        NyShuttleHttpCommand httpStandard = getHttpStandard(deviceConfig.getDeviceNo(), taskNo);
        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
@@ -1009,8 +1017,14 @@
            HashMap<String, Object> data = new HashMap<>();
            String codeNum = NavigatePositionConvert.xyToPosition(node.getX(), node.getY(), node.getZ());
            Map<String, Object> nyNode = navigateNodeToNyPointNode(NavigatePositionConvert.codeToNode(codeNum));
            int xp = Integer.parseInt(String.valueOf(nyNode.get("y")));
            int yp = Integer.parseInt(String.valueOf(nyNode.get("x")));
            int xp = Integer.parseInt(String.valueOf(nyNode.get("x")));
            int yp = Integer.parseInt(String.valueOf(nyNode.get("y")));
            if (shuttleDirectionReverse) {
                xp = Integer.parseInt(String.valueOf(nyNode.get("y")));
                yp = Integer.parseInt(String.valueOf(nyNode.get("x")));
            }
            int z = Integer.parseInt(String.valueOf(nyNode.get("z")));
            List<MapNode> mapNodes = mapData.get(node.getX());
@@ -1040,7 +1054,7 @@
    }
    @Override
    public ShuttleCommand getMoveLiftCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes, Boolean moveIn) {
    public ShuttleCommand getMoveLiftCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes, Boolean moveIn, Boolean shuttleDirectionReverse) {
        NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class);
        NyShuttleHttpCommand httpStandard = getHttpStandard(deviceConfig.getDeviceNo(), taskNo);
        NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest();
@@ -1049,11 +1063,12 @@
        Integer taskId = getTaskId();
        HashMap<String, Object> body = new HashMap<>();
        if (moveIn) {
            body.put("requestType", "intoLift");//进提升机
        }else {
            body.put("requestType", "outLift");//出提升机
        }
//        if (moveIn) {
//            body.put("requestType", "intoLift");//进提升机
//        } else {
//            body.put("requestType", "outLift");//出提升机
//        }
        body.put("requestType", "move");//移动命令
        body.put("taskId", taskId);//TaskID需要随机
        body.put("path", path);
        request.setBody(body);
@@ -1064,8 +1079,14 @@
            HashMap<String, Object> data = new HashMap<>();
            String codeNum = NavigatePositionConvert.xyToPosition(node.getX(), node.getY(), node.getZ());
            Map<String, Object> nyNode = navigateNodeToNyPointNode(NavigatePositionConvert.codeToNode(codeNum));
            int xp = Integer.parseInt(String.valueOf(nyNode.get("y")));
            int yp = Integer.parseInt(String.valueOf(nyNode.get("x")));
            int xp = Integer.parseInt(String.valueOf(nyNode.get("x")));
            int yp = Integer.parseInt(String.valueOf(nyNode.get("y")));
            if (shuttleDirectionReverse) {
                xp = Integer.parseInt(String.valueOf(nyNode.get("y")));
                yp = Integer.parseInt(String.valueOf(nyNode.get("x")));
            }
            int z = Integer.parseInt(String.valueOf(nyNode.get("z")));
            List<MapNode> mapNodes = mapData.get(node.getX());
@@ -1330,13 +1351,6 @@
    //WCS系统坐标转牛眼坐标
    private static int[] WCSXyzToNyXyz(int x, int y, int z) {
//        //WCS系统Y轴 => 牛眼X轴转换公式
//        int x1 = Math.abs(y - 61) + 11;
//        //WCS系统X轴 => 牛眼Y轴转换公式
//        int y1 = x + 10;
//        int x1 = x + 10;
//        int y1 = y + 10;
        LocMastService locMastService = SpringUtils.getBean(LocMastService.class);
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
                .eq("row1", x)
@@ -1349,7 +1363,7 @@
        String qrCodeValue = locMast.getQrCodeValue();
        JSONObject data = JSON.parseObject(qrCodeValue);
        return new int[]{data.getInteger("y"), data.getInteger("x"), z};
        return new int[]{data.getInteger("x"), data.getInteger("y"), z};
    }
    @Override