Skip to content

Commit

Permalink
Bruk ny IM-klasse for å lage PDF til journalføring (#696)
Browse files Browse the repository at this point in the history
  • Loading branch information
bjerga authored Oct 4, 2024
1 parent 5bf4726 commit 3377833
Show file tree
Hide file tree
Showing 8 changed files with 236 additions and 238 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import kotlinx.serialization.json.JsonElement
import no.nav.helsearbeidsgiver.dokarkiv.DokArkivClient
import no.nav.helsearbeidsgiver.dokarkiv.domene.Avsender
import no.nav.helsearbeidsgiver.dokarkiv.domene.GjelderPerson
import no.nav.helsearbeidsgiver.domene.inntektsmelding.Utils.convert
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Inntektsmelding
import no.nav.helsearbeidsgiver.felles.BehovType
import no.nav.helsearbeidsgiver.felles.EventName
Expand All @@ -27,7 +26,6 @@ import no.nav.helsearbeidsgiver.utils.log.logger
import no.nav.helsearbeidsgiver.utils.log.sikkerLogger
import java.time.LocalDate
import java.util.UUID
import no.nav.helsearbeidsgiver.domene.inntektsmelding.deprecated.Inntektsmelding as InntektsmeldingGammel

data class JournalfoerImMelding(
val eventName: EventName,
Expand Down Expand Up @@ -82,18 +80,7 @@ class JournalfoerImRiver(
sikkerLogger.info("$it Innkommende melding:\n${json.toPretty()}")
}

val inntektsmeldingGammeltFormat =
inntektsmelding
.convert()
.let {
if (bestemmendeFravaersdag != null) {
it.copy(bestemmendeFraværsdag = bestemmendeFravaersdag)
} else {
it
}
}

val journalpostId = opprettOgFerdigstillJournalpost(transaksjonId, inntektsmeldingGammeltFormat)
val journalpostId = opprettOgFerdigstillJournalpost(transaksjonId, inntektsmelding, bestemmendeFravaersdag)

return mapOf(
Key.EVENT_NAME to eventName.toJson(),
Expand Down Expand Up @@ -153,7 +140,8 @@ class JournalfoerImRiver(

private fun opprettOgFerdigstillJournalpost(
transaksjonId: UUID,
inntektsmelding: InntektsmeldingGammel,
inntektsmelding: Inntektsmelding,
bestemmendeFravaersdag: LocalDate?,
): String {
"Prøver å opprette og ferdigstille journalpost.".also {
logger.info(it)
Expand All @@ -164,14 +152,14 @@ class JournalfoerImRiver(
Metrics.dokArkivRequest.recordTime(dokArkivClient::opprettOgFerdigstillJournalpost) {
dokArkivClient.opprettOgFerdigstillJournalpost(
tittel = "Inntektsmelding",
gjelderPerson = GjelderPerson(inntektsmelding.identitetsnummer),
gjelderPerson = GjelderPerson(inntektsmelding.sykmeldt.fnr.verdi),
avsender =
Avsender.Organisasjon(
orgnr = inntektsmelding.orgnrUnderenhet,
navn = inntektsmelding.virksomhetNavn,
orgnr = inntektsmelding.avsender.orgnr.verdi,
navn = inntektsmelding.avsender.orgNavn,
),
datoMottatt = LocalDate.now(),
dokumenter = tilDokumenter(transaksjonId, inntektsmelding),
dokumenter = tilDokumenter(transaksjonId, inntektsmelding, bestemmendeFravaersdag),
eksternReferanseId = "ARI-$transaksjonId",
callId = "callId_$transaksjonId",
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ package no.nav.helsearbeidsgiver.inntektsmelding.joark

import no.nav.helsearbeidsgiver.dokarkiv.domene.Dokument
import no.nav.helsearbeidsgiver.dokarkiv.domene.DokumentVariant
import no.nav.helsearbeidsgiver.domene.inntektsmelding.deprecated.Inntektsmelding
import no.nav.helsearbeidsgiver.domene.inntektsmelding.Utils.convert
import no.nav.helsearbeidsgiver.domene.inntektsmelding.v1.Inntektsmelding
import no.nav.helsearbeidsgiver.inntektsmelding.joark.dokument.PdfDokument
import no.nav.helsearbeidsgiver.inntektsmelding.joark.dokument.transformToXML
import java.time.LocalDate
import java.util.Base64
import java.util.UUID

Expand All @@ -13,8 +15,20 @@ private val base64 = Base64.getEncoder()
fun tilDokumenter(
uuid: UUID,
inntektsmelding: Inntektsmelding,
): List<Dokument> =
listOf(
bestemmendeFravaersdag: LocalDate?,
): List<Dokument> {
val inntektsmeldingGammeltFormat =
inntektsmelding
.convert()
.let {
if (bestemmendeFravaersdag != null) {
it.copy(bestemmendeFraværsdag = bestemmendeFravaersdag)
} else {
it
}
}

return listOf(
Dokument(
tittel = "Inntektsmelding",
// TODO Denne må vi undersøke om vi vil bruke videre. Dette er koden til Altinn-service, som trolig brukes til å filtrere journalposter et sted.
Expand All @@ -23,7 +37,7 @@ fun tilDokumenter(
listOf(
DokumentVariant(
filtype = "XML",
fysiskDokument = transformToXML(inntektsmelding).toByteArray().encode(),
fysiskDokument = transformToXML(inntektsmeldingGammeltFormat).toByteArray().encode(),
variantFormat = "ORIGINAL",
filnavn = "ari-$uuid.xml",
),
Expand All @@ -44,5 +58,6 @@ fun tilDokumenter(
),
),
)
}

private fun ByteArray.encode(): String = base64.encodeToString(this)
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,6 @@ class PdfBuilder(
y: Int = 0,
): PdfBuilder = add(Text(sectionSize, title, bold = false, italic = false, x, y))

fun addBody(
title: String,
x: Int = 0,
y: Int = 0,
): PdfBuilder = add(Text(bodySize, title, bold = false, italic = false, x, y))

fun addBold(
title: String,
x: Int = 0,
y: Int = 0,
): PdfBuilder = add(Text(bodySize, title, bold = true, italic = false, x, y))

fun addText(
title: String,
x: Int = 0,
Expand Down
Loading

0 comments on commit 3377833

Please sign in to comment.