Search in sources :

Example 36 with AktorId

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

the class AktivitetUtils method konverterTilBrukerOppdatering.

public static AktivitetBrukerOppdatering konverterTilBrukerOppdatering(AktoerAktiviteter aktoerAktiviteter, BrukerService brukerService) {
    AktorId aktoerId = AktorId.of(aktoerAktiviteter.getAktoerid());
    Try<PersonId> personid = brukerService.hentPersonidFraAktoerid(aktoerId).onFailure((e) -> log.warn("Kunne ikke hente personid for aktoerid {}", aktoerId.toString(), e));
    return personid.map(personId -> konverterTilBrukerOppdatering(aktoerAktiviteter.getAktiviteter(), aktoerId, personid.get())).getOrNull();
}
Also used : BrukerService(no.nav.pto.veilarbportefolje.service.BrukerService) DateUtils(no.nav.pto.veilarbportefolje.util.DateUtils) Iterator(java.util.Iterator) Timestamp(java.sql.Timestamp) AktivitetData.aktivitetTyperFraKafka(no.nav.pto.veilarbportefolje.aktiviteter.AktivitetData.aktivitetTyperFraKafka) Set(java.util.Set) Collectors(java.util.stream.Collectors) HashSet(java.util.HashSet) Objects(java.util.Objects) AktorId(no.nav.common.types.identer.AktorId) Try(io.vavr.control.Try) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) LocalDate(java.time.LocalDate) Optional(java.util.Optional) PersonId(no.nav.pto.veilarbportefolje.domene.value.PersonId) Comparator(java.util.Comparator) LinkedHashSet(java.util.LinkedHashSet) PersonId(no.nav.pto.veilarbportefolje.domene.value.PersonId) AktorId(no.nav.common.types.identer.AktorId)

Example 37 with AktorId

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

the class AktivitetUtils method lagAktivitetSet.

public static Set<AktivitetStatus> lagAktivitetSet(List<AktivitetDTO> aktiviteter, LocalDate today, AktorId aktoerId, PersonId personId) {
    Set<AktivitetStatus> aktiveAktiviteter = new HashSet<>();
    aktivitetTyperFraKafka.stream().map(Objects::toString).forEach(aktivitetstype -> {
        List<AktivitetDTO> aktiviteterMedAktivtStatus = aktiviteter.stream().filter(aktivitet -> aktivitetstype.equals(aktivitet.getAktivitetType())).filter(AktivitetUtils::harIkkeStatusFullfort).collect(toList());
        Timestamp datoForNesteUtlop = aktiviteterMedAktivtStatus.stream().filter(aktivitet -> erAktivitetIPeriode(aktivitet, today)).map(AktivitetDTO::getTilDato).filter(Objects::nonNull).sorted().findFirst().orElse(null);
        Timestamp datoForNesteStart = aktiviteterMedAktivtStatus.stream().filter(aktivitet -> erAktivitetIPeriode(aktivitet, today)).map(AktivitetDTO::getFraDato).filter(Objects::nonNull).sorted().findFirst().orElse(null);
        boolean aktivitetErIkkeFullfort = !aktiviteterMedAktivtStatus.isEmpty();
        aktiveAktiviteter.add(new AktivitetStatus().setPersonid(personId).setAktoerid(aktoerId).setAktivitetType(aktivitetstype).setAktiv(aktivitetErIkkeFullfort).setNesteStart(datoForNesteStart).setNesteUtlop(datoForNesteUtlop));
    });
    return aktiveAktiviteter;
}
Also used : BrukerService(no.nav.pto.veilarbportefolje.service.BrukerService) DateUtils(no.nav.pto.veilarbportefolje.util.DateUtils) Iterator(java.util.Iterator) Timestamp(java.sql.Timestamp) AktivitetData.aktivitetTyperFraKafka(no.nav.pto.veilarbportefolje.aktiviteter.AktivitetData.aktivitetTyperFraKafka) Set(java.util.Set) Collectors(java.util.stream.Collectors) HashSet(java.util.HashSet) Objects(java.util.Objects) AktorId(no.nav.common.types.identer.AktorId) Try(io.vavr.control.Try) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) LocalDate(java.time.LocalDate) Optional(java.util.Optional) PersonId(no.nav.pto.veilarbportefolje.domene.value.PersonId) Comparator(java.util.Comparator) LinkedHashSet(java.util.LinkedHashSet) Timestamp(java.sql.Timestamp) HashSet(java.util.HashSet) LinkedHashSet(java.util.LinkedHashSet)

Example 38 with AktorId

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

the class TiltakService method behandleKafkaMelding.

public void behandleKafkaMelding(TiltakDTO kafkaMelding) {
    TiltakInnhold innhold = getInnhold(kafkaMelding);
    if (innhold == null || erGammelMelding(kafkaMelding, innhold)) {
        return;
    }
    AktorId aktorId = behandleKafkaMeldingOracle(kafkaMelding);
    behandleKafkaMeldingPostgres(kafkaMelding);
    arenaHendelseRepository.upsertAktivitetHendelse(innhold.getAktivitetid(), innhold.getHendelseId());
    opensearchIndexer.indekser(aktorId);
}
Also used : TiltakInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.TiltakInnhold) AktorId(no.nav.common.types.identer.AktorId)

Example 39 with AktorId

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

the class YtelsesService method finnLopendeYtelseOracle.

public Optional<YtelseDAO> finnLopendeYtelseOracle(AktorId aktorId) {
    LocalDate iDag = LocalDate.now();
    List<YtelseDAO> aktiveYtelser = ytelsesRepository.getYtelser(aktorId).stream().filter(Objects::nonNull).filter(ytelse -> harLopendeUtlopsDato(ytelse.getUtlopsDato(), iDag)).collect(Collectors.toList());
    if (aktiveYtelser.isEmpty()) {
        return Optional.empty();
    }
    YtelseDAO tidligsteYtelse = aktiveYtelser.stream().min(Comparator.comparing(YtelseDAO::getStartDato)).get();
    if (!harLopendeStartDato(tidligsteYtelse.getStartDato(), iDag)) {
        return Optional.empty();
    }
    if (TypeKafkaYtelse.DAGPENGER.equals(tidligsteYtelse.getType())) {
        // Hvis det finnes en utløpsdato er det mest sannynlig et annet dagpenge vedtak som skal ta over for det løpende vedatekt, eller en bug
        return Optional.of(tidligsteYtelse.setUtlopsDato(null));
    }
    if (tidligsteYtelse.getUtlopsDato() == null) {
        return Optional.of(tidligsteYtelse);
    }
    return finnVedtakMedSisteUtlopsDatoPaSak(aktiveYtelser, tidligsteYtelse);
}
Also used : BrukerService(no.nav.pto.veilarbportefolje.service.BrukerService) RequiredArgsConstructor(lombok.RequiredArgsConstructor) ArenaUtils.skalSlettesGoldenGate(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.skalSlettesGoldenGate) YtelsesInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold) AktorId(no.nav.common.types.identer.AktorId) Service(org.springframework.stereotype.Service) PersonId(no.nav.pto.veilarbportefolje.domene.value.PersonId) ArenaHendelseRepository(no.nav.pto.veilarbportefolje.arenapakafka.aktiviteter.ArenaHendelseRepository) AktorClient(no.nav.pto.veilarbportefolje.domene.AktorClient) Timestamp(java.sql.Timestamp) ArenaUtils.getInnhold(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.getInnhold) Collectors(java.util.stream.Collectors) Objects(java.util.Objects) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) OpensearchIndexer(no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexer) ArenaUtils.getAktorId(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.getAktorId) YtelsesDTO(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesDTO) ConsumerRecord(org.apache.kafka.clients.consumer.ConsumerRecord) LocalDate(java.time.LocalDate) Optional(java.util.Optional) ArenaUtils.erGammelHendelseBasertPaOperasjon(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.erGammelHendelseBasertPaOperasjon) 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 40 with AktorId

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

the class YtelsesService method finnSisteYtelsePaSakIdSomIkkeErUtloptOracle.

public Optional<YtelseDAO> finnSisteYtelsePaSakIdSomIkkeErUtloptOracle(AktorId aktorId, String sakID) {
    LocalDate iDag = LocalDate.now();
    List<YtelseDAO> aktiveYtelserPaSakID = ytelsesRepository.getYtelser(aktorId).stream().filter(Objects::nonNull).filter(ytelse -> sakID.equals(ytelse.getSaksId())).filter(ytelse -> harLopendeUtlopsDato(ytelse.getUtlopsDato(), iDag)).collect(Collectors.toList());
    if (aktiveYtelserPaSakID.isEmpty()) {
        return Optional.empty();
    }
    Optional<YtelseDAO> ytelseMedSluttDatoEllerNull = aktiveYtelserPaSakID.stream().filter(ytelseDAO -> ytelseDAO.getUtlopsDato() != null).max(Comparator.comparing(YtelseDAO::getUtlopsDato));
    return Optional.of(ytelseMedSluttDatoEllerNull.orElse(aktiveYtelserPaSakID.get(0)));
}
Also used : BrukerService(no.nav.pto.veilarbportefolje.service.BrukerService) RequiredArgsConstructor(lombok.RequiredArgsConstructor) ArenaUtils.skalSlettesGoldenGate(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.skalSlettesGoldenGate) YtelsesInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesInnhold) AktorId(no.nav.common.types.identer.AktorId) Service(org.springframework.stereotype.Service) PersonId(no.nav.pto.veilarbportefolje.domene.value.PersonId) ArenaHendelseRepository(no.nav.pto.veilarbportefolje.arenapakafka.aktiviteter.ArenaHendelseRepository) AktorClient(no.nav.pto.veilarbportefolje.domene.AktorClient) Timestamp(java.sql.Timestamp) ArenaUtils.getInnhold(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.getInnhold) Collectors(java.util.stream.Collectors) Objects(java.util.Objects) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) OpensearchIndexer(no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexer) ArenaUtils.getAktorId(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.getAktorId) YtelsesDTO(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.YtelsesDTO) ConsumerRecord(org.apache.kafka.clients.consumer.ConsumerRecord) LocalDate(java.time.LocalDate) Optional(java.util.Optional) ArenaUtils.erGammelHendelseBasertPaOperasjon(no.nav.pto.veilarbportefolje.arenapakafka.ArenaUtils.erGammelHendelseBasertPaOperasjon) BrukerDataService(no.nav.pto.veilarbportefolje.database.BrukerDataService) Comparator(java.util.Comparator) Transactional(org.springframework.transaction.annotation.Transactional) LocalDate(java.time.LocalDate)

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