| | |
| | | requestCommandAsync(readStatusCommand);//请求状态 |
| | | |
| | | if (this.socketReadResults.isEmpty()) { |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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 { |
| | |
| | | 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; |
| | |
| | | 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); |
| | |
| | | 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(); |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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");//复位 |