Search in sources :

Example 56 with AktorId

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

the class TiltakService method behandleKafkaMeldingOracle.

public AktorId behandleKafkaMeldingOracle(TiltakDTO kafkaMelding) {
    TiltakInnhold innhold = getInnhold(kafkaMelding);
    AktorId aktorId = getAktorId(aktorClient, innhold.getFnr());
    PersonId personId = PersonId.of(String.valueOf(innhold.getPersonId()));
    if (skalSlettesGoldenGate(kafkaMelding) || skalSlettesTiltak(innhold)) {
        log.info("Sletter tiltak: {}, pa aktoer: {}", innhold.getAktivitetid(), aktorId);
        tiltakRepositoryV1.delete(innhold.getAktivitetid());
    } else {
        log.info("Lagrer tiltak: {}, pa aktoer: {}", innhold.getAktivitetid(), aktorId);
        tiltakRepositoryV1.upsert(innhold, aktorId);
    }
    tiltakRepositoryV1.utledOgLagreTiltakInformasjon(aktorId, personId);
    brukerDataService.oppdaterAktivitetBrukerData(aktorId, personId);
    return aktorId;
}
Also used : PersonId(no.nav.pto.veilarbportefolje.domene.value.PersonId) TiltakInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.TiltakInnhold) AktorId(no.nav.common.types.identer.AktorId)

Example 57 with AktorId

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

the class TiltakService method behandleKafkaMeldingPostgres.

public void behandleKafkaMeldingPostgres(TiltakDTO kafkaMelding) {
    TiltakInnhold innhold = getInnhold(kafkaMelding);
    AktorId aktorId = getAktorId(aktorClient, innhold.getFnr());
    if (skalSlettesGoldenGate(kafkaMelding) || skalSlettesTiltak(innhold)) {
        log.info("Sletter tiltak postgres: {}, pa aktoer: {}", innhold.getAktivitetid(), aktorId);
        tiltakRepositoryV2.delete(innhold.getAktivitetid());
    } else {
        log.info("Lagrer tiltak postgres: {}, pa aktoer: {}", innhold.getAktivitetid(), aktorId);
        tiltakRepositoryV2.upsert(innhold, aktorId);
    }
}
Also used : TiltakInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.TiltakInnhold) AktorId(no.nav.common.types.identer.AktorId)

Example 58 with AktorId

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

the class ArbeidsListeController method deleteArbeidslisteListe.

@PostMapping("/delete")
public RestResponse<String> deleteArbeidslisteListe(@RequestBody java.util.List<ArbeidslisteRequest> arbeidslisteData) {
    authService.tilgangTilOppfolging();
    java.util.List<String> feiledeFnrs = new ArrayList<>();
    java.util.List<String> okFnrs = new ArrayList<>();
    java.util.List<Fnr> fnrs = arbeidslisteData.stream().map(data -> Fnr.ofValidFnr(data.getFnr())).collect(Collectors.toList());
    Validation<List<Fnr>, List<Fnr>> validerFnrs = ValideringsRegler.validerFnrs(fnrs);
    Validation<String, List<Fnr>> veilederForBrukere = arbeidslisteService.erVeilederForBrukere(fnrs);
    if (validerFnrs.isInvalid() || veilederForBrukere.isInvalid()) {
        throw new IllegalStateException(format("%s inneholder ett eller flere ugyldige fødselsnummer", validerFnrs.getError()));
    }
    validerFnrs.get().forEach(fnr -> {
        final int antallRaderSlettet = arbeidslisteService.slettArbeidsliste(fnr);
        final AktorId aktoerId = brukerService.hentAktorId(fnr).orElse(new AktorId("uten aktør-ID"));
        if (antallRaderSlettet != 1) {
            feiledeFnrs.add(fnr.get());
            log.warn("Kunne ikke slette arbeidsliste for bruker {} ", aktoerId.get());
        } else {
            okFnrs.add(fnr.get());
            log.info("Arbeidsliste for aktoerid {} slettet", aktoerId.get());
        }
    });
    if (feiledeFnrs.size() == fnrs.size()) {
        throw new IllegalStateException();
    }
    return RestResponse.of(okFnrs, feiledeFnrs);
}
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) ArrayList(java.util.ArrayList) AktorId(no.nav.common.types.identer.AktorId) Fnr(no.nav.common.types.identer.Fnr) ArrayList(java.util.ArrayList) List(java.util.List) PostMapping(org.springframework.web.bind.annotation.PostMapping)

Example 59 with AktorId

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

the class YtelsesServicePostgres method finnLopendeYtelsePostgres.

public Optional<YtelseDAO> finnLopendeYtelsePostgres(AktorId aktorId) {
    LocalDate iDag = LocalDate.now();
    List<YtelseDAO> aktiveOgFremtidigeYtelser = ytelsesRepositoryV2.getYtelser(aktorId).stream().filter(Objects::nonNull).filter(ytelse -> harFremtidigUtlopsdato(ytelse.getUtlopsDato(), iDag)).collect(Collectors.toList());
    if (aktiveOgFremtidigeYtelser.isEmpty()) {
        return Optional.empty();
    }
    YtelseDAO tidligsteYtelse = aktiveOgFremtidigeYtelser.stream().min(Comparator.comparing(YtelseDAO::getStartDato)).get();
    if (!harPassertStartdato(tidligsteYtelse.getStartDato(), iDag)) {
        return Optional.empty();
    }
    if (TypeKafkaYtelse.DAGPENGER.equals(tidligsteYtelse.getType())) {
        // Hvis det finnes en utløpsdato er det mest sannynlig et annet dagpengevedtak som skal ta over for det løpende vedtaket, eller en bug
        return Optional.of(tidligsteYtelse.setUtlopsDato(null));
    }
    if (tidligsteYtelse.getUtlopsDato() == null) {
        return Optional.of(tidligsteYtelse);
    }
    return finnVedtakMedSisteUtlopsDatoPaSak(aktiveOgFremtidigeYtelser, tidligsteYtelse);
}
Also used : AktorClient(no.nav.pto.veilarbportefolje.domene.AktorClient) ArenaUtils(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils) Timestamp(java.sql.Timestamp) RequiredArgsConstructor(lombok.RequiredArgsConstructor) Collectors(java.util.stream.Collectors) YtelsesInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold) Objects(java.util.Objects) AktorId(no.nav.common.types.identer.AktorId) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) YtelsesDTO(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesDTO) Service(org.springframework.stereotype.Service) LocalDate(java.time.LocalDate) Optional(java.util.Optional) BrukerDataService(no.nav.pto.veilarbportefolje.database.BrukerDataService) Comparator(java.util.Comparator) Transactional(org.springframework.transaction.annotation.Transactional) Objects(java.util.Objects) LocalDate(java.time.LocalDate)

Example 60 with AktorId

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

the class GruppeAktivitetService method behandleKafkaMeldingPostgres.

public void behandleKafkaMeldingPostgres(GruppeAktivitetDTO kafkaMelding) {
    GruppeAktivitetInnhold innhold = getInnhold(kafkaMelding);
    if (innhold == null || erGammelMeldingV2(kafkaMelding, innhold)) {
        return;
    }
    AktorId aktorId = getAktorId(aktorClient, innhold.getFnr());
    boolean aktiv = !(skalSlettesGoldenGate(kafkaMelding) || skalSletteGruppeAktivitet(innhold));
    gruppeAktivitetRepositoryV2.upsertGruppeAktivitet(innhold, aktorId, aktiv);
}
Also used : GruppeAktivitetInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.GruppeAktivitetInnhold) AktorId(no.nav.common.types.identer.AktorId) ArenaUtils.getAktorId(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.getAktorId)

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