fyxc
2025-05-22 09fcc4ec56a1ce6c0fcb308348d8dd5e2c08d336
src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -151,7 +151,7 @@
            return;
        }
        if (System.currentTimeMillis() - shuttleProtocol.getDeviceDataLog() > 1000 * 5) {
        if (System.currentTimeMillis() - shuttleProtocol.getDeviceDataLog() > 1000 * 1) {
            if (this.originDeviceData != null) {
                //采集时间超过5s,保存一次数据记录
                //保存数据记录
@@ -292,8 +292,11 @@
            requestCommandAsync(readStatusCommand);//请求状态
            if (this.socketReadResults.isEmpty()) {
                //offline
                shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE);
                if (System.currentTimeMillis() - shuttleProtocol.getLastOnlineTime() > 1000 * 60) {
                    //最后一次上线时间超过60s,认定离线
                    this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE);
                    OutputQueue.SHUTTLE.offer(MessageFormat.format("【{0}】四向穿梭车离线了1 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
                }
                return;
            }
@@ -302,7 +305,8 @@
            if (data == null) {
                if (System.currentTimeMillis() - shuttleProtocol.getLastOnlineTime() > 1000 * 60) {
                    //最后一次上线时间超过60s,认定离线
                    shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE);
                    this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE);
                    OutputQueue.SHUTTLE.offer(MessageFormat.format("【{0}】四向穿梭车离线了2 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
                }
                OutputQueue.SHUTTLE.offer(MessageFormat.format("【{0}】四向穿梭车Socket状态信息失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
            }else {
@@ -359,9 +363,13 @@
                    shuttleProtocol.setPakMk(true);
                }
                if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == 0) {
                if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == 1) {
                    //小车空闲状态、小车任务状态为未知,认定曾离线过,需要复位成空闲
                    shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE);
                    this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
                }
                if (shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.OFFLINE) && shuttleProtocol.getDeviceStatus().intValue() == 1) {
                    this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
                }
                this.originDeviceData = data;
@@ -405,6 +413,9 @@
                String requestType = resultBody.getString("requestType");
                Integer requestId = resultHeader.getInteger("requestId");
                if (requestType.equals("init")) {
                    removeIdx = i;//此数据已经处理,从结果集中剔除
                    socketResults.remove(removeIdx);
                    Integer code = resultBody.getInteger("code");
                    //小车复位请求
                    ShuttleCommand initCommand = getInitCommand(requestId, code);
@@ -412,16 +423,10 @@
                    NyShuttleHttpCommand httpCommand = JSON.parseObject(initCommand.getBody(), NyShuttleHttpCommand.class);
                    JSONObject requestResult = requestCommand(httpCommand);
                    removeIdx = i;//此数据已经处理,从结果集中剔除
                    log.info(MessageFormat.format("【{0}】四向车复位上报 ===>> [code:{1}] [ip:{2}] [port:{3}]", slave.getId(), code, slave.getIp(), slave.getPort()));
                    OutputQueue.SHUTTLE.offer(MessageFormat.format("【{0}】四向车复位上报 ===>> [code:{1}] [ip:{2}] [port:{3}]", slave.getId(), code, slave.getIp(), slave.getPort()));
                    break;
                }
            }
            if (removeIdx != -1) {
                socketResults.remove(removeIdx);
            }
        } catch (Exception e) {
            e.printStackTrace();
@@ -911,8 +916,8 @@
            data.put("xp", xp);
            data.put("yp", yp);
            data.put("z", z);
            data.put("x", mapNode.getXBase());
            data.put("y", mapNode.getYBase());
            data.put("x", mapNode.getYBase());
            data.put("y", mapNode.getXBase());
            path.add(data);
        }
@@ -1028,8 +1033,8 @@
        location.put("xp", row);
        location.put("yp", bay);
        location.put("z", lev);
        location.put("x", mapNode.getXBase());
        location.put("y", mapNode.getYBase());
        location.put("x", mapNode.getYBase());
        location.put("y", mapNode.getXBase());
        HashMap<String, Object> body = new HashMap<>();
        body.put("responseType", "init");//复位