Skip to content

Commit

Permalink
Nye årsaker for perioder godkjent etter barns død. (#229)
Browse files Browse the repository at this point in the history
  • Loading branch information
frodeli authored Jun 24, 2021
1 parent 1989cc6 commit 8222130
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ enum class Årsak(val oppfylt: Boolean) {
GRADERT_MOT_TILSYN(true),
AVKORTET_MOT_INNTEKT(true),
AVKORTET_MOT_SØKERS_ØNSKE(true),
@Deprecated("Bruk OPPFYLT_PGA_BARNETS_DØDSFALL_6_UKER eller OPPFYLT_PGA_BARNETS_DØDSFALL_12_UKER i stedet for OPPFYLT_PGA_BARNETS_DØDSFALL")
OPPFYLT_PGA_BARNETS_DØDSFALL(true),
OPPFYLT_PGA_BARNETS_DØDSFALL_6_UKER(true),
OPPFYLT_PGA_BARNETS_DØDSFALL_12_UKER(true),
FULL_DEKNING(true),

//Ikke oppfylt årsaker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import no.nav.pleiepengerbarn.uttak.regler.kontrakter_ext.inneholder
import no.nav.pleiepengerbarn.uttak.regler.kontrakter_ext.perioderSomIkkeInngårI
import no.nav.pleiepengerbarn.uttak.regler.kontrakter_ext.sortertPåFom
import no.nav.pleiepengerbarn.uttak.regler.kontrakter_ext.sortertPåTom
import java.lang.IllegalStateException
import java.time.LocalDate
import java.time.temporal.ChronoUnit
import java.util.*
Expand Down Expand Up @@ -102,7 +103,7 @@ internal class BarnsDødRegel : UttaksplanRegel {
søkersTapteArbeidstid = søkersTapteArbeidstid,
oppgittTilsyn = null,
utbetalingsgrader = arbeidsforholdMedUttbetalingsgrader,
årsak = Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL,
årsak = grunnlag.finnÅrsakForSorgperiode(),
pleiebehov = Pleiebehov.PROSENT_100.prosent, //Setter pleiebehov til 100 for perioder som opprettes pga barnets død
graderingMotTilsyn = null, //Skal ikke ta hensyn til gradering mot tilsyn i sorgperioden, så derfor ikke relevant
knekkpunktTyper = setOf(KnekkpunktType.BARNETS_DØDSFALL),
Expand All @@ -122,6 +123,14 @@ internal class BarnsDødRegel : UttaksplanRegel {
}
}

private fun RegelGrunnlag.finnÅrsakForSorgperiode(): Årsak {
return when(this.barn.rettVedDød) {
RettVedDød.RETT_6_UKER -> Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL_6_UKER
RettVedDød.RETT_12_UKER -> Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL_12_UKER
null -> throw IllegalStateException("Skal alltid ha satt dette rettVedDød dersom barnet er dødt.")
}
}

private fun RegelGrunnlag.rettTilPleiepengerVedDødsfall(dødsdato: LocalDate): Boolean {
val harPleiebehov = pleiebehov.any { (periode, behov) -> periode.inneholder(dødsdato) && behov in listOf(Pleiebehov.PROSENT_100, Pleiebehov.PROSENT_200)}
if (harPleiebehov) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ internal class BarnsDødRegelTest {
LukketPeriode("2020-02-10/2020-02-14"),
LukketPeriode("2020-02-17/2020-02-19")
),
forventedeOppfyltÅrsak = Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL,
forventedeOppfyltÅrsak = Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL_6_UKER,
forventetGrad = forventetGradOppfyltÅrsakBarnetsDødsfall,
forventedeUtbetalingsgrader = forventetUtbetalingsgraderOppfyltÅrsakBarnetsDødsfall
)
Expand Down Expand Up @@ -242,7 +242,7 @@ internal class BarnsDødRegelTest {
LukketPeriode("2020-03-16/2020-03-20"),
LukketPeriode("2020-03-23/2020-03-27")
),
forventedeOppfyltÅrsak = Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL,
forventedeOppfyltÅrsak = Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL_6_UKER,
forventetGrad = forventetGradOppfyltÅrsakBarnetsDødsfall,
forventedeUtbetalingsgrader = forventetUtbetalingsgraderOppfyltÅrsakBarnetsDødsfall
)
Expand Down Expand Up @@ -314,7 +314,7 @@ internal class BarnsDødRegelTest {
LukketPeriode("2020-01-21/2020-01-24"),
LukketPeriode("2020-01-27/2020-01-28")
),
forventedeOppfyltÅrsak = Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL,
forventedeOppfyltÅrsak = Årsak.OPPFYLT_PGA_BARNETS_DØDSFALL_6_UKER,
forventetGrad = forventetGradOppfyltÅrsakBarnetsDødsfall,
forventedeUtbetalingsgrader = forventetUtbetalingsgraderOppfyltÅrsakBarnetsDødsfall
)
Expand Down

0 comments on commit 8222130

Please sign in to comment.