Skip to content

Commit

Permalink
Prøver å lagre refusjonsopplysninger på utledet første fraværsdag
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]>
  • Loading branch information
3 people committed Nov 1, 2024
1 parent d777ce4 commit 771b254
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -122,20 +122,39 @@ class Inntektsmelding(
}

private val refusjonsElement = Refusjonshistorikk.Refusjon(
meldingsreferanseId = meldingsreferanseId,
meldingsreferanseId = metadata.meldingsreferanseId,
førsteFraværsdag = førsteFraværsdag,
arbeidsgiverperioder = arbeidsgiverperioder,
beløp = refusjon.beløp,
sisteRefusjonsdag = refusjon.opphørsdato,
endringerIRefusjon = refusjon.endringerIRefusjon.map { it.tilEndring() },
tidsstempel = mottatt
tidsstempel = metadata.registrert
)

private fun refusjonsElement(vedtaksperioder: List<Vedtaksperiode>, finnFørsteFraværsdag: (LocalDate) -> LocalDate?): Refusjonshistorikk.Refusjon {
val utledetFørsteFraværsdag = if (erPortalinntektsmelding()) {
val skjæringstidspunkt = vedtaksperioder.finnSkjæringstidspunktFor(requireNotNull(vedtaksperiodeId))
finnFørsteFraværsdag(skjæringstidspunkt ?: beregnetInntektsdato) ?: beregnetInntektsdato
} else {
førsteFraværsdag
}
return Refusjonshistorikk.Refusjon(
meldingsreferanseId = metadata.meldingsreferanseId,
førsteFraværsdag = utledetFørsteFraværsdag,
arbeidsgiverperioder = arbeidsgiverperioder,
beløp = refusjon.beløp,
sisteRefusjonsdag = refusjon.opphørsdato,
endringerIRefusjon = refusjon.endringerIRefusjon.map { it.tilEndring() },
tidsstempel = metadata.registrert
)
}

internal val refusjonsservitør = checkNotNull(Refusjonsservitør.fra(refusjon.refusjonstidslinje(førsteFraværsdag, arbeidsgiverperioder, meldingsreferanseId, mottatt))) {
"Det har kommet en inntektsmelding uten refusjonsopplysninger, det takler vi særdeles dårlig"
}

internal fun leggTilRefusjon(refusjonshistorikk: Refusjonshistorikk) {
internal fun leggTilRefusjon(refusjonshistorikk: Refusjonshistorikk, vedtaksperioder: List<Vedtaksperiode>, finnFørsteFraværsdag: (LocalDate) -> LocalDate?) {
val refusjonsElement = refusjonsElement(vedtaksperioder, finnFørsteFraværsdag)
refusjonshistorikk.leggTilRefusjon(refusjonsElement)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ internal class Arbeidsgiver private constructor(
}

private fun addInntektsmelding(inntektsmelding: Inntektsmelding, aktivitetslogg: IAktivitetslogg, overstyring: Revurderingseventyr?) {
inntektsmelding.leggTilRefusjon(refusjonshistorikk)
inntektsmelding.leggTilRefusjon(refusjonshistorikk, vedtaksperioder, ::finnFørsteFraværsdag)

val subsumsjonsloggMedInntektsmeldingkontekst = subsumsjonsloggMedInntektsmeldingkontekst(inntektsmelding)
val inntektsdato = inntektsmelding.addInntekt(inntektshistorikk, subsumsjonsloggMedInntektsmeldingkontekst, vedtaksperioder)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -366,8 +366,9 @@ internal class FlereArbeidsgivereFlytTest : AbstractEndToEndTest() {
assertTilstand(1.vedtaksperiode, AVVENTER_BLOKKERENDE_PERIODE, orgnummer = a2)
assertTilstand(2.vedtaksperiode, AVVENTER_INNTEKTSMELDING, orgnummer = a2)

håndterInntektsmelding(listOf(2.januar til 17.januar), førsteFraværsdag = 20.januar, orgnummer = a2)
håndterInntektsmelding(listOf(2.januar til 17.januar), førsteFraværsdag = 20.januar, orgnummer = a2, vedtaksperiodeIdInnhenter = 2.vedtaksperiode)

assertTilstand(2.vedtaksperiode, AVVENTER_INNTEKTSMELDING, orgnummer = a2)
assertTilstand(1.vedtaksperiode, AVVENTER_VILKÅRSPRØVING, orgnummer = a1)
assertTilstand(1.vedtaksperiode, AVVENTER_BLOKKERENDE_PERIODE, orgnummer = a2)
assertTilstand(2.vedtaksperiode, AVVENTER_BLOKKERENDE_PERIODE, orgnummer = a2)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2208,15 +2208,7 @@ internal class InntektsmeldingE2ETest : AbstractEndToEndTest() {

val refusjonsopplysninger = inspektør.arbeidsgiver.refusjonsopplysninger(5.februar)

assertForventetFeil(
forklaring = "Skal lagre på første fraværsdag utledet av vedtaksperioden",
= {
assertTrue(refusjonsopplysninger.erTom)
},
ønsket = {
assertFalse(refusjonsopplysninger.erTom)
}
)
assertFalse(refusjonsopplysninger.erTom)
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -733,8 +733,7 @@ internal class OverstyrArbeidsgiveropplysningerTest : AbstractEndToEndTest() {
assertIngenVarsler()

assertEquals(listOf(
Refusjonsopplysning(inntektsmeldingId, 5.februar, 6.februar, INNTEKT),
Refusjonsopplysning(inntektsmeldingId, 7.februar, null, INNTEKT),
Refusjonsopplysning(inntektsmeldingId, 5.februar, null, INNTEKT),
), inspektør.refusjonsopplysningerISykepengegrunnlaget(5.februar, a1))

val overstyringId = UUID.randomUUID()
Expand Down

0 comments on commit 771b254

Please sign in to comment.