| | |
| | | import com.zy.asrs.wcs.core.utils.NavigateMapData; |
| | | import com.zy.asrs.wcs.core.utils.NavigatePositionConvert; |
| | | import com.zy.asrs.wcs.core.utils.RedisUtil; |
| | | import com.zy.asrs.wcs.core.utils.Utils; |
| | | import com.zy.asrs.wcs.rcs.News; |
| | | import com.zy.asrs.wcs.rcs.cache.OutputQueue; |
| | | import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant; |
| | |
| | | Integer requestId = resultHeader.getInteger("requestId"); |
| | | if (requestType.equals("init")) { |
| | | Integer code = resultBody.getInteger("code"); |
| | | OutputQueue.SHUTTLE.offer(MessageFormat.format("【{0}】四向车复位上报 ===>> [code:{1}] [ip:{2}] [port:{3}]", code, device.getId(), device.getIp(), device.getPort())); |
| | | //小车复位请求 |
| | | ShuttleCommand initCommand = getInitCommand(requestId, code); |
| | | //发出请求 |
| | |
| | | @Override |
| | | public List<NavigateNode> getMoveAdvancePath() { |
| | | ObjectMapper objectMapper = SpringUtils.getBean(ObjectMapper.class); |
| | | NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class); |
| | | ArrayList<NavigateNode> path = new ArrayList<>(); |
| | | if (shuttleProtocol.getTaskNo() != 0) { |
| | | //存在任务,获取指令 |
| | |
| | | if (!nodes.isEmpty()) { |
| | | path.addAll(nodes); |
| | | } |
| | | |
| | | //将路径锁与小车路径进行匹配 |
| | | ArrayList<NavigateNode> tmp = new ArrayList<>(); |
| | | //检测路径是否被锁定 |
| | | int[][] map = navigateMapData.getDataFromRedis(NavigationMapType.DFX.id, null, null); |
| | | for (NavigateNode node : path) { |
| | | if(map[node.getX()][node.getY()] == -999) { |
| | | tmp.add(node); |
| | | } |
| | | } |
| | | |
| | | path = tmp; |
| | | } |
| | | } |
| | | return path; |