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 cb53e164a76..06148e66e9f 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 @@ -1861,7 +1861,10 @@ const mapPensjon = (bestillingData, data) => { obj('Uføretidspunkt', formatDate(uforetrygd.uforetidspunkt)), obj('Inntekt før uførhet', uforetrygd.inntektForUforhet), obj('Har barnetillegg', oversettBoolean(uforetrygd.barnetilleggDetaljer !== null)), - obj('Type barnetillegg', showLabel('barnetilleggType', uforetrygd.barnetilleggType)), + obj( + 'Type barnetillegg', + showLabel('barnetilleggType', uforetrygd.barnetilleggDetaljer?.barnetilleggType), + ), obj( 'Antall forventede inntekter for søker', uforetrygd.barnetilleggDetaljer?.forventedeInntekterSoker?.length, @@ -1874,7 +1877,7 @@ const mapPensjon = (bestillingData, data) => { 'Sats for minimum IFU', showLabel('minimumInntektForUforhetType', uforetrygd.minimumInntektForUforhetType), ), - obj('Uføregrad', uforetrygd.uforegrad), + obj('Uføregrad', uforetrygd.uforegrad ? `${uforetrygd.uforegrad}%` : null), obj('Saksbehandler', uforetrygd.saksbehandler), obj('Attesterer', uforetrygd.attesterer), obj('NAV-enhet', uforetrygd.navEnhetId), diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/visning/AlderspensjonVisning.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/visning/AlderspensjonVisning.tsx index 42b70162587..9ed7ea6c1fc 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/visning/AlderspensjonVisning.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/visning/AlderspensjonVisning.tsx @@ -1,7 +1,6 @@ import SubOverskrift from '@/components/ui/subOverskrift/SubOverskrift' import { TitleValue } from '@/components/ui/titleValue/TitleValue' import React from 'react' -import { erGyldig } from '@/components/transaksjonid/GyldigeBestillinger' import { formatDate } from '@/utils/DataFormatter' import Loading from '@/components/ui/loading/Loading' import { useBestilteMiljoer } from '@/utils/hooks/useBestilling' @@ -12,6 +11,7 @@ import { MiljoTabs } from '@/components/ui/miljoTabs/MiljoTabs' export const sjekkManglerApData = (apData) => { return apData?.length < 1 || apData?.every((miljoData) => !miljoData.data) } + const DataVisning = ({ data }) => { return ( <> @@ -68,13 +68,3 @@ export const AlderspensjonVisning = ({ data, loading, bestillingIdListe, tilgjen ) } - -AlderspensjonVisning.filterValues = (bestillinger, ident) => { - if (!bestillinger) { - return null - } - return bestillinger.filter( - (bestilling: any) => - bestilling.data.pensjonforvalter?.alderspensjon && erGyldig(bestilling.id, 'PEN_AP', ident), - ) -} diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/form/partials/BarnetilleggForm.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/form/partials/BarnetilleggForm.tsx index 75a8231c01e..183e435a6df 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/form/partials/BarnetilleggForm.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/form/partials/BarnetilleggForm.tsx @@ -69,6 +69,7 @@ export const BarnetilleggForm = ({ formikBag }) => { name={`${barnetilleggPath}.barnetilleggType`} label="Type barnetillegg" options={Options('barnetilleggType')} + isClearable={false} /> { + return ( + uforetrygdData?.length < 1 || + uforetrygdData?.every( + (miljoData) => !miljoData.data || Object.keys(miljoData?.data)?.length < 1, + ) + ) +} + +const BarnetilleggInntektVisning = ({ data, tittel }) => { + if (!data || data.length === 0) { + return null + } + + return ( + <> +

{tittel}

+ + {(inntekt, idx) => ( +
+ + + + +
+ )} +
+ + ) +} + +const DataVisning = ({ data }) => { + return ( + <> +
+ + + + + + + + + + + + + + +
+ + ) +} + +export const UforetrygdVisning = ({ data, loading, bestillingIdListe, tilgjengeligMiljoe }) => { + const { bestilteMiljoer } = useBestilteMiljoer(bestillingIdListe, 'PEN_UT') + + if (loading) { + return + } + + if (!data) { + return null + } + + const manglerFagsystemdata = sjekkManglerUforetrygdData(data) + + const miljoerMedData = data?.map((miljoData) => miljoData.data && miljoData.miljo) + const errorMiljoer = bestilteMiljoer?.filter((miljo) => !miljoerMedData?.includes(miljo)) + + const forsteMiljo = data.find((miljoData) => miljoData?.data)?.miljo + + const filteredData = + tilgjengeligMiljoe && data.filter((item) => item.miljo === tilgjengeligMiljoe) + + return ( + + + {manglerFagsystemdata ? ( + + Fant ikke uføretrygd-data på person + + ) : ( + + + + )} + + ) +} diff --git a/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonVisning/PersonVisning.tsx b/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonVisning/PersonVisning.tsx index 66df46bcef5..a677166fbba 100644 --- a/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonVisning/PersonVisning.tsx +++ b/apps/dolly-frontend/src/main/js/src/pages/gruppe/PersonVisning/PersonVisning.tsx @@ -39,7 +39,6 @@ import { sjekkManglerPensjonData } from '@/components/fagsystem/pensjon/visning/ import { sjekkManglerAaregData } from '@/components/fagsystem/aareg/visning/Visning' import { useAmeldinger, useArbeidsforhold } from '@/utils/hooks/useOrganisasjoner' import { - useApData, useArbeidsplassencvData, useArenaData, useDokarkivData, @@ -47,6 +46,7 @@ import { useInstData, usePoppData, useTpData, + useTransaksjonidData, } from '@/utils/hooks/useFagsystemer' import { sjekkManglerTpData } from '@/components/fagsystem/tjenestepensjon/visning/TpVisning' import { sjekkManglerInstData } from '@/components/fagsystem/inst/visning/InstVisning' @@ -61,6 +61,7 @@ import { harMedlBestilling, harPoppBestilling, harTpBestilling, + harUforetrygdBestilling, } from '@/utils/SjekkBestillingFagsystem' import { AlderspensjonVisning, @@ -72,6 +73,11 @@ import _has from 'lodash/has' import { MedlVisning } from '@/components/fagsystem/medl/visning' import { useMedlPerson } from '@/utils/hooks/useMedl' import StyledAlert from '@/components/ui/alert/StyledAlert' +import { + sjekkManglerUforetrygdData, + UforetrygdVisning, +} from '@/components/fagsystem/uforetrygd/visning/UforetrygdVisning' +import { usePensjonEnvironments } from '@/utils/hooks/useEnvironments' const getIdenttype = (ident) => { if (parseInt(ident.charAt(0)) > 3) { @@ -171,9 +177,22 @@ export default ({ harArenaBestilling(bestillingerFagsystemer), ) - const { loading: loadingApData, apData } = useApData( + const { pensjonEnvironments, loading: loadingPensjonEnvironments } = usePensjonEnvironments() + + const { loading: loadingApData, data: apData } = useTransaksjonidData( ident.ident, + 'PEN_AP', harApBestilling(bestillingerFagsystemer), + pensjonEnvironments, + loadingPensjonEnvironments, + ) + + const { loading: loadingUforetrygdData, data: uforetrygdData } = useTransaksjonidData( + ident.ident, + 'PEN_UT', + harUforetrygdBestilling(bestillingerFagsystemer), + pensjonEnvironments, + loadingPensjonEnvironments, ) const getGruppeIdenter = () => { @@ -210,6 +229,9 @@ export default ({ if (apData && sjekkManglerApData(apData)) { return true } + if (uforetrygdData && sjekkManglerUforetrygdData(uforetrygdData)) { + return true + } if (brregstub && sjekkManglerBrregData(brregstub)) { return true } @@ -399,6 +421,12 @@ export default ({ bestillingIdListe={bestillingIdListe} tilgjengeligMiljoe={tilgjengeligMiljoe} /> + { return alderspensjon } +export const harUforetrygdBestilling = (bestillingerFagsystemer) => { + let uforetrygd = false + bestillingerFagsystemer?.forEach((i) => { + if (i.pensjonforvalter?.uforetrygd) { + uforetrygd = true + } + }) + return uforetrygd +} + export const harInstBestilling = (bestillingerFagsystemer) => { let inst = false bestillingerFagsystemer?.forEach((i) => { diff --git a/apps/dolly-frontend/src/main/js/src/utils/hooks/useFagsystemer.tsx b/apps/dolly-frontend/src/main/js/src/utils/hooks/useFagsystemer.tsx index a2fbe61830d..c4380de7da5 100644 --- a/apps/dolly-frontend/src/main/js/src/utils/hooks/useFagsystemer.tsx +++ b/apps/dolly-frontend/src/main/js/src/utils/hooks/useFagsystemer.tsx @@ -94,19 +94,40 @@ export const useTpData = (ident, harTpBestilling) => { } } -export const useApData = (ident, harApBestilling) => { +export const useTransaksjonidData = ( + ident, + system, + harBestilling, + fagsystemMiljoer = null, + fagsystemLoading = false, +) => { const { data, isLoading, error } = useSWR( - harApBestilling ? `/dolly-backend/api/v1/transaksjonid?ident=${ident}&system=PEN_AP` : null, + harBestilling ? `/dolly-backend/api/v1/transaksjonid?ident=${ident}&system=${system}` : null, fetcher, ) - const miljoData = data?.map((m) => { - return { data: m.transaksjonId, miljo: m.miljoe } - }) + const getMiljoData = () => { + if (!harBestilling) { + return null + } + const miljoData = [] + if (fagsystemMiljoer && fagsystemMiljoer.length > 0) { + fagsystemMiljoer.map((miljo) => { + const fagsystemData = data?.find((d) => d?.miljoe === miljo)?.transaksjonId + miljoData.push({ data: fagsystemData, miljo: miljo }) + }) + } else { + data?.map((m) => { + miljoData.push({ data: m.transaksjonId, miljo: m.miljoe }) + }) + } + return miljoData + } + const miljoData = getMiljoData() return { - apData: miljoData?.sort((a, b) => a.miljo?.localeCompare(b.miljo)), - loading: isLoading, + data: miljoData?.sort((a, b) => a.miljo?.localeCompare(b.miljo)), + loading: fagsystemLoading || isLoading, error: error, } }