Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import no.nav.helse.flex.util.leggTilDagerIVedtakPeriode
import org.springframework.stereotype.Component
import org.springframework.transaction.annotation.Transactional
import java.time.temporal.ChronoUnit
import kotlin.math.roundToInt

@Component
class MigrerTilUtbetalingsdagerJobb(
Expand Down Expand Up @@ -141,7 +142,7 @@ class MigrerTilUtbetalingsdagerBatchMigrator(
gammelDag.copy(
beløpTilSykmeldt = dagPerson?.belop ?: 0,
beløpTilArbeidsgiver = dagArbeidsgiver?.belop ?: 0,
sykdomsgrad = (dagPerson?.grad ?: dagArbeidsgiver?.grad ?: 0.0).toInt(),
sykdomsgrad = (dagPerson?.grad ?: dagArbeidsgiver?.grad ?: 0.0).roundToInt(),
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import no.nav.helse.flex.db.UtbetalingMigreringRepository
import no.nav.helse.flex.domene.UtbetalingUtbetalt
import no.nav.helse.flex.fake.EnvironmentTogglesFake
import no.nav.helse.flex.jobb.MigreringsTestData.UTBETALING_GAMMELT_FORMAT_JSON
import no.nav.helse.flex.jobb.MigreringsTestData.UTBETALING_GAMMELT_FORMAT_JSON_DESIMALER
import no.nav.helse.flex.jobb.MigreringsTestData.UTBETALING_UTEN_UTBETALINGSDAGER_JSON
import no.nav.helse.flex.objectMapper
import org.amshove.kluent.`should be equal to`
Expand Down Expand Up @@ -145,4 +146,36 @@ class MigrerTilUtbetalingsdagerBatchMigratorTest : FellesTestOppsett() {
utbetalingUtbetalt.utbetalingsdager.count { it.type == "AvvistDag" } `should be equal to` 1
}
}

@Test
fun `Burde håndtere vedtak med grad med desimaler`() {
val utbetalingId = "utbetaling-med-flere-vedtak"
val fnr = "12345678910"

val vedtak1 = vedtakRepository.opprettVedtak(utbetalingId, fnr)
val vedtak2 = vedtakRepository.opprettVedtak(utbetalingId, fnr, opprettet = Instant.parse("2021-01-02T12:00:00Z"))
val utbetaling =
utbetalingRepository.opprettUtbetaling(
utbetalingId,
fnr,
UTBETALING_GAMMELT_FORMAT_JSON_DESIMALER,
antallVedtak = 2,
)
val utbetalingMigrering = utbetalingMigreringRepository.opprettMigreringsRecord(utbetalingId, MigrertStatus.IKKE_MIGRERT)

val resultat = batchMigrator.migrerGammeltVedtak(listOf(utbetalingMigrering), mapOf(utbetaling to listOf(vedtak1, vedtak2)))

resultat.migrert.`should be equal to`(1)
resultat.feilet.`should be equal to`(0)
utbetalingMigreringRepository.verifiserMigreringsStatus(utbetalingId, MigrertStatus.MIGRERT)

utbetalingRepository.findUtbetalingDbRecordsByFnr(fnr = fnr).single().also { utbetalingDbRecord ->
val utbetalingUtbetalt = objectMapper.readValue<UtbetalingUtbetalt>(utbetalingDbRecord.utbetaling)

utbetalingUtbetalt.utbetalingsdager.`should not be null`()
utbetalingUtbetalt.utbetalingsdager.size `should be equal to` 31
utbetalingUtbetalt.utbetalingsdager.filter { it.sykdomsgrad == 30 }.size `should be equal to` 12
utbetalingUtbetalt.utbetalingsdager.filter { it.sykdomsgrad == 33 }.size `should be equal to` 10
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ object MigreringsTestData {
{"utbetalingId":"3d19a9d1-c285-4dcd-abb3-b3bcfb538c4a","korrelasjonsId":"139f6ed1-fb55-4272-a027-b9b763392a4b","fødselsnummer":"57907801103","aktørId":"2223759944574","organisasjonsnummer":"947064649","fom":"2024-05-01","tom":"2024-05-31","forbrukteSykedager":26,"gjenståendeSykedager":222,"stønadsdager":22,"automatiskBehandling":false,"arbeidsgiverOppdrag":{"mottaker":"947064649","fagområde":"SPREF","fagsystemId":"MJBEMEHTU5BKZO3Q4SBPU2UZ3M","nettoBeløp":45694,"stønadsdager":22,"fom":"2024-05-01","tom":"2024-05-31","utbetalingslinjer":[{"fom":"2024-05-01","tom":"2024-05-14","dagsats":2077,"totalbeløp":20770,"grad":100.0,"stønadsdager":10},{"fom":"2024-05-16","tom":"2024-05-31","dagsats":2077,"totalbeløp":24924,"grad":100.0,"stønadsdager":12}]},"personOppdrag":null,"type":"UTBETALING","utbetalingsdager":[{"dato":"2024-05-01","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-02","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-03","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-04","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-05","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-06","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-07","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-08","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-09","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-10","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-11","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-12","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-13","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-14","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-15","type":"AvvistDag","grad":0,"begrunnelser":["MinimumInntektOver67"]},{"dato":"2024-05-16","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-17","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-18","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-19","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-20","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-21","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-22","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-23","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-24","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-25","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-26","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-27","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-28","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-29","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-30","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-31","type":"NavDag","begrunnelser":[]}],"foreløpigBeregnetSluttPåSykepenger":"2025-04-08","event":"utbetaling_utbetalt","versjon":"1.0.0","antallVedtak":1}
"""

const val UTBETALING_GAMMELT_FORMAT_JSON_DESIMALER = """
{"utbetalingId":"3d19a9d1-c285-4dcd-abb3-b3bcfb538c4a","korrelasjonsId":"139f6ed1-fb55-4272-a027-b9b763392a4b","fødselsnummer":"57907801103","aktørId":"2223759944574","organisasjonsnummer":"947064649","fom":"2024-05-01","tom":"2024-05-31","forbrukteSykedager":26,"gjenståendeSykedager":222,"stønadsdager":22,"automatiskBehandling":false,"arbeidsgiverOppdrag":{"mottaker":"947064649","fagområde":"SPREF","fagsystemId":"MJBEMEHTU5BKZO3Q4SBPU2UZ3M","nettoBeløp":45694,"stønadsdager":22,"fom":"2024-05-01","tom":"2024-05-31","utbetalingslinjer":[{"fom":"2024-05-01","tom":"2024-05-14","dagsats":2077,"totalbeløp":20770,"grad":32.99999999999999,"stønadsdager":10},{"fom":"2024-05-16","tom":"2024-05-31","dagsats":2077,"totalbeløp":24924,"grad":30.000000000000004,"stønadsdager":12}]},"personOppdrag":null,"type":"UTBETALING","utbetalingsdager":[{"dato":"2024-05-01","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-02","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-03","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-04","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-05","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-06","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-07","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-08","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-09","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-10","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-11","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-12","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-13","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-14","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-15","type":"AvvistDag","grad":0,"begrunnelser":["MinimumInntektOver67"]},{"dato":"2024-05-16","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-17","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-18","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-19","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-20","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-21","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-22","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-23","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-24","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-25","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-26","type":"NavHelgDag","begrunnelser":[]},{"dato":"2024-05-27","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-28","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-29","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-30","type":"NavDag","begrunnelser":[]},{"dato":"2024-05-31","type":"NavDag","begrunnelser":[]}],"foreløpigBeregnetSluttPåSykepenger":"2025-04-08","event":"utbetaling_utbetalt","versjon":"1.0.0","antallVedtak":1}
"""

const val VEDTAK_JSON = """
{"fødselsnummer":"57907801103","aktørId":"2223759944574","organisasjonsnummer":"947064649","yrkesaktivitetstype":"ARBEIDSTAKER","fom":"2024-05-01","tom":"2024-05-31","skjæringstidspunkt":"2024-05-01","dokumenter":[{"dokumentId":"a7bdd7b8-8ea4-4af5-bdc3-9a8dbdb3e816","type":"Søknad"},{"dokumentId":"9ee8d87c-57d7-4e97-b94f-c73d161134b9","type":"Sykmelding"}],"sykepengegrunnlag":540000.0,"utbetalingId":"3d19a9d1-c285-4dcd-abb3-b3bcfb538c4a","vedtakFattetTidspunkt":"2026-01-14T11:52:04.280812329","sykepengegrunnlagsfakta":{"fastsatt":"EtterHovedregel","omregnetÅrsinntekt":540000.0,"innrapportertÅrsinntekt":540000.0,"avviksprosent":0.0,"6G":744168.0,"tags":[],"arbeidsgivere":[{"arbeidsgiver":"947064649","omregnetÅrsinntekt":540000.0}]},"begrunnelser":[{"type":"Innvilgelse","begrunnelse":"","perioder":[{"fom":"2024-05-01","tom":"2024-05-31"}]}],"tags":["IngenNyArbeidsgiverperiode"],"saksbehandler":{"navn":"Marte Sømo Solberg","ident":"S165568"},"beslutter":null,"versjon":"1.2.2","begrensning":"ER_IKKE_6G_BEGRENSET","inntekt":45000.0,"grunnlagForSykepengegrunnlag":540000.0,"grunnlagForSykepengegrunnlagPerArbeidsgiver":{"947064649":540000.0}}
"""
Expand Down