Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nytt bekreftelsesbrev til arbeidsgiver tilpasset inntektsmelding gjennom nav.no #348

Merged
merged 1 commit into from
Jan 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package no.nav.sifinnsynapi.pdf

import no.nav.sifinnsynapi.util.storForbokstav
import org.springframework.stereotype.Service
import java.time.ZoneOffset.UTC
import java.time.ZonedDateTime

@Service
class ArbeidsgiverMeldingNavNoPDFGenerator : PDFGenerator<PleiepengerArbeidsgiverMelding>() {

override val templateNavn: String
get() = "informasjonsbrev-til-arbeidsgiver-nav-no"


override fun PleiepengerArbeidsgiverMelding.tilMap(): Map<String, Any?> = mapOf(
"arbeidsgiver_navn" to arbeidsgivernavn?.storForbokstav(),
"arbeidstaker_navn" to arbeidstakernavn.storForbokstav(),
"periode" to mapOf(
"fom" to DATE_FORMATTER.format(søknadsperiode.fraOgMed),
"tom" to DATE_FORMATTER.format(søknadsperiode.tilOgMed)
),
"tidspunkt" to DATE_TIME_FORMATTER.format(ZonedDateTime.now(UTC))
)

override val bilder: Map<String, String>
get() = mapOf()
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,19 @@ package no.nav.sifinnsynapi.pdf

import no.nav.sifinnsynapi.util.storForbokstav
import org.springframework.stereotype.Service
import java.time.LocalDate
import java.time.ZoneOffset.UTC
import java.time.ZonedDateTime

@Deprecated(
"Etter at ny inntektsmelding gjennom nav.no er aktivert, ønsker vi ikke å bruke denne lenger",
ReplaceWith("ArbeidsgiverMeldingNavNoPDFGenerator")
)
@Service
class ArbeidsgiverMeldingPDFGenerator : PDFGenerator<PleiepengerArbeidsgiverMelding>() {

override val templateNavn: String
get() = "informasjonsbrev-til-arbeidsgiver"


override fun PleiepengerArbeidsgiverMelding.tilMap(): Map<String, Any?> = mapOf(
"arbeidsgiver_navn" to arbeidsgivernavn?.storForbokstav(),
"arbeidstaker_navn" to arbeidstakernavn.storForbokstav(),
Expand All @@ -26,14 +28,3 @@ class ArbeidsgiverMeldingPDFGenerator : PDFGenerator<PleiepengerArbeidsgiverMeld
override val bilder: Map<String, String>
get() = mapOf()
}
data class PleiepengerArbeidsgiverMelding(
val arbeidstakernavn: String,
val arbeidsgivernavn: String? = null,
val søknadsperiode: SøknadsPeriode
)

data class SøknadsPeriode(
val fraOgMed: LocalDate,
val tilOgMed: LocalDate
)

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package no.nav.sifinnsynapi.pdf

data class PleiepengerArbeidsgiverMelding(
val arbeidstakernavn: String,
val arbeidsgivernavn: String? = null,
val søknadsperiode: SøknadsPeriode
)
8 changes: 8 additions & 0 deletions src/main/kotlin/no/nav/sifinnsynapi/pdf/SøknadsPeriode.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package no.nav.sifinnsynapi.pdf

import java.time.LocalDate

data class SøknadsPeriode(
val fraOgMed: LocalDate,
val tilOgMed: LocalDate
)
23 changes: 18 additions & 5 deletions src/main/kotlin/no/nav/sifinnsynapi/soknad/InnsendingService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@ import no.nav.sifinnsynapi.omsorg.OmsorgService
import no.nav.sifinnsynapi.oppslag.BarnOppslagDTO
import no.nav.sifinnsynapi.oppslag.HentBarnForespørsel
import no.nav.sifinnsynapi.oppslag.OppslagsService
import no.nav.sifinnsynapi.pdf.ArbeidsgiverMeldingNavNoPDFGenerator
import no.nav.sifinnsynapi.pdf.ArbeidsgiverMeldingPDFGenerator
import no.nav.sifinnsynapi.pdf.PleiepengerArbeidsgiverMelding
import no.nav.sifinnsynapi.pdf.SøknadsPeriode
import org.json.JSONObject
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.time.LocalDate
Expand All @@ -31,8 +33,10 @@ class InnsendingService(
private val omsorgService: OmsorgService,
private val oppslagsService: OppslagsService,
private val legacyInnsynApiService: LegacyInnsynApiService,
private val ettersendelseRepository: EttersendelseRepository,
private val arbeidsgiverMeldingPDFGenerator: ArbeidsgiverMeldingPDFGenerator,
private val ettersendelseRepository: EttersendelseRepository
private val arbeidsgiverMeldingNavNoPDFGenerator: ArbeidsgiverMeldingNavNoPDFGenerator,
@Value("\${no.nav.inntektsmelding.ny-im-aktivert}") val erNyImAktivert: Boolean = false
) {

private companion object {
Expand Down Expand Up @@ -123,11 +127,20 @@ class InnsendingService(
val pleiepengesøknadJson = JSONObject(søknad.søknad)
val funnetOrg: JSONObject = pleiepengesøknadJson.finnOrganisasjon(søknadId.toString(), organisasjonsnummer)

arbeidsgiverMeldingPDFGenerator.genererPDF(
pleiepengesøknadJson.tilPleiepengerAreidsgivermelding(
funnetOrg
if (erNyImAktivert) {
logger.info("Ny inntektsmelding er aktivert, genererer PDF med nytt template.")
arbeidsgiverMeldingNavNoPDFGenerator.genererPDF(
pleiepengesøknadJson.tilPleiepengerAreidsgivermelding(
funnetOrg
)
)
)
} else {
arbeidsgiverMeldingPDFGenerator.genererPDF(
pleiepengesøknadJson.tilPleiepengerAreidsgivermelding(
funnetOrg
)
)
}
}

else -> throw NotSupportedArbeidsgiverMeldingException(søknadId.toString(), søknad.søknadstype)
Expand Down
4 changes: 4 additions & 0 deletions src/main/resources/application-dev-gcp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,7 @@ kafka:
key-store-location: file:${KAFKA_KEYSTORE_PATH}
key-store-password: ${KAFKA_CREDSTORE_PASSWORD}
key-store-type: PKCS12

no.nav:
inntektsmelding:
ny-im-aktivert: true
3 changes: 3 additions & 0 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ no.nav:
saf-selvbetjening-base-url: # Settes i nais/<cluster>.json
sif-innsyn-api-base-url: # Settes i nais/<cluster>.json

inntektsmelding:
ny-im-aktivert: false

security:
k9-drift-gruppe: ${K9_DRIFT_GRUPPE_ID}
jwt:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="NO">

<head>
<meta charset="UTF-8"/>
<title>Bekreftelse til Arbeidsgiver</title>
<meta name="subject" content="Informasjonsbrev til Arbeidsgiver"/>
<meta name="author" content="nav.no"/>
<meta name="description" content="Bekreftelse til Arbeidsgiver {{soknad_mottatt_dag}} {{ soknad_mottatt }}"/>
<bookmarks>
<bookmark name="Informasjon" href="#informasjon"/>
<bookmark name="Instruksjon" href="#instruksjon"/>
</bookmarks>
{{#block 'style-common' }}
{{/block}}
</head>

<body>
<div class="innholdscontainer">
<span id="header"></span>

<section id="informasjon">
<h1>Til {{arbeidsgiver_navn}}</h1>
<p><strong>{{arbeidstaker_navn}}</strong> har søkt om pleiepenger for perioden</p>
<ul>
<li>
<strong>{{periode.fom}} - {{periode.tom}}</strong>
</li>
</ul>

<p>
Hvis vi trenger inntektsmelding for å behandle søknaden, vil du få varsel om dette via Altinn og på
Min side – arbeidsgiver på nav.no. Du kan da logge inn på nav.no for å sende inn en forhåndsutfylt
inntektsmelding.
</p>

<p>
Det er også mulig å sende inntektsmelding fra Altinn og lønns- og personalsystem, men du må da være
observant på at vi får riktig informasjon om første fraværsdag, organisasjonsnummer og eventuelt
arbeidsforholds-id.
</p>

<p>
Som hovedregel trenger vi inntektsmelding hvis dette er første søknad, eller hvis det har vært et
opphold på minst 4 uker. Hvis det har vært et kortere opphold mellom pleiepengeperiodene, der den
ansatte har hatt en varig lønnsendring, trenger vi også ny inntektsmelding.
</p>
</section>

<section id="spørsmål">
<h2>Har dere spørsmål?</h2>
<p>Dere finner mer informasjon på <a href="https://nav.no/arbeidsgiver">nav.no/arbeidsgiver</a></p>

<p>På <a href="https://nav.no/kontakt">nav.no/kontakt</a> kan dere chatte med oss.</p>

<p>Dere kan også ringe oss på telefon 55 55 33 36, hverdager 09.00-15.00.</p>
</section>
</div>

<!-- FOOTER -->
<p id="footer">
<span class="tidspunkt">{{ tidspunkt }}</span>
<span class="sidetall">side <span id="pagenumber"></span> av <span id="pagecount"></span></span>
</p>
</body>

</html>
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package no.nav.sifinnsynapi.pdf

import org.junit.jupiter.api.Test
import java.io.File
import java.time.LocalDate

class ArbeidsgiverMeldingNavNoPDFGeneratorTest {

@Test
fun pdf() {
val pdf = ArbeidsgiverMeldingNavNoPDFGenerator().genererPDF(
melding = PleiepengerArbeidsgiverMelding(
arbeidstakernavn = "Ola Nordmann",
arbeidsgivernavn = "Sjokkerende Elektriker",
søknadsperiode = SøknadsPeriode(
fraOgMed = LocalDate.now().minusWeeks(1),
tilOgMed = LocalDate.now().plusWeeks(1)
)
)
)
File(pdfPath("Bekreftelse til arbeidsgiver")).writeBytes(pdf)
}

private fun pdfPath(filnavn: String) = "${System.getProperty("user.dir")}/generated-pdf-$filnavn.pdf"
}
Loading