#
Junjie
23 小时以前 43543a593c647a536c5520e44dad24c787811455
src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -953,6 +953,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 +993,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 +1013,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 +1050,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 +1059,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 +1075,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 +1347,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 +1359,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