Skip to content

Commit

Permalink
Hente riktig innholdsdata for forhåndsvisning
Browse files Browse the repository at this point in the history
  • Loading branch information
Bjodn committed Feb 3, 2025
1 parent a16e2ef commit 81a31a1
Showing 1 changed file with 46 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.etterlatte.brev.tilbakekreving

import com.fasterxml.jackson.module.kotlin.readValue
import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope
import no.nav.etterlatte.brev.AvsenderRequest
Expand All @@ -15,6 +16,7 @@ import no.nav.etterlatte.brev.behandling.mapSoeker
import no.nav.etterlatte.brev.behandling.mapSpraak
import no.nav.etterlatte.brev.brevbaker.BrevbakerRequest
import no.nav.etterlatte.brev.brevbaker.BrevbakerService
import no.nav.etterlatte.brev.brevbaker.formaterNavn
import no.nav.etterlatte.brev.db.BrevRepository
import no.nav.etterlatte.brev.hentinformasjon.behandling.BehandlingService
import no.nav.etterlatte.brev.hentinformasjon.grunnlag.GrunnlagService
Expand All @@ -23,17 +25,23 @@ import no.nav.etterlatte.brev.model.Brev
import no.nav.etterlatte.brev.model.BrevID
import no.nav.etterlatte.brev.model.BrevInnhold
import no.nav.etterlatte.brev.model.BrevProsessType
import no.nav.etterlatte.brev.model.InnholdMedVedlegg
import no.nav.etterlatte.brev.model.OpprettNyttBrev
import no.nav.etterlatte.brev.model.Pdf
import no.nav.etterlatte.brev.model.Spraak
import no.nav.etterlatte.brev.model.tilbakekreving.TilbakekrevingBrevDTO
import no.nav.etterlatte.libs.common.feilhaandtering.InternfeilException
import no.nav.etterlatte.libs.common.feilhaandtering.krevIkkeNull
import no.nav.etterlatte.libs.common.grunnlag.Grunnlag
import no.nav.etterlatte.libs.common.objectMapper
import no.nav.etterlatte.libs.common.person.Verge
import no.nav.etterlatte.libs.common.retryOgPakkUt
import no.nav.etterlatte.libs.common.sak.Sak
import no.nav.etterlatte.libs.common.sak.SakId
import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt
import no.nav.etterlatte.libs.common.toJson
import no.nav.etterlatte.libs.common.vedtak.VedtakDto
import no.nav.etterlatte.libs.common.vedtak.VedtakInnholdDto
import no.nav.etterlatte.libs.common.vedtak.VedtakStatus
import no.nav.etterlatte.libs.common.vedtak.VedtakType
import no.nav.etterlatte.libs.ktor.token.BrukerTokenInfo
Expand Down Expand Up @@ -61,7 +69,7 @@ class TilbakekrevingVedtaksbrevService(

val brevSendeData = utledBrevSendeData(bruker, brevSakData)

return opprettBrev(bruker, behandlingId, brevSendeData, brevSakData.sak)
return opprettBrev(bruker, behandlingId, brevSendeData, ManueltBrevData(), brevSakData.sak)
}

suspend fun genererPdf(
Expand All @@ -79,11 +87,30 @@ class TilbakekrevingVedtaksbrevService(

val brevSendeData = utledBrevSendeData(bruker, brevSakData)

val innholdMedVedlegg =
InnholdMedVedlegg(
{ hentLagretInnhold(brev) },
{ hentLagretInnholdVedlegg(brev) },
)

val brevInnholdData =
TilbakekrevingBrevDTO.fra(
redigerbart = innholdMedVedlegg.innhold(),
muligTilbakekreving =
objectMapper.readValue(
(brevSakData.vedtak.innhold as VedtakInnholdDto.VedtakTilbakekrevingDto).tilbakekreving.toJson(),
),
sakType = brevSakData.sak.sakType,
utlandstilknytningType = null, // TODO må hente behandling...
soekerNavn = brevSendeData.personerISak.soeker.formaterNavn(),
)

val pdf =
genererPdf(
sak = brevSakData.sak,
brev,
brevSendeData,
brevInnholdData,
)

// logger.info("PDF generert ok. Sjekker om den skal lagres og ferdigstilles")
Expand Down Expand Up @@ -144,7 +171,6 @@ class TilbakekrevingVedtaksbrevService(
private suspend fun utledBrevSendeData(
bruker: BrukerTokenInfo,
brevdata: BrevSakData,
brevInnholdData: BrevData = ManueltBrevData(),
overstyrtSpraak: Spraak? = null, // TODO skal benyttes ved tilbakestilling av brev
): BrevSendeData {
val (sak, vedtak, grunnlag, verge) = brevdata
Expand Down Expand Up @@ -173,7 +199,7 @@ class TilbakekrevingVedtaksbrevService(

return BrevSendeData(
brevKode = Brevkoder.TILBAKEKREVING,
brevinnholdData = brevInnholdData,
// brevinnholdData = brevInnholdData,
avsender = avsender,
personerISak = personerISak,
spraak = spraak,
Expand All @@ -184,15 +210,16 @@ class TilbakekrevingVedtaksbrevService(
bruker: BrukerTokenInfo,
behandlingId: UUID,
brevSendeData: BrevSendeData,
brevInnholdData: BrevData,
sak: Sak,
): Brev {
val (brevKode, brevinnholdData, personerISak, spraak, avsender) = brevSendeData
val (brevKode, personerISak, spraak, avsender) = brevSendeData

val innhold =
brevbaker.hentRedigerbarTekstFraBrevbakeren(
BrevbakerRequest.fra(
brevKode = brevKode.redigering,
brevData = brevinnholdData,
brevData = brevInnholdData,
avsender = avsender,
soekerOgEventuellVerge = personerISak.soekerOgEventuellVerge(),
sakId = sak.id,
Expand Down Expand Up @@ -227,13 +254,14 @@ class TilbakekrevingVedtaksbrevService(
sak: Sak,
brev: Brev,
brevSendeData: BrevSendeData,
brevInnholdData: BrevData,
): Pdf {
val (brevKode, brevinnholdData, personerISak, spraak, avsender) = brevSendeData
val (brevKode, personerISak, spraak, avsender) = brevSendeData

val brevRequest =
BrevbakerRequest.fra(
brevKode = brevKode.ferdigstilling,
brevData = brevinnholdData,
brevData = brevInnholdData,
avsender = avsender,
soekerOgEventuellVerge = personerISak.soekerOgEventuellVerge(),
sakId = sak.id,
Expand All @@ -243,6 +271,16 @@ class TilbakekrevingVedtaksbrevService(

return brevbaker.genererPdf(brev.id, brevRequest)
}

private fun hentLagretInnhold(brev: Brev) =
krevIkkeNull(
db.hentBrevPayload(brev.id),
) { "Fant ikke payload for brev ${brev.id}" }.elements

private fun hentLagretInnholdVedlegg(brev: Brev) =
krevIkkeNull(db.hentBrevPayloadVedlegg(brev.id)) {
"Fant ikke payloadvedlegg for brev ${brev.id}"
}
}

data class BrevSakData(
Expand All @@ -254,7 +292,7 @@ data class BrevSakData(

data class BrevSendeData(
val brevKode: Brevkoder,
val brevinnholdData: BrevData,
// val brevinnholdData: BrevData,
val personerISak: PersonerISak,
val spraak: Spraak,
val avsender: Avsender,
Expand Down

0 comments on commit 81a31a1

Please sign in to comment.