Search in sources :

Example 1 with AktivitetStatus

use of no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus in project veilarbportefolje by navikt.

the class TiltakTest method skal_komme_i_tiltak.

@Test
public void skal_komme_i_tiltak() {
    insertBruker();
    TiltakDTO tiltakDTO = new TiltakDTO().setAfter(new TiltakInnhold().setFnr(fnr.get()).setPersonId(personId.toInteger()).setHendelseId(1).setTiltaksnavn("Test").setTiltakstype("T123").setDeltakerStatus("GJENN").setEndretDato(new ArenaDato("2021-01-01")).setAktivitetid("TA-123456789"));
    tiltakService.behandleKafkaMeldingOracle(tiltakDTO);
    Optional<AktivitetStatus> tiltak = hentAktivitetStatus();
    assertThat(tiltak).isPresent();
}
Also used : TiltakDTO(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.TiltakDTO) TiltakInnhold(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.TiltakInnhold) AktivitetStatus(no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus) Test(org.junit.jupiter.api.Test) ApplicationConfigTest(no.nav.pto.veilarbportefolje.config.ApplicationConfigTest) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 2 with AktivitetStatus

use of no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus in project veilarbportefolje by navikt.

the class TiltakRepositoryV1 method utledOgLagreTiltakInformasjon.

public void utledOgLagreTiltakInformasjon(AktorId aktorId, PersonId personId) {
    List<BrukertiltakV2> tiltak = hentTiltak(aktorId);
    LocalDate yesterday = LocalDate.now().minusDays(1);
    Timestamp nesteUtlopsdato = tiltak.stream().map(BrukertiltakV2::getTildato).filter(Objects::nonNull).filter(utlopsdato -> utlopsdato.toLocalDateTime().toLocalDate().isAfter(yesterday)).min(Comparator.naturalOrder()).orElse(null);
    boolean aktiv = !tiltak.isEmpty();
    AktivitetStatus aktivitetStatus = new AktivitetStatus().setAktivitetType(AktivitetsType.tiltak.name()).setAktiv(aktiv).setAktoerid(aktorId).setPersonid(personId).setNesteUtlop(nesteUtlopsdato);
    aktivitetDAO.upsertAktivitetStatus(aktivitetStatus);
}
Also used : BrukertiltakV2(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.BrukertiltakV2) LocalDate(java.time.LocalDate) Timestamp(java.sql.Timestamp) AktivitetStatus(no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus)

Example 3 with AktivitetStatus

use of no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus in project veilarbportefolje by navikt.

the class OpensearchIndexer method leggTilAktiviteter.

private void leggTilAktiviteter(List<OppfolgingsBruker> brukere) {
    if (brukere == null || brukere.isEmpty()) {
        throw new IllegalArgumentException();
    }
    validateBatchSize(brukere);
    List<PersonId> personIder = brukere.stream().map(OppfolgingsBruker::getPerson_id).map(PersonId::of).collect(toList());
    Map<PersonId, Set<AktivitetStatus>> alleAktiviteterForBrukere = aktivitetDAO.getAktivitetstatusForBrukere(personIder);
    alleAktiviteterForBrukere.forEach((personId, statuserForBruker) -> {
        OppfolgingsBruker bruker = finnBruker(brukere, personId);
        statuserForBruker.forEach(status -> {
            IndekseringUtils.leggTilUtlopsDato(bruker, status);
            IndekseringUtils.leggTilStartDato(bruker, status);
        });
        Set<String> aktiviteterSomErAktive = statuserForBruker.stream().filter(AktivitetStatus::isAktiv).map(AktivitetStatus::getAktivitetType).collect(toSet());
        bruker.setAktiviteter(aktiviteterSomErAktive);
    });
}
Also used : Collectors.toSet(java.util.stream.Collectors.toSet) Set(java.util.Set) PersonId(no.nav.pto.veilarbportefolje.domene.value.PersonId) AktivitetStatus(no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus) OppfolgingsBruker(no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker)

Example 4 with AktivitetStatus

use of no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus in project veilarbportefolje by navikt.

the class GruppeAktivitetRepository method utledOgLagreGruppeaktiviteter.

public void utledOgLagreGruppeaktiviteter(AktorId aktorId, PersonId personId) {
    LocalDate yesterday = LocalDate.now().minusDays(1);
    List<GruppeAktivitetSchedueldDTO> gruppeAktiviteter = hentAktiveAktivteter(aktorId);
    Timestamp nesteStart = gruppeAktiviteter.stream().filter(GruppeAktivitetSchedueldDTO::isAktiv).map(GruppeAktivitetSchedueldDTO::getAktivitetperiodeFra).filter(startDato -> startDato.toLocalDateTime().toLocalDate().isAfter(yesterday)).min(Comparator.naturalOrder()).orElse(null);
    Timestamp nesteUtlopsdato = gruppeAktiviteter.stream().filter(GruppeAktivitetSchedueldDTO::isAktiv).map(GruppeAktivitetSchedueldDTO::getAktivitetperiodeTil).filter(utlopsDato -> utlopsDato.toLocalDateTime().toLocalDate().isAfter(yesterday)).min(Comparator.naturalOrder()).orElse(null);
    boolean aktiv = (nesteUtlopsdato != null && gruppeAktiviteter.stream().anyMatch(GruppeAktivitetSchedueldDTO::isAktiv));
    AktivitetStatus aktivitetStatus = new AktivitetStatus().setAktivitetType(AktivitetsType.gruppeaktivitet.name()).setAktiv(aktiv).setAktoerid(aktorId).setPersonid(personId).setNesteStart(nesteStart).setNesteUtlop(nesteUtlopsdato);
    aktivitetDAO.upsertAktivitetStatus(aktivitetStatus);
}
Also used : GruppeAktivitetSchedueldDTO(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.GruppeAktivitetSchedueldDTO) LocalDate(java.time.LocalDate) DateUtils.toTimestamp(no.nav.pto.veilarbportefolje.util.DateUtils.toTimestamp) Timestamp(java.sql.Timestamp) AktivitetStatus(no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus)

Example 5 with AktivitetStatus

use of no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus in project veilarbportefolje by navikt.

the class GruppeAktivitetTest method skal_komme_i_gruppe_aktivitet.

@Test
public void skal_komme_i_gruppe_aktivitet() {
    insertBruker();
    GruppeAktivitetDTO gruppeAktivitet = getInsertDTO();
    gruppeAktivitetService.behandleKafkaMeldingOracle(gruppeAktivitet);
    Optional<AktivitetStatus> gruppe = hentAktivitetStatus();
    assertThat(gruppe).isPresent();
}
Also used : GruppeAktivitetDTO(no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.GruppeAktivitetDTO) AktivitetStatus(no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus) Test(org.junit.jupiter.api.Test) ApplicationConfigTest(no.nav.pto.veilarbportefolje.config.ApplicationConfigTest) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

AktivitetStatus (no.nav.pto.veilarbportefolje.aktiviteter.AktivitetStatus)5 Timestamp (java.sql.Timestamp)2 LocalDate (java.time.LocalDate)2 ApplicationConfigTest (no.nav.pto.veilarbportefolje.config.ApplicationConfigTest)2 Test (org.junit.jupiter.api.Test)2 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)2 Set (java.util.Set)1 Collectors.toSet (java.util.stream.Collectors.toSet)1 BrukertiltakV2 (no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.BrukertiltakV2)1 GruppeAktivitetDTO (no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.GruppeAktivitetDTO)1 GruppeAktivitetSchedueldDTO (no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.GruppeAktivitetSchedueldDTO)1 TiltakDTO (no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.TiltakDTO)1 TiltakInnhold (no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.TiltakInnhold)1 PersonId (no.nav.pto.veilarbportefolje.domene.value.PersonId)1 OppfolgingsBruker (no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker)1 DateUtils.toTimestamp (no.nav.pto.veilarbportefolje.util.DateUtils.toTimestamp)1