Skip to content

Commit

Permalink
Ska ta med barn over 18 når man oppretter en ny behandling (#1989)
Browse files Browse the repository at this point in the history
* Skal ikke filtrere vekk barn under 18 år når man oppretter en behandling
  • Loading branch information
blommish authored Jan 4, 2023
1 parent 4ebeee0 commit a1525c1
Show file tree
Hide file tree
Showing 8 changed files with 113 additions and 91 deletions.
32 changes: 21 additions & 11 deletions src/main/kotlin/no/nav/familie/ef/sak/barn/BarnService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import no.nav.familie.ef.sak.behandling.BehandlingService
import no.nav.familie.ef.sak.infrastruktur.exception.Feil
import no.nav.familie.ef.sak.infrastruktur.exception.feilHvis
import no.nav.familie.ef.sak.infrastruktur.exception.feilHvisIkke
import no.nav.familie.ef.sak.infrastruktur.featuretoggle.FeatureToggleService
import no.nav.familie.ef.sak.infrastruktur.featuretoggle.Toggle
import no.nav.familie.ef.sak.journalføring.dto.BarnSomSkalFødes
import no.nav.familie.ef.sak.journalføring.dto.UstrukturertDokumentasjonType
import no.nav.familie.ef.sak.journalføring.dto.VilkårsbehandleNyeBarn
Expand All @@ -22,7 +24,8 @@ import java.util.UUID
class BarnService(
private val barnRepository: BarnRepository,
private valknadService: SøknadService,
private val behandlingService: BehandlingService
private val behandlingService: BehandlingService,
private val featureToggleService: FeatureToggleService
) {

/**
Expand All @@ -43,15 +46,17 @@ class BarnService(
barnSomSkalFødes: List<BarnSomSkalFødes> = emptyList(),
vilkårsbehandleNyeBarn: VilkårsbehandleNyeBarn = VilkårsbehandleNyeBarn.IKKE_VALGT
) {
val barnUnder18 = grunnlagsdataBarn.filter { it.fødsel.gjeldende().erUnder18År() }
val barnOver18Toggle = featureToggleService.isEnabled(Toggle.BARN_OVER_18)
val grunnlagsdataBarnFiltrert = grunnlagsdataBarn
.filter { barnOver18Toggle || it.fødsel.gjeldende().erUnder18År() }
val barnPåBehandlingen: List<BehandlingBarn> = when (stønadstype) {
StønadType.BARNETILSYN -> barnForBarnetilsyn(barnSomSkalFødes, behandlingId, barnUnder18)
StønadType.BARNETILSYN -> barnForBarnetilsyn(barnSomSkalFødes, behandlingId, grunnlagsdataBarnFiltrert)
StønadType.OVERGANGSSTØNAD, StønadType.SKOLEPENGER ->
kobleBarnForOvergangsstønadOgSkolepenger(
fagsakId,
behandlingId,
ustrukturertDokumentasjonType,
barnUnder18,
grunnlagsdataBarnFiltrert,
barnSomSkalFødes,
vilkårsbehandleNyeBarn
)
Expand Down Expand Up @@ -107,11 +112,14 @@ class BarnService(
vilkårsbehandleNyeBarn,
grunnlagsdataBarn
)
UstrukturertDokumentasjonType.IKKE_VALGT -> kobleBehandlingBarnOgRegisterBarnTilBehandlingBarn(
finnSøknadsbarnOgMapTilBehandlingBarn(behandlingId = behandlingId),
grunnlagsdataBarn,
behandlingId
)
UstrukturertDokumentasjonType.IKKE_VALGT -> {
val kobledeBarn = kobleBehandlingBarnOgRegisterBarnTilBehandlingBarn(
finnSøknadsbarnOgMapTilBehandlingBarn(behandlingId = behandlingId),
grunnlagsdataBarn,
behandlingId
)
kobledeBarnPlusRegisterbarn(behandlingId, grunnlagsdataBarn, kobledeBarn)
}
}
}

Expand Down Expand Up @@ -248,8 +256,10 @@ class BarnService(
kobledeBarn: List<BehandlingBarn>,
grunnlagsdataBarn: List<BarnMedIdent>
) {
val grunnlagsdataBarnIdenter =
grunnlagsdataBarn.filter { it.fødsel.gjeldende().erUnder18År() }.map { it.personIdent }
val barnOver18Toggle = featureToggleService.isEnabled(Toggle.BARN_OVER_18)
val grunnlagsdataBarnIdenter = grunnlagsdataBarn
.filter { barnOver18Toggle || it.fødsel.gjeldende().erUnder18År() }
.map { it.personIdent }
val kobledeBarnIdenter = kobledeBarn.mapNotNull { it.personIdent }

feilHvisIkke(kobledeBarnIdenter.containsAll(grunnlagsdataBarnIdenter)) {
Expand Down
18 changes: 11 additions & 7 deletions src/main/kotlin/no/nav/familie/ef/sak/behandling/NyeBarnService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import no.nav.familie.ef.sak.behandling.migrering.OpprettOppgaveForMigrertFødtB
import no.nav.familie.ef.sak.fagsak.FagsakService
import no.nav.familie.ef.sak.fagsak.domain.Fagsak
import no.nav.familie.ef.sak.infrastruktur.exception.feilHvis
import no.nav.familie.ef.sak.infrastruktur.featuretoggle.FeatureToggleService
import no.nav.familie.ef.sak.infrastruktur.featuretoggle.Toggle
import no.nav.familie.ef.sak.opplysninger.mapper.BarnMatcher
import no.nav.familie.ef.sak.opplysninger.mapper.MatchetBehandlingBarn
import no.nav.familie.ef.sak.opplysninger.personopplysninger.PersonService
Expand Down Expand Up @@ -35,7 +37,8 @@ class NyeBarnService(
private val fagsakService: FagsakService,
private val personService: PersonService,
private val barnService: BarnService,
private val taskService: TaskService
private val taskService: TaskService,
private val featureToggleService: FeatureToggleService
) {

private val logger: Logger = LoggerFactory.getLogger(javaClass)
Expand Down Expand Up @@ -100,11 +103,12 @@ class NyeBarnService(

private fun finnKobledeBarn(forrigeBehandlingId: UUID, personIdent: String): NyeBarnData {
val alleBarnPåBehandlingen = barnService.finnBarnPåBehandling(forrigeBehandlingId)
val pdlBarnUnder18år = GrunnlagsdataMapper.mapBarn(personService.hentPersonMedBarn(personIdent).barn)
.filter { it.fødsel.gjeldende().erUnder18År() }
val kobledeBarn = BarnMatcher.kobleBehandlingBarnOgRegisterBarn(alleBarnPåBehandlingen, pdlBarnUnder18år)
val barnOver18Toggle = featureToggleService.isEnabled(Toggle.BARN_OVER_18)
val pdlBarn = GrunnlagsdataMapper.mapBarn(personService.hentPersonMedBarn(personIdent).barn)
.filter { barnOver18Toggle || it.fødsel.gjeldende().erUnder18År() }
val kobledeBarn = BarnMatcher.kobleBehandlingBarnOgRegisterBarn(alleBarnPåBehandlingen, pdlBarn)

return NyeBarnData(pdlBarnUnder18år, kobledeBarn)
return NyeBarnData(pdlBarn, kobledeBarn)
}

private fun finnForTidligtFødteBarn(kobledeBarn: NyeBarnData, stønadstype: StønadType): List<NyttBarn> {
Expand All @@ -128,12 +132,12 @@ class NyeBarnService(
}

private data class NyeBarnData(
val pdlBarnUnder18år: List<BarnMedIdent>,
val pdlBarn: List<BarnMedIdent>,
val kobledeBarn: List<MatchetBehandlingBarn>
)

private fun filtrerNyeBarn(data: NyeBarnData) =
data.pdlBarnUnder18år
data.pdlBarn
.filter { pdlBarn -> data.kobledeBarn.none { it.barn?.personIdent == pdlBarn.personIdent } }
.map { barnMinimumDto(it) }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import no.nav.familie.ef.sak.behandlingshistorikk.BehandlingshistorikkService
import no.nav.familie.ef.sak.behandlingshistorikk.domain.Behandlingshistorikk
import no.nav.familie.ef.sak.fagsak.FagsakService
import no.nav.familie.ef.sak.fagsak.domain.Fagsak
import no.nav.familie.ef.sak.infrastruktur.featuretoggle.FeatureToggleService
import no.nav.familie.ef.sak.infrastruktur.featuretoggle.Toggle
import no.nav.familie.ef.sak.infrastruktur.sikkerhet.SikkerhetContext
import no.nav.familie.ef.sak.iverksett.IverksettService
import no.nav.familie.ef.sak.journalføring.JournalpostClient
Expand Down Expand Up @@ -48,10 +50,6 @@ import no.nav.familie.kontrakter.ef.søknad.TestsøknadBuilder
import no.nav.familie.kontrakter.felles.Fødselsnummer
import no.nav.familie.kontrakter.felles.Månedsperiode
import no.nav.familie.kontrakter.felles.Ressurs
import no.nav.familie.kontrakter.felles.dokarkiv.Dokumenttype
import no.nav.familie.kontrakter.felles.dokarkiv.v2.ArkiverDokumentRequest
import no.nav.familie.kontrakter.felles.dokarkiv.v2.Dokument
import no.nav.familie.kontrakter.felles.dokarkiv.v2.Filtype
import no.nav.familie.kontrakter.felles.ef.StønadType
import no.nav.familie.kontrakter.felles.oppgave.Oppgavetype
import no.nav.familie.prosessering.internal.TaskService
Expand Down Expand Up @@ -86,7 +84,8 @@ class TestSaksbehandlingController(
private val journalpostClient: JournalpostClient,
private val migreringService: MigreringService,
private val vurderingService: VurderingService,
private val vurderingStegService: VurderingStegService
private val vurderingStegService: VurderingStegService,
private val featureToggleService: FeatureToggleService
) {

@PostMapping("{behandlingId}/utfyll-vilkar")
Expand Down Expand Up @@ -256,7 +255,10 @@ class TestSaksbehandlingController(
}

private fun mapSøkersBarn(søkerMedBarn: SøkerMedBarn): List<Barn> {
val barneListe: List<Barn> = søkerMedBarn.barn.map {
val barnOver18Toggle = featureToggleService.isEnabled(Toggle.BARN_OVER_18)
val barneListe: List<Barn> = søkerMedBarn.barn
.filter { barnOver18Toggle || it.value.fødsel.gjeldende().erUnder18År() }
.map {
TestsøknadBuilder.Builder().defaultBarn(
navn = it.value.navn.gjeldende().visningsnavn(),
fødselsnummer = it.key,
Expand Down Expand Up @@ -313,27 +315,6 @@ class TestSaksbehandlingController(
samordningsfradrag = 0
)
}

private fun arkiver(fnr: String): String {
val arkiverDokumentRequest = ArkiverDokumentRequest(
fnr,
false,
listOf(
Dokument(
"TEST".toByteArray(),
Filtype.PDFA,
null,
null,
Dokumenttype.OVERGANGSSTØNAD_SØKNAD
)
),
emptyList()
)

val saksbehandler = SikkerhetContext.hentSaksbehandler(true)
val dokumentResponse = journalpostClient.arkiverDokument(arkiverDokumentRequest, saksbehandler)
return dokumentResponse.journalpostId
}
}

private fun TestBehandlingsType.tilStønadstype(): StønadType =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ enum class Toggle(val toggleId: String, val beskrivelse: String? = null) {

BARNETILSYN_REVURDER_FRA("familie.ef.sak.barnetilsyn-revurder-fra"),

BARN_OVER_18("familie.ef.sak.barn-over-18"),

REVURDERING_SANKSJON("familie.ef.sak.revurdering-sanksjon"),

FRONTEND_VIS_IKKE_PUBLISERTE_BREVMALER("familie.ef.sak.frontend-vis-ikke-publiserte-brevmaler"),
Expand Down
Loading

0 comments on commit a1525c1

Please sign in to comment.