Skip to content

Commit

Permalink
Oppdatert bestilling #deploy-test-frontend
Browse files Browse the repository at this point in the history
  • Loading branch information
krharum committed Nov 30, 2023
1 parent 7728e4b commit 2e2f518
Show file tree
Hide file tree
Showing 8 changed files with 117 additions and 66 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1878,12 +1878,21 @@ const mapPensjon = (bestillingData, data) => {

if (pensjonKriterier.alderspensjon) {
const ap = pensjonKriterier.alderspensjon

const { navEnheter } = useNavEnheter()
const navEnhetLabel = navEnheter?.find(
(enhet) => enhet.value === ap.navEnhetId?.toString(),
)?.label

const pensjonforvalterAlderspensjon = {
header: 'Alderspensjon',
items: [
obj('KravFremsattDato', formatDate(ap.kravFremsattDato)),
obj('Iverksettelsesdato', formatDate(ap.iverksettelsesdato)),
obj('Saksbehandler', `${ap.saksbehandler}`),
obj('Attesterer', `${ap.attesterer}` ),
obj('Uttaksgrad', `${ap.uttaksgrad}%`),
obj('Ektefelle/partners inntekt', ap.relasjoner?.[0]?.sumAvForvArbKapPenInntekt),
obj('NAV-kontor', navEnhetLabel || ap.navEnhetId),
],
}
data.push(pensjonforvalterAlderspensjon)
Expand Down Expand Up @@ -1924,7 +1933,7 @@ const mapPensjon = (bestillingData, data) => {
obj('Uføregrad', uforetrygd.uforegrad ? `${uforetrygd.uforegrad}%` : null),
obj('Saksbehandler', uforetrygd.saksbehandler),
obj('Attesterer', uforetrygd.attesterer),
obj('NAV-enhet', navEnhetLabel || uforetrygd.navEnhetId),
obj('NAV-kontor', navEnhetLabel || uforetrygd.navEnhetId),
],
}
data.push(pensjonforvalterUforetrygd)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Vis } from '@/components/bestillingsveileder/VisAttributt'
import { erForsteEllerTest, panelError } from '@/components/ui/form/formUtils'
import Panel from '@/components/ui/panel/Panel'
import { FormikSelect } from '@/components/ui/form/inputs/select/Select'
import React, { useContext } from 'react'
import React, { useContext, useEffect, useState } from 'react'
import { SelectOptionsManager as Options } from '@/service/SelectOptions'
import { Alert } from '@navikt/ds-react'
import styled from 'styled-components'
Expand All @@ -13,7 +13,10 @@ import { BestillingsveilederContext } from '@/components/bestillingsveileder/Bes
import { validation } from '@/components/fagsystem/alderspensjon/form/validation'
import { Monthpicker } from '@/components/ui/form/inputs/monthpicker/Monthpicker'
import { getAlder } from '@/ducks/fagsystem'
import { FormikTextInput } from '@/components/ui/form/inputs/textInput/TextInput'
import { useNavEnheter } from '@/utils/hooks/useNorg2'
import { FormikDatepicker } from '@/components/ui/form/inputs/datepicker/Datepicker'
import * as _ from 'lodash-es'
import { genererTilfeldigeNavPersonidenter } from '@/utils/GenererTilfeldigeNavPersonidenter'

const StyledAlert = styled(Alert)`
margin-bottom: 20px;
Expand All @@ -28,6 +31,20 @@ const StyledAlert = styled(Alert)`
const alderspensjonPath = 'pensjonforvalter.alderspensjon'

export const AlderspensjonForm = ({ formikBag }) => {

const { navEnheter } = useNavEnheter()

const saksbehandler = _.get(formikBag.values, `${alderspensjonPath}.saksbehandler`)
const attesterer = _.get(formikBag.values, `${alderspensjonPath}.attesterer`)

const [randomAttesterer, setRandomAttesterer] = useState([])
const [randomSaksbehandler, setRandomSaksbehandler] = useState([])

useEffect(() => {
setRandomAttesterer(genererTilfeldigeNavPersonidenter(saksbehandler))
setRandomSaksbehandler(genererTilfeldigeNavPersonidenter(attesterer))
}, [])

const opts = useContext(BestillingsveilederContext)
const { nyBestilling, leggTil, importTestnorge, leggTilPaaGruppe } = opts?.is

Expand Down Expand Up @@ -101,15 +118,6 @@ export const AlderspensjonForm = ({ formikBag }) => {
gyldigSivilstand.includes(siv?.type),
)

const harPartnerImportertPerson = () => {
const personerMedPartner = opts?.importPersoner?.filter((person) => {
return person?.data?.hentPerson?.sivilstand?.some((siv) =>
gyldigSivilstand.includes(siv?.type),
)
})
return personerMedPartner?.length > 0
}

const adressetyper = {
norge: 'NORGE',
utland: 'UTLAND',
Expand Down Expand Up @@ -151,6 +159,7 @@ export const AlderspensjonForm = ({ formikBag }) => {
return opts?.identtype === 'FNR' && valgtAdresseType() !== adressetyper.utland
}


return (
<Vis attributt={alderspensjonPath}>
<Panel
Expand Down Expand Up @@ -199,36 +208,44 @@ export const AlderspensjonForm = ({ formikBag }) => {
kunne opprettes automatisk.
</StyledAlert>
)}
{_get(formikBag.values, `${alderspensjonPath}.relasjoner[0].sumAvForvArbKapPenInntekt`) &&
!leggTilPaaGruppe &&
!harPartner &&
!harPartnerImportertPerson() && (
<StyledAlert variant={'info'} size={'small'}>
Personen må ha ektefelle/partner for at feltet "Ektefelle/partners inntekt" skal være
gyldig.
</StyledAlert>
)}

<div className="flexbox--flex-wrap">
<FormikDatepicker
name={`${alderspensjonPath}.kravFremsattDato`}
label="Krav fremsatt dato"
date={_get(formikBag.values, `${alderspensjonPath}.kravFremsattDato`)}
/>
<Monthpicker
name={`${alderspensjonPath}.iverksettelsesdato`}
label="Iverksettelsesmåned"
label="Iverksettelsesdato"
date={_get(formikBag.values, `${alderspensjonPath}.iverksettelsesdato`)}
handleDateChange={(dato: string) =>
formikBag.setFieldValue(`${alderspensjonPath}.iverksettelsesdato`, dato)
}
minDate={setDate(addMonths(new Date(), 1), 1)}
/>
<FormikSelect
options={randomSaksbehandler}
name={`${alderspensjonPath}.saksbehandler`}
label={'Saksbehandler'}
fastfield={false}
/>
<FormikSelect
options={randomAttesterer}
name={`${alderspensjonPath}.attesterer`}
label={'Attesterer'}
fastfield={false}
/>
<FormikSelect
name={`${alderspensjonPath}.uttaksgrad`}
label="Uttaksgrad"
options={Options('apUttaksgrad')}
isClearable={false}
/>
<FormikTextInput
name={`${alderspensjonPath}.relasjoner[0].sumAvForvArbKapPenInntekt`}
label="Ektefelle/partners inntekt"
type="number"
<FormikSelect
name={`${alderspensjonPath}.navEnhetId`}
label="Nav-kontor"
size={'xlarge'}
options={navEnheter}
/>
</div>
</Panel>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { addMonths, setDate } from 'date-fns'

export const initialAlderspensjon = {
kravFremsattDato: new Date(),
iverksettelsesdato: setDate(addMonths(new Date(), 1), 1),
saksbehandler: null,
attesterer: null,
uttaksgrad: 100,
relasjoner: [{ sumAvForvArbKapPenInntekt: null }],
navEnhetId: null,
}
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
import { ifPresent, messages, requiredDate, requiredNumber } from '@/utils/YupValidations'
import * as Yup from 'yup'
import { isAfter } from 'date-fns'
import { isAfter, isBefore } from 'date-fns'

export const validation = {
alderspensjon: ifPresent(
'$pensjonforvalter.alderspensjon',
Yup.object({
iverksettelsesdato: requiredDate.test(
'er-fremtid',
'Måned må være frem i tid',
function validDate(iverksettelsesdato) {
return isAfter(new Date(iverksettelsesdato), new Date())
},
),
kravFremsattDato: Yup.date().nullable(),
iverksettelsesdato: Yup.date()
.test(
'er-tid-fram',
'Måned må etter være etter krav fremsatt dato',
function validDate(iverksettelsesdato) {
const kravFremsattDato =
this.options.context?.pensjonforvalter?.alderspensjon?.kravFremsattDato
return isAfter(new Date(iverksettelsesdato), new Date(kravFremsattDato))
},
)
.nullable(),
saksbehandler: Yup.string().nullable(),
attesterer: Yup.string().nullable(),
uttaksgrad: requiredNumber.typeError(messages.required),
relasjoner: Yup.array().of(
Yup.object({
sumAvForvArbKapPenInntekt: Yup.number()
.transform((i, j) => (j === '' ? null : i))
.nullable(),
}),
),
navEnhetId: Yup.string().nullable(),
}),
),
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ import * as _ from 'lodash-es'
import { useNavEnheter } from '@/utils/hooks/useNorg2'
import { BarnetilleggForm } from '@/components/fagsystem/uforetrygd/form/partials/BarnetilleggForm'
import { validation } from '@/components/fagsystem/uforetrygd/form/validation'
import { addDays } from 'date-fns'
import _get from 'lodash/get'
import { Monthpicker } from '@/components/ui/form/inputs/monthpicker/Monthpicker'

const uforetrygdPath = 'pensjonforvalter.uforetrygd'

Expand All @@ -37,16 +38,21 @@ export const UforetrygdForm = ({ formikBag }) => {
startOpen={erForsteEllerTest(formikBag.values, [uforetrygdPath])}
>
<div className="flexbox--flex-wrap">
<FormikDatepicker
name={`${uforetrygdPath}.uforetidspunkt`}
label="Uføretidspunkt" />
<FormikDatepicker
name={`${uforetrygdPath}.kravFremsattDato`}
label="Krav fremsatt dato"
/>
<FormikDatepicker
<Monthpicker
name={`${uforetrygdPath}.onsketVirkningsDato`}
label="Ønsket virkningsdato"
minDate={addDays(new Date(), 1)}
date={_get(formikBag.values, `${uforetrygdPath}.onsketVirkningsDato`)}
handleDateChange={(dato: string) =>
formikBag.setFieldValue(`${uforetrygdPath}.onsketVirkningsDato`, dato)
}
/>
<FormikDatepicker name={`${uforetrygdPath}.uforetidspunkt`} label="Uføretidspunkt" />
<FormikTextInput
name={`${uforetrygdPath}.inntektForUforhet`}
label="Inntekt før uførhet"
Expand Down Expand Up @@ -83,10 +89,9 @@ export const UforetrygdForm = ({ formikBag }) => {
/>
<FormikSelect
name={`${uforetrygdPath}.navEnhetId`}
label={'NAV-enhet'}
size={'xxxlarge'}
label={'NAV-kontor'}
size={'xxlarge'}
options={navEnheter}
isClearable={false}
/>
</div>
</Panel>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as Yup from 'yup'
import { ifPresent, requiredNumber, requiredString } from '@/utils/YupValidations'
import { isBefore, isFuture, isPast } from 'date-fns'
import { isAfter, isBefore, isFuture, isPast } from 'date-fns'
import { testDatoFom, testDatoTom } from '@/components/fagsystem/utils'

const erIkkeLik = () => {
Expand Down Expand Up @@ -40,32 +40,48 @@ export const validation = {
uforetrygd: ifPresent(
'$pensjonforvalter.uforetrygd',
Yup.object({
uforetidspunkt: Yup.date()
.test('er-historisk', 'Dato må være historisk', function validDate(dato) {
return isPast(dato)
})
.nullable(),
kravFremsattDato: Yup.date()
.test(
'er-foer-virkningsdato',
'Dato må være før ønsket virkningsdato',
'Dato må være etter uføretidspunkt og før ønsket virkningsdato',
function validDate(kravFremsattDato) {
const virkningsdato =
this.options.context?.pensjonforvalter?.uforetrygd?.onsketVirkningsDato
return isBefore(new Date(kravFremsattDato), new Date(virkningsdato))
const uforetidspunkt =
this.options.context?.pensjonforvalter?.uforetrygd?.uforetidspunkt
return (
isBefore(new Date(kravFremsattDato), new Date(virkningsdato)) &&
isAfter(new Date(kravFremsattDato), new Date(uforetidspunkt))
)
},
)
.nullable(),
onsketVirkningsDato: datoErFremtidig().nullable(),
uforetidspunkt: Yup.date()
.test('er-historisk', 'Dato må være historisk', function validDate(dato) {
if (!dato) {
return true
}
return isPast(dato)
})
onsketVirkningsDato: Yup.date()
.test(
'er-foer-virkningsdato',
'Dato må være etter dato for fremsettelse av krav (og tidligst 1. januar 2015)',
function validDate(onsketVirkningsDato) {
const kravFremsattDato =
this.options.context?.pensjonforvalter?.uforetrygd?.kravFremsattDato
return (
isAfter(new Date(onsketVirkningsDato), new Date(kravFremsattDato)) &&
isAfter(new Date(onsketVirkningsDato), new Date('2015-01-01'))

)
},
)
.nullable(),
inntektForUforhet: requiredNumber.transform((i, j) => (j === '' ? null : i)),
uforegrad: requiredNumber.transform((i, j) => (j === '' ? null : i)),
minimumInntektForUforhetType: Yup.string().nullable(),
saksbehandler: erIkkeLik().nullable(),
attesterer: erIkkeLik().nullable(),
navEnhetId: requiredString,
navEnhetId: Yup.string().nullable(),
barnetilleggDetaljer: Yup.object({
barnetilleggType: requiredString,
forventedeInntekterSoker: Yup.array().of(forventetInntekt),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ import { addMonths, getDaysInMonth, setDate } from 'date-fns'
const treMaanederFrem = addMonths(new Date(), 3)

export const initialUforetrygd = {
uforetidspunkt: setDate(addMonths(new Date(), -1), 1),
kravFremsattDato: new Date(),
onsketVirkningsDato: setDate(addMonths(new Date(), 1), 1),
uforetidspunkt: setDate(addMonths(new Date(), -1), 1),
inntektForUforhet: 550000,
uforegrad: 100,
minimumInntektForUforhetType: null,
saksbehandler: null,
attesterer: null,
navEnhetId: '4403',
navEnhetId: null,
barnetilleggDetaljer: null,
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ const DataVisning = ({ data, miljo }) => {
<>
<div className="person-visning_content">
<TitleValue title="Vedtaksstatus" value={vedtakData?.[0]?.vedtakStatus} />
<TitleValue title="Uføretidspunkt" value={formatDate(data?.uforetidspunkt)} />
<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"
Expand Down

0 comments on commit 2e2f518

Please sign in to comment.