From 1cfec5591a31b0141bc94a3dd738754261e46c16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20N=2E=20Wed=C3=B8e?= Date: Wed, 24 Jan 2024 11:15:57 +0100 Subject: [PATCH] Handle journalstatus "Mottatt". --- .../dokument/service/DokumentUnderArbeidService.kt | 5 +++++ .../nav/klage/oppgave/service/BehandlingService.kt | 14 ++++++++++++++ .../saf/hentDokumentoversiktBruker.graphql | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/no/nav/klage/dokument/service/DokumentUnderArbeidService.kt b/src/main/kotlin/no/nav/klage/dokument/service/DokumentUnderArbeidService.kt index 522b82a7d..39396941f 100644 --- a/src/main/kotlin/no/nav/klage/dokument/service/DokumentUnderArbeidService.kt +++ b/src/main/kotlin/no/nav/klage/dokument/service/DokumentUnderArbeidService.kt @@ -23,6 +23,7 @@ import no.nav.klage.oppgave.clients.kabaldocument.KabalDocumentGateway import no.nav.klage.oppgave.clients.kabaldocument.KabalDocumentMapper import no.nav.klage.oppgave.clients.saf.SafFacade import no.nav.klage.oppgave.clients.saf.graphql.Journalpost +import no.nav.klage.oppgave.clients.saf.graphql.Journalstatus import no.nav.klage.oppgave.config.getHistogram import no.nav.klage.oppgave.domain.events.BehandlingEndretEvent import no.nav.klage.oppgave.domain.events.DokumentFerdigstiltAvSaksbehandler @@ -380,6 +381,10 @@ class DokumentUnderArbeidService( saksbehandlerContext = true, ) + if (journalpostListForUser.any { it.journalstatus == Journalstatus.MOTTATT }) { + throw DokumentValidationException("Kan ikke legge til journalførte dokumenter med status 'Mottatt' som vedlegg. Fullfør journalføring i Gosys for å gjøre dette." ) + } + val (added, duplicates) = createJournalfoerteDokumenter( parentId = journalfoerteDokumenterInput.parentId, journalfoerteDokumenter = journalfoerteDokumenterInput.journalfoerteDokumenter, diff --git a/src/main/kotlin/no/nav/klage/oppgave/service/BehandlingService.kt b/src/main/kotlin/no/nav/klage/oppgave/service/BehandlingService.kt index 462ac7fb0..6785aa61d 100644 --- a/src/main/kotlin/no/nav/klage/oppgave/service/BehandlingService.kt +++ b/src/main/kotlin/no/nav/klage/oppgave/service/BehandlingService.kt @@ -2,6 +2,7 @@ package no.nav.klage.oppgave.service import com.fasterxml.jackson.databind.ObjectMapper import no.nav.klage.dokument.api.view.JournalfoertDokumentReference +import no.nav.klage.dokument.exceptions.DokumentValidationException import no.nav.klage.dokument.repositories.DokumentUnderArbeidRepository import no.nav.klage.kodeverk.* import no.nav.klage.kodeverk.hjemmel.Hjemmel @@ -17,6 +18,7 @@ import no.nav.klage.oppgave.clients.kaka.KakaApiGateway import no.nav.klage.oppgave.clients.klagefssproxy.KlageFssProxyClient import no.nav.klage.oppgave.clients.klagefssproxy.domain.HandledInKabalInput import no.nav.klage.oppgave.clients.klagefssproxy.domain.SakAssignedInput +import no.nav.klage.oppgave.clients.saf.SafFacade import no.nav.klage.oppgave.domain.events.BehandlingEndretEvent import no.nav.klage.oppgave.domain.kafka.* import no.nav.klage.oppgave.domain.kafka.BaseEvent @@ -65,6 +67,7 @@ import java.time.LocalDate import java.time.LocalDateTime import java.time.format.DateTimeFormatter import java.util.* +import no.nav.klage.oppgave.clients.saf.graphql.Journalstatus @Service @Transactional @@ -86,6 +89,7 @@ class BehandlingService( private val historyService: HistoryService, private val kafkaInternalEventService: KafkaInternalEventService, private val partSearchService: PartSearchService, + privat val safFacade: SafFacade, @Value("\${SYSTEMBRUKER_IDENT}") private val systembrukerIdent: String, ) { companion object { @@ -1207,6 +1211,16 @@ class BehandlingService( systemUserContext = systemUserContext, ) + val journalpostListForUser = safFacade.getJournalposter( + journalpostIdSet = journalfoertDokumentReferenceSet.map { it.journalpostId }.toSet(), + fnr = behandling.sakenGjelder.partId.value, + saksbehandlerContext = true, + ) + + if (journalpostListForUser.any { it.journalstatus == Journalstatus.MOTTATT }) { + throw DokumentValidationException("Kan ikke legge til journalførte dokumenter med status 'Mottatt' som relevant for saken. Fullfør journalføring i Gosys for å gjøre dette." ) + } + addDokumentSet( behandling = behandling, journalfoertDokumentReferenceSet = journalfoertDokumentReferenceSet, diff --git a/src/main/resources/saf/hentDokumentoversiktBruker.graphql b/src/main/resources/saf/hentDokumentoversiktBruker.graphql index cbdd5fe79..415be9a2f 100644 --- a/src/main/resources/saf/hentDokumentoversiktBruker.graphql +++ b/src/main/resources/saf/hentDokumentoversiktBruker.graphql @@ -2,7 +2,7 @@ query($brukerId: BrukerIdInput!, $tema: [Tema!], $foerste: Int, $etter: String) dokumentoversiktBruker( brukerId: $brukerId, tema: $tema, - journalstatuser: [FERDIGSTILT,JOURNALFOERT,EKSPEDERT], + journalstatuser: [FERDIGSTILT,JOURNALFOERT,EKSPEDERT, MOTTATT], foerste: $foerste, etter: $etter) { journalposter {