-
Notifications
You must be signed in to change notification settings - Fork 0
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
base: main
Are you sure you want to change the base?
Conversation
...joark/src/main/kotlin/no/nav/helsearbeidsgiver/inntektsmelding/joark/dokument/PdfDokument.kt
Outdated
Show resolved
Hide resolved
.../nav/helsearbeidsgiver/inntektsmelding/api/hentselvbestemtim/HentSelvbestemtImRouteKtTest.kt
Outdated
Show resolved
Hide resolved
@@ -94,6 +95,19 @@ fun Route.innsending( | |||
} | |||
} | |||
|
|||
// // midlertidlig duplisering for å støtte flere endringsÅrsaker |
There was a problem hiding this comment.
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
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 |
Enig at vi må planlegge mer på dette. Tar en prat imorgen 👍 |
is NyStillingsprosent -> "Ny stillingsprosent" | ||
|
||
else -> throw NotImplementedError("Ingen beskrivelse definert for InntektEndringAarsak") | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Denne eksisterer for å kunne teste at teksten kommer i PDFen
} | ||
} | ||
|
||
private fun <E> List<E>.parviseKombinasjoner(): List<List<E>> = flatMapIndexed { i, foorste -> drop(i + 1).map { andre -> listOf(foorste, andre) } } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Denne testen med alle mulige parvise kombinasjoner
tar ca 1.8 sekunder på min datamaskin. Vet ikke hvor nødvendig den er. Tanken er å fange om det er to par av begrunnelser som ødelegger for hverandre
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hvordan kan de egentlig ødelegge for hverandre?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Er vel egentlig ikke mulig slik koden er idag. Men tanken er om to begrunnelser bruker en felles variabel eller metode med PDF produksjonen som skaper trøbbel når de kjører sammen kan denne testen fange den feilen.
is VarigLoennsendring -> | ||
addVarigLonnsendring(forklaringEndring, endringAarsak) | ||
is NyStillingsprosent -> | ||
addNyStillingsprosent(forklaringEndring, endringAarsak) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Her er løsningen på å ikke legge til en mutable verdi.
Kan argumenteres at den er egentlig mer oversiktlig.
Øverste del kan forenkles til:
when (endringAarsak) {
is Bonus, is Feilregistrert, is Nyansatt, is Ferietrekk ->
addLabel(forklaringEndring, endringAarsak.beskrivelse())
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fint å slippe mutable! 👏
private fun writePDF( | ||
title: String, | ||
im: Inntektsmelding, | ||
) { | ||
// val file = File(System.getProperty("user.home"), "/Desktop/$title.pdf") | ||
val file = File.createTempFile(title, ".pdf") | ||
val file = File(System.getProperty("user.home"), "/Desktop/pdf/$title.pdf") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Disse skal vel swappes igjen for å kjøre tester i bygget
@@ -5,7 +5,7 @@ kotlinVersion=2.0.21 | |||
kotlinterVersion=4.4.0 | |||
|
|||
# Dependency versions | |||
hagDomeneInntektsmeldingVersion=0.1.7 | |||
hagDomeneInntektsmeldingVersion=0.1.8-SNAPSHOT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bør bygge en final release (uten snapshot) som brukes her, før vi merger
@@ -77,6 +79,12 @@ class HentSelvbestemtImRouteKtTest : ApiTest() { | |||
|
|||
val actualJson = response.bodyAsText() | |||
|
|||
println(Mock.successResponseJson(expectedInntektsmelding)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kan vel droppe println og assertSoftly egentlig?
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.skjema.SkjemaInntektsmelding | ||
|
||
// midlertidlig duplisering for å støtte flere endringsÅrsaker | ||
fun SkjemaInntektsmelding.fyllUtMangledeEndringsAarsaker(): SkjemaInntektsmelding { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kanskje ha et annet navn en fyllUtManglede - noe mer som ala "konverterEndringAarsakTilListe"
Og så tror jeg det kan være greit å sjekke at endringAarsaker er tom, før man gjør dette. Da slipper vi å holde styr på når frontend evt endres.
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
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)
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)PDF:
