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

Flere begrunnelser v1 - Oppdatert IM modell og PDF støtte #837

Merged
merged 12 commits into from
Feb 25, 2025

Conversation

Jesper-Hustad
Copy link
Contributor

Lager en draft da det blir mye kode å se på om hele funksjonen skulle vært klar for prod.

Funksjonen Flere begrunnelser legger til støtte for flere inntekt endring begrunnelser (List<endringsAarsak>)

For å støtte dette i prod beholder vi den gamle verdien slik at frontend ikke må endres og vi unngår inflight errors.

Endringer:

0: I denen versjonen har jeg oppdatert IM modellen til hagDomeneInntektsmeldingVersion=0.1.8-SNAPSHOT
Denne beholder gamle endringsAarsak variabelen og legger til en nullable liste med deafult verdi = null

data class Inntekt(
    val beloep: Double,
    val inntektsdato: LocalDate,
    val naturalytelser: List<Naturalytelse>,
    val endringAarsak: InntektEndringAarsak?,
    val endringAarsaker: List<InntektEndringAarsak>? = null, // <-- lagt til denne
) {

1: Listen blir utfylt når vi serialiserer JSON til Inntektsmelding med en util funksjon
(siden den blir satt til null om den ikke eksisterer i JSON)

// midlertidlig duplisering for å støtte flere endringsÅrsaker
fun SkjemaInntektsmelding.fyllUtMangledeEndringsAarsaker(): SkjemaInntektsmelding {
    val medEndringsAarsakerfyllt = this.copy(inntekt = this.inntekt?.copy(endringAarsaker = listOfNotNull(this.inntekt?.endringAarsak)))
    val verdiMangler = this.inntekt?.endringAarsaker.isNullOrEmpty()
    return if (verdiMangler) medEndringsAarsakerfyllt else this
}

3:
I PDFen så er det lagt til støtte for flere begrunnelser
(snakket med Dag om å bytte til Endingsårsak (1 av 2) teksten)

val endringAarsaker = inntektsmelding.inntekt?.endringAarsaker.orDefault(emptyList())
val antall = endringAarsaker.size
endringAarsaker.forEachIndexed { indeks, endringAarsak ->

    forklaringEndring = FORKLARING_ENDRING + if (antall > 1) " (${indeks + 1} av $antall)" else ""
    when (endringAarsak) {
        is Bonus -> addBonus()
        is Feilregistrert -> addFeilregistrert()
        //....
    }
}

PDF:
image

@@ -94,6 +95,19 @@ fun Route.innsending(
}
}

// // midlertidlig duplisering for å støtte flere endringsÅrsaker
Copy link
Contributor

Choose a reason for hiding this comment

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

Kan gjerne fjerne utkommentert kode, heller ta det inn når det faktisk skal tas i bruk

@mortenbyhring
Copy link
Contributor

Veldig bra og informativ PR. Jeg er fortsatt litt i tenkeboksen på om vi bør lage en ny versjon eller ha to felter slik som nå - og så må vi pønske litt på hvordan vi skal sikre bakoverkompabiliteten for eksisterende payloads

@Jesper-Hustad
Copy link
Contributor Author

Enig at vi må planlegge mer på dette. Tar en prat imorgen 👍

@Jesper-Hustad Jesper-Hustad marked this pull request as ready for review February 25, 2025 12:06
@Jesper-Hustad Jesper-Hustad requested a review from a team as a code owner February 25, 2025 12:06
@Jesper-Hustad
Copy link
Contributor Author

Manuell testing gjennomført i dev

Nav.no: Klarer å svare på inntektsmelding som vanlig

Logs: Får ingen errors i logs

image

PDF produksjon: innsendings API med array i payload kommer frem i PDF

Endepunkt: https://arbeidsgiver.intern.dev.nav.no/im-dialog/api/innsendingInntektsmelding
Payload: ... "endringAarsaker":[{"aarsak":"Nyansatt"},{"aarsak":"Ferietrekk"}]},"refus ...

PDF:
image

@Jesper-Hustad Jesper-Hustad merged commit 7a7e110 into main Feb 25, 2025
20 checks passed
@Jesper-Hustad Jesper-Hustad deleted the dev/flere-begrunnelser-del-1 branch February 25, 2025 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants