From 90a6b55bddc78b678738c511bfccd711efabd791 Mon Sep 17 00:00:00 2001 From: Jonas Hasle Date: Wed, 4 Sep 2024 14:55:29 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20Legger=20til=20NyeInnte?= =?UTF-8?q?ktsforholdPerioder=20fra=20spleis=20og=20sender=20til=20speil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spesialist/api/graphql/schema/Arbeidsgiver.kt | 9 +++++++++ .../helse/spesialist/api/graphql/schema/Person.kt | 13 +++++++++++++ .../src/main/resources/graphql/hentSnapshot.graphql | 7 +++++++ .../src/main/resources/graphql/schema.graphql | 9 +++++++++ .../helse/spesialist/api/DatabaseIntegrationTest.kt | 1 + .../src/test/schema_til_bruk_fra_tester.graphql | 11 ++++++++++- .../src/test/kotlin/DatabaseIntegrationTest.kt | 1 + .../src/test/kotlin/no/nav/helse/Testdata.kt | 1 + 8 files changed, 51 insertions(+), 1 deletion(-) diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Arbeidsgiver.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Arbeidsgiver.kt index c4f5cc316..f14179757 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Arbeidsgiver.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Arbeidsgiver.kt @@ -144,11 +144,20 @@ data class GhostPeriode( val id = UUID.nameUUIDFromBytes(fom.toString().toByteArray() + organisasjonsnummer.toByteArray()).toString() } +data class NyttInntektsforholdPeriode( + val id: UUID, + val fom: LocalDate, + val tom: LocalDate, + val vilkarsgrunnlagId: UUID?, + val organisasjonsnummer: String, +) + data class Arbeidsgiver( val organisasjonsnummer: String, val navn: String, val bransjer: List, val ghostPerioder: List, + val nyeInntektsforholdPerioder: List, private val fødselsnummer: String, private val generasjoner: List, private val oppgavehåndterer: Oppgavehåndterer, diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Person.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Person.kt index 6ed15b1ae..a0a032a09 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Person.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Person.kt @@ -25,6 +25,7 @@ import no.nav.helse.spesialist.api.tildeling.TildelingDao import no.nav.helse.spesialist.api.totrinnsvurdering.TotrinnsvurderingApiDao import no.nav.helse.spesialist.api.varsel.ApiVarselRepository import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLGhostPeriode +import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLNyttInntektsforholdPeriode import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLPerson import java.time.LocalDate import java.time.LocalDateTime @@ -156,6 +157,7 @@ data class Person( navn = arbeidsgiverApiDao.finnNavn(arbeidsgiver.organisasjonsnummer) ?: "Ikke tilgjengelig", bransjer = arbeidsgiverApiDao.finnBransjer(arbeidsgiver.organisasjonsnummer), ghostPerioder = arbeidsgiver.ghostPerioder.tilGhostPerioder(arbeidsgiver.organisasjonsnummer), + nyeInntektsforholdPerioder = arbeidsgiver.nyeInntektsforholdPerioder.tilNyeInntektsforholdPerioder(), fødselsnummer = snapshot.fodselsnummer, generasjoner = arbeidsgiver.generasjoner, oppgavehåndterer = oppgavehåndterer, @@ -204,6 +206,17 @@ data class Person( organisasjonsnummer = organisasjonsnummer, ) } + + private fun List.tilNyeInntektsforholdPerioder(): List = + map { + NyttInntektsforholdPeriode( + id = it.id, + fom = it.fom, + tom = it.tom, + vilkarsgrunnlagId = it.vilkarsgrunnlagId, + organisasjonsnummer = it.organisasjonsnummer, + ) + } } private fun OverstyringTidslinjeDto.tilDagoverstyring() = diff --git a/spesialist-api/src/main/resources/graphql/hentSnapshot.graphql b/spesialist-api/src/main/resources/graphql/hentSnapshot.graphql index ed88f732a..1d72b0d1b 100644 --- a/spesialist-api/src/main/resources/graphql/hentSnapshot.graphql +++ b/spesialist-api/src/main/resources/graphql/hentSnapshot.graphql @@ -82,6 +82,13 @@ query HentSnapshot($fnr: String!) { vilkarsgrunnlagId deaktivert } + nyeInntektsforholdPerioder { + id + fom + tom + organisasjonsnummer + vilkarsgrunnlagId + } generasjoner { id perioder { diff --git a/spesialist-api/src/main/resources/graphql/schema.graphql b/spesialist-api/src/main/resources/graphql/schema.graphql index d5b272bc3..b19c75de5 100644 --- a/spesialist-api/src/main/resources/graphql/schema.graphql +++ b/spesialist-api/src/main/resources/graphql/schema.graphql @@ -69,6 +69,7 @@ type GraphQLArbeidsgiver { generasjoner: [GraphQLGenerasjon!]! ghostPerioder: [GraphQLGhostPeriode!]! id: UUID! + nyeInntektsforholdPerioder: [GraphQLNyttInntektsforholdPeriode!]! organisasjonsnummer: String! } @@ -156,6 +157,14 @@ type GraphQLInntektsmelding implements GraphQLHendelse { type: GraphQLHendelsetype! } +type GraphQLNyttInntektsforholdPeriode { + fom: LocalDate! + id: UUID! + organisasjonsnummer: String! + tom: LocalDate! + vilkarsgrunnlagId: UUID! +} + type GraphQLOmregnetArsinntekt { belop: Float! inntekterFraAOrdningen: [GraphQLInntekterFraAOrdningen!] diff --git a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/DatabaseIntegrationTest.kt b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/DatabaseIntegrationTest.kt index 7d3cedaa9..ae8b17193 100644 --- a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/DatabaseIntegrationTest.kt +++ b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/DatabaseIntegrationTest.kt @@ -743,6 +743,7 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { GraphQLArbeidsgiver( organisasjonsnummer = ORGANISASJONSNUMMER, ghostPerioder = emptyList(), + nyeInntektsforholdPerioder = emptyList(), generasjoner = generasjoner, ) diff --git a/spesialist-api/src/test/schema_til_bruk_fra_tester.graphql b/spesialist-api/src/test/schema_til_bruk_fra_tester.graphql index ab0454466..6b9be6797 100644 --- a/spesialist-api/src/test/schema_til_bruk_fra_tester.graphql +++ b/spesialist-api/src/test/schema_til_bruk_fra_tester.graphql @@ -97,6 +97,7 @@ type Arbeidsgiver { ghostPerioder: [GhostPeriode!]! inntekterFraAordningen: [ArbeidsgiverInntekterFraAOrdningen!]! navn: String! + nyeInntektsforholdPerioder: [NyttInntektsforholdPeriode!]! organisasjonsnummer: String! overstyringer: [Overstyring!]! } @@ -392,6 +393,14 @@ type Notater { notater: [Notat!]! } +type NyttInntektsforholdPeriode { + fom: LocalDate! + id: UUID! + organisasjonsnummer: String! + tom: LocalDate! + vilkarsgrunnlagId: UUID +} + type OmregnetArsinntekt { belop: Float! inntektFraAOrdningen: [InntektFraAOrdningen!] @@ -495,7 +504,7 @@ type Person { infotrygdutbetalinger: [Infotrygdutbetaling!] personinfo: Personinfo! tildeling: Tildeling - tilleggsinfoForInntektskilder: [TilleggsinfoForInntektskilde!] + tilleggsinfoForInntektskilder: [TilleggsinfoForInntektskilde!]! versjon: Int! vilkarsgrunnlag: [Vilkarsgrunnlag!]! } diff --git a/spesialist-selve/src/test/kotlin/DatabaseIntegrationTest.kt b/spesialist-selve/src/test/kotlin/DatabaseIntegrationTest.kt index 1935012d2..9c65231c7 100644 --- a/spesialist-selve/src/test/kotlin/DatabaseIntegrationTest.kt +++ b/spesialist-selve/src/test/kotlin/DatabaseIntegrationTest.kt @@ -512,6 +512,7 @@ abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { GraphQLArbeidsgiver( organisasjonsnummer = "987654321", ghostPerioder = emptyList(), + nyeInntektsforholdPerioder = emptyList(), generasjoner = listOf( GraphQLGenerasjon( diff --git a/spesialist-selve/src/test/kotlin/no/nav/helse/Testdata.kt b/spesialist-selve/src/test/kotlin/no/nav/helse/Testdata.kt index db28f0ad5..b4774b6b1 100644 --- a/spesialist-selve/src/test/kotlin/no/nav/helse/Testdata.kt +++ b/spesialist-selve/src/test/kotlin/no/nav/helse/Testdata.kt @@ -59,6 +59,7 @@ object Testdata { GraphQLArbeidsgiver( organisasjonsnummer = organisasjonsnummer, ghostPerioder = emptyList(), + nyeInntektsforholdPerioder = emptyList(), generasjoner = listOf( GraphQLGenerasjon(