use of no.nav.pto.veilarbportefolje.opensearch.domene.Hit in project veilarbportefolje by navikt.
the class OpensearchService method hentBrukereMedArbeidsliste.
public List<Bruker> hentBrukereMedArbeidsliste(String veilederId, String enhetId) {
SearchSourceBuilder request = byggArbeidslisteQuery(enhetId, veilederId);
OpensearchResponse response = search(request, indexName.getValue(), OpensearchResponse.class);
return response.hits().getHits().stream().map(hit -> Bruker.of(hit.get_source(), erVedtakstottePilotPa(EnhetId.of(enhetId)))).collect(toList());
}
use of no.nav.pto.veilarbportefolje.opensearch.domene.Hit in project veilarbportefolje by navikt.
the class OpensearchService method hentBrukere.
public BrukereMedAntall hentBrukere(String enhetId, Optional<String> veilederIdent, String sortOrder, String sortField, Filtervalg filtervalg, Integer fra, Integer antall) {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
int from = Optional.ofNullable(fra).orElse(0);
int size = Optional.ofNullable(antall).orElse(5000);
searchSourceBuilder.from(from);
searchSourceBuilder.size(size);
BoolQueryBuilder boolQuery = boolQuery();
boolQuery.must(matchQuery("enhet_id", enhetId));
boolQuery.must(matchQuery("oppfolging", true));
boolean kallesFraMinOversikt = veilederIdent.isPresent() && StringUtils.isNotBlank(veilederIdent.get());
if (kallesFraMinOversikt) {
boolQuery.filter(termQuery("veileder_id", veilederIdent.get()));
}
List<String> veiledereMedTilgangTilEnhet = veilarbVeilederClient.hentVeilederePaaEnhet(EnhetId.of(enhetId));
if (filtervalg.harAktiveFilter()) {
boolean erVedtakstottePilotPa = erVedtakstottePilotPa(EnhetId.of(enhetId));
filtervalg.ferdigfilterListe.forEach(filter -> boolQuery.filter(leggTilFerdigFilter(filter, veiledereMedTilgangTilEnhet, erVedtakstottePilotPa)));
leggTilManuelleFilter(boolQuery, filtervalg, unleashService);
}
searchSourceBuilder.query(boolQuery);
if (kallesFraMinOversikt) {
searchSourceBuilder.sort("ny_for_veileder", SortOrder.DESC);
} else {
sorterPaaNyForEnhet(searchSourceBuilder, veiledereMedTilgangTilEnhet);
}
sorterQueryParametere(sortOrder, sortField, searchSourceBuilder, filtervalg);
OpensearchResponse response = search(searchSourceBuilder, indexName.getValue(), OpensearchResponse.class);
int totalHits = response.hits().getTotal().getValue();
List<Bruker> brukere = response.hits().getHits().stream().map(Hit::get_source).map(oppfolgingsBruker -> setNyForEnhet(oppfolgingsBruker, veiledereMedTilgangTilEnhet)).map(oppfolgingsBruker -> mapOppfolgingsBrukerTilBruker(oppfolgingsBruker, filtervalg, enhetId)).collect(toList());
return new BrukereMedAntall(totalHits, brukere);
}
Aggregations