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 2f0a9e561a5..0a78914053c 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
@@ -3,52 +3,69 @@ import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import React from 'react'
import { erGyldig } from '@/components/transaksjonid/GyldigeBestillinger'
import { formatDate } from '@/utils/DataFormatter'
-import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray'
+import Loading from '@/components/ui/loading/Loading'
+import { useBestilteMiljoer } from '@/utils/hooks/useBestilling'
+import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
+import { Alert } from '@navikt/ds-react'
+import { MiljoTabs } from '@/components/ui/miljoTabs/MiljoTabs'
-const DataVisning = ({ apBestilling }) => {
+export const sjekkManglerApData = (apData) => {
+ return apData?.length < 1 || apData?.every((miljoData) => !miljoData.data)
+}
+const DataVisning = ({ data }) => {
return (
<>
-
-
+
+
>
)
}
-export const AlderspensjonVisning = ({ data }) => {
- // Det er ikke mulig a hente tilbake AP-data, derfor viser vi kun bestillingsdata pa person
- if (!data || data.length < 1) {
- return null
+export const AlderspensjonVisning = ({ data, loading, bestillingIdListe, tilgjengeligMiljoe }) => {
+ const { bestilteMiljoer } = useBestilteMiljoer(bestillingIdListe, 'PEN_AP')
+
+ if (loading) {
+ return
}
- const bestillingerFiltrert = data.filter((bestilling) => !bestilling.erGjenopprettet)
- if (bestillingerFiltrert?.length < 1) {
+ if (!data || data?.length < 1) {
return null
}
+ const manglerFagsystemdata = sjekkManglerApData(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 (
- <>
-
- {bestillingerFiltrert?.length === 1 ? (
-
+
+
+ {manglerFagsystemdata ? (
+
+ Fant ikke alderspensjon-data på person
+
) : (
-
- {(bestilling) => (
-
- )}
-
+
+
+
)}
- >
+
)
}
@@ -58,6 +75,6 @@ AlderspensjonVisning.filterValues = (bestillinger, ident) => {
}
return bestillinger.filter(
(bestilling: any) =>
- bestilling.data.pensjonforvalter?.alderspensjon && erGyldig(bestilling.id, 'PEN_AP', ident)
+ bestilling.data.pensjonforvalter?.alderspensjon && erGyldig(bestilling.id, 'PEN_AP', ident),
)
}
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 4cee94ef134..66df46bcef5 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,6 +39,7 @@ 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,
@@ -61,7 +62,10 @@ import {
harPoppBestilling,
harTpBestilling,
} from '@/utils/SjekkBestillingFagsystem'
-import { AlderspensjonVisning } from '@/components/fagsystem/alderspensjon/visning/AlderspensjonVisning'
+import {
+ AlderspensjonVisning,
+ sjekkManglerApData,
+} from '@/components/fagsystem/alderspensjon/visning/AlderspensjonVisning'
import { useOrganisasjonTilgang } from '@/utils/hooks/useBruker'
import { ArbeidsplassenVisning } from '@/components/fagsystem/arbeidsplassen/visning/Visning'
import _has from 'lodash/has'
@@ -159,16 +163,19 @@ export default ({
const {
loading: loadingArbeidsplassencvData,
arbeidsplassencvData,
- error: arbeidsplassencvError,} = useArbeidsplassencvData(
- ident.ident,
- harArbeidsplassenBestilling(bestillingerFagsystemer),
- )
+ error: arbeidsplassencvError,
+ } = useArbeidsplassencvData(ident.ident, harArbeidsplassenBestilling(bestillingerFagsystemer))
const { loading: loadingArenaData, arenaData } = useArenaData(
ident.ident,
harArenaBestilling(bestillingerFagsystemer),
)
+ const { loading: loadingApData, apData } = useApData(
+ ident.ident,
+ harApBestilling(bestillingerFagsystemer),
+ )
+
const getGruppeIdenter = () => {
return useAsync(async () => DollyApi.getGruppeById(gruppeId), [DollyApi.getGruppeById])
}
@@ -200,6 +207,9 @@ export default ({
if (tpData && sjekkManglerTpData(tpData)) {
return true
}
+ if (apData && sjekkManglerApData(apData)) {
+ return true
+ }
if (brregstub && sjekkManglerBrregData(brregstub)) {
return true
}
@@ -383,11 +393,12 @@ export default ({
bestillingIdListe={bestillingIdListe}
tilgjengeligMiljoe={tilgjengeligMiljoe}
/>
- {harApBestilling(bestillingerFagsystemer) && (
-
- )}
+
{
}
}
+export const useApData = (ident, harApBestilling) => {
+ const { data, isLoading, error } = useSWR(
+ harApBestilling ? `/dolly-backend/api/v1/transaksjonid?ident=${ident}&system=PEN_AP` : null,
+ fetcher,
+ )
+
+ const miljoData = data?.map((m) => {
+ return { data: m.transaksjonId, miljo: m.miljoe }
+ })
+
+ return {
+ apData: miljoData?.sort((a, b) => a.miljo?.localeCompare(b.miljo)),
+ loading: isLoading,
+ error: error,
+ }
+}
+
export const useInstData = (ident, harInstBestilling) => {
const { instEnvironments } = useInstEnvironments()