Skip to content

Commit

Permalink
I stand til å finne sprø inntekter i inntektshistorikken som har blit…
Browse files Browse the repository at this point in the history
…t migrert inn fra IT

Disse må spre-subsumsjon vite om, og kræsjer av jenvlig, ønsker derfor å gjøre et uttrekk
  • Loading branch information
Simenullern committed Jan 25, 2024
1 parent 97e6784 commit 439d6e0
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,10 @@ internal class Arbeidsgiver private constructor(
}
}

internal fun List<Arbeidsgiver>.loggSprøeInntekterMigrertInnFraIT(infotrygdhistorikk: Infotrygdhistorikk) {
forEach { arbeidsgiver -> arbeidsgiver.loggSprøeInntekterMigrertInnFraIT(infotrygdhistorikk) }
}

private val List<Arbeidsgiver>.alleVedtaksperioder get() = flatMap { it.vedtaksperioder }

internal fun List<Arbeidsgiver>.håndter(overstyrSykepengegrunnlag: OverstyrSykepengegrunnlag) =
Expand Down Expand Up @@ -259,6 +263,10 @@ internal class Arbeidsgiver private constructor(
}
}

private fun loggSprøeInntekterMigrertInnFraIT(infotrygdhistorikk: Infotrygdhistorikk) {
inntektshistorikk.loggSprøeInntekterMigrertInnFraIT(infotrygdhistorikk, organisasjonsnummer)
}

private fun erSammeYrkesaktivitet(yrkesaktivitet: Yrkesaktivitet) = this.yrkesaktivitet == yrkesaktivitet

/* hvorvidt arbeidsgiver ikke inngår i sykepengegrunnlaget som er på et vilkårsgrunnlag,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ import no.nav.helse.hendelser.utbetaling.Utbetalingsgodkjenning
import no.nav.helse.person.Arbeidsgiver.Companion.avklarSykepengegrunnlag
import no.nav.helse.person.Arbeidsgiver.Companion.beregnFeriepengerForAlleArbeidsgivere
import no.nav.helse.person.Arbeidsgiver.Companion.finn
import no.nav.helse.person.Arbeidsgiver.Companion.loggSprøeInntekterMigrertInnFraIT
import no.nav.helse.person.Arbeidsgiver.Companion.forkastAuu
import no.nav.helse.person.Arbeidsgiver.Companion.førsteFraværsdager
import no.nav.helse.person.Arbeidsgiver.Companion.gjenopptaBehandling
Expand Down Expand Up @@ -400,6 +401,8 @@ class Person private constructor(
arbeidsgiver.sykefraværsfortelling(acc)
}.varsleObservers(observers)

arbeidsgivere.loggSprøeInntekterMigrertInnFraIT(infotrygdhistorikk)

håndterGjenoppta(påminnelse)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ import no.nav.helse.person.InfotrygdhistorikkVisitor
import no.nav.helse.person.Person
import no.nav.helse.person.aktivitetslogg.Aktivitet.Behov.Companion.utbetalingshistorikk
import no.nav.helse.person.aktivitetslogg.IAktivitetslogg
import no.nav.helse.person.infotrygdhistorikk.InfotrygdhistorikkElement.Companion.loggSprøeInntektMigrertInnFraIT
import no.nav.helse.sykdomstidslinje.Sykdomstidslinje
import no.nav.helse.utbetalingslinjer.Utbetaling
import no.nav.helse.utbetalingstidslinje.Arbeidsgiverperiode
import no.nav.helse.utbetalingstidslinje.ArbeidsgiverperiodeBuilder
import no.nav.helse.utbetalingstidslinje.ArbeidsgiverperiodeMediator
import no.nav.helse.utbetalingstidslinje.Arbeidsgiverperiodeteller
import no.nav.helse.utbetalingstidslinje.Utbetalingstidslinje
import no.nav.helse.økonomi.Inntekt

internal class Infotrygdhistorikk private constructor(
private val elementer: MutableList<InfotrygdhistorikkElement>
Expand Down Expand Up @@ -153,4 +155,13 @@ internal class Infotrygdhistorikk private constructor(
if (!harHistorikk()) return true
return siste.ingenUtbetalingerMellom(organisasjonsnummer, periode)
}

fun loggSprøeInntektMigrertInnFraIT(
dato: LocalDate,
beløp: Inntekt,
hendelseId: UUID,
organisasjonsnummer: String
) {
elementer.loggSprøeInntektMigrertInnFraIT(dato, beløp, hendelseId, organisasjonsnummer)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,17 @@ import no.nav.helse.person.aktivitetslogg.IAktivitetslogg
import no.nav.helse.person.aktivitetslogg.Varselkode.RV_IT_14
import no.nav.helse.person.infotrygdhistorikk.Infotrygdperiode.Companion.harBetaltRettFør
import no.nav.helse.person.infotrygdhistorikk.Infotrygdperiode.Companion.utbetalingsperioder
import no.nav.helse.person.infotrygdhistorikk.Inntektsopplysning.Companion.loggSprøeInntektMigrertInnFraIT
import no.nav.helse.sykdomstidslinje.Dag.Companion.replace
import no.nav.helse.sykdomstidslinje.Dag.Companion.sammenhengendeSykdom
import no.nav.helse.sykdomstidslinje.SykdomshistorikkHendelse
import no.nav.helse.sykdomstidslinje.Sykdomstidslinje
import no.nav.helse.sykdomstidslinje.SykdomstidslinjeHendelse
import no.nav.helse.utbetalingslinjer.Utbetaling
import no.nav.helse.utbetalingstidslinje.Arbeidsgiverperiode
import no.nav.helse.utbetalingstidslinje.Arbeidsgiverperiodeteller
import no.nav.helse.utbetalingstidslinje.Infotrygddekoratør
import no.nav.helse.utbetalingstidslinje.Utbetalingstidslinje
import no.nav.helse.økonomi.Inntekt

class InfotrygdhistorikkElement private constructor(
private val id: UUID,
Expand Down Expand Up @@ -74,6 +75,17 @@ class InfotrygdhistorikkElement private constructor(
arbeidskategorikoder = arbeidskategorikoder,
oppdatert = oppdatert
)

internal fun List<InfotrygdhistorikkElement>.loggSprøeInntektMigrertInnFraIT(
dato: LocalDate,
beløp: Inntekt,
hendelseId: UUID,
organisasjonsnummer: String
) {
forEach { element ->
element.inntekter.loggSprøeInntektMigrertInnFraIT(dato, beløp, hendelseId, organisasjonsnummer)
}
}
}

internal fun build(organisasjonsnummer: String, sykdomstidslinje: Sykdomstidslinje, teller: Arbeidsgiverperiodeteller, builder: SykdomstidslinjeVisitor) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@ package no.nav.helse.person.infotrygdhistorikk

import java.time.LocalDate
import java.time.LocalDateTime
import java.util.UUID
import net.logstash.logback.argument.StructuredArguments
import no.nav.helse.person.InfotrygdhistorikkVisitor
import no.nav.helse.serde.migration.V238KobleSaksbehandlerinntekterTilDenOverstyrte
import no.nav.helse.økonomi.Inntekt
import org.slf4j.LoggerFactory

class Inntektsopplysning private constructor(
private val orgnummer: String,
Expand Down Expand Up @@ -34,6 +38,26 @@ class Inntektsopplysning private constructor(
}

internal companion object {

private val sikkerlogg = LoggerFactory.getLogger("tjenestekall")

internal fun List<Inntektsopplysning>.loggSprøeInntektMigrertInnFraIT(
dato: LocalDate,
beløp: Inntekt,
hendelseId: UUID,
organisasjonsnummer: String
) {
forEach { inntektsopplysning ->
val treff = dato == inntektsopplysning.sykepengerFom && beløp == inntektsopplysning.inntekt && organisasjonsnummer == inntektsopplysning.orgnummer
if (treff) {
sikkerlogg.info("Fant inntekt med {} og {} som er migert inn i inntektshistorikken fra IT",
StructuredArguments.keyValue("hendelseId", hendelseId),
StructuredArguments.keyValue("tidsstempel", dato)
)
}
}
}

internal fun sorter(inntekter: List<Inntektsopplysning>) =
inntekter.sortedWith(compareBy({ it.sykepengerFom }, { it.hashCode() }))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package no.nav.helse.person.inntekt

import java.time.LocalDate
import no.nav.helse.person.InntekthistorikkVisitor
import no.nav.helse.person.infotrygdhistorikk.Infotrygdhistorikk
import no.nav.helse.person.inntekt.AvklarbarSykepengegrunnlag.Companion.avklarSykepengegrunnlag
import no.nav.helse.person.inntekt.Inntektsmelding.Companion.loggSprøeInntekterMigrertInnFraIT

internal class Inntektshistorikk private constructor(private val historikk: MutableList<Inntektsmelding>) {

Expand All @@ -27,4 +29,8 @@ internal class Inntektshistorikk private constructor(private val historikk: Muta

internal fun avklarSykepengegrunnlag(skjæringstidspunkt: LocalDate, førsteFraværsdag: LocalDate?, skattSykepengegrunnlag: SkattSykepengegrunnlag?): Inntektsopplysning? =
historikk.avklarSykepengegrunnlag(skjæringstidspunkt, førsteFraværsdag, skattSykepengegrunnlag)

internal fun loggSprøeInntekterMigrertInnFraIT(infotrygdhistorikk: Infotrygdhistorikk, organisasjonsnummer: String) {
historikk.loggSprøeInntekterMigrertInnFraIT(infotrygdhistorikk, organisasjonsnummer)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import no.nav.helse.person.PersonObserver
import no.nav.helse.person.PersonObserver.Inntektsopplysningstype.INNTEKTSMELDING
import no.nav.helse.person.aktivitetslogg.IAktivitetslogg
import no.nav.helse.person.aktivitetslogg.Varselkode.RV_IV_7
import no.nav.helse.person.infotrygdhistorikk.Infotrygdhistorikk
import no.nav.helse.økonomi.Inntekt

internal class Inntektsmelding(
Expand Down Expand Up @@ -118,4 +119,19 @@ internal class Inntektsmelding(
}
inntektshistorikk.leggTil(Inntektsmelding(nyDato, hendelseId, beløp, tidsstempel))
}

companion object {
internal fun List<Inntektsmelding>.loggSprøeInntekterMigrertInnFraIT(
infotrygdhistorikk: Infotrygdhistorikk,
organisasjonsnummer: String
) {
forEach { inntektsmelding ->
val kandidat =
inntektsmelding.tidsstempel.year < 2022 && inntektsmelding.tidsstempel.second == 0 && inntektsmelding.tidsstempel.nano == 0 // såpass spesifikt tidsstempl at det lukter migrering
if (kandidat) {
infotrygdhistorikk.loggSprøeInntektMigrertInnFraIT(inntektsmelding.dato, inntektsmelding.beløp, inntektsmelding.hendelseId, organisasjonsnummer)
}
}
}
}
}

0 comments on commit 439d6e0

Please sign in to comment.