diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlag.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlag.java index 8ef1249b..d76c715a 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlag.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlag.java @@ -193,9 +193,9 @@ public interface FastsettePeriodeGrunnlag { LocalDateTime getSisteSøknadMottattTidspunkt(); - boolean kreverBehandlingSammenhengendeUttak(); - Optional periodeFarRundtFødsel(); Collection perioderMedPleiepenger(); + + LocalDate getSammenhengendeUttakTomDato(); } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlagImpl.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlagImpl.java index 9540f934..befae787 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlagImpl.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePeriodeGrunnlagImpl.java @@ -206,11 +206,6 @@ public LocalDate getTermindato() { return Optional.ofNullable(regelGrunnlag.getSøknad()).map(Søknad::getMottattTidspunkt).orElse(null); } - @Override - public boolean kreverBehandlingSammenhengendeUttak() { - return regelGrunnlag.getBehandling().isKreverSammenhengendeUttak(); - } - @Override public Optional periodeFarRundtFødsel() { return Optional.ofNullable(farRundtFødselIntervall); @@ -220,4 +215,9 @@ public boolean kreverBehandlingSammenhengendeUttak() { public Collection perioderMedPleiepenger() { return regelGrunnlag.getYtelser().pleiepenger().map(p -> p.perioder()).orElse(List.of()); } + + @Override + public LocalDate getSammenhengendeUttakTomDato() { + return regelGrunnlag.getBehandling().getSammenhengendeUttakTomDato(); + } } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePerioderRegelOrkestrering.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePerioderRegelOrkestrering.java index c7ddc0af..ba2a7430 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePerioderRegelOrkestrering.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FastsettePerioderRegelOrkestrering.java @@ -9,6 +9,7 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; +import java.util.stream.Stream; import no.nav.foreldrepenger.regler.feil.UttakRegelFeil; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AktivitetIdentifikator; @@ -51,7 +52,7 @@ public List fastsettePerioder(RegelGrunnlag grunnlag) var allePerioderSomSkalFastsettes = samletUttaksperioder(grunnlag, orkestreringTillegg).stream() .filter(periode -> !erHelg(periode)) .filter(periode -> !oppholdSomFyllesAvAnnenpart(periode, grunnlag.getAnnenpartUttaksperioder())) - .filter(periode -> grunnlag.getBehandling().isKreverSammenhengendeUttak() || !periode.isOpphold()) + .filter(periode -> periode.kreverSammenhengendeUttak(grunnlag.getBehandling().getSammenhengendeUttakTomDato()) || !periode.isOpphold()) .map(periode -> oppdaterMedAktiviteter(periode, grunnlag.getArbeid())) .toList(); validerOverlapp(map(allePerioderSomSkalFastsettes)); @@ -170,10 +171,9 @@ private OrkestreringTillegg lagOrkestreringTillegg(RegelGrunnlag grunnlag) { } private List finnManglendeSøktePerioder(RegelGrunnlag grunnlag) { - if (grunnlag.getBehandling().isKreverSammenhengendeUttak()) { - return ManglendeSøktePerioderForSammenhengendeUttakTjeneste.finnManglendeSøktePerioder(grunnlag); - } - return ManglendeSøktePerioderTjeneste.finnManglendeSøktePerioder(grunnlag); + var mspSammenhengende = ManglendeSøktePerioderForSammenhengendeUttakTjeneste.finnManglendeSøktePerioder(grunnlag); + var mspFritt = ManglendeSøktePerioderTjeneste.finnManglendeSøktePerioder(grunnlag); + return Stream.concat(mspSammenhengende.stream(), mspFritt.stream()).toList(); } private RegelResultatBehandlerResultat behandleRegelresultat(FastsettePerioderRegelresultat regelresultat, diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifiserer.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifiserer.java index da63826b..31c6adca 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifiserer.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifiserer.java @@ -41,6 +41,7 @@ static Set finnKnekkpunkter(RegelGrunnlag grunnlag) { knekkpunkter.addAll(knekkPunkterBaserPåFørsteLovligeUttaksdag(grunnlag)); knekkpunkter.add(familiehendelseDato); knekkpunkter.add(maksimumsgrenseForLovligeUttak); + knekkpunkter.add(grunnlag.getBehandling().getSammenhengendeUttakTomDato().plusDays(1)); grunnlag.getDatoer().getStartdatoNesteStønadsperiode().ifPresent(knekkpunkter::add); if (PrematurukerUtil.oppfyllerKravTilPrematuruker(grunnlag.getDatoer().getFødsel(), grunnlag.getDatoer().getTermin())) { diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmBehandlingKreverSammenhengendeUttak.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmPeriodenKreverSammenhengendeUttak.java similarity index 51% rename from src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmBehandlingKreverSammenhengendeUttak.java rename to src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmPeriodenKreverSammenhengendeUttak.java index d878b797..e13d4a69 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmBehandlingKreverSammenhengendeUttak.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/SjekkOmPeriodenKreverSammenhengendeUttak.java @@ -5,18 +5,18 @@ import no.nav.fpsak.nare.evaluation.Evaluation; import no.nav.fpsak.nare.specification.LeafSpecification; -@RuleDocumentation(SjekkOmBehandlingKreverSammenhengendeUttak.ID) -public class SjekkOmBehandlingKreverSammenhengendeUttak extends LeafSpecification { +@RuleDocumentation(SjekkOmPeriodenKreverSammenhengendeUttak.ID) +public class SjekkOmPeriodenKreverSammenhengendeUttak extends LeafSpecification { public static final String ID = "SHU.1"; - public static final String BESKRIVELSE = "Krever behandlingen sammenhengende uttak?"; + public static final String BESKRIVELSE = "Krever perioden krever sammenhengende uttak?"; - public SjekkOmBehandlingKreverSammenhengendeUttak() { + public SjekkOmPeriodenKreverSammenhengendeUttak() { super(ID); } @Override public Evaluation evaluate(FastsettePeriodeGrunnlag grunnlag) { - return grunnlag.kreverBehandlingSammenhengendeUttak() ? ja() : nei(); + return grunnlag.getAktuellPeriode().kreverSammenhengendeUttak(grunnlag.getSammenhengendeUttakTomDato()) ? ja() : nei(); } } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/aktkrav/SjekkOmSkalTrekkeDagerFraKonto.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/aktkrav/SjekkOmSkalTrekkeDagerFraKonto.java index 95656f1d..5254dcfc 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/aktkrav/SjekkOmSkalTrekkeDagerFraKonto.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/betingelser/aktkrav/SjekkOmSkalTrekkeDagerFraKonto.java @@ -16,8 +16,7 @@ public SjekkOmSkalTrekkeDagerFraKonto() { @Override public Evaluation evaluate(FastsettePeriodeGrunnlag fastsettePeriodeGrunnlag) { - var sammenhengendeUttak = fastsettePeriodeGrunnlag.kreverBehandlingSammenhengendeUttak(); var bareFarRett = fastsettePeriodeGrunnlag.isFarRett() && !fastsettePeriodeGrunnlag.isMorRett(); - return sammenhengendeUttak || bareFarRett ? ja() : nei(); + return fastsettePeriodeGrunnlag.getAktuellPeriode().kreverSammenhengendeUttak(fastsettePeriodeGrunnlag.getSammenhengendeUttakTomDato()) || bareFarRett ? ja() : nei(); } } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/AnnenpartUttakPeriode.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/AnnenpartUttakPeriode.java index db2d2c33..af34a35e 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/AnnenpartUttakPeriode.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/AnnenpartUttakPeriode.java @@ -50,6 +50,10 @@ public boolean isOppholdsperiode() { return oppholdÅrsak; } + public boolean kreverSammenhengendeUttak(LocalDate sammenhengendeUttakTomDato) { + return !getFom().isAfter(sammenhengendeUttakTomDato); + } + public AnnenpartUttakPeriode kopiMedNyPeriode(LocalDate fom, LocalDate tom, List annenpartUttakPeriodeAktiviteter) { diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/Behandling.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/Behandling.java index 5b9b3215..a3fac271 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/Behandling.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/Behandling.java @@ -1,10 +1,12 @@ package no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag; +import java.time.LocalDate; + public final class Behandling { private boolean søkerMor; private boolean berørtBehandling; - private boolean kreverSammenhengendeUttak; + private LocalDate sammenhengendeUttakTomDato = LocalDate.MIN; private Behandling() { } @@ -21,8 +23,8 @@ private Behandling() { return berørtBehandling; } - public boolean isKreverSammenhengendeUttak() { - return kreverSammenhengendeUttak; + public LocalDate getSammenhengendeUttakTomDato() { + return sammenhengendeUttakTomDato; } public static class Builder { @@ -40,8 +42,8 @@ public static class Builder { return this; } - public Builder kreverSammenhengendeUttak(boolean kreverSammenhengendeUttak) { - kladd.kreverSammenhengendeUttak = kreverSammenhengendeUttak; + public Builder sammenhengendeUttakTomDato(LocalDate sammenhengendeUttakTomDato) { + kladd.sammenhengendeUttakTomDato = sammenhengendeUttakTomDato; return this; } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/FastsattUttakPeriode.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/FastsattUttakPeriode.java index 130c45fb..8c3eec49 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/FastsattUttakPeriode.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/FastsattUttakPeriode.java @@ -97,6 +97,10 @@ public boolean isInnvilgetGyldigUtsettelse() { return utsettelse && resultatÅrsak.equals(UTSETTELSE_GYLDIG); } + public boolean kreverSammenhengendeUttak(LocalDate sammenhengendeUttakTomDato) { + return !getFom().isAfter(sammenhengendeUttakTomDato); + } + @Override public String toString() { return "FastsattUttakPeriode{" + "fom=" + fom + ", tom=" + tom + '}'; diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/OppgittPeriode.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/OppgittPeriode.java index 4b25ad29..83ee17a8 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/OppgittPeriode.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/grunnlag/OppgittPeriode.java @@ -238,6 +238,10 @@ public static OppgittPeriode forVanligPeriode(Stønadskontotype stønadskontotyp senestMottattDato, tidligstMottattDato, morsAktivitet, morsStillingsprosent, dokumentasjonVurdering); } + public boolean kreverSammenhengendeUttak(LocalDate sammenhengendeUttakTomDato) { + return !getFom().isAfter(sammenhengendeUttakTomDato); + } + @Override public boolean equals(Object o) { if (this == o) { @@ -272,5 +276,4 @@ public String toString() { public MorsStillingsprosent getMorsStillingsprosent() { return morsStillingsprosent; } - } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/FastsettePeriodeRegel.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/FastsettePeriodeRegel.java index 2ec03b8f..3aff42af 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/FastsettePeriodeRegel.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/FastsettePeriodeRegel.java @@ -9,7 +9,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmAnnenPartsPeriodeErInnvilgetUtsettelse; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmAnnenPartsPeriodeHarUtbetalingsgrad; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmBarnInnlagt; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmBehandlingKreverSammenhengendeUttak; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmPeriodenKreverSammenhengendeUttak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmBerørtBehandling; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmDetErAdopsjonAvStebarn; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmEtterNesteStønadsperiodeHarDisponibleDager; @@ -133,8 +133,8 @@ private Specification sjekkOmAnnenPartsPeriodeErInnvil } private Specification sjekkOmBehandlingKreverSammenhengendeUttak() { - return rs.hvisRegel(SjekkOmBehandlingKreverSammenhengendeUttak.ID, SjekkOmBehandlingKreverSammenhengendeUttak.BESKRIVELSE) - .hvis(new SjekkOmBehandlingKreverSammenhengendeUttak(), ikkeOppfyltUT1166()) + return rs.hvisRegel(SjekkOmPeriodenKreverSammenhengendeUttak.ID, SjekkOmPeriodenKreverSammenhengendeUttak.BESKRIVELSE) + .hvis(new SjekkOmPeriodenKreverSammenhengendeUttak(), ikkeOppfyltUT1166()) .ellers(sjekkOmFødselTermin()); } @@ -295,8 +295,8 @@ private Specification sjekkOmPeriodeErUtsettelse() { } private Specification kreverBehandlingenSammenhengendeUttak() { - return rs.hvisRegel(SjekkOmBehandlingKreverSammenhengendeUttak.ID, SjekkOmBehandlingKreverSammenhengendeUttak.BESKRIVELSE) - .hvis(new SjekkOmBehandlingKreverSammenhengendeUttak(), new UtsettelseDelregelSammenhengendeUttak().getSpecification()) + return rs.hvisRegel(SjekkOmPeriodenKreverSammenhengendeUttak.ID, SjekkOmPeriodenKreverSammenhengendeUttak.BESKRIVELSE) + .hvis(new SjekkOmPeriodenKreverSammenhengendeUttak(), new UtsettelseDelregelSammenhengendeUttak().getSpecification()) .ellers(new UtsettelseDelregel().getSpecification()); } diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/FellesperiodeDelregel.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/FellesperiodeDelregel.java index 82971f01..ec2b63ba 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/FellesperiodeDelregel.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/FellesperiodeDelregel.java @@ -2,7 +2,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkGyldigGrunnForTidligOppstartHelePerioden; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmBehandlingKreverSammenhengendeUttak; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmPeriodenKreverSammenhengendeUttak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmGradertPeriode; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmMorHarRett; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmOmsorgHelePerioden; @@ -152,8 +152,8 @@ private Specification sjekkSaldoForMor() { .ellers( Manuellbehandling.opprett("UT1043", IkkeOppfyltÅrsak.IKKE_STØNADSDAGER_IGJEN, Manuellbehandlingårsak.STØNADSKONTO_TOM, true, false)); - var sjekkOmTrekkesDager = rs.hvisRegel(SjekkOmBehandlingKreverSammenhengendeUttak.ID, SjekkOmBehandlingKreverSammenhengendeUttak.BESKRIVELSE) - .hvis(new SjekkOmBehandlingKreverSammenhengendeUttak(), IkkeOppfylt.opprett("UT1046", IkkeOppfyltÅrsak.MOR_HAR_IKKE_OMSORG, true, false)) + var sjekkOmTrekkesDager = rs.hvisRegel(SjekkOmPeriodenKreverSammenhengendeUttak.ID, SjekkOmPeriodenKreverSammenhengendeUttak.BESKRIVELSE) + .hvis(new SjekkOmPeriodenKreverSammenhengendeUttak(), IkkeOppfylt.opprett("UT1046", IkkeOppfyltÅrsak.MOR_HAR_IKKE_OMSORG, true, false)) .ellers(IkkeOppfylt.opprett("UT1046", IkkeOppfyltÅrsak.MOR_HAR_IKKE_OMSORG, false, false)); return rs.hvisRegel(SjekkOmOmsorgHelePerioden.ID, SjekkOmOmsorgHelePerioden.BESKRIVELSE) @@ -254,8 +254,8 @@ private Specification delFlytForVanligUttak() { .ellers( Manuellbehandling.opprett("UT1146", IkkeOppfyltÅrsak.IKKE_STØNADSDAGER_IGJEN, Manuellbehandlingårsak.STØNADSKONTO_TOM, true, false)); - var sjekkOmTrekkesDager = rs.hvisRegel(SjekkOmBehandlingKreverSammenhengendeUttak.ID, SjekkOmBehandlingKreverSammenhengendeUttak.BESKRIVELSE) - .hvis(new SjekkOmBehandlingKreverSammenhengendeUttak(), IkkeOppfylt.opprett("UT1060", IkkeOppfyltÅrsak.FAR_HAR_IKKE_OMSORG, true, false)) + var sjekkOmTrekkesDager = rs.hvisRegel(SjekkOmPeriodenKreverSammenhengendeUttak.ID, SjekkOmPeriodenKreverSammenhengendeUttak.BESKRIVELSE) + .hvis(new SjekkOmPeriodenKreverSammenhengendeUttak(), IkkeOppfylt.opprett("UT1060", IkkeOppfyltÅrsak.FAR_HAR_IKKE_OMSORG, true, false)) .ellers(IkkeOppfylt.opprett("UT1060", IkkeOppfyltÅrsak.FAR_HAR_IKKE_OMSORG, false, false)); return rs.hvisRegel(SjekkOmOmsorgHelePerioden.ID, SjekkOmOmsorgHelePerioden.BESKRIVELSE) diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/ManglendeS\303\270ktPeriodeDelregel.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/ManglendeS\303\270ktPeriodeDelregel.java" index 42f177b2..f8e94ea9 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/ManglendeS\303\270ktPeriodeDelregel.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/regelflyt/ManglendeS\303\270ktPeriodeDelregel.java" @@ -2,7 +2,7 @@ import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.FastsettePeriodeGrunnlag; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmBareFarHarRett; -import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmBehandlingKreverSammenhengendeUttak; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmPeriodenKreverSammenhengendeUttak; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmDagerIgjenPåAlleAktiviteter; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmErAlleDisponibleDagerIgjenMinsterett; import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.betingelser.SjekkOmPeriodeErForeldrepengerFørFødsel; @@ -77,8 +77,8 @@ private FastsettePeriodeUtfall ut1088() { } private Specification sjekkOmBrukSammenhengendeUttakÅrsaker(Ruleset rs) { - return rs.hvisRegel(SjekkOmBehandlingKreverSammenhengendeUttak.ID, SjekkOmBehandlingKreverSammenhengendeUttak.BESKRIVELSE) - .hvis(new SjekkOmBehandlingKreverSammenhengendeUttak(), + return rs.hvisRegel(SjekkOmPeriodenKreverSammenhengendeUttak.ID, SjekkOmPeriodenKreverSammenhengendeUttak.BESKRIVELSE) + .hvis(new SjekkOmPeriodenKreverSammenhengendeUttak(), Manuellbehandling.opprett("UT1096", IkkeOppfyltÅrsak.HULL_MELLOM_FORELDRENES_PERIODER, Manuellbehandlingårsak.VURDER_OM_UTSETTELSE, true, false)) .ellers(sjekkOmPeriodeGjelderMorsReserverteUker(rs)); diff --git a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/saldo/SaldoUtregningGrunnlag.java b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/saldo/SaldoUtregningGrunnlag.java index ce883a5e..a098987b 100644 --- a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/saldo/SaldoUtregningGrunnlag.java +++ b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/saldo/SaldoUtregningGrunnlag.java @@ -31,7 +31,7 @@ public class SaldoUtregningGrunnlag { private final Set aktiviteter; private final LocalDateTime sisteSøknadMottattTidspunktSøker; private final LocalDateTime sisteSøknadMottattTidspunktAnnenpart; - private final boolean kreverSammenhengendeUttak; + private final LocalDate sammenhengendeUttakTomDato; private SaldoUtregningGrunnlag(List søkersFastsattePerioder, LocalDate utregningsdato, @@ -42,7 +42,7 @@ private SaldoUtregningGrunnlag(List søkersFastsattePeriod Set aktiviteter, LocalDateTime sisteSøknadMottattTidspunktSøker, LocalDateTime sisteSøknadMottattTidspunktAnnenpart, - boolean kreverSammenhengendeUttak) { + LocalDate sammenhengendeUttakTomDato) { this.søkersFastsattePerioder = søkersFastsattePerioder; this.utregningsdato = utregningsdato; this.berørtBehandling = berørtBehandling; @@ -51,7 +51,7 @@ private SaldoUtregningGrunnlag(List søkersFastsattePeriod this.aktiviteter = aktiviteter; this.sisteSøknadMottattTidspunktSøker = sisteSøknadMottattTidspunktSøker; this.sisteSøknadMottattTidspunktAnnenpart = sisteSøknadMottattTidspunktAnnenpart; - this.kreverSammenhengendeUttak = kreverSammenhengendeUttak; + this.sammenhengendeUttakTomDato = sammenhengendeUttakTomDato; kontoer.getStønadskontotyper().forEach(k -> this.stønadskonti.put(k, new Trekkdager(kontoer.getStønadskontoTrekkdager(k)))); kontoer.getSpesialkontotyper().forEach(k -> this.spesialkonti.put(k, new Trekkdager(kontoer.getSpesialkontoTrekkdager(k)))); } @@ -63,13 +63,13 @@ public static SaldoUtregningGrunnlag forUtregningAvHeleUttaket(List p.getAktiviteter().stream()) .map(a -> a.getAktivitetIdentifikator()) .collect(Collectors.toSet()); return new SaldoUtregningGrunnlag(søkersFastsattePerioder, LocalDate.MAX, berørtBehandling, annenpartsPerioder, List.of(), kontoer, - aktiviteter, sisteSøknadMottattTidspunktSøker, sisteSøknadMottattTidspunktAnnenpart, kreverSammenhengendeUttak); + aktiviteter, sisteSøknadMottattTidspunktSøker, sisteSøknadMottattTidspunktAnnenpart, sammenhengendeUttakTomDato); } // Brukes som input til fastsettingsregler - inneholder tidligere vedtatte før endringsdato + perioder opp til aktuell periode @@ -82,7 +82,7 @@ public static SaldoUtregningGrunnlag forUtregningAvDelerAvUttak(List søktePerioder) { return new SaldoUtregningGrunnlag(søkersFastsattePerioder, utregningsdato, true, annenpartsPerioder, søktePerioder, grunnlag.getKontoer(), - grunnlag.getArbeid().getAktiviteter(), null, null, grunnlag.getBehandling().isKreverSammenhengendeUttak()); + grunnlag.getArbeid().getAktiviteter(), null, null, grunnlag.getBehandling().getSammenhengendeUttakTomDato()); } List getSøkersFastsattePerioder() { - return søkersFastsattePerioder.stream().filter(p -> kreverSammenhengendeUttak || !p.isOpphold()).toList(); + return søkersFastsattePerioder.stream().filter(p -> p.kreverSammenhengendeUttak(sammenhengendeUttakTomDato) || !p.isOpphold()).toList(); } LocalDate getUtregningsdato() { @@ -108,7 +108,7 @@ LocalDate getUtregningsdato() { } List getAnnenpartsPerioder() { - return annenpartsPerioder.stream().filter(p -> kreverSammenhengendeUttak || !p.isOppholdsperiode()).toList(); + return annenpartsPerioder.stream().filter(p -> p.kreverSammenhengendeUttak(sammenhengendeUttakTomDato) || !p.isOppholdsperiode()).toList(); } public List getSøktePerioder() { diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjeneste.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjeneste.java" index a4975efe..9ba84324 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjeneste.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjeneste.java" @@ -57,11 +57,23 @@ public final class ManglendeSøktePerioderForSammenhengendeUttakTjeneste { return samlet; } + private static Optional fjernPerioderEtterSammenhengendeTomDato(RegelGrunnlag grunnlag, OppgittPeriode msp) { + if (msp.overlapper(grunnlag.getBehandling().getSammenhengendeUttakTomDato())) { + return Optional.of( + lagManglendeSøktPeriode(msp.getFom(), grunnlag.getBehandling().getSammenhengendeUttakTomDato(), msp.getStønadskontotype())); + } + if (msp.getTom().isBefore(grunnlag.getBehandling().getSammenhengendeUttakTomDato())) { + return Optional.of(msp); + } + return Optional.empty(); + } + private static List trimPerioder(RegelGrunnlag grunnlag, List manglendeSøktePerioder) { return manglendeSøktePerioder.stream() .map(ManglendeSøktPeriodeUtil::fjernHelg) .filter(Optional::isPresent) .map(Optional::get) + .flatMap(msp -> fjernPerioderEtterSammenhengendeTomDato(grunnlag, msp).stream()) .map(p -> fjernPerioderFørSkjæringstidspunktOpptjening(p, grunnlag)) .filter(Optional::isPresent) .map(Optional::get) diff --git "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderTjeneste.java" "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderTjeneste.java" index 30748466..7e72fda2 100644 --- "a/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderTjeneste.java" +++ "b/src/main/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderTjeneste.java" @@ -53,10 +53,23 @@ private static List fellesFilter(RegelGrunnlag grunnlag, List fjernPerioderFørSammenhengendeTom(grunnlag, msp).stream()) .sorted(Comparator.comparing(Periode::getFom)) .toList(); } + private static Optional fjernPerioderFørSammenhengendeTom(RegelGrunnlag grunnlag, OppgittPeriode msp) { + var sammenhengendeUttakTomDato = grunnlag.getBehandling().getSammenhengendeUttakTomDato(); + if (msp.overlapper(sammenhengendeUttakTomDato)) { + return Optional.of( + lagManglendeSøktPeriode(sammenhengendeUttakTomDato.plusDays(1), msp.getTom(), msp.getStønadskontotype())); + } + if (msp.getFom().isAfter(sammenhengendeUttakTomDato)) { + return Optional.of(msp); + } + return Optional.empty(); + } + /** * Gjelder ikke bare far har rett, se egen metode */ diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AvslagAktivitetskravOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AvslagAktivitetskravOrkestreringTest.java index c227bafc..ec0891e7 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AvslagAktivitetskravOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/AvslagAktivitetskravOrkestreringTest.java @@ -295,7 +295,7 @@ void kun_far_har_rett() { fødselsdato, ARBEID, MORS_AKTIVITET_IKKE_GODKJENT); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(true)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .opptjening(new Opptjening.Builder().skjæringstidspunkt(fødselsdato)) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett()) @@ -379,7 +379,7 @@ private void testAvslag(MorsAktivitet morsAktivitet, var oppgittPeriode = fellesperiode(fødselsdato, morsAktivitet, dokumentasjonVurdering); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittPeriode(oppgittPeriode); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(sammenhengendeUttak)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().sammenhengendeUttakTomDato(sammenhengendeUttak ? LocalDate.of(9999, 1, 1) : LocalDate.MIN)) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(beggeRett()) .søknad(søknad) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/DelvisSammenhengendeOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/DelvisSammenhengendeOrkestreringTest.java new file mode 100644 index 00000000..85aa8c8d --- /dev/null +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/DelvisSammenhengendeOrkestreringTest.java @@ -0,0 +1,63 @@ +package no.nav.foreldrepenger.regler.uttak.fastsetteperiode; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.time.LocalDate; + +import org.junit.jupiter.api.Test; + +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenPart; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.AnnenpartUttakPeriode; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Perioderesultattype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Stønadskontotype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Søknadstype; +import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.UtsettelseÅrsak; + +class DelvisSammenhengendeOrkestreringTest extends FastsettePerioderRegelOrkestreringTestBase { + + @Test + void skal_håndtere_behandlinger_med_delvis_sammenhengende_uttak_uttak_overlapper() { + + var fødselsdato = LocalDate.of(2021, 6, 1); + var sammenhengendeUttakTomDato = fødselsdato.plusWeeks(20).minusDays(1); + var annenpartUttakPeriode = AnnenpartUttakPeriode.Builder.uttak(fødselsdato, fødselsdato.plusWeeks(10).minusDays(1)).innvilget(true).build(); + var utsettelsePåTversAvRegelendring = utsettelsePeriode(annenpartUttakPeriode.getTom().plusWeeks(1), sammenhengendeUttakTomDato.plusWeeks(2), + UtsettelseÅrsak.SYKDOM_SKADE, null); + var fedrekvote = oppgittPeriode(Stønadskontotype.FEDREKVOTE, utsettelsePåTversAvRegelendring.getTom().plusWeeks(2), + utsettelsePåTversAvRegelendring.getTom().plusWeeks(4)); + var grunnlag = basicGrunnlagFar(fødselsdato).behandling(farBehandling().sammenhengendeUttakTomDato(sammenhengendeUttakTomDato)) + .kontoer(defaultKontoer().konto(Stønadskontotype.FEDREKVOTE, 1000)) + .annenPart(new AnnenPart.Builder().uttaksperiode(annenpartUttakPeriode)) + .søknad(søknad(Søknadstype.FØDSEL, utsettelsePåTversAvRegelendring, fedrekvote)); + + var resultat = fastsettPerioder(grunnlag); + + assertThat(resultat).hasSize(4); + assertThat(resultat.get(0).uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.MANUELL_BEHANDLING); //msp i sammenhengende + assertThat(resultat.get(1).uttakPeriode().getPerioderesultattype()).isEqualTo( + Perioderesultattype.MANUELL_BEHANDLING); //utsettelse i sammenhengende + assertThat(resultat.get(2).uttakPeriode().getPerioderesultattype()).isEqualTo( + Perioderesultattype.INNVILGET); //utsettelse etter sammenhengende + assertThat(resultat.get(3).uttakPeriode().getPerioderesultattype()).isEqualTo( + Perioderesultattype.INNVILGET); //fedrekvote etter sammenhengende + } + + @Test + void skal_håndtere_behandlinger_med_delvis_sammenhengende_uttak_msp_overlapper() { + + var fødselsdato = LocalDate.of(2024, 8, 28); + var sammenhengendeUttakTomDato = fødselsdato.plusWeeks(8).minusDays(1); + var mødrekvote1 = oppgittPeriode(Stønadskontotype.MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1)); + var mødrekvote2 = oppgittPeriode(Stønadskontotype.MØDREKVOTE, fødselsdato.plusWeeks(9), fødselsdato.plusWeeks(10).minusDays(1)); + var grunnlag = basicGrunnlagMor(fødselsdato).behandling(morBehandling().sammenhengendeUttakTomDato(sammenhengendeUttakTomDato)) + .søknad(søknad(Søknadstype.FØDSEL, mødrekvote1, mødrekvote2)); + + var resultat = fastsettPerioder(grunnlag); + + assertThat(resultat).hasSize(3); + assertThat(resultat.get(0).uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); //mødrekvote første 6 + assertThat(resultat.get(1).uttakPeriode().getPerioderesultattype()).isEqualTo( + Perioderesultattype.MANUELL_BEHANDLING); //msp fram til sammenhengende + assertThat(resultat.get(2).uttakPeriode().getPerioderesultattype()).isEqualTo(Perioderesultattype.INNVILGET); //mødrekvote i sammenhengende + } +} diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeDelregelTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeDelregelTest.java index 797c7c88..3b4b0983 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeDelregelTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/FellesperiodeDelregelTest.java @@ -137,7 +137,7 @@ private RegelGrunnlag.Builder basicGrunnlagFar() { var søknadsperiode = oppgittPeriode(FØDSELSDATO.plusWeeks(12), FØDSELSDATO.plusWeeks(14), null, false); var kontoer = enFellesperiodeKonto(13 * 5); var grunnlag = basicGrunnlagMor().rettOgOmsorg(new RettOgOmsorg.Builder().samtykke(true).morHarRett(true).farHarRett(true).harOmsorg(false)) - .behandling(new Behandling.Builder().søkerErMor(true).kreverSammenhengendeUttak(true)) + .behandling(new Behandling.Builder().søkerErMor(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(søknad(søknadsperiode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .kontoer(kontoer) @@ -170,7 +170,7 @@ private RegelGrunnlag.Builder basicGrunnlagFar() { var søknadsperiode = oppgittPeriode(FØDSELSDATO.plusWeeks(12), FØDSELSDATO.plusWeeks(14), null, false); var kontoer = enFellesperiodeKonto(13 * 5); var grunnlag = basicGrunnlagFar().rettOgOmsorg(new RettOgOmsorg.Builder().samtykke(true).morHarRett(true).farHarRett(true).harOmsorg(false)) - .behandling(new Behandling.Builder().søkerErMor(false).kreverSammenhengendeUttak(true)) + .behandling(new Behandling.Builder().søkerErMor(false).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(søknad(søknadsperiode)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .kontoer(kontoer) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ForeldrepengerDelregelTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ForeldrepengerDelregelTest.java index f4e883ce..413677e5 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ForeldrepengerDelregelTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ForeldrepengerDelregelTest.java @@ -720,7 +720,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett_noenDisponi var fødselsdato = LocalDate.of(2022, 10, 1); var oppgittPeriode = oppgittPeriode(fødselsdato, fødselsdato.plusWeeks(1).plusDays(1)); - var grunnlag = grunnlagFar(fødselsdato).behandling(new Behandling.Builder().søkerErMor(false).kreverSammenhengendeUttak(false)) + var grunnlag = grunnlagFar(fødselsdato).behandling(new Behandling.Builder().søkerErMor(false)) .søknad(søknad(oppgittPeriode)) .rettOgOmsorg(new RettOgOmsorg.Builder().morHarRett(false).farHarRett(true).aleneomsorg(false)) .kontoer(foreldrepengerKonto(40 * 5).farUttakRundtFødselDager(10).minsterettDager(10)) @@ -736,7 +736,7 @@ void far_etterFamiliehendelse_utenAleneomsorg_medFarRett_utenMorRett_noenDisponi var fødselsdato = LocalDate.of(2022, 10, 1); var oppgittPeriode = oppgittPeriode(fødselsdato.minusDays(2), fødselsdato.minusDays(1)); - var grunnlag = grunnlagFar(fødselsdato).behandling(new Behandling.Builder().søkerErMor(false).kreverSammenhengendeUttak(false)) + var grunnlag = grunnlagFar(fødselsdato).behandling(new Behandling.Builder().søkerErMor(false)) .søknad(søknad(oppgittPeriode)) .rettOgOmsorg(new RettOgOmsorg.Builder().morHarRett(false).farHarRett(true).aleneomsorg(false)) .kontoer(foreldrepengerKonto(40 * 5).farUttakRundtFødselDager(10).minsterettDager(10)) @@ -752,7 +752,7 @@ void bfhr_rundt_termin_blir_innvilget() { var termindato = LocalDate.of(2022, 10, 1); var oppgittPeriode = oppgittPeriode(termindato.minusDays(3), termindato.plusWeeks(1).plusDays(1)); - var grunnlag = grunnlagFar(termindato).behandling(new Behandling.Builder().søkerErMor(false).kreverSammenhengendeUttak(false)) + var grunnlag = grunnlagFar(termindato).behandling(new Behandling.Builder().søkerErMor(false)) .søknad(søknad(oppgittPeriode)) .rettOgOmsorg(new RettOgOmsorg.Builder().morHarRett(false).farHarRett(true).aleneomsorg(false)) .datoer(new Datoer.Builder().termin(termindato)) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/GraderingOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/GraderingOrkestreringTest.java index 028e00a5..d73c297b 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/GraderingOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/GraderingOrkestreringTest.java @@ -660,7 +660,7 @@ void skal_knekke_riktig_ved_flere_graderingsperioder_og_flere_arbeidsforhold() { Set.of(ARBEIDSFORHOLD_1), mottattDato, mottattDato, null, null, null); grunnlag.datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(beggeRett()) - .behandling(morBehandling().kreverSammenhengendeUttak(true)) + .behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) .oppgittPeriode(gradering)); @@ -679,7 +679,7 @@ void skal_knekke_riktig_ved_flere_graderingsperioder_og_flere_arbeidsforhold() { Set.of(ARBEIDSFORHOLD_1), mottattDato, mottattDato, null, null, null); grunnlag.datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(beggeRett()) - .behandling(morBehandling().kreverSammenhengendeUttak(false)) + .behandling(morBehandling()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(6).minusDays(1))) .oppgittPeriode(gradering)); @@ -722,7 +722,7 @@ void skal_knekke_riktig_ved_flere_graderingsperioder_og_flere_arbeidsforhold() { .rettOgOmsorg(beggeRett()) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1)).arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_2))) .kontoer(kontoer) - .behandling(morBehandling().kreverSammenhengendeUttak(true)) + .behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(oppgittPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(5).minusDays(1))) .oppgittPeriode(gradering)) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifisererTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifisererTest.java index 28cf23f0..ba6d908f 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifisererTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/KnekkpunktIdentifisererTest.java @@ -357,6 +357,20 @@ void finnerKnekkpunktVedOverlappIUttakperioderMedAnnenPart_overlapperSluttAvPeri assertThat(knekkpunkter).isNotEmpty().doesNotContain(mottattdato); } + @Test + void skalKnekkePåSammenhengendeUttakTom() { + var dato = LocalDate.of(2024, 1, 1); + var grunnlag = RegelGrunnlagTestBuilder.create() + .behandling(new Behandling.Builder().sammenhengendeUttakTomDato(dato)) + .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL)) + .datoer(new Datoer.Builder().fødsel(dato.minusWeeks(2))) + .build(); + + var knekkpunkter = KnekkpunktIdentifiserer.finnKnekkpunkter(grunnlag); + + assertThat(knekkpunkter).contains(dato.plusDays(1)); + } + private List standardKnekkpunktFødsel(LocalDate fødselsdato, LocalDate førsteLovligeSøknadsperiode) { return List.of(fødselsdato.minusWeeks(12), //tidligste mulige uttak førsteLovligeSøknadsperiode,//ifbm søknadsfrist diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktSammenhengendeUttakOrkestreringTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktSammenhengendeUttakOrkestreringTest.java" index d46af305..8a1e88dd 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktSammenhengendeUttakOrkestreringTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ManglendeS\303\270ktSammenhengendeUttakOrkestreringTest.java" @@ -84,11 +84,11 @@ private Kontoer.Builder kontoer(Konto.Builder... konto) { } private RegelGrunnlag.Builder basicGrunnlagFarSammenhengendeUttak(LocalDate fødselsdato) { - return basicGrunnlag(fødselsdato).behandling(farBehandling().kreverSammenhengendeUttak(true)); + return basicGrunnlag(fødselsdato).behandling(farBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))); } private RegelGrunnlag.Builder basicGrunnlagMorSammenhengendeUttak(LocalDate fødselsdato) { - return basicGrunnlag(fødselsdato).behandling(morBehandling().kreverSammenhengendeUttak(true)); + return basicGrunnlag(fødselsdato).behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))); } @Test @@ -176,7 +176,7 @@ private RegelGrunnlag.Builder basicGrunnlagMorSammenhengendeUttak(LocalDate fød .kontoer(defaultKontoer()) .inngangsvilkår(oppfyltAlleVilkår()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) - .behandling(morBehandling().kreverSammenhengendeUttak(true)) + .behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .rettOgOmsorg(beggeRett()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(oppgittPeriode(Stønadskontotype.FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/MinsterettOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/MinsterettOrkestreringTest.java index 78395c98..89e12b76 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/MinsterettOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/MinsterettOrkestreringTest.java @@ -60,7 +60,7 @@ class MinsterettOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB var oppgittPeriode2 = foreldrepenger(fødselsdato.plusYears(1), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriodeU1, oppgittPeriode2)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) @@ -92,7 +92,7 @@ class MinsterettOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB var oppgittPeriode3 = foreldrepenger(fødselsdato.plusYears(2), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2, oppgittPeriode3)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) @@ -122,7 +122,7 @@ class MinsterettOrkestreringTest extends FastsettePerioderRegelOrkestreringTestB var oppgittPeriode = foreldrepenger(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(23).minusDays(1), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) @@ -149,7 +149,7 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { var oppgittPeriode2 = foreldrepenger(fødselsdato.plusWeeks(45), fødselsdato.plusWeeks(47).minusDays(1), null, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .inngangsvilkår(oppfyltAlleVilkår()) @@ -179,7 +179,7 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { var oppgittPeriode3 = foreldrepenger(fødselsdato.plusWeeks(40), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2, oppgittPeriode3)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) @@ -210,7 +210,7 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { var oppgittPeriode2 = foreldrepenger(fødselsdato.plusWeeks(14), MorsAktivitet.SYK, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) @@ -237,7 +237,7 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { null); // Strekker seg utover stønadsperioden var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode, oppgittPeriode2)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) @@ -264,7 +264,7 @@ void bfhr_enkel_minsterett_vs_innvilget_med_mye_godkjent_aktivitet() { var oppgittPeriode = foreldrepenger(fødselsdato.plusWeeks(7), fødselsdato.plusWeeks(23).minusDays(1), MorsAktivitet.UFØRE, null); var søknad = new Søknad.Builder().type(Søknadstype.FØDSEL).oppgittePerioder(List.of(oppgittPeriode)); - var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling().kreverSammenhengendeUttak(false)) + var grunnlag = new RegelGrunnlag.Builder().behandling(farBehandling()) .datoer(new Datoer.Builder().fødsel(fødselsdato)) .rettOgOmsorg(bareFarRett().morUføretrygd(true)) .søknad(søknad) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/OrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/OrkestreringTest.java index a48d64ac..ed0fb13a 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/OrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/OrkestreringTest.java @@ -489,7 +489,7 @@ void begge_rett_med_termin_fff_knekkes_riktig() { var aktivitetIdentifikator = AktivitetIdentifikator.annenAktivitet(); var kontoer = new Kontoer.Builder().konto(konto(MØDREKVOTE, 75)).konto(konto(FORELDREPENGER_FØR_FØDSEL, 15)); var grunnlag = new RegelGrunnlag.Builder().datoer(datoer(fødselsdato)) - .behandling(morBehandling().kreverSammenhengendeUttak(true)) + .behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .rettOgOmsorg(new RettOgOmsorg.Builder().samtykke(true)) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(aktivitetIdentifikator))) .kontoer(kontoer) @@ -629,7 +629,7 @@ void skal_filtrere_bort_perioden_som_kun_er_helg() { .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(ARBEIDSFORHOLD_1))) .kontoer(kontoer) .datoer(datoer(fødselsdato)) - .behandling(morBehandling().kreverSammenhengendeUttak(true)) + .behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .rettOgOmsorg(beggeRett()) .søknad( new Søknad.Builder().oppgittPeriode(oppgittPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1))) @@ -802,7 +802,7 @@ void skal_filtrere_bort_perioden_som_kun_er_helg() { var fødselsdato = LocalDate.of(2018, 6, 14); var arbeidsforhold1 = new Arbeidsforhold(ARBEIDSFORHOLD_1); var arbeidsforhold2 = new Arbeidsforhold(ARBEIDSFORHOLD_2); - var grunnlag = basicGrunnlag(fødselsdato).behandling(morBehandling().kreverSammenhengendeUttak(true)) + var grunnlag = basicGrunnlag(fødselsdato).behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .rettOgOmsorg(aleneomsorg()) //50% prosent stilling, men søker utsettelse. Går til manuell behandling .arbeid(new Arbeid.Builder().arbeidsforhold(arbeidsforhold1) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RevurderingTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RevurderingTest.java index 52724289..2817cf86 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RevurderingTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/RevurderingTest.java @@ -77,7 +77,7 @@ class RevurderingTest { .annenPart(annenPart(AnnenpartUttakPeriode.Builder.utsettelse(FAMILIEHENDELSE_DATO.plusWeeks(10), FAMILIEHENDELSE_DATO.plusWeeks(12)) .innvilget(true) .build())) - .behandling(berørtBehandling().søkerErMor(true).kreverSammenhengendeUttak(true)) + .behandling(berørtBehandling().søkerErMor(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .build(); var regelresultat = kjørRegel(oppgittPeriode, grunnlag); diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SaldoUtregningTjenesteTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SaldoUtregningTjenesteTest.java index 1535ea32..59cf08d2 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SaldoUtregningTjenesteTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/SaldoUtregningTjenesteTest.java @@ -93,7 +93,7 @@ private OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, Local new AnnenPart.Builder().uttaksperiode(annenpartOpphold).uttaksperiode(annenpartUttaksperiode)) .kontoer(kontoer) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(annenAktivitet()))) - .behandling(new Behandling.Builder().berørtBehandling(true).kreverSammenhengendeUttak(true)) + .behandling(new Behandling.Builder().berørtBehandling(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(new Søknad.Builder().oppgittPeriode(aktuellPeriode)) .build(); @@ -120,7 +120,7 @@ private OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, Local new AnnenPart.Builder().uttaksperiode(annenpartOpphold).uttaksperiode(annenpartUttaksperiode)) .kontoer(kontoer) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(annenAktivitet()))) - .behandling(new Behandling.Builder().berørtBehandling(true).kreverSammenhengendeUttak(true)) + .behandling(new Behandling.Builder().berørtBehandling(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(new Søknad.Builder().oppgittPeriode(aktuellPeriode)) .build(); @@ -147,7 +147,7 @@ private OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, Local new AnnenPart.Builder().uttaksperiode(annenpartOpphold).uttaksperiode(annenpartUttaksperiode)) .kontoer(kontoer) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(annenAktivitet()))) - .behandling(new Behandling.Builder().berørtBehandling(true).kreverSammenhengendeUttak(true)) + .behandling(new Behandling.Builder().berørtBehandling(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(new Søknad.Builder().oppgittPeriode(aktuellPeriode)) .build(); @@ -174,7 +174,7 @@ private OppgittPeriode oppgittPeriode(Stønadskontotype stønadskontotype, Local new AnnenPart.Builder().uttaksperiode(annenpartOpphold).uttaksperiode(annenpartUttaksperiode)) .kontoer(kontoer) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(annenAktivitet()))) - .behandling(new Behandling.Builder().berørtBehandling(true).kreverSammenhengendeUttak(true)) + .behandling(new Behandling.Builder().berørtBehandling(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(new Søknad.Builder().oppgittPeriode(aktuellPeriode)) .build(); @@ -385,7 +385,7 @@ void saldoutregning_flerbarnsdager_begge_fellesperiode() { new AnnenpartUttakPeriodeAktivitet(forSelvstendigNæringsdrivende(), FELLESPERIODE, new Trekkdager(5), Utbetalingsgrad.HUNDRED))) .build(); var saldoUtregningGrunnlag = SaldoUtregningGrunnlag.forUtregningAvHeleUttaket(List.of(fastsattPeriode), true, List.of(annenpartsPeriode), - kontoer.build(), null, null, false); + kontoer.build(), null, null, LocalDate.MIN); var resultat = SaldoUtregningTjeneste.lagUtregning(saldoUtregningGrunnlag); assertThat(resultat.restSaldoFlerbarnsdager(identifikator)).isEqualTo(new Trekkdager(16 * 5)); @@ -595,7 +595,7 @@ void skal_regne_riktig_flerbarnsdager_hvis_annenpart_har_nyoppstartet_arbeidsfor new AnnenpartUttakPeriodeAktivitet(annenpartsArbeidsforhold2, FELLESPERIODE, new Trekkdager(1), Utbetalingsgrad.HUNDRED)) .build(); var saldoUtregningGrunnlag = SaldoUtregningGrunnlag.forUtregningAvHeleUttaket(List.of(fastsattPeriode), false, - List.of(annenpartPeriode1, annenpartPeriode2), kontoer.build(), null, null, false); + List.of(annenpartPeriode1, annenpartPeriode2), kontoer.build(), null, null, LocalDate.MIN); var resultat = SaldoUtregningTjeneste.lagUtregning(saldoUtregningGrunnlag); assertThat(resultat.saldoITrekkdager(FELLESPERIODE, søkersArbeidsforhold)).isEqualTo(new Trekkdager(97)); @@ -630,7 +630,7 @@ void skal_regne_riktig_flerbarnsdager_hvis_annenpart_har_nyoppstartet_arbeidsfor var grunnlag = SaldoUtregningGrunnlag.forUtregningAvHeleUttaket(List.of(opphold, uttakEtterOpphold), false, List.of(annenpartUttaksperiode1, annenpartUttaksperiode2, annenpartUttaksperiode3), kontoer.build(), - LocalDateTime.of(annenpartUttaksperiode1.getFom(), LocalTime.NOON), LocalDateTime.of(opphold.getFom(), LocalTime.NOON), true); + LocalDateTime.of(annenpartUttaksperiode1.getFom(), LocalTime.NOON), LocalDateTime.of(opphold.getFom(), LocalTime.NOON), LocalDate.MAX); var resultat = SaldoUtregningTjeneste.lagUtregning(grunnlag); //100 - 25 - 25 - 25 - 1 @@ -655,7 +655,7 @@ void skal_regne_riktig_flerbarnsdager_hvis_annenpart_har_nyoppstartet_arbeidsfor var grunnlag = SaldoUtregningGrunnlag.forUtregningAvHeleUttaket(List.of(opphold, uttakEtterOpphold), false, List.of(annenpartUttaksperiode), kontoer.build(), LocalDateTime.of(annenpartUttaksperiode.getFom(), LocalTime.NOON), LocalDateTime.of(opphold.getFom(), LocalTime.NOON), - true); + LocalDate.MAX); var resultat = SaldoUtregningTjeneste.lagUtregning(grunnlag); //100 - 3 - 2 - 1 @@ -684,7 +684,7 @@ void skal_regne_riktig_flerbarnsdager_hvis_annenpart_har_nyoppstartet_arbeidsfor var grunnlag = SaldoUtregningGrunnlag.forUtregningAvHeleUttaket(List.of(opphold, uttakEtterOpphold), false, List.of(annenpartUttaksperiode1, annenpartUttaksperiode2), kontoer.build(), - LocalDateTime.of(annenpartUttaksperiode1.getFom(), LocalTime.NOON), LocalDateTime.of(opphold.getFom(), LocalTime.NOON), true); + LocalDateTime.of(annenpartUttaksperiode1.getFom(), LocalTime.NOON), LocalDateTime.of(opphold.getFom(), LocalTime.NOON), LocalDate.MAX); var resultat = SaldoUtregningTjeneste.lagUtregning(grunnlag); //100 - 2 - 2 - 1 - 1 @@ -715,7 +715,7 @@ void oppholdsperioder_skal_ikke_telle_dager_ved_fritt_uttak() { var kontoer = new Kontoer.Builder().konto(konto(FELLESPERIODE, 100)).build(); var grunnlag = SaldoUtregningGrunnlag.forUtregningAvHeleUttaket(List.of(opphold, uttakEtterOpphold), false, - List.of(annenpartOpphold, annenpartUttak), kontoer, null, null, false); + List.of(annenpartOpphold, annenpartUttak), kontoer, null, null, LocalDate.MIN); var resultat = SaldoUtregningTjeneste.lagUtregning(grunnlag); assertThat(resultat.saldo(FELLESPERIODE)).isEqualTo(98); @@ -745,7 +745,7 @@ void oppholdsperioder_skal_telle_dager_ved_sammehengende_uttak() { var kontoer = new Kontoer.Builder().konto(konto(FELLESPERIODE, 100)).build(); var grunnlag = SaldoUtregningGrunnlag.forUtregningAvHeleUttaket(List.of(opphold, uttakEtterOpphold), false, - List.of(annenpartOpphold, annenpartUttak), kontoer, null, null, true); + List.of(annenpartOpphold, annenpartUttak), kontoer, null, null, LocalDate.MAX); var resultat = SaldoUtregningTjeneste.lagUtregning(grunnlag); assertThat(resultat.saldo(FELLESPERIODE)).isEqualTo(96); diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/S\303\270knadMottattDatoRegelTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/S\303\270knadMottattDatoRegelTest.java" index addcebf8..d7925c0f 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/S\303\270knadMottattDatoRegelTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/S\303\270knadMottattDatoRegelTest.java" @@ -111,7 +111,7 @@ private RegelGrunnlag.Builder basicBuilder() { .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(aktivitetIdentifikator))) .datoer(new Datoer.Builder().fødsel(FAMILIEHENDELSE_DATO)) .rettOgOmsorg(new RettOgOmsorg.Builder().samtykke(true)) - .behandling(new Behandling.Builder().søkerErMor(true).kreverSammenhengendeUttak(true)) + .behandling(new Behandling.Builder().søkerErMor(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .inngangsvilkår( new Inngangsvilkår.Builder().adopsjonOppfylt(true).foreldreansvarnOppfylt(true).fødselOppfylt(true).opptjeningOppfylt(true)); } diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ToParterOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ToParterOrkestreringTest.java index b5d1f5d8..db6839c6 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ToParterOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/ToParterOrkestreringTest.java @@ -382,7 +382,7 @@ private Konto.Builder kvote(Stønadskontotype foreldrepengerFørFødsel, int uke annenpartPeriodeInnvilget(fødselsdato, fødselsdato.plusWeeks(6).minusDays(1), MØDREKVOTE, new Trekkdager(30))) .uttaksperiode( annenpartPeriodeOpphold(fødselsdato.plusWeeks(6), fødselsdato.plusWeeks(8).minusDays(1), OppholdÅrsak.FEDREKVOTE_ANNEN_FORELDER))) - .behandling(farBehandling().kreverSammenhengendeUttak(true)) + .behandling(farBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(8), fødselsdato.plusWeeks(23).minusDays(1)))); @@ -491,7 +491,7 @@ void oppholdsperioder_som_overlapper_med_annenpart_skal_fjernes() { annenpartsPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1), forFrilans(), true)) .uttaksperiode(annenpartsPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(15).minusDays(1), forFrilans(), true)) .uttaksperiode(annenpartsPeriode(FELLESPERIODE, fødselsdato.plusWeeks(15), fødselsdato.plusWeeks(17), forFrilans(), true))) - .behandling(farBehandling().kreverSammenhengendeUttak(true)) + .behandling(farBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .rettOgOmsorg(beggeRett()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(14), fødselsdato.plusWeeks(15).minusDays(1))) @@ -524,7 +524,7 @@ void oppholdsperioder_som_overlapper_med_annenpart_uten_trekkdager_skal_ikke_fje annenpartsPeriode(FORELDREPENGER_FØR_FØDSEL, fødselsdato.minusWeeks(3), fødselsdato.minusDays(1), forFrilans(), true)) .uttaksperiode(annenpartsPeriode(MØDREKVOTE, fødselsdato, fødselsdato.plusWeeks(15).minusDays(1), forFrilans(), true)) .uttaksperiode(annenpartPeriodeUtenTrekkdager)) - .behandling(farBehandling().kreverSammenhengendeUttak(true)) + .behandling(farBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .rettOgOmsorg(beggeRett()) .søknad(new Søknad.Builder().type(Søknadstype.FØDSEL) .oppgittPeriode(oppgittPeriode(FEDREKVOTE, fødselsdato.plusWeeks(14), fødselsdato.plusWeeks(15).minusDays(1))) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradOrkestreringTest.java index 63858214..0c8289ce 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtbetalingsgradOrkestreringTest.java @@ -70,7 +70,7 @@ void gyldig_utsettelse_gir_ingen_utbetaling() { var fellesperiode = oppgittPeriode(FELLESPERIODE, fødselsdato.plusWeeks(12), fødselsdato.plusWeeks(14).minusDays(1)); //Krever sammenhengende pga søkt om ferie som innvilges, dette er gamle regler - var grunnlag = basicGrunnlag(fødselsdato).behandling(morBehandling().kreverSammenhengendeUttak(true)) + var grunnlag = basicGrunnlag(fødselsdato).behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .søknad(new Søknad.Builder().oppgittPeriode(fpff) .oppgittPeriode(mødrekvote) .oppgittPeriode(utsettelseFellesperiode) diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseDelregelSammenhengendeUttakTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseDelregelSammenhengendeUttakTest.java index 37056fbd..e3589bcf 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseDelregelSammenhengendeUttakTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseDelregelSammenhengendeUttakTest.java @@ -129,7 +129,7 @@ private RettOgOmsorg.Builder beggeRett() { } private Behandling.Builder morBehandling() { - return new Behandling.Builder().søkerErMor(true).kreverSammenhengendeUttak(true); + return new Behandling.Builder().søkerErMor(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1)); } private Inngangsvilkår.Builder oppfylt() { diff --git a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseSammenhengendeUttakOrkestreringTest.java b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseSammenhengendeUttakOrkestreringTest.java index 6c57ad10..2c5df087 100644 --- a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseSammenhengendeUttakOrkestreringTest.java +++ b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/UtsettelseSammenhengendeUttakOrkestreringTest.java @@ -842,11 +842,11 @@ private RegelGrunnlag.Builder basicUtsettelseGrunnlag(LocalDate fødselsdato, Be @Override Behandling.Builder morBehandling() { - return super.morBehandling().kreverSammenhengendeUttak(true); + return super.morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1)); } @Override Behandling.Builder farBehandling() { - return super.farBehandling().kreverSammenhengendeUttak(true); + return super.farBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1)); } } diff --git "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjenesteTest.java" "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjenesteTest.java" index 0deba0de..755381e4 100644 --- "a/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjenesteTest.java" +++ "b/src/test/java/no/nav/foreldrepenger/regler/uttak/fastsetteperiode/util/ManglendeS\303\270ktePerioderForSammenhengendeUttakTjenesteTest.java" @@ -69,7 +69,7 @@ class ManglendeSøktePerioderForSammenhengendeUttakTjenesteTest { } private Behandling.Builder farBehandling() { - return new Behandling.Builder().søkerErMor(false).kreverSammenhengendeUttak(true); + return new Behandling.Builder().søkerErMor(false).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1)); } @Test @@ -119,6 +119,7 @@ private RegelGrunnlag.Builder grunnlagMedKontoer() { .konto(konto(FELLESPERIODE, fellesperiodDedager)) .konto(konto(FEDREKVOTE, fedrekvoteDager)); return RegelGrunnlagTestBuilder.create() + .behandling(morBehandling().sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1))) .opptjening(new Opptjening.Builder().skjæringstidspunkt(LocalDate.MIN)) .kontoer(kontoer) .arbeid(new Arbeid.Builder().arbeidsforhold(new Arbeidsforhold(RegelGrunnlagTestBuilder.ARBEIDSFORHOLD_1))); @@ -514,7 +515,7 @@ void helgErIkkeHull() { } private Behandling.Builder morBehandling() { - return new Behandling.Builder().søkerErMor(true).kreverSammenhengendeUttak(true); + return new Behandling.Builder().søkerErMor(true).sammenhengendeUttakTomDato(LocalDate.of(9999, 1, 1)); } @Test