Skip to content

Commit 9180c0e

Browse files
distribuer feltet arsakTilInnsending (ny, endring) til spleis (#614)
oppdatert README * bumper org.apache.cxf til 3.5.8 * bumper im-kontrakt (sende feltet arsakTilInnsending til spleis)
1 parent dd9dfa5 commit 9180c0e

File tree

4 files changed

+44
-18
lines changed

4 files changed

+44
-18
lines changed

README.md

+9-16
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
# Syfoinntektsmelding
22

3-
[![Actions Status](https://github.com/navikt/syfoinntektsmelding/workflows/Bygg%20og%20deploy%20til%20prod/badge.svg)](https://github.com/navikt/syfoinntektsmelding/actions)
4-
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=navikt_syfoinntektsmelding&metric=alert_status)](https://sonarcloud.io/dashboard?id=navikt_syfoinntektsmelding)
5-
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=navikt_syfoinntektsmelding&metric=coverage)](https://sonarcloud.io/dashboard?id=navikt_syfoinntektsmelding)
6-
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=navikt_syfoinntektsmelding&metric=security_rating)](https://sonarcloud.io/dashboard?id=navikt_syfoinntektsmelding)
7-
[![Known Vulnerabilities](https://snyk.io/test/github/navikt/syfoinntektsmelding/badge.svg)](https://app.snyk.io/org/helsearbeidsgiver/project/5473b422-69d5-4b60-8596-0b7402691762)
8-
93
## Formål
104
Applikasjonen tar imot innkommende inntektsmeldinger for sykepenger, journalfører dette og oppretter oppgaver i
115
Gosys for behandlende enhet. Dersom behandlede enhet ikke er funnet blir det opprettet en fordelingsoppgave istedet.
@@ -57,16 +51,15 @@ i køen for Oppgave i avsnittet over.
5751
## Utvikling
5852

5953
### Kjøre applikasjonen lokalt
60-
Applikasjonen er avhengig av mange tjenester og det enkleste er å starte den inne fra en
61-
tynnklient hvor tjenestene er
62-
tilgjengelige.
63-
64-
Applikasjonen må kjøres som en spring-boot applikasjon med local som profil. For å kunne starte
65-
så MÅ du sette tre
66-
environment variabler ellers vil den ikke starte. Det er filen `application-local.properties`
67-
som bestemmer hvilke tjenster som blir benytter lokalt. For å kunne kjøre må du påse at alle
68-
disse miljø innstillingene er riktig og fylle ut innstillinger for passord da de nå er satt
69-
til dummy.
54+
Om du ønsker å kjøre applikasjonen lokalt, må du starte kafka, zookeeper og database fra lokal docker:
55+
56+
``
57+
cd docker/local
58+
docker-compose up --remove-orphans
59+
``
60+
61+
Og deretter starte App.kt fra din IDE
62+
7063

7164
### Ktlint
7265

gradle.properties

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ apacheKafkaStreamsVersion=3.8.0
1414
assertJVersion=3.23.1
1515
bakgrunnsjobbVersion=1.0.4
1616
brukernotifikasjonSchemasVersion=1.2021.01.18-11.12-b9c8c40b98d1
17-
cxfVersion=3.5.2
17+
cxfVersion=3.5.8
1818
flywayVersion=10.1.0
1919
guavaVersion=31.0.1-jre
2020
hagDomeneInntektsmeldingVersion=0.1.6
2121
hagUtilsVersion=0.9.0
2222
hikariVersion=5.0.1
23-
imkontraktVersion=2024.05.15-12-49-09d7b
23+
imkontraktVersion=2025.01.09-02-19-08031
2424
jacksonVersion=2.13.3
2525
jetbrainsStdLib=kotlin-stdlib-jdk8
2626
joarkHendelseVersion=1.1.6

src/main/kotlin/no/nav/syfo/mapping/InntektsmeldingMapper.kt

+13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package no.nav.syfo.mapping
22

33
import no.nav.inntektsmeldingkontrakt.Arbeidsgivertype
4+
import no.nav.inntektsmeldingkontrakt.ArsakTilInnsending
45
import no.nav.inntektsmeldingkontrakt.AvsenderSystem
56
import no.nav.inntektsmeldingkontrakt.EndringIRefusjon
67
import no.nav.inntektsmeldingkontrakt.GjenopptakelseNaturalytelse
@@ -13,6 +14,9 @@ import no.nav.inntektsmeldingkontrakt.Status
1314
import no.nav.syfo.domain.inntektsmelding.Gyldighetsstatus
1415
import no.nav.syfo.domain.inntektsmelding.Inntektsmelding
1516
import no.nav.syfo.domain.inntektsmelding.SpinnInntektEndringAarsak
17+
import org.slf4j.LoggerFactory
18+
19+
private val sikkerlogger = LoggerFactory.getLogger("tjenestekall")
1620

1721
fun mapInntektsmeldingKontrakt(
1822
inntektsmelding: Inntektsmelding,
@@ -52,8 +56,17 @@ fun mapInntektsmeldingKontrakt(
5256
naerRelasjon = inntektsmelding.nærRelasjon,
5357
avsenderSystem = mapAvsenderSystem(inntektsmelding.avsenderSystem),
5458
inntektEndringAarsak = inntektsmelding.rapportertInntekt?.endringAarsakData?.tilInntektEndringAarsak(),
59+
arsakTilInnsending = konverterArsakTilInnsending(inntektsmelding.arsakTilInnsending),
5560
)
5661

62+
fun konverterArsakTilInnsending(arsakTilInnsending: String): ArsakTilInnsending =
63+
try {
64+
ArsakTilInnsending.valueOf(arsakTilInnsending)
65+
} catch (e: IllegalArgumentException) {
66+
sikkerlogger.error("Ugyldig verdi for årsakTilInnsending: $arsakTilInnsending, returnerer ${ArsakTilInnsending.Ny}")
67+
ArsakTilInnsending.Ny
68+
}
69+
5770
fun SpinnInntektEndringAarsak.tilInntektEndringAarsak(): InntektEndringAarsak =
5871
InntektEndringAarsak(
5972
aarsak = aarsak,

src/test/kotlin/no/nav/syfo/mapping/InntektsmeldingMapperFraInternSyfoTilHAGKontraktTest.kt

+20
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package no.nav.syfo.mapping
22

33
import no.nav.helsearbeidsgiver.domene.inntektsmelding.deprecated.BegrunnelseIngenEllerRedusertUtbetalingKode
4+
import no.nav.inntektsmeldingkontrakt.ArsakTilInnsending
45
import no.nav.syfo.domain.Periode
56
import no.nav.syfo.domain.inntektsmelding.Gyldighetsstatus
67
import no.nav.syfo.domain.inntektsmelding.Kontaktinformasjon
@@ -12,6 +13,8 @@ import org.junit.jupiter.api.Assertions.assertFalse
1213
import org.junit.jupiter.api.Assertions.assertNull
1314
import org.junit.jupiter.api.Assertions.assertTrue
1415
import org.junit.jupiter.api.Test
16+
import org.junit.jupiter.params.ParameterizedTest
17+
import org.junit.jupiter.params.provider.ValueSource
1518
import java.math.BigDecimal
1619
import java.time.LocalDate
1720
import java.util.UUID
@@ -113,4 +116,21 @@ class InntektsmeldingMapperFraInternSyfoTilHAGKontraktTest {
113116
mapInntektsmeldingKontrakt(inntektsmelding, "123", Gyldighetsstatus.GYLDIG, "arkivref123", UUID.randomUUID().toString())
114117
assertTrue(kontraktIM.matcherSpleis)
115118
}
119+
120+
@ParameterizedTest
121+
@ValueSource(strings = arrayOf("Ny", "ny", "TEST", "ugyldig", "", "ENDRING", "Endret"))
122+
fun `mapInntektsmeldingKontrakt felt arsakTilInnsending settes til defaultverdi Ny ved ugyldige verdier`(aarsak: String) {
123+
val inntektsmelding = grunnleggendeInntektsmelding.copy(arsakTilInnsending = aarsak)
124+
val kontraktIM =
125+
mapInntektsmeldingKontrakt(inntektsmelding, "123", Gyldighetsstatus.GYLDIG, "arkivref123", UUID.randomUUID().toString())
126+
assertEquals(ArsakTilInnsending.Ny, kontraktIM.arsakTilInnsending)
127+
}
128+
129+
@Test
130+
fun `mapInntektsmeldingKontrakt felt arsakTilInnsending settes til Endring`() {
131+
val inntektsmelding = grunnleggendeInntektsmelding.copy(arsakTilInnsending = "Endring")
132+
val kontraktIM =
133+
mapInntektsmeldingKontrakt(inntektsmelding, "123", Gyldighetsstatus.GYLDIG, "arkivref123", UUID.randomUUID().toString())
134+
assertEquals(ArsakTilInnsending.Endring, kontraktIM.arsakTilInnsending)
135+
}
116136
}

0 commit comments

Comments
 (0)