From 2a89b9f211f70e2e98b1b3d7168749a2804a9d36 Mon Sep 17 00:00:00 2001 From: charliemidtlyng Date: Mon, 6 May 2024 13:20:52 +0200 Subject: [PATCH 1/6] =?UTF-8?q?Skal=20fjerne=20g-omregningskode=20som=20ik?= =?UTF-8?q?ke=20skal=20brukes.=20Vi=20kan=20ikke=20omregne=20saker=20som?= =?UTF-8?q?=20er=20satt=20p=C3=A5=20vent.=20Har=20oppdatert=20readme=20med?= =?UTF-8?q?=20tilh=C3=B8rende=20justeringer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../grunnbelop/GOmregningTaskService.kt | 14 +++------- .../grunnbelop/dok/G-omregning-README.md | 27 +++++++++---------- .../ef/sak/beregning/OmregningService.kt | 11 ++------ .../familie/ef/sak/fagsak/FagsakRepository.kt | 15 ----------- .../featuretoggle/FeatureToggleService.kt | 4 --- .../ef/sak/cucumber/steps/StepDefinitions.kt | 1 - .../ef/sak/repository/FagsakRepositoryTest.kt | 2 +- 7 files changed, 18 insertions(+), 56 deletions(-) diff --git a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/GOmregningTaskService.kt b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/GOmregningTaskService.kt index e44aac5a83..2fede21c94 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/GOmregningTaskService.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/GOmregningTaskService.kt @@ -62,15 +62,7 @@ class GOmregningTaskService( return fagsakIder.size } - private fun finnFagsakIder(): List { - val fagsakIder = when (featureToggleService.isEnabled(Toggle.G_BEREGNING_INKLUDER_SATT_PÅ_VENT)) { - false -> fagsakRepository.finnFerdigstilteFagsakerMedUtdatertGBelop( - nyesteGrunnbeløpGyldigFraOgMed.atDay(1), - ) - true -> fagsakRepository.finnFerdigstilteEllerSattPåVentFagsakerMedUtdatertGBelop( - nyesteGrunnbeløpGyldigFraOgMed.atDay(1), - ) - } - return fagsakIder - } + private fun finnFagsakIder(): List = fagsakRepository.finnFerdigstilteFagsakerMedUtdatertGBelop( + nyesteGrunnbeløpGyldigFraOgMed.atDay(1), + ) } diff --git a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md index 998ba62cbe..abb1313572 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md +++ b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md @@ -18,34 +18,31 @@ valg vi har tatt og hva vi jobber med å endre før neste g-omregning. 2. Legg inn ny G i no.nav.familie.ef.sak.beregning.Grunnbeløpsperioder 3. Nye behandlinger vil nå bruke ny G 4. Kjør gjerne en test med 1 fagsak (se ManuellGOmregningController under) før man setter på scheduler? -5. Husk å oppdatere G i iverksett (eller skriv om kode - send G fra ef-sak) -6. Se "etterarbeid under" +5. Se "etterarbeid under" G-omregning starter vanligvis med at en scheduler finner kandidater for g-omregning (sql) `no.nav.familie.ef.sak.behandling.grunnbelop.GOmregningTaskServiceScheduler` -Scheduler kjøres typisk en gang i uka og vil prøve å finne ferdigstilte fagsaker med gammel G uten samordning. -Det finnes to versjoner av denne - en som i tillegg henter saker på vent. Denne må toggle skrus på. +Scheduler kjøres typisk en gang i uka (tirsdager kl 15) og vil prøve å finne ferdigstilte fagsaker med gammel G uten samordning. -Saker som var åpne ved første g-omregning vil bli forsøkt kjørt i neste ukes batch hvis de er ferdige. +Saker som var åpne ved første g-omregning vil bli forsøkt kjørt i neste ukes batch hvis de er ferdigstilt i mellomtiden. Det finnes også en controller hvor man også kan kjøre omregning på _en_ fagsak `no.nav.familie.ef.sak.forvaltning.ManuellGOmregningController` -##### 2. Utfør gomregning (kode) -1. Vi kopier data fra forrige behandling -> ny G - behandling -2. Vi justerer inntekt [HER ER DET GJORT NOEN VALG!!!] -3. Vi beregner ytelse [HER ER DET GJORT NOEN VALG!!!] -4. Vi iverksetter uten brev -5. Vi oppretter ny task som poller status fra iverksett (vanlig flyt) - -* familie-ef-iverksett: Iverksetter mot økonomi og sender melding til ditt nav -(hvis dette ikke endres må ny G også oppdateres på iverksett) +##### 2. Hvordan utføres gomregning (kode) +1. Data kopieres fra forrige behandling -> ny G - behandling +2. Inntekten justeres ihht G [HER ER DET GJORT NOEN VALG!!!] +3. Ytelsen beregnes på nytt [HER ER DET GJORT NOEN VALG!!!] +4. Iverksetting uten brev +5. `familie-ef-iverksett`: Iverksetter mot økonomi og sender melding til Ditt NAV +6. Task som poller status fra iverksett (vanlig flyt) ### Noen valg det er fint å vite om #### Indeksjustering av inntekt. `no.nav.familie.ef.sak.beregning.BeregningKt.finnGrunnbeløpsPerioder` -Vi indeksjusterer inntekt når vi g-omregner. For hver inntektsperiode vi skal endre: +Inntekten indeksjusteres ved g-omregning. Forslag til å slutte med dette er utarbeidet (mars 2024), men ikke løst. +For hver inntektsperiode vi skal endre: 1. Vi finner omregningsfaktor 2. Vi finner total inntekt (dag + mnd + år). 3. Total inntekt rundes ned til nærmeste 1000 (finne F - forventet inntekt). *1 diff --git a/src/main/kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt b/src/main/kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt index be7ec221b2..45fa6909c2 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt @@ -11,7 +11,6 @@ import no.nav.familie.ef.sak.behandlingsflyt.steg.StegType import no.nav.familie.ef.sak.behandlingsflyt.task.PollStatusFraIverksettTask import no.nav.familie.ef.sak.infrastruktur.exception.feilHvis import no.nav.familie.ef.sak.infrastruktur.featuretoggle.FeatureToggleService -import no.nav.familie.ef.sak.infrastruktur.featuretoggle.Toggle import no.nav.familie.ef.sak.iverksett.IverksettClient import no.nav.familie.ef.sak.iverksett.IverksettingDtoMapper import no.nav.familie.ef.sak.opplysninger.personopplysninger.GrunnlagsdataService @@ -47,7 +46,6 @@ class OmregningService( private val iverksettingDtoMapper: IverksettingDtoMapper, private val søknadService: SøknadService, private val barnService: BarnService, - private val featureToggleService: FeatureToggleService, ) { private val logger = LoggerFactory.getLogger(javaClass) @@ -99,13 +97,8 @@ class OmregningService( } private fun validerBehandlingstatusForFagsak(fagsakId: UUID) { - when (featureToggleService.isEnabled(Toggle.G_BEREGNING_INKLUDER_SATT_PÅ_VENT)) { - false -> feilHvis(behandlingService.finnesÅpenBehandling(fagsakId)) { - "Kan ikke omregne, det finnes åpen behandling på fagsak: $fagsakId" - } - true -> feilHvis(behandlingService.finnesBehandlingSomIkkeErFerdigstiltEllerSattPåVent(fagsakId)) { - "Kan ikke omregne, det finnes åpen behandling på fagsak: $fagsakId" - } + feilHvis(behandlingService.finnesÅpenBehandling(fagsakId)) { + "Kan ikke omregne, det finnes åpen behandling på fagsak: $fagsakId" } } diff --git a/src/main/kotlin/no/nav/familie/ef/sak/fagsak/FagsakRepository.kt b/src/main/kotlin/no/nav/familie/ef/sak/fagsak/FagsakRepository.kt index 45e818eeb1..ded50dcfa3 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/fagsak/FagsakRepository.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/fagsak/FagsakRepository.kt @@ -107,19 +107,4 @@ interface FagsakRepository : RepositoryInterface, InsertUpda AND b2.status <> 'FERDIGSTILT')""", ) fun finnFerdigstilteFagsakerMedUtdatertGBelop(gjeldendeGrunnbeløpFraOgMedDato: LocalDate): List - - @Query( - """SELECT DISTINCT b.fagsak_id - FROM gjeldende_iverksatte_behandlinger b - JOIN tilkjent_ytelse ty ON b.id = ty.behandling_id - AND ty.grunnbelopsdato < :gjeldendeGrunnbeløpFraOgMedDato - JOIN andel_tilkjent_ytelse aty ON aty.tilkjent_ytelse = ty.id - AND aty.samordningsfradrag = 0 - AND aty.stonad_tom > :gjeldendeGrunnbeløpFraOgMedDato - WHERE b.stonadstype = 'OVERGANGSSTØNAD' - AND b.fagsak_id NOT IN (SELECT b2.fagsak_id FROM behandling b2 - WHERE b2.fagsak_id = b.fagsak_id - AND b2.status not in ('FERDIGSTILT','SATT_PÅ_VENT'))""", - ) - fun finnFerdigstilteEllerSattPåVentFagsakerMedUtdatertGBelop(gjeldendeGrunnbeløpFraOgMedDato: LocalDate): List } diff --git a/src/main/kotlin/no/nav/familie/ef/sak/infrastruktur/featuretoggle/FeatureToggleService.kt b/src/main/kotlin/no/nav/familie/ef/sak/infrastruktur/featuretoggle/FeatureToggleService.kt index 3d6285eacf..5f7a968076 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/infrastruktur/featuretoggle/FeatureToggleService.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/infrastruktur/featuretoggle/FeatureToggleService.kt @@ -19,10 +19,6 @@ class FeatureToggleService(val unleashService: UnleashService) { enum class Toggle(val toggleId: String, val beskrivelse: String? = null) { // Release - G_BEREGNING_INKLUDER_SATT_PÅ_VENT( - "familie.ef.sak.inkluder-satt-pa-vent-gomregning", - "Usikker på om vi ønsker denne eller ikke. Ta en vurdering før 2024?", - ), DEAKTIVERE_MIKROFRONTEND_FOR_INAKTIVE_BRUKERE("familie.ef.sak.deaktiver-mikrofrontend-for-inaktive-brukere"), OVERSENDE_BEGRUNNELSE_FOR_TILBAKEKREVING("familie-ef-sak.begrunnelse-for-tilbakekreving", "Release"), diff --git a/src/test/kotlin/no/nav/familie/ef/sak/cucumber/steps/StepDefinitions.kt b/src/test/kotlin/no/nav/familie/ef/sak/cucumber/steps/StepDefinitions.kt index 7fa360c193..195150d260 100644 --- a/src/test/kotlin/no/nav/familie/ef/sak/cucumber/steps/StepDefinitions.kt +++ b/src/test/kotlin/no/nav/familie/ef/sak/cucumber/steps/StepDefinitions.kt @@ -175,7 +175,6 @@ class StepDefinitions { iverksettingDtoMapper = iverksettingDtoMapper, søknadService = søknadService, barnService = barnServiceMock, - featureToggleService, ) init { diff --git a/src/test/kotlin/no/nav/familie/ef/sak/repository/FagsakRepositoryTest.kt b/src/test/kotlin/no/nav/familie/ef/sak/repository/FagsakRepositoryTest.kt index 84c0325d3a..f97b0aef77 100644 --- a/src/test/kotlin/no/nav/familie/ef/sak/repository/FagsakRepositoryTest.kt +++ b/src/test/kotlin/no/nav/familie/ef/sak/repository/FagsakRepositoryTest.kt @@ -70,7 +70,7 @@ internal class FagsakRepositoryTest : OppslagSpringRunnerTest() { ), ) tilkjentYtelseRepository.insert(tilkjentYtelse(behandlingFerdig.id, fagsak.personIdenter.first().ident, 2022)) - assertThat(fagsakRepository.finnFerdigstilteEllerSattPåVentFagsakerMedUtdatertGBelop(LocalDate.of(2022, 5, 1)).size).isEqualTo(1) + assertThat(fagsakRepository.finnFerdigstilteFagsakerMedUtdatertGBelop(LocalDate.of(2022, 5, 1)).size).isEqualTo(0) } @Test From 068f627cb6a68469821627dbd1cde86f214ed9a2 Mon Sep 17 00:00:00 2001 From: charliemidtlyng Date: Mon, 6 May 2024 13:49:03 +0200 Subject: [PATCH 2/6] ktlint --- .../kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt b/src/main/kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt index 45fa6909c2..039afe3124 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt +++ b/src/main/kotlin/no/nav/familie/ef/sak/beregning/OmregningService.kt @@ -10,7 +10,6 @@ import no.nav.familie.ef.sak.behandlingsflyt.steg.BeregnYtelseSteg import no.nav.familie.ef.sak.behandlingsflyt.steg.StegType import no.nav.familie.ef.sak.behandlingsflyt.task.PollStatusFraIverksettTask import no.nav.familie.ef.sak.infrastruktur.exception.feilHvis -import no.nav.familie.ef.sak.infrastruktur.featuretoggle.FeatureToggleService import no.nav.familie.ef.sak.iverksett.IverksettClient import no.nav.familie.ef.sak.iverksett.IverksettingDtoMapper import no.nav.familie.ef.sak.opplysninger.personopplysninger.GrunnlagsdataService From 435403edcb1ac7aafdeb04f84d097c59e56502cc Mon Sep 17 00:00:00 2001 From: charliemidtlyng Date: Mon, 6 May 2024 14:00:09 +0200 Subject: [PATCH 3/6] =?UTF-8?q?Oppdatere=20sjekkliste=20ihht=20n=C3=A5v?= =?UTF-8?q?=C3=A6rende=20taskkj=C3=B8ringer=20som=20hjelper=20oss=20=C3=A5?= =?UTF-8?q?=20passe=20p=C3=A5=20g-omregning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../behandling/grunnbelop/dok/G-omregning-README.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md index abb1313572..83a06a2a30 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md +++ b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md @@ -77,25 +77,18 @@ Valideringen utføres når et vedtak besluttes. Lengden på overgangsperioden be #### Etterarbeid/sjekkliste: -* Gå igjennom de med samordningsfradrag - disse må g-reguleres manuelt +* `FinnBehandlingerMedGammelGTask` vil rapportere de som må håndteres manuelt (samordningsfradrag) den 1. i hver måned. De i denne listen som har samordning eller sanksjon skal overleveres til coachene. * Gå igjennom de med sanksjon - disse må revurderes manuelt (NB! ikke mulig å g-omregne mai-løpende, juni-sanksjon, juli-løpende). Denne vil kaste feil. -* Gå igjennom de som er satt på vent? Vurdere om disse skal kjøres maskinelt? - * Sjekk om det ligger noen som IKKE er g-omregnet. Typisk 0-utbetaling i juni og utover - de som er tagget med 2022 etter g-omregningsdag -* Sjekk om det det er innvilget vedtak (revurdering) med fom > mai2023 OG har 2022-verdi for mai/juni+++ som ikke ble omregnet automatisk og nytt vedtak fattet - som starter ETTER mai. -Spennende sql her / Lag kotlinkode som henter ut alle behandlinger som har 2023-tag, MEN ikke har noen g-omregningsbehandling for 2023. Gjør tørr-beregning (ikke "g-beregning" for disse fra mai 2023 og se om det blir diff i ATY) - -* Fallgruver: Behandlinger med samordningsfradrag blir ikke plukket opp - her må vi sjekke litt "jevnt og trutt" (!). Det vil bli laget en egen task som sjekker om det finnes behandlinger som ikke har blitt g-omregnet enda, før g-omregning 2024. - * Oppdater veiviser med barnetilsyn 6G (vilkår for å kunne motta = inntekt under 6G) * Oppdater veiviser med inntekt som tipper OS over i 0-beløp (2023 - ) * Sjekk om det er riktig G brukt på nav.no? -* Kanskje sjekke om noen har fått avslag på førstegangsbehandling i mai på "BT" med begrunnelse over 6 gamle G +* Kanskje sjekke om noen har fått avslag på førstegangsbehandling i mai på "BT" med begrunnelse over 6 gamle G? From b96d83e893c5a41f7b2452014443801754dd33c6 Mon Sep 17 00:00:00 2001 From: charliemidtlyng Date: Mon, 6 May 2024 14:26:07 +0200 Subject: [PATCH 4/6] =?UTF-8?q?Endret=20test=20etter=20=C3=A5=20ha=20fjern?= =?UTF-8?q?et=20featuretoggle=20for=20=C3=A5=20gomregne=20behandlinger=20p?= =?UTF-8?q?=C3=A5=20vent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ef/sak/beregning/OmregningServiceTest.kt | 24 ++++++------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/src/test/kotlin/no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt b/src/test/kotlin/no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt index 666f40875c..8faefd3b9e 100644 --- a/src/test/kotlin/no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt +++ b/src/test/kotlin/no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt @@ -69,6 +69,8 @@ import java.time.LocalDate import java.time.LocalDateTime import java.time.YearMonth import java.util.UUID +import no.nav.familie.ef.sak.infrastruktur.exception.Feil +import org.junit.jupiter.api.assertThrows internal class OmregningServiceTest : OppslagSpringRunnerTest() { @@ -158,7 +160,7 @@ internal class OmregningServiceTest : OppslagSpringRunnerTest() { } @Test - fun `Verifiser riktig beløp og inntektsjustering hvis finnes behandling på vent`() { + fun `Verifiser stans av gomregning dersom behandlingen er på vent`() { val inntektPeriode = lagInntekt(201, 2002, 200003, 2022) lagSøknadOgVilkårOgVedtak(behandlingId, fagsakId, inntektPeriode, stønadsår = 2022) @@ -179,24 +181,12 @@ internal class OmregningServiceTest : OppslagSpringRunnerTest() { assertThat(inntektPeriode.totalinntekt().toInt()).isEqualTo(276287) mockTestMedGrunnbeløpFra2022 { - omregningService.utførGOmregning(fagsakId) - - verify { iverksettClient.iverksettUtenBrev(capture(iverksettDtoSlot)) } - val iverksettDto = iverksettDtoSlot.captured - - assertThat(iverksettDto.vedtak.tilkjentYtelse?.andelerTilkjentYtelse?.size).isEqualTo(2) // skal være splittet - // Sjekk andel etter ny g omregningsdato - val andelTilkjentYtelseOmregnet = finnAndelEtterNyGDato(iverksettDto)!! - assertThat(andelTilkjentYtelseOmregnet.inntekt).isEqualTo(289100) // justert med F - assertThat(andelTilkjentYtelseOmregnet.beløp).isEqualTo(12151) // Justert med F + val feil = assertThrows { + omregningService.utførGOmregning(fagsakId) + } - // Sjekk inntektsperiode etter ny G omregning - val inntektsperiodeEtterGomregning = finnInntektsperiodeEtterNyGDato(iverksettDto.behandling.behandlingId, 2022) + assertThat(feil.message).contains("det finnes åpen behandling på fagsak") - assertThat(inntektsperiodeEtterGomregning.dagsats?.toInt()).isEqualTo(0) - assertThat(inntektsperiodeEtterGomregning.månedsinntekt?.toInt()).isEqualTo(0) - assertThat(inntektsperiodeEtterGomregning.inntekt.toInt()).isEqualTo(289100) - assertThat(inntektsperiodeEtterGomregning.totalinntekt().toInt()).isEqualTo(289100) } } From 3a0ddb1001047596b299a253587997d7b94155b4 Mon Sep 17 00:00:00 2001 From: charliemidtlyng Date: Mon, 6 May 2024 14:33:17 +0200 Subject: [PATCH 5/6] Ktlint --- .../no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/test/kotlin/no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt b/src/test/kotlin/no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt index 8faefd3b9e..609c52784c 100644 --- a/src/test/kotlin/no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt +++ b/src/test/kotlin/no/nav/familie/ef/sak/beregning/OmregningServiceTest.kt @@ -20,6 +20,7 @@ import no.nav.familie.ef.sak.fagsak.domain.PersonIdent import no.nav.familie.ef.sak.felles.util.BrukerContextUtil import no.nav.familie.ef.sak.infrastruktur.config.ObjectMapperProvider import no.nav.familie.ef.sak.infrastruktur.config.RolleConfig +import no.nav.familie.ef.sak.infrastruktur.exception.Feil import no.nav.familie.ef.sak.iverksett.IverksettClient import no.nav.familie.ef.sak.no.nav.familie.ef.sak.vilkår.VilkårTestUtil import no.nav.familie.ef.sak.opplysninger.personopplysninger.GrunnlagsdataService @@ -63,14 +64,13 @@ import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows import org.springframework.beans.factory.annotation.Autowired import java.math.BigDecimal import java.time.LocalDate import java.time.LocalDateTime import java.time.YearMonth import java.util.UUID -import no.nav.familie.ef.sak.infrastruktur.exception.Feil -import org.junit.jupiter.api.assertThrows internal class OmregningServiceTest : OppslagSpringRunnerTest() { @@ -186,7 +186,6 @@ internal class OmregningServiceTest : OppslagSpringRunnerTest() { } assertThat(feil.message).contains("det finnes åpen behandling på fagsak") - } } From d0c8b9e5e0410f87b40c6feb6494d4b3566824b8 Mon Sep 17 00:00:00 2001 From: charliemidtlyng Date: Mon, 6 May 2024 15:27:13 +0200 Subject: [PATCH 6/6] =?UTF-8?q?Presisere=20detaljer=20i=20hva=20VI=20som?= =?UTF-8?q?=20utviklere=20m=C3=A5=20gj=C3=B8re=20i=20G-omregningsprosessen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../grunnbelop/dok/G-omregning-README.md | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md index 83a06a2a30..b06a105cf0 100644 --- a/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md +++ b/src/main/kotlin/no/nav/familie/ef/sak/behandling/grunnbelop/dok/G-omregning-README.md @@ -5,20 +5,14 @@ Noen av kommentarene i dette dokumentet går litt ut over implementering av kode Viktig med forklaring på hvordan og hvorfor koden har blitt som den har blitt, hvilke valg vi har tatt og hva vi jobber med å endre før neste g-omregning. +## Årlig arbeid - -### Teknisk - flyt og valg - -#### Flyt: - -##### 1. Start - scheduler + sql - -**Når G er vedtatt:** +**Når G er vedtatt (mai/juni):** 1. Vurder om vi skal skru av scheduler (se under) 2. Legg inn ny G i no.nav.familie.ef.sak.beregning.Grunnbeløpsperioder 3. Nye behandlinger vil nå bruke ny G 4. Kjør gjerne en test med 1 fagsak (se ManuellGOmregningController under) før man setter på scheduler? -5. Se "etterarbeid under" +5. Se ["etterarbeid under"](#etterarbeid) G-omregning starter vanligvis med at en scheduler finner kandidater for g-omregning (sql) `no.nav.familie.ef.sak.behandling.grunnbelop.GOmregningTaskServiceScheduler` @@ -30,7 +24,10 @@ Saker som var åpne ved første g-omregning vil bli forsøkt kjørt i neste ukes Det finnes også en controller hvor man også kan kjøre omregning på _en_ fagsak `no.nav.familie.ef.sak.forvaltning.ManuellGOmregningController` -##### 2. Hvordan utføres gomregning (kode) + +### Teknisk - flyt og valg + +##### Hvordan utføres g-omregning (kode) 1. Data kopieres fra forrige behandling -> ny G - behandling 2. Inntekten justeres ihht G [HER ER DET GJORT NOEN VALG!!!] 3. Ytelsen beregnes på nytt [HER ER DET GJORT NOEN VALG!!!] @@ -75,14 +72,14 @@ igjen mai for regulering senere. For at åpne behandlinger, f.eks. en behandling Valideringen utføres når et vedtak besluttes. Lengden på overgangsperioden bestemmes utifra `fristGOmregning` som vi har hardkodet til 1. juni. Det betyr at hvis koden oppdateres med ny G 20. mai, vil man i perioden 20.mai - 1. juni få lov til å iverksette både med nyeste og nest nyeste G. `fristGOmregning` kan justeres utifra hvor strenge vi ønsker å være. -#### Etterarbeid/sjekkliste: - -* `FinnBehandlingerMedGammelGTask` vil rapportere de som må håndteres manuelt (samordningsfradrag) den 1. i hver måned. De i denne listen som har samordning eller sanksjon skal overleveres til coachene. +### Etterarbeid: +Når G-omregningen er ferdigkjørt er det viktig å gå igjennom denne listen for å passe på at alle rutinene er fulgt og oppdatert. -* Gå igjennom de med sanksjon - disse må revurderes manuelt -(NB! ikke mulig å g-omregne mai-løpende, juni-sanksjon, juli-løpende). Denne vil kaste feil. +* `FinnBehandlingerMedGammelGTask` vil rapportere de som må håndteres manuelt (samordningsfradrag) den 1. i hver måned. + * De i denne listen som har samordning skal overleveres til coachene. + * Hvis G-omregning skjer etter 1. juni: Rekjør denne tasken når G-omregningen er ferdigkjørt -* Sjekk om det ligger noen som IKKE er g-omregnet. Typisk 0-utbetaling i juni og utover - de som er tagget med 2022 etter g-omregningsdag +* For de tilfellene med sanksjonsperioder vil G-omregningstasken feile. Denne må manuelt G-omregnes av coachene og tasken kan avvikshåndteres * Oppdater veiviser med barnetilsyn 6G (vilkår for å kunne motta = inntekt under 6G)