Skip to content

Commit 6fff7ab

Browse files
authored
Merge pull request #1350 from navikt/insert_missing_anke
Adjusted error in existing anke i tr. Send proper info to dvh.
2 parents a2738a4 + 35098ea commit 6fff7ab

File tree

3 files changed

+175
-0
lines changed

3 files changed

+175
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package db.migration
2+
3+
import no.nav.klage.oppgave.domain.kafka.StatistikkTilDVH
4+
import no.nav.klage.oppgave.util.ourJacksonObjectMapper
5+
import org.flywaydb.core.api.migration.BaseJavaMigration
6+
import org.flywaydb.core.api.migration.Context
7+
import java.time.LocalDateTime
8+
import java.util.*
9+
10+
class V193__dvh_pesys_fix_migrated_anke_i_tr : BaseJavaMigration() {
11+
override fun migrate(context: Context) {
12+
val preparedStatement = context.connection.prepareStatement(
13+
"""
14+
update klage.kafka_event
15+
set json_payload = ?, status_id = ?
16+
where id = ?
17+
""".trimIndent()
18+
)
19+
20+
context.connection.createStatement().use { select ->
21+
select.executeQuery(
22+
"""
23+
select ke.id, ke.json_payload
24+
from klage.kafka_event ke
25+
where ke.type = 'STATS_DVH'
26+
and ke.behandling_id = 'f49cf467-7cd5-4db0-b8ad-8ce9181ce814'
27+
"""
28+
)
29+
.use { rows ->
30+
while (rows.next()) {
31+
val kafkaEventId = rows.getObject(1, UUID::class.java)
32+
val jsonPayload = rows.getString(2)
33+
34+
val statistikkTilDVH =
35+
ourJacksonObjectMapper().readValue(jsonPayload, StatistikkTilDVH::class.java)
36+
37+
val modifiedVersion = when (statistikkTilDVH.behandlingId) {
38+
"36263910" -> statistikkTilDVH.copy(behandlingId = "48270708", tekniskTid = LocalDateTime.now())
39+
else -> throw RuntimeException("Unknown behandlingId: ${statistikkTilDVH.behandlingId}")
40+
}
41+
42+
preparedStatement.setString(1, ourJacksonObjectMapper().writeValueAsString(modifiedVersion))
43+
preparedStatement.setObject(2,"IKKE_SENDT")
44+
preparedStatement.setObject(3, kafkaEventId)
45+
46+
preparedStatement.executeUpdate()
47+
}
48+
49+
}
50+
}
51+
}
52+
}
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 V194__send_sendt_til_tr_to_dvh : 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 kilde_referanse = '51465082'
47+
and dvh_referanse = '48827910'
48+
and b.type_id = '${Type.ANKE_I_TRYGDERETTEN.id}'
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, now)
106+
preparedStatement.setObject(9, null)
107+
108+
preparedStatement.executeUpdate()
109+
}
110+
111+
}
112+
}
113+
}
114+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
UPDATE klage.behandling
2+
SET dvh_referanse = '48270708'
3+
WHERE kilde_referanse = '51465082'
4+
AND dvh_referanse = '36263910';
5+
6+
UPDATE klage.behandling
7+
SET dato_mottatt_klageinstans = '2024-02-07 00:00:00.000000'
8+
WHERE kilde_referanse = '51465082'
9+
AND dvh_referanse = '48270708';

0 commit comments

Comments
 (0)