Skip to content

Commit

Permalink
EY-2172: Støtte for institusjonsopphold i etterlatte-brev (#216)
Browse files Browse the repository at this point in the history
* EY-2172: Redigerbar del i innvilgelsesmalen, pluss separat mal for institusjonsopphold.

Trur ikkje den separate malen er nødvendig, så neste steg blir å prøve å innkorporere den i vanleg innvilgelse

* EY-2172: Innkorporerer institusjonsopphold i det vanlege innvilgelsesbrevet

* EY-2172: Rettar skrivefeil

* EY-2172: Startar å implementere revurdering endring pga institusjonsopphold

* EY-2172: Forskjellige institusjonsopphold-variantar for revurdering

* EY-2172: Tar inn også dei siste institusjonsopphold-seksjonane

* EY-2172: Tar inn parametre for antal barn

* EY-2172: Startar på testar

* EY-2172: Vi veit jo i Gjenny korvidt det er eitt eller to barn som blir oppseda saman, så unødvendig at saksbehandlar skal måtte handtere det manuelt

* EY-2172: Rettar framvisninga av variablar til å faktisk vise verdien

* EY-2172: Testar også json-en

* EY-2172: Alle mal-testane våre er jo like, så vi kan like godt generalisere det

* EY-2172: Beløp fins jo alt i utbetalingsinfo, så la oss like godt hente det derifrå

* EY-2172: Antall barn fins jo alt i utbetalingsinfo, så la oss like godt hente det derifrå

* EY-2172: Rettar opp etter QA
  • Loading branch information
madsop-nav authored Aug 22, 2023
1 parent 59620bd commit 98228c5
Show file tree
Hide file tree
Showing 13 changed files with 716 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ enum class EtterlatteBrevKode {
BARNEPENSJON_AVSLAG,
BARNEPENSJON_AVSLAG_IKKEYRKESSKADE,
BARNEPENSJON_INNVILGELSE,
BARNEPENSJON_INNVILGELSE_ENKEL,
BARNEPENSJON_INNVILGELSE_NY,
BARNEPENSJON_REVURDERING_ADOPSJON,
BARNEPENSJON_REVURDERING_ENDRING,
BARNEPENSJON_REVURDERING_FENGSELSOPPHOLD,
BARNEPENSJON_REVURDERING_HAR_STANSET,
BARNEPENSJON_REVURDERING_INSTITUSJONSOPPHOLD,
BARNEPENSJON_REVURDERING_OMGJOERING_AV_FARSKAP,
BARNEPENSJON_REVURDERING_OPPHOER,
BARNEPENSJON_REVURDERING_SOESKENJUSTERING,
Expand All @@ -21,7 +23,7 @@ enum class EtterlatteBrevKode {
OMS_FOERSTEGANGSVEDTAK_INNVILGELSE_UTFALL,
OMS_INNVILGELSE_MANUELL,
OMS_INNVILGELSE_AUTO,
OMS_OPPHOER_MANUELL
OMS_OPPHOER_MANUELL,
}

data class EtterlatteBrevRequest(val kode: EtterlatteBrevKode, val letterData: Any, val felles: Felles, val language: LanguageCode)
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ import no.nav.pensjon.etterlatte.maler.barnepensjon.BarnepensjonInnvilgelse
import no.nav.pensjon.etterlatte.maler.barnepensjon.avslag.AvslagFoerstegangsbehandling
import no.nav.pensjon.etterlatte.maler.barnepensjon.avslag.IkkeSomFoelgeAvYrkesskadeYrkessykdom
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.Endring
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.EndringInstitusjonsopphold
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.UtAvFengselsopphold
import no.nav.pensjon.etterlatte.maler.barnepensjon.innvilgelse.ny.BarnepensjonInnvilgelseEnkel
import no.nav.pensjon.etterlatte.maler.barnepensjon.ny.BarnepensjonInnvilgelseNy
import no.nav.pensjon.etterlatte.maler.barnepensjon.revurdering.AdopsjonRevurdering
import no.nav.pensjon.etterlatte.maler.barnepensjon.revurdering.Fengselsopphold
Expand All @@ -25,12 +27,14 @@ val prodAutobrevTemplates: Set<EtterlatteTemplate<*>> =
AvslagFoerstegangsbehandling,
IkkeSomFoelgeAvYrkesskadeYrkessykdom,
BarnepensjonInnvilgelse,
BarnepensjonInnvilgelseEnkel,
BarnepensjonInnvilgelseNy,
OMSInnvilgelseAuto,
OMSInnvilgelseManuell,
OMSOpphoerManuell,
AdopsjonRevurdering,
Endring,
EndringInstitusjonsopphold,
Fengselsopphold,
HarStanset,
OmgjoeringAvFarskapRevurdering,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
package no.nav.pensjon.etterlatte.maler.barnepensjon.endring

import no.nav.pensjon.brev.template.Language.Bokmal
import no.nav.pensjon.brev.template.Language.English
import no.nav.pensjon.brev.template.Language.Nynorsk
import no.nav.pensjon.brev.template.dsl.createTemplate
import no.nav.pensjon.brev.template.dsl.helpers.TemplateModelHelpers
import no.nav.pensjon.brev.template.dsl.languages
import no.nav.pensjon.brev.template.dsl.text
import no.nav.pensjon.brevbaker.api.model.LetterMetadata
import no.nav.pensjon.etterlatte.EtterlatteBrevKode
import no.nav.pensjon.etterlatte.EtterlatteTemplate
import no.nav.pensjon.etterlatte.maler.Delmal
import no.nav.pensjon.etterlatte.maler.Utbetalingsinfo
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.antallBarn
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.beloep
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonEndringInstitusjonsoppholdDTOSelectors.innlagtdato
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonEndringInstitusjonsoppholdDTOSelectors.prosent
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonEndringInstitusjonsoppholdDTOSelectors.utbetalingsinfo
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonEndringInstitusjonsoppholdDTOSelectors.utskrevetdato
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonEndringInstitusjonsoppholdDTOSelectors.virkningsdato
import no.nav.pensjon.etterlatte.maler.fraser.barnepensjon.Institusjonsoppholdfraser
import no.nav.pensjon.etterlatte.maler.fraser.common.Vedtak
import java.time.LocalDate

data class BarnepensjonEndringInstitusjonsoppholdDTO(
val utbetalingsinfo: Utbetalingsinfo,
val erEtterbetalingMerEnnTreMaaneder: Boolean,
val virkningsdato: LocalDate,
val prosent: Int?,
val innlagtdato: LocalDate?,
val utskrevetdato: LocalDate?,
)

@TemplateModelHelpers
object EndringInstitusjonsopphold : EtterlatteTemplate<BarnepensjonEndringInstitusjonsoppholdDTO>, Delmal {
override val kode: EtterlatteBrevKode = EtterlatteBrevKode.BARNEPENSJON_REVURDERING_INSTITUSJONSOPPHOLD

override val template = createTemplate(
name = UtAvFengselsopphold.kode.name,
letterDataType = BarnepensjonEndringInstitusjonsoppholdDTO::class,
languages = languages(Bokmal, Nynorsk, English),
letterMetadata = LetterMetadata(
displayTitle = "Vedtak - institusjonsopphold",
isSensitiv = true,
distribusjonstype = LetterMetadata.Distribusjonstype.VEDTAK,
brevtype = LetterMetadata.Brevtype.VEDTAKSBREV,
),
) {
title {
text(
Bokmal to "Vi har endret barnepensjonen din",
Nynorsk to "",
English to "",
)
}
outline {
includePhrase(Vedtak.BegrunnelseForVedtaket)
ifNotNull(prosent) {
includePhrase(
Institusjonsoppholdfraser.HarDokumentertUtgiftBarnepensjonBlirRedusertMedMindreEnn90Prosent(
virkningsdato,
it,
utbetalingsinfo.beloep,
),
)
}
includePhrase(
Institusjonsoppholdfraser.InnlagtVanligSats(
virkningsdato,
utbetalingsinfo.beloep,
),
)
ifNotNull(innlagtdato) {
includePhrase(
Institusjonsoppholdfraser.InnlagtPaaNyttInnen3Maaneder(
it,
virkningsdato,
utbetalingsinfo.beloep,
),
)
includePhrase(
Institusjonsoppholdfraser.HarDokumentertUtgiftIngenReduksjonVanligUtbetaling(
it,
virkningsdato,
utbetalingsinfo.beloep,
utbetalingsinfo.antallBarn,
),
)
}
includePhrase(
Institusjonsoppholdfraser.UtskrevetVanligSats(
virkningsdato,
utbetalingsinfo.beloep,
utbetalingsinfo.antallBarn,
),
)
ifNotNull(utskrevetdato) {
includePhrase(
Institusjonsoppholdfraser.UtskrevetHarDokumentertUtgiftIngenReduksjonHarVaertVanligUtbetaling(
it,
virkningsdato,
utbetalingsinfo.beloep,
utbetalingsinfo.antallBarn,
),
)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.antallBarn
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.beloep
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.beregningsperioder
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.soeskenjustering
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonUtAvFengselsoppholdDTOSelectors.erEtterbetalingMerEnnTreeMaaneder
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonUtAvFengselsoppholdDTOSelectors.erEtterbetalingMerEnnTreMaaneder
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonUtAvFengselsoppholdDTOSelectors.utbetalingsinfo
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.BarnepensjonUtAvFengselsoppholdDTOSelectors.virkningsdato
import no.nav.pensjon.etterlatte.maler.fraser.barnepensjon.Barnepensjon
Expand All @@ -28,7 +28,7 @@ import java.time.LocalDate

data class BarnepensjonUtAvFengselsoppholdDTO(
val utbetalingsinfo: Utbetalingsinfo,
val erEtterbetalingMerEnnTreeMaaneder: Boolean,
val erEtterbetalingMerEnnTreMaaneder: Boolean,
val virkningsdato: LocalDate,
)

Expand Down Expand Up @@ -60,7 +60,7 @@ object UtAvFengselsopphold : EtterlatteTemplate<BarnepensjonUtAvFengselsoppholdD
includePhrase(
Lover.MuligEtterbetaling(
paragraf = Expression.Literal("FYLL INN HER"),
erEtterbetaling = erEtterbetalingMerEnnTreeMaaneder,
erEtterbetaling = erEtterbetalingMerEnnTreMaaneder,
),
)
includePhrase(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
package no.nav.pensjon.etterlatte.maler.barnepensjon.innvilgelse.ny

import no.nav.pensjon.brev.template.Expression
import no.nav.pensjon.brev.template.Language
import no.nav.pensjon.brev.template.dsl.createTemplate
import no.nav.pensjon.brev.template.dsl.helpers.TemplateModelHelpers
import no.nav.pensjon.brev.template.dsl.languages
import no.nav.pensjon.brev.template.dsl.text
import no.nav.pensjon.brevbaker.api.model.LetterMetadata
import no.nav.pensjon.etterlatte.EtterlatteBrevKode
import no.nav.pensjon.etterlatte.EtterlatteTemplate
import no.nav.pensjon.etterlatte.maler.Avdoed
import no.nav.pensjon.etterlatte.maler.AvdoedSelectors.doedsdato
import no.nav.pensjon.etterlatte.maler.AvdoedSelectors.navn
import no.nav.pensjon.etterlatte.maler.Delmal
import no.nav.pensjon.etterlatte.maler.Utbetalingsinfo
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.beloep
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.virkningsdato
import no.nav.pensjon.etterlatte.maler.barnepensjon.innvilgelse.ny.BarnepensjonInnvilgelseEnkelDTOSelectors.avdoed
import no.nav.pensjon.etterlatte.maler.barnepensjon.innvilgelse.ny.BarnepensjonInnvilgelseEnkelDTOSelectors.erEtterbetalingMerEnnTreMaaneder
import no.nav.pensjon.etterlatte.maler.barnepensjon.innvilgelse.ny.BarnepensjonInnvilgelseEnkelDTOSelectors.erInstitusjonsopphold
import no.nav.pensjon.etterlatte.maler.barnepensjon.innvilgelse.ny.BarnepensjonInnvilgelseEnkelDTOSelectors.utbetalingsinfo
import no.nav.pensjon.etterlatte.maler.fraser.barnepensjon.Barnepensjon
import no.nav.pensjon.etterlatte.maler.fraser.barnepensjon.Institusjonsoppholdfraser
import no.nav.pensjon.etterlatte.maler.fraser.barnepensjon.Lover
import no.nav.pensjon.etterlatte.maler.fraser.common.Vedtak

data class BarnepensjonInnvilgelseEnkelDTO(
val utbetalingsinfo: Utbetalingsinfo,
val avdoed: Avdoed,
val erEtterbetalingMerEnnTreMaaneder: Boolean,
val erInstitusjonsopphold: Boolean,
)

@TemplateModelHelpers
object BarnepensjonInnvilgelseEnkel : EtterlatteTemplate<BarnepensjonInnvilgelseEnkelDTO>, Delmal {
override val kode: EtterlatteBrevKode = EtterlatteBrevKode.BARNEPENSJON_INNVILGELSE_ENKEL

override val template = createTemplate(
name = kode.name,
letterDataType = BarnepensjonInnvilgelseEnkelDTO::class,
languages = languages(Language.Bokmal, Language.Nynorsk, Language.English),
letterMetadata = LetterMetadata(
displayTitle = "Vedtak - innvilgelse",
isSensitiv = true,
distribusjonstype = LetterMetadata.Distribusjonstype.VEDTAK,
brevtype = LetterMetadata.Brevtype.VEDTAKSBREV,
),
) {
title {
text(
Language.Bokmal to "Vi innvilger barnepensjonen din",
Language.Nynorsk to "",
Language.English to "",
)
}
outline {
includePhrase(Vedtak.BegrunnelseForVedtaket)

includePhrase(
Barnepensjon.Foerstegangsbehandlingsvedtak(
utbetalingsinfo.virkningsdato,
avdoed.navn,
avdoed.doedsdato,
utbetalingsinfo.beloep,
),
)

showIf(erInstitusjonsopphold) {
includePhrase(
Institusjonsoppholdfraser.Innvilgelse,
)
includePhrase(Institusjonsoppholdfraser.Lover(erEtterbetalingMerEnnTreMaaneder))
}.orShow {
includePhrase(
Lover.MuligEtterbetaling(
paragraf = Expression.Literal("FYLL INN HER"),
erEtterbetaling = erEtterbetalingMerEnnTreMaaneder,
),
)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,20 @@ import no.nav.pensjon.brev.template.dsl.text
import no.nav.pensjon.brevbaker.api.model.LetterMetadata
import no.nav.pensjon.etterlatte.EtterlatteBrevKode
import no.nav.pensjon.etterlatte.EtterlatteTemplate
import no.nav.pensjon.etterlatte.maler.Avdoed
import no.nav.pensjon.etterlatte.maler.AvdoedSelectors.doedsdato
import no.nav.pensjon.etterlatte.maler.AvdoedSelectors.navn
import no.nav.pensjon.etterlatte.maler.Avkortingsinfo
import no.nav.pensjon.etterlatte.maler.BrevDTO
import no.nav.pensjon.etterlatte.maler.Element
import no.nav.pensjon.etterlatte.maler.Hovedmal
import no.nav.pensjon.etterlatte.maler.Utbetalingsinfo
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.antallBarn
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.beloep
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.beregningsperioder
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.soeskenjustering
import no.nav.pensjon.etterlatte.maler.UtbetalingsinfoSelectors.virkningsdato
import no.nav.pensjon.etterlatte.maler.barnepensjon.endring.EtterbetalingDTO
import no.nav.pensjon.etterlatte.maler.barnepensjon.ny.BarnepensjonInnvilgelseNyDTOSelectors.avdoed
import no.nav.pensjon.etterlatte.maler.barnepensjon.ny.BarnepensjonInnvilgelseNyDTOSelectors.etterbetalingDTO
import no.nav.pensjon.etterlatte.maler.barnepensjon.ny.BarnepensjonInnvilgelseNyDTOSelectors.innhold
import no.nav.pensjon.etterlatte.maler.barnepensjon.ny.BarnepensjonInnvilgelseNyDTOSelectors.utbetalingsinfo
import no.nav.pensjon.etterlatte.maler.fraser.barnepensjon.Barnepensjon
import no.nav.pensjon.etterlatte.maler.fraser.barnepensjon.BarnepensjonInnvilgelseFraser
import no.nav.pensjon.etterlatte.maler.fraser.common.Vedtak
import no.nav.pensjon.etterlatte.maler.konverterElementerTilBrevbakerformat
import no.nav.pensjon.etterlatte.maler.vedlegg.barnepensjon.dineRettigheterOgPlikter
import no.nav.pensjon.etterlatte.maler.vedlegg.etterbetalingAvBarnepensjon
Expand All @@ -40,7 +33,6 @@ import no.nav.pensjon.etterlatte.maler.vedlegg.informasjonTilDegSomHandlerPaaVeg
data class BarnepensjonInnvilgelseNyDTO(
val utbetalingsinfo: Utbetalingsinfo,
val avkortingsinfo: Avkortingsinfo? = null,
val avdoed: Avdoed,
val etterbetalingDTO: EtterbetalingDTO? = null,
override val innhold: List<Element>,
) : BrevDTO
Expand Down Expand Up @@ -69,18 +61,8 @@ object BarnepensjonInnvilgelseNy : EtterlatteTemplate<BarnepensjonInnvilgelseNyD
}

outline {
includePhrase(Vedtak.BegrunnelseForVedtaket)
konverterElementerTilBrevbakerformat(innhold)

includePhrase(
Barnepensjon.Foerstegangsbehandlingsvedtak(
utbetalingsinfo.virkningsdato,
avdoed.navn,
avdoed.doedsdato,
utbetalingsinfo.beloep,
),
)

includePhrase(
Barnepensjon.SlikHarViBeregnetPensjonenDin(
utbetalingsinfo.beregningsperioder,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,25 @@ object Barnepensjon {
}
}

data class SlikHarViBeregnetPensjonenDin(
val beregningsperioder: Expression<List<Beregningsperiode>>,
val soeskenjustering: Expression<Boolean>,
val antallBarn: Expression<Int>
) : OutlinePhrase<LangBokmalNynorskEnglish>() {
object SlikHarViBeregnetPensjonenDinTittel : OutlinePhrase<LangBokmalNynorskEnglish>() {
override fun OutlineOnlyScope<LangBokmalNynorskEnglish, Unit>.template() {
title2 {
text(
Bokmal to "Slik har vi beregnet pensjonen din",
Nynorsk to "",
English to ""
English to "",
)
}
}
}

data class SlikHarViBeregnetPensjonenDin(
val beregningsperioder: Expression<List<Beregningsperiode>>,
val soeskenjustering: Expression<Boolean>,
val antallBarn: Expression<Int>
) : OutlinePhrase<LangBokmalNynorskEnglish>() {
override fun OutlineOnlyScope<LangBokmalNynorskEnglish, Unit>.template() {
includePhrase(SlikHarViBeregnetPensjonenDinTittel)
showIf(soeskenjustering) {
paragraph {
textExpr(
Expand Down
Loading

0 comments on commit 98228c5

Please sign in to comment.