Skip to content

Commit

Permalink
Endre tekst for manglende inntektsmelding og forelagte opplysninger (…
Browse files Browse the repository at this point in the history
…Dev) (#474)
  • Loading branch information
eirik1502 authored Jan 21, 2025
1 parent 749cd68 commit 241883c
Show file tree
Hide file tree
Showing 20 changed files with 331 additions and 173 deletions.
22 changes: 4 additions & 18 deletions src/main/kotlin/no/nav/helse/flex/brukervarsel/Brukervarsel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import org.apache.kafka.clients.producer.ProducerRecord
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Component
import java.time.Instant
import java.time.LocalDate
import java.time.ZoneOffset.UTC

@Component
Expand All @@ -24,12 +23,9 @@ class Brukervarsel(
fun beskjedManglerInntektsmelding(
fnr: String,
bestillingId: String,
orgNavn: String,
fom: LocalDate,
synligFremTil: Instant,
forsinketSaksbehandling: Boolean,
brukEksternVarsling: Boolean,
sendt: Instant,
varselTekst: String,
) {
val opprettVarsel =
VarselActionBuilder.opprett {
Expand All @@ -40,12 +36,7 @@ class Brukervarsel(
tekst =
Tekst(
spraakkode = "nb",
tekst =
if (forsinketSaksbehandling) {
skapVenterPåInntektsmelding28Tekst(orgNavn, sendt)
} else {
skapVenterPåInntektsmelding15Tekst(orgNavn, sendt)
},
tekst = varselTekst,
default = true,
)
aktivFremTil = synligFremTil.atZone(UTC)
Expand Down Expand Up @@ -101,7 +92,7 @@ class Brukervarsel(
fnr: String,
bestillingId: String,
synligFremTil: Instant,
revarsel: Boolean,
varselTekst: String,
) {
val opprettVarsel =
VarselActionBuilder.opprett {
Expand All @@ -112,12 +103,7 @@ class Brukervarsel(
tekst =
Tekst(
spraakkode = "nb",
tekst =
if (revarsel) {
skapRevarselForsinketSaksbehandlingTekst()
} else {
skapForsinketSaksbehandling28Tekst()
},
tekst = varselTekst,
default = true,
)
aktivFremTil = synligFremTil.atZone(UTC)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class OpprettBrukervarselForForelagteOpplysninger(
startSyketilfelle: LocalDate,
opprinneligOpprettet: Instant,
) {
val varselTekst = skapForelagteOpplysningerTekst(startSyketilfelle)
val synligFremTil = opprinneligOpprettet.tilOsloZone().plusWeeks(3).toInstant()
val lenkeTilForelagteOpplysninger = "$forelagteOpplysningerBaseUrl/$varselId"

Expand All @@ -38,7 +39,7 @@ class OpprettBrukervarselForForelagteOpplysninger(
bestillingId = varselId,
synligFremTil = synligFremTil,
lenke = lenkeTilForelagteOpplysninger,
varselTekst = skapForelagteOpplysningerTekst(startSyketilfelle),
varselTekst = varselTekst,
)

meldingKafkaProducer.produserMelding(
Expand All @@ -48,7 +49,7 @@ class OpprettBrukervarselForForelagteOpplysninger(
fnr = fnr,
opprettMelding =
OpprettMelding(
tekst = skapForelagteOpplysningerTekst(startSyketilfelle),
tekst = varselTekst,
lenke = lenkeTilForelagteOpplysninger,
variant = Variant.INFO,
lukkbar = false,
Expand Down
38 changes: 38 additions & 0 deletions src/main/kotlin/no/nav/helse/flex/varseltekst/VarselTekst.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package no.nav.helse.flex.varseltekst

import no.nav.helse.flex.util.norskDateFormat
import java.time.LocalDate

fun skapVenterPåInntektsmelding15Tekst(
orgnavn: String,
startSyketilfelle: LocalDate,
): String =
"Status for sykefraværet som startet ${startSyketilfelle.formater()}: " +
"Vi venter på inntektsmelding fra $orgnavn."

fun skapVenterPåInntektsmelding28Tekst(
orgnavn: String,
startSyketilfelle: LocalDate,
): String =
"Status for sykefraværet som startet ${startSyketilfelle.formater()}: " +
"Saksbehandlingen er forsinket fordi vi fortsatt venter på inntektsmelding fra $orgnavn."

fun skapForsinketSaksbehandling28Tekst(startSyketilfelle: LocalDate): String {
@Suppress("ktlint:standard:max-line-length")
return "Status for sykefraværet som startet ${startSyketilfelle.formater()}: " +
"Behandlingen av søknaden din om sykepenger tar lengre tid enn forventet. Vi beklager eventuelle ulemper dette medfører. Se vår oversikt over forventet saksbehandlingstid."
}

fun skapRevarselForsinketSaksbehandlingTekst(startSyketilfelle: LocalDate): String {
@Suppress("ktlint:standard:max-line-length")
return "Status for sykefraværet som startet ${startSyketilfelle.formater()}: " +
"Saksbehandling tar lengre tid enn forventet. Søknaden vil forhåpentligvis være ferdigbehandlet innen 4 uker. Vi beklager eventuelle ulemper dette medfører."
}

fun skapForelagteOpplysningerTekst(startSyketilfelle: LocalDate): String =
"Status for sykefraværet som startet ${startSyketilfelle.formater()}: " +
"Vi har hentet opplysninger om inntekten din fra a-ordningen. Vi trenger at du sjekker om de stemmer."

internal fun LocalDate.formater(): String? = this.format(norskDateFormat)

const val SAKSBEHANDLINGSTID_URL = "https://www.nav.no/saksbehandlingstider#sykepenger"

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -222,12 +222,14 @@ class ForsinketSaksbehandlingVarslingFørsteVarsel(

log.info("Sender første forsinket saksbehandling varsel til vedtaksperiode ${perioden.vedtaksperiode.vedtaksperiodeId}")

val varselTekst = skapForsinketSaksbehandling28Tekst(soknaden.startSyketilfelle)
val synligFremTil = OffsetDateTime.now().plusMonths(4).toInstant()

brukervarsel.beskjedForsinketSaksbehandling(
fnr = fnr,
bestillingId = brukervarselId,
synligFremTil = synligFremTil,
revarsel = false,
varselTekst = varselTekst,
)

val meldingBestillingId = randomGenerator.nextUUID()
Expand All @@ -238,7 +240,7 @@ class ForsinketSaksbehandlingVarslingFørsteVarsel(
fnr = fnr,
opprettMelding =
OpprettMelding(
tekst = skapForsinketSaksbehandling28Tekst(),
tekst = varselTekst,
lenke = SAKSBEHANDLINGSTID_URL,
variant = Variant.INFO,
lukkbar = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional
import java.time.Instant
import java.time.OffsetDateTime
import java.time.temporal.ChronoUnit.DAYS
import kotlin.collections.last

@Component
class ForsinketSaksbehandlingRevarselFinnPersoner(
Expand Down Expand Up @@ -143,12 +144,15 @@ class ForsinketSaksbehandlingVarslingRevarsel(
"Revarsler forsinket saksbehandling til vedtaksperiode ${revarslingsperiode.vedtaksperiode.vedtaksperiodeId}",
)

val startSyketilfelle = revarslingsperiode.soknader.sortedBy { it.sendt }.last().startSyketilfelle
val varselTekst = skapRevarselForsinketSaksbehandlingTekst(startSyketilfelle)
val synligFremTil = OffsetDateTime.now().plusMonths(4).toInstant()

brukervarsel.beskjedForsinketSaksbehandling(
fnr = fnr,
bestillingId = brukervarselId,
synligFremTil = synligFremTil,
revarsel = true,
varselTekst = varselTekst,
)

val meldingBestillingId = randomGenerator.nextUUID()
Expand All @@ -159,7 +163,7 @@ class ForsinketSaksbehandlingVarslingRevarsel(
fnr = fnr,
opprettMelding =
OpprettMelding(
tekst = skapRevarselForsinketSaksbehandlingTekst(),
tekst = varselTekst,
lenke = SAKSBEHANDLINGSTID_URL,
variant = Variant.INFO,
lukkbar = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,15 +137,14 @@ class ManglendeInntektsmeldingAndreVarsel(
}

val synligFremTil = OffsetDateTime.now().plusMonths(4).toInstant()
val varselTekst = skapVenterPåInntektsmelding28Tekst(orgnavn, soknaden.startSyketilfelle)

brukervarsel.beskjedManglerInntektsmelding(
fnr = fnr,
bestillingId = brukervarselId,
orgNavn = orgnavn,
fom = soknaden.startSyketilfelle,
sendt = soknaden.sendt,
synligFremTil = synligFremTil,
forsinketSaksbehandling = true,
brukEksternVarsling = idx == 0,
varselTekst = varselTekst,
)

val meldingBestillingId = randomGenerator.nextUUID()
Expand All @@ -156,7 +155,7 @@ class ManglendeInntektsmeldingAndreVarsel(
fnr = fnr,
opprettMelding =
OpprettMelding(
tekst = skapVenterPåInntektsmelding28Tekst(orgnavn, soknaden.sendt),
tekst = varselTekst,
lenke = inntektsmeldingManglerUrl,
variant = Variant.INFO,
lukkbar = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,19 +134,17 @@ class ManglendeInntektsmeldingFørsteVarsel(
organisasjonRepository.findByOrgnummer(soknaden.orgnummer)?.navn ?: soknaden.orgnummer
}

val varselTekst = skapVenterPåInntektsmelding15Tekst(orgnavn, soknaden.startSyketilfelle)
val synligFremTil = OffsetDateTime.now().plusMonths(4).toInstant()

log.info("Sender første mangler inntektsmelding varsel til vedtaksperiode ${perioden.vedtaksperiode.vedtaksperiodeId}")

brukervarsel.beskjedManglerInntektsmelding(
fnr = fnr,
bestillingId = brukervarselId,
orgNavn = orgnavn,
fom = soknaden.startSyketilfelle,
synligFremTil = synligFremTil,
forsinketSaksbehandling = false,
brukEksternVarsling = idx == 0,
sendt = soknaden.sendt,
varselTekst = varselTekst,
)

val meldingBestillingId = randomGenerator.nextUUID()
Expand All @@ -157,7 +155,7 @@ class ManglendeInntektsmeldingFørsteVarsel(
fnr = fnr,
opprettMelding =
OpprettMelding(
tekst = skapVenterPåInntektsmelding15Tekst(orgnavn, soknaden.sendt),
tekst = varselTekst,
lenke = inntektsmeldingManglerUrl,
variant = Variant.INFO,
lukkbar = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class EtterfolgendePerioderVenterPaArbeidsgiverTest : FellesTestOppsett() {
navn = orgnavn,
),
id = UUID.randomUUID().toString(),
startSyketilfelle = LocalDate.of(2022, 5, 28),
fom = LocalDate.of(2022, 5, 29),
tom = LocalDate.of(2022, 6, 30),
)
Expand All @@ -66,6 +67,7 @@ class EtterfolgendePerioderVenterPaArbeidsgiverTest : FellesTestOppsett() {
orgnummer = orgnummer,
navn = orgnavn,
),
startSyketilfelle = LocalDate.of(2022, 5, 28),
fom = LocalDate.of(2022, 5, 29),
tom = LocalDate.of(2022, 6, 30),
)
Expand Down Expand Up @@ -162,9 +164,10 @@ class EtterfolgendePerioderVenterPaArbeidsgiverTest : FellesTestOppsett() {
perioderSomVenterPaaArbeidsgiver.shouldHaveSize(1)
perioderSomVenterPaaArbeidsgiver.first() shouldBeEqualTo fnr

vedtaksperiodeBehandlingRepository.finnPersonerMedPerioderSomVenterPaaArbeidsgiver(
sendtTidspunkt.minusHours(3).toInstant(),
).shouldBeEmpty()
vedtaksperiodeBehandlingRepository
.finnPersonerMedPerioderSomVenterPaaArbeidsgiver(
sendtTidspunkt.minusHours(3).toInstant(),
).shouldBeEmpty()
}

@Test
Expand Down Expand Up @@ -202,12 +205,14 @@ class EtterfolgendePerioderVenterPaArbeidsgiverTest : FellesTestOppsett() {
beskjedInput.link shouldBeEqualTo "https://www-gcp.dev.nav.no/syk/sykefravaer/inntektsmelding"
beskjedInput.sensitivitet shouldBeEqualTo Sensitivitet.High
beskjedInput.tekster.first().tekst shouldBeEqualTo
"Vi venter på inntektsmelding fra Flex AS. Når vi får den kan vi behandle søknaden om sykepenger du sendte 1. juli 2022."
"Status for sykefraværet som startet 28. mai 2022: " +
"Vi venter på inntektsmelding fra Flex AS."

val beskjedCR2 = brukerVarslinger.last().value().tilOpprettVarselInstance()
beskjedCR2.eksternVarsling.shouldBeNull()
beskjedCR2.tekster.first().tekst shouldBeEqualTo
"Vi venter på inntektsmelding fra Kebabfabrikken. Når vi får den kan vi behandle søknaden om sykepenger du sendte 1. juli 2022."
"Status for sykefraværet som startet 28. mai 2022: " +
"Vi venter på inntektsmelding fra Kebabfabrikken."

val meldinger = meldingKafkaConsumer.ventPåRecords(2)
val meldingCR = meldinger.first()
Expand All @@ -218,15 +223,17 @@ class EtterfolgendePerioderVenterPaArbeidsgiverTest : FellesTestOppsett() {
val opprettMelding = melding.opprettMelding.shouldNotBeNull()
opprettMelding.meldingType shouldBeEqualTo "MANGLENDE_INNTEKTSMELDING"
opprettMelding.tekst shouldBeEqualTo
"Vi venter på inntektsmelding fra Flex AS. Når vi får den kan vi behandle søknaden om sykepenger du sendte 1. juli 2022."
"Status for sykefraværet som startet 28. mai 2022: " +
"Vi venter på inntektsmelding fra Flex AS."
opprettMelding.lenke shouldBeEqualTo "https://www-gcp.dev.nav.no/syk/sykefravaer/inntektsmelding"
opprettMelding.lukkbar shouldBeEqualTo false
opprettMelding.variant shouldBeEqualTo Variant.INFO
opprettMelding.synligFremTil.shouldNotBeNull()

val opprettMeldingTo = objectMapper.readValue<MeldingKafkaDto>(meldinger.last().value())
opprettMeldingTo.opprettMelding!!.tekst shouldBeEqualTo
"Vi venter på inntektsmelding fra Kebabfabrikken. Når vi får den kan vi behandle søknaden om sykepenger du sendte 1. juli 2022."
"Status for sykefraværet som startet 28. mai 2022: " +
"Vi venter på inntektsmelding fra Kebabfabrikken."
}

@Test
Expand Down
Loading

0 comments on commit 241883c

Please sign in to comment.