-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
NAV-21852: Forhindrer automatisk journalføring for journalposter tilk…
…nyttet strengt fortrolig person(er) (#1163) * NAV-21852: La til nye services for å utlede logikk for automatisk journalføring * Flyttet logikk fra kontantstøttetask til egen service for sjekk om automatisk journalføring * Sammenstiller og grupperer lik logikk i BA og KS sine ruting tasks + automatisk journalføringsservice * NAV-21852: Endret kode slik at prosjektet kompilerer * NAV-21852: Fikset testene for EnhetsnummerService * NAV-21852: Fikset JournalhendelseKontantstøtteRutingTaskTest testene * NAV-21852: Fikset NavnoHendelseTaskLøypeTest testene * NAV-21852: Fikset feilende tester * Opprettet JournalpostBrukerService for å samle duplisert funksjonalitet * Skrevet de første testene av AdressebeskyttelsegraderingService * NAV-21852: La til tester for AutomatiskJournalføringBarnetrygdService og Journalpost.erDigitalSøknad * NAV-21852: Korrigerte assert på feilende test * NAV-21852: Skrev tester for JournalpostBrukerService * Har skrevet test for happy case til AutomatiskJournalføringKontantstøtteService * Skriver tester for AutomatiskJournalføringKontantstøtteService * NAV-21852: Skrev tester for AdressebeskyttelesesgraderingService og endret rekkefølge på logikken i AutomatiskJournalføringBarnetrygdService * NAV-21852: La til manglende tester og endret rekkefølgen på logikken i AutomatiskJournalføringKontantstøtteService * NAV-21852: Kjørte ktlint * NAV-21852: Fjernet en TODO * NAV-21852: Omdøpte metode i AdressebeskyttelesesgraderingService * NAV-21852: Inlinet variabler * NAV-21852: La til manglende tester --------- Co-authored-by: Hanne Olsen <hanne.olsen@nav.no> Co-authored-by: bragejahren <brage.ekroll.jahren@nav.no> Co-authored-by: ole-kristian-rudjord <olekristianrudjord@gmail.com>
- Loading branch information
1 parent
f85f6dc
commit f119468
Showing
23 changed files
with
2,135 additions
and
388 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
79 changes: 79 additions & 0 deletions
79
...n/kotlin/no/nav/familie/baks/mottak/journalføring/AdressebeskyttelesesgraderingService.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
package no.nav.familie.baks.mottak.journalføring | ||
|
||
import no.nav.familie.baks.mottak.integrasjoner.Bruker | ||
import no.nav.familie.baks.mottak.integrasjoner.Journalpost | ||
import no.nav.familie.baks.mottak.integrasjoner.PdlClient | ||
import no.nav.familie.baks.mottak.integrasjoner.SøknadsidenterService | ||
import no.nav.familie.baks.mottak.integrasjoner.erDigitalSøknad | ||
import no.nav.familie.kontrakter.felles.Tema | ||
import org.springframework.stereotype.Service | ||
|
||
@Service | ||
class AdressebeskyttelesesgraderingService( | ||
private val pdlClient: PdlClient, | ||
private val søknadsidenterService: SøknadsidenterService, | ||
private val journalpostBrukerService: JournalpostBrukerService, | ||
) { | ||
fun finnesStrengtFortroligAdressebeskyttelsegraderingPåJournalpost( | ||
tema: Tema, | ||
journalpost: Journalpost, | ||
): Boolean { | ||
if (journalpost.bruker == null) { | ||
throw IllegalStateException("Bruker på journalpost ${journalpost.journalpostId} kan ikke være null") | ||
} | ||
|
||
val (søkersIdent, barnasIdenter) = | ||
when (tema) { | ||
Tema.BAR -> finnIdenterForBarnetrygd(tema, journalpost.bruker, journalpost.journalpostId, journalpost.erDigitalSøknad()) | ||
Tema.KON -> finnIdenterForKontantstøtte(tema, journalpost.bruker, journalpost.journalpostId, journalpost.erDigitalSøknad()) | ||
Tema.ENF, | ||
Tema.OPP, | ||
-> { | ||
throw IllegalStateException("Støtter ikke tema $tema") | ||
} | ||
} | ||
|
||
val alleIdenter = barnasIdenter + søkersIdent | ||
|
||
return alleIdenter | ||
.map { pdlClient.hentPerson(it, "hentperson-med-adressebeskyttelse", tema) } | ||
.flatMap { it.adressebeskyttelse } | ||
.any { it.gradering.erStrengtFortrolig() } | ||
} | ||
|
||
private fun finnIdenterForKontantstøtte( | ||
tema: Tema, | ||
bruker: Bruker, | ||
journalpostId: String, | ||
erDigitalSøknad: Boolean, | ||
): Pair<String, List<String>> = | ||
if (erDigitalSøknad) { | ||
søknadsidenterService.hentIdenterForKontantstøtteViaJournalpost(journalpostId) | ||
} else { | ||
Pair( | ||
journalpostBrukerService.tilPersonIdent( | ||
bruker, | ||
tema, | ||
), | ||
emptyList(), | ||
) | ||
} | ||
|
||
private fun finnIdenterForBarnetrygd( | ||
tema: Tema, | ||
bruker: Bruker, | ||
journalpostId: String, | ||
erDigitalSøknad: Boolean, | ||
): Pair<String, List<String>> = | ||
if (erDigitalSøknad) { | ||
søknadsidenterService.hentIdenterForBarnetrygdViaJournalpost(journalpostId) | ||
} else { | ||
Pair( | ||
journalpostBrukerService.tilPersonIdent( | ||
bruker, | ||
tema, | ||
), | ||
emptyList(), | ||
) | ||
} | ||
} |
66 changes: 66 additions & 0 deletions
66
...tlin/no/nav/familie/baks/mottak/journalføring/AutomatiskJournalføringBarnetrygdService.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
package no.nav.familie.baks.mottak.journalføring | ||
|
||
import no.nav.familie.baks.mottak.config.featureToggle.FeatureToggleConfig | ||
import no.nav.familie.baks.mottak.integrasjoner.ArbeidsfordelingClient | ||
import no.nav.familie.baks.mottak.integrasjoner.BaSakClient | ||
import no.nav.familie.baks.mottak.integrasjoner.Journalpost | ||
import no.nav.familie.baks.mottak.integrasjoner.erBarnetrygdSøknad | ||
import no.nav.familie.baks.mottak.integrasjoner.erDigitalKanal | ||
import no.nav.familie.baks.mottak.integrasjoner.finnesÅpenBehandlingPåFagsak | ||
import no.nav.familie.kontrakter.felles.Tema | ||
import no.nav.familie.unleash.UnleashService | ||
import org.springframework.stereotype.Service | ||
|
||
@Service | ||
class AutomatiskJournalføringBarnetrygdService( | ||
private val unleashService: UnleashService, | ||
private val baSakClient: BaSakClient, | ||
private val arbeidsfordelingClient: ArbeidsfordelingClient, | ||
private val adressebeskyttelesesgraderingService: AdressebeskyttelesesgraderingService, | ||
private val journalpostBrukerService: JournalpostBrukerService, | ||
) { | ||
private val toggleId = FeatureToggleConfig.AUTOMATISK_JOURNALFØRING_AV_BARNETRYGD_SØKNADER | ||
private val tema = Tema.BAR | ||
private val enheterSomIkkeSkalHaAutomatiskJournalføring = listOf("4863", "2103") | ||
|
||
fun skalAutomatiskJournalføres( | ||
journalpost: Journalpost, | ||
brukerHarSakIInfotrygd: Boolean, | ||
fagsakId: Long, | ||
): Boolean { | ||
if (!unleashService.isEnabled(toggleId = toggleId, defaultValue = false)) { | ||
return false | ||
} | ||
|
||
if (!journalpost.erBarnetrygdSøknad()) { | ||
return false | ||
} | ||
|
||
if (brukerHarSakIInfotrygd) { | ||
return false | ||
} | ||
|
||
if (!journalpost.erDigitalKanal()) { | ||
return false | ||
} | ||
|
||
if (adressebeskyttelesesgraderingService.finnesStrengtFortroligAdressebeskyttelsegraderingPåJournalpost(tema, journalpost)) { | ||
return false | ||
} | ||
|
||
val personIdent = journalpostBrukerService.tilPersonIdent(journalpost.bruker!!, tema) | ||
val enhetId = arbeidsfordelingClient.hentBehandlendeEnhetPåIdent(personIdent, tema).enhetId | ||
|
||
if (enhetId in enheterSomIkkeSkalHaAutomatiskJournalføring) { | ||
return false | ||
} | ||
|
||
val minialFagsak = baSakClient.hentMinimalRestFagsak(fagsakId) | ||
|
||
if (minialFagsak.finnesÅpenBehandlingPåFagsak()) { | ||
return false | ||
} | ||
|
||
return true | ||
} | ||
} |
Oops, something went wrong.