Skip to content

Commit

Permalink
Oppdater aft refusjon journalpost pdf
Browse files Browse the repository at this point in the history
  • Loading branch information
fredrikpe committed Dec 3, 2024
1 parent 3cae5c1 commit 4b2a8d3
Show file tree
Hide file tree
Showing 7 changed files with 105 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,30 @@ object Pdfgen {
registerKotlinModule()
}

fun refusjonKvittering(refusjonKravAft: RefusjonKravAft, tilsagn: List<ArrangorflateTilsagn>): ByteArray {
@Serializable
data class PdfData(
val refusjon: RefusjonKravAft,
val tilsagn: List<ArrangorflateTilsagn>,
)
object Aft {
fun refusjonKvittering(refusjonKravAft: RefusjonKravAft, tilsagn: List<ArrangorflateTilsagn>): ByteArray {
@Serializable
data class PdfData(
val refusjon: RefusjonKravAft,
val tilsagn: List<ArrangorflateTilsagn>,
)

val jsonNode: JsonNode = objectMapper.valueToTree(PdfData(refusjonKravAft, tilsagn))
return createPDFA("refusjon-kvittering", "refusjon", jsonNode)
?: throw Exception("Kunne ikke generere PDF")
}
val jsonNode: JsonNode = objectMapper.valueToTree(PdfData(refusjonKravAft, tilsagn))
return createPDFA("aft-refusjon-kvittering", "refusjon", jsonNode)
?: throw Exception("Kunne ikke generere PDF")
}

fun refusjonJournalpost(refusjonKravAft: RefusjonKravAft, tilsagn: List<ArrangorflateTilsagn>): ByteArray {
@Serializable
data class PdfData(
val refusjon: RefusjonKravAft,
val tilsagn: List<ArrangorflateTilsagn>,
)
fun refusjonJournalpost(refusjonKravAft: RefusjonKravAft, tilsagn: List<ArrangorflateTilsagn>): ByteArray {
@Serializable
data class PdfData(
val refusjon: RefusjonKravAft,
val tilsagn: List<ArrangorflateTilsagn>,
)

val jsonNode: JsonNode = objectMapper.valueToTree(PdfData(refusjonKravAft, tilsagn))
return createPDFA("refusjon-journalpost", "refusjon", jsonNode)
?: throw Exception("Kunne ikke generere PDF")
val jsonNode: JsonNode = objectMapper.valueToTree(PdfData(refusjonKravAft, tilsagn))
requireNotNull(jsonNode)
return createPDFA("aft-refusjon-journalpost", "refusjon", jsonNode)
?: throw Exception("Kunne ikke generere PDF")
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ fun Route.arrangorflateRoutes() {
)

val refusjonsKravAft = toRefusjonskrav(pdl, deltakerRepository, krav)
val pdf = Pdfgen.refusjonKvittering(refusjonsKravAft, tilsagn)
val pdf = Pdfgen.Aft.refusjonKvittering(refusjonsKravAft, tilsagn)

call.response.headers.append(
"Content-Disposition",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import no.nav.mulighetsrommet.api.refusjon.HentAdressebeskyttetPersonBolkPdlQuer
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.RefusjonKravBeregningAft
import no.nav.mulighetsrommet.api.refusjon.model.RefusjonskravDto
import no.nav.mulighetsrommet.api.refusjon.model.RefusjonskravStatus
import no.nav.mulighetsrommet.api.refusjon.toRefusjonskrav
Expand Down Expand Up @@ -77,8 +78,12 @@ class JournalforRefusjonskrav(
gjennomforingId = krav.gjennomforing.id,
periode = krav.beregning.input.periode,
)
val refusjonsKravAft: RefusjonKravAft = toRefusjonskrav(pdl, deltakerRepository, krav)
Pdfgen.refusjonJournalpost(refusjonsKravAft, tilsagn)
when (krav.beregning) {
is RefusjonKravBeregningAft -> {
val refusjonsKravAft: RefusjonKravAft = toRefusjonskrav(pdl, deltakerRepository, krav)
Pdfgen.Aft.refusjonJournalpost(refusjonsKravAft, tilsagn)
}
}
}

dokarkClient.opprettJournalpost(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class PdfgenTest : FunSpec({
),
)

Pdfgen.refusjonKvittering(refusjonsKravAft, tilsagn)
Pdfgen.Aft.refusjonKvittering(refusjonsKravAft, tilsagn)
}

test("refusjon-journalpost") {
Expand All @@ -105,7 +105,13 @@ class PdfgenTest : FunSpec({
id = ArrangorFixtures.underenhet1.id,
organisasjonsnummer = ArrangorFixtures.underenhet1.organisasjonsnummer,
),
beregning = Prismodell.TilsagnBeregning.Fri(123),
beregning = Prismodell.TilsagnBeregning.AFT(
belop = 450000,
sats = 20501,
antallPlasser = 23,
periodeStart = LocalDate.now().minusMonths(3),
periodeSlutt = LocalDate.now().plusMonths(3),
),
),
)

Expand All @@ -123,7 +129,7 @@ class PdfgenTest : FunSpec({
arrangor = RefusjonskravDto.Arrangor(
id = UUID.randomUUID(),
organisasjonsnummer = Organisasjonsnummer("123456789"),
navn = "Navn",
navn = "Fretex AS",
slettet = false,
),
deltakelser = listOf(
Expand All @@ -137,16 +143,46 @@ class PdfgenTest : FunSpec({
manedsverk = 1.0,
person = RefusjonKravDeltakelse.Person(
navn = "Donald DUck",
fodselsdato = LocalDate.now(),
fodselsdato = LocalDate.of(1945, 12, 8),
fodselsaar = 2000,
),
veileder = null,
),
RefusjonKravDeltakelse(
id = UUID.randomUUID(),
startDato = LocalDate.now(),
sluttDato = LocalDate.now().plusDays(20),
forstePeriodeStartDato = LocalDate.now(),
sistePeriodeSluttDato = LocalDate.now(),
sistePeriodeDeltakelsesprosent = 100.0,
manedsverk = 1.0,
person = RefusjonKravDeltakelse.Person(
navn = "Adressebeskyttet",
fodselsaar = null,
fodselsdato = null,
),
veileder = null,
),
RefusjonKravDeltakelse(
id = UUID.randomUUID(),
startDato = LocalDate.now(),
sluttDato = LocalDate.now().plusDays(20),
forstePeriodeStartDato = LocalDate.now(),
sistePeriodeSluttDato = LocalDate.now(),
sistePeriodeDeltakelsesprosent = 100.0,
manedsverk = .5,
person = RefusjonKravDeltakelse.Person(
navn = "Onkel Skrue",
fodselsaar = null,
fodselsdato = LocalDate.of(1923, 1, 4),
),
veileder = null,
),
),
beregning = RefusjonKravAft.Beregning(
periodeStart = LocalDate.now(),
periodeSlutt = LocalDate.now(),
antallManedsverk = 1.0,
periodeSlutt = LocalDate.now().plusMonths(1),
antallManedsverk = 2.5,
belop = 100,
digest = "asdf",
),
Expand All @@ -156,6 +192,11 @@ class PdfgenTest : FunSpec({
),
)

Pdfgen.refusjonJournalpost(refusjonsKravAft, tilsagn)
// Sjekker kun at ting ikke krasjer
val pdf = Pdfgen.Aft.refusjonJournalpost(refusjonsKravAft, tilsagn)

// For å iterere på pdf'en kan man kjøre denne testen og kommentere ut linjene under
// val file = File("/<path>/refusjonskrav.pdf>")
// file.writeBytes(pdf)
}
})
Original file line number Diff line number Diff line change
Expand Up @@ -17,37 +17,35 @@
width: 100%;
margin-top: 0;
}
h4 {
padding-top: 2mm;
margin-left: 1mm;
font-size: 13px;
margin-top: 0;
}
table th {
width: 25%;
font-weight: normal;
}
table td {
width: 75%;
font-weight: bold;
}
tr {
font-size: 10px;
}
.tilsagn-table {
border: 1px solid #D1D4D8;
padding: 8px;
margin-bottom: 20px;
}
.deltaker-liste th {
font-weight: bold;
}
.text-align-right {
text-align: right;
}
</style>
</head>
<body>
<div class="text-align-right">Innsendt dato: {{ iso_to_nor_date (now_date) }}</div>
<h2>Refusjonskrav - {{ refusjon.arrangor.navn }} - {{ refusjon.gjennomforing.navn }}</h2>
<div class="block line_bottom">
<table class="block">
<tbody>
<tr>
<th>Refusjonskravperiode:</th>
<td>{{ iso_to_nor_date refusjon.beregning.periode.start }} - {{ iso_to_nor_date refusjon.beregning.periode.slutt }}</td>
<td>{{ iso_to_nor_date refusjon.beregning.periodeStart }} - {{ iso_to_nor_date refusjon.beregning.periodeSlutt }}</td>
</tr>
<tr>
<th>First for godkjenning:</th>
Expand Down Expand Up @@ -85,31 +83,31 @@
<th>Beløp:</th>
<td>{{ currency_no beregning.belop }} kr </td>
</tr>
<tr>
<th>Utbetalt så langt:</th>
<td>TODO</td>
</tr>
</tbody>
</table>
{{/each}}
</div>
<div class="block line_bottom">
<h4>Deltakerliste</h4>
<table class="block">
<th>Navn</th>
<th>Fødselsdato</th>
<th>Startdato</th>
<th>Sluttdato</th>
<th>Månedsverk</th>
<table class="block deltaker-liste">
<thead>
<tr>
<th>Navn</th>
<th>Fødselsdato</th>
<th>Startdato</th>
<th>Sluttdato</th>
<th>Månedsverk</th>
</tr>
</thead>
<tbody>
{{#each refusjon.deltakelser }}
<tr>
<td>{{ person.navn }}</td>
<td>{{ person.foedselsdato }} {{ person.foedselsaar }}</td>
<td>{{ iso_to_nor_date startDato }}</td>
<td>{{ iso_to_nor_date sluttDato }}</td>
<td>{{ manedsverk }}</td>
</tr>
<tr>
<td>{{ person.navn }}</td>
<td>{{ iso_to_nor_date person.fodselsdato }}</td>
<td>{{ iso_to_nor_date startDato }}</td>
<td>{{ iso_to_nor_date sluttDato }}</td>
<td>{{ formatComma manedsverk }}</td>
</tr>
{{/each}}
</tbody>
</table>
Expand All @@ -120,7 +118,7 @@
<tbody>
<tr>
<th>Antall månedsverk:</th>
<td>{{ refusjon.beregning.antallManedsverk }}</td>
<td>{{ formatComma refusjon.beregning.antallManedsverk }}</td>
</tr>
<tr>
<th>Total refusjonskrav:</th>
Expand Down

0 comments on commit 4b2a8d3

Please sign in to comment.