Search in sources :

Example 6 with Fnr

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

the class TestDataClient method setupBruker.

public void setupBruker(AktorId aktoerId, NavKontor navKontor, VeilederId veilederId, ZonedDateTime startDato) {
    final Fnr fnr = TestDataUtils.randomFnr();
    setupBrukerOracle(aktoerId, fnr, navKontor, veilederId, startDato);
    setupBruker(aktoerId, fnr, navKontor, veilederId, startDato);
}
Also used : Fnr(no.nav.common.types.identer.Fnr)

Example 7 with Fnr

use of no.nav.common.types.identer.Fnr 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 8 with Fnr

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

Example 9 with Fnr

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

the class ArbeidsListeController method oppdaterArbeidsListe.

@PutMapping("{fnr}")
public Arbeidsliste oppdaterArbeidsListe(@RequestBody ArbeidslisteRequest body, @PathVariable("fnr") String fnrString) {
    validerOppfolgingOgBruker(fnrString);
    Fnr fnr = Fnr.ofValidFnr(fnrString);
    sjekkTilgangTilEnhet(fnr);
    validerArbeidsliste(body, true);
    String veileder = AuthUtils.getInnloggetVeilederIdent().toString();
    arbeidslisteService.updateArbeidsliste(data(body, fnr)).onFailure(e -> log.warn("Kunne ikke oppdatere arbeidsliste: {}", e.getMessage())).getOrElseThrow((Function<Throwable, RuntimeException>) RuntimeException::new);
    return arbeidslisteService.getArbeidsliste(fnr, veileder).get().setHarVeilederTilgang(true).setIsOppfolgendeVeileder(arbeidslisteService.erVeilederForBruker(fnr, AuthUtils.getInnloggetVeilederIdent()));
}
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) Fnr(no.nav.common.types.identer.Fnr) PutMapping(org.springframework.web.bind.annotation.PutMapping)

Example 10 with Fnr

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

the class ArbeidslisteService method erVeilederForBruker.

public Validation<String, Fnr> erVeilederForBruker(String fnr) {
    VeilederId veilederId = AuthUtils.getInnloggetVeilederIdent();
    boolean erVeilederForBruker = ValideringsRegler.validerFnr(fnr).map(validFnr -> erVeilederForBruker(validFnr, veilederId)).getOrElse(false);
    if (erVeilederForBruker) {
        return valid(Fnr.ofValidFnr(fnr));
    }
    return invalid(format("Veileder %s er ikke veileder for bruker med fnr %s", veilederId, fnr));
}
Also used : BrukerService(no.nav.pto.veilarbportefolje.service.BrukerService) RequiredArgsConstructor(lombok.RequiredArgsConstructor) LoggerFactory(org.slf4j.LoggerFactory) ArrayList(java.util.ArrayList) AktorId(no.nav.common.types.identer.AktorId) FeatureToggle.erArbeidslistaPaPostgres(no.nav.pto.veilarbportefolje.config.FeatureToggle.erArbeidslistaPaPostgres) Service(org.springframework.stereotype.Service) AktorClient(no.nav.pto.veilarbportefolje.domene.AktorClient) Event(no.nav.common.metrics.Event) ValideringsRegler(no.nav.pto.veilarbportefolje.util.ValideringsRegler) Logger(org.slf4j.Logger) Validation.invalid(io.vavr.control.Validation.invalid) Fnr(no.nav.common.types.identer.Fnr) Validation.valid(io.vavr.control.Validation.valid) EnhetId(no.nav.common.types.identer.EnhetId) UnleashService(no.nav.pto.veilarbportefolje.service.UnleashService) String.format(java.lang.String.format) Try(io.vavr.control.Try) List(java.util.List) MetricsClient(no.nav.common.metrics.MetricsClient) Optional(java.util.Optional) VeilederId(no.nav.pto.veilarbportefolje.domene.value.VeilederId) OpensearchIndexerV2(no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexerV2) AuthUtils(no.nav.pto.veilarbportefolje.auth.AuthUtils) Validation(io.vavr.control.Validation) VeilederId(no.nav.pto.veilarbportefolje.domene.value.VeilederId)

Aggregations

Fnr (no.nav.common.types.identer.Fnr)22 AktorId (no.nav.common.types.identer.AktorId)10 PersonId (no.nav.pto.veilarbportefolje.domene.value.PersonId)8 TestDataUtils.randomFnr (no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr)7 Test (org.junit.Test)7 AktorClient (no.nav.pto.veilarbportefolje.domene.AktorClient)6 TestDataUtils.randomPersonId (no.nav.pto.veilarbportefolje.util.TestDataUtils.randomPersonId)6 List (java.util.List)5 Slf4j (lombok.extern.slf4j.Slf4j)5 VeilederId (no.nav.pto.veilarbportefolje.domene.value.VeilederId)5 Try (io.vavr.control.Try)4 Validation (io.vavr.control.Validation)4 String.format (java.lang.String.format)4 Timestamp (java.sql.Timestamp)4 ArrayList (java.util.ArrayList)4 AuthUtils (no.nav.pto.veilarbportefolje.auth.AuthUtils)4 BrukerService (no.nav.pto.veilarbportefolje.service.BrukerService)4 ValideringsRegler (no.nav.pto.veilarbportefolje.util.ValideringsRegler)4 Autowired (org.springframework.beans.factory.annotation.Autowired)4 Instant (java.time.Instant)3