| | |
| | | ///读取四向穿梭车状态-end |
| | | |
| | | //小车处于忙碌状态,将标记置为true |
| | | if (!shuttleProtocol.getIdle()) { |
| | | if (deviceStatus == 1 || deviceStatus == 2 || deviceStatus == 5) { |
| | | shuttleProtocol.setPakMk(true); |
| | | } |
| | | |
| | |
| | | ArrayList<HashMap<String, Object>> modes = new ArrayList<>(); |
| | | //获取分段路径 |
| | | ArrayList<ArrayList<NavigateNode>> data = NavigateUtils.getSectionPath(nodes); |
| | | for (ArrayList<NavigateNode> sectionNodes : data) { |
| | | for (int idx = 0; idx < data.size(); idx++) { |
| | | ArrayList<NavigateNode> sectionNodes = data.get(idx); |
| | | boolean isRemoveFooterNode = false;//是否剔除尾节点 |
| | | if (idx != data.size() - 1) { |
| | | isRemoveFooterNode = true;//剔除尾节点 |
| | | } |
| | | |
| | | boolean flag = true; |
| | | int oper; |
| | | //开始路径 |
| | | NavigateNode startPath = nodes.get(0); |
| | | NavigateNode startPath = sectionNodes.get(0); |
| | | //结束路径 |
| | | NavigateNode targetPath = sectionNodes.get(sectionNodes.size() - 1); |
| | | if (ShuttleRunDirection.get(startPath.getDirection()) == ShuttleRunDirection.LEFT |
| | | || ShuttleRunDirection.get(startPath.getDirection()) == ShuttleRunDirection.RIGHT) { |
| | | //母轨方向 |
| | | oper = 5; |
| | | }else { |
| | | } else { |
| | | //子轨方向 |
| | | oper = 6; |
| | | } |
| | | |
| | | for (NavigateNode node : sectionNodes) { |
| | | for (int i = 0; i < sectionNodes.size(); i++) { |
| | | if (isRemoveFooterNode && i == sectionNodes.size() - 1) { |
| | | continue; |
| | | } |
| | | NavigateNode node = sectionNodes.get(i); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("nodeX", node.getX()); |
| | | map.put("nodeY", node.getY()); |
| | |
| | | return false; |
| | | } |
| | | } |
| | | if (this.shuttleProtocol.getIdle() == null |
| | | if (this.shuttleProtocol.getDeviceStatus() == null |
| | | || this.shuttleProtocol.getPakMk() == null |
| | | || this.shuttleProtocol.getErrorCode() == null |
| | | || this.shuttleProtocol.getProtocolStatus() == null |
| | |
| | | return false; |
| | | } |
| | | |
| | | boolean res = this.shuttleProtocol.getIdle() |
| | | boolean res = (this.shuttleProtocol.getDeviceStatus() == 3 || this.shuttleProtocol.getDeviceStatus() == 11) |
| | | && this.shuttleProtocol.getPakMk() |
| | | && this.shuttleProtocol.getErrorCode().equals("0") |
| | | && this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.IDLE.id |
| | |
| | | |
| | | @Override |
| | | public boolean isRequireCharge() { |
| | | if (this.shuttleProtocol.getIdle() == null |
| | | if (this.shuttleProtocol.getDeviceStatus() == null |
| | | || this.shuttleProtocol.getPakMk() == null |
| | | || this.shuttleProtocol.getErrorCode() == null |
| | | || this.shuttleProtocol.getProtocolStatus() == null |
| | |
| | | return false; |
| | | } |
| | | |
| | | boolean res = this.shuttleProtocol.getIdle() |
| | | boolean res = (this.shuttleProtocol.getDeviceStatus() == 3) |
| | | && this.shuttleProtocol.getPakMk() |
| | | && this.shuttleProtocol.getErrorCode().equals("0") |
| | | && this.shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.IDLE.id |
| | |
| | | ArrayList<NavigateNode> path = new ArrayList<>(); |
| | | if (shuttleProtocol.getTaskNo() != 0) { |
| | | //存在任务,获取指令 |
| | | Object object = redisUtil.get(DeviceRedisConstant.SHUTTLE_FLAG + shuttleProtocol.getTaskNo()); |
| | | Object object = redisUtil.get(DeviceRedisConstant.SHUTTLE_WORK_FLAG + shuttleProtocol.getTaskNo()); |
| | | if (object != null) { |
| | | ShuttleRedisCommand redisCommand = JSON.parseObject(object.toString(), ShuttleRedisCommand.class); |
| | | List<NavigateNode> nodes = redisCommand.getAssignCommand().getNodes();//穿梭车预计路径 |