Skip to content

Commit

Permalink
Legg til ny brevmal UTBETALING_ETTER_KA_VEDTAK
Browse files Browse the repository at this point in the history
  • Loading branch information
MagnusTonnessen committed Dec 2, 2024
1 parent b8e7118 commit f48ce67
Show file tree
Hide file tree
Showing 6 changed files with 120 additions and 2 deletions.
32 changes: 30 additions & 2 deletions src/main/kotlin/no/nav/familie/ks/sak/api/dto/ManueltBrevDto.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ import no.nav.familie.ks.sak.common.util.slåSammen
import no.nav.familie.ks.sak.common.util.tilKortString
import no.nav.familie.ks.sak.kjerne.arbeidsfordeling.ArbeidsfordelingService
import no.nav.familie.ks.sak.kjerne.behandling.domene.BehandlingKategori
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.BrevDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.BrevUtenDataDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.Brevmal
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.EnkeltInformasjonsbrevDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.FlettefelterForDokumentDtoImpl
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.ForlengetSvartidsbrevDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.FritekstAvsnitt
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.HenleggeTrukketSøknadBrevDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.HenleggeTrukketSøknadDataDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.InformasjonsbrevDeltBostedBrevDto
Expand All @@ -23,6 +25,8 @@ import no.nav.familie.ks.sak.kjerne.brev.domene.maler.InnhenteOpplysningerDataDt
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.InnhenteOpplysningerOmBarnDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.SignaturDelmal
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.SvartidsbrevDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.UtbetalingEtterKAVedtakBrevDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.UtbetalingEtterKAVedtakDataDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.VarselbrevMedÅrsakerDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.VarselbrevMedÅrsakerOgBarnDto
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.flettefelt
Expand All @@ -49,12 +53,18 @@ data class ManueltBrevDto(
val barnasFødselsdager: List<LocalDate>? = null,
val behandlingKategori: BehandlingKategori? = null,
val manuelleBrevmottakere: List<BrevmottakerDto> = emptyList(),
val fritekstAvsnitt: String? = null,
) {
fun enhetNavn(): String = this.enhet?.enhetNavn ?: error("Finner ikke enhetsnavn på manuell brevrequest")
}

fun ManueltBrevDto.tilBrev(saksbehandlerNavn: String) =
when (this.brevmal) {
fun ManueltBrevDto.tilBrev(saksbehandlerNavn: String): BrevDto {
val fritekstAvsnitt =
this.fritekstAvsnitt
?.takeIf { it.isNotBlank() }
?.let { FritekstAvsnitt(it) }

return when (this.brevmal) {
Brevmal.INFORMASJONSBREV_LOVENDRING_JULI_2024 ->
BrevUtenDataDto(
mal = Brevmal.INFORMASJONSBREV_LOVENDRING_JULI_2024,
Expand Down Expand Up @@ -252,6 +262,23 @@ fun ManueltBrevDto.tilBrev(saksbehandlerNavn: String) =
mal = Brevmal.INFORMASJONSBREV_KAN_SØKE_EØS,
saksbehandlerNavn = saksbehandlerNavn,
)
Brevmal.UTBETALING_ETTER_KA_VEDTAK ->
UtbetalingEtterKAVedtakBrevDto(
mal = Brevmal.UTBETALING_ETTER_KA_VEDTAK,
data =
UtbetalingEtterKAVedtakDataDto(
delmalData =
UtbetalingEtterKAVedtakDataDto.DelmalData(
signatur = SignaturDelmal(enhet = this.enhetNavn(), saksbehandlerNavn = saksbehandlerNavn),
fritekstAvsnitt = fritekstAvsnitt,
),
flettefelter =
UtbetalingEtterKAVedtakDataDto.FlettefelterDto(
navn = this.mottakerNavn,
fodselsnummer = this.mottakerIdent,
),
),
)

Brevmal.VEDTAK_FØRSTEGANGSVEDTAK,
Brevmal.VEDTAK_ENDRING,
Expand All @@ -268,6 +295,7 @@ fun ManueltBrevDto.tilBrev(saksbehandlerNavn: String) =
Brevmal.VEDTAK_OVERGANGSORDNING,
-> throw Feil("Kan ikke mappe fra manuel brevrequest til ${this.brevmal}.")
}
}

fun ManueltBrevDto.utvidManueltBrevDtoMedEnhetOgMottaker(
behandlingId: Long,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ enum class Brevmal(
INFORMASJONSBREV_KAN_SØKE(erVedtaksbrev = false, apiNavn = "informasjonsbrevKanSoke", visningsTekst = "Informasjonsbrev kan søke"),
INFORMASJONSBREV_KAN_SØKE_EØS(erVedtaksbrev = false, apiNavn = "informasjonsbrevKanSokeEOS", visningsTekst = "Informasjonsbrev kan søke EØS"),

UTBETALING_ETTER_KA_VEDTAK(erVedtaksbrev = false, apiNavn = "utbetalingEtterKAVedtak", visningsTekst = "Utbetaling etter KA-vedtak"),

VEDTAK_FØRSTEGANGSVEDTAK(erVedtaksbrev = true, apiNavn = "forstegangsvedtak", visningsTekst = "Førstegangsvedtak"),
VEDTAK_ENDRING(erVedtaksbrev = true, apiNavn = "vedtakEndring", visningsTekst = "Vedtak endring"),
VEDTAK_OPPHØRT(erVedtaksbrev = true, apiNavn = "opphort", visningsTekst = "Opphørt"),
Expand Down Expand Up @@ -133,6 +135,7 @@ enum class Brevmal(
INFORMASJONSBREV_TIL_FORELDER_OMFATTET_NORSK_LOVGIVNING_HENTER_IKKE_REGISTEROPPLYSNINGER,
INFORMASJONSBREV_LOVENDRING_JULI_2024,
INFORMASJONSBREV_OVERGANGSORDNING_NOVEMBER_2024,
UTBETALING_ETTER_KA_VEDTAK,
-> false

VEDTAK_FØRSTEGANGSVEDTAK,
Expand Down Expand Up @@ -171,6 +174,7 @@ enum class Brevmal(
INFORMASJONSBREV_LOVENDRING_JULI_2024 -> Dokumenttype.KONTANTSTØTTE_INFORMASJONSBREV_LOVENDRING_JULI_2024
INFORMASJONSBREV_OVERGANGSORDNING_NOVEMBER_2024 -> Dokumenttype.KONTANTSTØTTE_INFORMASJONSBREV_OVERGANGSORDNING_NOVEMBER_2024
ENDRING_AV_FRAMTIDIG_OPPHØR -> Dokumenttype.KONTANTSTØTTE_ENDRING_AV_FRAMTIDIG_OPPHØR
UTBETALING_ETTER_KA_VEDTAK -> Dokumenttype.KONTANTSTØTTE_UTBETALING_ETTER_KA_VEDTAK

VEDTAK_ENDRING,
VEDTAK_OPPHØRT,
Expand Down Expand Up @@ -211,6 +215,7 @@ enum class Brevmal(
VEDTAK_FØRSTEGANGSVEDTAK -> Distribusjonstype.VEDTAK
VEDTAK_ENDRING -> Distribusjonstype.VEDTAK
ENDRING_AV_FRAMTIDIG_OPPHØR -> Distribusjonstype.VEDTAK
UTBETALING_ETTER_KA_VEDTAK -> Distribusjonstype.VIKTIG
VEDTAK_OPPHØRT -> Distribusjonstype.VEDTAK
VEDTAK_OPPHØR_MED_ENDRING -> Distribusjonstype.VEDTAK
VEDTAK_AVSLAG -> Distribusjonstype.VEDTAK
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,11 @@ data class RefusjonEøsUavklart(
flettefelt(perioderMedRefusjonEøsUavklart.toList()),
)
}

data class FritekstAvsnitt(
val fritekstAvsnittTekst: Flettefelt,
) {
constructor(fritekstAvsnittTekst: String) : this(
flettefelt(fritekstAvsnittTekst),
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package no.nav.familie.ks.sak.kjerne.brev.domene.maler

import no.nav.familie.ks.sak.common.util.tilDagMånedÅr
import java.time.LocalDate

data class UtbetalingEtterKAVedtakBrevDto(
override val mal: Brevmal = Brevmal.UTBETALING_ETTER_KA_VEDTAK,
override val data: UtbetalingEtterKAVedtakDataDto,
) : BrevDto

data class UtbetalingEtterKAVedtakDataDto(
override val delmalData: DelmalData,
override val flettefelter: FlettefelterDto,
) : BrevDataDto {
data class FlettefelterDto(
override val navn: Flettefelt,
override val fodselsnummer: Flettefelt,
override val brevOpprettetDato: Flettefelt = flettefelt(LocalDate.now().tilDagMånedÅr()),
) : FlettefelterForDokumentDto {
constructor(
navn: String,
fodselsnummer: String,
) : this(
navn = flettefelt(navn),
fodselsnummer = flettefelt(fodselsnummer),
)
}

data class DelmalData(
val signatur: SignaturDelmal,
val fritekstAvsnitt: FritekstAvsnitt?,
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ class SammensattKontrollsakBrevDtoUtleder(
Brevmal.AUTOVEDTAK_BARN_6_OG_18_ÅR_OG_SMÅBARNSTILLEGG,
Brevmal.AUTOVEDTAK_NYFØDT_FØRSTE_BARN,
Brevmal.AUTOVEDTAK_NYFØDT_BARN_FRA_FØR,
Brevmal.UTBETALING_ETTER_KA_VEDTAK,
-> throw Feil("Brevmalen $brevmal er ikke støttet for sammensatte kontrollsaker")
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package no.nav.familie.ks.sak.api.dto

import no.nav.familie.kontrakter.felles.arbeidsfordeling.Enhet
import no.nav.familie.ks.sak.data.randomFnr
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.Brevmal
import no.nav.familie.ks.sak.kjerne.brev.domene.maler.UtbetalingEtterKAVedtakDataDto
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Nested
import org.junit.jupiter.api.Test

class ManueltBrevDtoTest {
@Nested
inner class TilBrev {
@Test
fun `skal generere UTBETALING_ETTER_KA_VEDTAK-brev`() {
val manueltBrevDto =
lagManueltBrevDto(
brevmal = Brevmal.UTBETALING_ETTER_KA_VEDTAK,
fritekstAvsnitt = "Fritekst avsnitt",
)

val brevDto = manueltBrevDto.tilBrev(saksbehandlerNavn = "Saks Behandlersen")

assertThat(brevDto.mal).isEqualTo(Brevmal.UTBETALING_ETTER_KA_VEDTAK)

val delmalData = brevDto.data.delmalData as UtbetalingEtterKAVedtakDataDto.DelmalData
assertThat(delmalData.signatur.saksbehandler).containsExactly("Saks Behandlersen")
assertThat(delmalData.fritekstAvsnitt?.fritekstAvsnittTekst).containsExactly("Fritekst avsnitt")
}
}

private fun lagManueltBrevDto(
brevmal: Brevmal,
mottakerIdent: String = randomFnr(),
fritekstAvsnitt: String? = null,
enhet: Enhet = Enhet("1234", "Enhet"),
) = ManueltBrevDto(
brevmal = brevmal,
mottakerIdent = mottakerIdent,
fritekstAvsnitt = fritekstAvsnitt,
enhet = enhet,
)
}

0 comments on commit f48ce67

Please sign in to comment.