Skip to content

Commit

Permalink
Feature/uid (#58)
Browse files Browse the repository at this point in the history
* t - Fikset tester med uid i preutfylling
* f - Legger til preutfylling av UID i tillegg til norskident
* t - Fjerner institusjon på utenlandsk ident ved preutfylling
* f - Fjerner institusjon på utenlandsk ident ved preutfylling
* t - Innfører sivilstand
* F - Fjerner sivilstand i PersonDataCollection og innfører det i pdlPerson
* t - Fikser tester ifht sivilstandRina enum
* F - Tar i bruk SivilstandRina enum
* t - Benytter rina enum verdier for sivilstan i testene
* f - Benytter rina enum verdier ved prefill
* f - Preutfyller statsborgerskap så lenge landkode finnes. Ignorerer gyldigFraOgMed dato
* t - Preutfyller statsborgerskap så lenge landkode finnes. Ignorerer gyldigFraOgMed dato
* d - Fjerner Sivilstand fra PersonDataCollection i testene
* f - Fjerner Sivilstand fra PersonDataCollection
* t - Fikser tester slik at de får med seg preutfylling for ytelse
* F - Muliggjør preutfylling av ytelses spesifikke detaljer
* F - Endrer YtelserItem med nye verdier for preutfylling
* T - Tester i q2 på mapping i rina
* t - Retter opp basertpaa til å bruke enum
* f - Returnerer Basertpaa enum fra createVedtakGrunnlagPentionWithRule
* u - Bumper ep-eux 2.3.44 -> 2.3.45
* u - Bumper ep-eux 2.3.45 -> 2.3.46
* d - Legger til logglinje for å finne ut hvorfor kravdato blir null
* d - Legger til logglinje for å finne ut hvorfor kravdato blir null
* r - Endrer ytelse fra YtelsesType til String
* u - Bumper ep-eux 2.3.47 -> 2.3.48
* u - Bumper ep-eux 2.3.48 -> 2.3.49
* u - Bumper ep-eux 2.3.49 -> 2.3.50
* b - Ser om vi kan sende inn alderspensjon i stedet for 10 i ytelsestype på en P2000
* r - Forsøker å sende inn ytelsestype som ALDER fra pesys
* b - Ordner med mapping for ytelse
* b - Ordner med mapping for ytelse
* b - Ordner med endelig riktig mapping for ytelse
* d - Logger ut det vi får fra krr
* b - Fjerner return null på hentPersonFraKrr
* t - Fikset noen flere av testene som var @disabled
* r - Refaktorert hentPersonFraKrr
* u - Bumper ep-eux 2.3.50 -> 2.3.53
* u - Bumper ep-eux 2.3.53 -> 2.3.54
* t - Retter opp tester med Sakstatus
* f - Benytter Sakstatus fra ep-eux for preutfylling i Ytelser
* u - Bumper ep-eux 2.3.54-> 2.3.55
* t - Retter opp tester slik at Ytelser blir med
* r - Retter opp mottasbasertpaa
* F - Endrer uthenting av beløp for createYtelseItemBelop til kun hente ut beløp basert på grunnpensjon
* R - Oppdaterer måten vi populerer data for prefill2xx og prefill2000
* R - Forenkler bruk av MeldingOmPensjon og MeldingOmPensjon2000 til å bruke generics og litt mindre kode
* F!!Forsøk på forenkling av uthenting av beløp, usikker på konsekvens
* f - Legger til totalbruttobeloepbostedsbasert
* t - Legger til mottasbasertpaa i fht nye regler
* f - Legger til mottasbasertpaa i fht nye regler
* f - Legger til forespurt dato som pkt 9.2
* u - Bumper ep-eux 2.3.56 -> 2.3.57
* E - Logger prefilldata i debug
* T - Prefilling av forespurtstartdato
* F - Endrer vurdering for 4.1.10.1 Pensjonen mottas basert på
* F - Rettelse til totalBruttoArbeid, endrer vurdering for 4.1.10.1 Pensjonen mottas basert på
* F - Legger til at mottasbasertpaa også skal settes om det er null eller 0
* F!- Litt prøv og feil for å se hva som fungerer for mottasbasertpaa
* F - Legger til relasjontilbruker43 samtidig som vi beholder relasjontilbruker for eldre sed versjoner
* E - Oppdaterer dev-gcp til ny url for kodeverk
* E - Oppdatering for relasjontilbruker43
* F - Endrer relasjon.barn til releasjon.eget_barn
* T - Retter tester fra å bruke Relasjon:barn til Relasjon:EGET_BARN
* T - Retter Relasjon:EGET_BARN bruker kode, ikke navn
* T - Retter Relasjon:EGET_BARN bruker kode, ikke navn
* T - Retter Relasjon:EGET_BARN bruker kode, ikke navn
* E - Oppdaterer til siste versjon av ep-kodeverk
* E - Oppdaterer til siste versjon av ep-kodeverk
* T - Erstatter relasjontilbruker:Eget Barn med BARN
* F - Fjerner default verdi for barn og releasjon til bruker; ulike verdier hos PDL og hva som forventes av RINA
* b -  Går videre med preutfylling dersom kall til KRR feiler.
* Revert "b -  Går videre med preutfylling dersom kall til KRR feiler."

Co-authored-by: Daniel Skarpås <[email protected]>
  • Loading branch information
MariamPervez and dskarpas authored Jan 6, 2025
1 parent 27a6d69 commit 500b712
Show file tree
Hide file tree
Showing 51 changed files with 1,479 additions and 1,199 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ dependencies {

implementation ("org.springframework.kafka:spring-kafka:$springKafkaVersion")

implementation("no.nav.eessi.pensjon:ep-eux:2.3.37")
implementation("no.nav.eessi.pensjon:ep-eux:2.4.6")
implementation("no.nav.eessi.pensjon:ep-metrics:2.0.89")
implementation("no.nav.eessi.pensjon:ep-logging:2.1.87")
implementation("no.nav.eessi.pensjon:ep-kodeverk:4.1.7"){
Expand Down
8 changes: 6 additions & 2 deletions nais/dev-gcp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,18 @@ spec:
value: dev-gcp.team-rocket.kodeverk-api
- name: KAFKA_AUTOMATISERING_TOPIC
value: eessipensjon.public-automatisering-q2
- name: KODEVERK_URL
value: https://kodeverk-api.nav.no
- name: EESSI_PENSJON_INSTITUSJON
value: NO:NAVAT07
- name: EESSI_PENSJON_INSTITUSJON_NAVN
value: NAV ACCEPTANCE TEST 07
- name: AZURE_APP_PROXY_CLIENT_ID
value: dev-fss.eessipensjon.eessi-pensjon-onprem-proxy-q2

- name: AZURE_APP_KODEVERK_CLIENT_ID
value: dev-gcp.team-rocket.kodeverk-api
- name: KODEVERK_URL
value: https://kodeverk-api.nav.no

- name: ENV
value: q2
image: {{ image }}
Expand Down
1 change: 1 addition & 0 deletions src/main/kotlin/no/nav/eessi/pensjon/prefill/KrrService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class KrrService(private val krrRestTemplate: RestTemplate,

logger.debug("Hent person fra KRR: response: ${response.body}".trimMargin())
return@measure response.body?.let { mapJsonToAny<KrrPerson>(it) }
?: throw IllegalArgumentException("Mangler melding fra KRR")
} catch (e: HttpClientErrorException.NotFound) {
logger.error("Person: $personIdent ikke funnet (404)")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,14 @@ class PersonDataService(private val personService: PersonService,
}

val sivilstand = filterEktefelleRelasjon(forsikretPerson)
val sivilstandType = sivilstand?.type
// val sivilstandType = sivilstand?.type

val ektefellePerson = hentHovedpersonEktefelle(sivilstand)
val barnPerson = hentHovedpersonBarn(forsikretPerson, fyllUtBarnListe)

logger.debug("gjenlevendeEllerAvdod: ${gjenlevendeEllerAvdod?.navn?.sammensattNavn }, forsikretPerson: ${forsikretPerson?.navn?.sammensattNavn }")

PersonDataCollection(gjenlevendeEllerAvdod = gjenlevendeEllerAvdod, forsikretPerson = forsikretPerson!!, ektefellePerson = ektefellePerson, sivilstandstype = sivilstandType, barnPersonList = barnPerson)
PersonDataCollection(gjenlevendeEllerAvdod = gjenlevendeEllerAvdod, forsikretPerson = forsikretPerson!!, ektefellePerson = ektefellePerson, barnPersonList = barnPerson)
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package no.nav.eessi.pensjon.prefill.models

import no.nav.eessi.pensjon.personoppslag.pdl.model.PdlPerson
import no.nav.eessi.pensjon.personoppslag.pdl.model.Sivilstandstype

data class PersonDataCollection(
val gjenlevendeEllerAvdod: PdlPerson?,
val forsikretPerson: PdlPerson?,
val ektefellePerson: PdlPerson? = null,
val sivilstandstype: Sivilstandstype? = null,
val barnPersonList: List<PdlPerson> = emptyList()
)
103 changes: 64 additions & 39 deletions src/main/kotlin/no/nav/eessi/pensjon/prefill/person/PrefillPDLNav.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package no.nav.eessi.pensjon.prefill.person
import no.nav.eessi.pensjon.eux.model.sed.*
import no.nav.eessi.pensjon.kodeverk.KodeverkClient.Companion.toJson
import no.nav.eessi.pensjon.personoppslag.pdl.model.*
import no.nav.eessi.pensjon.personoppslag.pdl.model.IdentGruppe.*
import no.nav.eessi.pensjon.personoppslag.pdl.model.IdentGruppe.FOLKEREGISTERIDENT
import no.nav.eessi.pensjon.personoppslag.pdl.model.IdentGruppe.NPID
import no.nav.eessi.pensjon.personoppslag.pdl.model.Sivilstandstype.*
import no.nav.eessi.pensjon.prefill.models.PersonDataCollection
import no.nav.eessi.pensjon.shared.api.BankOgArbeid
import no.nav.eessi.pensjon.shared.api.PersonInfo
Expand Down Expand Up @@ -50,29 +52,6 @@ class PrefillPDLNav(private val prefillAdresse: PrefillPDLAdresse,
}
}

fun createPersonPinNorIdent(
personpdl: PdlPerson,
institusjonId: String,
institusjonNavn: String): List<PinItem> {
logger.debug("2.1.7 Fodselsnummer/Personnummer")
val identer = personpdl.identer
return listOf(
PinItem(
//hentet lokal NAV insitusjondata fra applikasjon properties.
institusjonsnavn = institusjonNavn,
institusjonsid = institusjonId,

//NAV/Norge benytter ikke seg av sektor, setter denne til null
//personnr
identifikator = identer.firstOrNull { it.gruppe == FOLKEREGISTERIDENT || it.gruppe == NPID }?.ident,

// norsk personnr settes alltid til NO da vi henter NorIdent+
land = "NO"
)
)
}


//8.0 Bank detalsjer om bank betalinger.
private fun createBankData(personInfo: BankOgArbeid): Bank {
logger.debug("8.0 Informasjon om betaling")
Expand Down Expand Up @@ -101,15 +80,15 @@ class PrefillPDLNav(private val prefillAdresse: PrefillPDLAdresse,
private fun createBarnliste(barn: List<Bruker?>): List<BarnItem>? {
return barn
.filterNotNull()
.map { BarnItem(mor = it.mor, person = it.person, far = it.far, relasjontilbruker = Familierelasjonsrolle.BARN.name) }
.map { BarnItem(mor = it.mor, person = it.person, far = it.far) }
.takeIf { it.isNotEmpty() }
}

private fun createEktefelleType(typevalue: Sivilstandstype): String {
logger.debug("5.1 Ektefelle/Partnerskap-type : $typevalue")
return when (typevalue) {
Sivilstandstype.GIFT -> "ektefelle"
Sivilstandstype.REGISTRERT_PARTNER -> "part_i_et_registrert_partnerskap"
GIFT -> "ektefelle"
REGISTRERT_PARTNER -> "part_i_et_registrert_partnerskap"
else -> "" // endring fra TPS istede for SAMBOER så blank hvis ukjent/ikke gift/partner.
}
}
Expand Down Expand Up @@ -164,7 +143,6 @@ class PrefillPDLNav(private val prefillAdresse: PrefillPDLAdresse,
val forsikretPerson = personData.forsikretPerson
val avdodEllerGjenlevende = personData.gjenlevendeEllerAvdod
val ektefellePerson = personData.ektefellePerson
val sivilstandstype = personData.sivilstandstype
val barnPersonList = personData.barnPersonList

logger.debug(
Expand Down Expand Up @@ -197,7 +175,7 @@ class PrefillPDLNav(private val prefillAdresse: PrefillPDLAdresse,

//5.0 ektefelle eller partnerskap
ektefelle = ektefellePerson?.let {
createEktefellePartner(createBruker(it, null, null, bruker), sivilstandstype)
createEktefellePartner(createBruker(it, null, null, bruker), avdodEllerGjenlevende?.sivilstand?.firstOrNull()?.type)
},

//6.0 skal denne kjøres hver gang? eller kun under P2000? P2100
Expand Down Expand Up @@ -278,9 +256,6 @@ class PrefillPDLNav(private val prefillAdresse: PrefillPDLAdresse,
personInfo: PersonInfo? = null): Person {

logger.debug("2.1 Persondata (forsikret person / gjenlevende person / barn)")
val landKode = pdlperson.statsborgerskap
.filterNot { it.gyldigFraOgMed == null }
.maxByOrNull { it.gyldigFraOgMed!! }?.land

return Person(
//2.1.1 familiy name
Expand All @@ -292,9 +267,11 @@ class PrefillPDLNav(private val prefillAdresse: PrefillPDLAdresse,
//2.1.4 //sex
kjoenn = pdlperson.kortKjonn(),
//2.1.7
pin = createPersonPinNorIdent(pdlperson, institutionid, institutionnavn),
//2.2.1.1
statsborgerskap = listOf(createStatsborgerskap(landKode)),
pin = createPersonPin(pdlperson, institutionid, institutionnavn),
//2.2.1.1 statsborgerskap
statsborgerskap = createStatsborgerskap(pdlperson),
//2.2.1.1 sivilstand
sivilstand = createSivilstand(pdlperson),
//2.1.8.1 place of birth
foedested = createFodested(pdlperson),

Expand All @@ -303,6 +280,30 @@ class PrefillPDLNav(private val prefillAdresse: PrefillPDLAdresse,
)
}

fun createPersonPin(
personpdl: PdlPerson,
institusjonId: String,
institusjonNavn: String): List<PinItem> {
logger.debug("2.1.7 Fodselsnummer/Personnummer")
val norskeIdenter = personpdl.identer.filter { it.gruppe == FOLKEREGISTERIDENT || it.gruppe == NPID }.map {
PinItem(
//hentet lokal NAV insitusjondata fra applikasjon properties.
institusjonsnavn = institusjonNavn,
institusjonsid = institusjonId,
identifikator = it.ident,
land = "NO"
)
}
val utenlandskeIdenter = personpdl.utenlandskIdentifikasjonsnummer.map {
PinItem(
//Utenlandsk ident
identifikator = it.identifikasjonsnummer,
land = prefillAdresse.hentLandkode(it.utstederland)
)
}
return norskeIdenter + utenlandskeIdenter
}

private fun createKontakt(personInfo: PersonInfo?): Kontakt? {
logger.debug("Persondata kontakt: ${personInfo?.toJson()}")

Expand Down Expand Up @@ -357,11 +358,35 @@ class PrefillPDLNav(private val prefillAdresse: PrefillPDLAdresse,
* Prefiller to-bokstavs statsborgerskap
* Hopper over Kosovo (XXK) fordi Rina ikke støttet Kosovo
*/
private fun createStatsborgerskap(landkode: String?): StatsborgerskapItem {
private fun createStatsborgerskap(pdlperson: PdlPerson): List<StatsborgerskapItem> {
logger.debug("2.2.1.1 Land / Statsborgerskap")
if(validateUgyldigeLand(landkode) == null){
return StatsborgerskapItem()
val statsborgerskap = pdlperson.statsborgerskap
.filterNot { validateUgyldigeLand(it.land) == null }
.map {
logger.debug(" Statsborgerskap: ${it.land}")
StatsborgerskapItem(prefillAdresse.hentLandkode(it.land))
}
return StatsborgerskapItem(prefillAdresse.hentLandkode(landkode))

return statsborgerskap.distinct()
}

/**
* Prefiller sivilstand-status og -dato fra PDL
*/
private fun createSivilstand(pdlperson: PdlPerson): List<SivilstandItem> {
logger.debug("2.2.2.1 Sivilstand")
val sivilstand = pdlperson.sivilstand
.filterNot { it.gyldigFraOgMed == null }
.map {
logger.info("Sivilstand: ${it.type} dato: ${it.gyldigFraOgMed}")
when(it.type){
UGIFT -> SivilstandItem(it.gyldigFraOgMed.toString(), SivilstandRina.enslig)
GIFT -> SivilstandItem(it.gyldigFraOgMed.toString(), SivilstandRina.gift)
SKILT -> SivilstandItem(it.gyldigFraOgMed.toString(), SivilstandRina.skilt)
REGISTRERT_PARTNER -> SivilstandItem(it.gyldigFraOgMed.toString(), SivilstandRina.registrert_partnerskap)
else -> SivilstandItem(null, null)
}
}
return sivilstand.distinct()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,7 @@ package no.nav.eessi.pensjon.prefill.sed
import no.nav.eessi.pensjon.eux.model.SedType
import no.nav.eessi.pensjon.eux.model.document.P6000Dokument
import no.nav.eessi.pensjon.eux.model.document.Retning
import no.nav.eessi.pensjon.eux.model.sed.AdressatForRevurderingItem
import no.nav.eessi.pensjon.eux.model.sed.BeloepItem
import no.nav.eessi.pensjon.eux.model.sed.BeregningItem
import no.nav.eessi.pensjon.eux.model.sed.Bruker
import no.nav.eessi.pensjon.eux.model.sed.EessisakItem
import no.nav.eessi.pensjon.eux.model.sed.Ektefelle
import no.nav.eessi.pensjon.eux.model.sed.Institusjon
import no.nav.eessi.pensjon.eux.model.sed.Nav
import no.nav.eessi.pensjon.eux.model.sed.P6000
import no.nav.eessi.pensjon.eux.model.sed.P6000Pensjon
import no.nav.eessi.pensjon.eux.model.sed.P7000
import no.nav.eessi.pensjon.eux.model.sed.P7000Pensjon
import no.nav.eessi.pensjon.eux.model.sed.PensjonAvslagItem
import no.nav.eessi.pensjon.eux.model.sed.Person
import no.nav.eessi.pensjon.eux.model.sed.PinItem
import no.nav.eessi.pensjon.eux.model.sed.ReduksjonItem
import no.nav.eessi.pensjon.eux.model.sed.SamletMeldingVedtak
import no.nav.eessi.pensjon.eux.model.sed.TildeltPensjonItem
import no.nav.eessi.pensjon.eux.model.sed.Tilleggsinformasjon
import no.nav.eessi.pensjon.eux.model.sed.YtelserItem
import no.nav.eessi.pensjon.eux.model.sed.*
import no.nav.eessi.pensjon.prefill.models.PersonDataCollection

import no.nav.eessi.pensjon.prefill.person.PrefillSed
Expand Down Expand Up @@ -231,7 +212,7 @@ class PrefillP7000Mk2Turbo(private val prefillSed: PrefillSed) {
beloep = listOf(
BeloepItem(
valuta = beregn.valuta,
betalingshyppighetytelse = mapUtbetalingHyppighet(beregn.utbetalingshyppighet),
betalingshyppighetytelse = Betalingshyppighet.maaned_12_per_aar,
utbetalingshyppighetAnnen = beregn.utbetalingshyppighetAnnen,
beloepBrutto = beregn.beloepBrutto?.beloep
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ import no.nav.eessi.pensjon.pensjonsinformasjon.models.Sakstatus
return when (saktype) {
"UFOREP" -> "08"
"ALDER" -> "10"
"GJENLEV" -> "11"
"BARNEP" -> "11"
else -> "07"
else -> "11"
}
}

Expand Down
Loading

0 comments on commit 500b712

Please sign in to comment.