From eb461e88daec4899097014c07a8a5fa231f090d2 Mon Sep 17 00:00:00 2001 From: charliemidtlyng Date: Mon, 8 Jan 2024 14:32:30 +0100 Subject: [PATCH] =?UTF-8?q?Skal=20filtrere=20vekk=20alle=20med=20total=20s?= =?UTF-8?q?amordning=20og=20de=20som=20evt=20er=20manuelt=20vurdert=20av?= =?UTF-8?q?=20saksbehandler=20og=20henlagt=20pga=20diverse=20=C3=A5rsaker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinnBehandlingerMedGammelGTask.kt | 26 ++++++++++++++----- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/FinnBehandlingerMedGammelGTask.kt b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/FinnBehandlingerMedGammelGTask.kt index fd7949a897..a75f025d43 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/FinnBehandlingerMedGammelGTask.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/FinnBehandlingerMedGammelGTask.kt @@ -9,6 +9,8 @@ import no.nav.familie.prosessering.TaskStepBeskrivelse import no.nav.familie.prosessering.domene.Task import org.slf4j.LoggerFactory import org.springframework.stereotype.Service +import java.time.LocalDate +import java.util.UUID @Service @TaskStepBeskrivelse( @@ -22,6 +24,7 @@ class FinnBehandlingerMedGammelGTask( private val logger = LoggerFactory.getLogger(javaClass) + private val uaktuelleBehandlinger = listOf("4d4de67b-f87b-4b6b-8524-aa92b3ebb870") override fun doTask(task: Task) { logger.info("Starter jobb som finner behandlinger som ikke har blitt g-omregnet") val gjeldendeGrunnbeløpFraOgMedDato = Grunnbeløpsperioder.nyesteGrunnbeløp.periode.fomDato @@ -29,19 +32,28 @@ class FinnBehandlingerMedGammelGTask( gjeldendeGrunnbeløpFraOgMedDato, ) val behandlingerSomBurdeBlittGOmregnet = behandlingsIdMedUtdatertG.filter { behandlingId -> - val tilkjentYtelse = tilkjentYtelseService.hentForBehandling(behandlingId) - val harSamordningMenErIkkeRelevantForOmregning = tilkjentYtelse.andelerTilkjentYtelse - .filter { it.stønadTom >= gjeldendeGrunnbeløpFraOgMedDato } - .all { it.beløp == 0 && it.samordningsfradrag > 0 && it.inntektsreduksjon == 0 } - if (harSamordningMenErIkkeRelevantForOmregning) { - logger.info("Behandling $behandlingId har kun samordningsfradrag og er følgelig ikke g-omregnet manuelt av noen saksbehandlere") + val erIkkeRelevantForOmregning = utledOmBehandlingIkkeErRelevantForOmregning(behandlingId, gjeldendeGrunnbeløpFraOgMedDato) + when { + erIkkeRelevantForOmregning -> false + uaktuelleBehandlinger.contains(behandlingId.toString()) -> false + else -> true } - !harSamordningMenErIkkeRelevantForOmregning } behandlingerSomBurdeBlittGOmregnet.forEach { behandlingId -> logger.info("Behandling med id $behandlingId har utdatert G") } feilHvis(behandlingerSomBurdeBlittGOmregnet.isNotEmpty()) { "Ferdigstilte behandlinger med utdatert G" } } + private fun utledOmBehandlingIkkeErRelevantForOmregning(behandlingId: UUID, gjeldendeGrunnbeløpFraOgMedDato: LocalDate?): Boolean { + val tilkjentYtelse = tilkjentYtelseService.hentForBehandling(behandlingId) + val harSamordningMenErIkkeRelevantForOmregning = tilkjentYtelse.andelerTilkjentYtelse + .filter { it.stønadTom >= gjeldendeGrunnbeløpFraOgMedDato } + .all { it.beløp == 0 && it.samordningsfradrag > 0 } + if (harSamordningMenErIkkeRelevantForOmregning) { + logger.info("Behandling $behandlingId har kun samordningsfradrag og er følgelig ikke g-omregnet manuelt av noen saksbehandlere") + } + return harSamordningMenErIkkeRelevantForOmregning + } + companion object { const val TYPE = "finnBehandlingerMedGammelGTask" }