Skip to content

Commit

Permalink
Fjerne behandlingId fra Behandlingssammendrag
Browse files Browse the repository at this point in the history
  • Loading branch information
hestad committed Jan 15, 2024
1 parent 2c70916 commit 4fab869
Show file tree
Hide file tree
Showing 9 changed files with 29 additions and 72 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package no.nav.su.se.bakover.common.domain.sak
import no.nav.su.se.bakover.common.domain.Saksnummer
import no.nav.su.se.bakover.common.tid.Tidspunkt
import no.nav.su.se.bakover.common.tid.periode.Periode
import java.util.UUID

/**
* TODO - Vi burde på sikt ha en sak modul, og denne burde være der
Expand All @@ -12,7 +11,6 @@ import java.util.UUID
*/
data class Behandlingssammendrag(
val saksnummer: Saksnummer,
val behandlingsId: UUID,
val periode: Periode?,
val behandlingstype: Behandlingstype,
val behandlingStartet: Tidspunkt?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import no.nav.su.se.bakover.database.klage.KlagePostgresRepo
import no.nav.su.se.bakover.database.revurdering.RevurderingsType
import no.nav.su.se.bakover.database.søknadsbehandling.SøknadsbehandlingStatusDB
import tilbakekreving.domain.TilbakekrevingsbehandlingRepo
import java.util.UUID

internal class FerdigeBehandlingerRepo(
private val dbMetrics: DbMetrics,
Expand Down Expand Up @@ -49,7 +48,6 @@ internal class FerdigeBehandlingerRepo(
behandlinger as (
select sak.sakId,
sak.saksnummer,
b.id,
b.status as status,
'SØKNADSBEHANDLING' as type,
(select (obj->>'opprettet')::timestamptz from jsonb_array_elements(b.attestering) obj where obj->>'type' = 'Iverksatt') as iverksattOpprettet,
Expand All @@ -61,7 +59,6 @@ internal class FerdigeBehandlingerRepo(
revurderinger as (
select sak.sakId,
sak.saksnummer,
r.id,
r.revurderingstype as status,
'REVURDERING' as type,
(select (obj->>'opprettet')::timestamptz from jsonb_array_elements(r.attestering) obj where obj->>'type' = 'Iverksatt') as iverksattOpprettet,
Expand All @@ -73,7 +70,6 @@ internal class FerdigeBehandlingerRepo(
klage as (
select sak.sakId,
sak.saksnummer,
k.id,
k.type as status,
'KLAGE' as type,
(select (obj->>'opprettet')::timestamptz from jsonb_array_elements(k.attestering) obj where obj->>'type' = 'Iverksatt') as iverksattOpprettet,
Expand Down Expand Up @@ -107,7 +103,6 @@ internal class FerdigeBehandlingerRepo(

return Behandlingssammendrag(
saksnummer = Saksnummer(long("saksnummer")),
behandlingsId = UUID.fromString(string("id")),
behandlingstype = behandlingstype.toBehandlingstype(),
status = hentStatus(behandlingstype),
behandlingStartet = tidspunkt("iverksattOpprettet"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import no.nav.su.se.bakover.database.klage.KlagePostgresRepo
import no.nav.su.se.bakover.database.revurdering.RevurderingsType
import no.nav.su.se.bakover.database.søknadsbehandling.SøknadsbehandlingStatusDB
import tilbakekreving.domain.TilbakekrevingsbehandlingRepo
import java.util.UUID

internal class ÅpneBehandlingerRepo(
private val dbMetrics: DbMetrics,
Expand Down Expand Up @@ -43,19 +42,19 @@ internal class ÅpneBehandlingerRepo(
from sak
),
behandlinger as (
select sak.sakId, sak.saksnummer, b.id, b.opprettet, b.status as status, 'SØKNADSBEHANDLING' as type, (stønadsperiode ->> 'periode')::jsonb as periode
select sak.sakId, sak.saksnummer, b.opprettet, b.status as status, 'SØKNADSBEHANDLING' as type, (stønadsperiode ->> 'periode')::jsonb as periode
from sak
join behandling b on b.sakid = sak.sakId
where b.status not like ('IVERKSATT%') and b.lukket = false
),
revurderinger as (
select sak.sakId, sak.saksnummer, r.id, r.opprettet, r.revurderingstype as status, 'REVURDERING' as type, (r.periode)::jsonb as periode
select sak.sakId, sak.saksnummer, r.opprettet, r.revurderingstype as status, 'REVURDERING' as type, (r.periode)::jsonb as periode
from sak
join revurdering r on r.sakid = sak.sakId
where r.revurderingstype not like ('IVERKSATT%') and r.avsluttet is null
),
klage as (
select sak.sakId, sak.saksnummer, k.id, k.opprettet, k.type as status, 'KLAGE' as type, null::jsonb as periode
select sak.sakId, sak.saksnummer, k.opprettet, k.type as status, 'KLAGE' as type, null::jsonb as periode
from sak
join klage k on sak.sakId = k.sakid
where k.type not like ('iverksatt%') and k.type not like 'oversendt' and k.avsluttet is null
Expand All @@ -64,7 +63,6 @@ internal class ÅpneBehandlingerRepo(
select
sak.sakId,
sak.saksnummer,
s.id,
null::timestamp as opprettet,
'NY_SØKNAD' as status,
'SØKNAD' as type,
Expand Down Expand Up @@ -101,7 +99,6 @@ internal class ÅpneBehandlingerRepo(

return Behandlingssammendrag(
saksnummer = Saksnummer(long("saksnummer")),
behandlingsId = UUID.fromString(string("id")),
behandlingstype = behandlingstype.toBehandlingstype(),
status = hentÅpenBehandlingStatus(behandlingstype),
behandlingStartet = tidspunktOrNull("opprettet"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import no.nav.su.se.bakover.common.tid.periode.februar
import no.nav.su.se.bakover.common.tid.periode.år
import no.nav.su.se.bakover.domain.klage.VurdertKlage
import no.nav.su.se.bakover.domain.vedtak.VedtakInnvilgetSøknadsbehandling
import no.nav.su.se.bakover.domain.vedtak.VedtakSomKanRevurderes
import no.nav.su.se.bakover.test.persistence.TestDataHelper
import no.nav.su.se.bakover.test.persistence.withMigratedDb
import no.nav.su.se.bakover.test.shouldBeType
Expand Down Expand Up @@ -40,23 +39,20 @@ internal class FerdigeBehandlingerRepoTest {
ferdigeBehandlinger shouldContainExactlyInAnyOrder listOf(
Behandlingssammendrag(
saksnummer = Saksnummer(2021),
behandlingsId = iverksattSøknadsbehandlingInnvilget.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = iverksattSøknadsbehandlingInnvilget.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
periode = år(2021),
),
Behandlingssammendrag(
saksnummer = Saksnummer(2022),
behandlingsId = iverksattSøknadsbehadnlingAvslagMedBeregning.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = iverksattSøknadsbehadnlingAvslagMedBeregning.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.AVSLAG,
periode = år(2021),
),
Behandlingssammendrag(
saksnummer = Saksnummer(2023),
behandlingsId = iverksattSøknadsbehadnlingAvslagUtenBeregning.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = iverksattSøknadsbehadnlingAvslagUtenBeregning.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.AVSLAG,
Expand Down Expand Up @@ -88,7 +84,6 @@ internal class FerdigeBehandlingerRepoTest {
.shouldBeType<VedtakInnvilgetSøknadsbehandling>().behandling.let {
Behandlingssammendrag(
saksnummer = Saksnummer(2021),
behandlingsId = it.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = it.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
Expand All @@ -97,7 +92,6 @@ internal class FerdigeBehandlingerRepoTest {
},
Behandlingssammendrag(
saksnummer = Saksnummer(2021),
behandlingsId = iverksattRevurderingInnvilget.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.REVURDERING,
behandlingStartet = iverksattRevurderingInnvilget.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
Expand All @@ -107,7 +101,6 @@ internal class FerdigeBehandlingerRepoTest {
.shouldBeType<VedtakInnvilgetSøknadsbehandling>().behandling.let {
Behandlingssammendrag(
saksnummer = Saksnummer(2022),
behandlingsId = it.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = it.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
Expand All @@ -117,7 +110,6 @@ internal class FerdigeBehandlingerRepoTest {

Behandlingssammendrag(
saksnummer = Saksnummer(2022),
behandlingsId = iverksattRevurderingOpphørt.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.REVURDERING,
behandlingStartet = iverksattRevurderingOpphørt.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.OPPHØR,
Expand All @@ -127,7 +119,6 @@ internal class FerdigeBehandlingerRepoTest {
.shouldBeType<VedtakInnvilgetSøknadsbehandling>().behandling.let {
Behandlingssammendrag(
saksnummer = Saksnummer(2023),
behandlingsId = it.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = it.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
Expand All @@ -137,7 +128,6 @@ internal class FerdigeBehandlingerRepoTest {

Behandlingssammendrag(
saksnummer = Saksnummer(2023),
behandlingsId = iverksattStansAvYtelse.behandling.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.REVURDERING,
behandlingStartet = iverksattStansAvYtelse.behandling.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.STANS,
Expand All @@ -147,7 +137,6 @@ internal class FerdigeBehandlingerRepoTest {
.shouldBeType<VedtakInnvilgetSøknadsbehandling>().behandling.let {
Behandlingssammendrag(
saksnummer = Saksnummer(2024),
behandlingsId = it.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = it.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
Expand All @@ -156,7 +145,6 @@ internal class FerdigeBehandlingerRepoTest {
},
Behandlingssammendrag(
saksnummer = Saksnummer(2024),
behandlingsId = iverksattGjenopptak.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.REVURDERING,
behandlingStartet = iverksattGjenopptak.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.GJENOPPTAK,
Expand All @@ -166,7 +154,6 @@ internal class FerdigeBehandlingerRepoTest {
.shouldBeType<VedtakInnvilgetSøknadsbehandling>().behandling.let {
Behandlingssammendrag(
saksnummer = Saksnummer(2025),
behandlingsId = it.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = it.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
Expand Down Expand Up @@ -207,47 +194,41 @@ internal class FerdigeBehandlingerRepoTest {
ferdigeBehandlinger shouldContainExactlyInAnyOrder listOf(
Behandlingssammendrag(
saksnummer = Saksnummer(2021),
behandlingsId = vedtakSak1.behandling.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = vedtakSak1.behandling.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
periode = år(2021),
),
Behandlingssammendrag(
saksnummer = Saksnummer(2021),
behandlingsId = oversendtKlage.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.KLAGE,
behandlingStartet = oversendtKlage.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.OVERSENDT,
periode = null,
),
Behandlingssammendrag(
saksnummer = Saksnummer(2022),
behandlingsId = vedtakSak2.behandling.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = vedtakSak2.behandling.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
periode = år(2021),
),
Behandlingssammendrag(
saksnummer = Saksnummer(2022),
behandlingsId = iverksattAvvistKlage.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.KLAGE,
behandlingStartet = iverksattAvvistKlage.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.AVSLAG,
periode = null,
),
Behandlingssammendrag(
saksnummer = Saksnummer(2023),
behandlingsId = vedtakSak3.behandling.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = vedtakSak3.behandling.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
periode = år(2021),
),
Behandlingssammendrag(
saksnummer = Saksnummer(2024),
behandlingsId = vedtakSak4.behandling.id,
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = vedtakSak4.behandling.attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
Expand All @@ -265,17 +246,28 @@ internal class FerdigeBehandlingerRepoTest {

testDataHelper.persisterLukketJournalførtSøknadMedOppgave() // 2021
testDataHelper.persisterSøknadsbehandlingAvsluttet() // 2022
val revurdering = testDataHelper.persisterRevurderingAvsluttet() // 2023
val klage =
testDataHelper.persisterKlageAvsluttet().hentUnderliggendeKlage() as VurdertKlage.Bekreftet // 2024
val (revurderingSak, _) = testDataHelper.persisterRevurderingAvsluttet() // 2023
val klage = testDataHelper.persisterKlageAvsluttet().hentUnderliggendeKlage() as VurdertKlage.Bekreftet // 2024

val ferdigeBehandlinger = repo.hentFerdigeBehandlinger()
val klageSak = testDataHelper.sakRepo.hentSak(klage.sakId)!!
repo.hentFerdigeBehandlinger().sortedBy { it.saksnummer.nummer } shouldBe listOf(
Behandlingssammendrag(
saksnummer = Saksnummer(2023),
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
// Merk at det ikke er når behandlingen ble startet, men når den var iverksatt?
behandlingStartet = revurderingSak.søknadsbehandlinger.single().attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
periode = år(2021),
),
Behandlingssammendrag(
saksnummer = Saksnummer(2024),
behandlingstype = Behandlingssammendrag.Behandlingstype.SØKNADSBEHANDLING,
behandlingStartet = klageSak.søknadsbehandlinger.single().attesteringer.hentSisteAttestering().opprettet,
status = Behandlingssammendrag.Behandlingsstatus.INNVILGET,
periode = år(2021),
),

ferdigeBehandlinger.map { it.behandlingsId }
.sorted() shouldBe listOf(
(testDataHelper.vedtakRepo.hentVedtakForId(revurdering.tilRevurdering) as VedtakSomKanRevurderes).behandling.id,
testDataHelper.sakRepo.hentSak(klage.sakId)!!.søknadsbehandlinger.first().id,
).sorted()
)
}
}
}
Loading

0 comments on commit 4fab869

Please sign in to comment.