Search in sources :

Example 1 with EnhetId

use of no.nav.common.types.identer.EnhetId in project veilarbportefolje by navikt.

the class ArbeidslisteRepositoryTest method hentArbeidslisteForVeilederPaEnhet_arbeidslisteKanLagesAvAnnenVeileder.

@Test
public void hentArbeidslisteForVeilederPaEnhet_arbeidslisteKanLagesAvAnnenVeileder() {
    EnhetId navKontor = EnhetId.of(data.getNavKontorForArbeidsliste());
    ArbeidslisteDTO arbeidslisteLagetAvAnnenVeileder = new ArbeidslisteDTO(randomFnr()).setAktorId(randomAktorId()).setVeilederId(randomVeilederId()).setFrist(data.getFrist()).setOverskrift(data.getOverskrift()).setKategori(data.getKategori()).setNavKontorForArbeidsliste(navKontor.get()).setKommentar("Arbeidsliste 1 kopi kommentar");
    insertArbeidslister();
    insertOppfolgingsInformasjon();
    repo.insertArbeidsliste(arbeidslisteLagetAvAnnenVeileder);
    insertOppfolgingsInformasjon(arbeidslisteLagetAvAnnenVeileder.getAktorId(), data.getVeilederId(), navKontor);
    List<Arbeidsliste> arbeidslister = repo.hentArbeidslisteForVeilederPaEnhet(navKontor, data.getVeilederId());
    assertThat(arbeidslister.size()).isEqualTo(2);
    assertThat(arbeidslister.stream().anyMatch(x -> x.getKommentar().equals(data.getKommentar()))).isTrue();
    assertThat(arbeidslister.stream().anyMatch(x -> x.getKommentar().equals(arbeidslisteLagetAvAnnenVeileder.getKommentar()))).isTrue();
}
Also used : EnhetId(no.nav.common.types.identer.EnhetId) Test(org.junit.jupiter.api.Test) ApplicationConfigTest(no.nav.pto.veilarbportefolje.config.ApplicationConfigTest) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 2 with EnhetId

use of no.nav.common.types.identer.EnhetId in project veilarbportefolje by navikt.

the class ArbeidslisteRepositoryTest method hentArbeidslisteForVeilederPaEnhet_filtrerPaEnhet.

@Test
public void hentArbeidslisteForVeilederPaEnhet_filtrerPaEnhet() {
    EnhetId annetNavKontor = EnhetId.of("1111");
    ArbeidslisteDTO arbeidslistePaNyEnhet = new ArbeidslisteDTO(randomFnr()).setAktorId(randomAktorId()).setVeilederId(data.getVeilederId()).setFrist(data.getFrist()).setOverskrift(data.getOverskrift()).setKategori(data.getKategori()).setNavKontorForArbeidsliste(annetNavKontor.get()).setKommentar("Arbeidsliste 1 kopi kommentar");
    insertArbeidslister();
    insertOppfolgingsInformasjon();
    insertOppfolgingsInformasjon(arbeidslistePaNyEnhet.getAktorId(), arbeidslistePaNyEnhet.getVeilederId(), annetNavKontor);
    repo.insertArbeidsliste(arbeidslistePaNyEnhet);
    List<Arbeidsliste> arbeidslistes1 = repo.hentArbeidslisteForVeilederPaEnhet(EnhetId.of(data.getNavKontorForArbeidsliste()), data.getVeilederId());
    List<Arbeidsliste> arbeidslistesAnnenEnhet = repo.hentArbeidslisteForVeilederPaEnhet(EnhetId.of(arbeidslistePaNyEnhet.getNavKontorForArbeidsliste()), arbeidslistePaNyEnhet.getVeilederId());
    assertThat(arbeidslistePaNyEnhet.getVeilederId()).isEqualTo(data.getVeilederId());
    assertThat(arbeidslistes1.size()).isEqualTo(1);
    assertThat(arbeidslistesAnnenEnhet.size()).isEqualTo(1);
    assertThat(arbeidslistes1.get(0).getKommentar()).isEqualTo(data.getKommentar());
    assertThat(arbeidslistesAnnenEnhet.get(0).getKommentar()).isEqualTo(arbeidslistePaNyEnhet.getKommentar());
}
Also used : EnhetId(no.nav.common.types.identer.EnhetId) Test(org.junit.jupiter.api.Test) ApplicationConfigTest(no.nav.pto.veilarbportefolje.config.ApplicationConfigTest) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 3 with EnhetId

use of no.nav.common.types.identer.EnhetId 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());
}
Also used : OpensearchQueryBuilder.byggArbeidslisteQuery(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggArbeidslisteQuery) RequestOptions(org.opensearch.client.RequestOptions) QueryBuilders.boolQuery(org.opensearch.index.query.QueryBuilders.boolQuery) SneakyThrows(lombok.SneakyThrows) OpensearchQueryBuilder.byggPortefoljestorrelserQuery(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggPortefoljestorrelserQuery) RequiredArgsConstructor(lombok.RequiredArgsConstructor) OpensearchQueryBuilder.sorterQueryParametere(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.sorterQueryParametere) OppfolgingsBruker(no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker) FacetResults(no.nav.pto.veilarbportefolje.domene.FacetResults) VeilarbVeilederClient(no.nav.pto.veilarbportefolje.client.VeilarbVeilederClient) StringUtils(org.apache.commons.lang3.StringUtils) BrukereMedAntall(no.nav.pto.veilarbportefolje.domene.BrukereMedAntall) Bruker(no.nav.pto.veilarbportefolje.domene.Bruker) OpensearchQueryBuilder.sorterPaaNyForEnhet(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.sorterPaaNyForEnhet) StatustallResponse(no.nav.pto.veilarbportefolje.opensearch.domene.StatustallResponse) SortOrder(org.opensearch.search.sort.SortOrder) OpensearchQueryBuilder.byggStatusTallForVeilederQuery(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggStatusTallForVeilederQuery) Service(org.springframework.stereotype.Service) Hit(no.nav.pto.veilarbportefolje.opensearch.domene.Hit) PortefoljestorrelserResponse(no.nav.pto.veilarbportefolje.opensearch.domene.PortefoljestorrelserResponse) SearchRequest(org.opensearch.action.search.SearchRequest) OpensearchResponse(no.nav.pto.veilarbportefolje.opensearch.domene.OpensearchResponse) VedtakstottePilotRequest(no.nav.pto.veilarbportefolje.util.VedtakstottePilotRequest) SearchResponse(org.opensearch.action.search.SearchResponse) RestHighLevelClient(org.opensearch.client.RestHighLevelClient) QueryBuilders.termQuery(org.opensearch.index.query.QueryBuilders.termQuery) OpensearchQueryBuilder.byggStatusTallForEnhetQuery(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggStatusTallForEnhetQuery) Bucket(no.nav.pto.veilarbportefolje.opensearch.domene.Bucket) StatusTall(no.nav.pto.veilarbportefolje.domene.StatusTall) OpensearchQueryBuilder.leggTilManuelleFilter(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.leggTilManuelleFilter) Collections.emptyList(java.util.Collections.emptyList) JsonUtils(no.nav.common.json.JsonUtils) EnhetId(no.nav.common.types.identer.EnhetId) UnleashService(no.nav.pto.veilarbportefolje.service.UnleashService) StatustallBuckets(no.nav.pto.veilarbportefolje.opensearch.domene.StatustallResponse.StatustallAggregation.StatustallFilter.StatustallBuckets) QueryBuilders.matchQuery(org.opensearch.index.query.QueryBuilders.matchQuery) OpensearchQueryBuilder.leggTilFerdigFilter(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.leggTilFerdigFilter) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) SearchSourceBuilder(org.opensearch.search.builder.SearchSourceBuilder) Filtervalg(no.nav.pto.veilarbportefolje.domene.Filtervalg) Optional(java.util.Optional) BoolQueryBuilder(org.opensearch.index.query.BoolQueryBuilder) OpensearchResponse(no.nav.pto.veilarbportefolje.opensearch.domene.OpensearchResponse) SearchSourceBuilder(org.opensearch.search.builder.SearchSourceBuilder)

Example 4 with EnhetId

use of no.nav.common.types.identer.EnhetId 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);
}
Also used : OpensearchQueryBuilder.byggArbeidslisteQuery(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggArbeidslisteQuery) RequestOptions(org.opensearch.client.RequestOptions) QueryBuilders.boolQuery(org.opensearch.index.query.QueryBuilders.boolQuery) SneakyThrows(lombok.SneakyThrows) OpensearchQueryBuilder.byggPortefoljestorrelserQuery(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggPortefoljestorrelserQuery) RequiredArgsConstructor(lombok.RequiredArgsConstructor) OpensearchQueryBuilder.sorterQueryParametere(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.sorterQueryParametere) OppfolgingsBruker(no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker) FacetResults(no.nav.pto.veilarbportefolje.domene.FacetResults) VeilarbVeilederClient(no.nav.pto.veilarbportefolje.client.VeilarbVeilederClient) StringUtils(org.apache.commons.lang3.StringUtils) BrukereMedAntall(no.nav.pto.veilarbportefolje.domene.BrukereMedAntall) Bruker(no.nav.pto.veilarbportefolje.domene.Bruker) OpensearchQueryBuilder.sorterPaaNyForEnhet(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.sorterPaaNyForEnhet) StatustallResponse(no.nav.pto.veilarbportefolje.opensearch.domene.StatustallResponse) SortOrder(org.opensearch.search.sort.SortOrder) OpensearchQueryBuilder.byggStatusTallForVeilederQuery(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggStatusTallForVeilederQuery) Service(org.springframework.stereotype.Service) Hit(no.nav.pto.veilarbportefolje.opensearch.domene.Hit) PortefoljestorrelserResponse(no.nav.pto.veilarbportefolje.opensearch.domene.PortefoljestorrelserResponse) SearchRequest(org.opensearch.action.search.SearchRequest) OpensearchResponse(no.nav.pto.veilarbportefolje.opensearch.domene.OpensearchResponse) VedtakstottePilotRequest(no.nav.pto.veilarbportefolje.util.VedtakstottePilotRequest) SearchResponse(org.opensearch.action.search.SearchResponse) RestHighLevelClient(org.opensearch.client.RestHighLevelClient) QueryBuilders.termQuery(org.opensearch.index.query.QueryBuilders.termQuery) OpensearchQueryBuilder.byggStatusTallForEnhetQuery(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggStatusTallForEnhetQuery) Bucket(no.nav.pto.veilarbportefolje.opensearch.domene.Bucket) StatusTall(no.nav.pto.veilarbportefolje.domene.StatusTall) OpensearchQueryBuilder.leggTilManuelleFilter(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.leggTilManuelleFilter) Collections.emptyList(java.util.Collections.emptyList) JsonUtils(no.nav.common.json.JsonUtils) EnhetId(no.nav.common.types.identer.EnhetId) UnleashService(no.nav.pto.veilarbportefolje.service.UnleashService) StatustallBuckets(no.nav.pto.veilarbportefolje.opensearch.domene.StatustallResponse.StatustallAggregation.StatustallFilter.StatustallBuckets) QueryBuilders.matchQuery(org.opensearch.index.query.QueryBuilders.matchQuery) OpensearchQueryBuilder.leggTilFerdigFilter(no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.leggTilFerdigFilter) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) SearchSourceBuilder(org.opensearch.search.builder.SearchSourceBuilder) Filtervalg(no.nav.pto.veilarbportefolje.domene.Filtervalg) Optional(java.util.Optional) BoolQueryBuilder(org.opensearch.index.query.BoolQueryBuilder) BoolQueryBuilder(org.opensearch.index.query.BoolQueryBuilder) BrukereMedAntall(no.nav.pto.veilarbportefolje.domene.BrukereMedAntall) OpensearchResponse(no.nav.pto.veilarbportefolje.opensearch.domene.OpensearchResponse) OppfolgingsBruker(no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker) Bruker(no.nav.pto.veilarbportefolje.domene.Bruker) SearchSourceBuilder(org.opensearch.search.builder.SearchSourceBuilder)

Example 5 with EnhetId

use of no.nav.common.types.identer.EnhetId in project veilarbportefolje by navikt.

the class ArbeidslistaSorteringOpensearch method sisteendring_sortering.

@Test
public void sisteendring_sortering() {
    EnhetId enhetId = EnhetId.of("123");
    VeilederId veilederId = new VeilederId("V1");
    final AktorId aktoerId_1 = randomAktorId();
    final AktorId aktoerId_2 = randomAktorId();
    final AktorId aktoerId_3 = randomAktorId();
    populateOpensearch(enhetId, veilederId, aktoerId_1.get(), aktoerId_2.get(), aktoerId_3.get());
    Arbeidsliste.Kategori arbeidsliste1_kategori = GRONN;
    Arbeidsliste.Kategori arbeidsliste2_kategori = BLA;
    Arbeidsliste.Kategori arbeidsliste3_kategori = LILLA;
    ArbeidslisteDTO arbeidsliste1 = new ArbeidslisteDTO(Fnr.ofValidFnr("01010101010")).setAktorId(aktoerId_1).setVeilederId(veilederId).setKategori(arbeidsliste1_kategori).setOverskrift("Arbeid er en overskrift");
    ArbeidslisteDTO arbeidsliste2 = new ArbeidslisteDTO(Fnr.ofValidFnr("01010101010")).setAktorId(aktoerId_2).setVeilederId(veilederId).setKategori(arbeidsliste2_kategori).setOverskrift("Arbeid skal først");
    ArbeidslisteDTO arbeidsliste3 = new ArbeidslisteDTO(Fnr.ofValidFnr("01010101010")).setAktorId(aktoerId_3).setVeilederId(veilederId).setKategori(arbeidsliste3_kategori).setOverskrift("Nav skal sist");
    opensearchIndexerV2.updateArbeidsliste(arbeidsliste1);
    opensearchIndexerV2.updateArbeidsliste(arbeidsliste3);
    opensearchIndexerV2.updateArbeidsliste(arbeidsliste2);
    pollOpensearchUntil(() -> {
        final BrukereMedAntall brukereMedAntall = opensearchService.hentBrukere(enhetId.get(), empty(), "ascending", "ikke_satt", getArbeidslisteFilter(), null, null);
        return brukereMedAntall.getAntall() == 3;
    });
    var sortertResponsAscending = opensearchService.hentBrukere(enhetId.get(), empty(), "ascending", "arbeidsliste_overskrift", getArbeidslisteFilter(), null, null);
    var sortertResponsDescending = opensearchService.hentBrukere(enhetId.get(), empty(), "desc", "arbeidsliste_overskrift", getArbeidslisteFilter(), null, null);
    assertThat(sortertResponsAscending.getBrukere().get(0).getArbeidsliste().getKategori()).isEqualTo(arbeidsliste2_kategori);
    assertThat(sortertResponsAscending.getBrukere().get(1).getArbeidsliste().getKategori()).isEqualTo(arbeidsliste1_kategori);
    assertThat(sortertResponsAscending.getBrukere().get(2).getArbeidsliste().getKategori()).isEqualTo(arbeidsliste3_kategori);
    assertThat(sortertResponsDescending.getBrukere().get(2).getArbeidsliste().getKategori()).isEqualTo(arbeidsliste2_kategori);
    assertThat(sortertResponsDescending.getBrukere().get(1).getArbeidsliste().getKategori()).isEqualTo(arbeidsliste1_kategori);
    assertThat(sortertResponsDescending.getBrukere().get(0).getArbeidsliste().getKategori()).isEqualTo(arbeidsliste3_kategori);
}
Also used : EnhetId(no.nav.common.types.identer.EnhetId) BrukereMedAntall(no.nav.pto.veilarbportefolje.domene.BrukereMedAntall) TestDataUtils.randomAktorId(no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId) AktorId(no.nav.common.types.identer.AktorId) VeilederId(no.nav.pto.veilarbportefolje.domene.value.VeilederId) EndToEndTest(no.nav.pto.veilarbportefolje.util.EndToEndTest) Test(org.junit.jupiter.api.Test)

Aggregations

EnhetId (no.nav.common.types.identer.EnhetId)7 Test (org.junit.jupiter.api.Test)5 ApplicationConfigTest (no.nav.pto.veilarbportefolje.config.ApplicationConfigTest)4 BrukereMedAntall (no.nav.pto.veilarbportefolje.domene.BrukereMedAntall)3 Collections.emptyList (java.util.Collections.emptyList)2 List (java.util.List)2 Optional (java.util.Optional)2 Collectors.toList (java.util.stream.Collectors.toList)2 RequiredArgsConstructor (lombok.RequiredArgsConstructor)2 SneakyThrows (lombok.SneakyThrows)2 JsonUtils (no.nav.common.json.JsonUtils)2 VeilarbVeilederClient (no.nav.pto.veilarbportefolje.client.VeilarbVeilederClient)2 Bruker (no.nav.pto.veilarbportefolje.domene.Bruker)2 FacetResults (no.nav.pto.veilarbportefolje.domene.FacetResults)2 Filtervalg (no.nav.pto.veilarbportefolje.domene.Filtervalg)2 StatusTall (no.nav.pto.veilarbportefolje.domene.StatusTall)2 OpensearchQueryBuilder.byggArbeidslisteQuery (no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggArbeidslisteQuery)2 OpensearchQueryBuilder.byggPortefoljestorrelserQuery (no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggPortefoljestorrelserQuery)2 OpensearchQueryBuilder.byggStatusTallForEnhetQuery (no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggStatusTallForEnhetQuery)2 OpensearchQueryBuilder.byggStatusTallForVeilederQuery (no.nav.pto.veilarbportefolje.opensearch.OpensearchQueryBuilder.byggStatusTallForVeilederQuery)2