diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/kriterier/BestillingKriterieMapper.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/kriterier/BestillingKriterieMapper.tsx index 8c6b6d8e2dc..859a78ad691 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/kriterier/BestillingKriterieMapper.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/kriterier/BestillingKriterieMapper.tsx @@ -180,6 +180,43 @@ const mapFoedsel = (foedsel, data) => { } } +const mapFoedested = (foedested, data) => { + if (foedested) { + const foedestedData = { + header: 'Fødested', + itemRows: foedested.map((item, idx) => { + return isEmpty(item, ['kilde', 'master']) + ? [obj('Fødested', ingenVerdierSatt)] + : [ + { numberHeader: `Fødested ${idx + 1}` }, + obj('Fødested', item.foedested), + obj('Fødekommune', item.foedekommune, AdresseKodeverk.Kommunenummer), + obj('Fødeland', item.foedeland, AdresseKodeverk.InnvandretUtvandretLand), + ] + }), + } + data.push(foedestedData) + } +} + +const mapFoedselsdato = (foedselsdato, data) => { + if (foedselsdato) { + const foedselsdatoData = { + header: 'Fødselsdato', + itemRows: foedselsdato.map((item, idx) => { + return isEmpty(item, ['kilde', 'master']) + ? [obj('Fødselsdato', ingenVerdierSatt)] + : [ + { numberHeader: `Fødselsdato ${idx + 1}` }, + obj('Fødselsdato', formatDate(item.foedselsdato)), + obj('Fødselsår', item.foedselsaar), + ] + }), + } + data.push(foedselsdatoData) + } +} + const mapInnflytting = (innflytting, data) => { if (innflytting) { const innflyttingData = { @@ -2200,6 +2237,8 @@ export function mapBestillingData(bestillingData, bestillingsinformasjon, firstI if (pdldataKriterier) { const { foedsel, + foedested, + foedselsdato, kjoenn, navn, telefonnummer, @@ -2226,6 +2265,8 @@ export function mapBestillingData(bestillingData, bestillingsinformasjon, firstI } = pdldataKriterier mapFoedsel(foedsel, data) + mapFoedested(foedested, data) + mapFoedselsdato(foedselsdato, data) mapInnflytting(innflytting, data) mapUtflytting(utflytting, data) mapKjoenn(kjoenn, data) diff --git a/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg1/paneler/Personinformasjon.tsx b/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg1/paneler/Personinformasjon.tsx index bd4509075be..b65065f73c7 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg1/paneler/Personinformasjon.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg1/paneler/Personinformasjon.tsx @@ -5,7 +5,8 @@ import { Attributt, AttributtKategori } from '../Attributt' import { BestillingsveilederContext } from '@/components/bestillingsveileder/BestillingsveilederContext' import { getInitialDoedsfall, - getInitialFoedsel, + getInitialFoedested, + getInitialFoedselsdato, getInitialKjoenn, getInitialNavn, getInitialStatsborgerskap, @@ -84,7 +85,8 @@ export const PersoninformasjonPanel = ({ stateModifier, testnorgeIdent }) => { iconType={'personinformasjon'} > - + + @@ -129,7 +131,8 @@ export const PersoninformasjonPanel = ({ stateModifier, testnorgeIdent }) => { > - + + @@ -206,7 +209,8 @@ PersoninformasjonPanel.initialValues = ({ set, opts, setMulti, del, has }) => { alder: 'pdldata.opprettNyPerson.alder', foedtEtter: 'pdldata.opprettNyPerson.foedtEtter', foedtFoer: 'pdldata.opprettNyPerson.foedtFoer', - foedsel: 'pdldata.person.foedsel', + foedested: 'pdldata.person.foedested', + foedselsdato: 'pdldata.person.foedselsdato', doedsfall: 'pdldata.person.doedsfall', statsborgerskap: 'pdldata.person.statsborgerskap', innflytting: 'pdldata.person.innflytting', @@ -244,11 +248,17 @@ PersoninformasjonPanel.initialValues = ({ set, opts, setMulti, del, has }) => { add: () => setMulti([paths.alder, null], [paths.foedtEtter, null], [paths.foedtFoer, null]), remove: () => del([paths.alder, paths.foedtEtter, paths.foedtFoer]), }, - foedsel: { - label: 'Fødsel', - checked: has(paths.foedsel), - add: () => set(paths.foedsel, [getInitialFoedsel(initMaster)]), - remove: () => del([paths.foedsel]), + foedested: { + label: 'Fødested', + checked: has(paths.foedested), + add: () => set(paths.foedested, [getInitialFoedested(initMaster)]), + remove: () => del([paths.foedested]), + }, + foedselsdato: { + label: 'Fødselsdato', + checked: has(paths.foedselsdato), + add: () => set(paths.foedselsdato, [getInitialFoedselsdato(initMaster)]), + remove: () => del([paths.foedselsdato]), }, doedsdato: { label: 'Dødsdato', diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/form/Form.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/form/Form.tsx index 373a7c68df8..bfb3918d36c 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/form/Form.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/form/Form.tsx @@ -74,10 +74,15 @@ export const AlderspensjonForm = () => { const { harAlder, alderNyPerson, foedtFoer, harGyldigAlder } = sjekkAlderFelt() const alderLeggTilPerson = getAlder( - _get(opts, 'personFoerLeggTil.pdl.hentPerson.foedsel[0].foedselsdato'), + _get(opts, 'personFoerLeggTil.pdl.hentPerson.foedselsdato[0].foedselsdato') || + _get(opts, 'personFoerLeggTil.pdl.hentPerson.foedsel[0].foedselsdato'), ) + const alderImportertPerson = opts?.importPersoner?.map((person) => - getAlder(_get(person, 'data.hentPerson.foedsel[0].foedselsdato')), + getAlder( + _get(person, 'data.hentPerson.foedselsdato[0].foedselsdato') || + _get(person, 'data.hentPerson.foedsel[0].foedselsdato'), + ), ) const harUgyldigFoedselsaar = () => { diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arena/form/validation.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arena/form/validation.tsx index 877060bca0c..3ca5d430191 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/arena/form/validation.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/arena/form/validation.tsx @@ -17,28 +17,28 @@ export const getFoedselsdatoer = (values) => { const personFoerLeggTil = values?.personFoerLeggTil const importPersoner = values?.importPersoner - if (values?.pdldata?.person?.foedsel?.[0]?.foedselsdato) { - return [values.pdldata.person.foedsel[0].foedselsdato] - } else if (values?.pdldata?.person?.foedselsdato?.[0]?.foedselsdato) { + if (values?.pdldata?.person?.foedselsdato?.[0]?.foedselsdato) { return [values.pdldata.person.foedselsdato[0].foedselsdato] - } else if (personFoerLeggTil?.pdlforvalter?.person?.foedsel) { - const foedselsdatoer = personFoerLeggTil.pdlforvalter.person.foedsel + } else if (values?.pdldata?.person?.foedsel?.[0]?.foedselsdato) { + return [values.pdldata.person.foedsel[0].foedselsdato] + } else if (personFoerLeggTil?.pdlforvalter?.person?.foedselsdato) { + const foedselsdatoer = personFoerLeggTil.pdlforvalter.person.foedselsdato .map((foedsel) => foedsel.foedselsdato) .sort((a, b) => new Date(b) - new Date(a)) return [foedselsdatoer?.[0]] - } else if (personFoerLeggTil?.pdlforvalter?.person?.foedselsdato) { - const foedselsdatoer = personFoerLeggTil.pdlforvalter.person.foedselsdato + } else if (personFoerLeggTil?.pdlforvalter?.person?.foedsel) { + const foedselsdatoer = personFoerLeggTil.pdlforvalter.person.foedsel .map((foedsel) => foedsel.foedselsdato) .sort((a, b) => new Date(b) - new Date(a)) return [foedselsdatoer?.[0]] } else if (personFoerLeggTil?.pdl) { const pdlPerson = personFoerLeggTil.pdl.hentPerson || personFoerLeggTil.pdl.person - return [pdlPerson?.foedsel?.[0]?.foedselsdato || pdlPerson?.foedselsdato?.[0]?.foedselsdato] + return [pdlPerson?.foedselsdato?.[0]?.foedselsdato || pdlPerson?.foedsel?.[0]?.foedselsdato] } else if (importPersoner) { return importPersoner.map( (person) => - person?.data?.hentPerson?.foedsel?.[0]?.foedselsdato || - person?.data?.hentPerson?.foedselsdato?.[0]?.foedselsdato, + person?.data?.hentPerson?.foedselsdato?.[0]?.foedselsdato || + person?.data?.hentPerson?.foedsel?.[0]?.foedselsdato, ) } return [] diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdl/visning/PdlVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdl/visning/PdlVisning.tsx index 355d9e5c8a2..4282b2eb4c5 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdl/visning/PdlVisning.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdl/visning/PdlVisning.tsx @@ -49,7 +49,6 @@ export const PdlVisning = ({ const { hentPerson, hentIdenter, hentGeografiskTilknytning, ident } = pdlData const { - foedsel, telefonnummer, vergemaalEllerFremtidsfullmakt, tilrettelagtKommunikasjon, @@ -82,7 +81,7 @@ export const PdlVisning = ({ tpsMessagingLoading={loading?.tpsMessaging} /> - + diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/PdlTypes.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/PdlTypes.tsx index a4f7364e2de..d90181053df 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/PdlTypes.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/PdlTypes.tsx @@ -17,6 +17,8 @@ export type PersonData = { navn?: Array kjoenn?: Array foedsel?: Array + foedselsdato?: Array + foedested?: Array statsborgerskap?: Array adressebeskyttelse?: Array sivilstand?: Array @@ -55,6 +57,21 @@ export type FoedselData = { id?: number } +export type FoedselsdatoData = { + foedselsdato: string + foedselsaar: number + metadata: Metadata + id?: number +} + +export type FoedestedData = { + foedested: string + foedekommune: string + foedeland: string + metadata: Metadata + id?: number +} + export type DoedsfallData = { doedsdato: string metadata: Metadata @@ -102,6 +119,7 @@ export type SivilstandData = { export type Metadata = { historisk: boolean + master?: string } export enum Rolle { diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/initialValues.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/initialValues.tsx index 7ee63e6b7d0..ec8c32b3e24 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/initialValues.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/initialValues.tsx @@ -202,6 +202,21 @@ export const getInitialFoedsel = (master = 'FREG') => ({ master: master, }) +export const getInitialFoedested = (master = 'FREG') => ({ + foedekommune: null as unknown as string, + foedeland: null as unknown as string, + foedested: null as unknown as string, + kilde: 'Dolly', + master: master, +}) + +export const getInitialFoedselsdato = (master = 'FREG') => ({ + foedselsaar: null as unknown as number, + foedselsdato: null as unknown as string, + kilde: 'Dolly', + master: master, +}) + export const initialOrganisasjon = { organisasjonsnummer: null as unknown as string, organisasjonsnavn: null as unknown as string, diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/foedsel/Foedested.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/foedsel/Foedested.tsx new file mode 100644 index 00000000000..01e885a2996 --- /dev/null +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/foedsel/Foedested.tsx @@ -0,0 +1,75 @@ +import { FormDollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray' +import { AvansertForm } from '@/components/fagsystem/pdlf/form/partials/avansert/AvansertForm' +import { getInitialFoedested } from '@/components/fagsystem/pdlf/form/initialValues' +import { FormTextInput } from '@/components/ui/form/inputs/textInput/TextInput' +import { AdresseKodeverk } from '@/config/kodeverk' +import { FormSelect } from '@/components/ui/form/inputs/select/Select' +import { SelectedValue } from '@/components/fagsystem/pdlf/PdlTypes' +import { useContext } from 'react' +import { BestillingsveilederContext } from '@/components/bestillingsveileder/BestillingsveilederContext' +import { UseFormReturn } from 'react-hook-form/dist/types' + +type FoedestedTypes = { + formMethods: UseFormReturn + path?: string +} + +export const FoedestedForm = ({ formMethods, path }: FoedestedTypes) => { + const opts = useContext(BestillingsveilederContext) + + const handleLandChange = (selected: SelectedValue, foededtedPath: string) => { + formMethods.setValue(`${foededtedPath}.foedeland`, selected?.value || null) + if (selected?.value !== 'NOR') { + formMethods.setValue(`${foededtedPath}.foedekommune`, null) + } + formMethods.trigger() + } + + return ( + <> + + + handleLandChange(selected, path)} + kodeverk={AdresseKodeverk.InnvandretUtvandretLand} + size="large" + /> + + + ) +} + +export const Foedested = ({ formMethods }: FoedestedTypes) => { + const opts = useContext(BestillingsveilederContext) + + return ( +
+ + {(path: string, _idx: number) => { + return + }} + +
+ ) +} diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/foedsel/Foedselsdato.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/foedsel/Foedselsdato.tsx new file mode 100644 index 00000000000..d49f90a40c7 --- /dev/null +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/foedsel/Foedselsdato.tsx @@ -0,0 +1,82 @@ +import { FormDollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray' +import { AvansertForm } from '@/components/fagsystem/pdlf/form/partials/avansert/AvansertForm' +import { FormDatepicker } from '@/components/ui/form/inputs/datepicker/Datepicker' +import { getInitialFoedsel } from '@/components/fagsystem/pdlf/form/initialValues' +import { Yearpicker } from '@/components/ui/form/inputs/yearpicker/Yearpicker' +import { useContext } from 'react' +import { BestillingsveilederContext } from '@/components/bestillingsveileder/BestillingsveilederContext' +import { UseFormReturn } from 'react-hook-form/dist/types' + +type FoedselsdatoTypes = { + formMethods: UseFormReturn + path?: string +} + +export const FoedselsdatoForm = ({ formMethods, path }: FoedselsdatoTypes) => { + const opts = useContext(BestillingsveilederContext) + + const foedselsaar = formMethods.watch(`${path}.foedselsaar`) + const foedselsdato = formMethods.watch(`${path}.foedselsdato`) + + const minDateFoedsel = + opts?.identtype === 'NPID' ? new Date('01.01.1870') : new Date('01.01.1900') + + const harAlder = () => { + return ( + formMethods.watch('pdldata.opprettNyPerson.alder') || + formMethods.watch('pdldata.opprettNyPerson.foedtEtter') || + formMethods.watch('pdldata.opprettNyPerson.foedtFoer') + ) + } + + return ( + <> + + { + formMethods.setValue(`${path}.foedselsaar`, val ? new Date(val).getFullYear() : null) + formMethods.trigger() + }} + maxDate={new Date()} + minDate={minDateFoedsel} + // @ts-ignore + disabled={(foedselsdato !== null && foedselsaar === null) || harAlder()} + /> + + + ) +} + +export const Foedselsdato = ({ formMethods }: FoedselsdatoTypes) => { + const opts = useContext(BestillingsveilederContext) + + return ( +
+ + {(path: string, _idx: number) => { + return + }} + +
+ ) +} diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/personinformasjon/Personinformasjon.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/personinformasjon/Personinformasjon.tsx index 8183357d54e..c8b87460133 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/personinformasjon/Personinformasjon.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/personinformasjon/Personinformasjon.tsx @@ -16,10 +16,13 @@ import { TilrettelagtKommunikasjon } from '@/components/fagsystem/pdlf/form/part import { Alder } from '@/components/fagsystem/pdlf/form/partials/alder/Alder' import { Kjoenn } from '@/components/fagsystem/pdlf/form/partials/kjoenn/Kjoenn' import { Navn } from '@/components/fagsystem/pdlf/form/partials/navn/Navn' -import { Foedsel } from '@/components/fagsystem/pdlf/form/partials/foedsel/Foedsel' import { Vergemaal } from '@/components/fagsystem/pdlf/form/partials/vergemaal/Vergemaal' import { NorskBankkonto, UtenlandskBankkonto } from '@/components/fagsystem/bankkonto/form' import { SkjermingForm } from '@/components/fagsystem/skjermingsregister/form/SkjermingForm' +import { Foedested } from '@/components/fagsystem/pdlf/form/partials/foedsel/Foedested' +import { Foedselsdato } from '@/components/fagsystem/pdlf/form/partials/foedsel/Foedselsdato' + +const foedselPaths = ['pdldata.person.foedested', 'pdldata.person.foedselsdato'] const nasjonalitetPaths = [ 'pdldata.person.statsborgerskap', @@ -48,7 +51,8 @@ const tilrettelagtKommunikasjonPath = ['pdldata.person.tilrettelagtKommunikasjon const innvandringPath = ['pdldata.person.innflytting'] const utvandringPath = ['pdldata.person.utflytting'] const statsborgerskapPath = ['pdldata.person.statsborgerskap'] -const foedselPath = ['pdldata.person.foedsel'] +const foedestedPath = ['pdldata.person.foedested'] +const foedselsdatoPath = ['pdldata.person.foedselsdato'] const doedsfallPath = ['pdldata.person.doedsfall'] const vergemaalPath = ['pdldata.person.vergemaal'] const fullmaktPath = ['pdldata.person.fullmakt'] @@ -64,7 +68,7 @@ const panelPaths = [ navnPath, telefonnummerPath, tilrettelagtKommunikasjonPath, - foedselPath, + foedselPaths, doedsfallPath, vergemaalPath, fullmaktPath, @@ -91,8 +95,13 @@ export const Personinformasjon = ({ formMethods }) => { )} - - + + + + + + + diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/visning/PdlfVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/visning/PdlfVisning.tsx index d1e48c53365..bcd19fe9285 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/visning/PdlfVisning.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/visning/PdlfVisning.tsx @@ -90,8 +90,8 @@ export const PdlfVisning = ({ fagsystemData, loading, tmpPersoner, erRedigerbar skjermingData={skjermingData} erRedigerbar={erRedigerbar} /> - + data: PersonData tmpPersoner?: Array ident?: string erPdlVisning?: boolean @@ -30,12 +40,14 @@ type FoedselLesTypes = { } type FoedselVisningTypes = { - foedsel: FoedselData + foedsel: FoedselData | FoedselsdatoData | FoedestedData idx: number - data: Array - tmpPersoner: Array - ident: string - erPdlVisning: boolean + data: Array | Array | Array + tmpPersoner?: Array + ident?: string + erPdlVisning?: boolean + getInitialFoedsel: Function + name: string } const FoedselLes = ({ foedsel, idx }: FoedselLesTypes) => { @@ -70,11 +82,13 @@ const FoedselVisning = ({ data, erPdlVisning, ident, + getInitialFoedsel, + name, }: FoedselVisningTypes) => { const initFoedsel = Object.assign(_.cloneDeep(getInitialFoedsel()), data[idx]) - const initialValues = { foedsel: initFoedsel } + const initialValues = { [name]: initFoedsel } - const redigertFoedselPdlf = _.get(tmpPersoner, `${ident}.person.foedsel`)?.find( + const redigertFoedselPdlf = _.get(tmpPersoner, `${ident}.person.${name}`)?.find( (a: Person) => a.id === foedsel.id, ) const slettetFoedselPdlf = tmpPersoner?.hasOwnProperty(ident) && !redigertFoedselPdlf @@ -84,7 +98,7 @@ const FoedselVisning = ({ const foedselValues = redigertFoedselPdlf ? redigertFoedselPdlf : foedsel const redigertFoedselValues = redigertFoedselPdlf - ? { foedsel: Object.assign(_.cloneDeep(getInitialFoedsel()), redigertFoedselPdlf) } + ? { [name]: Object.assign(_.cloneDeep(getInitialFoedsel()), redigertFoedselPdlf) } : null return erPdlVisning ? ( @@ -94,7 +108,7 @@ const FoedselVisning = ({ dataVisning={} initialValues={initialValues} redigertAttributt={redigertFoedselValues} - path="foedsel" + path={name} ident={ident} /> ) @@ -107,7 +121,13 @@ export const Foedsel = ({ erPdlVisning = false, erRedigerbar = true, }: FoedselTypes) => { - if (!data || data.length === 0) { + const { foedsel, foedested, foedselsdato } = data + + const harFoedsel = foedsel && foedsel.length > 0 + const harFoedested = foedested && foedested.length > 0 + const harFoedselsdato = foedselsdato && foedselsdato.length > 0 + + if (!harFoedsel && !harFoedested && !harFoedselsdato) { return null } @@ -116,22 +136,74 @@ export const Foedsel = ({
- - {(item: FoedselData, idx: number) => - erRedigerbar ? ( - - ) : ( - - ) - } - + {harFoedested || foedselsdato ? ( + <> + {harFoedested && ( +
+ + {(item: FoedestedData, idx: number) => + erRedigerbar ? ( + + ) : ( + + ) + } + +
+ )} + {harFoedselsdato && ( +
+ + {(item: FoedselsdatoData, idx: number) => + erRedigerbar ? ( + + ) : ( + + ) + } + +
+ )} + + ) : ( + + {(item: FoedselData, idx: number) => + erRedigerbar ? ( + + ) : ( + + ) + } + + )}
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/visning/partials/RelatertPerson.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/visning/partials/RelatertPerson.tsx index bf0586f0e4c..4ef5597e89b 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/visning/partials/RelatertPerson.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/visning/partials/RelatertPerson.tsx @@ -45,7 +45,10 @@ export const RelatertPerson = ({ data, tittel, marginTop = '0' }: RelatertPerson - + case Attributt.Foedsel: return + case Attributt.Foedested: + return + case Attributt.Foedselsdato: + return case Attributt.Doedsfall: return case Attributt.Statsborgerskap: diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pensjon/form/validation.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pensjon/form/validation.tsx index d6218765a2e..2fe0f29ca5b 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pensjon/form/validation.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pensjon/form/validation.tsx @@ -16,30 +16,30 @@ const getAlder = (values, personFoerLeggTil, importPersoner) => { let alder = _.get(values, 'pdldata.opprettNyPerson.alder') if (_.isNil(alder)) { let foedselsdato = null - if (values?.pdldata?.person?.foedsel?.[0]?.foedselsdato) { - foedselsdato = values.pdldata.person.foedsel[0].foedselsdato - } else if (values?.pdldata?.person?.foedselsdato?.[0]?.foedselsdato) { + if (values?.pdldata?.person?.foedselsdato?.[0]?.foedselsdato) { foedselsdato = values.pdldata.person.foedselsdato[0].foedselsdato - } else if (personFoerLeggTil?.pdlforvalter?.person?.foedsel) { - const foedselsdatoer = personFoerLeggTil.pdlforvalter.person.foedsel + } else if (values?.pdldata?.person?.foedsel?.[0]?.foedselsdato) { + foedselsdato = values.pdldata.person.foedsel[0].foedselsdato + } else if (personFoerLeggTil?.pdlforvalter?.person?.foedselsdato) { + const foedselsdatoer = personFoerLeggTil.pdlforvalter.person.foedselsdato .map((foedsel) => foedsel.foedselsdato) .sort((a, b) => new Date(b) - new Date(a)) foedselsdato = foedselsdatoer?.[0] - } else if (personFoerLeggTil?.pdlforvalter?.person?.foedselsdato) { - const foedselsdatoer = personFoerLeggTil.pdlforvalter.person.foedselsdato + } else if (personFoerLeggTil?.pdlforvalter?.person?.foedsel) { + const foedselsdatoer = personFoerLeggTil.pdlforvalter.person.foedsel .map((foedsel) => foedsel.foedselsdato) .sort((a, b) => new Date(b) - new Date(a)) foedselsdato = foedselsdatoer?.[0] } else if (personFoerLeggTil?.pdl) { const pdlPerson = personFoerLeggTil.pdl.hentPerson || personFoerLeggTil.pdl.person foedselsdato = - pdlPerson?.foedsel?.[0]?.foedselsdato || pdlPerson?.foedselsdato?.[0]?.foedselsdato + pdlPerson?.foedselsdato?.[0]?.foedselsdato || pdlPerson?.foedsel?.[0]?.foedselsdato } else if (importPersoner) { const foedselsdatoer = importPersoner .map( (person) => - person?.data?.hentPerson?.foedsel?.[0]?.foedselsdato || - person?.data?.hentPerson?.foedselsdato?.[0]?.foedselsdato, + person?.data?.hentPerson?.foedselsdato?.[0]?.foedselsdato || + person?.data?.hentPerson?.foedsel?.[0]?.foedselsdato, ) .sort((a, b) => new Date(b) - new Date(a)) foedselsdato = foedselsdatoer?.[0] diff --git a/apps/dolly-frontend/src/main/js/src/components/ui/form/formUtils.tsx b/apps/dolly-frontend/src/main/js/src/components/ui/form/formUtils.tsx index 1ccb1a853d1..7076a8ca7cc 100644 --- a/apps/dolly-frontend/src/main/js/src/components/ui/form/formUtils.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/ui/form/formUtils.tsx @@ -29,7 +29,8 @@ export const fixTimezone = (date: Date) => { const getValgteAttributter = (values) => { const rootPaths = [ 'pdldata.opprettNyPerson.alder', - 'pdldata.person.foedsel', + 'pdldata.person.foedested', + 'pdldata.person.foedselsdato', 'pdldata.person.doedsfall', 'pdldata.person.statsborgerskap', 'pdldata.person.innflytting', diff --git a/apps/dolly-frontend/src/main/js/src/ducks/fagsystem/index.tsx b/apps/dolly-frontend/src/main/js/src/ducks/fagsystem/index.tsx index 76751152394..e61ea6bf0e9 100644 --- a/apps/dolly-frontend/src/main/js/src/ducks/fagsystem/index.tsx +++ b/apps/dolly-frontend/src/main/js/src/ducks/fagsystem/index.tsx @@ -401,7 +401,10 @@ const getPdlIdentInfo = (ident, bestillingStatuser, pdlData) => { const navn = getNavn(person.navn) const mellomnavn = navn?.mellomnavn ? `${navn.mellomnavn.charAt(0)}.` : '' const kjonn = person.kjoenn[0] ? getKjoenn(person.kjoenn[0].kjoenn) : 'U' - const alder = getAlder(person.foedsel[0]?.foedselsdato, person.doedsfall[0]?.doedsdato) + const alder = getAlder( + person.foedselsdato[0]?.foedselsdato || person.foedsel[0]?.foedselsdato, + person.doedsfall[0]?.doedsdato, + ) return { ident, diff --git a/apps/dolly-frontend/src/main/js/src/pages/dollySoek/ResultatVisning.tsx b/apps/dolly-frontend/src/main/js/src/pages/dollySoek/ResultatVisning.tsx index 28d1ac9e3ee..27ee2a1e790 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/dollySoek/ResultatVisning.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/dollySoek/ResultatVisning.tsx @@ -103,7 +103,7 @@ export const ResultatVisning = ({ resultat, soekError }) => { return <>Ukjent } const alder = getAlder( - row.person?.foedsel?.[0]?.foedselsdato || row.person?.foedselsdato?.[0]?.foedselsdato, + row.person?.foedselsdato?.[0]?.foedselsdato || row.person?.foedsel?.[0]?.foedselsdato, row.person?.doedsfall?.[0]?.doedsdato, ) return <>{formatAlder(alder, row.person?.doedsfall?.[0]?.doedsdato)} diff --git a/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonVisning/PersonMiljoeinfo/PdlDataTyper.tsx b/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonVisning/PersonMiljoeinfo/PdlDataTyper.tsx index ff1772e925b..a0de8a4317c 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonVisning/PersonMiljoeinfo/PdlDataTyper.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonVisning/PersonMiljoeinfo/PdlDataTyper.tsx @@ -1,6 +1,8 @@ import { DoedfoedtBarnData, + FoedestedData, FoedselData, + FoedselsdatoData, Foreldreansvar, ForeldreBarnRelasjon, Metadata, @@ -42,7 +44,9 @@ export type Ident = { } export type HentPerson = { - foedsel: [FoedselData] + foedsel?: [FoedselData] + foedselsdato?: [FoedselsdatoData] + foedested?: [FoedestedData] bostedsadresse: Array deltBosted: Array oppholdsadresse: Array @@ -293,15 +297,6 @@ export type UtflyttingFraNorge = { metadata: Metadata } -export type Foedsel = { - foedselsaar: string - foedselsdato: string - foedeland: string - foedested: string - foedekommune: string - metadata: Metadata -} - type Doedsfall = { doedsdato: string metadata: Metadata diff --git a/apps/dolly-frontend/src/main/js/src/pages/testnorgePage/search/SearchView.tsx b/apps/dolly-frontend/src/main/js/src/pages/testnorgePage/search/SearchView.tsx index fe85236c92a..266984ab33b 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/testnorgePage/search/SearchView.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/testnorgePage/search/SearchView.tsx @@ -119,7 +119,7 @@ export default ({ width: '15', formatter: (_cell: any, row: PdlData) => { const alder = getAlder( - row.hentPerson?.foedsel[0]?.foedselsdato, + row.hentPerson?.foedselsdato[0]?.foedselsdato || row.hentPerson?.foedsel[0]?.foedselsdato, row.hentPerson?.doedsfall[0]?.doedsdato, ) return <>{formatAlder(alder, row.hentPerson?.doedsfall[0]?.doedsdato)} diff --git a/apps/dolly-frontend/src/main/js/src/utils/hooks/useSelectOptions.tsx b/apps/dolly-frontend/src/main/js/src/utils/hooks/useSelectOptions.tsx index f385fed8aee..2e57b91007c 100644 --- a/apps/dolly-frontend/src/main/js/src/utils/hooks/useSelectOptions.tsx +++ b/apps/dolly-frontend/src/main/js/src/utils/hooks/useSelectOptions.tsx @@ -61,7 +61,7 @@ export const usePdlOptions = (gruppe, master = 'PDLF') => { ?.map((relasjon) => relasjon.relatertPerson?.ident) : null) const alder = getAlder( - id.person?.foedsel?.[0]?.foedselsdato || id.person?.foedselsdato?.[0]?.foedselsdato, + id.person?.foedselsdato?.[0]?.foedselsdato || id.person?.foedsel?.[0]?.foedselsdato, ) const kjoenn = id?.person?.kjoenn?.[0].kjoenn?.toLowerCase() personData.push({