#
zjj
16 小时以前 15b5002fd412a5d33be5d5c6deb63b3d02c77c41
src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -58,6 +58,7 @@
    private List<JSONObject> socketReadResults = new ArrayList<>();
    private List<DeviceMsgModel> socketResults = new ArrayList<>();
    private Long requestReadTime = System.currentTimeMillis();
    //原始设备数据
    private Object originDeviceData;
@@ -199,7 +200,10 @@
            //指令超过2条,不再下发任务状态请求
            TreeSet<String> deviceCommandMsgListKey = deviceMsgUtils.getDeviceCommandMsgListKey(SlaveType.Shuttle, deviceConfig.getDeviceNo());
            if (deviceCommandMsgListKey.size() < 2) {
                requestCommand(readStatusCommand);//请求状态
                if ((System.currentTimeMillis() - requestReadTime) > 500) {
                    requestCommand(readStatusCommand);//请求状态
                    requestReadTime = System.currentTimeMillis();
                }
            }
            if (this.socketReadResults.isEmpty()) {
@@ -985,7 +989,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();
@@ -1005,8 +1009,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());
@@ -1036,7 +1046,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();
@@ -1045,11 +1055,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);
@@ -1060,8 +1071,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());
@@ -1326,13 +1343,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)
@@ -1345,7 +1355,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