Search in sources :

Example 31 with AktorId

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

the class AktiviteterV2Test method skal_komme_i_aktivitet_V2.

@Test
public void skal_komme_i_aktivitet_V2() {
    final AktorId aktorId = randomAktorId();
    final ZonedDateTime fraDato = now().plusDays(1);
    final ZonedDateTime tilDato = now().plusDays(2);
    KafkaAktivitetMelding aktivitet = new KafkaAktivitetMelding().setAktivitetId(valueOf(current().nextInt())).setVersion(1L).setAktivitetType(KafkaAktivitetMelding.AktivitetTypeData.EGEN).setAktorId(aktorId.get()).setAvtalt(true).setEndretDato(ZonedDateTime.parse("2017-02-03T10:10:10+02:00")).setAktivitetStatus(KafkaAktivitetMelding.AktivitetStatus.GJENNOMFORES).setFraDato(fraDato).setTilDato(tilDato);
    aktivitetService.behandleKafkaMeldingLogikk(aktivitet);
    PostgresAktivitetEntity postgresAktivitet = PostgresAktivitetMapper.build(aktivitetOpensearchService.hentAktivitetData(List.of(aktorId)).get(aktorId));
    // Opensearch mapping
    Assertions.assertThat(postgresAktivitet.getTiltak().size()).isEqualTo(0);
    Assertions.assertThat(postgresAktivitet.getAktiviteter().size()).isEqualTo(1);
    Assertions.assertThat(postgresAktivitet.getAktiviteter().contains(AktivitetsType.egen.name())).isTrue();
    Assertions.assertThat(postgresAktivitet.getNyesteUtlopteAktivitet()).isNull();
    Assertions.assertThat(postgresAktivitet.getForrigeAktivitetStart()).isNull();
    Assertions.assertThat(postgresAktivitet.getAktivitetTiltakUtlopsdato()).isEqualTo(FAR_IN_THE_FUTURE_DATE);
    Assertions.assertThat(postgresAktivitet.getNesteAktivitetStart()).isNull();
    Assertions.assertThat(postgresAktivitet.getAktivitetStart()).isEqualTo(toIsoUTC(fraDato));
    Assertions.assertThat(postgresAktivitet.getAktivitetEgenUtlopsdato()).isEqualTo(toIsoUTC(tilDato));
}
Also used : ZonedDateTime(java.time.ZonedDateTime) PostgresAktivitetEntity(no.nav.pto.veilarbportefolje.postgres.opensearch.PostgresAktivitetEntity) TestDataUtils.randomAktorId(no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId) AktorId(no.nav.common.types.identer.AktorId) Test(org.junit.jupiter.api.Test) ApplicationConfigTest(no.nav.pto.veilarbportefolje.config.ApplicationConfigTest) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 32 with AktorId

use of no.nav.common.types.identer.AktorId 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)

Example 33 with AktorId

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

the class OppfolgingsbrukerService method behandleKafkaMeldingLogikk.

@Override
public void behandleKafkaMeldingLogikk(EndringPaaOppfoelgingsBrukerV2 kafkaMelding) {
    AktorId aktorId = hentAktorIdMedUnntakIDev(Fnr.of(kafkaMelding.getFodselsnummer()));
    ZonedDateTime iservDato = Optional.ofNullable(kafkaMelding.getIservFraDato()).map(dato -> ZonedDateTime.of(dato.atStartOfDay(), ZoneId.systemDefault())).orElse(null);
    ZonedDateTime dodFraDato = Optional.ofNullable(kafkaMelding.getDoedFraDato()).map(dato -> ZonedDateTime.of(dato.atStartOfDay(), ZoneId.systemDefault())).orElse(null);
    if (aktorId == null) {
        throw new IllegalStateException("Fnr -> AktoerId var null på topic endringPaaOppfoelgingsBruker");
    }
    log.info("Fikk endring pa oppfolgingsbruker: {}, topic: aapen-fo-endringPaaOppfoelgingsBruker-v2", aktorId);
    OppfolgingsbrukerEntity oppfolgingsbruker = new OppfolgingsbrukerEntity(aktorId.get(), kafkaMelding.getFodselsnummer(), kafkaMelding.getFormidlingsgruppe().name(), iservDato, kafkaMelding.getEtternavn(), kafkaMelding.getFornavn(), kafkaMelding.getOppfolgingsenhet(), Optional.ofNullable(kafkaMelding.getKvalifiseringsgruppe()).map(Kvalifiseringsgruppe::name).orElse(null), Optional.ofNullable(kafkaMelding.getRettighetsgruppe()).map(Rettighetsgruppe::name).orElse(null), Optional.ofNullable(kafkaMelding.getHovedmaal()).map(Hovedmaal::name).orElse(null), Optional.ofNullable(kafkaMelding.getSikkerhetstiltakType()).map(SikkerhetstiltakType::name).orElse(null), kafkaMelding.getDiskresjonskode(), Optional.ofNullable(kafkaMelding.getHarOppfolgingssak()).orElse(false), Optional.ofNullable(kafkaMelding.getSperretAnsatt()).orElse(false), Optional.ofNullable(kafkaMelding.getErDoed()).orElse(false), dodFraDato, kafkaMelding.getSistEndretDato());
    oppfolgingsbrukerRepositoryV2.leggTilEllerEndreOppfolgingsbruker(oppfolgingsbruker);
    oppdaterOpensearch(aktorId, oppfolgingsbruker);
}
Also used : EndringPaaOppfoelgingsBrukerV2(no.nav.pto_schema.kafka.json.topic.onprem.EndringPaaOppfoelgingsBrukerV2) AktorClient(no.nav.pto.veilarbportefolje.domene.AktorClient) KafkaCommonConsumerService(no.nav.pto.veilarbportefolje.kafka.KafkaCommonConsumerService) VedtakStatusRepositoryV2(no.nav.pto.veilarbportefolje.vedtakstotte.VedtakStatusRepositoryV2) Fnr(no.nav.common.types.identer.Fnr) ZonedDateTime(java.time.ZonedDateTime) RequiredArgsConstructor(lombok.RequiredArgsConstructor) Hovedmaal(no.nav.pto_schema.enums.arena.Hovedmaal) Kvalifiseringsgruppe(no.nav.pto_schema.enums.arena.Kvalifiseringsgruppe) KafkaVedtakStatusEndring(no.nav.pto.veilarbportefolje.vedtakstotte.KafkaVedtakStatusEndring) ZoneId(java.time.ZoneId) AktorId(no.nav.common.types.identer.AktorId) EnvironmentUtils.isDevelopment(no.nav.common.utils.EnvironmentUtils.isDevelopment) Slf4j(lombok.extern.slf4j.Slf4j) SikkerhetstiltakType(no.nav.pto_schema.enums.arena.SikkerhetstiltakType) Service(org.springframework.stereotype.Service) Optional(java.util.Optional) GraphqlErrorException(no.nav.common.client.utils.graphql.GraphqlErrorException) OpensearchIndexerV2(no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexerV2) Rettighetsgruppe(no.nav.pto_schema.enums.arena.Rettighetsgruppe) Hovedmaal(no.nav.pto_schema.enums.arena.Hovedmaal) Kvalifiseringsgruppe(no.nav.pto_schema.enums.arena.Kvalifiseringsgruppe) ZonedDateTime(java.time.ZonedDateTime) SikkerhetstiltakType(no.nav.pto_schema.enums.arena.SikkerhetstiltakType) AktorId(no.nav.common.types.identer.AktorId) Rettighetsgruppe(no.nav.pto_schema.enums.arena.Rettighetsgruppe)

Example 34 with AktorId

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

the class ManuellStatusService method behandleKafkaMeldingLogikk.

public void behandleKafkaMeldingLogikk(ManuellStatusDTO dto) {
    final AktorId aktorId = AktorId.of(dto.getAktorId());
    oppfolgingRepository.settManuellStatus(aktorId, dto.isErManuell());
    oppfolgingRepositoryV2.settManuellStatus(aktorId, dto.isErManuell());
    kastErrorHvisBrukerSkalVaereUnderOppfolging(aktorId, dto);
    String manuellStatus = dto.isErManuell() ? ManuellBrukerStatus.MANUELL.name() : null;
    opensearchIndexerV2.settManuellStatus(aktorId, manuellStatus);
    log.info("Oppdatert manuellstatus for bruker {}, ny status: {}", aktorId, manuellStatus);
}
Also used : AktorId(no.nav.common.types.identer.AktorId)

Example 35 with AktorId

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

the class ArbeidsListeController method getArbeidsListe.

@GetMapping("{fnr}")
public Arbeidsliste getArbeidsListe(@PathVariable("fnr") String fnrString) {
    validerOppfolgingOgBruker(fnrString);
    String innloggetVeileder = AuthUtils.getInnloggetVeilederIdent().toString();
    Fnr fnr = Fnr.ofValidFnr(fnrString);
    Try<AktorId> aktoerId = Try.of(() -> aktorClient.hentAktorId(fnr));
    boolean harVeilederTilgang = brukerService.hentNavKontorFraDbLinkTilArena(fnr).map(enhet -> authService.harVeilederTilgangTilEnhet(innloggetVeileder, enhet)).orElse(false);
    Arbeidsliste arbeidsliste = aktoerId.flatMap((id) -> arbeidslisteService.getArbeidsliste(id, innloggetVeileder)).toJavaOptional().orElse(emptyArbeidsliste()).setIsOppfolgendeVeileder(aktoerId.map(id -> arbeidslisteService.erVeilederForBruker(fnr, VeilederId.of(innloggetVeileder))).get()).setHarVeilederTilgang(harVeilederTilgang);
    return harVeilederTilgang ? arbeidsliste : emptyArbeidsliste().setHarVeilederTilgang(false);
}
Also used : BrukerService(no.nav.pto.veilarbportefolje.service.BrukerService) ValideringsRegler.validerArbeidsliste(no.nav.pto.veilarbportefolje.util.ValideringsRegler.validerArbeidsliste) PathVariable(org.springframework.web.bind.annotation.PathVariable) Autowired(org.springframework.beans.factory.annotation.Autowired) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) RestResponse(no.nav.pto.veilarbportefolje.domene.RestResponse) Function(java.util.function.Function) ArrayList(java.util.ArrayList) RequestBody(org.springframework.web.bind.annotation.RequestBody) AktorId(no.nav.common.types.identer.AktorId) PutMapping(org.springframework.web.bind.annotation.PutMapping) GetMapping(org.springframework.web.bind.annotation.GetMapping) DeleteMapping(org.springframework.web.bind.annotation.DeleteMapping) AktorClient(no.nav.pto.veilarbportefolje.domene.AktorClient) PostMapping(org.springframework.web.bind.annotation.PostMapping) ValideringsRegler(no.nav.pto.veilarbportefolje.util.ValideringsRegler) ResponseStatusException(org.springframework.web.server.ResponseStatusException) Fnr(no.nav.common.types.identer.Fnr) Timestamp(java.sql.Timestamp) Instant(java.time.Instant) RestController(org.springframework.web.bind.annotation.RestController) Collectors(java.util.stream.Collectors) AuthService(no.nav.pto.veilarbportefolje.auth.AuthService) String.format(java.lang.String.format) HttpStatus(org.springframework.http.HttpStatus) StringUtils.nullOrEmpty(no.nav.common.utils.StringUtils.nullOrEmpty) Try(io.vavr.control.Try) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) ResponseEntity(org.springframework.http.ResponseEntity) VeilederId(no.nav.pto.veilarbportefolje.domene.value.VeilederId) AuthUtils(no.nav.pto.veilarbportefolje.auth.AuthUtils) Validation(io.vavr.control.Validation) ValideringsRegler.validerArbeidsliste(no.nav.pto.veilarbportefolje.util.ValideringsRegler.validerArbeidsliste) AktorId(no.nav.common.types.identer.AktorId) Fnr(no.nav.common.types.identer.Fnr) GetMapping(org.springframework.web.bind.annotation.GetMapping)

Aggregations

AktorId (no.nav.common.types.identer.AktorId)85 Test (org.junit.jupiter.api.Test)31 TestDataUtils.randomAktorId (no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId)24 EndToEndTest (no.nav.pto.veilarbportefolje.util.EndToEndTest)21 ZonedDateTime (java.time.ZonedDateTime)15 PersonId (no.nav.pto.veilarbportefolje.domene.value.PersonId)13 List (java.util.List)12 Slf4j (lombok.extern.slf4j.Slf4j)12 ApplicationConfigTest (no.nav.pto.veilarbportefolje.config.ApplicationConfigTest)12 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)12 Fnr (no.nav.common.types.identer.Fnr)11 VeilederId (no.nav.pto.veilarbportefolje.domene.value.VeilederId)11 Test (org.junit.Test)11 Timestamp (java.sql.Timestamp)10 Optional (java.util.Optional)10 AktorClient (no.nav.pto.veilarbportefolje.domene.AktorClient)10 BrukerOppdatertInformasjon (no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon)10 GetResponse (org.opensearch.action.get.GetResponse)10 Collectors (java.util.stream.Collectors)8 Service (org.springframework.stereotype.Service)8