Skip to content

Commit

Permalink
Bruker ikke inntektsdato til annet enn å logge
Browse files Browse the repository at this point in the history
Co-authored-by: Hege Haavaldsen <[email protected]>
Co-authored-by: Simen Ullern <[email protected]>
Co-authored-by: Vemund Strøm <[email protected]>
  • Loading branch information
4 people committed Nov 1, 2024
1 parent a36e35e commit af27fe4
Show file tree
Hide file tree
Showing 16 changed files with 28 additions and 94 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import java.time.LocalDate
import java.time.LocalDateTime
import java.time.YearMonth
import java.util.UUID
import no.nav.helse.Personidentifikator
import no.nav.helse.dto.SimuleringResultatDto
import no.nav.helse.februar
import no.nav.helse.hendelser.Arbeidsavklaringspenger
Expand All @@ -27,15 +28,14 @@ import no.nav.helse.hendelser.Sykmeldingsperiode
import no.nav.helse.hendelser.Søknad
import no.nav.helse.hendelser.Søknad.Søknadsperiode
import no.nav.helse.hendelser.Søknad.Søknadsperiode.Sykdom
import no.nav.helse.hendelser.UtbetalingHendelse
import no.nav.helse.hendelser.Utbetalingsgodkjenning
import no.nav.helse.hendelser.UtbetalingshistorikkEtterInfotrygdendring
import no.nav.helse.hendelser.Vilkårsgrunnlag
import no.nav.helse.hendelser.Vilkårsgrunnlag.Arbeidsforhold.Arbeidsforholdtype
import no.nav.helse.hendelser.Ytelser
import no.nav.helse.hendelser.UtbetalingHendelse
import no.nav.helse.hendelser.Utbetalingsgodkjenning
import no.nav.helse.person.Person
import no.nav.helse.person.infotrygdhistorikk.InfotrygdhistorikkElement
import no.nav.helse.Personidentifikator
import no.nav.helse.spleis.testhelpers.TestObservatør
import no.nav.helse.spleis.testhelpers.inntektperioderForSykepengegrunnlag
import no.nav.helse.utbetalingslinjer.Oppdragstatus
Expand Down Expand Up @@ -128,7 +128,6 @@ internal abstract class AbstractObservableTest {
arbeidsgiverperioder: List<Periode> = listOf(Periode(FOM, TOM)),
beregnetInntekt: Inntekt = INNTEKT,
førsteFraværsdag: LocalDate = arbeidsgiverperioder.maxOfOrNull { it.start } ?: LocalDate.of(2018, 1, 1),
inntektsdato: LocalDate? = null,
vedtaksperiodeId: UUID = UUID.randomUUID(),
refusjon: Inntektsmelding.Refusjon = Inntektsmelding.Refusjon(beregnetInntekt, null, emptyList()),
orgnummer: String = ORGNUMMER,
Expand All @@ -144,7 +143,7 @@ internal abstract class AbstractObservableTest {
fødselsnummer = fnr,
aktørId = AKTØRID,
førsteFraværsdag = førsteFraværsdag,
inntektsdato = inntektsdato,
inntektsdato = null,
beregnetInntekt = beregnetInntekt,
arbeidsgiverperioder = arbeidsgiverperioder,
arbeidsforholdId = arbeidsforholdId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ internal abstract class AbstractE2ETest {
): UUID {
return håndterInntektsmelding(
arbeidsgiverperioder = arbeidsgiverperioder,
inntektdato = inntektdato,
førsteFraværsdag = inntektdato,
beregnetInntekt = INNTEKT,
refusjon = Inntektsmelding.Refusjon(INGEN, null),
begrunnelseForReduksjonEllerIkkeUtbetalt = begrunnelseForReduksjonEllerIkkeUtbetalt,
Expand All @@ -196,7 +196,7 @@ internal abstract class AbstractE2ETest {

protected fun håndterInntektsmelding(
arbeidsgiverperioder: List<Periode>,
inntektdato: LocalDate = arbeidsgiverperioder.maxOf { it.start },
førsteFraværsdag: LocalDate = arbeidsgiverperioder.maxOf { it.start },
orgnummer: String = a1,
vedtaksperiode: Int = 1,
beregnetInntekt: Inntekt = INNTEKT,
Expand All @@ -207,8 +207,7 @@ internal abstract class AbstractE2ETest {
(fabrikker.getValue(orgnummer).lagPortalinntektsmelding(
arbeidsgiverperioder = arbeidsgiverperioder,
beregnetInntekt = beregnetInntekt,
førsteFraværsdag = inntektdato,
inntektsdato = inntektdato,
førsteFraværsdag = førsteFraværsdag,
vedtaksperiodeId = vedtaksperiode.vedtaksperiode(orgnummer),
refusjon = refusjon,
begrunnelseForReduksjonEllerIkkeUtbetalt = begrunnelseForReduksjonEllerIkkeUtbetalt,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,6 @@ internal class ArbeidsgiverHendelsefabrikk(
arbeidsgiverperioder: List<Periode>,
beregnetInntekt: Inntekt,
førsteFraværsdag: LocalDate? = arbeidsgiverperioder.maxOf { it.start },
inntektsdato: LocalDate,
vedtaksperiodeId: UUID,
refusjon: Inntektsmelding.Refusjon = Inntektsmelding.Refusjon(beregnetInntekt, null, emptyList()),
harOpphørAvNaturalytelser: Boolean = false,
Expand All @@ -178,7 +177,7 @@ internal class ArbeidsgiverHendelsefabrikk(
fødselsnummer = personidentifikator.toString(),
aktørId = aktørId,
førsteFraværsdag = førsteFraværsdag,
inntektsdato = inntektsdato,
inntektsdato = null,
beregnetInntekt = beregnetInntekt,
arbeidsgiverperioder = arbeidsgiverperioder,
arbeidsforholdId = arbeidsforholdId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,7 @@ class Inntektsmelding(
mottatt: LocalDateTime
) : Hendelse {
companion object {
private fun inntektdato(førsteFraværsdag: LocalDate?, arbeidsgiverperioder: List<Periode>, inntektsdato: LocalDate?): LocalDate {
if (inntektsdato != null) return inntektsdato
private fun inntektdato(førsteFraværsdag: LocalDate?, arbeidsgiverperioder: List<Periode>): LocalDate {
if (førsteFraværsdag != null && (arbeidsgiverperioder.isEmpty() || førsteFraværsdag > arbeidsgiverperioder.last().endInclusive.nesteDag)) return førsteFraværsdag
return arbeidsgiverperioder.maxOf { it.start }
}
Expand All @@ -65,11 +64,6 @@ class Inntektsmelding(
}

init {
val ingenInntektsdatoUtenomPortal = inntektsdato == null && !erPortalinntektsmelding()
val inntektsdatoKunHvisPortal = inntektsdato != null && erPortalinntektsmelding()
check(ingenInntektsdatoUtenomPortal || inntektsdatoKunHvisPortal) {
"Om avsendersystem er NAV_NO må inntektsdato være satt og motsatt! inntektsdato=$inntektsdato, avsendersystem=$avsendersystem"
}
if (arbeidsgiverperioder.isEmpty() && førsteFraværsdag == null) error("Arbeidsgiverperiode er tom og førsteFraværsdag er null")
}

Expand Down Expand Up @@ -98,7 +92,7 @@ class Inntektsmelding(
this
)
private var håndtertInntekt = false
private val beregnetInntektsdato = inntektdato(førsteFraværsdag, this.arbeidsgiverperioder, this.inntektsdato)
private val beregnetInntektsdato = inntektdato(førsteFraværsdag, this.arbeidsgiverperioder)
private val dokumentsporing = Dokumentsporing.inntektsmeldingInntekt(meldingsreferanseId)

internal fun addInntekt(inntektshistorikk: Inntektshistorikk, aktivitetslogg: IAktivitetslogg, alternativInntektsdato: LocalDate) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import no.nav.helse.dsl.TestPerson.Companion.INNTEKT
import no.nav.helse.dto.serialisering.PersonUtDto
import no.nav.helse.etterlevelse.Subsumsjonslogg.Companion.EmptyLog
import no.nav.helse.hendelser.GradertPeriode
import no.nav.helse.hendelser.InntekterForOpptjeningsvurdering
import no.nav.helse.hendelser.InntektForSykepengegrunnlag
import no.nav.helse.hendelser.InntekterForOpptjeningsvurdering
import no.nav.helse.hendelser.Inntektsmelding
import no.nav.helse.hendelser.Institusjonsopphold
import no.nav.helse.hendelser.Medlemskapsvurdering
Expand Down Expand Up @@ -261,7 +261,6 @@ internal abstract class AbstractDslTest {
arbeidsgiverperioder: List<Periode>,
beregnetInntekt: Inntekt,
førsteFraværsdag: LocalDate = arbeidsgiverperioder.maxOf { it.start },
inntektsdato: LocalDate,
vedtaksperiodeId: UUID,
refusjon: Inntektsmelding.Refusjon = Inntektsmelding.Refusjon(beregnetInntekt, null, emptyList()),
harOpphørAvNaturalytelser: Boolean = false,
Expand All @@ -273,7 +272,6 @@ internal abstract class AbstractDslTest {
arbeidsgiverperioder,
beregnetInntekt,
førsteFraværsdag,
inntektsdato,
vedtaksperiodeId,
refusjon,
harOpphørAvNaturalytelser,
Expand Down Expand Up @@ -405,7 +403,6 @@ protected fun håndterInntektsmeldingPortal(
arbeidsgiverperioder: List<Periode>,
beregnetInntekt: Inntekt,
førsteFraværsdag: LocalDate = arbeidsgiverperioder.maxOf { it.start },
inntektsdato: LocalDate,
vedtaksperiodeId: UUID,
refusjon: Inntektsmelding.Refusjon = Inntektsmelding.Refusjon(beregnetInntekt, null, emptyList()),
harOpphørAvNaturalytelser: Boolean = false,
Expand All @@ -414,7 +411,7 @@ protected fun håndterInntektsmeldingPortal(
id: UUID = UUID.randomUUID(),
orgnummer: String = a1
) =
bareÈnArbeidsgiver(orgnummer).håndterInntektsmeldingPortal(arbeidsgiverperioder, beregnetInntekt, førsteFraværsdag, inntektsdato, vedtaksperiodeId, refusjon, harOpphørAvNaturalytelser, arbeidsforholdId, begrunnelseForReduksjonEllerIkkeUtbetalt, id)
bareÈnArbeidsgiver(orgnummer).håndterInntektsmeldingPortal(arbeidsgiverperioder, beregnetInntekt, førsteFraværsdag, vedtaksperiodeId, refusjon, harOpphørAvNaturalytelser, arbeidsforholdId, begrunnelseForReduksjonEllerIkkeUtbetalt, id)

internal fun håndterVilkårsgrunnlag(
vedtaksperiodeId: UUID,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,6 @@ internal class ArbeidsgiverHendelsefabrikk(
arbeidsgiverperioder: List<Periode>,
beregnetInntekt: Inntekt,
førsteFraværsdag: LocalDate? = arbeidsgiverperioder.maxOf { it.start },
inntektsdato: LocalDate,
vedtaksperiodeId: UUID,
refusjon: Inntektsmelding.Refusjon = Inntektsmelding.Refusjon(beregnetInntekt, null, emptyList()),
harOpphørAvNaturalytelser: Boolean = false,
Expand All @@ -231,7 +230,7 @@ internal class ArbeidsgiverHendelsefabrikk(
fødselsnummer = personidentifikator.toString(),
aktørId = aktørId,
førsteFraværsdag = førsteFraværsdag,
inntektsdato = inntektsdato,
inntektsdato = null,
beregnetInntekt = beregnetInntekt,
arbeidsgiverperioder = arbeidsgiverperioder,
arbeidsforholdId = arbeidsforholdId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,6 @@ internal class TestPerson(
arbeidsgiverperioder: List<Periode>,
beregnetInntekt: Inntekt = INNTEKT,
førsteFraværsdag: LocalDate = arbeidsgiverperioder.maxOf { it.start },
inntektsdato: LocalDate,
vedtaksperiodeId: UUID = inspektør.vedtaksperioder(1.vedtaksperiode).inspektør.id,
refusjon: Inntektsmelding.Refusjon = Inntektsmelding.Refusjon(beregnetInntekt, null, emptyList()),
harOpphørAvNaturalytelser: Boolean = false,
Expand All @@ -258,7 +257,6 @@ internal class TestPerson(
arbeidsgiverperioder,
beregnetInntekt,
førsteFraværsdag,
inntektsdato,
vedtaksperiodeId,
refusjon,
harOpphørAvNaturalytelser,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -475,15 +475,15 @@ internal class InntektsmeldingTest {

@Test
fun `uenige om arbeidsgiverperiode med NAV_NO som avsendersystem gir varsel`() {
inntektsmeldingPortal(listOf(2.januar til 17.januar), inntektsdato = 2.januar)
inntektsmeldingPortal(listOf(2.januar til 17.januar))
dager.vurdertTilOgMed(17.januar)
dager.validerArbeidsgiverperiode(aktivitetslogg, 1.januar til 17.januar, Arbeidsgiverperiode(listOf(1.januar til 16.januar)).apply { kjentDag(17.januar) })
aktivitetslogg.assertVarsel(RV_IM_3)
}

@Test
fun `tom arbeidsgiverperiode med NAV_NO som avsendersystem gir ikke varsel`() {
inntektsmeldingPortal(emptyList(), inntektsdato = 1.januar)
inntektsmeldingPortal(emptyList())
dager.vurdertTilOgMed(17.januar)
dager.validerArbeidsgiverperiode(aktivitetslogg, 1.januar til 17.januar, Arbeidsgiverperiode(listOf(1.januar til 16.januar)).apply { kjentDag(17.januar) })
aktivitetslogg.assertIngenVarsel(RV_IM_3)
Expand Down Expand Up @@ -515,7 +515,6 @@ internal class InntektsmeldingTest {
arbeidsgiverperioder: List<Periode>,
refusjonBeløp: Inntekt = 1000.månedlig,
beregnetInntekt: Inntekt = 1000.månedlig,
inntektsdato: LocalDate,
vedtaksperiodeId: UUID = UUID.randomUUID(),
førsteFraværsdag: LocalDate? = arbeidsgiverperioder.maxOfOrNull { it.start } ?: 1.januar,
refusjonOpphørsdato: LocalDate? = null,
Expand All @@ -527,7 +526,6 @@ internal class InntektsmeldingTest {
inntektsmelding = hendelsefabrikk.lagPortalinntektsmelding(
refusjon = Inntektsmelding.Refusjon(refusjonBeløp, refusjonOpphørsdato, endringerIRefusjon),
førsteFraværsdag = førsteFraværsdag,
inntektsdato = inntektsdato,
vedtaksperiodeId = vedtaksperiodeId,
beregnetInntekt = beregnetInntekt,
arbeidsgiverperioder = arbeidsgiverperioder,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ internal class PersonDataBuilderTest : AbstractDslTest() {
fun `serialisering av person`() {
a1 {
håndterSøknad(Sykdom(5.januar, 17.januar, 100.prosent))
håndterInntektsmeldingPortal(listOf(1.januar til 16.januar), inntektsdato = 1.januar, førsteFraværsdag = 1.januar, refusjon = Inntektsmelding.Refusjon(
håndterInntektsmeldingPortal(listOf(1.januar til 16.januar), førsteFraværsdag = 1.januar, refusjon = Inntektsmelding.Refusjon(
beløp = INNTEKT/2,
opphørsdato = 31.januar
))
Expand Down Expand Up @@ -118,15 +118,14 @@ internal class PersonDataBuilderTest : AbstractDslTest() {
egenmeldinger = listOf(1.februar til 2.februar),
sendtTilNAVEllerArbeidsgiver = 1.juni
)
håndterInntektsmeldingPortal(listOf(1.februar til 16.februar), inntektsdato = 1.februar, førsteFraværsdag = 1.februar)
håndterInntektsmeldingPortal(listOf(1.februar til 16.februar), førsteFraværsdag = 1.februar)
håndterVilkårsgrunnlag(1.vedtaksperiode)
håndterYtelser(1.vedtaksperiode)
håndterUtbetalingsgodkjenning(1.vedtaksperiode, godkjent = false)
}
a3 {
håndterSøknad(Sykdom(1.juni, 16.juni, 100.prosent))
håndterInntektsmeldingPortal(listOf(1.juni til 16.juni),
inntektsdato = 1.juni,
førsteFraværsdag = 1.juni,
beregnetInntekt = INNTEKT,
begrunnelseForReduksjonEllerIkkeUtbetalt = "IngenOpptjening",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,6 @@ internal fun AbstractEndToEndTest.inntektsmeldingPortal(
id: UUID = UUID.randomUUID(),
arbeidsgiverperioder: List<Periode>,
beregnetInntekt: Inntekt = AbstractEndToEndTest.INNTEKT,
inntektsdato: LocalDate,
vedtaksperiodeId: UUID,
førsteFraværsdag: LocalDate = arbeidsgiverperioder.maxOfOrNull { it.start } ?: 1.januar,
refusjon: Inntektsmelding.Refusjon = Inntektsmelding.Refusjon(beregnetInntekt, null, emptyList()),
Expand All @@ -231,7 +230,6 @@ internal fun AbstractEndToEndTest.inntektsmeldingPortal(
ArbeidsgiverHendelsefabrikk(AKTØRID, fnr, orgnummer).lagPortalinntektsmelding(
id = id,
refusjon = refusjon,
inntektsdato = inntektsdato,
førsteFraværsdag = førsteFraværsdag,
beregnetInntekt = beregnetInntekt,
vedtaksperiodeId = vedtaksperiodeId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -524,7 +524,6 @@ internal fun AbstractEndToEndTest.håndterInntektsmelding(
arbeidsgiverperioder,
beregnetInntekt = beregnetInntekt,
førsteFraværsdag = førsteFraværsdag,
inntektsdato = førsteFraværsdag,
vedtaksperiodeId = inspektør(orgnummer).vedtaksperiodeId(vedtaksperiodeIdInnhenter),
refusjon = refusjon,
orgnummer = orgnummer,
Expand Down Expand Up @@ -555,7 +554,6 @@ internal fun AbstractEndToEndTest.håndterInntektsmelding(
internal fun AbstractEndToEndTest.håndterInntektsmeldingPortal(
arbeidsgiverperioder: List<Periode>,
førsteFraværsdag: LocalDate = arbeidsgiverperioder.maxOfOrNull { it.start } ?: 1.januar,
inntektsdato: LocalDate,
beregnetInntekt: Inntekt = INNTEKT,
refusjon: Inntektsmelding.Refusjon = Inntektsmelding.Refusjon(beregnetInntekt, null, emptyList()),
orgnummer: String = ORGNUMMER,
Expand All @@ -572,7 +570,6 @@ internal fun AbstractEndToEndTest.håndterInntektsmeldingPortal(
arbeidsgiverperioder,
beregnetInntekt = beregnetInntekt,
førsteFraværsdag = førsteFraværsdag,
inntektsdato = inntektsdato,
vedtaksperiodeId = inspektør(orgnummer).vedtaksperiodeId(vedtaksperiodeIdInnhenter),
refusjon = refusjon,
orgnummer = orgnummer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ internal class TrengerArbeidsgiveropplysningerTest : AbstractEndToEndTest() {
håndterSøknad(Sykdom(22.januar, 26.januar, 100.prosent))
håndterSøknad(Sykdom(27.januar, 28.januar, 100.prosent))
håndterSøknad(Sykdom(29.januar, 31.januar, 100.prosent))
håndterInntektsmeldingPortal(listOf(1.januar til 16.januar), inntektsdato = 1.januar)
håndterInntektsmeldingPortal(listOf(1.januar til 16.januar))
assertSisteTilstand(1.vedtaksperiode, AVSLUTTET_UTEN_UTBETALING)
assertSisteTilstand(2.vedtaksperiode, AVSLUTTET_UTEN_UTBETALING)
assertSisteTilstand(3.vedtaksperiode, AVSLUTTET_UTEN_UTBETALING)
Expand All @@ -109,7 +109,7 @@ internal class TrengerArbeidsgiveropplysningerTest : AbstractEndToEndTest() {
assertFalse(event.forespurteOpplysninger.any { it is PersonObserver.Arbeidsgiverperiode })
}
assertSisteTilstand(2.vedtaksperiode, AVVENTER_INNTEKTSMELDING)
håndterInntektsmeldingPortal(emptyList(), førsteFraværsdag = 12.februar, inntektsdato = 13.februar)
håndterInntektsmeldingPortal(emptyList(), førsteFraværsdag = 12.februar)
assertSisteTilstand(2.vedtaksperiode, AVVENTER_INNTEKTSMELDING)
}

Expand Down Expand Up @@ -894,7 +894,7 @@ internal class TrengerArbeidsgiveropplysningerTest : AbstractEndToEndTest() {
)
assertEquals(20.januar til 31.januar, inspektør.vedtaksperioder(2.vedtaksperiode).inspektør.periode)

håndterInntektsmeldingPortal(emptyList(), inntektsdato = 20.januar, førsteFraværsdag = 20.januar, vedtaksperiodeIdInnhenter = 2.vedtaksperiode)
håndterInntektsmeldingPortal(emptyList(), førsteFraværsdag = 20.januar, vedtaksperiodeIdInnhenter = 2.vedtaksperiode)
håndterVilkårsgrunnlag(2.vedtaksperiode)
håndterYtelser(2.vedtaksperiode)

Expand Down Expand Up @@ -991,18 +991,15 @@ internal class TrengerArbeidsgiveropplysningerTest : AbstractEndToEndTest() {
nyPeriode(ag1Periode.start til ag1Periode.endInclusive, a1)
nyPeriode(ag2Periode.start til ag2Periode.endInclusive, a2)

val inntektsdato = sykefraværHosArbeidsgiver.values.minOf { it.start }
håndterInntektsmeldingPortal(
listOf(ag1Periode.start til ag1Periode.start.plusDays(15)),
beregnetInntekt = inntekt,
inntektsdato = inntektsdato,
orgnummer = a1,
orgnummer = a1
)
håndterInntektsmeldingPortal(
listOf(ag2Periode.start til ag2Periode.start.plusDays(15)),
beregnetInntekt = inntekt,
inntektsdato = inntektsdato,
orgnummer = a2,
orgnummer = a2
)

fraVilkårsprøvingTilGodkjent(inntekt)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,6 @@ internal class VedtaksperioderForFlereArbeidsgivereTest : AbstractEndToEndTest()
håndterInntektsmeldingPortal(
arbeidsgiverperioder = listOf(Periode(periode.start, periode.start.plusDays(15))),
beregnetInntekt = inntekt,
inntektsdato = periode.start,
førsteFraværsdag = periode.start,
orgnummer = orgnummer
)
Expand Down
Loading

0 comments on commit af27fe4

Please sign in to comment.