Skip to content

Commit 0a613b4

Browse files
authored
Merge pull request #1323 from navikt/dvh_tr_migration
Tell DVH about anker in TR (from Pesys migration).
2 parents 6d8d61e + 18dc995 commit 0a613b4

File tree

2 files changed

+134
-20
lines changed

2 files changed

+134
-20
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
package db.migration
2+
3+
import no.nav.klage.kodeverk.Fagsystem
4+
import no.nav.klage.kodeverk.PartIdType
5+
import no.nav.klage.kodeverk.Type
6+
import no.nav.klage.kodeverk.ytelse.Ytelse
7+
import no.nav.klage.oppgave.domain.kafka.BehandlingState
8+
import no.nav.klage.oppgave.domain.kafka.EventType
9+
import no.nav.klage.oppgave.domain.kafka.StatistikkTilDVH
10+
import no.nav.klage.oppgave.domain.kafka.UtsendingStatus
11+
import no.nav.klage.oppgave.service.getDVHPart
12+
import no.nav.klage.oppgave.util.ourJacksonObjectMapper
13+
import org.flywaydb.core.api.migration.BaseJavaMigration
14+
import org.flywaydb.core.api.migration.Context
15+
import java.sql.Timestamp
16+
import java.time.LocalDateTime
17+
import java.util.*
18+
19+
class V181__dvh_tr_migrations : BaseJavaMigration() {
20+
override fun migrate(context: Context) {
21+
val preparedStatement = context.connection.prepareStatement(
22+
"""
23+
insert into klage.kafka_event (id, behandling_id, kilde, kilde_referanse, status_id, json_payload, type, created, error_message)
24+
values (?, ?, ?, ?, ?, ?, ?, ?, ?)
25+
""".trimIndent()
26+
)
27+
28+
context.connection.createStatement().use { select ->
29+
select.executeQuery(
30+
"""
31+
select b.id,
32+
b.dvh_referanse,
33+
b.sendt_til_trygderetten,
34+
b.saken_gjelder_value,
35+
b.saken_gjelder_type,
36+
b.klager_value,
37+
b.klager_type,
38+
b.dato_mottatt_klageinstans,
39+
b.tildelt_saksbehandlerident,
40+
b.tildelt_enhet,
41+
b.ytelse_id,
42+
b.sak_fagsak_id,
43+
b.kilde_referanse
44+
from klage.behandling b
45+
where b.sak_fagsystem = '${Fagsystem.PP01.id}'
46+
and b.type_id = '${Type.ANKE_I_TRYGDERETTEN.id}'
47+
and b.feilregistrering_registered is null
48+
and b.previous_saksbehandlerident is null
49+
"""
50+
)
51+
.use { rows ->
52+
val now = LocalDateTime.now()
53+
while (rows.next()) {
54+
val behandlingId = rows.getObject(1, UUID::class.java)
55+
val dvhReferanse = rows.getString(2)
56+
val sendtTilTR: Timestamp = rows.getTimestamp(3)
57+
val sakenGjelder = rows.getString(4)
58+
val sakenGjelderType = rows.getString(5)
59+
val klager = rows.getString(6)
60+
val klagerType = rows.getString(7)
61+
val mottattKlageinstans = rows.getDate(8)
62+
val saksbehandler = rows.getString(9)
63+
val tildeltEnhet = rows.getString(10)
64+
val ytelseId = rows.getString(11)
65+
val fagsakId = rows.getString(12)
66+
val kildeReferanse = rows.getString(13)
67+
68+
val eventId = UUID.randomUUID()
69+
70+
//Usually we have an Anke when creating this event, so fewer data is available now.
71+
72+
val statistikkTilDVH = StatistikkTilDVH(
73+
eventId = eventId,
74+
behandlingId = dvhReferanse,
75+
behandlingIdKabal = behandlingId.toString(),
76+
//Means enhetTildeltDato
77+
behandlingStartetKA = null,
78+
ansvarligEnhetKode = "TR0000",
79+
behandlingStatus = BehandlingState.SENDT_TIL_TR,
80+
behandlingType = Type.ANKE.name,
81+
//Means medunderskriver
82+
beslutter = null,
83+
endringstid = sendtTilTR.toLocalDateTime(),
84+
hjemmel = emptyList(),
85+
klager = getDVHPart(PartIdType.valueOf(klagerType), klager),
86+
opprinneligFagsaksystem = Fagsystem.PP01.navn,
87+
overfoertKA = mottattKlageinstans.toLocalDate(),
88+
resultat = null,
89+
sakenGjelder = getDVHPart(PartIdType.valueOf(sakenGjelderType), sakenGjelder),
90+
saksbehandler = saksbehandler,
91+
saksbehandlerEnhet = tildeltEnhet,
92+
tekniskTid = now,
93+
vedtaksdato = null,
94+
ytelseType = Ytelse.of(ytelseId).name,
95+
opprinneligFagsakId = fagsakId,
96+
)
97+
98+
preparedStatement.setObject(1, eventId)
99+
preparedStatement.setObject(2, behandlingId)
100+
preparedStatement.setString(3, Fagsystem.PP01.navn)
101+
preparedStatement.setString(4, kildeReferanse)
102+
preparedStatement.setString(5, UtsendingStatus.IKKE_SENDT.name)
103+
preparedStatement.setString(6, ourJacksonObjectMapper().writeValueAsString(statistikkTilDVH))
104+
preparedStatement.setString(7, EventType.STATS_DVH.name)
105+
preparedStatement.setObject(8, LocalDateTime.now())
106+
preparedStatement.setObject(9, null)
107+
108+
preparedStatement.executeUpdate()
109+
}
110+
111+
}
112+
}
113+
}
114+
}

src/main/kotlin/no/nav/klage/oppgave/service/StatistikkTilDVHService.kt

+20-20
Original file line numberDiff line numberDiff line change
@@ -189,11 +189,11 @@ class StatistikkTilDVHService(
189189
beslutter = behandling.medunderskriver?.saksbehandlerident,
190190
endringstid = getFunksjoneltEndringstidspunkt(behandling, behandlingState),
191191
hjemmel = behandling.registreringshjemler.map { it.toSearchableString() },
192-
klager = getPart(behandling.klager.partId.type, behandling.klager.partId.value),
192+
klager = getDVHPart(behandling.klager.partId.type, behandling.klager.partId.value),
193193
opprinneligFagsaksystem = behandling.fagsystem.navn,
194194
overfoertKA = behandling.mottattKlageinstans.toLocalDate(),
195195
resultat = getResultat(behandling),
196-
sakenGjelder = getPart(behandling.sakenGjelder.partId.type, behandling.sakenGjelder.partId.value),
196+
sakenGjelder = getDVHPart(behandling.sakenGjelder.partId.type, behandling.sakenGjelder.partId.value),
197197
saksbehandler = behandling.tildeling?.saksbehandlerident,
198198
saksbehandlerEnhet = behandling.tildeling?.enhet,
199199
tekniskTid = behandling.modified,
@@ -271,24 +271,24 @@ class StatistikkTilDVHService(
271271
}
272272
}
273273

274-
private fun getPart(type: PartIdType, value: String) =
275-
when (type) {
276-
PartIdType.PERSON -> {
277-
StatistikkTilDVH.Part(
278-
verdi = value,
279-
type = StatistikkTilDVH.PartIdType.PERSON
280-
)
281-
}
282-
283-
PartIdType.VIRKSOMHET -> {
284-
StatistikkTilDVH.Part(
285-
verdi = value,
286-
type = StatistikkTilDVH.PartIdType.VIRKSOMHET
287-
)
288-
}
289-
}
290-
291274
private fun Registreringshjemmel.toSearchableString(): String {
292275
return "${lovKilde.navn}-${spesifikasjon}"
293276
}
294-
}
277+
}
278+
279+
fun getDVHPart(type: PartIdType, value: String) =
280+
when (type) {
281+
PartIdType.PERSON -> {
282+
StatistikkTilDVH.Part(
283+
verdi = value,
284+
type = StatistikkTilDVH.PartIdType.PERSON
285+
)
286+
}
287+
288+
PartIdType.VIRKSOMHET -> {
289+
StatistikkTilDVH.Part(
290+
verdi = value,
291+
type = StatistikkTilDVH.PartIdType.VIRKSOMHET
292+
)
293+
}
294+
}

0 commit comments

Comments
 (0)