Skip to content

Commit 04cb466

Browse files
committed
Gjer sjekken for kva vi anser som gjeldande § 14 a-vedtak meir "relaxed"
1 parent 7922f60 commit 04cb466

File tree

2 files changed

+70
-3
lines changed

2 files changed

+70
-3
lines changed

src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/Gjeldende14aVedtakService.kt

+7-3
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,19 @@ class Gjeldende14aVedtakService(
6161
siste14aVedtakForBruker: Siste14aVedtakForBruker,
6262
startDatoInnevarendeOppfolgingsperiode: ZonedDateTime
6363
): Boolean {
64-
val erVedtaketFattetIInnevarendeOppfolgingsperiode =
65-
siste14aVedtakForBruker.fattetDato.isAfter(startDatoInnevarendeOppfolgingsperiode)
64+
// 2025-02-18
65+
// Vi har oppdaget at vedtak fattet i Arena får "fattetDato" lik midnatt den dagen vedtaket ble fattet.
66+
// Derfor har vi valgt å innfør en "grace periode" på 4 døgn. Dvs. dersom vedtaket ble fattet etter
67+
// "oppfølgingsperiode startdato - 4 døgn", så anser vi det som gjeldende.
68+
val erVedtaketFattetIInnevarendeOppfolgingsperiodeMedGracePeriodePa4Dogn =
69+
siste14aVedtakForBruker.fattetDato.isAfter(startDatoInnevarendeOppfolgingsperiode.minusDays(4))
6670
val erVedtaketFattetForLanseringsdatoForVeilarboppfolging = siste14aVedtakForBruker.fattetDato
6771
.isBefore(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE)
6872
val erStartdatoForOppfolgingsperiodeLikLanseringsdatoForVeilarboppfolging =
6973
!startDatoInnevarendeOppfolgingsperiode
7074
.isAfter(LANSERINGSDATO_VEILARBOPPFOLGING_OPPFOLGINGSPERIODE)
7175

72-
return erVedtaketFattetIInnevarendeOppfolgingsperiode ||
76+
return erVedtaketFattetIInnevarendeOppfolgingsperiodeMedGracePeriodePa4Dogn ||
7377
(erVedtaketFattetForLanseringsdatoForVeilarboppfolging
7478
&& erStartdatoForOppfolgingsperiodeLikLanseringsdatoForVeilarboppfolging)
7579
}

src/test/java/no/nav/pto/veilarbportefolje/oppfolgingsvedtak14a/gjeldende14aVedtak/FlettingAvGjeldende14aVedtakTest.java

+63
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,69 @@ public void skal_ikke_flette_inn_gjeldende_14a_vedtak_for_flere_brukere_med_ulik
302302
assertThat(oppfolgingsbruker2.getGjeldendeVedtak14a()).isNull();
303303
}
304304

305+
@Test
306+
public void skal_flette_inn_gjeldende_14a_vedtak_når_personen_har_vedtak_og_vedtak_fattet_dato_er_innenfor_oppfølging_startdato_minus_4_døgn() {
307+
GjeldendeIdenter ident1 = genererGjeldendeIdent();
308+
ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2020-11-13T10:00:00+02:00");
309+
310+
OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker()
311+
.setFnr(ident1.getFnr().get())
312+
.setAktoer_id(ident1.getAktorId().get());
313+
314+
Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder()
315+
.aktorId(ident1.getAktorId())
316+
.innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS)
317+
.hovedmal(Hovedmal.BEHOLDE_ARBEID)
318+
.fattetDato(startdatoForOppfolging.minusDays(3).minusHours(23).minusMinutes(59))
319+
.build();
320+
321+
Map<AktorId, Siste14aVedtakForBruker> aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker);
322+
323+
324+
Map<AktorId, Optional<ZonedDateTime>> aktorIdStartDatoForOppfolgingMap =
325+
Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging));
326+
327+
when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap);
328+
when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap);
329+
330+
postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker));
331+
332+
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNotNull();
333+
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().fattetDato()).isEqualTo(siste14AVedtakForBruker.getFattetDato());
334+
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().innsatsgruppe()).isEqualTo(siste14AVedtakForBruker.getInnsatsgruppe());
335+
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a().hovedmal()).isEqualTo(siste14AVedtakForBruker.getHovedmal());
336+
}
337+
338+
@Test
339+
public void skal_ikke_flette_inn_gjeldende_14a_vedtak_når_personen_har_vedtak_og_vedtak_fattet_dato_er_utenfor_oppfølging_startdato_minus_4_døgn() {
340+
GjeldendeIdenter ident1 = genererGjeldendeIdent();
341+
ZonedDateTime startdatoForOppfolging = ZonedDateTime.parse("2020-11-13T10:00:00+02:00");
342+
343+
OppfolgingsBruker oppfolgingsbruker = new OppfolgingsBruker()
344+
.setFnr(ident1.getFnr().get())
345+
.setAktoer_id(ident1.getAktorId().get());
346+
347+
Siste14aVedtakForBruker siste14AVedtakForBruker = Siste14aVedtakForBruker.builder()
348+
.aktorId(ident1.getAktorId())
349+
.innsatsgruppe(Innsatsgruppe.STANDARD_INNSATS)
350+
.hovedmal(Hovedmal.BEHOLDE_ARBEID)
351+
.fattetDato(startdatoForOppfolging.minusDays(3))
352+
.build();
353+
354+
Map<AktorId, Siste14aVedtakForBruker> aktorIdSiste14aVedtakMap = Map.of(ident1.getAktorId(), siste14AVedtakForBruker);
355+
356+
357+
Map<AktorId, Optional<ZonedDateTime>> aktorIdStartDatoForOppfolgingMap =
358+
Map.of(ident1.getAktorId(), Optional.of(startdatoForOppfolging));
359+
360+
when(siste14aVedtakRepository.hentSiste14aVedtakForBrukere(any())).thenReturn(aktorIdSiste14aVedtakMap);
361+
when(oppfolgingRepositoryV2.hentStartDatoForOppfolging(any())).thenReturn(aktorIdStartDatoForOppfolgingMap);
362+
363+
postgresOpensearchMapper.flettInnGjeldende14aVedtak(List.of(oppfolgingsbruker));
364+
365+
assertThat(oppfolgingsbruker.getGjeldendeVedtak14a()).isNull();
366+
}
367+
305368
private GjeldendeIdenter genererGjeldendeIdent() {
306369
return GjeldendeIdenter.builder().fnr(randomFnr()).aktorId(randomAktorId()).build();
307370
}

0 commit comments

Comments
 (0)