From 7d15e7ddfaa1b6a91c13bd34b820cb370733c5c5 Mon Sep 17 00:00:00 2001 From: Sneha Desai Date: Wed, 5 Feb 2025 11:20:31 +0100 Subject: [PATCH 01/18] WIP Co-authored-by: Sondre Larsen Ovrid --- .../opensearch/OpensearchIndexer.java | 7 ++++ .../oppfolging/OppfolgingRepositoryV2.java | 34 +++++++++++++++++-- .../postgres/PostgresOpensearchMapper.java | 14 ++++++-- 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java index f55baebe59..5ddcb67794 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java @@ -123,10 +123,17 @@ private void flettInnNodvendigData(List brukere) { postgresOpensearchMapper.flettInnEnsligeForsorgereData(brukere); postgresOpensearchMapper.flettInnBarnUnder18Aar(brukere); postgresOpensearchMapper.flettInnTiltakshendelser(brukere); +<<<<<<< Updated upstream postgresOpensearchMapper.flettInnSiste14aVedtak(brukere); postgresOpensearchMapper.flettInnEldsteUtgattVarsel(brukere); postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere); +======= + postgresOpensearchMapper.flettInnGjeldende14aVedtak(brukere); + if (FeatureToggle.brukNyttArbeidssoekerregister(defaultUnleash)) { + postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere); + } +>>>>>>> Stashed changes if (brukere.isEmpty()) { log.warn("Skriver ikke til index da alle brukere i batchen er ugyldige"); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java index aa34657e35..d36cf29603 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java @@ -6,13 +6,16 @@ import no.nav.common.types.identer.AktorId; import no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon; import no.nav.pto.veilarbportefolje.domene.value.VeilederId; +import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakForBruker; +import no.nav.pto.veilarbportefolje.util.DateUtils; +import org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import java.sql.ResultSet; import java.time.ZonedDateTime; -import java.util.List; -import java.util.Optional; +import java.util.*; +import java.util.stream.Collectors; import static no.nav.pto.veilarbportefolje.database.PostgresTable.OPPFOLGING_DATA.AKTOERID; import static no.nav.pto.veilarbportefolje.database.PostgresTable.OPPFOLGING_DATA.MANUELL; @@ -115,4 +118,31 @@ public Optional hentVeilederForBruker(AktorId aktoerId) { (rs, i) -> VeilederId.veilederIdOrNull(rs.getString("veilederid")), aktoerId.get()) )); } + + public Map> hentStartDatoForOppfolging(Set aktoerIder) { + Map> result = new HashMap<>(); + return db.query("select startdato, aktoerid from oppfolging_data where aktoerid = any (?::varchar[])", + ps -> ps.setString(1, listParam(aktoerIder.stream().map(AktorId::get).toList())), + (ResultSet rs) -> { + while (rs.next()) { + ZonedDateTime startDatoForOppfolging = DateUtils.toZonedDateTime(rs.getTimestamp("startdato")); + AktorId aktoerid = AktorId.of(rs.getString("aktoerid")); + result.put(aktoerid, Optional.ofNullable(startDatoForOppfolging)); + } + return result; + }); + } + + + Optional.ofNullable( + queryForObjectOrNull( + () -> db.queryForObject("select startdato from oppfolging_data where aktoerid = any (?::varchar[])", + (rs, i) -> DateUtils.toZonedDateTime(rs.getTimestamp("startdato")), aktoerId.get()) + )); + } + + private static String listParam(List identer) { + return identer.stream().collect(Collectors.joining(",", "{", "}")); + } + } diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index d071fcfa4f..2ac6844fe0 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -27,7 +27,8 @@ import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseRepository; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; - +import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; +import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -53,6 +54,7 @@ public class PostgresOpensearchMapper { private final TiltakshendelseRepository tiltakshendelseRepository; private final Siste14aVedtakRepository siste14aVedtakRepository; private final HendelseRepository hendelseRepository; + private final OppfolgingRepository oppfolgingRepositoryV2; public void flettInnAktivitetsData(List brukere) { List aktoerIder = brukere.stream().map(OppfolgingsBruker::getAktoer_id).map(AktorId::of).toList(); @@ -233,18 +235,24 @@ public void flettInnOpplysningerOmArbeidssoekerData(List bruk }); } - public void flettInnSiste14aVedtak(List brukere) { + public void flettInnGjeldende14aVedtak(List brukere) { Map aktorIdSiste14aVedtakMap = siste14aVedtakRepository.hentSiste14aVedtakForBrukere(brukere.stream().map(bruker -> AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) ); + + /*Map aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging(brukere.stream().map(bruker -> + AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) + ); +/* brukere.forEach(bruker -> { + if() Optional maybeSiste14aVedtakForBruker = Optional.ofNullable(aktorIdSiste14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))); bruker.setGjeldendeVedtak14a(maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> new GjeldendeVedtak14a( siste14aVedtakForBruker.getInnsatsgruppe(), siste14aVedtakForBruker.getHovedmal(), siste14aVedtakForBruker.getFattetDato() )).orElse(null)); - }); + });*/ } public void flettInnEldsteUtgattVarsel(List brukere) { From dde28320d84e1d7b0b3d40f7b330198734bc7dd2 Mon Sep 17 00:00:00 2001 From: Sneha Desai Date: Wed, 5 Feb 2025 13:42:11 +0100 Subject: [PATCH 02/18] =?UTF-8?q?La=20til=20dato=20sjekk=20for=20=C3=A5=20?= =?UTF-8?q?sortere=20ut=20gjeldende=20vedtak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opensearch/OpensearchIndexer.java | 8 ----- .../oppfolging/OppfolgingRepositoryV2.java | 11 ------ .../postgres/PostgresOpensearchMapper.java | 35 ++++++++++++------- 3 files changed, 23 insertions(+), 31 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java index 5ddcb67794..5139509cc5 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java @@ -123,17 +123,9 @@ private void flettInnNodvendigData(List brukere) { postgresOpensearchMapper.flettInnEnsligeForsorgereData(brukere); postgresOpensearchMapper.flettInnBarnUnder18Aar(brukere); postgresOpensearchMapper.flettInnTiltakshendelser(brukere); -<<<<<<< Updated upstream - postgresOpensearchMapper.flettInnSiste14aVedtak(brukere); postgresOpensearchMapper.flettInnEldsteUtgattVarsel(brukere); - postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere); -======= postgresOpensearchMapper.flettInnGjeldende14aVedtak(brukere); - if (FeatureToggle.brukNyttArbeidssoekerregister(defaultUnleash)) { - postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere); - } ->>>>>>> Stashed changes if (brukere.isEmpty()) { log.warn("Skriver ikke til index da alle brukere i batchen er ugyldige"); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java index d36cf29603..43704c38db 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java @@ -6,9 +6,7 @@ import no.nav.common.types.identer.AktorId; import no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon; import no.nav.pto.veilarbportefolje.domene.value.VeilederId; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakForBruker; import no.nav.pto.veilarbportefolje.util.DateUtils; -import org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @@ -133,16 +131,7 @@ public Map> hentStartDatoForOppfolging(Set db.queryForObject("select startdato from oppfolging_data where aktoerid = any (?::varchar[])", - (rs, i) -> DateUtils.toZonedDateTime(rs.getTimestamp("startdato")), aktoerId.get()) - )); - } - private static String listParam(List identer) { return identer.stream().collect(Collectors.joining(",", "{", "}")); } - } diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index 2ac6844fe0..4ecf5dbfec 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -17,6 +17,7 @@ import no.nav.pto.veilarbportefolje.kodeverk.KodeverkService; import no.nav.pto.veilarbportefolje.opensearch.domene.Endring; import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; +import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; import no.nav.pto.veilarbportefolje.persononinfo.PdlService; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarData; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarService; @@ -27,7 +28,6 @@ import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseRepository; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; -import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -54,7 +54,7 @@ public class PostgresOpensearchMapper { private final TiltakshendelseRepository tiltakshendelseRepository; private final Siste14aVedtakRepository siste14aVedtakRepository; private final HendelseRepository hendelseRepository; - private final OppfolgingRepository oppfolgingRepositoryV2; + private final OppfolgingRepositoryV2 oppfolgingRepositoryV2; public void flettInnAktivitetsData(List brukere) { List aktoerIder = brukere.stream().map(OppfolgingsBruker::getAktoer_id).map(AktorId::of).toList(); @@ -239,20 +239,31 @@ public void flettInnGjeldende14aVedtak(List brukere) { Map aktorIdSiste14aVedtakMap = siste14aVedtakRepository.hentSiste14aVedtakForBrukere(brukere.stream().map(bruker -> AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) ); - - /*Map aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging(brukere.stream().map(bruker -> + Map> aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging(brukere.stream().map(bruker -> AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) ); -/* + brukere.forEach(bruker -> { - if() Optional maybeSiste14aVedtakForBruker = Optional.ofNullable(aktorIdSiste14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))); - bruker.setGjeldendeVedtak14a(maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> new GjeldendeVedtak14a( - siste14aVedtakForBruker.getInnsatsgruppe(), - siste14aVedtakForBruker.getHovedmal(), - siste14aVedtakForBruker.getFattetDato() - )).orElse(null)); - });*/ + Optional maybeStartDatoForOppfolging = aktorIdStartDatoForOppfolgingMap.getOrDefault(AktorId.of(bruker.getAktoer_id()), Optional.empty()); + + if(maybeStartDatoForOppfolging.isEmpty()) { + return; + } + + boolean harBrukerGjeldende14aVedtak = maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> + siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || + siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.parse("2017-12-02T19:37:25+02:00")) + ).orElse(false); + + if(harBrukerGjeldende14aVedtak) { + bruker.setGjeldendeVedtak14a(maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> new GjeldendeVedtak14a( + siste14aVedtakForBruker.getInnsatsgruppe(), + siste14aVedtakForBruker.getHovedmal(), + siste14aVedtakForBruker.getFattetDato() + )).orElse(null)); + } + }); } public void flettInnEldsteUtgattVarsel(List brukere) { From ba13db6b72a28abbe2a9a8ae6d25fc6bb156217d Mon Sep 17 00:00:00 2001 From: Sneha Desai Date: Wed, 5 Feb 2025 14:40:26 +0100 Subject: [PATCH 03/18] Refaktorte og fikset feil test 9794589644fb73db18bb0f3dff3bc38c4f857986 --- .../postgres/PostgresOpensearchMapper.java | 20 +++++++++++-------- ...pfolgingStartetOgAvsluttetServiceTest.java | 6 +++--- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index 4ecf5dbfec..9460e452cd 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -28,6 +28,7 @@ import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseRepository; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; + import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -247,21 +248,24 @@ public void flettInnGjeldende14aVedtak(List brukere) { Optional maybeSiste14aVedtakForBruker = Optional.ofNullable(aktorIdSiste14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))); Optional maybeStartDatoForOppfolging = aktorIdStartDatoForOppfolgingMap.getOrDefault(AktorId.of(bruker.getAktoer_id()), Optional.empty()); - if(maybeStartDatoForOppfolging.isEmpty()) { + if (maybeStartDatoForOppfolging.isEmpty()) { return; } - boolean harBrukerGjeldende14aVedtak = maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> - siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || - siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.parse("2017-12-02T19:37:25+02:00")) - ).orElse(false); + if (maybeSiste14aVedtakForBruker.isPresent()) { + Siste14aVedtakForBruker siste14aVedtakForBruker = maybeSiste14aVedtakForBruker.get(); + boolean erGjeldende14aVedtak = siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || + siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.parse("2017-12-02T19:37:25+02:00")); + + if (!erGjeldende14aVedtak) { + return; + } - if(harBrukerGjeldende14aVedtak) { - bruker.setGjeldendeVedtak14a(maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> new GjeldendeVedtak14a( + bruker.setGjeldendeVedtak14a(new GjeldendeVedtak14a( siste14aVedtakForBruker.getInnsatsgruppe(), siste14aVedtakForBruker.getHovedmal(), siste14aVedtakForBruker.getFattetDato() - )).orElse(null)); + )); } }); } diff --git a/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java index 817d1e24fd..4da2cf9e5c 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java @@ -154,15 +154,15 @@ public void cleanup() { mockPdlPersonBarnRespons(fnr); mockHentOppfolgingsbrukerResponse(fnr); + SisteOppfolgingsperiodeV1 sisteOppfolgingsperiodeV1 = genererStartetOppfolgingsperiode(aktorId); Siste14aVedtakApiDto siste14aVedtakApiDto = new Siste14aVedtakApiDto( Innsatsgruppe.SITUASJONSBESTEMT_INNSATS, Hovedmal.OKE_DELTAKELSE, - tilfeldigDatoTilbakeITid(), + sisteOppfolgingsperiodeV1.getStartDato().plusDays(1), true ); when(vedtaksstotteClient.hentSiste14aVedtak(fnr)).thenReturn(Optional.of(siste14aVedtakApiDto)); - - oppfolgingPeriodeService.behandleKafkaMeldingLogikk(genererStartetOppfolgingsperiode(aktorId)); + oppfolgingPeriodeService.behandleKafkaMeldingLogikk(sisteOppfolgingsperiodeV1); IdenterForBruker identerForBruker = pdlIdentRepository.hentIdenterForBruker(aktorId.get()); Optional siste14aVedtakForBruker = siste14aVedtakRepository.hentSiste14aVedtak(identerForBruker); From 7903dec64c0c15ba2f577e9dcb8c2cae801c07ca Mon Sep 17 00:00:00 2001 From: Sneha Desai Date: Wed, 5 Feb 2025 11:20:31 +0100 Subject: [PATCH 04/18] =?UTF-8?q?Begynne=20p=C3=A5=20logikk=20for=20=C3=A5?= =?UTF-8?q?=20bruke=20riktig=20=C2=A7=2014=20a-vedtak=20som=20gjeldende=20?= =?UTF-8?q?Co-authored-by:=20Sondre=20Larsen=20Ovrid=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opensearch/OpensearchIndexer.java | 7 ++++ .../oppfolging/OppfolgingRepositoryV2.java | 34 +++++++++++++++++-- .../postgres/PostgresOpensearchMapper.java | 14 ++++++-- 3 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java index f55baebe59..5ddcb67794 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java @@ -123,10 +123,17 @@ private void flettInnNodvendigData(List brukere) { postgresOpensearchMapper.flettInnEnsligeForsorgereData(brukere); postgresOpensearchMapper.flettInnBarnUnder18Aar(brukere); postgresOpensearchMapper.flettInnTiltakshendelser(brukere); +<<<<<<< Updated upstream postgresOpensearchMapper.flettInnSiste14aVedtak(brukere); postgresOpensearchMapper.flettInnEldsteUtgattVarsel(brukere); postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere); +======= + postgresOpensearchMapper.flettInnGjeldende14aVedtak(brukere); + if (FeatureToggle.brukNyttArbeidssoekerregister(defaultUnleash)) { + postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere); + } +>>>>>>> Stashed changes if (brukere.isEmpty()) { log.warn("Skriver ikke til index da alle brukere i batchen er ugyldige"); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java index aa34657e35..d36cf29603 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java @@ -6,13 +6,16 @@ import no.nav.common.types.identer.AktorId; import no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon; import no.nav.pto.veilarbportefolje.domene.value.VeilederId; +import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakForBruker; +import no.nav.pto.veilarbportefolje.util.DateUtils; +import org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import java.sql.ResultSet; import java.time.ZonedDateTime; -import java.util.List; -import java.util.Optional; +import java.util.*; +import java.util.stream.Collectors; import static no.nav.pto.veilarbportefolje.database.PostgresTable.OPPFOLGING_DATA.AKTOERID; import static no.nav.pto.veilarbportefolje.database.PostgresTable.OPPFOLGING_DATA.MANUELL; @@ -115,4 +118,31 @@ public Optional hentVeilederForBruker(AktorId aktoerId) { (rs, i) -> VeilederId.veilederIdOrNull(rs.getString("veilederid")), aktoerId.get()) )); } + + public Map> hentStartDatoForOppfolging(Set aktoerIder) { + Map> result = new HashMap<>(); + return db.query("select startdato, aktoerid from oppfolging_data where aktoerid = any (?::varchar[])", + ps -> ps.setString(1, listParam(aktoerIder.stream().map(AktorId::get).toList())), + (ResultSet rs) -> { + while (rs.next()) { + ZonedDateTime startDatoForOppfolging = DateUtils.toZonedDateTime(rs.getTimestamp("startdato")); + AktorId aktoerid = AktorId.of(rs.getString("aktoerid")); + result.put(aktoerid, Optional.ofNullable(startDatoForOppfolging)); + } + return result; + }); + } + + + Optional.ofNullable( + queryForObjectOrNull( + () -> db.queryForObject("select startdato from oppfolging_data where aktoerid = any (?::varchar[])", + (rs, i) -> DateUtils.toZonedDateTime(rs.getTimestamp("startdato")), aktoerId.get()) + )); + } + + private static String listParam(List identer) { + return identer.stream().collect(Collectors.joining(",", "{", "}")); + } + } diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index d071fcfa4f..2ac6844fe0 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -27,7 +27,8 @@ import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseRepository; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; - +import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; +import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -53,6 +54,7 @@ public class PostgresOpensearchMapper { private final TiltakshendelseRepository tiltakshendelseRepository; private final Siste14aVedtakRepository siste14aVedtakRepository; private final HendelseRepository hendelseRepository; + private final OppfolgingRepository oppfolgingRepositoryV2; public void flettInnAktivitetsData(List brukere) { List aktoerIder = brukere.stream().map(OppfolgingsBruker::getAktoer_id).map(AktorId::of).toList(); @@ -233,18 +235,24 @@ public void flettInnOpplysningerOmArbeidssoekerData(List bruk }); } - public void flettInnSiste14aVedtak(List brukere) { + public void flettInnGjeldende14aVedtak(List brukere) { Map aktorIdSiste14aVedtakMap = siste14aVedtakRepository.hentSiste14aVedtakForBrukere(brukere.stream().map(bruker -> AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) ); + + /*Map aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging(brukere.stream().map(bruker -> + AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) + ); +/* brukere.forEach(bruker -> { + if() Optional maybeSiste14aVedtakForBruker = Optional.ofNullable(aktorIdSiste14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))); bruker.setGjeldendeVedtak14a(maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> new GjeldendeVedtak14a( siste14aVedtakForBruker.getInnsatsgruppe(), siste14aVedtakForBruker.getHovedmal(), siste14aVedtakForBruker.getFattetDato() )).orElse(null)); - }); + });*/ } public void flettInnEldsteUtgattVarsel(List brukere) { From be281e30c3dddd29ca75621bf948a91f89635998 Mon Sep 17 00:00:00 2001 From: Sneha Desai Date: Wed, 5 Feb 2025 13:42:11 +0100 Subject: [PATCH 05/18] =?UTF-8?q?La=20til=20dato=20sjekk=20for=20=C3=A5=20?= =?UTF-8?q?sortere=20ut=20gjeldende=20vedtak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opensearch/OpensearchIndexer.java | 8 ----- .../oppfolging/OppfolgingRepositoryV2.java | 11 ------ .../postgres/PostgresOpensearchMapper.java | 35 ++++++++++++------- 3 files changed, 23 insertions(+), 31 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java index 5ddcb67794..5139509cc5 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java @@ -123,17 +123,9 @@ private void flettInnNodvendigData(List brukere) { postgresOpensearchMapper.flettInnEnsligeForsorgereData(brukere); postgresOpensearchMapper.flettInnBarnUnder18Aar(brukere); postgresOpensearchMapper.flettInnTiltakshendelser(brukere); -<<<<<<< Updated upstream - postgresOpensearchMapper.flettInnSiste14aVedtak(brukere); postgresOpensearchMapper.flettInnEldsteUtgattVarsel(brukere); - postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere); -======= postgresOpensearchMapper.flettInnGjeldende14aVedtak(brukere); - if (FeatureToggle.brukNyttArbeidssoekerregister(defaultUnleash)) { - postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere); - } ->>>>>>> Stashed changes if (brukere.isEmpty()) { log.warn("Skriver ikke til index da alle brukere i batchen er ugyldige"); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java index d36cf29603..43704c38db 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingRepositoryV2.java @@ -6,9 +6,7 @@ import no.nav.common.types.identer.AktorId; import no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon; import no.nav.pto.veilarbportefolje.domene.value.VeilederId; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakForBruker; import no.nav.pto.veilarbportefolje.util.DateUtils; -import org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @@ -133,16 +131,7 @@ public Map> hentStartDatoForOppfolging(Set db.queryForObject("select startdato from oppfolging_data where aktoerid = any (?::varchar[])", - (rs, i) -> DateUtils.toZonedDateTime(rs.getTimestamp("startdato")), aktoerId.get()) - )); - } - private static String listParam(List identer) { return identer.stream().collect(Collectors.joining(",", "{", "}")); } - } diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index 2ac6844fe0..4ecf5dbfec 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -17,6 +17,7 @@ import no.nav.pto.veilarbportefolje.kodeverk.KodeverkService; import no.nav.pto.veilarbportefolje.opensearch.domene.Endring; import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; +import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; import no.nav.pto.veilarbportefolje.persononinfo.PdlService; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarData; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarService; @@ -27,7 +28,6 @@ import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseRepository; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; -import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -54,7 +54,7 @@ public class PostgresOpensearchMapper { private final TiltakshendelseRepository tiltakshendelseRepository; private final Siste14aVedtakRepository siste14aVedtakRepository; private final HendelseRepository hendelseRepository; - private final OppfolgingRepository oppfolgingRepositoryV2; + private final OppfolgingRepositoryV2 oppfolgingRepositoryV2; public void flettInnAktivitetsData(List brukere) { List aktoerIder = brukere.stream().map(OppfolgingsBruker::getAktoer_id).map(AktorId::of).toList(); @@ -239,20 +239,31 @@ public void flettInnGjeldende14aVedtak(List brukere) { Map aktorIdSiste14aVedtakMap = siste14aVedtakRepository.hentSiste14aVedtakForBrukere(brukere.stream().map(bruker -> AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) ); - - /*Map aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging(brukere.stream().map(bruker -> + Map> aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging(brukere.stream().map(bruker -> AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) ); -/* + brukere.forEach(bruker -> { - if() Optional maybeSiste14aVedtakForBruker = Optional.ofNullable(aktorIdSiste14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))); - bruker.setGjeldendeVedtak14a(maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> new GjeldendeVedtak14a( - siste14aVedtakForBruker.getInnsatsgruppe(), - siste14aVedtakForBruker.getHovedmal(), - siste14aVedtakForBruker.getFattetDato() - )).orElse(null)); - });*/ + Optional maybeStartDatoForOppfolging = aktorIdStartDatoForOppfolgingMap.getOrDefault(AktorId.of(bruker.getAktoer_id()), Optional.empty()); + + if(maybeStartDatoForOppfolging.isEmpty()) { + return; + } + + boolean harBrukerGjeldende14aVedtak = maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> + siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || + siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.parse("2017-12-02T19:37:25+02:00")) + ).orElse(false); + + if(harBrukerGjeldende14aVedtak) { + bruker.setGjeldendeVedtak14a(maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> new GjeldendeVedtak14a( + siste14aVedtakForBruker.getInnsatsgruppe(), + siste14aVedtakForBruker.getHovedmal(), + siste14aVedtakForBruker.getFattetDato() + )).orElse(null)); + } + }); } public void flettInnEldsteUtgattVarsel(List brukere) { From dc7bf89351cc2285e7662ccb2cb558abfed889ff Mon Sep 17 00:00:00 2001 From: Sneha Desai Date: Wed, 5 Feb 2025 14:40:26 +0100 Subject: [PATCH 06/18] Refaktorte og fikset feil test 9794589644fb73db18bb0f3dff3bc38c4f857986 --- .../postgres/PostgresOpensearchMapper.java | 20 +++++++++++-------- ...pfolgingStartetOgAvsluttetServiceTest.java | 6 +++--- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index 4ecf5dbfec..9460e452cd 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -28,6 +28,7 @@ import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseRepository; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; + import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -247,21 +248,24 @@ public void flettInnGjeldende14aVedtak(List brukere) { Optional maybeSiste14aVedtakForBruker = Optional.ofNullable(aktorIdSiste14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))); Optional maybeStartDatoForOppfolging = aktorIdStartDatoForOppfolgingMap.getOrDefault(AktorId.of(bruker.getAktoer_id()), Optional.empty()); - if(maybeStartDatoForOppfolging.isEmpty()) { + if (maybeStartDatoForOppfolging.isEmpty()) { return; } - boolean harBrukerGjeldende14aVedtak = maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> - siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || - siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.parse("2017-12-02T19:37:25+02:00")) - ).orElse(false); + if (maybeSiste14aVedtakForBruker.isPresent()) { + Siste14aVedtakForBruker siste14aVedtakForBruker = maybeSiste14aVedtakForBruker.get(); + boolean erGjeldende14aVedtak = siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || + siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.parse("2017-12-02T19:37:25+02:00")); + + if (!erGjeldende14aVedtak) { + return; + } - if(harBrukerGjeldende14aVedtak) { - bruker.setGjeldendeVedtak14a(maybeSiste14aVedtakForBruker.map(siste14aVedtakForBruker -> new GjeldendeVedtak14a( + bruker.setGjeldendeVedtak14a(new GjeldendeVedtak14a( siste14aVedtakForBruker.getInnsatsgruppe(), siste14aVedtakForBruker.getHovedmal(), siste14aVedtakForBruker.getFattetDato() - )).orElse(null)); + )); } }); } diff --git a/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java index 817d1e24fd..4da2cf9e5c 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java @@ -154,15 +154,15 @@ public void cleanup() { mockPdlPersonBarnRespons(fnr); mockHentOppfolgingsbrukerResponse(fnr); + SisteOppfolgingsperiodeV1 sisteOppfolgingsperiodeV1 = genererStartetOppfolgingsperiode(aktorId); Siste14aVedtakApiDto siste14aVedtakApiDto = new Siste14aVedtakApiDto( Innsatsgruppe.SITUASJONSBESTEMT_INNSATS, Hovedmal.OKE_DELTAKELSE, - tilfeldigDatoTilbakeITid(), + sisteOppfolgingsperiodeV1.getStartDato().plusDays(1), true ); when(vedtaksstotteClient.hentSiste14aVedtak(fnr)).thenReturn(Optional.of(siste14aVedtakApiDto)); - - oppfolgingPeriodeService.behandleKafkaMeldingLogikk(genererStartetOppfolgingsperiode(aktorId)); + oppfolgingPeriodeService.behandleKafkaMeldingLogikk(sisteOppfolgingsperiodeV1); IdenterForBruker identerForBruker = pdlIdentRepository.hentIdenterForBruker(aktorId.get()); Optional siste14aVedtakForBruker = siste14aVedtakRepository.hentSiste14aVedtak(identerForBruker); From c9810474fb5dd01e43da8984a754cbdc7dede4d6 Mon Sep 17 00:00:00 2001 From: Sneha Desai Date: Thu, 6 Feb 2025 10:13:52 +0100 Subject: [PATCH 07/18] =?UTF-8?q?Legg=20til=20tester=20for=20fletting=20av?= =?UTF-8?q?=20gjeldende=20=C2=A7=2014=20a-vedtak?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sondre Larsen Ovrid --- .../postgres/PostgresOpensearchMapper.java | 7 +- .../FiltreringAvGjeldende14aVedtakTest.java | 174 ++++++++++++++++++ 2 files changed, 179 insertions(+), 2 deletions(-) create mode 100644 src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FiltreringAvGjeldende14aVedtakTest.java diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index 9460e452cd..d073aee133 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -240,8 +240,11 @@ public void flettInnGjeldende14aVedtak(List brukere) { Map aktorIdSiste14aVedtakMap = siste14aVedtakRepository.hentSiste14aVedtakForBrukere(brukere.stream().map(bruker -> AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) ); - Map> aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging(brukere.stream().map(bruker -> - AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) + + Map> aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging( + brukere.stream().map( + bruker -> AktorId.of(bruker.getAktoer_id()) + ).collect(Collectors.toSet()) ); brukere.forEach(bruker -> { diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FiltreringAvGjeldende14aVedtakTest.java b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FiltreringAvGjeldende14aVedtakTest.java new file mode 100644 index 0000000000..5ff8ff4c43 --- /dev/null +++ b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FiltreringAvGjeldende14aVedtakTest.java @@ -0,0 +1,174 @@ +package no.nav.pto.veilarbportefolje.siste14aVedtak; + +import no.nav.common.json.JsonUtils; +import no.nav.common.types.identer.AktorId; +import no.nav.common.types.identer.Fnr; +import no.nav.pto.veilarbportefolje.domene.ArenaHovedmal; +import no.nav.pto.veilarbportefolje.domene.GjeldendeIdenter; +import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; +import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; +import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerDTO; +import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity; +import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerRepositoryV3; +import no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper; +import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; + +import java.time.ZonedDateTime; +import java.util.*; + +import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId; +import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr; +import static no.nav.pto.veilarbportefolje.util.TestUtil.readFileAsJsonString; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class FiltreringAvGjeldende14aVedtakTest { + + private final Siste14aVedtakRepository siste14aVedtakRepository = mock(Siste14aVedtakRepository.class); + private final OppfolgingRepositoryV2 oppfolgingRepositoryV2 = mock(OppfolgingRepositoryV2.class); + + private final PostgresOpensearchMapper postgresOpensearchMapper; + + FiltreringAvGjeldende14aVedtakTest() { + this.postgresOpensearchMapper = new PostgresOpensearchMapper( + null, + null, + null, + null, + null, + null, + null, + null, + null, + siste14aVedtakRepository, + null, + oppfolgingRepositoryV2 + ); + } + + @Test + public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_for_lansering_av_veilarboppfolging() { + GjeldendeIdenter ident1 = genererGjeldendeIdent(); + + OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker() + .setFnr(ident1.getFnr().get()) + .setAktoer_id(ident1.getAktorId().get()); + + Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() + .aktorId(ident1.getAktorId()) + .hovedmal(Hovedmal.BEHOLDE_ARBEID) + .fattetDato(ZonedDateTime.parse("2015-11-10T19:37:25+02:00")) + .build(); + + Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); + + ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2017-12-02T19:37:25+02:00"); + + Map> aktorIdStartDatoForOppfolgingMap = + Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging)); + + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap); + when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap); + + postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker)); + + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNotNull(); + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().fattetDato()).isEqualTo(siste14AVedtakForBruker.fattetDato); + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().innsatsgruppe()).isEqualTo(siste14AVedtakForBruker.getInnsatsgruppe()); + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().hovedmal()).isEqualTo(siste14AVedtakForBruker.getHovedmal()); + } + + @Test + public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_etter_lansering_av_veilarboppfolging_og_i_inneværende_oppfølgingsperiode() { + GjeldendeIdenter ident1 = genererGjeldendeIdent(); + + OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker() + .setFnr(ident1.getFnr().get()) + .setAktoer_id(ident1.getAktorId().get()); + + Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() + .aktorId(ident1.getAktorId()) + .hovedmal(Hovedmal.BEHOLDE_ARBEID) + .fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00")) + .build(); + + Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); + + ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2017-12-02T19:37:25+02:00"); + + Map> aktorIdStartDatoForOppfolgingMap = + Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging)); + + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap); + when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap); + + postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker)); + + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNotNull(); + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().fattetDato()).isEqualTo(siste14AVedtakForBruker.fattetDato); + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().innsatsgruppe()).isEqualTo(siste14AVedtakForBruker.getInnsatsgruppe()); + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().hovedmal()).isEqualTo(siste14AVedtakForBruker.getHovedmal()); + } + + @Test + public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_siste_14a_vedtak_er_fattet_etter_lansering_av_veilarboppfolging_men_utenfor_inneværende_oppfølgingsperiode() { + GjeldendeIdenter ident1 = genererGjeldendeIdent(); + + OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker() + .setFnr(ident1.getFnr().get()) + .setAktoer_id(ident1.getAktorId().get()); + + Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() + .aktorId(ident1.getAktorId()) + .hovedmal(Hovedmal.BEHOLDE_ARBEID) + .fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00")) + .build(); + + Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); + + ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2019-12-02T19:37:25+02:00"); + + Map> aktorIdStartDatoForOppfolgingMap = + Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging)); + + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap); + when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap); + + postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker)); + + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull(); + } + + @Test + public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_siste_14a_vedtak_når_bruker_ikke_er_under_oppfølging() { + GjeldendeIdenter ident1 = genererGjeldendeIdent(); + + OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker() + .setFnr(ident1.getFnr().get()) + .setAktoer_id(ident1.getAktorId().get()); + + Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() + .aktorId(ident1.getAktorId()) + .hovedmal(Hovedmal.BEHOLDE_ARBEID) + .fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00")) + .build(); + + Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); + + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap); + when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(Collections.emptyMap()); + + postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker)); + + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull(); + } + + private GjeldendeIdenter genererGjeldendeIdent() { + return GjeldendeIdenter.builder().fnr(randomFnr()).aktorId(randomAktorId()).build(); + } +} From 28fbee90bbc42cade9eb9c59f1f58b1082b0e99c Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Fri, 7 Feb 2025 14:28:21 +0100 Subject: [PATCH 08/18] =?UTF-8?q?Handtere=20tilfelle=20der=20siste=20?= =?UTF-8?q?=C2=A7=2014=20a-vedtak=20er=20fatta=20f=C3=B8r=20lansering=20av?= =?UTF-8?q?=20veilarboppf=C3=B8lging=20men=20innev=C3=A6rande=20oppf=C3=B8?= =?UTF-8?q?lgingsperiode=20vart=20starta=20etter=20lansering?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Sneha Desai --- .../postgres/PostgresOpensearchMapper.java | 8 ++- ... => FlettingAvGjeldende14aVedtakTest.java} | 49 ++++++++++++++----- 2 files changed, 42 insertions(+), 15 deletions(-) rename src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/{FiltreringAvGjeldende14aVedtakTest.java => FlettingAvGjeldende14aVedtakTest.java} (81%) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index d073aee133..197806f09d 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -29,6 +29,8 @@ import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; +import java.time.LocalDate; +import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -257,8 +259,10 @@ public void flettInnGjeldende14aVedtak(List brukere) { if (maybeSiste14aVedtakForBruker.isPresent()) { Siste14aVedtakForBruker siste14aVedtakForBruker = maybeSiste14aVedtakForBruker.get(); - boolean erGjeldende14aVedtak = siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || - siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.parse("2017-12-02T19:37:25+02:00")); + boolean erGjeldende14aVedtak = + siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || + (siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault())) && + !maybeStartDatoForOppfolging.get().isAfter(ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault()))); if (!erGjeldende14aVedtak) { return; diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FiltreringAvGjeldende14aVedtakTest.java b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java similarity index 81% rename from src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FiltreringAvGjeldende14aVedtakTest.java rename to src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java index 5ff8ff4c43..1c955f6bf9 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FiltreringAvGjeldende14aVedtakTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java @@ -1,40 +1,34 @@ package no.nav.pto.veilarbportefolje.siste14aVedtak; -import no.nav.common.json.JsonUtils; import no.nav.common.types.identer.AktorId; -import no.nav.common.types.identer.Fnr; -import no.nav.pto.veilarbportefolje.domene.ArenaHovedmal; import no.nav.pto.veilarbportefolje.domene.GjeldendeIdenter; import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; -import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerDTO; -import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity; -import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerRepositoryV3; import no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper; import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; import java.time.ZonedDateTime; -import java.util.*; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId; import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr; -import static no.nav.pto.veilarbportefolje.util.TestUtil.readFileAsJsonString; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -public class FiltreringAvGjeldende14aVedtakTest { +public class FlettingAvGjeldende14aVedtakTest { private final Siste14aVedtakRepository siste14aVedtakRepository = mock(Siste14aVedtakRepository.class); private final OppfolgingRepositoryV2 oppfolgingRepositoryV2 = mock(OppfolgingRepositoryV2.class); private final PostgresOpensearchMapper postgresOpensearchMapper; - FiltreringAvGjeldende14aVedtakTest() { + FlettingAvGjeldende14aVedtakTest() { this.postgresOpensearchMapper = new PostgresOpensearchMapper( null, null, @@ -52,7 +46,7 @@ public class FiltreringAvGjeldende14aVedtakTest { } @Test - public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_for_lansering_av_veilarboppfolging() { + public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_før_lansering_av_veilarboppfolging() { GjeldendeIdenter ident1 = genererGjeldendeIdent(); OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker() @@ -168,6 +162,35 @@ public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_ assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull(); } + @Test + public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_siste_14a_vedtak_er_fattet_før_lansering_av_veilarboppfolging_men_oppfølgingsperiode_startdato_er_etter_lansering_av_veilarboppfolging() { + GjeldendeIdenter ident1 = genererGjeldendeIdent(); + + OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker() + .setFnr(ident1.getFnr().get()) + .setAktoer_id(ident1.getAktorId().get()); + + Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() + .aktorId(ident1.getAktorId()) + .hovedmal(Hovedmal.BEHOLDE_ARBEID) + .fattetDato(ZonedDateTime.parse("2015-11-10T19:37:25+02:00")) + .build(); + + Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); + + ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2018-12-02T19:37:25+02:00"); + + Map> aktorIdStartDatoForOppfolgingMap = + Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging)); + + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap); + when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap); + + postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker)); + + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull(); + } + private GjeldendeIdenter genererGjeldendeIdent() { return GjeldendeIdenter.builder().fnr(randomFnr()).aktorId(randomAktorId()).build(); } From 31cad62bdfb765b9c79c84e6db78cd1479295929 Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Fri, 7 Feb 2025 15:19:00 +0100 Subject: [PATCH 09/18] Trekk ut lanseringstidspunkt som konstant og legg til eit ekstra testscenario --- .../postgres/PostgresOpensearchMapper.java | 6 ++- .../FlettingAvGjeldende14aVedtakTest.java | 51 +++++++++++++++---- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index 197806f09d..03a00a507c 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -44,6 +44,8 @@ @Service @RequiredArgsConstructor public class PostgresOpensearchMapper { + public static final ZonedDateTime LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE = ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault()); + private final AktivitetOpensearchService aktivitetOpensearchService; private final SisteEndringService sisteEndringService; private final PdlService pdlService; @@ -261,8 +263,8 @@ public void flettInnGjeldende14aVedtak(List brukere) { Siste14aVedtakForBruker siste14aVedtakForBruker = maybeSiste14aVedtakForBruker.get(); boolean erGjeldende14aVedtak = siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || - (siste14aVedtakForBruker.getFattetDato().isBefore(ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault())) && - !maybeStartDatoForOppfolging.get().isAfter(ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault()))); + (siste14aVedtakForBruker.getFattetDato().isBefore(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE) && + !maybeStartDatoForOppfolging.get().isAfter(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE)); if (!erGjeldende14aVedtak) { return; diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java index 1c955f6bf9..465edcc760 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java @@ -14,6 +14,7 @@ import java.util.Map; import java.util.Optional; +import static no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper.LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId; import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr; import static org.assertj.core.api.Assertions.assertThat; @@ -61,7 +62,7 @@ public class FlettingAvGjeldende14aVedtakTest { Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); - ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2017-12-02T19:37:25+02:00"); + ZonedDateTime startdatoForOppfolging = LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; Map> aktorIdStartDatoForOppfolgingMap = Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging)); @@ -88,12 +89,12 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00")) + .fattetDato(ZonedDateTime.parse("2020-11-10T10:00:00+02:00")) .build(); Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); - ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2017-12-02T19:37:25+02:00"); + ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2019-05-11T10:00:00+02:00"); Map> aktorIdStartDatoForOppfolgingMap = Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging)); @@ -120,12 +121,12 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00")) + .fattetDato(ZonedDateTime.parse("2018-11-10T10:00:00+02:00")) .build(); Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); - ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2019-12-02T19:37:25+02:00"); + ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2019-03-02T10:00:00+02:00"); Map> aktorIdStartDatoForOppfolgingMap = Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging)); @@ -139,7 +140,7 @@ public class FlettingAvGjeldende14aVedtakTest { } @Test - public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_siste_14a_vedtak_når_bruker_ikke_er_under_oppfølging() { + public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_bruker_har_et_siste_14a_vedtak_men_ikke_er_under_oppfølging() { GjeldendeIdenter ident1 = genererGjeldendeIdent(); OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker() @@ -149,7 +150,7 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .fattetDato(ZonedDateTime.parse("2018-11-10T19:37:25+02:00")) + .fattetDato(ZonedDateTime.parse("2018-11-10T10:00:00+02:00")) .build(); Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); @@ -173,12 +174,12 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .fattetDato(ZonedDateTime.parse("2015-11-10T19:37:25+02:00")) + .fattetDato(ZonedDateTime.parse("2015-01-20T10:00:00+02:00")) .build(); Map aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker); - ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2018-12-02T19:37:25+02:00"); + ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2020-12-02T10:00:00+02:00"); Map> aktorIdStartDatoForOppfolgingMap = Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging)); @@ -191,6 +192,38 @@ public class FlettingAvGjeldende14aVedtakTest { assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull(); } + @Test + public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_personen_ikke_har_noen_14a_vedtak() { + GjeldendeIdenter ident1 = genererGjeldendeIdent(); + GjeldendeIdenter ident2 = genererGjeldendeIdent(); + + OppfolgingsBruker oppfolgingsbruker1 = new OppfolgingsBruker() + .setFnr(ident1.getFnr().get()) + .setAktoer_id(ident1.getAktorId().get()); + OppfolgingsBruker oppfolgingsbruker2 = new OppfolgingsBruker() + .setFnr(ident2.getFnr().get()) + .setAktoer_id(ident2.getAktorId().get()); + + Map aktorIdSiste14aVedtakMap = Collections.emptyMap(); + + ZonedDateTime startdatoForOppfolging1 = ZonedDateTime.parse("2018-12-02T19:37:25+02:00"); + ZonedDateTime startdatoForOppfolging2 = LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; + + Map> aktorIdStartDatoForOppfolgingMap = + Map.of( + ident1.getAktorId(), Optional.of(startdatoForOppfolging1), + ident2.getAktorId(), Optional.of(startdatoForOppfolging2) + ); + + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap); + when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap); + + postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker1, oppfolgingsbruker2)); + + assertThat(oppfolgingsbruker1.getGjeldendeVedtak14a()).isNull(); + assertThat(oppfolgingsbruker2.getGjeldendeVedtak14a()).isNull(); + } + private GjeldendeIdenter genererGjeldendeIdent() { return GjeldendeIdenter.builder().fnr(randomFnr()).aktorId(randomAktorId()).build(); } From 775103a69866e8e95a6087096307e9bdd651dcf8 Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Mon, 10 Feb 2025 13:05:41 +0100 Subject: [PATCH 10/18] Legg til eit test-scenario med fleire brukarar --- .../FlettingAvGjeldende14aVedtakTest.java | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java index 465edcc760..71acca7a9c 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java @@ -192,6 +192,69 @@ public class FlettingAvGjeldende14aVedtakTest { assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull(); } + @Test + public void skal_ikke_flette_inn_gjeldende_14a_vedtak_for_flere_brukere_med_ulike_utgangspunkt() { + GjeldendeIdenter oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter = genererGjeldendeIdent(); + GjeldendeIdenter oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_gjeldendeIdenter = genererGjeldendeIdent(); + GjeldendeIdenter oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode_gjeldendeIdenter = genererGjeldendeIdent(); + + OppfolgingsBruker oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode = new OppfolgingsBruker() + .setFnr(oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter.getFnr().get()) + .setAktoer_id(oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId().get()); + OppfolgingsBruker oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode = new OppfolgingsBruker() + .setFnr(oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_gjeldendeIdenter.getFnr().get()) + .setAktoer_id(oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId().get()); + OppfolgingsBruker oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode = new OppfolgingsBruker() + .setFnr(oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode_gjeldendeIdenter.getFnr().get()) + .setAktoer_id(oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode_gjeldendeIdenter.getAktorId().get()); + + Siste14aVedtakForBruker oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_siste14AVedtak = Siste14aVedtakForBruker.builder() + .aktorId(oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId()) + .hovedmal(Hovedmal.BEHOLDE_ARBEID) + .fattetDato(ZonedDateTime.parse("2015-01-20T10:00:00+02:00")) + .build(); + Siste14aVedtakForBruker oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_siste14AVedtak = Siste14aVedtakForBruker.builder() + .aktorId(oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId()) + .hovedmal(Hovedmal.BEHOLDE_ARBEID) + .fattetDato(ZonedDateTime.parse("2020-01-20T10:00:00+02:00")) + .build(); + + + Map aktorIdSiste14aVedtakMap = Map.of( + oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId(), + oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_siste14AVedtak, + oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId(), + oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_siste14AVedtak + ); + + ZonedDateTime oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_startDatoOppfølging = LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; + ZonedDateTime oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_startDatoOppfølging = LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; + ZonedDateTime oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode_startDatoOppfølging = ZonedDateTime.parse("2020-12-02T10:00:00+02:00"); + + Map> aktorIdStartDatoForOppfolgingMap = + Map.of( + oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId(), + Optional.of(oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_startDatoOppfølging), + oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId(), + Optional.of(oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_startDatoOppfølging), + oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode_gjeldendeIdenter.getAktorId(), + Optional.of(oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode_startDatoOppfølging) + ); + + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap); + when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap); + + postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of( + oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode, + oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode, + oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode + )); + + assertThat(oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode.getGjeldendeVedtak14a()).isNotNull(); + assertThat(oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode.getGjeldendeVedtak14a()).isNotNull(); + assertThat(oppfolgingsbrukerUtenVedtakIInneværendeOppfølgingsperiode.getGjeldendeVedtak14a()).isNull(); + } + @Test public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_personen_ikke_har_noen_14a_vedtak() { GjeldendeIdenter ident1 = genererGjeldendeIdent(); From fe5e1f07c2264db627688ea65652eb9f7616d04d Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Mon, 10 Feb 2025 21:00:15 +0100 Subject: [PATCH 11/18] =?UTF-8?q?Trekk=20ut=20funksjon=20for=20=C3=A5=20sj?= =?UTF-8?q?ekke=20om=20=C2=A7=2014=20a-vedtak=20er=20gjeldande?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Gjeldende14aVedtakService.kt | 31 +++++++++++++++++++ .../postgres/PostgresOpensearchMapper.java | 9 ++---- .../Siste14aVedtakForBruker.java | 6 ++++ .../FlettingAvGjeldende14aVedtakTest.java | 2 +- 4 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt diff --git a/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt b/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt new file mode 100644 index 0000000000..b289bbf627 --- /dev/null +++ b/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt @@ -0,0 +1,31 @@ +package no.nav.pto.veilarbportefolje.gjeldende14aVedtak + +import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakForBruker +import java.time.ZoneId +import java.time.ZonedDateTime + +class Gjeldende14aVedtakService { + companion object { + @JvmField + val LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE: ZonedDateTime = + ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault()) + + @JvmStatic + fun erVedtakGjeldende( + siste14aVedtakForBruker: Siste14aVedtakForBruker, + startDatoInnevarendeOppfolgingsperiode: ZonedDateTime + ): Boolean { + val erVedtaketFattetIInnevarendeOppfolgingsperiode = + siste14aVedtakForBruker.fattetDato.isAfter(startDatoInnevarendeOppfolgingsperiode) + val erVedtaketFattetForLanseringsdatoForVeilarboppfolging = siste14aVedtakForBruker.fattetDato + .isBefore(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE) + val erStartdatoForOppfolgingsperiodeLikLanseringsdatoForVeilarboppfolging = + !startDatoInnevarendeOppfolgingsperiode + .isAfter(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE) + + return erVedtaketFattetIInnevarendeOppfolgingsperiode || + (erVedtaketFattetForLanseringsdatoForVeilarboppfolging + && erStartdatoForOppfolgingsperiodeLikLanseringsdatoForVeilarboppfolging) + } + } +} \ No newline at end of file diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index 03a00a507c..dd8ac134b3 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -29,14 +29,13 @@ import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; -import java.time.LocalDate; -import java.time.ZoneId; import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.Stream; +import static no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService.erVedtakGjeldende; import static no.nav.pto.veilarbportefolje.postgres.PostgresAktivitetMapper.kalkulerAvtalteAktivitetInformasjon; import static no.nav.pto.veilarbportefolje.postgres.PostgresAktivitetMapper.kalkulerGenerellAktivitetInformasjon; @@ -44,8 +43,6 @@ @Service @RequiredArgsConstructor public class PostgresOpensearchMapper { - public static final ZonedDateTime LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE = ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault()); - private final AktivitetOpensearchService aktivitetOpensearchService; private final SisteEndringService sisteEndringService; private final PdlService pdlService; @@ -262,9 +259,7 @@ public void flettInnGjeldende14aVedtak(List brukere) { if (maybeSiste14aVedtakForBruker.isPresent()) { Siste14aVedtakForBruker siste14aVedtakForBruker = maybeSiste14aVedtakForBruker.get(); boolean erGjeldende14aVedtak = - siste14aVedtakForBruker.getFattetDato().isAfter(maybeStartDatoForOppfolging.get()) || - (siste14aVedtakForBruker.getFattetDato().isBefore(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE) && - !maybeStartDatoForOppfolging.get().isAfter(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE)); + erVedtakGjeldende(siste14aVedtakForBruker, maybeStartDatoForOppfolging.get()); if (!erGjeldende14aVedtak) { return; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java b/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java index c3096ec540..36924a8be1 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java @@ -19,6 +19,12 @@ public class Siste14aVedtakForBruker { Innsatsgruppe innsatsgruppe; Hovedmal hovedmal; ZonedDateTime fattetDato; + + // Må manuelt skrive en get-er her for å kunne aksessere frå Kotlin + public ZonedDateTime getFattetDato() { + return fattetDato; + } + boolean fraArena; public static Siste14aVedtakForBruker fraKafkaDto(Siste14aVedtakKafkaDto dto) { diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java index 71acca7a9c..c96edbb520 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java @@ -14,7 +14,7 @@ import java.util.Map; import java.util.Optional; -import static no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper.LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; +import static no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService.LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId; import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr; import static org.assertj.core.api.Assertions.assertThat; From de6f9fd61db544a204385e48aaef8a585ce43f97 Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Wed, 12 Feb 2025 10:03:27 +0100 Subject: [PATCH 12/18] =?UTF-8?q?Legg=20til=20funksjon=20som=20hentar=20gj?= =?UTF-8?q?eldande=20vedtak,=20slik=20at=20vi=20slepp=20=C3=A5=20gjere=20s?= =?UTF-8?q?jekken=20sj=C3=B8lv=20i=20andre=20services=20osv.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Gjeldende14aVedtakService.kt | 59 ++++++++++++++++++- .../postgres/PostgresOpensearchMapper.java | 49 +++++---------- .../Siste14aVedtakForBruker.java | 18 +++++- .../config/ApplicationConfigTest.java | 2 + .../FlettingAvGjeldende14aVedtakTest.java | 28 ++++++--- 5 files changed, 110 insertions(+), 46 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt b/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt index b289bbf627..84350ac8db 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt +++ b/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt @@ -1,17 +1,63 @@ package no.nav.pto.veilarbportefolje.gjeldende14aVedtak +import no.nav.common.types.identer.AktorId +import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2 import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakForBruker +import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakRepository +import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal +import no.nav.pto.veilarbportefolje.vedtakstotte.Innsatsgruppe +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.stereotype.Service import java.time.ZoneId import java.time.ZonedDateTime +import java.util.* + +@Service +class Gjeldende14aVedtakService( + @Autowired val siste14aVedtakRepository: Siste14aVedtakRepository, + @Autowired val oppfolgingRepositoryV2: OppfolgingRepositoryV2 +) { + fun hentGjeldende14aVedtak(brukerIdenter: Set): Map> { + val aktorIdSiste14aVedtakMap: Map> = + siste14aVedtakRepository.hentSiste14aVedtakForBrukere(brukerIdenter) + .mapValues { Optional.ofNullable(it.value) } + val aktorIdStartDatoOppfolgingMap: Map> = + oppfolgingRepositoryV2.hentStartDatoForOppfolging(brukerIdenter) + + return brukerIdenter.associate { brukerIdent -> + val maybeSiste14aVedtak: Optional = + aktorIdSiste14aVedtakMap[brukerIdent] ?: Optional.empty() + val maybeStartDatoOppfolging: Optional = + aktorIdStartDatoOppfolgingMap[brukerIdent] ?: Optional.empty() + + if (maybeSiste14aVedtak.isEmpty || maybeStartDatoOppfolging.isEmpty) { + return@associate brukerIdent to Optional.empty() + } + + if (!sjekkOmVedtakErGjeldende(maybeSiste14aVedtak.get(), maybeStartDatoOppfolging.get())) { + return@associate brukerIdent to Optional.empty() + } + + return@associate brukerIdent to maybeSiste14aVedtak.get().let { + Optional.of( + Gjeldende14aVedtak( + aktorId = it.aktorId, + innsatsgruppe = it.innsatsgruppe, + hovedmal = it.hovedmal, + fattetDato = it.fattetDato + ) + ) + } + } + } -class Gjeldende14aVedtakService { companion object { @JvmField val LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE: ZonedDateTime = ZonedDateTime.of(2017, 12, 4, 0, 0, 0, 0, ZoneId.systemDefault()) @JvmStatic - fun erVedtakGjeldende( + fun sjekkOmVedtakErGjeldende( siste14aVedtakForBruker: Siste14aVedtakForBruker, startDatoInnevarendeOppfolgingsperiode: ZonedDateTime ): Boolean { @@ -28,4 +74,11 @@ class Gjeldende14aVedtakService { && erStartdatoForOppfolgingsperiodeLikLanseringsdatoForVeilarboppfolging) } } -} \ No newline at end of file +} + +data class Gjeldende14aVedtak( + val aktorId: AktorId, + val innsatsgruppe: Innsatsgruppe, + val hovedmal: Hovedmal, + val fattetDato: ZonedDateTime +) \ No newline at end of file diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index dd8ac134b3..d691ef49d9 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -10,6 +10,8 @@ import no.nav.pto.veilarbportefolje.domene.Statsborgerskap; import no.nav.pto.veilarbportefolje.ensligforsorger.EnsligeForsorgereService; import no.nav.pto.veilarbportefolje.ensligforsorger.dto.output.EnsligeForsorgerOvergangsstønadTiltakDto; +import no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtak; +import no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService; import no.nav.pto.veilarbportefolje.hendelsesfilter.Hendelse; import no.nav.pto.veilarbportefolje.hendelsesfilter.HendelseRepository; import no.nav.pto.veilarbportefolje.hendelsesfilter.IngenHendelseForPersonException; @@ -17,25 +19,25 @@ import no.nav.pto.veilarbportefolje.kodeverk.KodeverkService; import no.nav.pto.veilarbportefolje.opensearch.domene.Endring; import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; -import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; import no.nav.pto.veilarbportefolje.persononinfo.PdlService; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarData; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarService; import no.nav.pto.veilarbportefolje.postgres.utils.AktivitetEntity; import no.nav.pto.veilarbportefolje.postgres.utils.AvtaltAktivitetEntity; -import no.nav.pto.veilarbportefolje.siste14aVedtak.*; +import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtak; +import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtakService; +import no.nav.pto.veilarbportefolje.siste14aVedtak.GjeldendeVedtak14a; import no.nav.pto.veilarbportefolje.sisteendring.SisteEndringService; import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseRepository; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import org.springframework.stereotype.Service; -import java.time.ZonedDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.Stream; -import static no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService.erVedtakGjeldende; +import static java.util.function.Function.identity; import static no.nav.pto.veilarbportefolje.postgres.PostgresAktivitetMapper.kalkulerAvtalteAktivitetInformasjon; import static no.nav.pto.veilarbportefolje.postgres.PostgresAktivitetMapper.kalkulerGenerellAktivitetInformasjon; @@ -54,9 +56,8 @@ public class PostgresOpensearchMapper { private final EnsligeForsorgereService ensligeForsorgereService; private final ArbeidssoekerService arbeidssoekerService; private final TiltakshendelseRepository tiltakshendelseRepository; - private final Siste14aVedtakRepository siste14aVedtakRepository; private final HendelseRepository hendelseRepository; - private final OppfolgingRepositoryV2 oppfolgingRepositoryV2; + private final Gjeldende14aVedtakService gjeldende14aVedtakService; public void flettInnAktivitetsData(List brukere) { List aktoerIder = brukere.stream().map(OppfolgingsBruker::getAktoer_id).map(AktorId::of).toList(); @@ -238,37 +239,17 @@ public void flettInnOpplysningerOmArbeidssoekerData(List bruk } public void flettInnGjeldende14aVedtak(List brukere) { - Map aktorIdSiste14aVedtakMap = siste14aVedtakRepository.hentSiste14aVedtakForBrukere(brukere.stream().map(bruker -> - AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()) - ); - - Map> aktorIdStartDatoForOppfolgingMap = oppfolgingRepositoryV2.hentStartDatoForOppfolging( - brukere.stream().map( - bruker -> AktorId.of(bruker.getAktoer_id()) - ).collect(Collectors.toSet()) - ); + Set brukereSet = brukere.stream().map(bruker -> AktorId.of(bruker.getAktoer_id())).collect(Collectors.toSet()); + Map> aktorIdGjeldende14aVedtakMap = gjeldende14aVedtakService.hentGjeldende14aVedtak(brukereSet); brukere.forEach(bruker -> { - Optional maybeSiste14aVedtakForBruker = Optional.ofNullable(aktorIdSiste14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))); - Optional maybeStartDatoForOppfolging = aktorIdStartDatoForOppfolgingMap.getOrDefault(AktorId.of(bruker.getAktoer_id()), Optional.empty()); - - if (maybeStartDatoForOppfolging.isEmpty()) { - return; - } - - if (maybeSiste14aVedtakForBruker.isPresent()) { - Siste14aVedtakForBruker siste14aVedtakForBruker = maybeSiste14aVedtakForBruker.get(); - boolean erGjeldende14aVedtak = - erVedtakGjeldende(siste14aVedtakForBruker, maybeStartDatoForOppfolging.get()); - - if (!erGjeldende14aVedtak) { - return; - } - + Optional maybeGjeldendeVedtak14a = Optional.ofNullable(aktorIdGjeldende14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))).flatMap(identity()); + if (maybeGjeldendeVedtak14a.isPresent()) { + Gjeldende14aVedtak gjeldende14aVedtak = maybeGjeldendeVedtak14a.get(); bruker.setGjeldendeVedtak14a(new GjeldendeVedtak14a( - siste14aVedtakForBruker.getInnsatsgruppe(), - siste14aVedtakForBruker.getHovedmal(), - siste14aVedtakForBruker.getFattetDato() + gjeldende14aVedtak.getInnsatsgruppe(), + gjeldende14aVedtak.getHovedmal(), + gjeldende14aVedtak.getFattetDato() )); } }); diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java b/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java index 36924a8be1..d477740980 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java @@ -19,13 +19,27 @@ public class Siste14aVedtakForBruker { Innsatsgruppe innsatsgruppe; Hovedmal hovedmal; ZonedDateTime fattetDato; + boolean fraArena; + + public AktorId getAktorId() { + return aktorId; + } + + public Innsatsgruppe getInnsatsgruppe() { + return innsatsgruppe; + } + + public Hovedmal getHovedmal() { + return hovedmal; + } - // Må manuelt skrive en get-er her for å kunne aksessere frå Kotlin public ZonedDateTime getFattetDato() { return fattetDato; } - boolean fraArena; + public boolean isFraArena() { + return fraArena; + } public static Siste14aVedtakForBruker fraKafkaDto(Siste14aVedtakKafkaDto dto) { return new Siste14aVedtakForBruker(dto.aktorId, dto.innsatsgruppe, dto.hovedmal, dto.fattetDato, dto.fraArena); diff --git a/src/test/java/no/nav/pto/veilarbportefolje/config/ApplicationConfigTest.java b/src/test/java/no/nav/pto/veilarbportefolje/config/ApplicationConfigTest.java index 281c0118a0..99ce8b6f9a 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/config/ApplicationConfigTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/config/ApplicationConfigTest.java @@ -32,6 +32,7 @@ import no.nav.pto.veilarbportefolje.ensligforsorger.EnsligeForsorgereService; import no.nav.pto.veilarbportefolje.fargekategori.FargekategoriRepository; import no.nav.pto.veilarbportefolje.fargekategori.FargekategoriService; +import no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService; import no.nav.pto.veilarbportefolje.hendelsesfilter.HendelseRepository; import no.nav.pto.veilarbportefolje.hendelsesfilter.HendelseService; import no.nav.pto.veilarbportefolje.huskelapp.HuskelappRepository; @@ -176,6 +177,7 @@ TiltakshendelseService.class, HendelseRepository.class, HendelseService.class, + Gjeldende14aVedtakService.class }) public class ApplicationConfigTest { diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java index c96edbb520..e3b228f866 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java @@ -2,10 +2,13 @@ import no.nav.common.types.identer.AktorId; import no.nav.pto.veilarbportefolje.domene.GjeldendeIdenter; +import no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService; import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; import no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper; import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; +import no.nav.pto.veilarbportefolje.vedtakstotte.Innsatsgruppe; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.time.ZonedDateTime; @@ -19,17 +22,16 @@ import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; public class FlettingAvGjeldende14aVedtakTest { - + private final PostgresOpensearchMapper postgresOpensearchMapper; private final Siste14aVedtakRepository siste14aVedtakRepository = mock(Siste14aVedtakRepository.class); private final OppfolgingRepositoryV2 oppfolgingRepositoryV2 = mock(OppfolgingRepositoryV2.class); - private final PostgresOpensearchMapper postgresOpensearchMapper; - FlettingAvGjeldende14aVedtakTest() { + final Gjeldende14aVedtakService gjeldende14aVedtakService = new Gjeldende14aVedtakService(siste14aVedtakRepository, oppfolgingRepositoryV2); + this.postgresOpensearchMapper = new PostgresOpensearchMapper( null, null, @@ -40,12 +42,17 @@ public class FlettingAvGjeldende14aVedtakTest { null, null, null, - siste14aVedtakRepository, null, - oppfolgingRepositoryV2 + gjeldende14aVedtakService ); } + @BeforeEach + public void resetMocks() { + reset(siste14aVedtakRepository); + reset(oppfolgingRepositoryV2); + } + @Test public void skal_flette_inn_gjeldende_14a_vedtak_nar_siste_14a_vedtak_er_fattet_før_lansering_av_veilarboppfolging() { GjeldendeIdenter ident1 = genererGjeldendeIdent(); @@ -56,6 +63,7 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) + .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) .hovedmal(Hovedmal.BEHOLDE_ARBEID) .fattetDato(ZonedDateTime.parse("2015-11-10T19:37:25+02:00")) .build(); @@ -88,6 +96,7 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) + .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) .hovedmal(Hovedmal.BEHOLDE_ARBEID) .fattetDato(ZonedDateTime.parse("2020-11-10T10:00:00+02:00")) .build(); @@ -120,6 +129,7 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) + .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) .hovedmal(Hovedmal.BEHOLDE_ARBEID) .fattetDato(ZonedDateTime.parse("2018-11-10T10:00:00+02:00")) .build(); @@ -149,6 +159,7 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) + .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) .hovedmal(Hovedmal.BEHOLDE_ARBEID) .fattetDato(ZonedDateTime.parse("2018-11-10T10:00:00+02:00")) .build(); @@ -173,6 +184,7 @@ public class FlettingAvGjeldende14aVedtakTest { Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() .aktorId(ident1.getAktorId()) + .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) .hovedmal(Hovedmal.BEHOLDE_ARBEID) .fattetDato(ZonedDateTime.parse("2015-01-20T10:00:00+02:00")) .build(); @@ -210,11 +222,13 @@ public void skal_ikke_flette_inn_gjeldende_14a_vedtak_for_flere_brukere_med_ulik Siste14aVedtakForBruker oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_siste14AVedtak = Siste14aVedtakForBruker.builder() .aktorId(oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId()) + .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) .hovedmal(Hovedmal.BEHOLDE_ARBEID) .fattetDato(ZonedDateTime.parse("2015-01-20T10:00:00+02:00")) .build(); Siste14aVedtakForBruker oppfolgingsbrukerMedVedtakFraEtterLanseringAvOppfolgingsperiode_siste14AVedtak = Siste14aVedtakForBruker.builder() .aktorId(oppfolgingsbrukerMedVedtakFraFørLanseringAvOppfolgingsperiode_gjeldendeIdenter.getAktorId()) + .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) .hovedmal(Hovedmal.BEHOLDE_ARBEID) .fattetDato(ZonedDateTime.parse("2020-01-20T10:00:00+02:00")) .build(); From 4489d41080f249a0c674ea12aecbde6276ccfaa7 Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Wed, 12 Feb 2025 10:35:04 +0100 Subject: [PATCH 13/18] =?UTF-8?q?Endrar=20litt=20p=C3=A5=20pakkestrukturen?= =?UTF-8?q?=20slik=20at=20den=20representerer=20ansvarsomr=C3=A5der/hierar?= =?UTF-8?q?ki=20betre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pto/veilarbportefolje/domene/Bruker.java | 4 ++-- .../veilarbportefolje/domene/Filtervalg.java | 2 +- .../kafka/KafkaConfigCommon.java | 5 ++--- .../opensearch/OpensearchIndexerV2.java | 2 +- .../opensearch/OpensearchService.java | 2 +- .../opensearch/domene/OppfolgingsBruker.java | 4 ++-- .../OppfolgingAvsluttetService.java | 2 +- .../oppfolging/OppfolgingStartetService.java | 2 +- .../Avvik14aStatistikkMetrikk.java | 2 +- .../avvik14aVedtak}/Avvik14aVedtak.java | 2 +- .../Avvik14aVedtakService.java | 4 +++- .../Gjeldende14aVedtakService.kt | 6 +++--- .../GjeldendeVedtak14a.java | 2 +- .../siste14aVedtak/Siste14aVedtakApiDto.java | 2 +- .../Siste14aVedtakForBruker.java | 2 +- .../Siste14aVedtakKafkaDto.java | 2 +- .../Siste14aVedtakRepository.java | 2 +- .../siste14aVedtak/Siste14aVedtakService.java | 3 ++- .../postgres/PostgresOpensearchMapper.java | 10 +++++----- .../vedtakstotte/VedtaksstotteClient.java | 2 +- .../config/ApplicationConfigTest.java | 8 ++++---- .../OpensearchServiceIntegrationTest.java | 6 +++--- ...pfolgingStartetOgAvsluttetServiceTest.java | 3 ++- .../Avvik14aVedtakServiceTest.java | 20 ++++++++++--------- .../FlettingAvGjeldende14aVedtakTest.java | 11 +++++----- ...Siste14AVedtakForBrukerRepositoryTest.java | 4 +++- .../VedtaksstotteClientTest.java | 2 +- 27 files changed, 62 insertions(+), 54 deletions(-) rename src/main/java/no/nav/pto/veilarbportefolje/{siste14aVedtak => oppfolgingsvedtak14a/avvik14aVedtak}/Avvik14aStatistikkMetrikk.java (97%) rename src/main/java/no/nav/pto/veilarbportefolje/{siste14aVedtak => oppfolgingsvedtak14a/avvik14aVedtak}/Avvik14aVedtak.java (69%) rename src/main/java/no/nav/pto/veilarbportefolje/{siste14aVedtak => oppfolgingsvedtak14a/avvik14aVedtak}/Avvik14aVedtakService.java (94%) rename src/main/java/no/nav/pto/veilarbportefolje/{ => oppfolgingsvedtak14a}/gjeldende14aVedtak/Gjeldende14aVedtakService.kt (93%) rename src/main/java/no/nav/pto/veilarbportefolje/{siste14aVedtak => oppfolgingsvedtak14a/gjeldende14aVedtak}/GjeldendeVedtak14a.java (79%) rename src/main/java/no/nav/pto/veilarbportefolje/{ => oppfolgingsvedtak14a}/siste14aVedtak/Siste14aVedtakApiDto.java (85%) rename src/main/java/no/nav/pto/veilarbportefolje/{ => oppfolgingsvedtak14a}/siste14aVedtak/Siste14aVedtakForBruker.java (94%) rename src/main/java/no/nav/pto/veilarbportefolje/{ => oppfolgingsvedtak14a}/siste14aVedtak/Siste14aVedtakKafkaDto.java (87%) rename src/main/java/no/nav/pto/veilarbportefolje/{ => oppfolgingsvedtak14a}/siste14aVedtak/Siste14aVedtakRepository.java (98%) rename src/main/java/no/nav/pto/veilarbportefolje/{ => oppfolgingsvedtak14a}/siste14aVedtak/Siste14aVedtakService.java (93%) rename src/test/java/no/nav/pto/veilarbportefolje/{siste14aVedtak => oppfolgingsvedtak14a/avvik14aVedtak}/Avvik14aVedtakServiceTest.java (91%) rename src/test/java/no/nav/pto/veilarbportefolje/{siste14aVedtak => oppfolgingsvedtak14a/gjeldende14aVedtak}/FlettingAvGjeldende14aVedtakTest.java (96%) rename src/test/java/no/nav/pto/veilarbportefolje/{ => oppfolgingsvedtak14a}/siste14aVedtak/Siste14AVedtakForBrukerRepositoryTest.java (96%) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/domene/Bruker.java b/src/main/java/no/nav/pto/veilarbportefolje/domene/Bruker.java index 4c5d346cbf..d3b7fbd108 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/domene/Bruker.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/domene/Bruker.java @@ -11,8 +11,8 @@ import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarData; import no.nav.pto.veilarbportefolje.persononinfo.domene.Adressebeskyttelse; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtak; -import no.nav.pto.veilarbportefolje.siste14aVedtak.GjeldendeVedtak14a; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak.Avvik14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.GjeldendeVedtak14a; import no.nav.pto.veilarbportefolje.util.OppfolgingUtils; import java.sql.Timestamp; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/domene/Filtervalg.java b/src/main/java/no/nav/pto/veilarbportefolje/domene/Filtervalg.java index 59634c6408..10827ab1c6 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/domene/Filtervalg.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/domene/Filtervalg.java @@ -6,7 +6,7 @@ import no.nav.pto.veilarbportefolje.domene.filtervalg.UtdanningBestattSvar; import no.nav.pto.veilarbportefolje.domene.filtervalg.UtdanningGodkjentSvar; import no.nav.pto.veilarbportefolje.domene.filtervalg.UtdanningSvar; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak.Avvik14aVedtak; import no.nav.pto.veilarbportefolje.sisteendring.SisteEndringsKategori; import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; import no.nav.pto.veilarbportefolje.vedtakstotte.Innsatsgruppe; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/kafka/KafkaConfigCommon.java b/src/main/java/no/nav/pto/veilarbportefolje/kafka/KafkaConfigCommon.java index 1a0bbdc2b5..00bb346bfd 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/kafka/KafkaConfigCommon.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/kafka/KafkaConfigCommon.java @@ -48,8 +48,8 @@ import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerServiceV2; import no.nav.pto.veilarbportefolje.persononinfo.PdlBrukerdataKafkaService; import no.nav.pto.veilarbportefolje.persononinfo.PdlResponses.PdlDokument; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakKafkaDto; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakService; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakKafkaDto; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakService; import no.nav.pto.veilarbportefolje.sistelest.SistLestKafkaMelding; import no.nav.pto.veilarbportefolje.sistelest.SistLestService; import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseService; @@ -64,7 +64,6 @@ import java.util.List; import java.util.Properties; import java.util.stream.Collectors; -import java.util.stream.Stream; import static no.nav.common.kafka.consumer.util.ConsumerUtils.findConsumerConfigsWithStoreOnFailure; import static no.nav.common.kafka.util.KafkaPropertiesPreset.aivenDefaultConsumerProperties; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexerV2.java b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexerV2.java index d97b74fd91..381a5083d7 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexerV2.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexerV2.java @@ -14,7 +14,7 @@ import no.nav.pto.veilarbportefolje.hendelsesfilter.Hendelse; import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity; -import no.nav.pto.veilarbportefolje.siste14aVedtak.GjeldendeVedtak14a; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.GjeldendeVedtak14a; import no.nav.pto.veilarbportefolje.sisteendring.SisteEndringDTO; import no.nav.pto.veilarbportefolje.sisteendring.SisteEndringsKategori; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchService.java b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchService.java index c4a48211ec..e90d3631ee 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchService.java @@ -13,7 +13,7 @@ import no.nav.pto.veilarbportefolje.opensearch.domene.*; import no.nav.pto.veilarbportefolje.opensearch.domene.Avvik14aStatistikkResponse.Avvik14aStatistikkAggregation.Avvik14aStatistikkFilter.Avvik14aStatistikkBuckets; import no.nav.pto.veilarbportefolje.opensearch.domene.StatustallResponse.StatustallAggregation.StatustallFilter.StatustallBuckets; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak.Avvik14aVedtak; import no.nav.pto.veilarbportefolje.vedtakstotte.VedtaksstotteClient; import org.apache.commons.lang3.StringUtils; import org.opensearch.action.search.SearchRequest; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/domene/OppfolgingsBruker.java b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/domene/OppfolgingsBruker.java index c7f83e68cc..f725f8feaa 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/opensearch/domene/OppfolgingsBruker.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/opensearch/domene/OppfolgingsBruker.java @@ -7,8 +7,8 @@ import no.nav.pto.veilarbportefolje.domene.Statsborgerskap; import no.nav.pto.veilarbportefolje.hendelsesfilter.Hendelse; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarData; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtak; -import no.nav.pto.veilarbportefolje.siste14aVedtak.GjeldendeVedtak14a; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak.Avvik14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.GjeldendeVedtak14a; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import java.time.LocalDate; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingAvsluttetService.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingAvsluttetService.java index bf4b879b67..e6918243cb 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingAvsluttetService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingAvsluttetService.java @@ -15,7 +15,7 @@ import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerServiceV2; import no.nav.pto.veilarbportefolje.persononinfo.PdlIdentRepository; import no.nav.pto.veilarbportefolje.persononinfo.PdlService; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakService; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakService; import no.nav.pto.veilarbportefolje.sisteendring.SisteEndringService; import org.springframework.stereotype.Service; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetService.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetService.java index cfb3a38992..bf5e096bb8 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetService.java @@ -7,7 +7,7 @@ import no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexer; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerServiceV2; import no.nav.pto.veilarbportefolje.persononinfo.PdlService; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakService; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakService; import org.springframework.stereotype.Service; import java.time.ZonedDateTime; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aStatistikkMetrikk.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aStatistikkMetrikk.java similarity index 97% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aStatistikkMetrikk.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aStatistikkMetrikk.java index 9b29370be1..f518fb0844 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aStatistikkMetrikk.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aStatistikkMetrikk.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.binder.MeterBinder; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtak.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtak.java similarity index 69% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtak.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtak.java index 545fbcbfaa..61b4383cd3 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtak.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtak.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak; public enum Avvik14aVedtak { INNSATSGRUPPE_ULIK, HOVEDMAAL_ULIK, diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtakService.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakService.java similarity index 94% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtakService.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakService.java index 452bbc50b1..a910250cf6 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtakService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakService.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak; import lombok.RequiredArgsConstructor; import no.nav.common.types.identer.AktorId; @@ -10,6 +10,8 @@ import no.nav.pto.veilarbportefolje.domene.Vedtak14aInfo; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerRepositoryV3; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakForBruker; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakRepository; import org.springframework.stereotype.Service; import java.util.Collections; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/Gjeldende14aVedtakService.kt similarity index 93% rename from src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/Gjeldende14aVedtakService.kt index 84350ac8db..ebe02b0b47 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/gjeldende14aVedtak/Gjeldende14aVedtakService.kt +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/Gjeldende14aVedtakService.kt @@ -1,9 +1,9 @@ -package no.nav.pto.veilarbportefolje.gjeldende14aVedtak +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak import no.nav.common.types.identer.AktorId import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2 -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakForBruker -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakRepository +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakForBruker +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakRepository import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal import no.nav.pto.veilarbportefolje.vedtakstotte.Innsatsgruppe import org.springframework.beans.factory.annotation.Autowired diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/GjeldendeVedtak14a.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/GjeldendeVedtak14a.java similarity index 79% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/GjeldendeVedtak14a.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/GjeldendeVedtak14a.java index 7c2bd1e91d..392ae73633 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/GjeldendeVedtak14a.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/GjeldendeVedtak14a.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak; import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; import no.nav.pto.veilarbportefolje.vedtakstotte.Innsatsgruppe; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakApiDto.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakApiDto.java similarity index 85% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakApiDto.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakApiDto.java index 4e190843a8..083ab4f877 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakApiDto.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakApiDto.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakForBruker.java similarity index 94% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakForBruker.java index d477740980..1d27906787 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakForBruker.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakForBruker.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakKafkaDto.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakKafkaDto.java similarity index 87% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakKafkaDto.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakKafkaDto.java index 9930b3599b..01b5dfec61 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakKafkaDto.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakKafkaDto.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakRepository.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakRepository.java similarity index 98% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakRepository.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakRepository.java index ea9c0ec68b..38174ffe55 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakRepository.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakRepository.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakService.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakService.java similarity index 93% rename from src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakService.java rename to src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakService.java index 79af14ec0b..851862b0fe 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14aVedtakService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14aVedtakService.java @@ -1,10 +1,11 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak; import lombok.RequiredArgsConstructor; import no.nav.common.types.identer.AktorId; import no.nav.common.types.identer.Fnr; import no.nav.pto.veilarbportefolje.kafka.KafkaCommonNonKeyedConsumerService; import no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexerV2; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.GjeldendeVedtak14a; import no.nav.pto.veilarbportefolje.persononinfo.PdlIdentRepository; import no.nav.pto.veilarbportefolje.persononinfo.domene.IdenterForBruker; import no.nav.pto.veilarbportefolje.vedtakstotte.VedtaksstotteClient; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index d691ef49d9..d780e14f0a 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -10,8 +10,8 @@ import no.nav.pto.veilarbportefolje.domene.Statsborgerskap; import no.nav.pto.veilarbportefolje.ensligforsorger.EnsligeForsorgereService; import no.nav.pto.veilarbportefolje.ensligforsorger.dto.output.EnsligeForsorgerOvergangsstønadTiltakDto; -import no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtak; -import no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.Gjeldende14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.Gjeldende14aVedtakService; import no.nav.pto.veilarbportefolje.hendelsesfilter.Hendelse; import no.nav.pto.veilarbportefolje.hendelsesfilter.HendelseRepository; import no.nav.pto.veilarbportefolje.hendelsesfilter.IngenHendelseForPersonException; @@ -24,9 +24,9 @@ import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarService; import no.nav.pto.veilarbportefolje.postgres.utils.AktivitetEntity; import no.nav.pto.veilarbportefolje.postgres.utils.AvtaltAktivitetEntity; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtak; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtakService; -import no.nav.pto.veilarbportefolje.siste14aVedtak.GjeldendeVedtak14a; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak.Avvik14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak.Avvik14aVedtakService; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.GjeldendeVedtak14a; import no.nav.pto.veilarbportefolje.sisteendring.SisteEndringService; import no.nav.pto.veilarbportefolje.tiltakshendelse.TiltakshendelseRepository; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; diff --git a/src/main/java/no/nav/pto/veilarbportefolje/vedtakstotte/VedtaksstotteClient.java b/src/main/java/no/nav/pto/veilarbportefolje/vedtakstotte/VedtaksstotteClient.java index 8ddd5f7682..73c5adaae8 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/vedtakstotte/VedtaksstotteClient.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/vedtakstotte/VedtaksstotteClient.java @@ -9,7 +9,7 @@ import no.nav.pto.veilarbportefolje.auth.AuthService; import no.nav.pto.veilarbportefolje.config.EnvironmentProperties; import no.nav.pto.veilarbportefolje.kodeverk.CacheConfig; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakApiDto; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakApiDto; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; diff --git a/src/test/java/no/nav/pto/veilarbportefolje/config/ApplicationConfigTest.java b/src/test/java/no/nav/pto/veilarbportefolje/config/ApplicationConfigTest.java index 99ce8b6f9a..85c890a984 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/config/ApplicationConfigTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/config/ApplicationConfigTest.java @@ -32,7 +32,7 @@ import no.nav.pto.veilarbportefolje.ensligforsorger.EnsligeForsorgereService; import no.nav.pto.veilarbportefolje.fargekategori.FargekategoriRepository; import no.nav.pto.veilarbportefolje.fargekategori.FargekategoriService; -import no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.Gjeldende14aVedtakService; import no.nav.pto.veilarbportefolje.hendelsesfilter.HendelseRepository; import no.nav.pto.veilarbportefolje.hendelsesfilter.HendelseService; import no.nav.pto.veilarbportefolje.huskelapp.HuskelappRepository; @@ -62,9 +62,9 @@ import no.nav.pto.veilarbportefolje.postgres.BrukerRepositoryV2; import no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper; import no.nav.pto.veilarbportefolje.service.BrukerServiceV2; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtakService; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakRepository; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakService; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak.Avvik14aVedtakService; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakRepository; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakService; import no.nav.pto.veilarbportefolje.sisteendring.SisteEndringRepositoryV2; import no.nav.pto.veilarbportefolje.sisteendring.SisteEndringService; import no.nav.pto.veilarbportefolje.sistelest.SistLestService; diff --git a/src/test/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchServiceIntegrationTest.java b/src/test/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchServiceIntegrationTest.java index 73d871af77..42dcf25631 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchServiceIntegrationTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchServiceIntegrationTest.java @@ -23,9 +23,9 @@ import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; import no.nav.pto.veilarbportefolje.persononinfo.barnUnder18Aar.BarnUnder18AarData; import no.nav.pto.veilarbportefolje.persononinfo.domene.Adressebeskyttelse; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Avvik14aVedtak; -import no.nav.pto.veilarbportefolje.siste14aVedtak.GjeldendeVedtak14a; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakForBruker; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak.Avvik14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.GjeldendeVedtak14a; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakForBruker; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakshendelse; import no.nav.pto.veilarbportefolje.tiltakshendelse.domain.Tiltakstype; import no.nav.pto.veilarbportefolje.util.BrukerComparator; diff --git a/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java index 4da2cf9e5c..7e820e8a80 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolging/OppfolgingStartetOgAvsluttetServiceTest.java @@ -10,6 +10,8 @@ import no.nav.pto.veilarbportefolje.domene.AktorClient; import no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.*; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.GjeldendeVedtak14a; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.*; import no.nav.pto.veilarbportefolje.persononinfo.PdlIdentRepository; import no.nav.pto.veilarbportefolje.persononinfo.PdlPersonRepository; import no.nav.pto.veilarbportefolje.persononinfo.PdlPortefoljeClient; @@ -19,7 +21,6 @@ import no.nav.pto.veilarbportefolje.persononinfo.domene.PDLIdent; import no.nav.pto.veilarbportefolje.persononinfo.domene.PDLPerson; import no.nav.pto.veilarbportefolje.persononinfo.domene.PDLPersonBarn; -import no.nav.pto.veilarbportefolje.siste14aVedtak.*; import no.nav.pto.veilarbportefolje.util.EndToEndTest; import no.nav.pto.veilarbportefolje.util.TestDataClient; import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtakServiceTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java similarity index 91% rename from src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtakServiceTest.java rename to src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java index 8bf5a1d807..a420487862 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Avvik14aVedtakServiceTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java @@ -1,4 +1,4 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.avvik14aVedtak; import no.nav.common.types.identer.Fnr; @@ -8,6 +8,8 @@ import no.nav.pto.veilarbportefolje.domene.GjeldendeIdenter; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerRepositoryV3; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakForBruker; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakRepository; import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; import no.nav.pto.veilarbportefolje.vedtakstotte.Innsatsgruppe; import org.junit.jupiter.api.Test; @@ -46,7 +48,7 @@ public void skalIkkeFinneAvvikForBrukereMedTilsvarendeDataIArenaOgVedtaksstotte( .build(); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.aktorId, siste14AVedtakForBruker)); + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.keySet()).containsAll(identer); @@ -69,7 +71,7 @@ public void skalIkkeFinneAvvikNaarArenaInnsatsgruppeErNull() { .build(); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.aktorId, siste14AVedtakForBruker)); + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.keySet()).containsAll(identer); @@ -92,7 +94,7 @@ public void skalIkkeFinneAvvikNaarArenaKvalifiseringsgruppeErServiceGruppe() { .build(); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.aktorId, siste14AVedtakForBruker)); + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.keySet()).containsAll(identer); @@ -115,7 +117,7 @@ public void skalIkkeFinneAvvikNaarInnsatsgruppeErLikOgArenaHovedmaalErNull() { .build(); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.aktorId, siste14AVedtakForBruker)); + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.keySet()).containsAll(identer); @@ -138,7 +140,7 @@ public void skalFinneAvvikDersomInnsatsgruppeErUlik() { .build(); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.aktorId, siste14AVedtakForBruker)); + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.values()).containsOnly(Avvik14aVedtak.INNSATSGRUPPE_ULIK); @@ -160,7 +162,7 @@ public void skalFinneAvvikDersomHovedmaalErUlik() { .build(); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.aktorId, siste14AVedtakForBruker)); + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.values()).containsOnly(Avvik14aVedtak.HOVEDMAAL_ULIK); @@ -182,7 +184,7 @@ public void skalFinneAvvikDersomInnsatsgruppeOgHovedmaalErUlik() { .build(); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.aktorId, siste14AVedtakForBruker)); + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.values()).containsOnly(Avvik14aVedtak.INNSATSGRUPPE_OG_HOVEDMAAL_ULIK); @@ -203,7 +205,7 @@ public void skalFinneAvvikDersomInnsatsgruppeManglerISiste14aVedtak() { .build(); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.aktorId, siste14AVedtakForBruker)); + when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.values()).containsOnly(Avvik14aVedtak.INNSATSGRUPPE_MANGLER_I_NY_KILDE); diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/FlettingAvGjeldende14aVedtakTest.java similarity index 96% rename from src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java rename to src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/FlettingAvGjeldende14aVedtakTest.java index e3b228f866..58f31b4812 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/FlettingAvGjeldende14aVedtakTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/FlettingAvGjeldende14aVedtakTest.java @@ -1,10 +1,11 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak; import no.nav.common.types.identer.AktorId; import no.nav.pto.veilarbportefolje.domene.GjeldendeIdenter; -import no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService; import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker; import no.nav.pto.veilarbportefolje.oppfolging.OppfolgingRepositoryV2; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakForBruker; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakRepository; import no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper; import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; import no.nav.pto.veilarbportefolje.vedtakstotte.Innsatsgruppe; @@ -17,7 +18,7 @@ import java.util.Map; import java.util.Optional; -import static no.nav.pto.veilarbportefolje.gjeldende14aVedtak.Gjeldende14aVedtakService.LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; +import static no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.Gjeldende14aVedtakService.LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE; import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId; import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr; import static org.assertj.core.api.Assertions.assertThat; @@ -81,7 +82,7 @@ public void resetMocks() { postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker)); assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNotNull(); - assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().fattetDato()).isEqualTo(siste14AVedtakForBruker.fattetDato); + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().fattetDato()).isEqualTo(siste14AVedtakForBruker.getFattetDato()); assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().innsatsgruppe()).isEqualTo(siste14AVedtakForBruker.getInnsatsgruppe()); assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().hovedmal()).isEqualTo(siste14AVedtakForBruker.getHovedmal()); } @@ -114,7 +115,7 @@ public void resetMocks() { postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker)); assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNotNull(); - assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().fattetDato()).isEqualTo(siste14AVedtakForBruker.fattetDato); + assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().fattetDato()).isEqualTo(siste14AVedtakForBruker.getFattetDato()); assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().innsatsgruppe()).isEqualTo(siste14AVedtakForBruker.getInnsatsgruppe()); assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().hovedmal()).isEqualTo(siste14AVedtakForBruker.getHovedmal()); } diff --git a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14AVedtakForBrukerRepositoryTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14AVedtakForBrukerRepositoryTest.java similarity index 96% rename from src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14AVedtakForBrukerRepositoryTest.java rename to src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14AVedtakForBrukerRepositoryTest.java index 4207a12708..4cd9baad02 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/siste14aVedtak/Siste14AVedtakForBrukerRepositoryTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/siste14aVedtak/Siste14AVedtakForBrukerRepositoryTest.java @@ -1,7 +1,9 @@ -package no.nav.pto.veilarbportefolje.siste14aVedtak; +package no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak; import no.nav.common.types.identer.AktorId; import no.nav.pto.veilarbportefolje.config.ApplicationConfigTest; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakForBruker; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakRepository; import no.nav.pto.veilarbportefolje.persononinfo.PdlIdentRepository; import no.nav.pto.veilarbportefolje.persononinfo.domene.IdenterForBruker; import no.nav.pto.veilarbportefolje.persononinfo.domene.PDLIdent; diff --git a/src/test/java/no/nav/pto/veilarbportefolje/vedtaksstotte/VedtaksstotteClientTest.java b/src/test/java/no/nav/pto/veilarbportefolje/vedtaksstotte/VedtaksstotteClientTest.java index d36b3ffd61..0b8decdc03 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/vedtaksstotte/VedtaksstotteClientTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/vedtaksstotte/VedtaksstotteClientTest.java @@ -3,7 +3,7 @@ import com.github.tomakehurst.wiremock.junit.WireMockRule; import no.nav.common.types.identer.Fnr; -import no.nav.pto.veilarbportefolje.siste14aVedtak.Siste14aVedtakApiDto; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakApiDto; import no.nav.pto.veilarbportefolje.vedtakstotte.VedtaksstotteClient; import org.junit.Rule; import org.junit.Test; From 5ac1f56210ecdf45e5921fa9dcc24448241752fd Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Wed, 12 Feb 2025 10:41:36 +0100 Subject: [PATCH 14/18] =?UTF-8?q?Bruk=20meir=20idiomatisk=20m=C3=A5te=20?= =?UTF-8?q?=C3=A5=20mappe=20"null"-value=20fr=C3=A5=20eit=20Map=20til=20de?= =?UTF-8?q?fault-verdi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../veilarbportefolje/postgres/PostgresOpensearchMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java index d780e14f0a..831c90cc9c 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/postgres/PostgresOpensearchMapper.java @@ -243,7 +243,7 @@ public void flettInnGjeldende14aVedtak(List brukere) { Map> aktorIdGjeldende14aVedtakMap = gjeldende14aVedtakService.hentGjeldende14aVedtak(brukereSet); brukere.forEach(bruker -> { - Optional maybeGjeldendeVedtak14a = Optional.ofNullable(aktorIdGjeldende14aVedtakMap.get(AktorId.of(bruker.getAktoer_id()))).flatMap(identity()); + Optional maybeGjeldendeVedtak14a = aktorIdGjeldende14aVedtakMap.getOrDefault(AktorId.of(bruker.getAktoer_id()), Optional.empty()); if (maybeGjeldendeVedtak14a.isPresent()) { Gjeldende14aVedtak gjeldende14aVedtak = maybeGjeldendeVedtak14a.get(); bruker.setGjeldendeVedtak14a(new GjeldendeVedtak14a( From 92848b1961ffb25d24e70ec21dc854d3df4ca278 Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Wed, 12 Feb 2025 10:58:13 +0100 Subject: [PATCH 15/18] =?UTF-8?q?Avvik/differanse=20sjekk=20mellom=20?= =?UTF-8?q?=C2=A7=2014=20a-vedtak=20og=20Arena-oppf=C3=B8lgingsdata=20skal?= =?UTF-8?q?=20basere=20seg=20p=C3=A5=20"gjeldande"=20=C2=A7=2014=20a-vedta?= =?UTF-8?q?k,=20ikkje=20"siste"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../avvik14aVedtak/Avvik14aVedtakService.java | 26 ++-- .../Avvik14aVedtakServiceTest.java | 125 ++++++++++-------- 2 files changed, 82 insertions(+), 69 deletions(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakService.java b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakService.java index a910250cf6..3f19977412 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakService.java +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakService.java @@ -10,8 +10,8 @@ import no.nav.pto.veilarbportefolje.domene.Vedtak14aInfo; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerRepositoryV3; -import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakForBruker; -import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakRepository; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.Gjeldende14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.Gjeldende14aVedtakService; import org.springframework.stereotype.Service; import java.util.Collections; @@ -29,7 +29,7 @@ public class Avvik14aVedtakService { final OppfolgingsbrukerRepositoryV3 oppfolgingsbrukerRepositoryV3; - final Siste14aVedtakRepository siste14aVedtakRepository; + final Gjeldende14aVedtakService gjeldende14aVedtakService; public Map hentAvvik(Set brukere) { if (brukere.isEmpty()) { @@ -41,29 +41,29 @@ public Map hentAvvik(Set bru brukere.stream().map(GjeldendeIdenter::getFnr).collect(Collectors.toSet()) ); - Map aktorIdSiste14aVedtakMap = - siste14aVedtakRepository.hentSiste14aVedtakForBrukere( + Map> aktorIdGjeldende14aVedtakMap = + gjeldende14aVedtakService.hentGjeldende14aVedtak( brukere.stream().map(GjeldendeIdenter::getAktorId).collect(Collectors.toSet()) ); return brukere.stream().map((GjeldendeIdenter identer) -> { - Vedtak14aInfo vedtak14aInfo = mapTilVedtak14aInfo(fnrOppfolgingsbrukerEntityMap, aktorIdSiste14aVedtakMap, identer); + Vedtak14aInfo vedtak14aInfo = mapTilVedtak14aInfo(fnrOppfolgingsbrukerEntityMap, aktorIdGjeldende14aVedtakMap, identer); Avvik14aVedtak avvik14aVedtak = finnAvvik(vedtak14aInfo); return Map.entry(identer, avvik14aVedtak); }).collect(toMap(Entry::getKey, Entry::getValue)); } - private Vedtak14aInfo mapTilVedtak14aInfo(Map fnrOppfolgingsbrukerEntityMap, Map aktorIdSiste14aVedtakMap, GjeldendeIdenter identer) { - Optional oppfolgingsbruker = Optional.ofNullable(fnrOppfolgingsbrukerEntityMap.getOrDefault(identer.getFnr(), null)); - Optional siste14aVedtak = Optional.ofNullable(aktorIdSiste14aVedtakMap.getOrDefault(identer.getAktorId(), null)); + private Vedtak14aInfo mapTilVedtak14aInfo(Map fnrOppfolgingsbrukerEntityMap, Map> aktorIdGjeldende14aVedtakMap, GjeldendeIdenter identer) { + Optional maybeOppfolgingsbruker = Optional.ofNullable(fnrOppfolgingsbrukerEntityMap.getOrDefault(identer.getFnr(), null)); + Optional maybeGjeldende14aVedtak = aktorIdGjeldende14aVedtakMap.getOrDefault(identer.getAktorId(), Optional.empty()); return Vedtak14aInfo.builder() - .arenaInnsatsgruppe(oppfolgingsbruker.map(OppfolgingsbrukerEntity::kvalifiseringsgruppekode).map(kvalifiseringsgruppeKode -> valueOfOrNull(ArenaInnsatsgruppe.class, kvalifiseringsgruppeKode)).orElse(null)) - .arenaHovedmal(oppfolgingsbruker.map(OppfolgingsbrukerEntity::hovedmaalkode).map(hovedmaal -> valueOfOrNull(ArenaHovedmal.class, hovedmaal)).orElse(null)) - .innsatsgruppe(siste14aVedtak.map(Siste14aVedtakForBruker::getInnsatsgruppe).orElse(null)) - .hovedmal(siste14aVedtak.map(Siste14aVedtakForBruker::getHovedmal).orElse(null)).build(); + .arenaInnsatsgruppe(maybeOppfolgingsbruker.map(OppfolgingsbrukerEntity::kvalifiseringsgruppekode).map(kvalifiseringsgruppeKode -> valueOfOrNull(ArenaInnsatsgruppe.class, kvalifiseringsgruppeKode)).orElse(null)) + .arenaHovedmal(maybeOppfolgingsbruker.map(OppfolgingsbrukerEntity::hovedmaalkode).map(hovedmaal -> valueOfOrNull(ArenaHovedmal.class, hovedmaal)).orElse(null)) + .innsatsgruppe(maybeGjeldende14aVedtak.map(Gjeldende14aVedtak::getInnsatsgruppe).orElse(null)) + .hovedmal(maybeGjeldende14aVedtak.map(Gjeldende14aVedtak::getHovedmal).orElse(null)).build(); } private Avvik14aVedtak finnAvvik(Vedtak14aInfo vedtak14aInfo) { diff --git a/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java index a420487862..c1b727a5de 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java @@ -8,29 +8,33 @@ import no.nav.pto.veilarbportefolje.domene.GjeldendeIdenter; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerEntity; import no.nav.pto.veilarbportefolje.oppfolgingsbruker.OppfolgingsbrukerRepositoryV3; -import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakForBruker; -import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.siste14aVedtak.Siste14aVedtakRepository; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.Gjeldende14aVedtak; +import no.nav.pto.veilarbportefolje.oppfolgingsvedtak14a.gjeldende14aVedtak.Gjeldende14aVedtakService; import no.nav.pto.veilarbportefolje.vedtakstotte.Hovedmal; import no.nav.pto.veilarbportefolje.vedtakstotte.Innsatsgruppe; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.Map; +import java.util.Optional; import java.util.Set; -import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomAktorId; -import static no.nav.pto.veilarbportefolje.util.TestDataUtils.randomFnr; +import static no.nav.pto.veilarbportefolje.util.TestDataUtils.*; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.anySet; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; public class Avvik14aVedtakServiceTest { private final OppfolgingsbrukerRepositoryV3 oppfolgingsbrukerRepositoryV3 = mock(OppfolgingsbrukerRepositoryV3.class); - private final Siste14aVedtakRepository siste14aVedtakRepository = mock(Siste14aVedtakRepository.class); - private final Avvik14aVedtakService avvik14aVedtakService = - new Avvik14aVedtakService(oppfolgingsbrukerRepositoryV3, siste14aVedtakRepository); + private Gjeldende14aVedtakService gjeldende14aVedtakService = mock(Gjeldende14aVedtakService.class); + private final Avvik14aVedtakService avvik14aVedtakService = new Avvik14aVedtakService(oppfolgingsbrukerRepositoryV3, gjeldende14aVedtakService); + @BeforeEach + public void resetMocks() { + reset(oppfolgingsbrukerRepositoryV3); + reset(gjeldende14aVedtakService); + } @Test public void skalIkkeFinneAvvikForBrukereMedTilsvarendeDataIArenaOgVedtaksstotte() { @@ -41,14 +45,15 @@ public void skalIkkeFinneAvvikForBrukereMedTilsvarendeDataIArenaOgVedtaksstotte( .kvalifiseringsgruppekode(ArenaInnsatsgruppe.IKVAL.name()) .hovedmaalkode(ArenaHovedmal.BEHOLDEA.name()) .build(); - Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() - .aktorId(ident1.getAktorId()) - .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) - .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .build(); + Gjeldende14aVedtak gjeldende14AVedtakForBruker = new Gjeldende14aVedtak( + ident1.getAktorId(), + Innsatsgruppe.STANDARD_INNSATS, + Hovedmal.BEHOLDE_ARBEID, + randomZonedDate() + ); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); + when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14AVedtakForBruker.getAktorId(), Optional.of(gjeldende14AVedtakForBruker))); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.keySet()).containsAll(identer); @@ -64,14 +69,15 @@ public void skalIkkeFinneAvvikNaarArenaInnsatsgruppeErNull() { .kvalifiseringsgruppekode(null) .hovedmaalkode(ArenaHovedmal.BEHOLDEA.name()) .build(); - Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() - .aktorId(ident1.getAktorId()) - .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) - .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .build(); + Gjeldende14aVedtak gjeldende14aVedtak = new Gjeldende14aVedtak( + ident1.getAktorId(), + Innsatsgruppe.STANDARD_INNSATS, + Hovedmal.BEHOLDE_ARBEID, + randomZonedDate() + ); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); + when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14aVedtak.getAktorId(), Optional.of(gjeldende14aVedtak))); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.keySet()).containsAll(identer); @@ -87,14 +93,15 @@ public void skalIkkeFinneAvvikNaarArenaKvalifiseringsgruppeErServiceGruppe() { .kvalifiseringsgruppekode(ArenaServicegruppe.VURDU.name()) .hovedmaalkode(ArenaHovedmal.BEHOLDEA.name()) .build(); - Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() - .aktorId(ident1.getAktorId()) - .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) - .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .build(); + Gjeldende14aVedtak gjeldende14AVedtakForBruker = new Gjeldende14aVedtak( + ident1.getAktorId(), + Innsatsgruppe.STANDARD_INNSATS, + Hovedmal.BEHOLDE_ARBEID, + randomZonedDate() + ); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); + when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14AVedtakForBruker.getAktorId(), Optional.of(gjeldende14AVedtakForBruker))); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.keySet()).containsAll(identer); @@ -110,14 +117,15 @@ public void skalIkkeFinneAvvikNaarInnsatsgruppeErLikOgArenaHovedmaalErNull() { .kvalifiseringsgruppekode(ArenaInnsatsgruppe.IKVAL.name()) .hovedmaalkode(null) .build(); - Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() - .aktorId(ident1.getAktorId()) - .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) - .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .build(); + Gjeldende14aVedtak gjeldende14AVedtakForBruker = new Gjeldende14aVedtak( + ident1.getAktorId(), + Innsatsgruppe.STANDARD_INNSATS, + Hovedmal.BEHOLDE_ARBEID, + randomZonedDate() + ); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); + when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14AVedtakForBruker.getAktorId(), Optional.of(gjeldende14AVedtakForBruker))); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.keySet()).containsAll(identer); @@ -133,14 +141,15 @@ public void skalFinneAvvikDersomInnsatsgruppeErUlik() { .kvalifiseringsgruppekode(ArenaInnsatsgruppe.IKVAL.name()) .hovedmaalkode(ArenaHovedmal.BEHOLDEA.name()) .build(); - Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() - .aktorId(ident1.getAktorId()) - .innsatsgruppe(Innsatsgruppe.SITUASJONSBESTEMT_INNSATS) - .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .build(); + Gjeldende14aVedtak gjeldende14AVedtakForBruker = new Gjeldende14aVedtak( + ident1.getAktorId(), + Innsatsgruppe.SITUASJONSBESTEMT_INNSATS, + Hovedmal.BEHOLDE_ARBEID, + randomZonedDate() + ); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); + when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14AVedtakForBruker.getAktorId(), Optional.of(gjeldende14AVedtakForBruker))); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.values()).containsOnly(Avvik14aVedtak.INNSATSGRUPPE_ULIK); @@ -155,14 +164,15 @@ public void skalFinneAvvikDersomHovedmaalErUlik() { .kvalifiseringsgruppekode(ArenaInnsatsgruppe.IKVAL.name()) .hovedmaalkode(ArenaHovedmal.OKEDELT.name()) .build(); - Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() - .aktorId(ident1.getAktorId()) - .innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS) - .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .build(); + Gjeldende14aVedtak gjeldende14AVedtakForBruker = new Gjeldende14aVedtak( + ident1.getAktorId(), + Innsatsgruppe.STANDARD_INNSATS, + Hovedmal.BEHOLDE_ARBEID, + randomZonedDate() + ); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); + when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14AVedtakForBruker.getAktorId(), Optional.of(gjeldende14AVedtakForBruker))); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.values()).containsOnly(Avvik14aVedtak.HOVEDMAAL_ULIK); @@ -177,14 +187,15 @@ public void skalFinneAvvikDersomInnsatsgruppeOgHovedmaalErUlik() { .kvalifiseringsgruppekode(ArenaInnsatsgruppe.IKVAL.name()) .hovedmaalkode(ArenaHovedmal.OKEDELT.name()) .build(); - Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() - .aktorId(ident1.getAktorId()) - .innsatsgruppe(Innsatsgruppe.SITUASJONSBESTEMT_INNSATS) - .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .build(); + Gjeldende14aVedtak gjeldende14AVedtakForBruker = new Gjeldende14aVedtak( + ident1.getAktorId(), + Innsatsgruppe.SITUASJONSBESTEMT_INNSATS, + Hovedmal.BEHOLDE_ARBEID, + randomZonedDate() + ); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); + when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14AVedtakForBruker.getAktorId(), Optional.of(gjeldende14AVedtakForBruker))); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.values()).containsOnly(Avvik14aVedtak.INNSATSGRUPPE_OG_HOVEDMAAL_ULIK); @@ -199,13 +210,15 @@ public void skalFinneAvvikDersomInnsatsgruppeManglerISiste14aVedtak() { .kvalifiseringsgruppekode(ArenaInnsatsgruppe.IKVAL.name()) .hovedmaalkode(ArenaHovedmal.BEHOLDEA.name()) .build(); - Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder() - .aktorId(ident1.getAktorId()) - .hovedmal(Hovedmal.BEHOLDE_ARBEID) - .build(); + Gjeldende14aVedtak gjeldende14AVedtakForBruker = new Gjeldende14aVedtak( + ident1.getAktorId(), + null, + Hovedmal.BEHOLDE_ARBEID, + randomZonedDate() + ); when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(anySet())).thenReturn(Map.of(siste14AVedtakForBruker.getAktorId(), siste14AVedtakForBruker)); + when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14AVedtakForBruker.getAktorId(), Optional.of(gjeldende14AVedtakForBruker))); Map avvik = avvik14aVedtakService.hentAvvik(identer); assertThat(avvik.values()).containsOnly(Avvik14aVedtak.INNSATSGRUPPE_MANGLER_I_NY_KILDE); From 1daa5122595ea5fb46dfa4582a12f5f5c48dc29d Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Wed, 12 Feb 2025 10:58:54 +0100 Subject: [PATCH 16/18] Fjern test-scenario som ikkje er mogleg --- .../Avvik14aVedtakServiceTest.java | 23 ------------------- 1 file changed, 23 deletions(-) diff --git a/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java index c1b727a5de..694b29bb51 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java @@ -201,29 +201,6 @@ public void skalFinneAvvikDersomInnsatsgruppeOgHovedmaalErUlik() { assertThat(avvik.values()).containsOnly(Avvik14aVedtak.INNSATSGRUPPE_OG_HOVEDMAAL_ULIK); } - @Test - public void skalFinneAvvikDersomInnsatsgruppeManglerISiste14aVedtak() { - GjeldendeIdenter ident1 = genererGjeldendeIdent(); - Set identer = Set.of(ident1); - OppfolgingsbrukerEntity oppfolgingsbruker = OppfolgingsbrukerEntity.builder() - .fodselsnr(ident1.getFnr().get()) - .kvalifiseringsgruppekode(ArenaInnsatsgruppe.IKVAL.name()) - .hovedmaalkode(ArenaHovedmal.BEHOLDEA.name()) - .build(); - Gjeldende14aVedtak gjeldende14AVedtakForBruker = new Gjeldende14aVedtak( - ident1.getAktorId(), - null, - Hovedmal.BEHOLDE_ARBEID, - randomZonedDate() - ); - - when(oppfolgingsbrukerRepositoryV3.hentOppfolgingsBrukere(anySet())).thenReturn(Map.of(Fnr.of(oppfolgingsbruker.fodselsnr()), oppfolgingsbruker)); - when(gjeldende14aVedtakService.hentGjeldende14aVedtak(anySet())).thenReturn(Map.of(gjeldende14AVedtakForBruker.getAktorId(), Optional.of(gjeldende14AVedtakForBruker))); - - Map avvik = avvik14aVedtakService.hentAvvik(identer); - assertThat(avvik.values()).containsOnly(Avvik14aVedtak.INNSATSGRUPPE_MANGLER_I_NY_KILDE); - } - private GjeldendeIdenter genererGjeldendeIdent() { return GjeldendeIdenter.builder().fnr(randomFnr()).aktorId(randomAktorId()).build(); } From fc6feec22269d80c55254aa6e6d880192fc5bc2c Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Wed, 12 Feb 2025 10:59:26 +0100 Subject: [PATCH 17/18] Gjer klassefelt "final" --- .../avvik14aVedtak/Avvik14aVedtakServiceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java index 694b29bb51..5a04b74810 100644 --- a/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java +++ b/src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/avvik14aVedtak/Avvik14aVedtakServiceTest.java @@ -27,7 +27,7 @@ public class Avvik14aVedtakServiceTest { private final OppfolgingsbrukerRepositoryV3 oppfolgingsbrukerRepositoryV3 = mock(OppfolgingsbrukerRepositoryV3.class); - private Gjeldende14aVedtakService gjeldende14aVedtakService = mock(Gjeldende14aVedtakService.class); + private final Gjeldende14aVedtakService gjeldende14aVedtakService = mock(Gjeldende14aVedtakService.class); private final Avvik14aVedtakService avvik14aVedtakService = new Avvik14aVedtakService(oppfolgingsbrukerRepositoryV3, gjeldende14aVedtakService); @BeforeEach From b3f3bb8d1c63cbeb2f0db748653c48facaa26e91 Mon Sep 17 00:00:00 2001 From: Sondre Larsen Ovrid Date: Fri, 14 Feb 2025 13:18:18 +0100 Subject: [PATCH 18/18] =?UTF-8?q?Hovedm=C3=A5l=20m=C3=A5=20vere=20nullable?= =?UTF-8?q?=20sidan=20det=20kan=20vere=20null=20i=20databasen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gjeldende14aVedtak/Gjeldende14aVedtakService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/Gjeldende14aVedtakService.kt b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/Gjeldende14aVedtakService.kt index ebe02b0b47..f87d061fc8 100644 --- a/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/Gjeldende14aVedtakService.kt +++ b/src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/Gjeldende14aVedtakService.kt @@ -79,6 +79,6 @@ class Gjeldende14aVedtakService( data class Gjeldende14aVedtak( val aktorId: AktorId, val innsatsgruppe: Innsatsgruppe, - val hovedmal: Hovedmal, + val hovedmal: Hovedmal?, val fattetDato: ZonedDateTime ) \ No newline at end of file