Skip to content

Commit

Permalink
distribuer feltet arsakTilInnsending (ny, endring) til spleis (#614)
Browse files Browse the repository at this point in the history
oppdatert README
* bumper org.apache.cxf til 3.5.8
* bumper im-kontrakt (sende feltet arsakTilInnsending til spleis)
  • Loading branch information
mortenbyhring authored Jan 10, 2025
1 parent dd9dfa5 commit 9180c0e
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 18 deletions.
25 changes: 9 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
# Syfoinntektsmelding

[![Actions Status](https://github.com/navikt/syfoinntektsmelding/workflows/Bygg%20og%20deploy%20til%20prod/badge.svg)](https://github.com/navikt/syfoinntektsmelding/actions)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=navikt_syfoinntektsmelding&metric=alert_status)](https://sonarcloud.io/dashboard?id=navikt_syfoinntektsmelding)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=navikt_syfoinntektsmelding&metric=coverage)](https://sonarcloud.io/dashboard?id=navikt_syfoinntektsmelding)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=navikt_syfoinntektsmelding&metric=security_rating)](https://sonarcloud.io/dashboard?id=navikt_syfoinntektsmelding)
[![Known Vulnerabilities](https://snyk.io/test/github/navikt/syfoinntektsmelding/badge.svg)](https://app.snyk.io/org/helsearbeidsgiver/project/5473b422-69d5-4b60-8596-0b7402691762)

## Formål
Applikasjonen tar imot innkommende inntektsmeldinger for sykepenger, journalfører dette og oppretter oppgaver i
Gosys for behandlende enhet. Dersom behandlede enhet ikke er funnet blir det opprettet en fordelingsoppgave istedet.
Expand Down Expand Up @@ -57,16 +51,15 @@ i køen for Oppgave i avsnittet over.
## Utvikling

### Kjøre applikasjonen lokalt
Applikasjonen er avhengig av mange tjenester og det enkleste er å starte den inne fra en
tynnklient hvor tjenestene er
tilgjengelige.

Applikasjonen må kjøres som en spring-boot applikasjon med local som profil. For å kunne starte
så MÅ du sette tre
environment variabler ellers vil den ikke starte. Det er filen `application-local.properties`
som bestemmer hvilke tjenster som blir benytter lokalt. For å kunne kjøre må du påse at alle
disse miljø innstillingene er riktig og fylle ut innstillinger for passord da de nå er satt
til dummy.
Om du ønsker å kjøre applikasjonen lokalt, må du starte kafka, zookeeper og database fra lokal docker:

``
cd docker/local
docker-compose up --remove-orphans
``

Og deretter starte App.kt fra din IDE


### Ktlint

Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ apacheKafkaStreamsVersion=3.8.0
assertJVersion=3.23.1
bakgrunnsjobbVersion=1.0.4
brukernotifikasjonSchemasVersion=1.2021.01.18-11.12-b9c8c40b98d1
cxfVersion=3.5.2
cxfVersion=3.5.8
flywayVersion=10.1.0
guavaVersion=31.0.1-jre
hagDomeneInntektsmeldingVersion=0.1.6
hagUtilsVersion=0.9.0
hikariVersion=5.0.1
imkontraktVersion=2024.05.15-12-49-09d7b
imkontraktVersion=2025.01.09-02-19-08031
jacksonVersion=2.13.3
jetbrainsStdLib=kotlin-stdlib-jdk8
joarkHendelseVersion=1.1.6
Expand Down
13 changes: 13 additions & 0 deletions src/main/kotlin/no/nav/syfo/mapping/InntektsmeldingMapper.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.syfo.mapping

import no.nav.inntektsmeldingkontrakt.Arbeidsgivertype
import no.nav.inntektsmeldingkontrakt.ArsakTilInnsending
import no.nav.inntektsmeldingkontrakt.AvsenderSystem
import no.nav.inntektsmeldingkontrakt.EndringIRefusjon
import no.nav.inntektsmeldingkontrakt.GjenopptakelseNaturalytelse
Expand All @@ -13,6 +14,9 @@ import no.nav.inntektsmeldingkontrakt.Status
import no.nav.syfo.domain.inntektsmelding.Gyldighetsstatus
import no.nav.syfo.domain.inntektsmelding.Inntektsmelding
import no.nav.syfo.domain.inntektsmelding.SpinnInntektEndringAarsak
import org.slf4j.LoggerFactory

private val sikkerlogger = LoggerFactory.getLogger("tjenestekall")

fun mapInntektsmeldingKontrakt(
inntektsmelding: Inntektsmelding,
Expand Down Expand Up @@ -52,8 +56,17 @@ fun mapInntektsmeldingKontrakt(
naerRelasjon = inntektsmelding.nærRelasjon,
avsenderSystem = mapAvsenderSystem(inntektsmelding.avsenderSystem),
inntektEndringAarsak = inntektsmelding.rapportertInntekt?.endringAarsakData?.tilInntektEndringAarsak(),
arsakTilInnsending = konverterArsakTilInnsending(inntektsmelding.arsakTilInnsending),
)

fun konverterArsakTilInnsending(arsakTilInnsending: String): ArsakTilInnsending =
try {
ArsakTilInnsending.valueOf(arsakTilInnsending)
} catch (e: IllegalArgumentException) {
sikkerlogger.error("Ugyldig verdi for årsakTilInnsending: $arsakTilInnsending, returnerer ${ArsakTilInnsending.Ny}")
ArsakTilInnsending.Ny
}

fun SpinnInntektEndringAarsak.tilInntektEndringAarsak(): InntektEndringAarsak =
InntektEndringAarsak(
aarsak = aarsak,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.syfo.mapping

import no.nav.helsearbeidsgiver.domene.inntektsmelding.deprecated.BegrunnelseIngenEllerRedusertUtbetalingKode
import no.nav.inntektsmeldingkontrakt.ArsakTilInnsending
import no.nav.syfo.domain.Periode
import no.nav.syfo.domain.inntektsmelding.Gyldighetsstatus
import no.nav.syfo.domain.inntektsmelding.Kontaktinformasjon
Expand All @@ -12,6 +13,8 @@ import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Assertions.assertNull
import org.junit.jupiter.api.Assertions.assertTrue
import org.junit.jupiter.api.Test
import org.junit.jupiter.params.ParameterizedTest
import org.junit.jupiter.params.provider.ValueSource
import java.math.BigDecimal
import java.time.LocalDate
import java.util.UUID
Expand Down Expand Up @@ -113,4 +116,21 @@ class InntektsmeldingMapperFraInternSyfoTilHAGKontraktTest {
mapInntektsmeldingKontrakt(inntektsmelding, "123", Gyldighetsstatus.GYLDIG, "arkivref123", UUID.randomUUID().toString())
assertTrue(kontraktIM.matcherSpleis)
}

@ParameterizedTest
@ValueSource(strings = arrayOf("Ny", "ny", "TEST", "ugyldig", "", "ENDRING", "Endret"))
fun `mapInntektsmeldingKontrakt felt arsakTilInnsending settes til defaultverdi Ny ved ugyldige verdier`(aarsak: String) {
val inntektsmelding = grunnleggendeInntektsmelding.copy(arsakTilInnsending = aarsak)
val kontraktIM =
mapInntektsmeldingKontrakt(inntektsmelding, "123", Gyldighetsstatus.GYLDIG, "arkivref123", UUID.randomUUID().toString())
assertEquals(ArsakTilInnsending.Ny, kontraktIM.arsakTilInnsending)
}

@Test
fun `mapInntektsmeldingKontrakt felt arsakTilInnsending settes til Endring`() {
val inntektsmelding = grunnleggendeInntektsmelding.copy(arsakTilInnsending = "Endring")
val kontraktIM =
mapInntektsmeldingKontrakt(inntektsmelding, "123", Gyldighetsstatus.GYLDIG, "arkivref123", UUID.randomUUID().toString())
assertEquals(ArsakTilInnsending.Endring, kontraktIM.arsakTilInnsending)
}
}

0 comments on commit 9180c0e

Please sign in to comment.