| | |
| | | |
| | | Long fleetId = xpFleetVehicleClient.getFleetIdByVehicleId(vehicle.getId()).getData(); |
| | | List<Long> roleIds = taskRuleRole.stream().map(XpTaskRuleRole::getRoleId).collect(Collectors.toList()); |
| | | List<Long> ids = xpFleetOperationsClient.getOperationsIdsByFleetId(fleetId).getData();//TODO 空指针 |
| | | List<Long> ids = xpFleetOperationsClient.getOperationsIdsByFleetId(fleetId).getData(); |
| | | String belongUserIds = xpOperationUserClient.getXpOperationsRoleByRoleIds(roleIds).getData().stream() |
| | | .map(XpOperationsRole::getOperationsUserId) |
| | | .filter(ids::contains) |
| | | .filter(e -> ids == null || ids.isEmpty() || ids.contains(e)) |
| | | .filter(id -> !excludedUserIds.contains(id.toString())) |
| | | .map(String::valueOf).collect(Collectors.joining(",")); |
| | | |
| | |
| | | // 让mongo根据[id in ids]返回距离排序的users |
| | | // List<XpOperationsUserPositionDTO> users = mongoTemplate.find(new Query(Criteria.where("_id").in(ids)), XpOperationsUserPositionDTO.class); |
| | | |
| | | List<XpOperationsUserPositionDTO> XpOperationsUserPositionDTOs = repository.findWithDistance(new Point(vehiclePosition.getPoint().getX(), vehiclePosition.getPoint().getY()), 1000, ids); |
| | | List<XpOperationsUserPositionDTO> XpOperationsUserPositionDTOs = mongoTemplate.find( |
| | | new Query(Criteria.where("_id").in(ids).and("location").nearSphere(new GeoJsonPoint(vehiclePosition.getPoint().getX(), vehiclePosition.getPoint().getY())).maxDistance(1000 / 6378137.0)), |
| | | XpOperationsUserPositionDTO.class |
| | | ); |
| | | |
| | | boolean skipBusy = false;//TODO 获取系统配置,是否开启跳过忙碌 |
| | | |