Skip to content

Commit

Permalink
Journalfor på fagsystem TILTAKSADMINISTRASJON
Browse files Browse the repository at this point in the history
  • Loading branch information
fredrikpe committed Dec 2, 2024
1 parent b5ba0c6 commit 8b8611b
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 43 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ data class Journalpost(
val journalfoerendeEnhet: String,
val journalposttype: String,
val kanal: String,
val sak: Sak?,
val sak: Sak,
) {
@Serializable
data class AvsenderMottaker(
Expand All @@ -89,10 +89,17 @@ data class Journalpost(

@Serializable
data class Sak(
val sakstype: Sakstype,
val fagsakId: String,
val fagsaksystem: String,
val sakstype: String,
)
val fagsaksystem: Fagsaksystem,
) {
enum class Sakstype {
FAGSAK,
}
enum class Fagsaksystem {
TILTAKSADMINISTRASJON,
}
}

@Serializable
data class Dokument(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -329,39 +329,3 @@ data class GodkjennRefusjonskrav(
)
}

fun refusjonskravJournalpost(
pdf: ByteArray,
refusjonskravId: UUID,
organisasjonsnummer: Organisasjonsnummer,
): Journalpost = Journalpost(
tittel = "Refusjonskrav",
journalposttype = "INNGAAENDE",
avsenderMottaker = Journalpost.AvsenderMottaker(
id = organisasjonsnummer.value,
idType = "ORGNR",
navn = null,
),
bruker = Journalpost.Bruker(
id = organisasjonsnummer.value,
idType = "ORGNR",
),
tema = "TIL",
datoMottatt = LocalDateTime.now().toString(),
dokumenter = listOf(
Journalpost.Dokument(
tittel = "Refusjonskrav",
dokumentvarianter = listOf(
Journalpost.Dokument.Dokumentvariant(
"PDFA",
pdf,
"ARKIV",
),
),
),
),
eksternReferanseId = refusjonskravId.toString(),
journalfoerendeEnhet = "9999", // Automatisk journalføring
kanal = "NAV_NO", // Påkrevd for INNGAENDE. Se https://confluence.adeo.no/display/BOA/Mottakskanal
sak = null,
behandlingstema = null,
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ import com.github.kagkarlsson.scheduler.task.helper.OneTimeTask
import com.github.kagkarlsson.scheduler.task.helper.Tasks
import kotlinx.serialization.Serializable
import no.nav.mulighetsrommet.api.clients.dokark.DokarkClient
import no.nav.mulighetsrommet.api.clients.dokark.Journalpost
import no.nav.mulighetsrommet.api.gjennomforing.db.TiltaksgjennomforingRepository
import no.nav.mulighetsrommet.api.pdfgen.Pdfgen
import no.nav.mulighetsrommet.api.refusjon.HentAdressebeskyttetPersonBolkPdlQuery
import no.nav.mulighetsrommet.api.refusjon.db.DeltakerRepository
import no.nav.mulighetsrommet.api.refusjon.db.RefusjonskravRepository
import no.nav.mulighetsrommet.api.refusjon.model.RefusjonKravAft
import no.nav.mulighetsrommet.api.refusjon.model.RefusjonskravDto
import no.nav.mulighetsrommet.api.refusjon.model.RefusjonskravStatus
import no.nav.mulighetsrommet.api.refusjon.refusjonskravJournalpost
import no.nav.mulighetsrommet.api.refusjon.toRefusjonskrav
import no.nav.mulighetsrommet.api.tilsagn.TilsagnService
import no.nav.mulighetsrommet.database.Database
Expand All @@ -21,11 +23,13 @@ import no.nav.mulighetsrommet.tasks.executeSuspend
import no.nav.mulighetsrommet.tokenprovider.AccessType
import org.slf4j.LoggerFactory
import java.time.Instant
import java.time.LocalDateTime
import java.util.*

class JournalforRefusjonskrav(
database: Database,
private val refusjonskravRepository: RefusjonskravRepository,
private val tiltaksgjennomforingRepository: TiltaksgjennomforingRepository,
private val tilsagnService: TilsagnService,
private val dokarkClient: DokarkClient,
private val deltakerRepository: DeltakerRepository,
Expand Down Expand Up @@ -63,6 +67,11 @@ class JournalforRefusjonskrav(
requireNotNull(krav) { "Fant ikke refusjonskrav med id=$id" }
require(krav.status == RefusjonskravStatus.GODKJENT_AV_ARRANGOR) { "Krav må være godkjent" }

val gjennomforing = tiltaksgjennomforingRepository.get(krav.gjennomforing.id)
requireNotNull(gjennomforing) { "Fant ikke gjennomforing til refusjonskrav med id=$id" }
// TODO: Her må vi bruke vårt eget løpenummer vel, når vi slutter og skrive til arena
requireNotNull(gjennomforing.tiltaksnummer) { "Gjennomføringen må ha et tiltaksnummer id=$id" }

val pdf = run {
val tilsagn = tilsagnService.getArrangorflateTilsagnTilRefusjon(
gjennomforingId = krav.gjennomforing.id,
Expand All @@ -73,7 +82,7 @@ class JournalforRefusjonskrav(
}

dokarkClient.opprettJournalpost(
refusjonskravJournalpost(pdf, krav.id, krav.arrangor.organisasjonsnummer),
refusjonskravJournalpost(pdf, krav.id, krav.arrangor, gjennomforing.tiltaksnummer),
AccessType.M2M,
)
.onRight {
Expand All @@ -84,3 +93,45 @@ class JournalforRefusjonskrav(
}
}
}

fun refusjonskravJournalpost(
pdf: ByteArray,
refusjonskravId: UUID,
arrangor: RefusjonskravDto.Arrangor,
tiltaksnummer: String,
): Journalpost = Journalpost(
tittel = "Refusjonskrav",
journalposttype = "INNGAAENDE",
avsenderMottaker = Journalpost.AvsenderMottaker(
id = arrangor.organisasjonsnummer.value,
idType = "ORGNR",
navn = arrangor.navn,
),
bruker = Journalpost.Bruker(
id = arrangor.organisasjonsnummer.value,
idType = "ORGNR",
),
tema = "TIL",
datoMottatt = LocalDateTime.now().toString(),
dokumenter = listOf(
Journalpost.Dokument(
tittel = "Refusjonskrav",
dokumentvarianter = listOf(
Journalpost.Dokument.Dokumentvariant(
"PDFA",
pdf,
"ARKIV",
),
),
),
),
eksternReferanseId = refusjonskravId.toString(),
journalfoerendeEnhet = "9999", // Automatisk journalføring
kanal = "NAV_NO", // Påkrevd for INNGAENDE. Se https://confluence.adeo.no/display/BOA/Mottakskanal
sak = Journalpost.Sak(
sakstype = Journalpost.Sak.Sakstype.FAGSAK,
fagsakId = tiltaksnummer,
fagsaksystem = Journalpost.Sak.Fagsaksystem.TILTAKSADMINISTRASJON,
),
behandlingstema = null,
)
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ class ArrangorflateRoutesTest : FunSpec({
}
}

test("riktig sjekksum ved godkjenning av refusjon gir 200, og spawner journalforing task") {
test("riktig sjekksum ved godkjenning av refusjon gir 200") {
withTestApplication(appConfig()) {
val client = createClient {
install(ContentNegotiation) {
Expand Down

0 comments on commit 8b8611b

Please sign in to comment.