You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NAV-24387: Forvalter-endepunkt for å kunne korrigere andeler i fagsaker med avvik. (#5168)
[NAV-24387](https://favro.com/organization/98c34fb974ce445eac854de0/1844bbac3b6605eacc8f5543?card=NAV-24387)
### 💰 Hva skal gjøres, og hvorfor?
Etter en forholdsvis vellykket konsistensavstemming, hvor vi benyttet
`UtbetalingsTidslinjeService` for å finne periodene vi skulle sende til
Oppdrag, ble det besluttet at vi skulle forsøke å bruke
`UtbetalingsTidslinjeService` til å finne og korrigere andeler med
avvik.
Legger her til et forvalter-endepunkt som lar oss sende inn en liste
over fagsakId'er vi vet at har avvik, for å korrigere tilhørende andeler
i siste iverksatte behandling med feil periodeId, forrigePeriodeId eller
kildeBehandlingId.
For å sikre at endepunktet ikke kjøres ved et uhell er det lagt på en
toggle som må være på for at endepunktet skal gjøre noe i tillegg til en
`dryRun` parameter i request-objektet som default er satt til `true`,
slik at vi kan se hva resultatet av en kjøring vil bli før noe blir
persistert til db.
For alle andeler som korrigeres, lagrer vi "originalen" i en ny tabell
"PatchetAndelTilkjentYtelse" i tilfelle vi skulle ønske å finne ut
hvordan en bestemt andel så ut tidligere. Denne tabellen er tenkt at
skal slettes etterhvert. Litt avhengig av hvordan patchingen går og om
vi ser at vi vil ha behov for å benytte endepunktet flere ganger i
fremtiden.
### 🔎️ Er det noe spesielt du ønsker tilbakemelding om?
### ✅ Checklist
- [ ] Jeg har testet mine endringer i henhold til akseptansekriteriene
🕵️
- [x] Jeg har config- eller sql-endringer.
- [x] Jeg har skrevet tester.
Copy file name to clipboardExpand all lines: src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/økonomi/utbetalingsoppdrag/OppdaterTilkjentYtelseService.kt
val andelerSomSkalSlettes = andelTilkjentYtelseKorreksjoner.map { it.andelMedFeil }
61
+
val andelerSomSkalOpprettes = andelTilkjentYtelseKorreksjoner.map { it.korrigertAndel }
62
+
63
+
val andelerSomSkalSlettesGruppertPåId= andelerSomSkalSlettes.groupBy { it.id }
64
+
if (andelerSomSkalSlettesGruppertPåId.any { it.value.size >1 }) throwFeil("Den samme andelen forekommer flere ganger blant andelene som er markert for sletting. Dette betyr at det finnes en splitt i utbetalingsoppdragene oversendt til Oppdrag som ikke eksisterer i andelene.")
0 commit comments