Skip to content

Commit

Permalink
Håndter statusendring på kravgrunnlag
Browse files Browse the repository at this point in the history
  • Loading branch information
hestad committed Nov 13, 2023
1 parent a2b0c2a commit 4bccf74
Show file tree
Hide file tree
Showing 49 changed files with 1,121 additions and 404 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ constructor(
val EPOCH: Tidspunkt get() = Instant.EPOCH.toTidspunkt()
val MIN: Tidspunkt get() = Instant.MIN.toTidspunkt()
fun now(clock: Clock = Clock.systemUTC()) = Tidspunkt(Instant.now(clock))
fun parse(text: String) = Tidspunkt(Instant.parse(text))
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package no.nav.su.se.bakover.database

import arrow.core.Either
import com.zaxxer.hikari.HikariConfig
import com.zaxxer.hikari.HikariDataSource
import no.nav.su.se.bakover.common.infrastructure.config.ApplicationConfig
Expand Down Expand Up @@ -62,10 +61,9 @@ import no.nav.su.se.bakover.institusjonsopphold.database.InstitusjonsoppholdHend
import no.nav.su.se.bakover.oppgave.infrastructure.OppgaveHendelsePostgresRepo
import no.nav.su.se.bakover.utenlandsopphold.infrastruture.persistence.UtenlandsoppholdPostgresRepo
import org.jetbrains.annotations.TestOnly
import tilbakekreving.domain.kravgrunnlag.Kravgrunnlag
import tilbakekreving.domain.kravgrunnlag.RåttKravgrunnlag
import tilbakekreving.infrastructure.repo.TilbakekrevingsbehandlingPostgresRepo
import tilbakekreving.infrastructure.repo.kravgrunnlag.KravgrunnlagPostgresRepo
import tilbakekreving.infrastructure.repo.kravgrunnlag.MapRåttKravgrunnlag
import java.time.Clock
import javax.sql.DataSource

Expand All @@ -76,7 +74,7 @@ data object DatabaseBuilder {
clock: Clock,
satsFactory: SatsFactoryForSupplerendeStønad,
queryParameterMappers: List<QueryParameterMapper>,
ttKravgrunnlagMapper: (RåttKravgrunnlag) -> Either<Throwable, Kravgrunnlag>,
ttKravgrunnlagMapper: MapRåttKravgrunnlag,
): DatabaseRepos {
val abstractDatasource = Postgres(databaseConfig = databaseConfig).build()

Expand Down Expand Up @@ -112,7 +110,7 @@ data object DatabaseBuilder {
clock: Clock,
satsFactory: SatsFactoryForSupplerendeStønad,
queryParameterMappers: List<QueryParameterMapper> = listOf(DomainToQueryParameterMapper),
ttKravgrunnlagMapper: (RåttKravgrunnlag) -> Either<Throwable, Kravgrunnlag>,
ttKravgrunnlagMapper: MapRåttKravgrunnlag,
): DatabaseRepos {
// I testene ønsker vi ikke noe herjing med rolle; embedded-oppsettet sørger for at vi har riktige tilganger og er ferdigmigrert her.
return buildInternal(
Expand Down Expand Up @@ -153,7 +151,7 @@ data object DatabaseBuilder {
clock: Clock,
satsFactory: SatsFactoryForSupplerendeStønad,
queryParameterMappers: List<QueryParameterMapper> = listOf(DomainToQueryParameterMapper),
ttKravgrunnlagMapper: (RåttKravgrunnlag) -> Either<Throwable, Kravgrunnlag>,
ttKravgrunnlagMapper: MapRåttKravgrunnlag,
): DatabaseRepos {
val sessionCounter = SessionCounter()
val sessionFactory = PostgresSessionFactory(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import org.slf4j.LoggerFactory
import tilbakekreving.domain.kravgrunnlag.Kravgrunnlag
import tilbakekreving.domain.kravgrunnlag.RåTilbakekrevingsvedtakForsendelse
import tilbakekreving.domain.kravgrunnlag.RåttKravgrunnlag
import tilbakekreving.infrastructure.repo.kravgrunnlag.MapRåttKravgrunnlag
import tilbakekreving.infrastructure.repo.kravgrunnlag.mapDbJsonToKravgrunnlag
import tilbakekreving.infrastructure.repo.kravgrunnlag.mapKravgrunnlagToDbJson
import java.util.UUID
Expand All @@ -40,7 +41,7 @@ import java.util.UUID
*/
internal class TilbakekrevingUnderRevurderingPostgresRepo(
private val sessionFactory: PostgresSessionFactory,
private valttKravgrunnlagMapper: (RåttKravgrunnlag) -> Either<Throwable, Kravgrunnlag>,
private valttKravgrunnlagMapper: MapRåttKravgrunnlag,
) : TilbakekrevingRepo {

private val log = LoggerFactory.getLogger(this::class.java)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ interface SakService {
fun hentSak(sakId: UUID): Either<FantIkkeSak, Sak>
fun hentSak(sakId: UUID, sessionContext: SessionContext): Either<FantIkkeSak, Sak>
fun hentSak(fnr: Fnr, type: Sakstype): Either<FantIkkeSak, Sak>
fun hentSaker(fnr: Fnr): Either<FantIkkeSak, List<Sak>>
fun hentSak(saksnummer: Saksnummer): Either<FantIkkeSak, Sak>
fun hentSaker(fnr: Fnr): Either<FantIkkeSak, List<Sak>>

fun hentSak(hendelseId: HendelseId): Either<FantIkkeSak, Sak>
fun hentGjeldendeVedtaksdata(
Expand Down
3 changes: 2 additions & 1 deletion test-common/src/main/kotlin/TilbakekrevingTestData.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import tilbakekreving.domain.TilAttesteringHendelse
import tilbakekreving.domain.TilbakekrevingsbehandlingHendelse
import tilbakekreving.domain.TilbakekrevingsbehandlingId
import tilbakekreving.domain.kravgrunnlag.Kravgrunnlag
import tilbakekreving.domain.kravgrunnlag.Kravgrunnlagstatus
import tilbakekreving.domain.vurdert.Månedsvurdering
import tilbakekreving.domain.vurdert.Vurdering
import tilbakekreving.domain.vurdert.Vurderinger
Expand All @@ -43,7 +44,7 @@ fun genererKravgrunnlagFraSimulering(
eksternVedtakId: String = "654321",
behandler: String = "K231B433",
eksternTidspunkt: Tidspunkt = Tidspunkt.now(clock),
status: Kravgrunnlag.KravgrunnlagStatus = Kravgrunnlag.KravgrunnlagStatus.Nytt,
status: Kravgrunnlagstatus = Kravgrunnlagstatus.Nytt,
skatteprosent: BigDecimal = BigDecimal("50"),
): Kravgrunnlag {
return Kravgrunnlag(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package no.nav.su.se.bakover.test.kravgrunnlag

fun kravgrunnlagStatusendringXml(
vedtakId: String = "436206",
saksnummer: String = "2463",
fnr: String = "18108619852",
status: String = "SPER",
): String {
//language=xml
return """
<?xml version="1.0" encoding="utf-8"?>
<urn:endringKravOgVedtakstatus xmlns:urn="urn:no:nav:tilbakekreving:status:v1">
<urn:kravOgVedtakstatus>
<urn:vedtakId>$vedtakId</urn:vedtakId>
<urn:kodeStatusKrav>$status</urn:kodeStatusKrav>
<urn:kodeFagomraade>SUUFORE</urn:kodeFagomraade>
<urn:fagsystemId>$saksnummer</urn:fagsystemId>
<urn:vedtakGjelderId>$fnr</urn:vedtakGjelderId>
<urn:typeGjelderId>PERSON</urn:typeGjelderId>
</urn:kravOgVedtakstatus>
</urn:endringKravOgVedtakstatus>
""".trimIndent()
}
12 changes: 6 additions & 6 deletions test-common/src/main/kotlin/kravgrunnlag/KravgrunnlagTestData.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ import no.nav.su.se.bakover.test.hendelse.jmsHendelseMetadata
import no.nav.su.se.bakover.test.saksbehandler
import no.nav.su.se.bakover.test.vedtakRevurdering
import tilbakekreving.domain.kravgrunnlag.Kravgrunnlag
import tilbakekreving.domain.kravgrunnlag.KravgrunnlagPåSakHendelse
import tilbakekreving.domain.kravgrunnlag.KravgrunnlagDetaljerPåSakHendelse
import tilbakekreving.domain.kravgrunnlag.Kravgrunnlagstatus
import tilbakekreving.domain.kravgrunnlag.RåttKravgrunnlag
import tilbakekreving.domain.kravgrunnlag.RåttKravgrunnlagHendelse
import java.math.BigDecimal
Expand Down Expand Up @@ -76,7 +77,7 @@ fun kravgrunnlag(
kravgrunnlagId: String = "123-456",
vedtakId: String = "789-101",
eksternTidspunkt: Tidspunkt = fixedTidspunkt,
status: Kravgrunnlag.KravgrunnlagStatus = Kravgrunnlag.KravgrunnlagStatus.Manuell,
status: Kravgrunnlagstatus = Kravgrunnlagstatus.Manuell,
behandler: String = saksbehandler.toString(),
utbetalingId: UUID30 = UUID30.randomUUID(),
grunnlagsperioder: Nel<Kravgrunnlag.Grunnlagsmåned> = nonEmptyListOf(
Expand Down Expand Up @@ -110,7 +111,7 @@ fun kravgrunnlagPåSakHendelse(
eksternKravgrunnlagId: String = UUID.randomUUID().toString(),
eksternVedtakId: String = UUID.randomUUID().toString(),
eksternTidspunkt: Tidspunkt = Tidspunkt.now(clock),
status: Kravgrunnlag.KravgrunnlagStatus = Kravgrunnlag.KravgrunnlagStatus.Nytt,
status: Kravgrunnlagstatus = Kravgrunnlagstatus.Nytt,
behandler: String = attestant.navIdent,
utbetalingId: UUID30 = UUID30.randomUUID(),
grunnlagsmåneder: Nel<Kravgrunnlag.Grunnlagsmåned> = nonEmptyListOf(
Expand All @@ -129,8 +130,8 @@ fun kravgrunnlagPåSakHendelse(
eksternTidspunkt = eksternTidspunkt,
),
revurderingId: UUID? = null,
): KravgrunnlagPåSakHendelse {
return KravgrunnlagPåSakHendelse(
): KravgrunnlagDetaljerPåSakHendelse {
return KravgrunnlagDetaljerPåSakHendelse(
hendelseId = hendelseId,
versjon = versjon,
sakId = sakId,
Expand Down Expand Up @@ -215,4 +216,3 @@ fun sakMedUteståendeKravgrunnlag(

val kravgrunnlagEndringXml: String by lazy { getFileSourceContent("kravgrunnlag/kravgrunnlag_endring.xml") }
val kravgrunnlagOpphørXml: String by lazy { getFileSourceContent("kravgrunnlag/kravgrunnlag_opphør.xml") }
val kravgrunnlagStatusendringXml: String by lazy { getFileSourceContent("kravgrunnlag/kravgrunnlag_statusendring.xml") }

This file was deleted.

18 changes: 8 additions & 10 deletions test-common/src/main/kotlin/persistence/TestDataHelper.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package no.nav.su.se.bakover.test.persistence

import arrow.core.Either
import arrow.core.NonEmptyList
import arrow.core.Tuple4
import arrow.core.Tuple5
Expand Down Expand Up @@ -174,13 +173,12 @@ import no.nav.su.se.bakover.test.vilkårsvurdertSøknadsbehandling
import tilbakekreving.domain.AvbruttHendelse
import tilbakekreving.domain.OpprettetTilbakekrevingsbehandlingHendelse
import tilbakekreving.domain.TilbakekrevingsbehandlingHendelser
import tilbakekreving.domain.kravgrunnlag.Kravgrunnlag
import tilbakekreving.domain.kravgrunnlag.KravgrunnlagPåSakHendelse
import tilbakekreving.domain.kravgrunnlag.KravgrunnlagDetaljerPåSakHendelse
import tilbakekreving.domain.kravgrunnlag.KravgrunnlagPåSakHendelser
import tilbakekreving.domain.kravgrunnlag.RåttKravgrunnlag
import tilbakekreving.domain.kravgrunnlag.RåttKravgrunnlagHendelse
import tilbakekreving.infrastructure.repo.TilbakekrevingsbehandlingPostgresRepo
import tilbakekreving.infrastructure.repo.kravgrunnlag.KravgrunnlagPostgresRepo
import tilbakekreving.infrastructure.repo.kravgrunnlag.MapRåttKravgrunnlag
import tilbakekreving.presentation.consumer.KravgrunnlagDtoMapper
import vilkår.personligOppmøtevilkårAvslag
import økonomi.domain.kvittering.Kvittering
Expand All @@ -196,7 +194,7 @@ class TestDataHelper(
val dbMetrics: DbMetrics = dbMetricsStub,
val clock: Clock = TikkendeKlokke(),
satsFactory: SatsFactoryForSupplerendeStønad = satsFactoryTest,
ttKravgrunnlagMapper: (RåttKravgrunnlag) -> Either<Throwable, Kravgrunnlag> = KravgrunnlagDtoMapper::toKravgrunnlag,
ttKravgrunnlagMapper: MapRåttKravgrunnlag = KravgrunnlagDtoMapper::toKravgrunnlag,
) {
val sessionFactory: PostgresSessionFactory =
PostgresSessionFactory(dataSource, dbMetrics, sessionCounterStub, listOf(DomainToQueryParameterMapper))
Expand Down Expand Up @@ -623,7 +621,7 @@ class TestDataHelper(
skalUtsetteTilbakekreving = skalUtsetteTilbakekreving,
)
},
): Tuple6<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse?, KravgrunnlagPåSakHendelse?> {
): Tuple6<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse?, KravgrunnlagDetaljerPåSakHendelse?> {
return sakOgRevurdering(sakOgVedtak).let { (sak, revurdering, utbetaling, vedtak) ->
databaseRepos.revurderingRepo.lagre(revurdering)
databaseRepos.utbetaling.opprettUtbetaling(utbetaling)
Expand Down Expand Up @@ -774,7 +772,7 @@ class TestDataHelper(
sakOgVedtak: Pair<Sak, VedtakEndringIYtelse> = persisterSøknadsbehandlingIverksattInnvilgetMedKvittertUtbetaling().let { (sak, vedtak, _) ->
sak to vedtak
},
): Tuple6<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse?, KravgrunnlagPåSakHendelse?> {
): Tuple6<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse?, KravgrunnlagDetaljerPåSakHendelse?> {
return persisterIverksattRevurdering(
sakOgVedtak = sakOgVedtak,
skalUtsetteTilbakekreving = skalUtsetteTilbakekreving,
Expand Down Expand Up @@ -1875,7 +1873,7 @@ class TestDataHelper(
* Må passe på og sette klokka fram i tid, hvis ikke vil ikke søknadsbehandlingene bli utbetalt.
*
*/
fun persisterOpprettetTilbakekrevingsbehandlingHendelse(): Tuple8<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse, KravgrunnlagPåSakHendelse, OpprettetTilbakekrevingsbehandlingHendelse, OppgaveHendelse> {
fun persisterOpprettetTilbakekrevingsbehandlingHendelse(): Tuple8<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse, KravgrunnlagDetaljerPåSakHendelse, OpprettetTilbakekrevingsbehandlingHendelse, OppgaveHendelse> {
return persisterRevurderingIverksattOpphørt(
skalUtsetteTilbakekreving = true,
).let { (sak, revurdering, utbetaling, vedtak, råttKravgrunnlagHendelse, kravgrunnlagPåSakHendelse) ->
Expand All @@ -1901,8 +1899,8 @@ class TestDataHelper(
}

fun persisterAvbruttTilbakekrevingsbehandlingHendelse(
forrigeHendelse: Tuple8<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse, KravgrunnlagPåSakHendelse, OpprettetTilbakekrevingsbehandlingHendelse, OppgaveHendelse> = persisterOpprettetTilbakekrevingsbehandlingHendelse(),
): Tuple8<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse, KravgrunnlagPåSakHendelse, AvbruttHendelse, OppgaveHendelse> {
forrigeHendelse: Tuple8<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse, KravgrunnlagDetaljerPåSakHendelse, OpprettetTilbakekrevingsbehandlingHendelse, OppgaveHendelse> = persisterOpprettetTilbakekrevingsbehandlingHendelse(),
): Tuple8<Sak, IverksattRevurdering, Utbetaling.OversendtUtbetaling.MedKvittering, VedtakEndringIYtelse, RåttKravgrunnlagHendelse, KravgrunnlagDetaljerPåSakHendelse, AvbruttHendelse, OppgaveHendelse> {
return forrigeHendelse.let { (sak, revurdering, utbetaling, vedtak, råttKravgrunnlagHendelse, kravgrunnlagPåSakHendelse, opprettetHendelse) ->
nyAvbruttTilbakekrevingsbehandlingHendelse(
forrigeHendelse = opprettetHendelse,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package tilbakekreving.application.service

import arrow.core.Either
import dokument.domain.brev.BrevService
import dokument.domain.hendelser.DokumentHendelseRepo
import no.nav.su.se.bakover.common.persistence.SessionFactory
Expand Down Expand Up @@ -29,10 +28,9 @@ import tilbakekreving.application.service.underkjenn.UnderkjennTilbakekrevingsbe
import tilbakekreving.application.service.vurder.BrevTilbakekrevingsbehandlingService
import tilbakekreving.application.service.vurder.ForhåndsvisVedtaksbrevTilbakekrevingsbehandlingService
import tilbakekreving.application.service.vurder.MånedsvurderingerTilbakekrevingsbehandlingService
import tilbakekreving.domain.kravgrunnlag.Kravgrunnlag
import tilbakekreving.domain.kravgrunnlag.KravgrunnlagRepo
import tilbakekreving.domain.kravgrunnlag.RåttKravgrunnlag
import tilbakekreving.domain.opprett.TilbakekrevingsbehandlingRepo
import tilbakekreving.infrastructure.repo.kravgrunnlag.MapRåttKravgrunnlagTilHendelse
import java.time.Clock

/**
Expand All @@ -52,7 +50,7 @@ class TilbakekrevingServices(
private val oppgaveService: OppgaveService,
private val tilbakekrevingsbehandlingRepo: TilbakekrevingsbehandlingRepo,
private val oppgaveHendelseRepo: OppgaveHendelseRepo,
private val mapRåttKravgrunnlag: (RåttKravgrunnlag) -> Either<Throwable, Kravgrunnlag>,
private val mapRåttKravgrunnlag: MapRåttKravgrunnlagTilHendelse,
private val hendelseRepo: HendelseRepo,
private val dokumentHendelseRepo: DokumentHendelseRepo,
private val brevService: BrevService,
Expand Down
Loading

0 comments on commit 4bccf74

Please sign in to comment.