From 9850821cdf9b00bdf2f54e562fd742188617db92 Mon Sep 17 00:00:00 2001 From: Morten Osvik <33130876+mortenoosvik@users.noreply.github.com> Date: Tue, 14 Jan 2025 16:51:58 +0100 Subject: [PATCH 1/4] Nytt bekreftelsesbrev til arbeidsgiver tilpasset inntektsmelding gjennom nav.no --- .../ArbeidsgiverMeldingNavNoPDFGenerator.kt | 28 ++++++++ .../pdf/ArbeidsgiverMeldingPDFGenerator.kt | 12 ---- .../pdf/PleiepengerArbeidsgiverMelding.kt | 7 ++ .../pdf/S\303\270knadsPeriode.kt" | 8 +++ .../soknad/S\303\270knadService.kt" | 18 ++++- src/main/resources/application-dev-gcp.yml | 4 ++ src/main/resources/application.yml | 3 + ...formasjonsbrev-til-arbeidsgiver-nav-no.hbs | 67 +++++++++++++++++++ ...rbeidsgiverMeldingNavNoPDFGeneratorTest.kt | 28 ++++++++ 9 files changed, 161 insertions(+), 14 deletions(-) create mode 100644 src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingNavNoPDFGenerator.kt create mode 100644 src/main/kotlin/no/nav/sifinnsynapi/pdf/PleiepengerArbeidsgiverMelding.kt create mode 100644 "src/main/kotlin/no/nav/sifinnsynapi/pdf/S\303\270knadsPeriode.kt" create mode 100644 src/main/resources/handlebars/informasjonsbrev-til-arbeidsgiver-nav-no.hbs create mode 100644 src/test/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingNavNoPDFGeneratorTest.kt diff --git a/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingNavNoPDFGenerator.kt b/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingNavNoPDFGenerator.kt new file mode 100644 index 00000000..1c1efd34 --- /dev/null +++ b/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingNavNoPDFGenerator.kt @@ -0,0 +1,28 @@ +package no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn + +import no.nav.sifinnsynapi.pdf.PDFGenerator +import no.nav.sifinnsynapi.util.storForbokstav +import org.springframework.stereotype.Service +import java.time.ZoneOffset.UTC +import java.time.ZonedDateTime + +@Service +class ArbeidsgiverMeldingNavNoPDFGenerator : PDFGenerator() { + + override val templateNavn: String + get() = "informasjonsbrev-til-arbeidsgiver-nav-no" + + + override fun PleiepengerArbeidsgiverMelding.tilMap(): Map = 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 + get() = mapOf() +} \ No newline at end of file diff --git a/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt b/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt index ac9df9e5..787ebcaf 100644 --- a/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt +++ b/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt @@ -3,7 +3,6 @@ package no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn import no.nav.sifinnsynapi.pdf.PDFGenerator import no.nav.sifinnsynapi.util.storForbokstav import org.springframework.stereotype.Service -import java.time.LocalDate import java.time.ZoneOffset.UTC import java.time.ZonedDateTime @@ -27,14 +26,3 @@ class ArbeidsgiverMeldingPDFGenerator : PDFGenerator 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 -) - diff --git a/src/main/kotlin/no/nav/sifinnsynapi/pdf/PleiepengerArbeidsgiverMelding.kt b/src/main/kotlin/no/nav/sifinnsynapi/pdf/PleiepengerArbeidsgiverMelding.kt new file mode 100644 index 00000000..5a03c3b6 --- /dev/null +++ b/src/main/kotlin/no/nav/sifinnsynapi/pdf/PleiepengerArbeidsgiverMelding.kt @@ -0,0 +1,7 @@ +package no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn + +data class PleiepengerArbeidsgiverMelding( + val arbeidstakernavn: String, + val arbeidsgivernavn: String? = null, + val søknadsperiode: SøknadsPeriode +) \ No newline at end of file diff --git "a/src/main/kotlin/no/nav/sifinnsynapi/pdf/S\303\270knadsPeriode.kt" "b/src/main/kotlin/no/nav/sifinnsynapi/pdf/S\303\270knadsPeriode.kt" new file mode 100644 index 00000000..37b87ff4 --- /dev/null +++ "b/src/main/kotlin/no/nav/sifinnsynapi/pdf/S\303\270knadsPeriode.kt" @@ -0,0 +1,8 @@ +package no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn + +import java.time.LocalDate + +data class SøknadsPeriode( + val fraOgMed: LocalDate, + val tilOgMed: LocalDate +) \ No newline at end of file diff --git "a/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" "b/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" index 3e1db521..7b10960e 100644 --- "a/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" +++ "b/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" @@ -8,6 +8,7 @@ import no.nav.sifinnsynapi.common.Søknadstype import no.nav.sifinnsynapi.dokument.DokumentDTO import no.nav.sifinnsynapi.dokument.DokumentService import no.nav.sifinnsynapi.dokument.DokumentService.Companion.brevkoder +import no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn.ArbeidsgiverMeldingNavNoPDFGenerator import no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn.ArbeidsgiverMeldingPDFGenerator import no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn.PleiepengerJSONObjectUtils.finnOrganisasjon import no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn.PleiepengerJSONObjectUtils.tilPleiepengerAreidsgivermelding @@ -15,6 +16,7 @@ import no.nav.sifinnsynapi.oppslag.OppslagsService import no.nav.sifinnsynapi.util.ServletUtils import org.json.JSONObject import org.slf4j.LoggerFactory +import org.springframework.beans.factory.annotation.Value import org.springframework.http.HttpStatus import org.springframework.http.ProblemDetail import org.springframework.stereotype.Service @@ -29,8 +31,11 @@ class SøknadService( private val repo: SøknadRepository, private val oppslagsService: OppslagsService, private val dokumentService: DokumentService, - private val arbeidsgiverMeldingPDFGenerator: ArbeidsgiverMeldingPDFGenerator -) { + private val arbeidsgiverMeldingPDFGenerator: ArbeidsgiverMeldingPDFGenerator, + private val arbeidsgiverMeldingNavNoPDFGenerator: ArbeidsgiverMeldingNavNoPDFGenerator, + @Value("\${no.nav.inntektsmelding.ny-im-aktivert}") val erNyImAktivert: Boolean = false, + + ) { companion object { private val mapper = ObjectMapper() @@ -105,11 +110,20 @@ class SøknadService( val pleiepengesøknadJson = JSONObject(søknad.søknad) val funnetOrg: JSONObject = pleiepengesøknadJson.finnOrganisasjon(søknad, organisasjonsnummer) + if (erNyImAktivert) { + arbeidsgiverMeldingNavNoPDFGenerator.genererPDF( + pleiepengesøknadJson.tilPleiepengerAreidsgivermelding( + funnetOrg + ) + ) + } else { arbeidsgiverMeldingPDFGenerator.genererPDF( pleiepengesøknadJson.tilPleiepengerAreidsgivermelding( funnetOrg ) ) + + } } else -> throw NotSupportedArbeidsgiverMeldingException(søknad.id.toString(), søknad.søknadstype) diff --git a/src/main/resources/application-dev-gcp.yml b/src/main/resources/application-dev-gcp.yml index 2807f726..cc53477c 100644 --- a/src/main/resources/application-dev-gcp.yml +++ b/src/main/resources/application-dev-gcp.yml @@ -39,6 +39,10 @@ no.nav: pleiepenger-sykt-barn: beskjed: link: https://sif-innsyn.intern.dev.nav.no/familie/sykdom-i-familien/soknad/innsyn + pleiepenger-sykt-barn-endringsmelding: beskjed: link: https://sif-innsyn.intern.dev.nav.no/familie/sykdom-i-familien/soknad/innsyn + + inntektsmelding: + ny-im-aktivert: true diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b60bc08f..0c9eecfc 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -22,6 +22,9 @@ no.nav: tekst: 'Vi har mottatt din ettersendelse til omsorgspenger.' dagerSynlig: 7 + inntektsmelding: + ny-im-aktivert: false + gateways: k9-selvbetjening-oppslag: # Settes i nais/.json saf-base-url: # Settes i nais/.json diff --git a/src/main/resources/handlebars/informasjonsbrev-til-arbeidsgiver-nav-no.hbs b/src/main/resources/handlebars/informasjonsbrev-til-arbeidsgiver-nav-no.hbs new file mode 100644 index 00000000..eecd8a8d --- /dev/null +++ b/src/main/resources/handlebars/informasjonsbrev-til-arbeidsgiver-nav-no.hbs @@ -0,0 +1,67 @@ + + + + + + Bekreftelse til Arbeidsgiver + + + + + + + + {{#block 'style-common' }} + {{/block}} + + + +
+ + +
+

Til {{arbeidsgiver_navn}}

+

{{arbeidstaker_navn}} har søkt om pleiepenger for perioden

+
    +
  • + {{periode.fom}} - {{periode.tom}} +
  • +
+ +

+ 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. +

+ +

+ 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. +

+ +

+ 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. +

+
+ +
+

Har dere spørsmål?

+

Dere finner mer informasjon på nav.no/arbeidsgiver

+ +

nav.no/kontakt kan dere chatte med oss.

+ +

Dere kan også ringe oss på telefon 55 55 33 36, hverdager 09.00-15.00.

+
+
+ + + + + + diff --git a/src/test/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingNavNoPDFGeneratorTest.kt b/src/test/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingNavNoPDFGeneratorTest.kt new file mode 100644 index 00000000..f988abe9 --- /dev/null +++ b/src/test/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingNavNoPDFGeneratorTest.kt @@ -0,0 +1,28 @@ +package no.nav.sifinnsynapi.pdf + +import no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn.ArbeidsgiverMeldingNavNoPDFGenerator +import no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn.PleiepengerArbeidsgiverMelding +import no.nav.sifinnsynapi.konsument.pleiepenger.syktbarn.SøknadsPeriode +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" +} From c39f64d02128028d823e57dd91d08924391d7d88 Mon Sep 17 00:00:00 2001 From: Morten Osvik <33130876+mortenoosvik@users.noreply.github.com> Date: Wed, 15 Jan 2025 15:54:33 +0100 Subject: [PATCH 2/4] Legg til @depracated annotasjon --- .../nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt b/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt index 787ebcaf..8f24d8f1 100644 --- a/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt +++ b/src/main/kotlin/no/nav/sifinnsynapi/pdf/ArbeidsgiverMeldingPDFGenerator.kt @@ -6,6 +6,10 @@ import org.springframework.stereotype.Service 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() { From 5d157dda69b76a27eea5b41de0d694da480f0790 Mon Sep 17 00:00:00 2001 From: Morten Osvik <33130876+mortenoosvik@users.noreply.github.com> Date: Thu, 16 Jan 2025 12:57:26 +0100 Subject: [PATCH 3/4] Legg til loggmelding for at ny template er aktivert --- .../kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" | 1 + 1 file changed, 1 insertion(+) diff --git "a/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" "b/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" index 7b10960e..1d09af10 100644 --- "a/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" +++ "b/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" @@ -111,6 +111,7 @@ class SøknadService( val funnetOrg: JSONObject = pleiepengesøknadJson.finnOrganisasjon(søknad, organisasjonsnummer) if (erNyImAktivert) { + logger.info("Ny inntektsmelding er aktivert, genererer PDF med nytt template.") arbeidsgiverMeldingNavNoPDFGenerator.genererPDF( pleiepengesøknadJson.tilPleiepengerAreidsgivermelding( funnetOrg From 7100fb08e98c20e70caf360f271b05a50dc5b512 Mon Sep 17 00:00:00 2001 From: Morten Osvik <33130876+mortenoosvik@users.noreply.github.com> Date: Thu, 16 Jan 2025 14:06:55 +0100 Subject: [PATCH 4/4] Formatering --- .../sifinnsynapi/soknad/S\303\270knadService.kt" | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git "a/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" "b/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" index 1d09af10..d2e82833 100644 --- "a/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" +++ "b/src/main/kotlin/no/nav/sifinnsynapi/soknad/S\303\270knadService.kt" @@ -33,9 +33,8 @@ class SøknadService( private val dokumentService: DokumentService, private val arbeidsgiverMeldingPDFGenerator: ArbeidsgiverMeldingPDFGenerator, private val arbeidsgiverMeldingNavNoPDFGenerator: ArbeidsgiverMeldingNavNoPDFGenerator, - @Value("\${no.nav.inntektsmelding.ny-im-aktivert}") val erNyImAktivert: Boolean = false, - - ) { + @Value("\${no.nav.inntektsmelding.ny-im-aktivert}") val erNyImAktivert: Boolean = false +) { companion object { private val mapper = ObjectMapper() @@ -118,12 +117,11 @@ class SøknadService( ) ) } else { - arbeidsgiverMeldingPDFGenerator.genererPDF( - pleiepengesøknadJson.tilPleiepengerAreidsgivermelding( - funnetOrg + arbeidsgiverMeldingPDFGenerator.genererPDF( + pleiepengesøknadJson.tilPleiepengerAreidsgivermelding( + funnetOrg + ) ) - ) - } }