diff --git a/spesialist-api/build.gradle.kts b/spesialist-api/build.gradle.kts index 26e881d71..d1ef3187a 100644 --- a/spesialist-api/build.gradle.kts +++ b/spesialist-api/build.gradle.kts @@ -29,11 +29,16 @@ graphql { // Ved å sette opp UUID her vil koden som genereres for spleis-typene bruke UUID customScalars = listOf( - GraphQLScalar("UUID", "java.util.UUID", "no.nav.helse.spesialist.api.graphql.schema.UUIDScalarConverter"), + GraphQLScalar("UUID", "java.util.UUID", "no.nav.helse.spesialist.api.graphql.schema.converter.UUIDScalarConverter"), GraphQLScalar( "LocalDateTime", "java.time.LocalDateTime", - "no.nav.helse.spesialist.api.graphql.schema.LocalDateTimeScalarConverter", + "no.nav.helse.spesialist.api.graphql.schema.converter.LocalDateTimeScalarConverter", + ), + GraphQLScalar( + "LocalDate", + "java.time.LocalDate", + "no.nav.helse.spesialist.api.graphql.schema.converter.LocalDateScalarConverter", ), ) queryFileDirectory = graphqlDir diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/SchemaGeneratorHooks.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/SchemaGeneratorHooks.kt index f991ba085..22a31897e 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/SchemaGeneratorHooks.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/SchemaGeneratorHooks.kt @@ -8,6 +8,7 @@ import graphql.language.Value import graphql.schema.Coercing import graphql.schema.GraphQLScalarType import graphql.schema.GraphQLType +import java.time.LocalDate import java.time.LocalDateTime import java.util.Locale import java.util.UUID @@ -23,6 +24,7 @@ internal val schemaGeneratorHooks = when (type.classifier as? KClass<*>) { UUID::class -> graphQLUUID LocalDateTime::class -> graphQLLocalDateTime + LocalDate::class -> graphQLLocalDate else -> null } } @@ -34,6 +36,13 @@ private val graphQLLocalDateTime: GraphQLScalarType = .coercing(LocalDateTimeCoercing) .build() +private val graphQLLocalDate: GraphQLScalarType = + GraphQLScalarType.newScalar() + .name(LocalDate::class.simpleName) + .description(LocalDate::class.toString()) + .coercing(LocalDateCoercing) + .build() + private val graphQLUUID: GraphQLScalarType = GraphQLScalarType.newScalar() .name(UUID::class.simpleName) @@ -90,3 +99,27 @@ private object LocalDateTimeCoercing : Coercing { locale: Locale, ): LocalDateTime = LocalDateTime.parse(serialize(input, graphQLContext, locale)) } +private object LocalDateCoercing : Coercing { + override fun serialize( + dataFetcherResult: Any, + graphQLContext: GraphQLContext, + locale: Locale, + ) = dataFetcherResult.toString() + + override fun parseValue( + input: Any, + graphQLContext: GraphQLContext, + locale: Locale, + ): LocalDate = LocalDate.parse(serialize(input, graphQLContext, locale)) + + override fun parseLiteral( + input: Value<*>, + variables: CoercedVariables, + graphQLContext: GraphQLContext, + locale: Locale, + ): LocalDate { + val s = serialize(input, graphQLContext, locale) + val d = LocalDate.parse(s) + return d + } +} diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/OverstyringMutation.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/OverstyringMutation.kt index dceef3d15..222ad691d 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/OverstyringMutation.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/OverstyringMutation.kt @@ -19,6 +19,7 @@ import no.nav.helse.spesialist.api.saksbehandler.handlinger.OverstyrInntektOgRef import no.nav.helse.spesialist.api.saksbehandler.handlinger.OverstyrTidslinjeHandlingFraApi import org.slf4j.Logger import org.slf4j.LoggerFactory +import java.util.UUID import java.time.LocalDate class OverstyringMutation(private val saksbehandlerhåndterer: Saksbehandlerhåndterer) : Mutation { @@ -44,7 +45,7 @@ class OverstyringMutation(private val saksbehandlerhåndterer: Saksbehandlerhån dager = overstyring.dager.map { it -> OverstyrTidslinjeHandlingFraApi.OverstyrDagFraApi( - dato = LocalDate.parse(it.dato), + dato = it.dato, type = it.type, fraType = it.fraType, grad = it.grad, @@ -83,7 +84,7 @@ class OverstyringMutation(private val saksbehandlerhåndterer: Saksbehandlerhån OverstyrInntektOgRefusjonHandlingFraApi( aktørId = overstyring.aktorId, fødselsnummer = overstyring.fodselsnummer, - skjæringstidspunkt = LocalDate.parse(overstyring.skjaringstidspunkt), + skjæringstidspunkt = overstyring.skjaringstidspunkt, arbeidsgivere = overstyring.arbeidsgivere.map { arbeidsgiver -> OverstyrInntektOgRefusjonHandlingFraApi.OverstyrArbeidsgiverFraApi( @@ -93,16 +94,16 @@ class OverstyringMutation(private val saksbehandlerhåndterer: Saksbehandlerhån refusjonsopplysninger = arbeidsgiver.refusjonsopplysninger?.map { refusjonselement -> OverstyrInntektOgRefusjonHandlingFraApi.OverstyrArbeidsgiverFraApi.RefusjonselementFraApi( - fom = LocalDate.parse(refusjonselement.fom), - tom = refusjonselement.tom?.let { LocalDate.parse(it) }, + fom = refusjonselement.fom, + tom = refusjonselement.tom, beløp = refusjonselement.belop, ) }, fraRefusjonsopplysninger = arbeidsgiver.fraRefusjonsopplysninger?.map { refusjonselement -> OverstyrInntektOgRefusjonHandlingFraApi.OverstyrArbeidsgiverFraApi.RefusjonselementFraApi( - fom = LocalDate.parse(refusjonselement.fom), - tom = refusjonselement.tom?.let { LocalDate.parse(it) }, + fom = refusjonselement.fom, + tom = refusjonselement.tom, beløp = refusjonselement.belop, ) }, @@ -143,7 +144,7 @@ class OverstyringMutation(private val saksbehandlerhåndterer: Saksbehandlerhån OverstyrArbeidsforholdHandlingFraApi( overstyring.fodselsnummer, aktørId = overstyring.aktorId, - skjæringstidspunkt = LocalDate.parse(overstyring.skjaringstidspunkt), + skjæringstidspunkt = overstyring.skjaringstidspunkt, overstyrteArbeidsforhold = overstyring.overstyrteArbeidsforhold.map { arbeidsforhold -> OverstyrArbeidsforholdHandlingFraApi.ArbeidsforholdFraApi( diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/PaVentMutation.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/PaVentMutation.kt index e6736a905..4a611ebee 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/PaVentMutation.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/PaVentMutation.kt @@ -14,7 +14,6 @@ import no.nav.helse.spesialist.api.feilhåndtering.OppgaveIkkeTildelt import no.nav.helse.spesialist.api.feilhåndtering.OppgaveTildeltNoenAndre import no.nav.helse.spesialist.api.graphql.ContextValues import no.nav.helse.spesialist.api.graphql.ContextValues.SAKSBEHANDLER_OID -import no.nav.helse.spesialist.api.graphql.schema.DateString import no.nav.helse.spesialist.api.graphql.schema.NotatType import no.nav.helse.spesialist.api.graphql.schema.PaVent import no.nav.helse.spesialist.api.notat.NotatMediator @@ -42,7 +41,7 @@ class PaVentMutation( oppgaveId: String, notatTekst: String, notatType: NotatType, - frist: DateString, + frist: LocalDate, tildeling: Boolean, begrunnelse: String?, env: DataFetchingEnvironment, @@ -54,7 +53,7 @@ class PaVentMutation( try { notatMediator.lagreForOppgaveId(oppgaveId.toLong(), notatTekst, saksbehandlerOid, notatType) saksbehandlerhåndterer.håndter( - LeggPåVent(oppgaveId.toLong(), saksbehandler.oid, LocalDate.parse(frist), tildeling, begrunnelse), + LeggPåVent(oppgaveId.toLong(), saksbehandler.oid, frist, tildeling, begrunnelse), saksbehandler, ) newResult().data( diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/SkjonnsfastsettelseMutation.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/SkjonnsfastsettelseMutation.kt index 229ed0654..e65a5ef96 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/SkjonnsfastsettelseMutation.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/mutation/SkjonnsfastsettelseMutation.kt @@ -21,7 +21,6 @@ import no.nav.helse.spesialist.api.saksbehandler.handlinger.SkjønnsfastsettSyke import no.nav.helse.spesialist.api.saksbehandler.handlinger.SkjønnsfastsettSykepengegrunnlagHandlingFraApi.SkjønnsfastsattArbeidsgiverFraApi.SkjønnsfastsettingstypeDto.RAPPORTERT_ÅRSINNTEKT import org.slf4j.Logger import org.slf4j.LoggerFactory -import java.time.LocalDate class SkjonnsfastsettelseMutation(private val saksbehandlerhåndterer: Saksbehandlerhåndterer) : Mutation { private companion object { @@ -40,7 +39,7 @@ class SkjonnsfastsettelseMutation(private val saksbehandlerhåndterer: Saksbehan SkjønnsfastsettSykepengegrunnlagHandlingFraApi( skjonnsfastsettelse.aktorId, skjonnsfastsettelse.fodselsnummer, - LocalDate.parse(skjonnsfastsettelse.skjaringstidspunkt), + skjonnsfastsettelse.skjaringstidspunkt, skjonnsfastsettelse.arbeidsgivere.map { arbeidsgiver -> SkjønnsfastsettSykepengegrunnlagHandlingFraApi.SkjønnsfastsattArbeidsgiverFraApi( arbeidsgiver.organisasjonsnummer, diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/query/DokumentQuery.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/query/DokumentQuery.kt index f1f4b84e5..a7b1df08b 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/query/DokumentQuery.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/query/DokumentQuery.kt @@ -7,6 +7,7 @@ import graphql.execution.DataFetcherResult import graphql.schema.DataFetchingEnvironment import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext +import no.nav.helse.rapids_rivers.asLocalDate import no.nav.helse.rapids_rivers.asLocalDateTime import no.nav.helse.rapids_rivers.isMissingOrNull import no.nav.helse.spesialist.api.Dokumenthåndterer @@ -95,7 +96,8 @@ class DokumentQuery( return DataFetcherResult.newResult() .error(getNotFoundErrorEkstern()).build() } else if (error == 408) { - return DataFetcherResult.newResult().error(getEmptyResultTimeoutError()).build() + return DataFetcherResult.newResult().error(getEmptyResultTimeoutError()) + .build() } return@let it.tilInntektsmelding() } @@ -108,7 +110,8 @@ class DokumentQuery( .extensions(mapOf("code" to 400)).build() private fun getEmptyResultTimeoutError(): GraphQLError = - GraphqlErrorException.newErrorException().message("Det tar litt lengre tid enn forventet å hente dokumentet, vennligst prøv igjen.") + GraphqlErrorException.newErrorException() + .message("Det tar litt lengre tid enn forventet å hente dokumentet, vennligst prøv igjen.") .extensions(mapOf("code" to 408)).build() private fun getExpectationFailedError(): GraphQLError = @@ -116,99 +119,99 @@ class DokumentQuery( .extensions(mapOf("code" to 417)).build() private fun getNotFoundErrorEkstern(): GraphQLError = - GraphqlErrorException.newErrorException().message("Speil har ikke tilgang til denne inntektsmeldingen, den må åpnes i Gosys.") + GraphqlErrorException.newErrorException() + .message("Speil har ikke tilgang til denne inntektsmeldingen, den må åpnes i Gosys.") .extensions(mapOf("code" to 404)).build() private fun JsonNode.tilInntektsmelding(): DokumentInntektsmelding { return DokumentInntektsmelding( begrunnelseForReduksjonEllerIkkeUtbetalt = - this.path("begrunnelseForReduksjonEllerIkkeUtbetalt") - .takeUnless { it.isMissingOrNull() }?.asText(), + this.path("begrunnelseForReduksjonEllerIkkeUtbetalt") + .takeUnless { it.isMissingOrNull() }?.asText(), bruttoUtbetalt = this.path("bruttoUtbetalt").takeUnless { it.isMissingOrNull() }?.asDouble(), beregnetInntekt = this.path("beregnetInntekt").takeUnless { it.isMissingOrNull() }?.asDouble(), - inntektsdato = this.path("inntektsdato").takeUnless { it.isMissingOrNull() }?.asText(), + inntektsdato = this.path("inntektsdato").takeUnless { it.isMissingOrNull() }?.asLocalDate(), refusjon = - this.path("refusjon").takeUnless { it.isMissingOrNull() }?.let { refusjon -> - Refusjon( - beloepPrMnd = refusjon["beloepPrMnd"].takeUnless { it.isMissingOrNull() }?.asDouble(), - opphoersdato = refusjon["opphoersdato"].takeUnless { it.isMissingOrNull() }?.asText(), + this.path("refusjon").takeUnless { it.isMissingOrNull() }?.let { refusjon -> + Refusjon( + beloepPrMnd = refusjon["beloepPrMnd"].takeUnless { it.isMissingOrNull() }?.asDouble(), + opphoersdato = refusjon["opphoersdato"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + ) + }, + endringIRefusjoner = + this.path("endringIRefusjoner").takeUnless { it.isMissingOrNull() } + ?.map { endringIRefusjon -> + EndringIRefusjon( + endringsdato = + endringIRefusjon["endringsdato"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + beloep = endringIRefusjon["beloep"].takeUnless { it.isMissingOrNull() }?.asDouble(), ) }, - endringIRefusjoner = - this.path("endringIRefusjoner").takeUnless { it.isMissingOrNull() } - ?.map { endringIRefusjon -> - EndringIRefusjon( - endringsdato = - endringIRefusjon["endringsdato"].takeUnless { it.isMissingOrNull() } - ?.asText(), - beloep = endringIRefusjon["beloep"].takeUnless { it.isMissingOrNull() }?.asDouble(), - ) - }, opphoerAvNaturalytelser = - this.path("opphoerAvNaturalytelser").takeUnless { it.isMissingOrNull() } - ?.map { opphørAvNaturalytelse -> - OpphoerAvNaturalytelse( - opphørAvNaturalytelse["naturalytelse"].takeUnless { it.isMissingOrNull() } - ?.asText()?.tilNaturalytelse(), - fom = opphørAvNaturalytelse["fom"].takeUnless { it.isMissingOrNull() }?.asText(), - beloepPrMnd = - opphørAvNaturalytelse["beloepPrMnd"].takeUnless { it.isMissingOrNull() } - ?.asDouble(), - ) - }, + this.path("opphoerAvNaturalytelser").takeUnless { it.isMissingOrNull() } + ?.map { opphørAvNaturalytelse -> + OpphoerAvNaturalytelse( + opphørAvNaturalytelse["naturalytelse"].takeUnless { it.isMissingOrNull() } + ?.asText()?.tilNaturalytelse(), + fom = opphørAvNaturalytelse["fom"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + beloepPrMnd = + opphørAvNaturalytelse["beloepPrMnd"].takeUnless { it.isMissingOrNull() } + ?.asDouble(), + ) + }, gjenopptakelseNaturalytelser = - this.path("gjenopptakelseNaturalytelser").takeUnless { it.isMissingOrNull() } - ?.map { gjenopptakelseNaturalytelse -> - GjenopptakelseNaturalytelse( - gjenopptakelseNaturalytelse["naturalytelse"].takeUnless { it.isMissingOrNull() } - ?.asText()?.tilNaturalytelse(), - fom = gjenopptakelseNaturalytelse["fom"].takeUnless { it.isMissingOrNull() }?.asText(), - beloepPrMnd = - gjenopptakelseNaturalytelse["beloepPrMnd"].takeUnless { it.isMissingOrNull() } - ?.asDouble(), - ) - }, + this.path("gjenopptakelseNaturalytelser").takeUnless { it.isMissingOrNull() } + ?.map { gjenopptakelseNaturalytelse -> + GjenopptakelseNaturalytelse( + gjenopptakelseNaturalytelse["naturalytelse"].takeUnless { it.isMissingOrNull() } + ?.asText()?.tilNaturalytelse(), + fom = gjenopptakelseNaturalytelse["fom"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + beloepPrMnd = + gjenopptakelseNaturalytelse["beloepPrMnd"].takeUnless { it.isMissingOrNull() } + ?.asDouble(), + ) + }, arbeidsgiverperioder = - this.path("arbeidsgiverperioder").takeUnless { it.isMissingOrNull() } - ?.map { arbeidsgiverperiode -> - IMPeriode( - fom = arbeidsgiverperiode["fom"].takeUnless { it.isMissingOrNull() }?.asText(), - tom = arbeidsgiverperiode["tom"].takeUnless { it.isMissingOrNull() }?.asText(), - ) - }, - ferieperioder = - this.path("ferieperioder").takeUnless { it.isMissingOrNull() }?.map { ferieperiode -> + this.path("arbeidsgiverperioder").takeUnless { it.isMissingOrNull() } + ?.map { arbeidsgiverperiode -> IMPeriode( - fom = ferieperiode["fom"].takeUnless { it.isMissingOrNull() }?.asText(), - tom = ferieperiode["tom"].takeUnless { it.isMissingOrNull() }?.asText(), + fom = arbeidsgiverperiode["fom"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + tom = arbeidsgiverperiode["tom"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), ) }, - foersteFravaersdag = this.path("foersteFravaersdag").takeUnless { it.isMissingOrNull() }?.asText(), + ferieperioder = + this.path("ferieperioder").takeUnless { it.isMissingOrNull() }?.map { ferieperiode -> + IMPeriode( + fom = ferieperiode["fom"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + tom = ferieperiode["tom"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + ) + }, + foersteFravaersdag = this.path("foersteFravaersdag").takeUnless { it.isMissingOrNull() }?.asLocalDate(), naerRelasjon = this.path("naerRelasjon").takeUnless { it.isMissingOrNull() }?.asBoolean(), innsenderFulltNavn = this.path("innsenderFulltNavn").takeUnless { it.isMissingOrNull() }?.asText(), innsenderTelefon = this.path("innsenderTelefon").takeUnless { it.isMissingOrNull() }?.asText(), inntektEndringAarsak = - this.path("inntektEndringAarsak").takeUnless { it.isMissingOrNull() }?.let { endringAarsak -> - InntektEndringAarsak( - aarsak = endringAarsak["aarsak"].asText(), - perioder = - endringAarsak["perioder"].takeUnless { it.isMissingOrNull() }?.map { periode -> - IMPeriode( - fom = periode["fom"].takeUnless { it.isMissingOrNull() }?.asText(), - tom = periode["tom"].takeUnless { it.isMissingOrNull() }?.asText(), - ) - }, - gjelderFra = endringAarsak["gjelderFra"].takeUnless { it.isMissingOrNull() }?.asText(), - bleKjent = endringAarsak["bleKjent"].takeUnless { it.isMissingOrNull() }?.asText(), - ) - }, + this.path("inntektEndringAarsak").takeUnless { it.isMissingOrNull() }?.let { endringAarsak -> + InntektEndringAarsak( + aarsak = endringAarsak["aarsak"].asText(), + perioder = + endringAarsak["perioder"].takeUnless { it.isMissingOrNull() }?.map { periode -> + IMPeriode( + fom = periode["fom"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + tom = periode["tom"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + ) + }, + gjelderFra = endringAarsak["gjelderFra"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + bleKjent = endringAarsak["bleKjent"].takeUnless { it.isMissingOrNull() }?.asLocalDate(), + ) + }, avsenderSystem = - this.path("avsenderSystem").takeUnless { it.isMissingOrNull() }?.let { avsenderSystem -> - AvsenderSystem( - navn = avsenderSystem["navn"].takeUnless { it.isMissingOrNull() }?.asText(), - versjon = avsenderSystem["versjon"].takeUnless { it.isMissingOrNull() }?.asText(), - ) - }, + this.path("avsenderSystem").takeUnless { it.isMissingOrNull() }?.let { avsenderSystem -> + AvsenderSystem( + navn = avsenderSystem["navn"].takeUnless { it.isMissingOrNull() }?.asText(), + versjon = avsenderSystem["versjon"].takeUnless { it.isMissingOrNull() }?.asText(), + ) + }, ) } @@ -245,10 +248,10 @@ class DokumentQuery( private fun JsonNode.tilSøknad(): Soknad { val type = this.path("type").takeUnless { it.isMissingOrNull() }?.asText()?.tilSoknadstype() - val arbeidGjenopptatt = this.path("arbeidGjenopptatt").takeUnless { it.isMissingOrNull() }?.asText() + val arbeidGjenopptatt = this.path("arbeidGjenopptatt").takeUnless { it.isMissingOrNull() }?.asLocalDate() val sykmeldingSkrevet = this.path("sykmeldingSkrevet").takeUnless { it.isMissingOrNull() }?.asLocalDateTime() val egenmeldingsdagerFraSykmelding = - this.path("egenmeldingsdagerFraSykmelding").takeUnless { it.isMissingOrNull() }?.map { it.asText() } + this.path("egenmeldingsdagerFraSykmelding").takeUnless { it.isMissingOrNull() }?.map { it.asLocalDate() } val soknadsperioder = this.path("soknadsperioder").takeUnless { it.isMissingOrNull() }?.map { it.tilSøknadsperioder() } val sporsmal = @@ -286,8 +289,8 @@ class DokumentQuery( private fun JsonNode.tilSøknadsperioder(): Soknadsperioder { return Soknadsperioder( - fom = this.path("fom").asText(), - tom = this.path("tom").asText(), + fom = this.path("fom").asLocalDate(), + tom = this.path("tom").asLocalDate(), grad = this.path("grad").takeUnless { it.isMissingOrNull() }?.asInt(), sykmeldingsgrad = this.path("sykmeldingsgrad").takeUnless { it.isMissingOrNull() }?.asInt(), faktiskGrad = this.path("faktiskGrad").takeUnless { it.isMissingOrNull() }?.asInt(), 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 286c96660..1409b3f3b 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 @@ -22,15 +22,15 @@ import no.nav.helse.spesialist.api.varsel.ApiVarselRepository import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLBeregnetPeriode import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLGenerasjon import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLUberegnetPeriode +import java.time.LocalDate import java.time.LocalDateTime -import java.time.format.DateTimeFormatter import java.util.UUID data class Arbeidsforhold( val stillingstittel: String, val stillingsprosent: Int, - val startdato: DateString, - val sluttdato: DateString?, + val startdato: LocalDate, + val sluttdato: LocalDate?, ) data class Generasjon( @@ -59,7 +59,7 @@ data class Dagoverstyring( val begrunnelse: String, ) : Overstyring { data class OverstyrtDag( - val dato: DateString, + val dato: LocalDate, val type: Dagtype, val fraType: Dagtype?, val grad: Int?, @@ -79,14 +79,14 @@ data class Inntektoverstyring( val begrunnelse: String, val manedligInntekt: Double, val fraManedligInntekt: Double?, - val skjaeringstidspunkt: DateString, + val skjaeringstidspunkt: LocalDate, val refusjonsopplysninger: List?, val fraRefusjonsopplysninger: List?, ) data class Refusjonsopplysning( - val fom: DateString, - val tom: DateString?, + val fom: LocalDate, + val tom: LocalDate?, val belop: Double, ) } @@ -107,7 +107,7 @@ data class Sykepengegrunnlagskjonnsfastsetting( val begrunnelseKonklusjon: String?, val arlig: Double, val fraArlig: Double?, - val skjaeringstidspunkt: DateString, + val skjaeringstidspunkt: LocalDate, ) } @@ -117,20 +117,20 @@ data class Arbeidsforholdoverstyring( override val saksbehandler: Saksbehandler, override val ferdigstilt: Boolean, val deaktivert: Boolean, - val skjaeringstidspunkt: DateString, + val skjaeringstidspunkt: LocalDate, val forklaring: String, val begrunnelse: String, ) : Overstyring data class GhostPeriode( - val fom: DateString, - val tom: DateString, - val skjaeringstidspunkt: DateString, + val fom: LocalDate, + val tom: LocalDate, + val skjaeringstidspunkt: LocalDate, val vilkarsgrunnlagId: UUID?, val deaktivert: Boolean, val organisasjonsnummer: String, ) { - val id = UUID.nameUUIDFromBytes(fom.toByteArray() + organisasjonsnummer.toByteArray()).toString() + val id = UUID.nameUUIDFromBytes(fom.toString().toByteArray() + organisasjonsnummer.toByteArray()).toString() } data class Arbeidsgiver( @@ -209,8 +209,8 @@ data class Arbeidsgiver( Arbeidsforhold( stillingstittel = it.stillingstittel, stillingsprosent = it.stillingsprosent, - startdato = it.startdato.format(DateTimeFormatter.ISO_DATE), - sluttdato = it.sluttdato?.format(DateTimeFormatter.ISO_DATE), + startdato = it.startdato, + sluttdato = it.sluttdato, ) } @@ -234,7 +234,7 @@ private fun OverstyringTidslinjeDto.tilDagoverstyring() = dager = overstyrteDager.map { dag -> Dagoverstyring.OverstyrtDag( - dato = dag.dato.format(DateTimeFormatter.ISO_DATE), + dato = dag.dato, type = dag.type, fraType = dag.fraType, grad = dag.grad, @@ -259,20 +259,20 @@ private fun OverstyringInntektDto.tilInntektoverstyring() = begrunnelse = begrunnelse, manedligInntekt = månedligInntekt, fraManedligInntekt = fraMånedligInntekt, - skjaeringstidspunkt = skjæringstidspunkt.format(DateTimeFormatter.ISO_DATE), + skjaeringstidspunkt = skjæringstidspunkt, refusjonsopplysninger = refusjonsopplysninger?.map { Inntektoverstyring.Refusjonsopplysning( - fom = it.fom.toString(), - tom = it.tom?.toString(), + fom = it.fom, + tom = it.tom, belop = it.beløp, ) } ?: emptyList(), fraRefusjonsopplysninger = fraRefusjonsopplysninger?.map { Inntektoverstyring.Refusjonsopplysning( - fom = it.fom.toString(), - tom = it.tom?.toString(), + fom = it.fom, + tom = it.tom, belop = it.beløp, ) } ?: emptyList(), @@ -291,7 +291,7 @@ private fun OverstyringArbeidsforholdDto.tilArbeidsforholdoverstyring() = ident = saksbehandlerIdent, ), deaktivert = deaktivert, - skjaeringstidspunkt = skjæringstidspunkt.format(DateTimeFormatter.ISO_DATE), + skjaeringstidspunkt = skjæringstidspunkt, forklaring = forklaring, ferdigstilt = ferdigstilt, ) @@ -315,7 +315,7 @@ private fun SkjønnsfastsettingSykepengegrunnlagDto.tilSykepengegrunnlagSkjønns begrunnelseKonklusjon = begrunnelseKonklusjon, arlig = årlig, fraArlig = fraÅrlig, - skjaeringstidspunkt = skjæringstidspunkt.format(DateTimeFormatter.ISO_DATE), + skjaeringstidspunkt = skjæringstidspunkt, ), ferdigstilt = ferdigstilt, ) diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Dag.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Dag.kt index b1b7e21d9..a0ead2037 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Dag.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Dag.kt @@ -7,6 +7,7 @@ import no.nav.helse.spleis.graphql.enums.GraphQLUtbetalingsdagType import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLDag import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLSykdomsdagkilde import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLUtbetalingsinfo +import java.time.LocalDate import java.util.UUID enum class Kildetype { @@ -81,7 +82,7 @@ data class Utbetalingsinfo( ) data class Dag( - val dato: DateString, + val dato: LocalDate, val grad: Double?, val kilde: Kilde, val sykdomsdagtype: Sykdomsdagtype, diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Dokument.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Dokument.kt index 5982383bf..77cd4cd5b 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Dokument.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Dokument.kt @@ -1,12 +1,13 @@ package no.nav.helse.spesialist.api.graphql.schema +import java.time.LocalDate import java.time.LocalDateTime data class Soknad( val type: Soknadstype?, - val arbeidGjenopptatt: DateString?, + val arbeidGjenopptatt: LocalDate?, val sykmeldingSkrevet: LocalDateTime?, - val egenmeldingsdagerFraSykmelding: List?, + val egenmeldingsdagerFraSykmelding: List?, val soknadsperioder: List?, val sporsmal: List?, ) @@ -25,8 +26,8 @@ enum class Soknadstype { } data class Soknadsperioder( - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val grad: Int?, val faktiskGrad: Int?, val sykmeldingsgrad: Int?, @@ -87,14 +88,14 @@ data class DokumentInntektsmelding( val begrunnelseForReduksjonEllerIkkeUtbetalt: String?, val bruttoUtbetalt: Double?, val beregnetInntekt: Double?, - val inntektsdato: DateString?, + val inntektsdato: LocalDate?, val refusjon: Refusjon?, val endringIRefusjoner: List?, val opphoerAvNaturalytelser: List?, val gjenopptakelseNaturalytelser: List?, val arbeidsgiverperioder: List?, val ferieperioder: List?, - val foersteFravaersdag: DateString?, + val foersteFravaersdag: LocalDate?, val naerRelasjon: Boolean?, val innsenderFulltNavn: String?, val innsenderTelefon: String?, @@ -104,17 +105,17 @@ data class DokumentInntektsmelding( data class Refusjon( val beloepPrMnd: Double?, - val opphoersdato: DateString?, + val opphoersdato: LocalDate?, ) data class EndringIRefusjon( - val endringsdato: DateString?, + val endringsdato: LocalDate?, val beloep: Double?, ) data class OpphoerAvNaturalytelse( val naturalytelse: Naturalytelse? = null, - val fom: DateString? = null, + val fom: LocalDate? = null, val beloepPrMnd: Double? = null, ) @@ -143,20 +144,20 @@ enum class Naturalytelse { data class GjenopptakelseNaturalytelse( val naturalytelse: Naturalytelse? = null, - val fom: DateString? = null, + val fom: LocalDate? = null, val beloepPrMnd: Double? = null, ) data class IMPeriode( - val fom: DateString?, - val tom: DateString?, + val fom: LocalDate?, + val tom: LocalDate?, ) data class InntektEndringAarsak( val aarsak: String, val perioder: List? = null, - val gjelderFra: DateString? = null, - val bleKjent: DateString? = null, + val gjelderFra: LocalDate? = null, + val bleKjent: LocalDate? = null, ) data class AvsenderSystem( diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Hendelse.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Hendelse.kt index 990c798bf..685388874 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Hendelse.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Hendelse.kt @@ -8,6 +8,7 @@ import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLSoknadFrilans import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLSoknadNav import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLSoknadSelvstendig import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLSykmelding +import java.time.LocalDate import java.time.LocalDateTime import java.util.UUID @@ -38,8 +39,8 @@ data class Inntektsmelding( data class SoknadArbeidsgiver( override val id: UUID, override val type: Hendelsetype, - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val rapportertDato: LocalDateTime, val sendtArbeidsgiver: LocalDateTime, val eksternDokumentId: UUID?, @@ -48,8 +49,8 @@ data class SoknadArbeidsgiver( data class SoknadNav( override val id: UUID, override val type: Hendelsetype, - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val rapportertDato: LocalDateTime, val sendtNav: LocalDateTime, val eksternDokumentId: UUID?, @@ -58,8 +59,8 @@ data class SoknadNav( data class SoknadArbeidsledig( override val id: UUID, override val type: Hendelsetype, - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val rapportertDato: LocalDateTime, val sendtNav: LocalDateTime, val eksternDokumentId: UUID?, @@ -68,8 +69,8 @@ data class SoknadArbeidsledig( data class SoknadFrilans( override val id: UUID, override val type: Hendelsetype, - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val rapportertDato: LocalDateTime, val sendtNav: LocalDateTime, val eksternDokumentId: UUID?, @@ -78,8 +79,8 @@ data class SoknadFrilans( data class SoknadSelvstendig( override val id: UUID, override val type: Hendelsetype, - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val rapportertDato: LocalDateTime, val sendtNav: LocalDateTime, val eksternDokumentId: UUID?, @@ -88,8 +89,8 @@ data class SoknadSelvstendig( data class Sykmelding( override val id: UUID, override val type: Hendelsetype, - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val rapportertDato: LocalDateTime, ) : Hendelse diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Oppgave.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Oppgave.kt index 770843f96..575d0cd49 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Oppgave.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Oppgave.kt @@ -1,5 +1,6 @@ package no.nav.helse.spesialist.api.graphql.schema +import java.time.LocalDate import java.time.LocalDateTime import java.util.UUID @@ -95,7 +96,7 @@ data class OppgaveTilBehandling( val id: String, val opprettet: LocalDateTime, val opprinneligSoknadsdato: LocalDateTime, - val tidsfrist: DateString?, + val tidsfrist: LocalDate?, val vedtaksperiodeId: UUID, val navn: Personnavn, val aktorId: String, diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Overstyring.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Overstyring.kt index 9d9ca31d1..05470fd0e 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Overstyring.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Overstyring.kt @@ -1,5 +1,7 @@ package no.nav.helse.spesialist.api.graphql.schema +import java.time.LocalDate + import java.util.UUID data class TidslinjeOverstyring( @@ -14,7 +16,7 @@ data class TidslinjeOverstyring( data class InntektOgRefusjonOverstyring( val aktorId: String, val fodselsnummer: String, - val skjaringstidspunkt: DateString, + val skjaringstidspunkt: LocalDate, val arbeidsgivere: List, val vedtaksperiodeId: UUID, ) @@ -22,7 +24,7 @@ data class InntektOgRefusjonOverstyring( data class ArbeidsforholdOverstyringHandling( val fodselsnummer: String, val aktorId: String, - val skjaringstidspunkt: DateString, + val skjaringstidspunkt: LocalDate, val overstyrteArbeidsforhold: List, val vedtaksperiodeId: UUID, ) @@ -46,14 +48,14 @@ data class OverstyringArbeidsgiver( val lovhjemmel: Lovhjemmel?, ) { data class OverstyringRefusjonselement( - val fom: DateString, - val tom: DateString? = null, + val fom: LocalDate, + val tom: LocalDate? = null, val belop: Double, ) } data class OverstyringDag( - val dato: DateString, + val dato: LocalDate, val type: String, val fraType: String, val grad: Int?, diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Periode.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Periode.kt index dbf14085d..dda763fb0 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Periode.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Periode.kt @@ -27,6 +27,7 @@ import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLBeregnetPeriode import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLOppdrag import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLTidslinjeperiode import no.nav.helse.spleis.graphql.hentsnapshot.Sykepengedager +import java.time.LocalDate import java.time.LocalDateTime import java.util.UUID import no.nav.helse.spleis.graphql.enums.Utbetalingtype as GraphQLUtbetalingtype @@ -97,15 +98,15 @@ data class Vurdering( ) data class Simuleringslinje( - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val dagsats: Int, val grad: Int, ) data class Simuleringsdetaljer( - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val belop: Int, val antallSats: Int, val klassekode: String, @@ -122,14 +123,14 @@ data class Simuleringsdetaljer( data class Simuleringsutbetaling( val mottakerId: String, val mottakerNavn: String, - val forfall: DateString, + val forfall: LocalDate, val feilkonto: Boolean, val detaljer: List, ) data class Simuleringsperiode( - val fom: DateString, - val tom: DateString, + val fom: LocalDate, + val tom: LocalDate, val utbetalinger: List, ) @@ -233,9 +234,9 @@ interface Periode { fun erForkastet(): Boolean - fun fom(): DateString + fun fom(): LocalDate - fun tom(): DateString + fun tom(): LocalDate fun id(): UUID @@ -251,7 +252,7 @@ interface Periode { fun periodetilstand(): Periodetilstand - fun skjaeringstidspunkt(): DateString + fun skjaeringstidspunkt(): LocalDate fun varsler(): List @@ -291,10 +292,10 @@ interface Periode { fun erForkastet(periode: GraphQLTidslinjeperiode): Boolean = periode.erForkastet @GraphQLIgnore - fun fom(periode: GraphQLTidslinjeperiode): DateString = periode.fom + fun fom(periode: GraphQLTidslinjeperiode): LocalDate = periode.fom @GraphQLIgnore - fun tom(periode: GraphQLTidslinjeperiode): DateString = periode.tom + fun tom(periode: GraphQLTidslinjeperiode): LocalDate = periode.tom @GraphQLIgnore fun inntektstype(periode: GraphQLTidslinjeperiode): Inntektstype = @@ -336,15 +337,15 @@ interface Periode { feilregistrert_tidspunkt = it.feilregistrert_tidspunkt, type = it.type, kommentarer = - it.kommentarer.map { kommentar -> - Kommentar( - id = kommentar.id, - tekst = kommentar.tekst, - opprettet = kommentar.opprettet, - saksbehandlerident = kommentar.saksbehandlerident, - feilregistrert_tidspunkt = kommentar.feilregistrertTidspunkt, - ) - }, + it.kommentarer.map { kommentar -> + Kommentar( + id = kommentar.id, + tekst = kommentar.tekst, + opprettet = kommentar.opprettet, + saksbehandlerident = kommentar.saksbehandlerident, + feilregistrert_tidspunkt = kommentar.feilregistrertTidspunkt, + ) + }, ) } @@ -364,9 +365,9 @@ data class UberegnetPeriode( override fun erForkastet(): Boolean = erForkastet(periode) - override fun fom(): DateString = fom(periode) + override fun fom(): LocalDate = fom(periode) - override fun tom(): DateString = tom(periode) + override fun tom(): LocalDate = tom(periode) override fun id(): UUID = UUID.nameUUIDFromBytes(vedtaksperiodeId().toString().toByteArray() + index.toByte()) @@ -382,7 +383,7 @@ data class UberegnetPeriode( override fun periodetilstand(): Periodetilstand = periodetilstand(periode.periodetilstand, true) - override fun skjaeringstidspunkt(): DateString = periode.skjaeringstidspunkt + override fun skjaeringstidspunkt(): LocalDate = periode.skjaeringstidspunkt override fun hendelser(): List = periode.hendelser.map { it.tilHendelse() } @@ -426,9 +427,9 @@ data class BeregnetPeriode( override fun erForkastet(): Boolean = erForkastet(periode) - override fun fom(): DateString = fom(periode) + override fun fom(): LocalDate = fom(periode) - override fun tom(): DateString = tom(periode) + override fun tom(): LocalDate = tom(periode) override fun id(): UUID = UUID.nameUUIDFromBytes(vedtaksperiodeId().toString().toByteArray() + index.toByte()) @@ -446,7 +447,8 @@ data class BeregnetPeriode( fun handlinger() = byggHandlinger() - fun egenskaper(): List = oppgavehåndterer.hentEgenskaper(periode.vedtaksperiodeId, periode.utbetaling.id) + fun egenskaper(): List = + oppgavehåndterer.hentEgenskaper(periode.vedtaksperiodeId, periode.utbetaling.id) private fun byggHandlinger(): List { return if (periodetilstand != Periodetilstand.TilGodkjenning) { @@ -480,7 +482,7 @@ data class BeregnetPeriode( fun gjenstaendeSykedager(): Int? = periode.gjenstaendeSykedager - fun maksdato(): DateString = periode.maksdato + fun maksdato(): LocalDate = periode.maksdato fun periodevilkar(): Periodevilkar = Periodevilkar( @@ -488,7 +490,7 @@ data class BeregnetPeriode( sykepengedager = periode.periodevilkar.sykepengedager, ) - override fun skjaeringstidspunkt(): DateString = periode.skjaeringstidspunkt + override fun skjaeringstidspunkt(): LocalDate = periode.skjaeringstidspunkt fun utbetaling(): Utbetaling = periode.utbetaling.let { @@ -499,37 +501,37 @@ data class BeregnetPeriode( personFagsystemId = it.personFagsystemId, personNettoBelop = it.personNettoBelop, status = - when (it.statusEnum) { - GraphQLUtbetalingstatus.ANNULLERT -> Utbetalingstatus.ANNULLERT - GraphQLUtbetalingstatus.FORKASTET -> Utbetalingstatus.FORKASTET - GraphQLUtbetalingstatus.GODKJENT -> Utbetalingstatus.GODKJENT - GraphQLUtbetalingstatus.GODKJENTUTENUTBETALING -> Utbetalingstatus.GODKJENTUTENUTBETALING - GraphQLUtbetalingstatus.IKKEGODKJENT -> Utbetalingstatus.IKKEGODKJENT - GraphQLUtbetalingstatus.OVERFORT -> Utbetalingstatus.OVERFORT - GraphQLUtbetalingstatus.SENDT -> Utbetalingstatus.SENDT - GraphQLUtbetalingstatus.UBETALT -> Utbetalingstatus.UBETALT - GraphQLUtbetalingstatus.UTBETALINGFEILET -> Utbetalingstatus.UTBETALINGFEILET - GraphQLUtbetalingstatus.UTBETALT -> Utbetalingstatus.UTBETALT - GraphQLUtbetalingstatus.__UNKNOWN_VALUE -> Utbetalingstatus.UKJENT - }, + when (it.statusEnum) { + GraphQLUtbetalingstatus.ANNULLERT -> Utbetalingstatus.ANNULLERT + GraphQLUtbetalingstatus.FORKASTET -> Utbetalingstatus.FORKASTET + GraphQLUtbetalingstatus.GODKJENT -> Utbetalingstatus.GODKJENT + GraphQLUtbetalingstatus.GODKJENTUTENUTBETALING -> Utbetalingstatus.GODKJENTUTENUTBETALING + GraphQLUtbetalingstatus.IKKEGODKJENT -> Utbetalingstatus.IKKEGODKJENT + GraphQLUtbetalingstatus.OVERFORT -> Utbetalingstatus.OVERFORT + GraphQLUtbetalingstatus.SENDT -> Utbetalingstatus.SENDT + GraphQLUtbetalingstatus.UBETALT -> Utbetalingstatus.UBETALT + GraphQLUtbetalingstatus.UTBETALINGFEILET -> Utbetalingstatus.UTBETALINGFEILET + GraphQLUtbetalingstatus.UTBETALT -> Utbetalingstatus.UTBETALT + GraphQLUtbetalingstatus.__UNKNOWN_VALUE -> Utbetalingstatus.UKJENT + }, type = - when (it.typeEnum) { - GraphQLUtbetalingtype.ANNULLERING -> Utbetalingtype.ANNULLERING - GraphQLUtbetalingtype.ETTERUTBETALING -> Utbetalingtype.ETTERUTBETALING - GraphQLUtbetalingtype.FERIEPENGER -> Utbetalingtype.FERIEPENGER - GraphQLUtbetalingtype.REVURDERING -> Utbetalingtype.REVURDERING - GraphQLUtbetalingtype.UTBETALING -> Utbetalingtype.UTBETALING - GraphQLUtbetalingtype.__UNKNOWN_VALUE -> Utbetalingtype.UKJENT - }, + when (it.typeEnum) { + GraphQLUtbetalingtype.ANNULLERING -> Utbetalingtype.ANNULLERING + GraphQLUtbetalingtype.ETTERUTBETALING -> Utbetalingtype.ETTERUTBETALING + GraphQLUtbetalingtype.FERIEPENGER -> Utbetalingtype.FERIEPENGER + GraphQLUtbetalingtype.REVURDERING -> Utbetalingtype.REVURDERING + GraphQLUtbetalingtype.UTBETALING -> Utbetalingtype.UTBETALING + GraphQLUtbetalingtype.__UNKNOWN_VALUE -> Utbetalingtype.UKJENT + }, vurdering = - it.vurdering?.let { vurdering -> - Vurdering( - automatisk = vurdering.automatisk, - godkjent = vurdering.godkjent, - ident = vurdering.ident, - tidsstempel = vurdering.tidsstempel, - ) - }, + it.vurdering?.let { vurdering -> + Vurdering( + automatisk = vurdering.automatisk, + godkjent = vurdering.godkjent, + ident = vurdering.ident, + tidsstempel = vurdering.tidsstempel, + ) + }, arbeidsgiversimulering = it.arbeidsgiveroppdrag?.tilSimulering(), personsimulering = it.personoppdrag?.tilSimulering(), ) @@ -586,7 +588,8 @@ data class BeregnetPeriode( ) } - fun avslag(): List = saksbehandlerhåndterer.hentAvslag(periode.vedtaksperiodeId, periode.utbetaling.id).toList() + fun avslag(): List = + saksbehandlerhåndterer.hentAvslag(periode.vedtaksperiodeId, periode.utbetaling.id).toList() } private fun GraphQLOppdrag.tilSimulering(): Simulering = 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 212c46c23..7a6a341e9 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 @@ -21,6 +21,7 @@ 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.GraphQLPerson +import java.time.LocalDate import java.time.LocalDateTime import java.util.UUID @@ -62,7 +63,7 @@ data class Tildeling( ) data class PaVent( - val frist: DateString?, + val frist: LocalDate?, val begrunnelse: String?, val oid: UUID, ) @@ -100,7 +101,7 @@ data class Person( fun fodselsnummer(): String = snapshot.fodselsnummer - fun dodsdato(): DateString? = snapshot.dodsdato + fun dodsdato(): LocalDate? = snapshot.dodsdato fun personinfo(): Personinfo = personinfo diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Personinfo.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Personinfo.kt index a4421e676..bb7bd8367 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Personinfo.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Personinfo.kt @@ -1,5 +1,7 @@ package no.nav.helse.spesialist.api.graphql.schema +import java.time.LocalDate + enum class Kjonn { Kvinne, Mann, @@ -18,7 +20,7 @@ data class Personinfo( val fornavn: String, val mellomnavn: String?, val etternavn: String, - val fodselsdato: DateString?, + val fodselsdato: LocalDate?, val kjonn: Kjonn, val adressebeskyttelse: Adressebeskyttelse, val reservasjon: Reservasjon? = null, diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Refusjon.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Refusjon.kt index ee42de520..9c5f5b168 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Refusjon.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Refusjon.kt @@ -2,6 +2,7 @@ package no.nav.helse.spesialist.api.graphql.schema import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLArbeidsgiverrefusjon import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLRefusjonselement +import java.time.LocalDate import java.util.UUID data class Arbeidsgiverrefusjon( @@ -10,8 +11,8 @@ data class Arbeidsgiverrefusjon( ) data class Refusjonselement( - val fom: DateString, - val tom: DateString?, + val fom: LocalDate, + val tom: LocalDate?, val belop: Double, val meldingsreferanseId: UUID, ) diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Skjonnsfastsettelse.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Skjonnsfastsettelse.kt index f86b7ef93..345c2615a 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Skjonnsfastsettelse.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Skjonnsfastsettelse.kt @@ -1,9 +1,11 @@ package no.nav.helse.spesialist.api.graphql.schema +import java.time.LocalDate + data class Skjonnsfastsettelse( val aktorId: String, val fodselsnummer: String, - val skjaringstidspunkt: DateString, + val skjaringstidspunkt: LocalDate, val arbeidsgivere: List, val vedtaksperiodeId: String, ) diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/TypeHelpers.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/TypeHelpers.kt index 3852eba6f..7eb059f0b 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/TypeHelpers.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/TypeHelpers.kt @@ -1,5 +1,3 @@ package no.nav.helse.spesialist.api.graphql.schema -typealias DateString = String - typealias YearMonthString = String diff --git "a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Vilk\303\245rsgrunnlaghistorikk.kt" "b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Vilk\303\245rsgrunnlaghistorikk.kt" index e574475ed..13ab4b0ba 100644 --- "a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Vilk\303\245rsgrunnlaghistorikk.kt" +++ "b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/Vilk\303\245rsgrunnlaghistorikk.kt" @@ -6,6 +6,7 @@ import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLInfotrygdVilkarsgrunnlag import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLSpleisVilkarsgrunnlag import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLSykepengegrunnlagsgrense import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLVilkarsgrunnlag +import java.time.LocalDate import java.util.UUID enum class Vilkarsgrunnlagtype { INFOTRYGD, SPLEIS, UKJENT } @@ -16,7 +17,7 @@ interface Vilkarsgrunnlag { val inntekter: List val arbeidsgiverrefusjoner: List val omregnetArsinntekt: Double - val skjaeringstidspunkt: DateString + val skjaeringstidspunkt: LocalDate val sykepengegrunnlag: Double } @@ -26,7 +27,7 @@ data class VilkarsgrunnlagInfotrygd( override val inntekter: List, override val arbeidsgiverrefusjoner: List, override val omregnetArsinntekt: Double, - override val skjaeringstidspunkt: DateString, + override val skjaeringstidspunkt: LocalDate, override val sykepengegrunnlag: Double, ) : Vilkarsgrunnlag @@ -35,7 +36,7 @@ data class VilkarsgrunnlagSpleis( override val vilkarsgrunnlagtype: Vilkarsgrunnlagtype, override val inntekter: List, override val omregnetArsinntekt: Double, - override val skjaeringstidspunkt: DateString, + override val skjaeringstidspunkt: LocalDate, override val sykepengegrunnlag: Double, override val arbeidsgiverrefusjoner: List, val sammenligningsgrunnlag: Double?, @@ -47,7 +48,7 @@ data class VilkarsgrunnlagSpleis( val oppfyllerKravOmMedlemskap: Boolean?, val oppfyllerKravOmMinstelonn: Boolean, val oppfyllerKravOmOpptjening: Boolean, - val opptjeningFra: DateString, + val opptjeningFra: LocalDate, ) : Vilkarsgrunnlag internal fun GraphQLVilkarsgrunnlag.tilVilkarsgrunnlag(avviksvurderinghenter: Avviksvurderinghenter): Vilkarsgrunnlag { @@ -138,5 +139,5 @@ internal fun GraphQLSykepengegrunnlagsgrense.tilSykepengegrunnlaggrense() = Syke data class Sykepengegrunnlagsgrense( val grunnbelop: Int, val grense: Int, - val virkningstidspunkt: DateString, + val virkningstidspunkt: LocalDate, ) diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/LocalDateScalarConverter.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/LocalDateScalarConverter.kt new file mode 100644 index 000000000..43345dc27 --- /dev/null +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/LocalDateScalarConverter.kt @@ -0,0 +1,13 @@ +package no.nav.helse.spesialist.api.graphql.schema.converter + +import com.expediagroup.graphql.client.converter.ScalarConverter +import java.time.LocalDate + +/** + * Brukes ved SERDE av [no.nav.helse.spleis.graphql.hentsnapshot.GraphQLPerson]. + */ +class LocalDateScalarConverter : ScalarConverter { + override fun toJson(value: LocalDate) = value.toString() + + override fun toScalar(rawValue: Any): LocalDate = LocalDate.parse(rawValue as String) +} diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/LocalDateTimeScalarConverter.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/LocalDateTimeScalarConverter.kt similarity index 87% rename from spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/LocalDateTimeScalarConverter.kt rename to spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/LocalDateTimeScalarConverter.kt index 7329244f1..479efcf8c 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/LocalDateTimeScalarConverter.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/LocalDateTimeScalarConverter.kt @@ -1,4 +1,4 @@ -package no.nav.helse.spesialist.api.graphql.schema +package no.nav.helse.spesialist.api.graphql.schema.converter import com.expediagroup.graphql.client.converter.ScalarConverter import java.time.LocalDateTime diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/UUIDScalarConverter.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/UUIDScalarConverter.kt similarity index 85% rename from spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/UUIDScalarConverter.kt rename to spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/UUIDScalarConverter.kt index c91483ab3..86f806713 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/UUIDScalarConverter.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/graphql/schema/converter/UUIDScalarConverter.kt @@ -1,4 +1,4 @@ -package no.nav.helse.spesialist.api.graphql.schema +package no.nav.helse.spesialist.api.graphql.schema.converter import com.expediagroup.graphql.client.converter.ScalarConverter import java.util.UUID diff --git "a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/p\303\245vent/P\303\245VentApiDao.kt" "b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/p\303\245vent/P\303\245VentApiDao.kt" index d99315f2a..b37ba2af2 100644 --- "a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/p\303\245vent/P\303\245VentApiDao.kt" +++ "b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/p\303\245vent/P\303\245VentApiDao.kt" @@ -16,7 +16,7 @@ class PåVentApiDao(dataSource: DataSource) : HelseDao(dataSource) { ), ).single { PaVent( - frist = it.localDate("frist").toString(), + frist = it.localDate("frist"), begrunnelse = it.stringOrNull("begrunnelse"), oid = it.uuid("saksbehandler_ref"), ) diff --git a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/snapshot/SnapshotApiDao.kt b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/snapshot/SnapshotApiDao.kt index 26bc51dd5..76966bde8 100644 --- a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/snapshot/SnapshotApiDao.kt +++ b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/snapshot/SnapshotApiDao.kt @@ -33,7 +33,7 @@ class SnapshotApiDao(private val dataSource: DataSource) { fornavn = row.string("fornavn"), mellomnavn = row.stringOrNull("mellomnavn"), etternavn = row.string("etternavn"), - fodselsdato = row.stringOrNull("fodselsdato"), + fodselsdato = row.localDateOrNull("fodselsdato"), kjonn = row.stringOrNull("kjonn")?.let(Kjonn::valueOf) ?: Kjonn.Ukjent, adressebeskyttelse = row.string("adressebeskyttelse").let(Adressebeskyttelse::valueOf), reservasjon = null, 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 d0f8f618b..9ffe6764c 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 @@ -729,7 +729,7 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { ), omregnetArsinntekt = 1_000_000.0, skjonnsmessigFastsattAarlig = 0.0, - skjaeringstidspunkt = "2020-01-01", + skjaeringstidspunkt = 1.januar(2020), sykepengegrunnlag = 1_000_000.0, antallOpptjeningsdagerErMinst = 123, grunnbelop = 100_000, @@ -737,12 +737,12 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { GraphQLSykepengegrunnlagsgrense( grunnbelop = 100_000, grense = 600_000, - virkningstidspunkt = "2020-01-01", + virkningstidspunkt = 1.januar(2020), ), oppfyllerKravOmMedlemskap = true, oppfyllerKravOmMinstelonn = true, oppfyllerKravOmOpptjening = true, - opptjeningFra = "2000-01-01", + opptjeningFra = 1.januar(2000), arbeidsgiverrefusjoner = listOf( GraphQLArbeidsgiverrefusjon( @@ -750,7 +750,7 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { refusjonsopplysninger = listOf( GraphQLRefusjonselement( - fom = "2020-01-01", + fom = 1.januar(2020), tom = null, belop = 30000.0, meldingsreferanseId = UUID.randomUUID(), @@ -781,8 +781,8 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { GraphQLSoknadArbeidsledig( id = UUID.randomUUID().toString(), eksternDokumentId = eksternDokumentId.toString(), - fom = "2022-05-11", - tom = "2022-05-30", + fom = 11.mai(2022), + tom = 30.mai(2022), rapportertDato = 10.oktober(2023).atStartOfDay(), sendtNav = 10.oktober(2023).atStartOfDay(), type = GraphQLHendelsetype.SENDTSOKNADARBEIDSLEDIG, @@ -794,8 +794,8 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { ) = GraphQLGenerasjon(id = id, perioder = perioder) protected fun opprettBeregnetPeriode( - fom: String = LocalDate.now().toString(), - tom: String = LocalDate.now().toString(), + fom: LocalDate = LocalDate.now(), + tom: LocalDate = LocalDate.now(), vedtaksperiodeId: UUID = UUID.randomUUID(), utbetalingId: UUID = UUID.randomUUID(), behandlingId: UUID = UUID.randomUUID(), @@ -808,23 +808,23 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { opprettet = LocalDateTime.now(), periodetype = GraphQLPeriodetype.FORSTEGANGSBEHANDLING, periodetilstand = GraphQLPeriodetilstand.TILGODKJENNING, - skjaeringstidspunkt = LocalDate.now().toString(), + skjaeringstidspunkt = LocalDate.now(), tidslinje = emptyList(), vedtaksperiodeId = vedtaksperiodeId, beregningId = UUID.randomUUID(), forbrukteSykedager = null, gjenstaendeSykedager = null, hendelser = hendelser, - maksdato = LocalDate.now().toString(), + maksdato = LocalDate.now(), vilkarsgrunnlagId = null, periodevilkar = GraphQLPeriodevilkar( alder = Alder(55, true), sykepengedager = Sykepengedager( - maksdato = LocalDate.now().toString(), + maksdato = LocalDate.now(), oppfylt = true, - skjaeringstidspunkt = LocalDate.now().toString(), + skjaeringstidspunkt = LocalDate.now(), ), ), behandlingId = behandlingId, @@ -841,8 +841,8 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { ) protected fun opprettUberegnetPeriode( - fom: String = LocalDate.now().toString(), - tom: String = LocalDate.now().toString(), + fom: LocalDate = LocalDate.now(), + tom: LocalDate = LocalDate.now(), vedtaksperiodeId: UUID = UUID.randomUUID(), behandlingId: UUID = UUID.randomUUID(), ) = GraphQLUberegnetPeriode( @@ -853,7 +853,7 @@ internal abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { opprettet = LocalDateTime.now(), periodetype = GraphQLPeriodetype.FORSTEGANGSBEHANDLING, periodetilstand = GraphQLPeriodetilstand.TILGODKJENNING, - skjaeringstidspunkt = LocalDate.now().toString(), + skjaeringstidspunkt = LocalDate.now(), tidslinje = emptyList(), vedtaksperiodeId = vedtaksperiodeId, behandlingId = behandlingId, diff --git a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/TestdataGenerator.kt b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/TestdataGenerator.kt index 31d5008f4..cde7e8859 100644 --- a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/TestdataGenerator.kt +++ b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/TestdataGenerator.kt @@ -71,7 +71,7 @@ internal object TestdataGenerator { id = Random.nextLong().toString(), opprettet = tilfeldigDato, opprinneligSoknadsdato = tilfeldigDato.minusDays(listOf(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L).random()), - tidsfrist = tilfeldigDato.plusDays(listOf(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L).random()).toString(), + tidsfrist = tilfeldigDato.plusDays(listOf(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L).random())?.toLocalDate(), vedtaksperiodeId = UUID.randomUUID(), navn = tilfeldigNavn(), aktorId = tilfeldigAktørId(), diff --git a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/LocalGraphQLApi.kt b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/LocalGraphQLApi.kt index da492b08e..a9a3e7be4 100644 --- a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/LocalGraphQLApi.kt +++ b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/LocalGraphQLApi.kt @@ -78,7 +78,6 @@ import no.nav.helse.spesialist.api.varsel.ApiVarselRepository import no.nav.helse.spesialist.api.vedtak.GodkjenningDto import no.nav.helse.spesialist.api.vedtaksperiode.EnhetDto import no.nav.helse.spesialist.api.websockets.webSocketsApi -import no.nav.helse.spleis.graphql.LocalDate import no.nav.helse.spleis.graphql.enums.GraphQLInntektstype import no.nav.helse.spleis.graphql.enums.GraphQLPeriodetilstand import no.nav.helse.spleis.graphql.enums.GraphQLPeriodetype @@ -98,6 +97,7 @@ import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLSimuleringsutbetaling import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLUtbetaling import no.nav.helse.spleis.graphql.hentsnapshot.GraphQLVurdering import no.nav.helse.spleis.graphql.hentsnapshot.Sykepengedager +import java.time.LocalDate import java.time.LocalDateTime import java.util.UUID @@ -172,7 +172,7 @@ fun main() = ) every { påVentApiDao.hentAktivPåVent(any()) } returns PaVent( - frist = LocalDate(), + frist = LocalDate.now(), begrunnelse = null, oid = UUID.randomUUID(), ) @@ -476,7 +476,7 @@ private fun enPersoninfo() = fornavn = "Luke", mellomnavn = null, etternavn = "Skywalker", - fodselsdato = "2000-01-01", + fodselsdato = LocalDate.parse("2000-01-01"), kjonn = Kjonn.Kvinne, adressebeskyttelse = Adressebeskyttelse.Ugradert, reservasjon = null, // Denne hentes runtime ved hjelp av et kall til KRR @@ -486,8 +486,8 @@ private fun enPersoninfo() = private fun enPeriode() = GraphQLBeregnetPeriode( erForkastet = false, - fom = "2020-01-01", - tom = "2020-01-31", + fom = LocalDate.parse("2020-01-01"), + tom = LocalDate.parse("2020-01-31"), inntektstype = GraphQLInntektstype.ENARBEIDSGIVER, opprettet = LocalDateTime.now(), periodetype = GraphQLPeriodetype.FORSTEGANGSBEHANDLING, @@ -497,7 +497,7 @@ private fun enPeriode() = forbrukteSykedager = 10, gjenstaendeSykedager = 270, hendelser = emptyList(), - maksdato = "2021-01-01", + maksdato = LocalDate.parse("2021-01-01"), periodevilkar = GraphQLPeriodevilkar( Alder( @@ -508,12 +508,12 @@ private fun enPeriode() = Sykepengedager( forbrukteSykedager = 10, gjenstaendeSykedager = 270, - maksdato = "2021-01-01", + maksdato = LocalDate.parse("2021-01-01"), oppfylt = true, - skjaeringstidspunkt = "2020-01-01", + skjaeringstidspunkt = LocalDate.parse("2020-01-01"), ), ), - skjaeringstidspunkt = "2020-01-01", + skjaeringstidspunkt = LocalDate.parse("2020-01-01"), utbetaling = GraphQLUtbetaling( id = UUID.randomUUID(), @@ -548,22 +548,22 @@ private fun enPeriode() = perioder = listOf( GraphQLSimuleringsperiode( - fom = "2020-01-01", - tom = "2020-01-31", + fom = LocalDate.parse("2020-01-01"), + tom = LocalDate.parse("2020-01-31"), utbetalinger = listOf( GraphQLSimuleringsutbetaling( utbetalesTilNavn = "EN-PERSON", utbetalesTilId = "EN-PERSONID", feilkonto = false, - forfall = "2022-01-01", + forfall = LocalDate.parse("2022-01-01"), detaljer = listOf( GraphQLSimuleringsdetaljer( belop = 30000, antallSats = 1, - faktiskFom = "2020-01-01", - faktiskTom = "2020-01-31", + faktiskFom = LocalDate.parse("2020-01-01"), + faktiskTom = LocalDate.parse("2020-01-31"), klassekode = "EN-KLASSEKODE", klassekodeBeskrivelse = "EN-KLASSEKODEBESKRIVELSE", konto = "EN-KONTO", diff --git a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/mutation/OverstyringMutationTest.kt b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/mutation/OverstyringMutationTest.kt index 40e0eb157..cea2ec0a5 100644 --- a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/mutation/OverstyringMutationTest.kt +++ b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/mutation/OverstyringMutationTest.kt @@ -26,7 +26,7 @@ internal class OverstyringMutationTest : AbstractOverstyringApiTest() { AKTØRID, "En begrunnelse", listOf( - OverstyringDag(10.januar.toString(), "Feriedag", "Sykedag", null, 100, null), + OverstyringDag(10.januar, "Feriedag", "Sykedag", null, 100, null), ), ), ) @@ -44,7 +44,7 @@ internal class OverstyringMutationTest : AbstractOverstyringApiTest() { AKTØRID, "En begrunnelse", listOf( - OverstyringDag(10.januar.toString(), "Arbeidsdag", "Sykedag", null, 100, null), + OverstyringDag(10.januar, "Arbeidsdag", "Sykedag", null, 100, null), ), ), ) @@ -62,7 +62,7 @@ internal class OverstyringMutationTest : AbstractOverstyringApiTest() { AKTØRID, "En begrunnelse", listOf( - OverstyringDag(10.januar.toString(), "Sykedag", "Arbeidsdag", null, 100, null), + OverstyringDag(10.januar, "Sykedag", "Arbeidsdag", null, 100, null), ), ), ) @@ -76,7 +76,7 @@ internal class OverstyringMutationTest : AbstractOverstyringApiTest() { ArbeidsforholdOverstyringHandling( FØDSELSNUMMER, AKTØRID, - 10.januar.toString(), + 10.januar, listOf( OverstyringArbeidsforhold(ORGANISASJONSNUMMER_GHOST, true, "En begrunnelse", "En forklaring", null), ), @@ -93,19 +93,19 @@ internal class OverstyringMutationTest : AbstractOverstyringApiTest() { InntektOgRefusjonOverstyring( AKTØRID, FØDSELSNUMMER, - 10.januar.toString(), + 9.januar, listOf( OverstyringArbeidsgiver( ORGANISASJONSNUMMER_GHOST, 24000.0, 25000.0, listOf( - OverstyringRefusjonselement(10.januar.toString(), 31.januar.toString(), 24000.0), - OverstyringRefusjonselement(1.februar.toString(), null, 24000.0), + OverstyringRefusjonselement(10.januar, 31.januar, 24000.0), + OverstyringRefusjonselement(1.februar, null, 24000.0), ), listOf( - OverstyringRefusjonselement(10.januar.toString(), 31.januar.toString(), 25000.0), - OverstyringRefusjonselement(1.februar.toString(), null, 25000.0), + OverstyringRefusjonselement(10.januar, 31.januar, 25000.0), + OverstyringRefusjonselement(1.februar, null, 25000.0), ), "En begrunnelse", "En forklaring", diff --git a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/query/OppgaverQueryTest.kt b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/query/OppgaverQueryTest.kt index 624d5d1a5..8bcaa4f3d 100644 --- a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/query/OppgaverQueryTest.kt +++ b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/query/OppgaverQueryTest.kt @@ -215,7 +215,7 @@ internal class OppgaverQueryTest : AbstractGraphQLApiTest() { id = UUID.randomUUID().toString(), opprettet = LocalDateTime.now(), opprinneligSoknadsdato = LocalDateTime.now(), - tidsfrist = LocalDate.now().toString(), + tidsfrist = LocalDate.now(), vedtaksperiodeId = UUID.randomUUID(), navn = Personnavn( diff --git a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/query/PersonQueryTest.kt b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/query/PersonQueryTest.kt index f87cb8e30..34433e4fd 100644 --- a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/query/PersonQueryTest.kt +++ b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/graphql/query/PersonQueryTest.kt @@ -219,8 +219,8 @@ internal class PersonQueryTest : AbstractGraphQLApiTest() { periode = uberegnetPeriode, skjæringstidspunkt = 2.januar, ) - val graphQLUberegnetPeriode = opprettUberegnetPeriode("2023-01-02", "2023-01-03", uberegnetPeriode.id) - val graphQLperiodeMedOppgave = opprettBeregnetPeriode("2023-01-04", "2023-01-05", periodeMedOppgave.id) + val graphQLUberegnetPeriode = opprettUberegnetPeriode(2.januar(2023), 3.januar(2023), uberegnetPeriode.id) + val graphQLperiodeMedOppgave = opprettBeregnetPeriode(4.januar(2023), 5.januar(2023), periodeMedOppgave.id) val snapshotGenerasjon = opprettSnapshotGenerasjon(listOf(graphQLUberegnetPeriode, graphQLperiodeMedOppgave)) val arbeidsgiver = opprettSnapshotArbeidsgiver(listOf(snapshotGenerasjon)) mockSnapshot(arbeidsgivere = listOf(arbeidsgiver)) @@ -236,8 +236,8 @@ internal class PersonQueryTest : AbstractGraphQLApiTest() { fun `Uberegnet periode som ikke er tilstøtende en periode med oppgave tar ikke med seg varsler`() { val vedtaksperiodeId = UUID.randomUUID() val generasjonRef = nyGenerasjon(vedtaksperiodeId = vedtaksperiodeId) - val uberegnetPeriode = opprettUberegnetPeriode("2023-01-02", "2023-01-03", vedtaksperiodeId) - val beregnetPeriode = opprettBeregnetPeriode("2023-01-05", "2023-01-06", PERIODE.id) + val uberegnetPeriode = opprettUberegnetPeriode(2.januar(2023), 3.januar(2023), vedtaksperiodeId) + val beregnetPeriode = opprettBeregnetPeriode(5.januar(2023), 6.januar(2023), PERIODE.id) val snapshotGenerasjon = opprettSnapshotGenerasjon(listOf(beregnetPeriode, uberegnetPeriode)) val arbeidsgiver = opprettSnapshotArbeidsgiver(listOf(snapshotGenerasjon)) mockSnapshot(arbeidsgivere = listOf(arbeidsgiver)) @@ -276,8 +276,8 @@ internal class PersonQueryTest : AbstractGraphQLApiTest() { periode = uberegnetPeriode, skjæringstidspunkt = 2.januar, ) - val graphQLUberegnetPeriode = opprettUberegnetPeriode("2023-01-02", "2023-01-03", uberegnetPeriode.id) - val graphQLperiodeMedOppgave = opprettBeregnetPeriode("2023-01-04", "2023-01-05", periodeMedOppgave.id) + val graphQLUberegnetPeriode = opprettUberegnetPeriode(2.januar(2023), 3.januar(2023), uberegnetPeriode.id) + val graphQLperiodeMedOppgave = opprettBeregnetPeriode(4.januar(2023), 5.januar(2023), periodeMedOppgave.id) val snapshotGenerasjon1 = opprettSnapshotGenerasjon(listOf(graphQLUberegnetPeriode, graphQLperiodeMedOppgave), snapshotGenerasjonId1) val snapshotGenerasjon2 = @@ -330,7 +330,7 @@ internal class PersonQueryTest : AbstractGraphQLApiTest() { val arbeidsgiverRef = opprettArbeidsgiver() opprettVedtaksperiode(personRef, arbeidsgiverRef) val (id, fom, tom) = PERIODE - val graphQLperiodeMedOppgave = opprettBeregnetPeriode(fom.toString(), tom.toString(), id) + val graphQLperiodeMedOppgave = opprettBeregnetPeriode(fom, tom, id) val snapshotGenerasjon = opprettSnapshotGenerasjon(listOf(graphQLperiodeMedOppgave)) val arbeidsgiver = opprettSnapshotArbeidsgiver(listOf(snapshotGenerasjon)) mockSnapshot(arbeidsgivere = listOf(arbeidsgiver)) @@ -350,7 +350,7 @@ internal class PersonQueryTest : AbstractGraphQLApiTest() { val (id, fom, tom) = PERIODE val eksternDokumentId = UUID.randomUUID() val graphQLHendelse = opprettSnapshotHendelse(eksternDokumentId) - val graphQLperiodeMedOppgave = opprettBeregnetPeriode(fom.toString(), tom.toString(), id, hendelser = listOf(graphQLHendelse)) + val graphQLperiodeMedOppgave = opprettBeregnetPeriode(fom, tom, id, hendelser = listOf(graphQLHendelse)) val snapshotGenerasjon = opprettSnapshotGenerasjon(listOf(graphQLperiodeMedOppgave)) val arbeidsgiver = opprettSnapshotArbeidsgiver(listOf(snapshotGenerasjon)) mockSnapshot(arbeidsgivere = listOf(arbeidsgiver)) @@ -382,7 +382,7 @@ internal class PersonQueryTest : AbstractGraphQLApiTest() { val arbeidsgiverRef = opprettArbeidsgiver() val snapshotGenerasjonId1 = UUID.randomUUID() opprettVedtaksperiode(personRef, arbeidsgiverRef) - val graphQLperiodeMedOppgave = opprettBeregnetPeriode("2023-01-04", "2023-01-05", PERIODE.id) + val graphQLperiodeMedOppgave = opprettBeregnetPeriode(4.januar(2023), 5.januar(2023), PERIODE.id) val snapshotGenerasjon = opprettSnapshotGenerasjon(listOf(graphQLperiodeMedOppgave), snapshotGenerasjonId1) val arbeidsgiver = opprettSnapshotArbeidsgiver(listOf(snapshotGenerasjon)) mockSnapshot(arbeidsgivere = listOf(arbeidsgiver)) @@ -401,7 +401,7 @@ internal class PersonQueryTest : AbstractGraphQLApiTest() { fun `sjekke at kanAvvises-flagget inkluderes i GraphQL svaret`() { opprettVedtaksperiode(opprettPerson(), opprettArbeidsgiver(), kanAvvises = false) val (id, fom, tom) = PERIODE - val graphQLperiodeMedOppgave = opprettBeregnetPeriode(fom.toString(), tom.toString(), id) + val graphQLperiodeMedOppgave = opprettBeregnetPeriode(fom, tom, id) val snapshotGenerasjon = opprettSnapshotGenerasjon(listOf(graphQLperiodeMedOppgave)) val arbeidsgiver = opprettSnapshotArbeidsgiver(listOf(snapshotGenerasjon)) mockSnapshot(arbeidsgivere = listOf(arbeidsgiver)) @@ -517,7 +517,7 @@ internal class PersonQueryTest : AbstractGraphQLApiTest() { val kode: String, ) - private fun Periode.tilBeregnetPeriode(): GraphQLBeregnetPeriode = opprettBeregnetPeriode(fom.toString(), tom.toString(), id) + private fun Periode.tilBeregnetPeriode(): GraphQLBeregnetPeriode = opprettBeregnetPeriode(fom, tom, id) private fun opprettLogglytter() = ListAppender().apply { diff --git "a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/p\303\245vent/P\303\245VentApiDaoTest.kt" "b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/p\303\245vent/P\303\245VentApiDaoTest.kt" index 83f6c5824..5a3945283 100644 --- "a/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/p\303\245vent/P\303\245VentApiDaoTest.kt" +++ "b/spesialist-api/src/test/kotlin/no/nav/helse/spesialist/api/p\303\245vent/P\303\245VentApiDaoTest.kt" @@ -14,7 +14,7 @@ internal class PåVentApiDaoTest : DatabaseIntegrationTest() { opprettPåVent(vedtaksperiodeId) val påvent = påVentApiDao.hentAktivPåVent(vedtaksperiodeId) assertNotNull(påvent) - assertEquals(LocalDate.now().plusDays(21).toString(), påvent?.frist) + assertEquals(LocalDate.now().plusDays(21), påvent?.frist) assertEquals("En begrunnelse", påvent?.begrunnelse) assertEquals(SAKSBEHANDLER.oid, påvent?.oid) } 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 7f06bc45a..efddd23c5 100644 --- a/spesialist-api/src/test/schema_til_bruk_fra_tester.graphql +++ b/spesialist-api/src/test/schema_til_bruk_fra_tester.graphql @@ -14,22 +14,22 @@ interface Overstyring { ferdigstilt: Boolean! hendelseId: UUID! saksbehandler: Saksbehandler! - timestamp: String! + timestamp: LocalDateTime! } interface Periode { behandlingId: UUID! erForkastet: Boolean! - fom: String! + fom: LocalDate! hendelser: [Hendelse!]! id: UUID! inntektstype: Inntektstype! - opprettet: String! + opprettet: LocalDateTime! periodetilstand: Periodetilstand! periodetype: Periodetype! - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! tidslinje: [Dag!]! - tom: String! + tom: LocalDate! varsler: [VarselDTO!]! vedtaksperiodeId: UUID! } @@ -39,7 +39,7 @@ interface Vilkarsgrunnlag { id: UUID! inntekter: [Arbeidsgiverinntekt!]! omregnetArsinntekt: Float! - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! sykepengegrunnlag: Float! vilkarsgrunnlagtype: Vilkarsgrunnlagtype! } @@ -61,8 +61,8 @@ type AntallOppgaver { } type Arbeidsforhold { - sluttdato: String - startdato: String! + sluttdato: LocalDate + startdato: LocalDate! stillingsprosent: Int! stillingstittel: String! } @@ -74,8 +74,8 @@ type Arbeidsforholdoverstyring implements Overstyring { forklaring: String! hendelseId: UUID! saksbehandler: Saksbehandler! - skjaeringstidspunkt: String! - timestamp: String! + skjaeringstidspunkt: LocalDate! + timestamp: LocalDateTime! } type Arbeidsgiver { @@ -115,7 +115,7 @@ type AvsenderSystem { type Avslag { begrunnelse: String! invalidert: Boolean! - opprettet: String! + opprettet: LocalDateTime! saksbehandlerIdent: String! type: Avslagstype! } @@ -129,7 +129,7 @@ type BehandletOppgave { aktorId: String! antallArbeidsforhold: AntallArbeidsforhold! ferdigstiltAv: String - ferdigstiltTidspunkt: String! + ferdigstiltTidspunkt: LocalDateTime! id: String! oppgavetype: Oppgavetype! periodetype: Periodetype! @@ -160,27 +160,27 @@ type BeregnetPeriode implements Periode { beregningId: UUID! egenskaper: [Oppgaveegenskap!]! erForkastet: Boolean! - fom: String! + fom: LocalDate! forbrukteSykedager: Int gjenstaendeSykedager: Int handlinger: [Handling!]! hendelser: [Hendelse!]! id: UUID! inntektstype: Inntektstype! - maksdato: String! + maksdato: LocalDate! notater: [Notat!]! oppgave: OppgaveForPeriodevisning oppgavereferanse: String @deprecated(reason: "Oppgavereferanse bør hentes fra periodens oppgave") - opprettet: String! + opprettet: LocalDateTime! paVent: PaVent periodehistorikk: [PeriodeHistorikkElement!]! periodetilstand: Periodetilstand! periodetype: Periodetype! periodevilkar: Periodevilkar! risikovurdering: Risikovurdering - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! tidslinje: [Dag!]! - tom: String! + tom: LocalDate! totrinnsvurdering: Totrinnsvurdering utbetaling: Utbetaling! varsler: [VarselDTO!]! @@ -190,7 +190,7 @@ type BeregnetPeriode implements Periode { type Dag { begrunnelser: [Begrunnelse!] - dato: String! + dato: LocalDate! grad: Float kilde: Kilde! sykdomsdagtype: Sykdomsdagtype! @@ -204,7 +204,7 @@ type Dagoverstyring implements Overstyring { ferdigstilt: Boolean! hendelseId: UUID! saksbehandler: Saksbehandler! - timestamp: String! + timestamp: LocalDateTime! } type DokumentInntektsmelding { @@ -215,12 +215,12 @@ type DokumentInntektsmelding { bruttoUtbetalt: Float endringIRefusjoner: [EndringIRefusjon!] ferieperioder: [IMPeriode!] - foersteFravaersdag: String + foersteFravaersdag: LocalDate gjenopptakelseNaturalytelser: [GjenopptakelseNaturalytelse!] innsenderFulltNavn: String innsenderTelefon: String inntektEndringAarsak: InntektEndringAarsak - inntektsdato: String + inntektsdato: LocalDate naerRelasjon: Boolean opphoerAvNaturalytelser: [OpphoerAvNaturalytelse!] refusjon: Refusjon @@ -228,7 +228,7 @@ type DokumentInntektsmelding { type EndringIRefusjon { beloep: Float - endringsdato: String + endringsdato: LocalDate } type Enhet { @@ -248,17 +248,17 @@ type Generasjon { type GhostPeriode { deaktivert: Boolean! - fom: String! + fom: LocalDate! id: String! organisasjonsnummer: String! - skjaeringstidspunkt: String! - tom: String! + skjaeringstidspunkt: LocalDate! + tom: LocalDate! vilkarsgrunnlagId: UUID } type GjenopptakelseNaturalytelse { beloepPrMnd: Float - fom: String + fom: LocalDate naturalytelse: Naturalytelse } @@ -269,8 +269,8 @@ type Handling { } type IMPeriode { - fom: String - tom: String + fom: LocalDate + tom: LocalDate } type Infotrygdutbetaling { @@ -284,8 +284,8 @@ type Infotrygdutbetaling { type InntektEndringAarsak { aarsak: String! - bleKjent: String - gjelderFra: String + bleKjent: LocalDate + gjelderFra: LocalDate perioder: [IMPeriode!] } @@ -299,14 +299,14 @@ type Inntektoverstyring implements Overstyring { hendelseId: UUID! inntekt: OverstyrtInntekt! saksbehandler: Saksbehandler! - timestamp: String! + timestamp: LocalDateTime! } type Inntektsmelding implements Hendelse { beregnetInntekt: Float! eksternDokumentId: UUID id: UUID! - mottattDato: String! + mottattDato: LocalDateTime! type: Hendelsetype! } @@ -316,9 +316,9 @@ type Kilde { } type Kommentar { - feilregistrert_tidspunkt: String + feilregistrert_tidspunkt: LocalDateTime id: Int! - opprettet: String! + opprettet: LocalDateTime! saksbehandlerident: String! tekst: String! } @@ -331,7 +331,7 @@ type Mutation { fjernPaVent(oppgaveId: String!): Boolean fjernTildeling(oppgaveId: String!): Boolean! innvilgVedtak(avslag: AvslagInput, oppgavereferanse: String!): Boolean! - leggPaVent(begrunnelse: String, frist: String!, notatTekst: String!, notatType: NotatType!, oppgaveId: String!, tildeling: Boolean!): PaVent + leggPaVent(begrunnelse: String, frist: LocalDate!, notatTekst: String!, notatType: NotatType!, oppgaveId: String!, tildeling: Boolean!): PaVent leggTilKommentar(notatId: Int!, saksbehandlerident: String!, tekst: String!): Kommentar leggTilNotat(saksbehandlerOid: String!, tekst: String!, type: NotatType!, vedtaksperiodeId: String!): Notat oppdaterPerson(fodselsnummer: String!): Boolean! @@ -350,10 +350,10 @@ type Mutation { type Notat { feilregistrert: Boolean! - feilregistrert_tidspunkt: String + feilregistrert_tidspunkt: LocalDateTime id: Int! kommentarer: [Kommentar!]! - opprettet: String! + opprettet: LocalDateTime! saksbehandlerEpost: String! saksbehandlerIdent: String! saksbehandlerNavn: String! @@ -387,10 +387,10 @@ type OppgaveTilBehandling { mottaker: Mottaker! navn: Personnavn! oppgavetype: Oppgavetype! - opprettet: String! - opprinneligSoknadsdato: String! + opprettet: LocalDateTime! + opprinneligSoknadsdato: LocalDateTime! periodetype: Periodetype! - tidsfrist: String + tidsfrist: LocalDate tildeling: Tildeling vedtaksperiodeId: UUID! } @@ -407,7 +407,7 @@ type OppgaverTilBehandling { type OpphoerAvNaturalytelse { beloepPrMnd: Float - fom: String + fom: LocalDate naturalytelse: Naturalytelse } @@ -419,7 +419,7 @@ type Opptegnelse { } type OverstyrtDag { - dato: String! + dato: LocalDate! fraGrad: Int fraType: Dagtype grad: Int @@ -433,19 +433,19 @@ type OverstyrtInntekt { fraRefusjonsopplysninger: [Refusjonsopplysning!] manedligInntekt: Float! refusjonsopplysninger: [Refusjonsopplysning!] - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! } type PaVent { begrunnelse: String - frist: String + frist: LocalDate oid: UUID! } type PeriodeHistorikkElement { notat_id: Int saksbehandler_ident: String - timestamp: String! + timestamp: LocalDateTime! type: PeriodehistorikkType! } @@ -457,7 +457,7 @@ type Periodevilkar { type Person { aktorId: String! arbeidsgivere: [Arbeidsgiver!]! - dodsdato: String + dodsdato: LocalDate enhet: Enhet! fodselsnummer: String! infotrygdutbetalinger: [Infotrygdutbetaling!] @@ -470,7 +470,7 @@ type Person { type Personinfo { adressebeskyttelse: Adressebeskyttelse! etternavn: String! - fodselsdato: String + fodselsdato: LocalDate fornavn: String! kjonn: Kjonn! mellomnavn: String @@ -498,20 +498,20 @@ type Query { type Refusjon { beloepPrMnd: Float - opphoersdato: String + opphoersdato: LocalDate } type Refusjonselement { belop: Float! - fom: String! + fom: LocalDate! meldingsreferanseId: UUID! - tom: String + tom: LocalDate } type Refusjonsopplysning { belop: Float! - fom: String! - tom: String + fom: LocalDate! + tom: LocalDate } type Reservasjon { @@ -537,7 +537,7 @@ type Sammenligningsgrunnlag { type Simulering { fagsystemId: String! perioder: [Simuleringsperiode!] - tidsstempel: String! + tidsstempel: LocalDateTime! totalbelop: Int utbetalingslinjer: [Simuleringslinje!]! } @@ -545,14 +545,14 @@ type Simulering { type Simuleringsdetaljer { antallSats: Int! belop: Int! - fom: String! + fom: LocalDate! klassekode: String! klassekodebeskrivelse: String! konto: String! refunderesOrgNr: String! sats: Float! tilbakeforing: Boolean! - tom: String! + tom: LocalDate! typeSats: String! uforegrad: Int! utbetalingstype: String! @@ -560,21 +560,21 @@ type Simuleringsdetaljer { type Simuleringslinje { dagsats: Int! - fom: String! + fom: LocalDate! grad: Int! - tom: String! + tom: LocalDate! } type Simuleringsperiode { - fom: String! - tom: String! + fom: LocalDate! + tom: LocalDate! utbetalinger: [Simuleringsutbetaling!]! } type Simuleringsutbetaling { detaljer: [Simuleringsdetaljer!]! feilkonto: Boolean! - forfall: String! + forfall: LocalDate! mottakerId: String! mottakerNavn: String! } @@ -587,75 +587,75 @@ type SkjonnsfastsattSykepengegrunnlag { begrunnelseKonklusjon: String begrunnelseMal: String fraArlig: Float - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! type: Skjonnsfastsettingstype } type Soknad { - arbeidGjenopptatt: String - egenmeldingsdagerFraSykmelding: [String!] + arbeidGjenopptatt: LocalDate + egenmeldingsdagerFraSykmelding: [LocalDate!] soknadsperioder: [Soknadsperioder!] sporsmal: [Sporsmal!] - sykmeldingSkrevet: String + sykmeldingSkrevet: LocalDateTime type: Soknadstype } type SoknadArbeidsgiver implements Hendelse { eksternDokumentId: UUID - fom: String! + fom: LocalDate! id: UUID! - rapportertDato: String! - sendtArbeidsgiver: String! - tom: String! + rapportertDato: LocalDateTime! + sendtArbeidsgiver: LocalDateTime! + tom: LocalDate! type: Hendelsetype! } type SoknadArbeidsledig implements Hendelse { eksternDokumentId: UUID - fom: String! + fom: LocalDate! id: UUID! - rapportertDato: String! - sendtNav: String! - tom: String! + rapportertDato: LocalDateTime! + sendtNav: LocalDateTime! + tom: LocalDate! type: Hendelsetype! } type SoknadFrilans implements Hendelse { eksternDokumentId: UUID - fom: String! + fom: LocalDate! id: UUID! - rapportertDato: String! - sendtNav: String! - tom: String! + rapportertDato: LocalDateTime! + sendtNav: LocalDateTime! + tom: LocalDate! type: Hendelsetype! } type SoknadNav implements Hendelse { eksternDokumentId: UUID - fom: String! + fom: LocalDate! id: UUID! - rapportertDato: String! - sendtNav: String! - tom: String! + rapportertDato: LocalDateTime! + sendtNav: LocalDateTime! + tom: LocalDate! type: Hendelsetype! } type SoknadSelvstendig implements Hendelse { eksternDokumentId: UUID - fom: String! + fom: LocalDate! id: UUID! - rapportertDato: String! - sendtNav: String! - tom: String! + rapportertDato: LocalDateTime! + sendtNav: LocalDateTime! + tom: LocalDate! type: Hendelsetype! } type Soknadsperioder { faktiskGrad: Int - fom: String! + fom: LocalDate! grad: Int sykmeldingsgrad: Int - tom: String! + tom: LocalDate! } type Sporsmal { @@ -675,15 +675,15 @@ type Svar { type Sykepengedager { forbrukteSykedager: Int gjenstaendeSykedager: Int - maksdato: String! + maksdato: LocalDate! oppfylt: Boolean! - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! } type Sykepengegrunnlagsgrense { grense: Int! grunnbelop: Int! - virkningstidspunkt: String! + virkningstidspunkt: LocalDate! } type Sykepengegrunnlagskjonnsfastsetting implements Overstyring { @@ -691,14 +691,14 @@ type Sykepengegrunnlagskjonnsfastsetting implements Overstyring { hendelseId: UUID! saksbehandler: Saksbehandler! skjonnsfastsatt: SkjonnsfastsattSykepengegrunnlag! - timestamp: String! + timestamp: LocalDateTime! } type Sykmelding implements Hendelse { - fom: String! + fom: LocalDate! id: UUID! - rapportertDato: String! - tom: String! + rapportertDato: LocalDateTime! + tom: LocalDate! type: Hendelsetype! } @@ -718,17 +718,17 @@ type Totrinnsvurdering { type UberegnetPeriode implements Periode { behandlingId: UUID! erForkastet: Boolean! - fom: String! + fom: LocalDate! hendelser: [Hendelse!]! id: UUID! inntektstype: Inntektstype! notater: [Notat!]! - opprettet: String! + opprettet: LocalDateTime! periodetilstand: Periodetilstand! periodetype: Periodetype! - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! tidslinje: [Dag!]! - tom: String! + tom: LocalDate! varsler: [VarselDTO!]! vedtaksperiodeId: UUID! } @@ -736,7 +736,7 @@ type UberegnetPeriode implements Periode { type UnntattFraAutomatiskGodkjenning { arsaker: [String!]! erUnntatt: Boolean! - tidspunkt: String + tidspunkt: LocalDateTime } type Utbetaling { @@ -767,7 +767,7 @@ type VarselDTO { generasjonId: UUID! handling: String kode: String! - opprettet: String! + opprettet: LocalDateTime! tittel: String! vurdering: VarselvurderingDTO } @@ -775,7 +775,7 @@ type VarselDTO { type VarselvurderingDTO { ident: String! status: Varselstatus! - tidsstempel: String! + tidsstempel: LocalDateTime! } type VilkarsgrunnlagInfotrygd implements Vilkarsgrunnlag { @@ -783,7 +783,7 @@ type VilkarsgrunnlagInfotrygd implements Vilkarsgrunnlag { id: UUID! inntekter: [Arbeidsgiverinntekt!]! omregnetArsinntekt: Float! - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! sykepengegrunnlag: Float! vilkarsgrunnlagtype: Vilkarsgrunnlagtype! } @@ -799,9 +799,9 @@ type VilkarsgrunnlagSpleis implements Vilkarsgrunnlag { oppfyllerKravOmMedlemskap: Boolean oppfyllerKravOmMinstelonn: Boolean! oppfyllerKravOmOpptjening: Boolean! - opptjeningFra: String! + opptjeningFra: LocalDate! sammenligningsgrunnlag: Float - skjaeringstidspunkt: String! + skjaeringstidspunkt: LocalDate! skjonnsmessigFastsattAarlig: Float sykepengegrunnlag: Float! sykepengegrunnlagsgrense: Sykepengegrunnlagsgrense! @@ -812,7 +812,7 @@ type Vurdering { automatisk: Boolean! godkjent: Boolean! ident: String! - tidsstempel: String! + tidsstempel: LocalDateTime! } enum Adressebeskyttelse { @@ -1186,6 +1186,12 @@ enum Visningskriterium { UKJENT } +"class java.time.LocalDate" +scalar LocalDate + +"class java.time.LocalDateTime" +scalar LocalDateTime + "class java.util.UUID" scalar UUID @@ -1203,7 +1209,7 @@ input ArbeidsforholdOverstyringHandlingInput { aktorId: String! fodselsnummer: String! overstyrteArbeidsforhold: [OverstyringArbeidsforholdInput!]! - skjaringstidspunkt: String! + skjaringstidspunkt: LocalDate! vedtaksperiodeId: String! } @@ -1230,7 +1236,7 @@ input InntektOgRefusjonOverstyringInput { aktorId: String! arbeidsgivere: [OverstyringArbeidsgiverInput!]! fodselsnummer: String! - skjaringstidspunkt: String! + skjaringstidspunkt: LocalDate! vedtaksperiodeId: String! } @@ -1272,7 +1278,7 @@ input OverstyringArbeidsgiverInput { } input OverstyringDagInput { - dato: String! + dato: LocalDate! fraGrad: Int fraType: String! grad: Int @@ -1282,8 +1288,8 @@ input OverstyringDagInput { input OverstyringRefusjonselementInput { belop: Float! - fom: String! - tom: String + fom: LocalDate! + tom: LocalDate } input SkjonnsfastsettelseArbeidsgiverInput { @@ -1303,7 +1309,7 @@ input SkjonnsfastsettelseInput { aktorId: String! arbeidsgivere: [SkjonnsfastsettelseArbeidsgiverInput!]! fodselsnummer: String! - skjaringstidspunkt: String! + skjaringstidspunkt: LocalDate! vedtaksperiodeId: String! } diff --git a/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/oppgave/OppgaveMapper.kt b/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/oppgave/OppgaveMapper.kt index 39f3fc0b0..c99e0d3c1 100644 --- a/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/oppgave/OppgaveMapper.kt +++ b/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/oppgave/OppgaveMapper.kt @@ -26,7 +26,7 @@ internal object OppgaveMapper { id = oppgave.id.toString(), opprettet = oppgave.opprettet, opprinneligSoknadsdato = oppgave.opprinneligSøknadsdato, - tidsfrist = oppgave.tidsfrist?.toString(), + tidsfrist = oppgave.tidsfrist, vedtaksperiodeId = oppgave.vedtaksperiodeId, navn = Personnavn( diff --git a/spesialist-selve/src/test/kotlin/DatabaseIntegrationTest.kt b/spesialist-selve/src/test/kotlin/DatabaseIntegrationTest.kt index f3fd2abb8..79c7f60e0 100644 --- a/spesialist-selve/src/test/kotlin/DatabaseIntegrationTest.kt +++ b/spesialist-selve/src/test/kotlin/DatabaseIntegrationTest.kt @@ -527,15 +527,15 @@ abstract class DatabaseIntegrationTest : AbstractDatabaseTest() { listOf( GraphQLUberegnetPeriode( erForkastet = false, - fom = "2020-01-01", - tom = "2020-01-31", + fom = 1.januar(2020), + tom = 31.januar(2020), inntektstype = GraphQLInntektstype.ENARBEIDSGIVER, opprettet = 31.januar(2020).atStartOfDay(), periodetype = GraphQLPeriodetype.FORSTEGANGSBEHANDLING, tidslinje = emptyList(), vedtaksperiodeId = UUID.randomUUID(), periodetilstand = GraphQLPeriodetilstand.VENTERPAANNENPERIODE, - skjaeringstidspunkt = "2020-01-01", + skjaeringstidspunkt = 1.januar(2020), hendelser = emptyList(), behandlingId = UUID.randomUUID(), ), 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 c71fe468f..db28f0ad5 100644 --- a/spesialist-selve/src/test/kotlin/no/nav/helse/Testdata.kt +++ b/spesialist-selve/src/test/kotlin/no/nav/helse/Testdata.kt @@ -70,8 +70,8 @@ object Testdata { vedtaksperiodeId = vedtaksperiodeId, utbetaling = utbetaling, erForkastet = false, - fom = "2020-01-01", - tom = "2020-01-31", + fom = 1.januar(2020), + tom = 31.januar(2020), inntektstype = GraphQLInntektstype.ENARBEIDSGIVER, opprettet = 31.januar(2020).atStartOfDay(), periodetype = GraphQLPeriodetype.FORSTEGANGSBEHANDLING, @@ -80,7 +80,7 @@ object Testdata { forbrukteSykedager = null, gjenstaendeSykedager = null, hendelser = emptyList(), - maksdato = "2021-01-01", + maksdato = 1.januar(2021), periodevilkar = GraphQLPeriodevilkar( alder = @@ -92,12 +92,12 @@ object Testdata { Sykepengedager( forbrukteSykedager = null, gjenstaendeSykedager = null, - maksdato = "2021-01-01", - skjaeringstidspunkt = "2020-01-01", + maksdato = 1.januar(2021), + skjaeringstidspunkt = 1.januar(2020), oppfylt = true, ), ), - skjaeringstidspunkt = "2020-01-01", + skjaeringstidspunkt = 1.januar(2020), vilkarsgrunnlagId = null, periodetilstand = GraphQLPeriodetilstand.TILGODKJENNING, ), diff --git a/spesialist-selve/src/test/kotlin/no/nav/helse/mediator/oppgave/OppgaveMapperTest.kt b/spesialist-selve/src/test/kotlin/no/nav/helse/mediator/oppgave/OppgaveMapperTest.kt index 8b4f03b5e..f06d581ab 100644 --- a/spesialist-selve/src/test/kotlin/no/nav/helse/mediator/oppgave/OppgaveMapperTest.kt +++ b/spesialist-selve/src/test/kotlin/no/nav/helse/mediator/oppgave/OppgaveMapperTest.kt @@ -74,7 +74,7 @@ internal class OppgaveMapperTest { assertEquals(Personnavn("fornavn", "etternavn", "mellomnavn"), oppgaveTilBehandling.navn) assertEquals(opprettet, oppgaveTilBehandling.opprettet) assertEquals(opprinneligSøknadsdato, oppgaveTilBehandling.opprinneligSoknadsdato) - assertEquals(tidsfrist.toString(), oppgaveTilBehandling.tidsfrist) + assertEquals(tidsfrist, oppgaveTilBehandling.tidsfrist) assertEquals(AntallArbeidsforhold.ET_ARBEIDSFORHOLD, oppgaveTilBehandling.antallArbeidsforhold) assertEquals(Mottaker.BEGGE, oppgaveTilBehandling.mottaker) assertEquals(Oppgavetype.SOKNAD, oppgaveTilBehandling.oppgavetype)