Skip to content

Commit 9350e0e

Browse files
authored
Merge pull request #838 from navikt/søknader-uten-behandling-i-behandlingsoversikt
søknader uten behandling i behandlingsoversikt
2 parents b543dd5 + ba2c785 commit 9350e0e

File tree

7 files changed

+61
-1
lines changed

7 files changed

+61
-1
lines changed

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/repository/benk/BenkOversiktPostgresRepo.kt

+2
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ class BenkOversiktPostgresRepo(
7878
saksbehandler = saksbehandler,
7979
beslutter = beslutter,
8080
sakId = row.stringOrNull("sak_id")?.let { SakId.fromString(it) },
81+
opprettet = row.localDateTime("opprettet"),
8182
)
8283
}.asList,
8384
)
@@ -116,6 +117,7 @@ class BenkOversiktPostgresRepo(
116117
saksbehandler = null,
117118
beslutter = null,
118119
sakId = row.stringOrNull("sak_id")?.let { SakId.fromString(it) },
120+
opprettet = opprettet,
119121
)
120122
}.asList,
121123
)

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/routes/sak/SakDTO.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ fun Sak.toDTO() = SakDTO(
2222
saksnummer = saksnummer.verdi,
2323
sakId = id.toString(),
2424
fnr = fnr.verdi,
25-
behandlingsoversikt = behandlinger.toSaksoversiktDTO(),
25+
behandlingsoversikt = behandlinger.toSaksoversiktDTO() +
26+
this.soknader.filter { soknad -> behandlinger.none { it.søknad?.id == soknad.id } }
27+
.toSaksoversiktDTO().sortedBy { it.opprettet },
2628
meldeperiodeKjeder = toMeldeperiodeKjederDTO(),
2729
førsteLovligeStansdato = førsteLovligeStansdato(),
2830
sisteDagSomGirRett = sisteDagSomGirRett,

app/src/main/kotlin/no/nav/tiltakspenger/vedtak/routes/sak/SaksoversiktDTO.kt

+23
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package no.nav.tiltakspenger.vedtak.routes.sak
33
import no.nav.tiltakspenger.libs.periodisering.PeriodeDTO
44
import no.nav.tiltakspenger.libs.periodisering.toDTO
55
import no.nav.tiltakspenger.saksbehandling.domene.behandling.Behandling
6+
import no.nav.tiltakspenger.saksbehandling.domene.behandling.Søknad
67
import no.nav.tiltakspenger.saksbehandling.domene.benk.BehandlingEllerSøknadForSaksoversikt
78
import no.nav.tiltakspenger.saksbehandling.domene.benk.Saksoversikt
89
import no.nav.tiltakspenger.saksbehandling.domene.benk.toBenkBehandlingstype
@@ -27,6 +28,7 @@ data class SaksoversiktDTO(
2728
val sakId: String?,
2829
val saksbehandler: String?,
2930
val beslutter: String?,
31+
val opprettet: String,
3032
)
3133

3234
internal fun Saksoversikt.toDTO(): List<SaksoversiktDTO> = this.map { it.toSaksoversiktDTO() }
@@ -47,11 +49,16 @@ fun BehandlingEllerSøknadForSaksoversikt.toSaksoversiktDTO() = SaksoversiktDTO(
4749
saksbehandler = saksbehandler,
4850
beslutter = beslutter,
4951
sakId = sakId.toString(),
52+
opprettet = this.opprettet.toString(),
5053
)
5154

5255
fun List<Behandling>.toSaksoversiktDTO(): List<SaksoversiktDTO> =
5356
this.map { it.toSaksoversiktDTO() }
5457

58+
@JvmName("toSaksoversiktDTOForSøknad")
59+
fun List<Søknad>.toSaksoversiktDTO(): List<SaksoversiktDTO> =
60+
this.map { it.toSaksoversiktDTO() }
61+
5562
fun Behandling.toSaksoversiktDTO() = SaksoversiktDTO(
5663
periode = virkningsperiode?.toDTO(),
5764
status = status.toDTO().toString(),
@@ -64,4 +71,20 @@ fun Behandling.toSaksoversiktDTO() = SaksoversiktDTO(
6471
sakId = sakId.toString(),
6572
saksbehandler = saksbehandler,
6673
beslutter = beslutter,
74+
opprettet = this.opprettet.toString(),
75+
)
76+
77+
fun Søknad.toSaksoversiktDTO() = SaksoversiktDTO(
78+
periode = null,
79+
status = "SØKNAD",
80+
kravtidspunkt = null,
81+
underkjent = null,
82+
typeBehandling = BehandlingstypeDTO.SØKNAD,
83+
fnr = fnr.verdi,
84+
id = this.id.toString(),
85+
saksnummer = this.saksnummer.toString(),
86+
sakId = this.sakId.toString(),
87+
saksbehandler = null,
88+
beslutter = null,
89+
opprettet = this.opprettet.toString(),
6790
)

app/src/test/kotlin/no/nav/tiltakspenger/vedtak/repository/benk/BenkOversiktPostgresRepoTest.kt

+4
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class BenkOversiktPostgresRepoTest {
4545
underkjent = false,
4646
kravtidspunkt = LocalDateTime.from(1.januarDateTime(2022)),
4747
id = søknad1.id,
48+
opprettet = søknad1.opprettet,
4849
),
4950
BehandlingEllerSøknadForSaksoversikt(
5051
periode = null,
@@ -58,6 +59,7 @@ class BenkOversiktPostgresRepoTest {
5859
underkjent = false,
5960
kravtidspunkt = LocalDateTime.from(1.januarDateTime(2022)),
6061
id = førstegangsBehandlingSak.førstegangsbehandling!!.id,
62+
opprettet = førstegangsBehandlingSak.førstegangsbehandling!!.opprettet,
6163
),
6264
BehandlingEllerSøknadForSaksoversikt(
6365
periode = null,
@@ -71,6 +73,7 @@ class BenkOversiktPostgresRepoTest {
7173
underkjent = false,
7274
kravtidspunkt = null,
7375
id = revurderingSak.revurderinger.first().id,
76+
opprettet = revurderingSak.revurderinger.first().opprettet,
7477
),
7578
),
7679
)
@@ -103,6 +106,7 @@ class BenkOversiktPostgresRepoTest {
103106
underkjent = false,
104107
kravtidspunkt = LocalDateTime.from(1.januarDateTime(2022)),
105108
id = sak.førstegangsbehandling!!.id,
109+
opprettet = sak.førstegangsbehandling!!.opprettet,
106110
),
107111
),
108112
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package no.nav.tiltakspenger.vedtak.routes.sak
2+
3+
import io.kotest.matchers.shouldBe
4+
import no.nav.tiltakspenger.objectmothers.ObjectMother
5+
import no.nav.tiltakspenger.vedtak.routes.behandling.dto.BehandlingstypeDTO
6+
import org.junit.jupiter.api.Test
7+
8+
class SakDtoTest {
9+
10+
@Test
11+
fun `behandlingsoversikt inneholder behandlinger, og søknader uten behandling`() {
12+
val sak = ObjectMother.sakMedOpprettetBehandling()
13+
val nySøknad = ObjectMother.nySøknad()
14+
// TODO - burde muligens ha en sak.nySøknad()
15+
val sakMedSøknadOgBehandling = sak.copy(soknader = sak.soknader + nySøknad)
16+
17+
val actual = sakMedSøknadOgBehandling.toDTO()
18+
actual.behandlingsoversikt.size shouldBe 2
19+
actual.behandlingsoversikt.first().let {
20+
it.typeBehandling shouldBe BehandlingstypeDTO.FØRSTEGANGSBEHANDLING
21+
}
22+
actual.behandlingsoversikt.last().let {
23+
it.typeBehandling shouldBe BehandlingstypeDTO.SØKNAD
24+
}
25+
}
26+
}

domene/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/domene/benk/Saksoversikt.kt

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ data class BehandlingEllerSøknadForSaksoversikt(
3535
val saksbehandler: String?,
3636
val beslutter: String?,
3737
val sakId: SakId?,
38+
val opprettet: LocalDateTime,
3839
) {
3940
sealed interface Status {
4041
data object Søknad : Status

test-common/src/main/kotlin/no/nav/tiltakspenger/fakes/repos/SaksoversiktFakeRepo.kt

+2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class SaksoversiktFakeRepo(
2828
saksbehandler = behandling.saksbehandler,
2929
beslutter = behandling.beslutter,
3030
sakId = behandling.sakId,
31+
opprettet = behandling.opprettet,
3132
)
3233
}
3334
}
@@ -47,6 +48,7 @@ class SaksoversiktFakeRepo(
4748
saksbehandler = null,
4849
beslutter = null,
4950
sakId = null,
51+
opprettet = søknad.opprettet,
5052
)
5153
}
5254
}

0 commit comments

Comments
 (0)