Skip to content

Commit

Permalink
Trekk nittiprosent beløpet fra dagpengegrunnlaget og legg til barneti…
Browse files Browse the repository at this point in the history
…llegg etterpå

Co-authored-by: Geir André Lund <[email protected]>
Co-authored-by: André Roaldseth <[email protected]>
Co-authored-by: Eivind Havnelid Røyrvik <[email protected]>
  • Loading branch information
4 people committed Nov 20, 2024
1 parent 92a7698 commit c6f8911
Show file tree
Hide file tree
Showing 11 changed files with 293 additions and 255 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import no.nav.dagpenger.regel.Behov.Svangerskapspenger
import no.nav.dagpenger.regel.Behov.Sykepenger
import no.nav.dagpenger.regel.Behov.Uføre
import no.nav.dagpenger.regel.Søknadstidspunkt.prøvingsdato
import no.nav.dagpenger.regel.fastsetting.DagpengenesStørrelse.avrundetDagsatsUtenBarnetillegg
import no.nav.dagpenger.regel.fastsetting.DagpengenesStørrelse.dagsatsEtterNittiProsent
import no.nav.dagpenger.regel.fastsetting.DagpengenesStørrelse.harBarnetillegg

/**
Expand Down Expand Up @@ -84,8 +84,8 @@ object Samordning {
)
}

regel(samordnetDagsats) { substraksjonTilNull(avrundetDagsatsUtenBarnetillegg, sumAndreYtelser) }
regel(kanUtbetale) { størreEnnEllerLik(avrundetDagsatsUtenBarnetillegg, sumAndreYtelser) }
regel(samordnetDagsats) { substraksjonTilNull(dagsatsEtterNittiProsent, sumAndreYtelser) }
regel(kanUtbetale) { størreEnnEllerLik(dagsatsEtterNittiProsent, sumAndreYtelser) }

regel(utfallEtterSamordning) { enAv(kanUtbetale, harBarnetillegg) }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import no.nav.dagpenger.opplysning.regel.minstAv
import no.nav.dagpenger.opplysning.regel.multiplikasjon
import no.nav.dagpenger.opplysning.regel.oppslag
import no.nav.dagpenger.opplysning.regel.størreEnnEllerLik
import no.nav.dagpenger.opplysning.regel.substraksjonTilNull
import no.nav.dagpenger.opplysning.verdier.Beløp
import no.nav.dagpenger.regel.Avklaringspunkter.BarnMåGodkjennes
import no.nav.dagpenger.regel.Avklaringspunkter.KombinasjonSamordningOg90Regel
Expand All @@ -39,11 +40,13 @@ object DagpengenesStørrelse {
*/
private val dekningsgrad = Opplysningstype.somDesimaltall("Dekningsgrad")
val dagsatsUtenBarnetillegg = Opplysningstype.somBeløp("Dagsats uten barnetillegg")
val beløpOverMaks = Opplysningstype.somBeløp("Beløp over maks")
val dagsatsEtterNittiProsent = Opplysningstype.somBeløp("Dagsats etter 90 prosent")
val avrundetDagsatsUtenBarnetillegg = Opplysningstype.somBeløp("Avrundet dagsats uten barnetillegg")
val avrundetDagsUtenBarnetillegg = Opplysningstype.somBeløp("Avrundet dagsats uten barnetillegg")
val avrundetDagsMedBarnetillegg = Opplysningstype.somBeløp("Avrundet dagsats med barnetillegg")
val barnetillegg = Opplysningstype.somBeløp("Barnetillegg i kroner")
private val dagsatsMedBarn = Opplysningstype.somBeløp("Dagsats med barn")
private val dagsatsMedBarnetillegg = Opplysningstype.somBeløp("Dagsats med barn")
private val maksGrunnlag = Opplysningstype.somBeløp("Maks grunnlag for dagpenger")
private val antallArbeidsdagerPerÅr = Opplysningstype.somHeltall("Antall arbeidsdager per år")
private val arbeidsdagerPerUke = Opplysningstype.somHeltall("Antall arbeidsdager per uke")
Expand All @@ -53,6 +56,10 @@ object DagpengenesStørrelse {
internal val harBarnetillegg = Opplysningstype.somBoolsk("Har barnetillegg")
val ukessats = Opplysningstype.somBeløp("Ukessats med barnetillegg etter samordning")
val dagsatsEtterSamordningMedBarnetillegg = Opplysningstype.somBeløp("Dagsats med barnetillegg etter samordning")
val dagsatsEtterSamordningMedBarnetilleggFørEkstraNittiSjekk =
Opplysningstype.somBeløp(
"dagsatsEtterSamordningMedBarnetilleggFørEkstraNittiSjekk",
)

val regelsett =
Regelsett("§ 4-12. Dagpengenes størrelse\n (Sats)") {
Expand All @@ -70,8 +77,8 @@ object DagpengenesStørrelse {
regel(barnetilleggetsStørrelse) { oppslag(prøvingsdato) { BarnetilleggSats.forDato(it) } }
regel(barnetillegg) { multiplikasjon(barnetilleggetsStørrelse, antallBarn) }

// Regn ut samordnet dagsats med barnetillegg
regel(dagsatsMedBarn) { addisjon(samordnetDagsats, barnetillegg) }
// Regn ut dagsats med barnetillegg, før maks og samordning
regel(dagsatsMedBarnetillegg) { addisjon(dagsatsUtenBarnetillegg, barnetillegg) }

// Regn ut 90% av dagpengegrunnlaget
regel(nittiProsent) { oppslag(prøvingsdato) { 0.9 } }
Expand All @@ -80,8 +87,17 @@ object DagpengenesStørrelse {
regel(maksSats) { divisjon(maksGrunnlag, antallArbeidsdagerPerÅr) }
regel(avrundetMaksSats) { avrund(maksSats) }

// regel(beløpOverMaks) { substraksjon(avrundetMaksSats, barnetillegg) }
// regel(dagsatsEtterNittiProsent) { minstAv(beløpOverMaks, avrundetDagsUtenBarnetillegg) }

regel(beløpOverMaks) { substraksjonTilNull(dagsatsMedBarnetillegg, avrundetMaksSats) }
regel(dagsatsEtterNittiProsent) { substraksjonTilNull(avrundetDagsatsUtenBarnetillegg, beløpOverMaks) }

// Regn ut samordnet dagsats med barnetillegg, begrenset til 90% av dagpengegrunnlaget
regel(dagsatsEtterSamordningMedBarnetillegg) { minstAv(avrundetMaksSats, dagsatsMedBarn) }
regel(dagsatsEtterSamordningMedBarnetilleggFørEkstraNittiSjekk) { addisjon(samordnetDagsats, barnetillegg) }
regel(
dagsatsEtterSamordningMedBarnetillegg,
) { minstAv(dagsatsEtterSamordningMedBarnetilleggFørEkstraNittiSjekk, avrundetMaksSats) }

// regel(avrundetDagsMedBarnetillegg) { avrund(sats) }
// regel(avrundetDagsUtenBarnetillegg) { avrund(samordnetDagsats) }
Expand All @@ -105,9 +121,9 @@ object DagpengenesStørrelse {
Kontrollpunkt(KombinasjonSamordningOg90Regel) {
it.har(skalSamordnes) &&
it.har(maksSats) &&
it.har(dagsatsMedBarn) &&
it.har(dagsatsMedBarnetillegg) &&
it.finnOpplysning(skalSamordnes).verdi &&
it.finnOpplysning(maksSats).verdi > it.finnOpplysning(dagsatsMedBarn).verdi
it.finnOpplysning(maksSats).verdi > it.finnOpplysning(dagsatsMedBarnetillegg).verdi
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import no.nav.dagpenger.opplysning.verdier.Beløp
import no.nav.dagpenger.regel.RegelverkDagpenger
import no.nav.dagpenger.regel.Samordning
import no.nav.dagpenger.regel.Søknadstidspunkt
import no.nav.dagpenger.regel.fastsetting.Dagpengegrunnlag
import no.nav.dagpenger.regel.fastsetting.DagpengenesStørrelse
import no.nav.dagpenger.regel.fastsetting.DagpengenesStørrelse.ukessats
import java.time.LocalDate
Expand Down Expand Up @@ -134,10 +135,10 @@ class SamordningSteg : No {
opplysninger.finnOpplysning(Samordning.skalSamordnes).verdi shouldBe samordnet
}

Så("gitt at bruker har {string} i dagsats") { beløp: String ->
Så("gitt at bruker har {string} i grunnlag") { beløp: String ->
opplysninger
.leggTil(
Faktum(DagpengenesStørrelse.avrundetDagsUtenBarnetillegg, Beløp(beløp.toBigDecimal())),
Faktum(Dagpengegrunnlag.grunnlag, Beløp(beløp.toBigDecimal())),
).also { regelkjøring.evaluer() }
}

Expand Down
10 changes: 5 additions & 5 deletions dagpenger/src/test/resources/features/25-Samordning.feature
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ Egenskap: § 4-25.Samordning med reduserte ytelser fra folketrygden, eller redus
Og søker har redusert foreldrepenger "<foreldrepenger>"
Og søker har redusert svangerskapspenger "<svangerskapspenger>"
skal søker få samordnet dagsats "<samordnet>"
Og gitt at bruker har "<dagsats>" i dagsats
Og gitt at bruker har "<grunnlag>" i grunnlag
skal at bruker ha "<samordnetsats>" i samordnet dagsats
Og utfall etter samordning skal være "<utfall etter samordning>"
Eksempler:
| antall barn | sykepenger | pleiepenger | omsorgspenger | opplæringspenger | uføre | foreldrepenger | svangerskapspenger | samordnet | sykepengerDagsats | dagsats | samordnetsats | utfall etter samordning |
| 0 | Ja | Nei | Nei | Nei | Nei | Nei | Nei | Ja | 500 | 1000 | 500 | Ja |
| 0 | Ja | Nei | Nei | Nei | Nei | Nei | Nei | Ja | 1100 | 1000 | 0 | Nei |
| 2 | Ja | Nei | Nei | Nei | Nei | Nei | Nei | Ja | 1100 | 1000 | 0 | Ja |
| antall barn | sykepenger | pleiepenger | omsorgspenger | opplæringspenger | uføre | foreldrepenger | svangerskapspenger | samordnet | sykepengerDagsats | grunnlag | samordnetsats | utfall etter samordning |
| 0 | Ja | Nei | Nei | Nei | Nei | Nei | Nei | Ja | 500 | 416666 | 500 | Ja |
| 0 | Ja | Nei | Nei | Nei | Nei | Nei | Nei | Ja | 1100 | 416666 | 0 | Nei |
| 2 | Ja | Nei | Nei | Nei | Nei | Nei | Nei | Ja | 1100 | 416667 | 0 | Ja |
Loading

0 comments on commit c6f8911

Please sign in to comment.