Skip to content

Commit

Permalink
Fikser journalførtTidspunkt på kopiert journalpost. (#1249)
Browse files Browse the repository at this point in the history
* Setter journalførtTidspunkt for journalpostkopier som er ferdigstilt. (#1247)

(cherry picked from commit d5675a1)

* Setter journalførtTidspunkt for journalpostkopier som er ferdigstilt.

* Fjerner kall mot SAF i HendelseMottaker.kt
  • Loading branch information
ramrock93 authored Sep 25, 2024
1 parent 1fff58f commit cd23f9d
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 16 deletions.
4 changes: 3 additions & 1 deletion src/main/kotlin/no/nav/k9punsj/fordel/FordelPunsjEventDto.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ import com.fasterxml.jackson.module.kotlin.readValue
import no.nav.k9punsj.utils.objectMapper
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.time.LocalDateTime

data class FordelPunsjEventDto(
val aktørId: String? = null,
val journalpostId: String,
val type: String,
val ytelse: String,
val gosysoppgaveId: String? = null
val gosysoppgaveId: String? = null,
val journalførtTidspunkt: LocalDateTime? = null
) {

internal companion object {
Expand Down
13 changes: 9 additions & 4 deletions src/main/kotlin/no/nav/k9punsj/fordel/HendelseMottaker.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,28 @@ class HendelseMottaker @Autowired constructor(
val journalpostId = fordelPunsjEventDto.journalpostId
val journalpostIkkeEksisterer = journalpostService.journalpostIkkeEksisterer(journalpostId)

val k9FordelType = K9FordelType.fraKode(fordelPunsjEventDto.type)

if (journalpostIkkeEksisterer) {
val aktørId = fordelPunsjEventDto.aktørId
val punsjEventType = K9FordelType.fraKode(fordelPunsjEventDto.type).kode
val ytelse = PunsjFagsakYtelseType.fromKode(fordelPunsjEventDto.ytelse).kode
val punsjEventType = k9FordelType.kode
val punsjFagsakYtelseType = PunsjFagsakYtelseType.fromKode(fordelPunsjEventDto.ytelse)
val ytelse = punsjFagsakYtelseType.kode
val gosysoppgaveId = fordelPunsjEventDto.gosysoppgaveId

// TODO: Dersom SKRIV_TIL_OSS_SPØRMSÅL, SKRIV_TIL_OSS_SVAR, SAMTALEREFERAT
publiserJournalpostMetrikk(fordelPunsjEventDto)

val uuid = UUID.randomUUID()

val punsjJournalpost = PunsjJournalpost(
uuid = uuid,
journalpostId = journalpostId,
aktørId = aktørId,
ytelse = ytelse,
type = punsjEventType,
gosysoppgaveId = gosysoppgaveId
gosysoppgaveId = gosysoppgaveId,
journalførtTidspunkt = fordelPunsjEventDto.journalførtTidspunkt
)
journalpostService.opprettJournalpost(punsjJournalpost)
aksjonspunktService.opprettAksjonspunktOgSendTilK9Los(
Expand All @@ -56,7 +61,7 @@ class HendelseMottaker @Autowired constructor(
pleietrengendeAktørId = null
)
} else {
if (K9FordelType.fraKode(fordelPunsjEventDto.type) == K9FordelType.PUNSJOPPGAVE_IKKE_LENGER_NØDVENDIG) {
if (k9FordelType == K9FordelType.PUNSJOPPGAVE_IKKE_LENGER_NØDVENDIG) {
val journalpostFraDb = journalpostService.hent(journalpostId)
if (journalpostFraDb.type != null && K9FordelType.fraKode(journalpostFraDb.type) != K9FordelType.PUNSJOPPGAVE_IKKE_LENGER_NØDVENDIG) {
journalpostService.settInnsendingstype(K9FordelType.PUNSJOPPGAVE_IKKE_LENGER_NØDVENDIG, journalpostId)
Expand Down
26 changes: 15 additions & 11 deletions src/main/kotlin/no/nav/k9punsj/integrasjoner/dokarkiv/SafDtos.kt
Original file line number Diff line number Diff line change
Expand Up @@ -123,37 +123,37 @@ internal object SafDtos {

internal data class Bruker(
val id: String?,
val type: String?
val type: String?,
)

internal data class Sak(
val sakstype: Sakstype?,
val fagsakId: String?,
val fagsaksystem: String?,
val tema: String?
val tema: String?,
)

internal data class Avsender(
val id: String?,
val type: String?
val type: String?,
)

internal data class AvsenderMottaker(
val id: String?,
val type: String?,
val navn: String?
val navn: String?,
)

internal data class DokumentVariant(
val variantformat: String,
val saksbehandlerHarTilgang: Boolean
val saksbehandlerHarTilgang: Boolean,
)

internal data class Dokument(
val dokumentInfoId: String,
val brevkode: String?,
val tittel: String?,
val dokumentvarianter: MutableList<DokumentVariant>?
val dokumentvarianter: MutableList<DokumentVariant>?,
)

internal data class Journalpost(
Expand All @@ -169,11 +169,15 @@ internal object SafDtos {
val dokumenter: List<Dokument>,
val relevanteDatoer: List<RelevantDato>,
val datoOpprettet: LocalDateTime,
private val tilleggsopplysninger: List<Tilleggsopplysning> = emptyList()
private val tilleggsopplysninger: List<Tilleggsopplysning> = emptyList(),
) {
val k9Kilde = tilleggsopplysninger.firstOrNull { it.nokkel == "k9.kilde" }?.verdi
val k9Type = tilleggsopplysninger.firstOrNull { it.nokkel == "k9.type" }?.verdi
val erUtgående = journalposttype == JournalpostType.UTGAAENDE.kode

val erFerdigstilt =
journalstatus == Journalstatus.FERDIGSTILT.toString() || journalstatus == Journalstatus.JOURNALFOERT.toString()

private val erDigital = K9Kilde.DIGITAL.name == k9Kilde
val erEttersendelse = K9Type.ETTERSENDELSE.name == k9Type
private val erSøknad = K9Type.SØKNAD.name == k9Type
Expand All @@ -190,12 +194,12 @@ internal object SafDtos {

internal data class Tilleggsopplysning(
val nokkel: String,
val verdi: String
val verdi: String,
)

internal data class RelevantDato(
val dato: LocalDateTime,
val datotype: Datotype
val datotype: Datotype,
)

internal enum class Datotype {
Expand All @@ -209,12 +213,12 @@ internal object SafDtos {
}

internal data class JournalpostResponse(
val journalpost: Journalpost?
val journalpost: Journalpost?,
)

data class JournalpostResponseWrapper(
val data: JournalpostResponse?,
val errors: List<Any>?
val errors: List<Any>?,
) {
private fun inneholderError(error: String) = errors?.toString()?.contains(error) ?: false
internal val journalpostFinnesIkke = inneholderError("ikke funnet") || inneholderError("not_found")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import org.springframework.http.HttpStatus
import org.springframework.http.ProblemDetail
import org.springframework.stereotype.Service
import org.springframework.web.ErrorResponseException
import java.time.LocalDateTime

@Service
class JournalpostkopieringService(
Expand Down Expand Up @@ -72,6 +73,7 @@ class JournalpostkopieringService(
journalpostId = nyJournalpostId.toString(),
type = K9FordelType.KOPI.kode,
ytelse = k9FagsakYtelseType.kode,
journalførtTidspunkt = LocalDateTime.now(), // Journalførttidspunkt for kopiert journalpost.
gosysoppgaveId = null
)
)
Expand Down

0 comments on commit cd23f9d

Please sign in to comment.