@@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper
4
4
import com.fasterxml.jackson.databind.SerializationFeature
5
5
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
6
6
import no.nav.klage.dokument.api.view.JournalfoertDokumentReference
7
+ import no.nav.klage.kodeverk.Type
7
8
import no.nav.klage.kodeverk.hjemmel.Hjemmel
8
9
import no.nav.klage.kodeverk.hjemmel.ytelseToRegistreringshjemlerV2
9
10
import no.nav.klage.oppgave.api.view.OversendtAnkeITrygderettenV1
@@ -17,10 +18,12 @@ import no.nav.klage.oppgave.domain.klage.Felt
17
18
import no.nav.klage.oppgave.repositories.AnkeITrygderettenbehandlingRepository
18
19
import no.nav.klage.oppgave.repositories.KafkaEventRepository
19
20
import no.nav.klage.oppgave.util.getLogger
21
+ import no.nav.klage.oppgave.util.ourJacksonObjectMapper
20
22
import org.springframework.beans.factory.annotation.Value
21
23
import org.springframework.context.ApplicationEventPublisher
22
24
import org.springframework.stereotype.Service
23
25
import org.springframework.transaction.annotation.Transactional
26
+ import java.time.LocalDateTime
24
27
import java.util.*
25
28
26
29
@Service
@@ -37,6 +40,7 @@ class AnkeITrygderettenbehandlingService(
37
40
companion object {
38
41
@Suppress(" JAVA_CLASS_ON_COMPANION" )
39
42
private val logger = getLogger(javaClass.enclosingClass)
43
+ private val objectMapper = ourJacksonObjectMapper()
40
44
private val objectMapperBehandlingEvents = ObjectMapper ().registerModule(JavaTimeModule ()).configure(
41
45
SerializationFeature .WRITE_DATES_AS_TIMESTAMPS , false
42
46
)
@@ -143,12 +147,58 @@ class AnkeITrygderettenbehandlingService(
143
147
return ankeITrygderettenbehandling
144
148
}
145
149
146
- fun createAnkeITrygderettenbehandling (input : OversendtAnkeITrygderettenV1 ) {
150
+ fun createAnkeITrygderettenbehandlingFromExternalApi (input : OversendtAnkeITrygderettenV1 ) {
147
151
mottakService.validateAnkeITrygderettenV1(input)
148
152
val inputDocuments =
149
153
dokumentService.createSaksdokumenterFromJournalpostIdList(input.tilknyttedeJournalposter.map { it.journalpostId })
150
- createAnkeITrygderettenbehandling(
154
+ val ankeITrygderettenbehandling = createAnkeITrygderettenbehandling(
151
155
input.createAnkeITrygderettenbehandlingInput(inputDocuments)
152
156
)
157
+
158
+ val statistikkTilDVH = StatistikkTilDVH (
159
+ eventId = UUID .randomUUID(),
160
+ behandlingId = ankeITrygderettenbehandling.dvhReferanse,
161
+ behandlingIdKabal = ankeITrygderettenbehandling.toString(),
162
+ // Means enhetTildeltDato
163
+ behandlingStartetKA = null ,
164
+ ansvarligEnhetKode = " TR0000" ,
165
+ behandlingStatus = BehandlingState .SENDT_TIL_TR ,
166
+ behandlingType = Type .ANKE .name,
167
+ // Means medunderskriver
168
+ beslutter = null ,
169
+ endringstid = ankeITrygderettenbehandling.sendtTilTrygderetten,
170
+ hjemmel = emptyList(),
171
+ klager = getDVHPart(
172
+ type = ankeITrygderettenbehandling.klager.partId.type,
173
+ value = ankeITrygderettenbehandling.klager.partId.value
174
+ ),
175
+ opprinneligFagsaksystem = ankeITrygderettenbehandling.fagsystem.navn,
176
+ overfoertKA = ankeITrygderettenbehandling.mottattKlageinstans.toLocalDate(),
177
+ resultat = null ,
178
+ sakenGjelder = getDVHPart(
179
+ type = ankeITrygderettenbehandling.sakenGjelder.partId.type,
180
+ value = ankeITrygderettenbehandling.sakenGjelder.partId.value
181
+ ),
182
+ saksbehandler = ankeITrygderettenbehandling.tildeling?.saksbehandlerident,
183
+ saksbehandlerEnhet = ankeITrygderettenbehandling.tildeling?.enhet,
184
+ tekniskTid = LocalDateTime .now(),
185
+ vedtaksdato = null ,
186
+ ytelseType = ankeITrygderettenbehandling.ytelse.name,
187
+ opprinneligFagsakId = ankeITrygderettenbehandling.fagsakId,
188
+ )
189
+
190
+ kafkaEventRepository.save(
191
+ KafkaEvent (
192
+ id = UUID .randomUUID(),
193
+ behandlingId = ankeITrygderettenbehandling.id,
194
+ kilde = ankeITrygderettenbehandling.fagsystem.navn,
195
+ kildeReferanse = ankeITrygderettenbehandling.kildeReferanse,
196
+ status = UtsendingStatus .IKKE_SENDT ,
197
+ jsonPayload = statistikkTilDVH.toJson(),
198
+ type = EventType .STATS_DVH
199
+ )
200
+ )
153
201
}
202
+
203
+ private fun StatistikkTilDVH.toJson (): String = objectMapper.writeValueAsString(this )
154
204
}
0 commit comments