Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fjern felt hvis barnet er født #1195

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.familie.ef.mottak.integration

import no.nav.familie.ef.mottak.config.PdfgeneratorConfig
import no.nav.familie.ef.mottak.repository.domain.FeltMap
import no.nav.familie.ef.mottak.util.medContentTypeJsonUTF8
import no.nav.familie.http.client.AbstractRestClient
import org.springframework.beans.factory.annotation.Qualifier
Expand All @@ -14,7 +15,7 @@ class PdfClient(
@Qualifier("restTemplateUnsecured") operations: RestOperations,
private val pdfgeneratorConfig: PdfgeneratorConfig,
) : AbstractRestClient(operations, "pdf") {
fun lagPdf(labelValueJson: Map<String, Any>): ByteArray {
fun lagPdf(labelValueJson: FeltMap): ByteArray {
val sendInnUri =
DefaultUriBuilderFactory().uriString(pdfgeneratorConfig.url).path("/api/generer-soknad").build()
return postForEntity(sendInnUri, labelValueJson, HttpHeaders().medContentTypeJsonUTF8())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.familie.ef.mottak.integration

import no.nav.familie.ef.mottak.repository.domain.FeltMap
import no.nav.familie.ef.mottak.util.medContentTypeJsonUTF8
import no.nav.familie.http.client.AbstractPingableRestClient
import org.springframework.beans.factory.annotation.Qualifier
Expand All @@ -24,7 +25,7 @@ class PdfKvitteringClient(
.build()
.toUri()

fun opprettPdf(feltMap: Map<String, Any>): ByteArray {
fun opprettPdf(feltMap: FeltMap): ByteArray {
val uri =
UriComponentsBuilder
.fromUri(uri)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package no.nav.familie.ef.mottak.repository.domain

import com.fasterxml.jackson.annotation.JsonInclude
import jakarta.validation.constraints.NotNull

data class FeltMap(
@field:NotNull(message = "Label kan ikke være null")
val label: String,
@field:NotNull(message = "Verdiliste kan ikke være null")
fredrikmork marked this conversation as resolved.
Show resolved Hide resolved
val verdiliste: List<VerdilisteElement>,
)

@JsonInclude(JsonInclude.Include.NON_NULL)
data class VerdilisteElement(
val label: String,
val visningsVariant: String? = null,
val verdi: String? = null,
val verdiliste: List<VerdilisteElement>? = null,
val alternativer: String? = null,
)
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.familie.ef.mottak.service

import no.nav.familie.ef.mottak.repository.domain.VerdilisteElement
import no.nav.familie.kontrakter.ef.søknad.Adresse
import no.nav.familie.kontrakter.ef.søknad.Datoperiode
import no.nav.familie.kontrakter.ef.søknad.MånedÅrPeriode
Expand All @@ -14,46 +15,61 @@ import java.util.Locale

object Feltformaterer {
/**
* Håndterer formatering utover vanlig toString for endenodene
* Håndterer formatering utover vanlig toString for endenodenee
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Håndterer formatering utover vanlig toString for endenodenee
* Håndterer formatering utover vanlig toString for endenodene

:D

*/
fun mapEndenodeTilUtskriftMap(entitet: Søknadsfelt<*>): Map<String, String> =feltMap(entitet.label, mapVerdi(entitet.verdi!!), entitet.alternativer)
fun mapEndenodeTilUtskriftMap(entitet: Søknadsfelt<*>): VerdilisteElement = mapTilVerdiListeElement(entitet)

fun genereltFormatMapperMapEndenode(entitet: Søknadsfelt<*>): Map<String, String> {
//skal ekskluderes
if (entitet.label == "Jeg har sendt inn denne dokumentasjonen til Nav tidligere" &&
entitet.verdi.toString() == "false") {
return emptyMap()
fun genereltFormatMapperMapEndenode(entitet: Søknadsfelt<*>): VerdilisteElement? {
// skal ekskluderes
if ((entitet.label == "Jeg har sendt inn denne dokumentasjonen til Nav tidligere" &&
entitet.verdi.toString() == "false") || (entitet.label == "Født" && entitet.verdi.toString() == "true")
Comment on lines +24 to +25
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ville trukket ut denne sjekken til en egen variabel, eks. entitetSkalEkskluderes evt. skalEkskluderes - for bedre lesbarhet :)

) {
return null
}
return feltMap(entitet.label, mapVerdi(entitet.verdi!!), entitet.alternativer)
return mapTilVerdiListeElement(entitet)
}

fun mapVedlegg(vedleggTitler: List<String>): Map<String, String> {
val verdi = vedleggTitler.joinToString("\n\n")
return feltMap("Vedlegg", verdi)
}
fun mapVedlegg(vedleggTitler: List<String>): VerdilisteElement = VerdilisteElement("Vedlegg", verdi = vedleggTitler.joinToString("\n\n"))

private fun mapTilVerdiListeElement(entitet: Søknadsfelt<*>) =
VerdilisteElement(
entitet.label,
verdi = mapVerdi(entitet.verdi!!),
alternativer = entitet.alternativer?.joinToString(" / "),
)

private fun mapVerdi(verdi: Any): String =
when (verdi) {
is Month ->
tilUtskriftsformat(verdi)

is Boolean ->
tilUtskriftsformat(verdi)

is Double ->
tilUtskriftsformat(verdi)

is List<*> ->
verdi.joinToString("\n\n") { mapVerdi(it!!) }

is Fødselsnummer ->
verdi.verdi

is Adresse ->
tilUtskriftsformat(verdi)

is LocalDate ->
tilUtskriftsformat(verdi)

is LocalDateTime ->
tilUtskriftsformat(verdi)

is MånedÅrPeriode ->
tilUtskriftsformat(verdi)

is Datoperiode ->
tilUtskriftsformat(verdi)

else ->
verdi.toString()
}
Expand All @@ -78,15 +94,4 @@ object Feltformaterer {
listOf(adresse.postnummer, adresse.poststedsnavn).joinToString(" "),
adresse.land,
).joinToString("\n\n")

fun feltMap(
label: String,
verdi: String,
alternativer: List<String>? = null,
): Map<String, String> =
if (alternativer != null) {
mapOf("label" to label, "verdi" to verdi, "alternativer" to alternativer.joinToString(" / "))
} else {
mapOf("label" to label, "verdi" to verdi)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import no.nav.familie.ef.mottak.mapper.SøknadMapper
import no.nav.familie.ef.mottak.repository.SøknadRepository
import no.nav.familie.ef.mottak.repository.VedleggRepository
import no.nav.familie.ef.mottak.repository.domain.EncryptedFile
import no.nav.familie.ef.mottak.repository.domain.FeltMap
import no.nav.familie.ef.mottak.repository.domain.Søknad
import no.nav.familie.kontrakter.ef.søknad.SkjemaForArbeidssøker
import no.nav.familie.kontrakter.ef.søknad.SøknadBarnetilsyn
Expand All @@ -35,23 +36,23 @@ class PdfKvitteringService(
private fun lagFeltMap(
innsending: Søknad,
vedleggTitler: List<String>,
): Map<String, Any> =
): FeltMap =
when (innsending.dokumenttype) {
DOKUMENTTYPE_OVERGANGSSTØNAD -> {
val dto = SøknadMapper.toDto<SøknadOvergangsstønad>(innsending)
SøknadTilGenereltFormatMapper.mapOvergangsstønad(dto, vedleggTitler)
SøknadTilFeltMap.mapOvergangsstønad(dto, vedleggTitler)
}
DOKUMENTTYPE_BARNETILSYN -> {
val dto = SøknadMapper.toDto<SøknadBarnetilsyn>(innsending)
SøknadTilGenereltFormatMapper.mapBarnetilsyn(dto, vedleggTitler)
SøknadTilFeltMap.mapBarnetilsyn(dto, vedleggTitler)
}
DOKUMENTTYPE_SKJEMA_ARBEIDSSØKER -> {
val dto = SøknadMapper.toDto<SkjemaForArbeidssøker>(innsending)
SøknadTilGenereltFormatMapper.mapSkjemafelter(dto)
SøknadTilFeltMap.mapSkjemafelter(dto)
}
DOKUMENTTYPE_SKOLEPENGER -> {
val dto = SøknadMapper.toDto<SøknadSkolepenger>(innsending)
SøknadTilGenereltFormatMapper.mapSkolepenger(dto, vedleggTitler)
SøknadTilFeltMap.mapSkolepenger(dto, vedleggTitler)
}
else -> {
error("Ukjent eller manglende dokumenttype id: ${innsending.id}")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import no.nav.familie.ef.mottak.repository.SøknadRepository
import no.nav.familie.ef.mottak.repository.VedleggRepository
import no.nav.familie.ef.mottak.repository.domain.EncryptedFile
import no.nav.familie.ef.mottak.repository.domain.Ettersending
import no.nav.familie.ef.mottak.repository.domain.FeltMap
import no.nav.familie.ef.mottak.repository.domain.Søknad
import no.nav.familie.kontrakter.ef.søknad.SkjemaForArbeidssøker
import no.nav.familie.kontrakter.ef.søknad.SøknadBarnetilsyn
Expand Down Expand Up @@ -38,7 +39,7 @@ class PdfService(
private fun lagFeltMap(
innsending: Søknad,
vedleggTitler: List<String>,
): Map<String, Any> =
): FeltMap =
when (innsending.dokumenttype) {
DOKUMENTTYPE_OVERGANGSSTØNAD -> {
val dto = SøknadMapper.toDto<SøknadOvergangsstønad>(innsending)
Expand Down
Loading
Loading