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