Skip to content

Commit

Permalink
Bestillingsvisning alderspensjon, uforetrygd, afp-offentlig
Browse files Browse the repository at this point in the history
  • Loading branch information
betsytraran committed Dec 12, 2024
1 parent 7e03236 commit 25ecd5e
Show file tree
Hide file tree
Showing 7 changed files with 256 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ import { PensjonsgivendeInntekt } from '@/components/fagsystem/pensjon/bestillin
import { GenerertPensjonsgivendeInntekt } from '@/components/fagsystem/pensjon/bestilling/GenerertPensjonsgivendeInntekt'
import { Pensjonsavtale } from '@/components/fagsystem/pensjonsavtale/bestilling/Pensjonsavtale'
import { Tjenestepensjon } from '@/components/fagsystem/tjenestepensjon/bestilling/Tjenestepensjon'
import { Alderspensjon } from '@/components/fagsystem/alderspensjon/bestilling/Alderspensjon'
import { Uforetrygd } from '@/components/fagsystem/uforetrygd/bestilling/Uforetrygd'
import { AfpOffentlig } from '@/components/fagsystem/afpOffentlig/bestilling/AfpOffentlig'

export const BestillingTitle = styled.h4`
margin: 5px 0 15px 0;
Expand Down Expand Up @@ -128,6 +131,9 @@ export const Bestillingsdata = ({ bestilling }: any) => {
/>
<Pensjonsavtale pensjon={bestilling.pensjonforvalter?.pensjonsavtale} />
<Tjenestepensjon pensjon={bestilling.pensjonforvalter?.tp} />
<Alderspensjon pensjon={bestilling.pensjonforvalter?.alderspensjon} />
<Uforetrygd pensjon={bestilling.pensjonforvalter?.uforetrygd} />
<AfpOffentlig pensjon={bestilling.pensjonforvalter?.afpOffentlig} />
</>
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import { isEmpty } from '@/components/fagsystem/pdlf/form/partials/utils'
import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
import { BestillingData, BestillingTitle } from '@/components/bestilling/sammendrag/Bestillingsdata'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { formatDate, showLabel } from '@/utils/DataFormatter'
import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray'
import React from 'react'
import { showTpNavn } from '@/components/fagsystem/afpOffentlig/visning/AfpOffentligVisning'
import {
AfpOffentligTypes,
BeloepTypes,
MocksvarTypes,
} from '@/components/fagsystem/afpOffentlig/afpOffentligTypes'

type AfpOffentligProps = {
pensjon: AfpOffentligTypes
}

export const AfpOffentlig = ({ pensjon }: AfpOffentligProps) => {
if (!pensjon || isEmpty(pensjon)) {
return null
}

return (
<div className="person-visning">
<ErrorBoundary>
<BestillingTitle>AFP offentlig</BestillingTitle>
<BestillingData>
<TitleValue
title="Direktekall"
value={pensjon.direktekall?.map((tpId) => showTpNavn(tpId))?.join(', ')}
size="xlarge"
/>
<DollyFieldArray header="AFP offentlig" data={pensjon?.mocksvar}>
{(afpOffentlig: MocksvarTypes, idx: number) => (
<React.Fragment key={idx}>
<TitleValue title="TP-ordning" value={showTpNavn(afpOffentlig.tpId)} />
<TitleValue
title="Status AFP"
value={showLabel('statusAfp', afpOffentlig.statusAfp)}
/>
<TitleValue title="Virkningsdato" value={formatDate(afpOffentlig.virkningsDato)} />
<TitleValue title="Sist benyttet G" value={afpOffentlig.sistBenyttetG} />
{afpOffentlig.belopsListe?.length > 0 && (
<DollyFieldArray header="Beløp" data={afpOffentlig.belopsListe} nested>
{(belop: BeloepTypes, idy: number) => (
<React.Fragment key={idy}>
<TitleValue title="F.o.m. dato" value={formatDate(belop.fomDato)} />
<TitleValue title="Beløp" value={belop.belop} />
</React.Fragment>
)}
</DollyFieldArray>
)}
</React.Fragment>
)}
</DollyFieldArray>
</BestillingData>
</ErrorBoundary>
</div>
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
export type AlderspensjonTypes = {
kravFremsattDato: string
iverksettelsesdato: string
saksbehandler: string
attesterer: string
uttaksgrad: number
navEnhetId: string
relasjoner?: Array<{
sumAvForvArbKapPenInntekt: string
}>
soknad: boolean
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import { isEmpty } from '@/components/fagsystem/pdlf/form/partials/utils'
import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
import { BestillingData, BestillingTitle } from '@/components/bestilling/sammendrag/Bestillingsdata'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { formatDate } from '@/utils/DataFormatter'
import React from 'react'
import { AlderspensjonTypes } from '@/components/fagsystem/alderspensjon/AlderspensjonTypes'
import { useNavEnheter } from '@/utils/hooks/useNorg2'

type AlderspensjonProps = {
pensjon?: AlderspensjonTypes
}

export const Alderspensjon = ({ pensjon }: AlderspensjonProps) => {
const { navEnheter } = useNavEnheter()

if (!pensjon || isEmpty(pensjon)) {
return null
}

const navEnhetLabel = navEnheter?.find(
(enhet) => enhet.value === pensjon.navEnhetId?.toString(),
)?.label

return (
<div className="person-visning">
<ErrorBoundary>
<BestillingTitle>
{'Alderspensjon: ' + (pensjon?.soknad ? 'Søknad' : 'Vedtak')}
</BestillingTitle>
<BestillingData>
<TitleValue title="Krav fremsatt dato" value={formatDate(pensjon?.kravFremsattDato)} />
<TitleValue title="Iverksettelsesdato" value={formatDate(pensjon?.iverksettelsesdato)} />
<TitleValue title="Saksbehandler" value={pensjon?.saksbehandler} />
<TitleValue title="Attesterer" value={pensjon?.attesterer} />
<TitleValue title="Uttaksgrad" value={`${pensjon?.uttaksgrad}%`} />
<TitleValue title="NAV-kontor" value={navEnhetLabel || pensjon?.navEnhetId} />
<TitleValue
title="Ektefelle/partners inntekt"
value={pensjon?.relasjoner?.[0]?.sumAvForvArbKapPenInntekt}
/>
</BestillingData>
</ErrorBoundary>
</div>
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
export type UforetrygdTypes = {
uforetidspunkt: string
kravFremsattDato: string
onsketVirkningsDato: string
inntektForUforhet: number
inntektEtterUforhet: number
uforegrad: number
minimumInntektForUforhetType: string
saksbehandler: string
attesterer: string
navEnhetId: string
barnetilleggDetaljer: BarnetilleggDetaljer
}

export type BarnetilleggDetaljer = {
barnetilleggType: string
forventedeInntekterSoker: Array<ForventedeInntekterSokerOgEP>
forventedeInntekterEP: Array<ForventedeInntekterSokerOgEP>
}

export type ForventedeInntekterSokerOgEP = {
datoFom: string
datoTom: string
inntektType: string
belop: number
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
import { useNavEnheter } from '@/utils/hooks/useNorg2'
import { isEmpty } from '@/components/fagsystem/pdlf/form/partials/utils'
import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary'
import { BestillingData, BestillingTitle } from '@/components/bestilling/sammendrag/Bestillingsdata'
import { TitleValue } from '@/components/ui/titleValue/TitleValue'
import { formatDate, oversettBoolean, showLabel } from '@/utils/DataFormatter'
import React from 'react'
import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray'
import {
ForventedeInntekterSokerOgEP,
UforetrygdTypes,
} from '@/components/fagsystem/uforetrygd/UforetrygdTypes'

type UforetrygdProps = {
pensjon: UforetrygdTypes
}

export const Uforetrygd = ({ pensjon }: UforetrygdProps) => {
const { navEnheter } = useNavEnheter()

if (!pensjon || isEmpty(pensjon)) {
return null
}

const navEnhetLabel = navEnheter?.find(
(enhet) => enhet.value === pensjon.navEnhetId?.toString(),
)?.label

return (
<div className="person-visning">
<ErrorBoundary>
<BestillingTitle>Uføretrygd</BestillingTitle>
<BestillingData>
<TitleValue title="Uføretidspunkt" value={formatDate(pensjon?.uforetidspunkt)} />
<TitleValue title="Krav fremsatt dato" value={formatDate(pensjon?.kravFremsattDato)} />
<TitleValue
title="Ønsket virkningsdato"
value={formatDate(pensjon?.onsketVirkningsDato)}
/>
<TitleValue title="Inntekt før uførhet" value={pensjon?.inntektForUforhet} />
<TitleValue title="Inntekt etter uførhet" value={pensjon?.inntektEtterUforhet} />
<TitleValue
title="Sats for minimum IFU"
value={showLabel('minimumInntektForUforhetType', pensjon?.minimumInntektForUforhetType)}
/>
<TitleValue
title="Uføregrad"
value={pensjon?.uforegrad ? `${pensjon?.uforegrad}%` : null}
/>
<TitleValue title="Saksbehandler" value={pensjon?.saksbehandler} />
<TitleValue title="Attesterer" value={pensjon?.attesterer} />
<TitleValue title="NAV-kontor" value={navEnhetLabel || pensjon?.navEnhetId} />
<TitleValue
title="Har barnetillegg"
value={oversettBoolean(pensjon?.barnetilleggDetaljer !== null)}
/>
<TitleValue
title="Type barnetillegg"
value={showLabel('barnetilleggType', pensjon?.barnetilleggDetaljer?.barnetilleggType)}
/>
{pensjon?.barnetilleggDetaljer?.forventedeInntekterSoker?.length > 0 && (
<DollyFieldArray
header="Forventede inntekter for søker"
data={pensjon?.barnetilleggDetaljer?.forventedeInntekterSoker}
nested
>
{(inntekt: ForventedeInntekterSokerOgEP, idx: number) => (
<React.Fragment key={idx}>
<TitleValue
title="Type inntekt"
value={showLabel('inntektType', inntekt?.inntektType)}
/>
<TitleValue title="Beløp" value={inntekt?.belop} />
<TitleValue title="Dato fra" value={formatDate(inntekt?.datoFom)} />
<TitleValue title="Dato til" value={formatDate(inntekt?.datoTom)} />
</React.Fragment>
)}
</DollyFieldArray>
)}
{pensjon?.barnetilleggDetaljer?.forventedeInntekterEP?.length > 0 && (
<DollyFieldArray
header="Forventede inntekter for partner"
data={pensjon?.barnetilleggDetaljer?.forventedeInntekterEP}
nested
>
{(inntekt: ForventedeInntekterSokerOgEP, idx: number) => (
<React.Fragment key={idx}>
<TitleValue
title="Type inntekt"
value={showLabel('inntektType', inntekt?.inntektType)}
/>
<TitleValue title="Beløp" value={inntekt?.belop} />
<TitleValue title="Dato fra" value={formatDate(inntekt?.datoFom)} />
<TitleValue title="Dato til" value={formatDate(inntekt?.datoTom)} />
</React.Fragment>
)}
</DollyFieldArray>
)}
</BestillingData>
</ErrorBoundary>
</div>
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ export const UforetrygdForm = () => {
formMethods.trigger(`${uforetrygdPath}`)
}}
/>
</div>
<div className="flexbox--flex-wrap">
<FormTextInput
name={`${uforetrygdPath}.inntektForUforhet`}
label="Inntekt før uførhet"
Expand All @@ -61,16 +59,12 @@ export const UforetrygdForm = () => {
label="Inntekt etter uførhet"
type="number"
/>
</div>
<BarnetilleggForm formMethods={formMethods} />
<div className="flexbox--flex-wrap">
<FormSelect
name={`${uforetrygdPath}.minimumInntektForUforhetType`}
label="Sats for minimum IFU"
size="xlarge"
options={Options('minimumInntektForUforhetType')}
/>

<FormTextInput name={`${uforetrygdPath}.uforegrad`} label="Uføregrad" type="number" />
<FormSelect
options={randomSaksbehandlere}
Expand All @@ -85,10 +79,11 @@ export const UforetrygdForm = () => {
<FormSelect
name={`${uforetrygdPath}.navEnhetId`}
label={'NAV-kontor'}
size={'xxlarge'}
size={'xlarge'}
options={navEnheter}
/>
</div>
<BarnetilleggForm formMethods={formMethods} />
</Panel>
</Vis>
)
Expand Down

0 comments on commit 25ecd5e

Please sign in to comment.