Skip to content

Commit

Permalink
Tar i bruk ny versjon av BarnetrygdSøknad og KontantstøtteSøknad (#1150)
Browse files Browse the repository at this point in the history
* Tar i bruk ny versjon av BarnetrygdSøknad og KontantstøtteSøknad

* Forenkler metoden hentVersjonertSøknad for barnetrygd og kontantstøtte

* Tar i bruk ny versjon av baks-dokgen og bruker kontraktVersjon 9 og 5 for henholdsvis barnetrygd og kontantstøtte i tester

* ktlint

* Sørger for at alle tester relatert til barnetrygd og kontantstøtte søknadene bruker siste versjon (henholdsvis V9 og V5)
  • Loading branch information
bragejahren authored Sep 2, 2024
1 parent 4d3a153 commit f1e6f6f
Show file tree
Hide file tree
Showing 27 changed files with 218 additions and 129 deletions.
8 changes: 5 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@
<dependency>
<groupId>no.nav.familie</groupId>
<artifactId>baks-dokgen</artifactId>
<version>1.0_20240627141649_53c4360</version>
<version>1.0_20240829133759_de4a212</version>
</dependency>
<!-- Kafka -->
<dependency>
Expand Down Expand Up @@ -414,7 +414,8 @@
<phase>verify</phase>
<configuration>
<target name="ktlint">
<java taskname="ktlint" dir="${basedir}" fork="true" failonerror="true" classpathref="maven.plugin.classpath" classname="com.pinterest.ktlint.Main">
<java taskname="ktlint" dir="${basedir}" fork="true" failonerror="true"
classpathref="maven.plugin.classpath" classname="com.pinterest.ktlint.Main">
<arg value="src/**/*.kt"/>
</java>
</target>
Expand All @@ -428,7 +429,8 @@
<phase>validate</phase>
<configuration>
<target name="ktlint">
<java taskname="ktlint" dir="${basedir}" fork="true" failonerror="true" classpathref="maven.plugin.classpath" classname="com.pinterest.ktlint.Main">
<java taskname="ktlint" dir="${basedir}" fork="true" failonerror="true"
classpathref="maven.plugin.classpath" classname="com.pinterest.ktlint.Main">
<jvmarg value="--add-opens"/>
<jvmarg value="java.base/java.lang=ALL-UNNAMED"/>
<arg value="-F"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
package no.nav.familie.baks.mottak.søknad

import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV9
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknaddokumentasjon
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.DBBarnetrygdSøknad
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.DBVedlegg
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.Vedlegg
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.VersjonertBarnetrygdSøknad
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.DBKontantstotteVedlegg
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.DBKontantstøtteSøknad
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.KontantstøtteSøknadV4
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.KontantstøtteSøknadV5
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.KontantstøtteSøknaddokumentasjon
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.VersjonertKontantstøtteSøknad
import no.nav.familie.kontrakter.ba.søknad.v4.Søknadstype
Expand All @@ -31,10 +33,16 @@ object ArkiverDokumentRequestMapper {
): ArkiverDokumentRequest {
val (søknadstype, dokumentasjon) =
when (versjonertBarnetrygdSøknad) {
is SøknadV8 ->
is BarnetrygdSøknadV8 ->
Pair(
versjonertBarnetrygdSøknad.søknad.søknadstype,
versjonertBarnetrygdSøknad.søknad.dokumentasjon.map { BarnetrygdSøknaddokumentasjon(it) },
versjonertBarnetrygdSøknad.barnetrygdSøknad.søknadstype,
versjonertBarnetrygdSøknad.barnetrygdSøknad.dokumentasjon.map { BarnetrygdSøknaddokumentasjon(it) },
)

is BarnetrygdSøknadV9 ->
Pair(
versjonertBarnetrygdSøknad.barnetrygdSøknad.søknadstype,
versjonertBarnetrygdSøknad.barnetrygdSøknad.dokumentasjon.map { BarnetrygdSøknaddokumentasjon(it) },
)
}

Expand Down Expand Up @@ -95,6 +103,9 @@ object ArkiverDokumentRequestMapper {
when (versjonertSøknad) {
is KontantstøtteSøknadV4 ->
versjonertSøknad.kontantstøtteSøknad.dokumentasjon.map { KontantstøtteSøknaddokumentasjon(it) }

is KontantstøtteSøknadV5 ->
versjonertSøknad.kontantstøtteSøknad.dokumentasjon.map { KontantstøtteSøknaddokumentasjon(it) }
}

val søknadsdokumentJson =
Expand Down
15 changes: 9 additions & 6 deletions src/main/kotlin/no/nav/familie/baks/mottak/søknad/PdfService.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package no.nav.familie.baks.mottak.søknad

import no.nav.familie.baks.mottak.integrasjoner.PdfClient
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV9
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.DBBarnetrygdSøknad
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.VersjonertBarnetrygdSøknad
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.DBKontantstøtteSøknad
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.KontantstøtteSøknadV4
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.KontantstøtteSøknadV5
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.VersjonertKontantstøtteSøknad
import no.nav.familie.kontrakter.ba.søknad.v4.Søknadstype
import org.slf4j.LoggerFactory
Expand All @@ -30,9 +32,11 @@ class PdfService(

val (søknadstype, navn) =
when (versjonertBarnetrygdSøknad) {
is SøknadV8 -> {
Pair(versjonertBarnetrygdSøknad.søknad.søknadstype, versjonertBarnetrygdSøknad.søknad.søker.navn)
}
is BarnetrygdSøknadV8 ->
Pair(versjonertBarnetrygdSøknad.barnetrygdSøknad.søknadstype, versjonertBarnetrygdSøknad.barnetrygdSøknad.søker.navn)

is BarnetrygdSøknadV9 ->
Pair(versjonertBarnetrygdSøknad.barnetrygdSøknad.søknadstype, versjonertBarnetrygdSøknad.barnetrygdSøknad.søker.navn)
}

val path: String = søknadstypeTilPath(søknadstype)
Expand All @@ -47,7 +51,6 @@ class PdfService(
else -> "Søknad om ordinær barnetrygd"
},
)

return familieDokumentPdfClient.lagPdf(path, barnetrygdSøknadMapForSpråk + ekstraFelterMap)
}

Expand All @@ -62,6 +65,7 @@ class PdfService(
val navn =
when (versjonertSøknad) {
is KontantstøtteSøknadV4 -> versjonertSøknad.kontantstøtteSøknad.søker.navn
is KontantstøtteSøknadV5 -> versjonertSøknad.kontantstøtteSøknad.søker.navn
}

val ekstraFelterMap =
Expand All @@ -71,7 +75,6 @@ class PdfService(
fnr = dbKontantstøtteSøknad.fnr,
label = "Søknad om kontantstøtte",
)

return familieDokumentPdfClient.lagPdf("kontantstotte-soknad", kontantstøtteSøknadMapForSpråk + ekstraFelterMap)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ package no.nav.familie.baks.mottak.søknad
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.kotlin.convertValue
import no.nav.familie.baks.mottak.søknad.barnetrygd.BarnetrygdSøknadObjectMapperModule
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV9
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.VersjonertBarnetrygdSøknad
import no.nav.familie.baks.mottak.søknad.kontantstøtte.KontantstøtteObjectMapperModule
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.KontantstøtteSøknadV4
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.KontantstøtteSøknadV5
import no.nav.familie.baks.mottak.søknad.kontantstøtte.domene.VersjonertKontantstøtteSøknad
import org.springframework.stereotype.Service
import no.nav.familie.kontrakter.felles.objectMapper as getObjectMapper
Expand All @@ -22,12 +24,14 @@ class SøknadSpråkvelgerService {
val barnetrygdSøknadMapForSpråk =
objectMapperForSpråk.convertValue<MutableMap<String, Any>>(
when (versjonertBarnetrygdSøknad) {
is SøknadV8 -> versjonertBarnetrygdSøknad.søknad
is BarnetrygdSøknadV8 -> versjonertBarnetrygdSøknad.barnetrygdSøknad
is BarnetrygdSøknadV9 -> versjonertBarnetrygdSøknad.barnetrygdSøknad
},
)
barnetrygdSøknadMapForSpråk["teksterUtenomSpørsmål"] =
when (versjonertBarnetrygdSøknad) {
is SøknadV8 -> versjonertBarnetrygdSøknad.søknad.teksterUtenomSpørsmål
is BarnetrygdSøknadV8 -> versjonertBarnetrygdSøknad.barnetrygdSøknad.teksterUtenomSpørsmål
is BarnetrygdSøknadV9 -> versjonertBarnetrygdSøknad.barnetrygdSøknad.teksterUtenomSpørsmål
}.mapValues { it.value[språk] }

return barnetrygdSøknadMapForSpråk
Expand All @@ -43,6 +47,7 @@ class SøknadSpråkvelgerService {
objectMapperForSpråk.convertValue<MutableMap<String, Any>>(
when (versjonertSøknad) {
is KontantstøtteSøknadV4 -> versjonertSøknad.kontantstøtteSøknad
is KontantstøtteSøknadV5 -> versjonertSøknad.kontantstøtteSøknad
},
)
return kontantstøtteSøknadMapForSpråk
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package no.nav.familie.baks.mottak.søknad.barnetrygd

import no.nav.familie.baks.mottak.søknad.Kvittering
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV9
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.FødselsnummerErNullException
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.VersjonertBarnetrygdSøknad
import no.nav.familie.kontrakter.ba.søknad.v8.Søknad
import no.nav.familie.kontrakter.ba.søknad.v9.BarnetrygdSøknad
import no.nav.familie.kontrakter.felles.Ressurs
import no.nav.security.token.support.core.api.ProtectedWithClaims
import no.nav.security.token.support.core.api.Unprotected
Expand All @@ -15,7 +18,6 @@ import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestPart
import org.springframework.web.bind.annotation.RestController
import no.nav.familie.kontrakter.ba.søknad.v8.Søknad as SøknadKontraktV8

@RestController
@RequestMapping(path = ["/api"], produces = [APPLICATION_JSON_VALUE])
Expand All @@ -26,9 +28,20 @@ class BarnetrygdSøknadController(
) {
@PostMapping(value = ["/soknad/v8"], consumes = [MULTIPART_FORM_DATA_VALUE])
fun taImotSøknad(
@RequestPart("søknad") søknad: SøknadKontraktV8,
@RequestPart("søknad") søknad: Søknad,
): ResponseEntity<Ressurs<Kvittering>> =
mottaVersjonertSøknadOgSendMetrikker(versjonertBarnetrygdSøknad = SøknadV8(søknad = søknad))
mottaVersjonertSøknadOgSendMetrikker(
versjonertBarnetrygdSøknad = BarnetrygdSøknadV8(barnetrygdSøknad = søknad),
)

@PostMapping(value = ["/soknad/v9"], consumes = [MULTIPART_FORM_DATA_VALUE])
fun taImotSøknad(
@RequestPart("søknad") søknad: BarnetrygdSøknad,
): ResponseEntity<Ressurs<Kvittering>> =
mottaVersjonertSøknadOgSendMetrikker(
versjonertBarnetrygdSøknad =
BarnetrygdSøknadV9(barnetrygdSøknad = søknad),
)

fun mottaVersjonertSøknadOgSendMetrikker(versjonertBarnetrygdSøknad: VersjonertBarnetrygdSøknad): ResponseEntity<Ressurs<Kvittering>> =
try {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package no.nav.familie.baks.mottak.søknad.barnetrygd

import io.micrometer.core.instrument.Metrics
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV9
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.VersjonertBarnetrygdSøknad
import no.nav.familie.kontrakter.ba.søknad.v4.Søknadstype
import no.nav.familie.kontrakter.ba.søknad.v7.Dokumentasjonsbehov
Expand Down Expand Up @@ -38,12 +39,14 @@ class BarnetrygdSøknadMetrikkService {
fun sendMottakMetrikker(versjonertBarnetrygdSøknad: VersjonertBarnetrygdSøknad) {
val (søknadstype, dokumentasjon) =
when (versjonertBarnetrygdSøknad) {
is SøknadV8 -> Pair(versjonertBarnetrygdSøknad.søknad.søknadstype, versjonertBarnetrygdSøknad.søknad.dokumentasjon)
is BarnetrygdSøknadV8 -> Pair(versjonertBarnetrygdSøknad.barnetrygdSøknad.søknadstype, versjonertBarnetrygdSøknad.barnetrygdSøknad.dokumentasjon)
is BarnetrygdSøknadV9 -> Pair(versjonertBarnetrygdSøknad.barnetrygdSøknad.søknadstype, versjonertBarnetrygdSøknad.barnetrygdSøknad.dokumentasjon)
}

val harEøsSteg =
when (versjonertBarnetrygdSøknad) {
is SøknadV8 -> versjonertBarnetrygdSøknad.søknad.antallEøsSteg > 0
is BarnetrygdSøknadV8 -> versjonertBarnetrygdSøknad.barnetrygdSøknad.antallEøsSteg > 0
is BarnetrygdSøknadV9 -> versjonertBarnetrygdSøknad.barnetrygdSøknad.antallEøsSteg > 0
}

val erUtvidet = søknadstype == Søknadstype.UTVIDET
Expand All @@ -55,7 +58,8 @@ class BarnetrygdSøknadMetrikkService {
fun sendMottakFeiletMetrikker(versjonertBarnetrygdSøknad: VersjonertBarnetrygdSøknad) {
val søknadstype =
when (versjonertBarnetrygdSøknad) {
is SøknadV8 -> versjonertBarnetrygdSøknad.søknad.søknadstype
is BarnetrygdSøknadV8 -> versjonertBarnetrygdSøknad.barnetrygdSøknad.søknadstype
is BarnetrygdSøknadV9 -> versjonertBarnetrygdSøknad.barnetrygdSøknad.søknadstype
}
if (søknadstype == Søknadstype.UTVIDET) søknadUtvidetMottattFeil.increment() else søknadMottattFeil.increment()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package no.nav.familie.baks.mottak.søknad.barnetrygd

import no.nav.familie.baks.mottak.integrasjoner.FamilieDokumentClient
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV9
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.DBBarnetrygdSøknad
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.DBVedlegg
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.FødselsnummerErNullException
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadRepository
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadV8
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadVedleggRepository
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.VersjonertBarnetrygdSøknad
import no.nav.familie.baks.mottak.søknad.barnetrygd.domene.tilDBSøknad
Expand All @@ -30,8 +31,12 @@ class BarnetrygdSøknadService(
fun motta(versjonertBarnetrygdSøknad: VersjonertBarnetrygdSøknad): DBBarnetrygdSøknad {
val (dbSøknad, dokumentasjon) =
when (versjonertBarnetrygdSøknad) {
is SøknadV8 -> {
Pair(versjonertBarnetrygdSøknad.søknad.tilDBSøknad(), versjonertBarnetrygdSøknad.søknad.dokumentasjon)
is BarnetrygdSøknadV8 -> {
Pair(versjonertBarnetrygdSøknad.barnetrygdSøknad.tilDBSøknad(), versjonertBarnetrygdSøknad.barnetrygdSøknad.dokumentasjon)
}

is BarnetrygdSøknadV9 -> {
Pair(versjonertBarnetrygdSøknad.barnetrygdSøknad.tilDBSøknad(), versjonertBarnetrygdSøknad.barnetrygdSøknad.dokumentasjon)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ import jakarta.persistence.Table
import no.nav.familie.kontrakter.ba.søknad.v7.Søknadsvedlegg
import no.nav.familie.kontrakter.felles.objectMapper
import java.time.LocalDateTime
import no.nav.familie.kontrakter.ba.søknad.v8.Søknad as SøknadV8
import no.nav.familie.kontrakter.ba.søknad.v8.Søknad as BarnetrygdSøknadV8
import no.nav.familie.kontrakter.ba.søknad.v9.BarnetrygdSøknad as BarnetrygdSøknadV9

@Entity(name = "Soknad")
@Table(name = "Soknad")
Expand All @@ -28,24 +29,12 @@ data class DBBarnetrygdSøknad(
@Column(name = "journalpost_id")
val journalpostId: String? = null,
) {
private fun hentSøknadV8(): SøknadV8 = objectMapper.readValue(søknadJson)

private fun hentSøknadVersjon(): String =
try {
val søknad = objectMapper.readTree(søknadJson)
if (søknad.get("kontraktVersjon")?.asInt() == 8) {
"v8"
} else {
"v7"
}
} catch (e: Error) {
"v7"
}

fun hentVersjonertSøknad(): VersjonertBarnetrygdSøknad {
val versjon = this.hentSøknadVersjon()
val søknad = objectMapper.readTree(søknadJson)
val versjon = søknad.get("kontraktVersjon")?.asInt()
return when (versjon) {
"v8" -> SøknadV8(søknad = hentSøknadV8())
8 -> BarnetrygdSøknadV8(barnetrygdSøknad = objectMapper.readValue<BarnetrygdSøknadV8>(søknadJson))
9 -> BarnetrygdSøknadV9(barnetrygdSøknad = objectMapper.readValue<BarnetrygdSøknadV9>(søknadJson))
else -> error("Ikke støttet versjon $versjon av kontrakt for Barnetrygd")
}
}
Expand All @@ -68,7 +57,20 @@ interface Vedlegg {
val data: ByteArray
}

fun SøknadV8.tilDBSøknad(): DBBarnetrygdSøknad {
fun BarnetrygdSøknadV8.tilDBSøknad(): DBBarnetrygdSøknad {
try {
return DBBarnetrygdSøknad(
søknadJson = objectMapper.writeValueAsString(this),
fnr =
this.søker.ident.verdi
.getValue("nb"),
)
} catch (e: KotlinNullPointerException) {
throw FødselsnummerErNullException()
}
}

fun BarnetrygdSøknadV9.tilDBSøknad(): DBBarnetrygdSøknad {
try {
return DBBarnetrygdSøknad(
søknadJson = objectMapper.writeValueAsString(this),
Expand All @@ -95,7 +97,8 @@ fun DBBarnetrygdSøknad.harEøsSteg(): Boolean {
val versjonertSøknad = this.hentVersjonertSøknad()

return when (versjonertSøknad) {
is no.nav.familie.baks.mottak.søknad.barnetrygd.domene.SøknadV8 -> versjonertSøknad.søknad.søker.harEøsSteg
is no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV8 -> versjonertSøknad.barnetrygdSøknad.søker.harEøsSteg
is no.nav.familie.baks.mottak.søknad.barnetrygd.domene.BarnetrygdSøknadV9 -> versjonertSøknad.barnetrygdSøknad.søker.harEøsSteg
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
package no.nav.familie.baks.mottak.søknad.barnetrygd.domene

import no.nav.familie.kontrakter.ba.søknad.v8.Søknad as SøknadV8
import no.nav.familie.kontrakter.ba.søknad.v8.Søknad as BarnetrygdSøknadV8
import no.nav.familie.kontrakter.ba.søknad.v9.BarnetrygdSøknad as BarnetrygdSøknadV9

sealed class VersjonertBarnetrygdSøknad

data class SøknadV8(
valknad: SøknadV8,
data class BarnetrygdSøknadV8(
val barnetrygdSøknad: BarnetrygdSøknadV8,
) : VersjonertBarnetrygdSøknad()

data class BarnetrygdSøknadV9(
val barnetrygdSøknad: BarnetrygdSøknadV9,
) : VersjonertBarnetrygdSøknad()
Loading

0 comments on commit f1e6f6f

Please sign in to comment.