| | |
| | | shuttleProtocol.setErrorCode(data.getJSONArray("errCode").getString(0)); |
| | | |
| | | //是否顶升 |
| | | shuttleProtocol.setHasLift(data.getInteger("liftPosition") == 1 ? true : false); |
| | | shuttleProtocol.setHasLift(data.getInteger("liftPosition") == 2 ? true : false); |
| | | //是否有托盘 |
| | | shuttleProtocol.setHasPallet(data.getInteger("loadState") == 1 ? true : false); |
| | | //行驶方向 |
| | | shuttleProtocol.setRunDirection(data.getString("runDir") == null ? "none" : data.getString("direction")); |
| | | shuttleProtocol.setRunDirection(data.getString("runDir") == null ? "none" : data.getString("runDir")); |
| | | //是否为充电状态 |
| | | shuttleProtocol.setHasCharge(data.getInteger("chargState") == 1 ? true : false); |
| | | |
| | |
| | | NyShuttleHttpCommand httpCommand = JSON.parseObject(command.getBody(), NyShuttleHttpCommand.class); |
| | | Map<String, Object> body = httpCommand.getRequest().getBody(); |
| | | Object pathObj = body.get("path"); |
| | | int taskId = Integer.parseInt(body.get("taskId").toString()); |
| | | List<JSONObject> path = JSON.parseArray(JSON.toJSONString(pathObj), JSONObject.class); |
| | | ArrayList<NyShuttleHttpCommand> commandList = new ArrayList<>(); |
| | | while (!path.isEmpty()) { |
| | |
| | | if (path.size() > 10) { |
| | | List<JSONObject> subList = path.subList(0, 10); |
| | | list.addAll(subList); |
| | | subList.clear(); |
| | | |
| | | List<JSONObject> tmp = new ArrayList<>(); |
| | | for (int i = 10; i < path.size(); i++) { |
| | | tmp.add(path.get(i)); |
| | | } |
| | | path = tmp; |
| | | }else { |
| | | list.addAll(path); |
| | | path.clear(); |
| | |
| | | |
| | | NyShuttleHttpCommand.NyRequest request = httpCommandCopy.getRequest(); |
| | | bodyCopy.put("path", list); |
| | | bodyCopy.put("taskId", taskId++); |
| | | request.setBody(bodyCopy); |
| | | httpCommandCopy.setRequest(request); |
| | | |
| | |
| | | |
| | | for (NyShuttleHttpCommand requestCommand : commandList) { |
| | | JSONObject result = requestCommand(requestCommand); |
| | | if (result == null) { |
| | | return false;//请求失败 |
| | | } |
| | | // if (result == null) { |
| | | // return false;//请求失败 |
| | | // } |
| | | this.shuttleProtocol.setSendTime(System.currentTimeMillis());//指令下发时间 |
| | | } |
| | | return true; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateLocation(ShuttleCommand param) { |
| | | return true;//还没移植过来 |
| | | public boolean updateLocation(ShuttleCommand command) { |
| | | try { |
| | | //发出请求 |
| | | NyShuttleHttpCommand httpCommand = JSON.parseObject(command.getBody(), NyShuttleHttpCommand.class); |
| | | JSONObject result = requestCommand(httpCommand); |
| | | if (result == null) { |
| | | return false;//请求失败 |
| | | } |
| | | this.shuttleProtocol.setSendTime(System.currentTimeMillis());//指令下发时间 |
| | | return true; |
| | | } catch (IOException e) { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (this.shuttleProtocol.getDeviceStatus() == 1 && this.shuttleProtocol.getHasCharge()) { |
| | | if (this.shuttleProtocol.getDeviceStatus() == 0 && this.shuttleProtocol.getHasCharge()) { |
| | | //运行中 && 充电中 |
| | | return true; |
| | | } |
| | |
| | | |
| | | @Override |
| | | public ShuttleCommand getUpdateLocationCommand(Integer taskNo, String locNo) { |
| | | return null;//还没移植过来 |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(Integer.parseInt(device.getDeviceNo()), taskNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "updateFloor");//更新层Z |
| | | body.put("z", Utils.getLev(locNo));//坐标Z |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | |
| | | ShuttleCommand command = new ShuttleCommand(); |
| | | command.setShuttleNo(Integer.parseInt(this.device.getDeviceNo())); |
| | | command.setBody(JSON.toJSONString(httpStandard)); |
| | | command.setMode(ShuttleCommandModeType.UPDATE_LOCATION.id); |
| | | return command; |
| | | } |
| | | |
| | | //获取小车复位响应命令 |