Skip to content

Commit fc9ed61

Browse files
Merge pull request #2797 from navikt/bugix-fritekstbrevrequest
skal oppdatere requesten vi sender mot familie-brev for å generere fr…
2 parents adf047f + cbc966b commit fc9ed61

File tree

4 files changed

+34
-15
lines changed

4 files changed

+34
-15
lines changed

src/main/kotlin/no/nav/familie/ef/sak/brev/BrevClient.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import no.nav.familie.ef.sak.blankett.BlankettPdfRequest
55
import no.nav.familie.ef.sak.brev.VedtaksbrevService.Companion.BESLUTTER_SIGNATUR_PLACEHOLDER
66
import no.nav.familie.ef.sak.brev.VedtaksbrevService.Companion.BESLUTTER_VEDTAKSDATO_PLACEHOLDER
77
import no.nav.familie.ef.sak.brev.domain.FRITEKST
8-
import no.nav.familie.ef.sak.brev.dto.FritekstBrevRequestDto
8+
import no.nav.familie.ef.sak.brev.dto.FritekstBrevRequestMedSignatur
99
import no.nav.familie.ef.sak.felles.util.medContentTypeJsonUTF8
1010
import no.nav.familie.ef.sak.infrastruktur.exception.feilHvis
1111
import no.nav.familie.ef.sak.næringsinntektskontroll.NæringsinntektIngenEndringPdfRequest
@@ -67,7 +67,7 @@ class BrevClient(
6767
return postForEntity(url, næringsinntektIngenEndringPdfRequest, HttpHeaders().medContentTypeJsonUTF8())
6868
}
6969

70-
fun genererFritekstBrev(request: FritekstBrevRequestDto): ByteArray {
70+
fun genererFritekstBrev(request: FritekstBrevRequestMedSignatur): ByteArray {
7171
val url = URI.create("$familieBrevUri/api/fritekst-brev")
7272
return postForEntity(url, request, HttpHeaders().medContentTypeJsonUTF8())
7373
}

src/main/kotlin/no/nav/familie/ef/sak/brev/dto/FritekstBrevRequestDto.kt src/main/kotlin/no/nav/familie/ef/sak/brev/dto/FritekstBrevRequestMedSignatur.kt

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package no.nav.familie.ef.sak.brev.dto
22

3+
data class FritekstBrevRequestMedSignatur(
4+
val brevFraSaksbehandler: FritekstBrevRequestDto,
5+
val saksbehandlersignatur: String,
6+
val enhet: String,
7+
)
8+
39
data class FritekstBrevRequestDto(
410
val overskrift: String,
511
val avsnitt: List<Avsnitt>,

src/main/kotlin/no/nav/familie/ef/sak/samværsavtale/SamværsavtaleService.kt

+19-11
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ import no.nav.familie.ef.sak.barn.BehandlingBarn
66
import no.nav.familie.ef.sak.behandling.BehandlingService
77
import no.nav.familie.ef.sak.behandling.domain.Behandling
88
import no.nav.familie.ef.sak.brev.BrevClient
9+
import no.nav.familie.ef.sak.brev.BrevsignaturService
910
import no.nav.familie.ef.sak.brev.dto.FritekstBrevRequestDto
11+
import no.nav.familie.ef.sak.brev.dto.FritekstBrevRequestMedSignatur
1012
import no.nav.familie.ef.sak.infrastruktur.exception.brukerfeilHvis
1113
import no.nav.familie.ef.sak.infrastruktur.sikkerhet.SikkerhetContext
1214
import no.nav.familie.ef.sak.journalføring.JournalpostClient
@@ -18,6 +20,7 @@ import no.nav.familie.ef.sak.samværsavtale.domain.SamværsukeWrapper
1820
import no.nav.familie.ef.sak.samværsavtale.dto.JournalførBeregnetSamværRequest
1921
import no.nav.familie.ef.sak.samværsavtale.dto.SamværsavtaleDto
2022
import no.nav.familie.ef.sak.samværsavtale.dto.tilDomene
23+
import no.nav.familie.ef.sak.vedtak.domain.VedtakErUtenBeslutter
2124
import no.nav.familie.ef.sak.vilkår.VurderingService.Companion.byggBarnMapFraTidligereTilNyId
2225
import no.nav.familie.ef.sak.vilkår.regler.HovedregelMetadata
2326
import no.nav.familie.kontrakter.felles.dokarkiv.Dokumenttype
@@ -38,6 +41,7 @@ class SamværsavtaleService(
3841
val journalpostClient: JournalpostClient,
3942
val brevClient: BrevClient,
4043
val arbeidsfordelingService: ArbeidsfordelingService,
44+
val brevsignaturService: BrevsignaturService,
4145
) {
4246
fun hentSamværsavtalerForBehandling(behandlingId: UUID) = samværsavtaleRepository.findByBehandlingId(behandlingId)
4347

@@ -92,7 +96,7 @@ class SamværsavtaleService(
9296
}
9397

9498
fun journalførBeregnetSamvær(request: JournalførBeregnetSamværRequest): String {
95-
val fritekstBrevRequest = lagFritekstBrevRequest(request)
99+
val fritekstBrevRequest = lagFritekstBrevRequestMedSignatur(request)
96100
val dokument = brevClient.genererFritekstBrev(fritekstBrevRequest)
97101

98102
val saksbehandler = SikkerhetContext.hentSaksbehandler()
@@ -102,16 +106,20 @@ class SamværsavtaleService(
102106
return respons.journalpostId
103107
}
104108

105-
private fun lagFritekstBrevRequest(request: JournalførBeregnetSamværRequest) =
106-
FritekstBrevRequestDto(
107-
overskrift = "Beregnet samvær",
108-
personIdent = request.personIdent,
109-
navn = personopplysningerService.hentGjeldeneNavn(listOf(request.personIdent)).getValue(request.personIdent),
110-
avsnitt =
111-
request.uker.mapIndexed { ukeIndex, samværsuke ->
112-
lagAvsnittFritekstbrev(ukeIndex + 1, samværsuke)
113-
},
114-
)
109+
private fun lagFritekstBrevRequestMedSignatur(request: JournalførBeregnetSamværRequest): FritekstBrevRequestMedSignatur {
110+
val fritekstBrevRequest =
111+
FritekstBrevRequestDto(
112+
overskrift = "Beregnet samvær",
113+
personIdent = request.personIdent,
114+
navn = personopplysningerService.hentGjeldeneNavn(listOf(request.personIdent)).getValue(request.personIdent),
115+
avsnitt =
116+
request.uker.mapIndexed { ukeIndex, samværsuke ->
117+
lagAvsnittFritekstbrev(ukeIndex + 1, samværsuke)
118+
},
119+
)
120+
val signatur = brevsignaturService.lagSaksbehandlerSignatur(request.personIdent, VedtakErUtenBeslutter(true))
121+
return FritekstBrevRequestMedSignatur(brevFraSaksbehandler = fritekstBrevRequest, saksbehandlersignatur = signatur.navn, enhet = signatur.enhet)
122+
}
115123

116124
private fun lagArkiverDokumentRequest(
117125
pdf: ByteArray,

src/test/kotlin/no/nav/familie/ef/sak/samværsavtale/SamværsavtaleServiceTest.kt

+7-2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import no.nav.familie.ef.sak.behandling.BehandlingService
1212
import no.nav.familie.ef.sak.behandling.domain.BehandlingStatus
1313
import no.nav.familie.ef.sak.behandling.domain.BehandlingStatus.UTREDES
1414
import no.nav.familie.ef.sak.brev.BrevClient
15+
import no.nav.familie.ef.sak.brev.BrevsignaturService
16+
import no.nav.familie.ef.sak.brev.dto.SignaturDto
1517
import no.nav.familie.ef.sak.felles.util.BrukerContextUtil
1618
import no.nav.familie.ef.sak.infrastruktur.exception.ApiFeil
1719
import no.nav.familie.ef.sak.journalføring.JournalpostClient
@@ -52,6 +54,7 @@ internal class SamværsavtaleServiceTest {
5254
private val journalpostClient: JournalpostClient = mockk()
5355
private val brevClient: BrevClient = mockk()
5456
private val arbeidsfordelingService: ArbeidsfordelingService = mockk()
57+
private val brevsignaturService: BrevsignaturService = mockk()
5558

5659
private val samværsavtaleService: SamværsavtaleService =
5760
SamværsavtaleService(
@@ -63,6 +66,7 @@ internal class SamværsavtaleServiceTest {
6366
journalpostClient = journalpostClient,
6467
brevClient = brevClient,
6568
arbeidsfordelingService = arbeidsfordelingService,
69+
brevsignaturService = brevsignaturService,
6670
)
6771

6872
@Nested
@@ -468,8 +472,9 @@ internal class SamværsavtaleServiceTest {
468472

469473
BrukerContextUtil.mockBrukerContext()
470474
every { brevClient.genererFritekstBrev(any()) } returns "1".toByteArray()
471-
every { arbeidsfordelingService.hentNavEnhetIdEllerBrukMaskinellEnhetHvisNull("123") } returns "9999"
475+
every { arbeidsfordelingService.hentNavEnhetIdEllerBrukMaskinellEnhetHvisNull("123") } returns "4489"
472476
every { personopplysningerService.hentGjeldeneNavn(any()) } returns mapOf("123" to "")
477+
every { brevsignaturService.lagSaksbehandlerSignatur(any(), any()) } returns SignaturDto(navn = "saksbehandler", enhet = "4489", skjulBeslutter = false)
473478
every { journalpostClient.arkiverDokument(capture(arkivRequestSlot), any()) } returns ArkiverDokumentResponse("", true)
474479

475480
samværsavtaleService.journalførBeregnetSamvær(journalførRequest)
@@ -487,7 +492,7 @@ internal class SamværsavtaleServiceTest {
487492
assertThat(arkivRequest.hoveddokumentvarianter.first().filtype).isEqualTo(Filtype.PDFA)
488493
assertThat(arkivRequest.hoveddokumentvarianter.first().tittel).isEqualTo("Beregnet samvær")
489494
assertThat(arkivRequest.hoveddokumentvarianter.first().dokumenttype).isEqualTo(Dokumenttype.BEREGNET_SAMVÆR_NOTAT)
490-
assertThat(arkivRequest.journalførendeEnhet).isEqualTo("9999")
495+
assertThat(arkivRequest.journalførendeEnhet).isEqualTo("4489")
491496
}
492497
}
493498
}

0 commit comments

Comments
 (0)