Skip to content

Commit

Permalink
Visning transaksjonsid
Browse files Browse the repository at this point in the history
  • Loading branch information
betsytraran committed Sep 11, 2023
1 parent bdfb301 commit d589054
Show file tree
Hide file tree
Showing 7 changed files with 201 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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),
Expand Down
Original file line number Diff line number Diff line change
@@ -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'
Expand All @@ -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 (
<>
Expand Down Expand Up @@ -68,13 +68,3 @@ export const AlderspensjonVisning = ({ data, loading, bestillingIdListe, tilgjen
</ErrorBoundary>
)
}

AlderspensjonVisning.filterValues = (bestillinger, ident) => {
if (!bestillinger) {
return null
}
return bestillinger.filter(
(bestilling: any) =>
bestilling.data.pensjonforvalter?.alderspensjon && erGyldig(bestilling.id, 'PEN_AP', ident),
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ export const BarnetilleggForm = ({ formikBag }) => {
name={`${barnetilleggPath}.barnetilleggType`}
label="Type barnetillegg"
options={Options('barnetilleggType')}
isClearable={false}
/>
<ForventedeInntekterForm
header="Forventede inntekter for søker"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import { useBestilteMiljoer } from '@/utils/hooks/useBestilling'
import Loading from '@/components/ui/loading/Loading'
import React from 'react'
import SubOverskrift from '@/components/ui/subOverskrift/SubOverskrift'
import { Alert } from '@navikt/ds-react'
import { MiljoTabs } from '@/components/ui/miljoTabs/MiljoTabs'
import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { formatDate, showLabel } from '@/utils/DataFormatter'
import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray'
import styled from 'styled-components'

const BarnetilleggSamlet = styled.div`
margin: 0 0 15px 0;
width: 100%;
`
export const sjekkManglerUforetrygdData = (uforetrygdData) => {
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 (
<>
<h4 style={{ margin: '16px 0' }}>{tittel}</h4>
<DollyFieldArray data={data} nested>
{(inntekt, idx) => (
<div className="person-visning_content" key={idx}>
<TitleValue
title="Type inntekt"
value={showLabel('inntektType', inntekt?.inntektType)}
/>
<TitleValue title="Beløp" value={inntekt?.belop} />
<TitleValue title="Dato f.o.m." value={formatDate(inntekt?.datoFom)} />
<TitleValue title="Dato t.o.m." value={formatDate(inntekt?.datoTom)} />
</div>
)}
</DollyFieldArray>
</>
)
}

const DataVisning = ({ data }) => {
return (
<>
<div className="person-visning_content">
<TitleValue title="Krav fremsatt dato" value={formatDate(data?.kravFremsattDato)} />
<TitleValue title="Ønsket virkningsdato" value={formatDate(data?.onsketVirkningsDato)} />
<TitleValue title="Uføretidspunkt" value={formatDate(data?.uforetidspunkt)} />
<TitleValue title="Inntekt før uførhet" value={data?.inntektForUforhet} />
<TitleValue
title="Type barnetillegg"
value={showLabel('barnetilleggType', data?.barnetilleggDetaljer?.barnetilleggType)}
/>
<BarnetilleggSamlet>
<BarnetilleggInntektVisning
data={data?.barnetilleggDetaljer?.forventedeInntekterSoker}
tittel="Forventede inntekter for søker"
/>
<BarnetilleggInntektVisning
data={data?.barnetilleggDetaljer?.forventedeInntekterEP}
tittel="Forventede inntekter for partner"
/>
</BarnetilleggSamlet>
<TitleValue
title="Sats for minimum IFU"
value={showLabel('minimumInntektForUforhetType', data?.minimumInntektForUforhetType)}
/>
<TitleValue title="Uføregrad" value={data?.uforegrad ? `${data?.uforegrad}%` : null} />
<TitleValue title="Saksbehandler" value={data?.saksbehandler} />
<TitleValue title="Attesterer" value={data?.attesterer} />
<TitleValue title="NAV-enhet" value={data?.navEnhetId} />
</div>
</>
)
}

export const UforetrygdVisning = ({ data, loading, bestillingIdListe, tilgjengeligMiljoe }) => {
const { bestilteMiljoer } = useBestilteMiljoer(bestillingIdListe, 'PEN_UT')

if (loading) {
return <Loading label="Laster uføretrygd-data" />
}

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 (
<ErrorBoundary>
<SubOverskrift label="Uføretrygd" iconKind="pensjon" isWarning={manglerFagsystemdata} />
{manglerFagsystemdata ? (
<Alert variant={'warning'} size={'small'} inline style={{ marginBottom: '20px' }}>
Fant ikke uføretrygd-data på person
</Alert>
) : (
<MiljoTabs
bestilteMiljoer={bestilteMiljoer}
errorMiljoer={errorMiljoer}
forsteMiljo={forsteMiljo}
data={filteredData ? filteredData : data}
>
<DataVisning />
</MiljoTabs>
)}
</ErrorBoundary>
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ 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,
useHistarkData,
useInstData,
usePoppData,
useTpData,
useTransaksjonidData,
} from '@/utils/hooks/useFagsystemer'
import { sjekkManglerTpData } from '@/components/fagsystem/tjenestepensjon/visning/TpVisning'
import { sjekkManglerInstData } from '@/components/fagsystem/inst/visning/InstVisning'
Expand All @@ -61,6 +61,7 @@ import {
harMedlBestilling,
harPoppBestilling,
harTpBestilling,
harUforetrygdBestilling,
} from '@/utils/SjekkBestillingFagsystem'
import {
AlderspensjonVisning,
Expand All @@ -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) {
Expand Down Expand Up @@ -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 = () => {
Expand Down Expand Up @@ -210,6 +229,9 @@ export default ({
if (apData && sjekkManglerApData(apData)) {
return true
}
if (uforetrygdData && sjekkManglerUforetrygdData(uforetrygdData)) {
return true
}
if (brregstub && sjekkManglerBrregData(brregstub)) {
return true
}
Expand Down Expand Up @@ -399,6 +421,12 @@ export default ({
bestillingIdListe={bestillingIdListe}
tilgjengeligMiljoe={tilgjengeligMiljoe}
/>
<UforetrygdVisning
data={uforetrygdData}
loading={loadingUforetrygdData}
bestillingIdListe={bestillingIdListe}
tilgjengeligMiljoe={tilgjengeligMiljoe}
/>
<ArenaVisning
data={arenaData}
bestillingIdListe={bestillingIdListe}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,16 @@ export const harApBestilling = (bestillingerFagsystemer) => {
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) => {
Expand Down
35 changes: 28 additions & 7 deletions apps/dolly-frontend/src/main/js/src/utils/hooks/useFagsystemer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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<any, Error>(
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,
}
}
Expand Down

0 comments on commit d589054

Please sign in to comment.