-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Job for å prosessere klagevedtak fra KA #631
Changes from 5 commits
0678e47
e7292dd
9f6e842
7eddfff
5c9fb11
7f22297
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
alter table klagevedtak add column oppgaveid text |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
package no.nav.su.se.bakover.domain.klage | ||
|
||
import no.nav.su.se.bakover.domain.oppgave.OppgaveId | ||
import java.util.UUID | ||
|
||
/** | ||
* Representerer ett fattet klagevedtak av Kabal. | ||
*/ | ||
data class UprosessertKlagevedtak( | ||
val id: UUID, | ||
val eventId: String, | ||
val klageId: UUID, | ||
val utfall: KlagevedtakUtfall, | ||
val vedtaksbrevReferanse: String, | ||
) { | ||
fun tilProsessert(oppgaveId: OppgaveId?) = ProsessertKlagevedtak( | ||
id = id, | ||
eventId = eventId, | ||
klageId = klageId, | ||
utfall = utfall, | ||
vedtaksbrevReferanse = vedtaksbrevReferanse, | ||
oppgaveId = oppgaveId, | ||
) | ||
} | ||
|
||
data class ProsessertKlagevedtak( | ||
val id: UUID, | ||
val eventId: String, | ||
val klageId: UUID, | ||
val utfall: KlagevedtakUtfall, | ||
val vedtaksbrevReferanse: String, | ||
val oppgaveId: OppgaveId?, | ||
) | ||
|
||
enum class KlagevedtakUtfall { | ||
TRUKKET, | ||
RETUR, | ||
OPPHEVET, | ||
MEDHOLD, | ||
DELVIS_MEDHOLD, | ||
STADFESTELSE, | ||
UGUNST, | ||
AVVIST | ||
} | ||
|
||
sealed interface KanIkkeTolkeKlagevedtak { | ||
object KunneIkkeDeserialisere : KanIkkeTolkeKlagevedtak | ||
object UgyldigeVerdier : KanIkkeTolkeKlagevedtak | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,12 @@ | ||
package no.nav.su.se.bakover.domain.klage | ||
|
||
import no.nav.su.se.bakover.common.persistence.TransactionContext | ||
import java.util.UUID | ||
|
||
interface KlagevedtakRepo { | ||
fun lagre(klagevedtak: UprosessertFattetKlagevedtak) | ||
fun lagre(klagevedtak: ProsessertKlagevedtak, transactionContext: TransactionContext = defaultTransactionContext()) | ||
fun hentUbehandlaKlagevedtak(): List<UprosessertFattetKlagevedtak> | ||
fun markerSomFeil(id: UUID) | ||
fun defaultTransactionContext(): TransactionContext | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,6 +7,7 @@ import no.nav.su.se.bakover.domain.NavIdentBruker | |
import no.nav.su.se.bakover.domain.Oppgavetype | ||
import no.nav.su.se.bakover.domain.Saksnummer | ||
import no.nav.su.se.bakover.domain.journal.JournalpostId | ||
import no.nav.su.se.bakover.domain.klage.KlagevedtakUtfall | ||
import java.time.Clock | ||
import java.time.LocalDate | ||
import java.util.UUID | ||
|
@@ -125,6 +126,37 @@ sealed class OppgaveConfig { | |
override val aktivDato: LocalDate by lazy { LocalDate.now(clock) } | ||
override val fristFerdigstillelse: LocalDate by lazy { aktivDato.plusDays(30) } | ||
|
||
/** | ||
* Opprettes av en job som prosesserer vedtaken fra Klageinstans. Består av: | ||
* 1) Oppgaver som bara formidler informasjon, disse må lukkes av saksbehandler selv i gosys. | ||
* 2) Oppgaver som krever ytterliggere saksbehandling på klagen. Disse lukker systemet selv. | ||
* */ | ||
sealed class Vedtak : Klage() { | ||
abstract val utfall: KlagevedtakUtfall | ||
|
||
data class Handling( | ||
override val saksnummer: Saksnummer, | ||
override val aktørId: AktørId, | ||
override val journalpostId: JournalpostId, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Tror denne er optional fra Klageinstansen. aka. nullable There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Den står som required i deras schema. |
||
override val tilordnetRessurs: NavIdentBruker?, | ||
override val clock: Clock, | ||
override val utfall: KlagevedtakUtfall, | ||
) : Vedtak() { | ||
override val oppgavetype = Oppgavetype.BEHANDLE_SAK | ||
} | ||
|
||
data class Informasjon( | ||
override val saksnummer: Saksnummer, | ||
override val aktørId: AktørId, | ||
override val journalpostId: JournalpostId, | ||
override val tilordnetRessurs: NavIdentBruker?, | ||
override val clock: Clock, | ||
override val utfall: KlagevedtakUtfall | ||
) : Vedtak() { | ||
override val oppgavetype = Oppgavetype.VURDER_KONSEKVENS_FOR_YTELSE | ||
} | ||
} | ||
|
||
/** | ||
* Dette er saksbehandlingsoppgaven som opprettes: | ||
* 1) Når en klage opprettes | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,12 @@ | ||
package no.nav.su.se.bakover.service.klage | ||
|
||
import arrow.core.Either | ||
import no.nav.su.se.bakover.domain.klage.KanIkkeTolkeKlagevedtak | ||
import no.nav.su.se.bakover.domain.klage.UprosessertFattetKlagevedtak | ||
import no.nav.su.se.bakover.domain.klage.UprosessertKlagevedtak | ||
import java.util.UUID | ||
|
||
interface KlagevedtakService { | ||
fun lagre(klageVedtak: UprosessertFattetKlagevedtak) | ||
fun håndterUtfallFraKlageinstans(deserializeAndMap: (id: UUID, json: String) -> Either<KanIkkeTolkeKlagevedtak, UprosessertKlagevedtak>) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Da blir det också
OppgaveConfig.Klageinstans.Saksbehandler
ogOppgaveConfig.Klageinstans.Attestering
for saksbehandlings & attesteringsoppgaver for klagene som behandles. Blir det ikke rart? Klageinstansen er ikke involvert i de.Kanske kunde endre navnet fra
Vedtak
tilVedtakFraKlageinstans
eller noe istedet?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm. Hvorfor trenger vi .Attestering? Kan ikke attesteringsoppgaven heller gå inn i den vanlige flyten vår.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per nå så ser vår oppgave-config klasse såhär for Klage:
Hvis vi endrer
Klage
tilKlageinstans
så påverkas alla de tre. Men kanske jag kunne trekt utVedtak
og lagt det som en egen liksom? Är de det du tänker? 😊