Skip to content

Commit

Permalink
Always send dvh message SENDT_TIL_TR when receiving anke i TR from ex…
Browse files Browse the repository at this point in the history
…ternal API.
  • Loading branch information
oyvind-wedoe committed Feb 14, 2025
1 parent 34c9f4e commit 0d7d780
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,6 @@ class ExternalApiController(
@Valid @RequestBody oversendtAnkeITrygderetten: OversendtAnkeITrygderettenV1
) {
secureLogger.debug("Ankeitrygderetten data $oversendtAnkeITrygderetten sent to Kabal")
ankeITrygderettenbehandlingService.createAnkeITrygderettenbehandling(oversendtAnkeITrygderetten)
ankeITrygderettenbehandlingService.createAnkeITrygderettenbehandlingFromExternalApi(oversendtAnkeITrygderetten)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.SerializationFeature
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import no.nav.klage.dokument.api.view.JournalfoertDokumentReference
import no.nav.klage.kodeverk.Type
import no.nav.klage.kodeverk.hjemmel.Hjemmel
import no.nav.klage.kodeverk.hjemmel.ytelseToRegistreringshjemlerV2
import no.nav.klage.oppgave.api.view.OversendtAnkeITrygderettenV1
Expand All @@ -17,10 +18,12 @@ import no.nav.klage.oppgave.domain.klage.Felt
import no.nav.klage.oppgave.repositories.AnkeITrygderettenbehandlingRepository
import no.nav.klage.oppgave.repositories.KafkaEventRepository
import no.nav.klage.oppgave.util.getLogger
import no.nav.klage.oppgave.util.ourJacksonObjectMapper
import org.springframework.beans.factory.annotation.Value
import org.springframework.context.ApplicationEventPublisher
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.time.LocalDateTime
import java.util.*

@Service
Expand All @@ -37,6 +40,7 @@ class AnkeITrygderettenbehandlingService(
companion object {
@Suppress("JAVA_CLASS_ON_COMPANION")
private val logger = getLogger(javaClass.enclosingClass)
private val objectMapper = ourJacksonObjectMapper()
private val objectMapperBehandlingEvents = ObjectMapper().registerModule(JavaTimeModule()).configure(
SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false
)
Expand Down Expand Up @@ -143,12 +147,58 @@ class AnkeITrygderettenbehandlingService(
return ankeITrygderettenbehandling
}

fun createAnkeITrygderettenbehandling(input: OversendtAnkeITrygderettenV1) {
fun createAnkeITrygderettenbehandlingFromExternalApi(input: OversendtAnkeITrygderettenV1) {
mottakService.validateAnkeITrygderettenV1(input)
val inputDocuments =
dokumentService.createSaksdokumenterFromJournalpostIdList(input.tilknyttedeJournalposter.map { it.journalpostId })
createAnkeITrygderettenbehandling(
val ankeITrygderettenbehandling = createAnkeITrygderettenbehandling(
input.createAnkeITrygderettenbehandlingInput(inputDocuments)
)

val statistikkTilDVH = StatistikkTilDVH(
eventId = UUID.randomUUID(),
behandlingId = ankeITrygderettenbehandling.dvhReferanse,
behandlingIdKabal = ankeITrygderettenbehandling.toString(),
//Means enhetTildeltDato
behandlingStartetKA = null,
ansvarligEnhetKode = "TR0000",
behandlingStatus = BehandlingState.SENDT_TIL_TR,
behandlingType = Type.ANKE.name,
//Means medunderskriver
beslutter = null,
endringstid = ankeITrygderettenbehandling.sendtTilTrygderetten,
hjemmel = emptyList(),
klager = getDVHPart(
type = ankeITrygderettenbehandling.klager.partId.type,
value = ankeITrygderettenbehandling.klager.partId.value
),
opprinneligFagsaksystem = ankeITrygderettenbehandling.fagsystem.navn,
overfoertKA = ankeITrygderettenbehandling.mottattKlageinstans.toLocalDate(),
resultat = null,
sakenGjelder = getDVHPart(
type = ankeITrygderettenbehandling.sakenGjelder.partId.type,
value = ankeITrygderettenbehandling.sakenGjelder.partId.value
),
saksbehandler = ankeITrygderettenbehandling.tildeling?.saksbehandlerident,
saksbehandlerEnhet = ankeITrygderettenbehandling.tildeling?.enhet,
tekniskTid = LocalDateTime.now(),
vedtaksdato = null,
ytelseType = ankeITrygderettenbehandling.ytelse.name,
opprinneligFagsakId = ankeITrygderettenbehandling.fagsakId,
)

kafkaEventRepository.save(
KafkaEvent(
id = UUID.randomUUID(),
behandlingId = ankeITrygderettenbehandling.id,
kilde = ankeITrygderettenbehandling.fagsystem.navn,
kildeReferanse = ankeITrygderettenbehandling.kildeReferanse,
status = UtsendingStatus.IKKE_SENDT,
jsonPayload = statistikkTilDVH.toJson(),
type = EventType.STATS_DVH
)
)
}

private fun StatistikkTilDVH.toJson(): String = objectMapper.writeValueAsString(this)
}

0 comments on commit 0d7d780

Please sign in to comment.