From 995cbf8201dbf657dcab729d27f543311c303467 Mon Sep 17 00:00:00 2001 From: "Thomas H. Wiberg" Date: Wed, 3 Jul 2024 14:59:52 +0200 Subject: [PATCH] Kodeverk 2024 uke26 (#6342) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Legge til interceptor for kodeverkobjekter * Opprett ny v2 lib pakke, og putte nye kodeverkfunksjoner der * Update yarn.lock * Rammeverk for håndtering av oppslag i kodeverk - Lagt til ny pakke for lib i v2 (WIP) - Lagt til hook for å slå opp kodeverk (WIP) * Kodeverk: sak-behandling-velger Oppdatert sak-behandlng-velger til å bruke kodeverkstrenger * Kodeverk: oppdatere generelle typer * Kodeverk: Ubrukte imports sak-behandling-velger * Kodeverk: Justere kodeverk-oppslag hook * Kodeverk: (Pakke) sak-fagsak-profil Oppdatert sak-fagsak-profil til å bruke kodeverkstrenger * Kodeverk: (Pakke) sak-meny-henlegg Oppdatert sak-meny-henlegg til å bruke kodeverkstrenger * Kodeverk: (Pakke) sak-meny-ny-behandling * Kodeverk: (Pakke) types * Kodeverk: (Pakke) behandling-anke * Kodeverk: Skrive om BEHANDLING_RESULTAT_TYPE også Dette attributtet (type) inneholdt ekstra boolske flagg som ikke skal brukes lenger. Vi fjerner dette og skriver det om til å være en string. (vil også bli fjernet i backend) * Kodeverk: Skrive om BEHANDLING_RESULTAT_TYPE også (glemte et par) * Kodeverk: (Pakke) sak-visittkort * Kodeverk: (Pakke) Utils WIP * Kodeverk: (Pakke) sak-app WIP * Kodeverk: Fiks test i fagsakprofile og behandlingsvelger * Kodeverk: (Pakke) sak-app * Kodeverk: (Pakke) sak-totrinnskontroll * Kodeverk: (Pakke) sak-app, alle tester grønne * Kodeverk: (Pakke) sak-meldinger * Kodeverk: (Pakke) behandling-klage * Kodeverk: (Pakke) behandling-anke * Kodeverk: (Pakke) behandling-frisinn * Kodeverk: (Pakke) behandling-innsyn * Kodeverk: (Pakke) behandling-omsorgspenger * Kodeverk: (Pakke) behandling-opplaeringspenger * Kodeverk: (Pakke) behandling-pleiepenger * Kodeverk: (Pakke) behandling-pleiepenger-sluttfase * Kodeverk: Noen ubrukte imports og variabler * Kodeverk: (Pakke) behandling-tilbakekreving * Kodeverk: (Pakke) behandling-unntak * Kodeverk: litt rydding * Kodeverk: (Pakke) behandling-utvidet-rett * Unødendig import * Kodeverk: (Pakke) behandling-felles * Kodeverk: (Pakker) prosess-vilkar-* * Kodeverk: (Pakke) fakta-arbeidsforhold * Kodeverk: (Pakke) fakta-medlemsskap * Kodeverk: (Pakke) fakta-opptjening-oms * Kodeverk: (Pakke) fakta-bosted-soker * Kodeverk: (Pakke) fakta-direkte-overgang * Kodeverk: Forsøk på ulike kodeverkoppslag * Kodeverk: (pakke) fakta-feilutbetaling (WIP) * Kodeverk: (pakke) fakta-feilutbetaling * Kodeverk: util wip * Kodeverk: (Pakke) Fakta-inntektsmelding * yarn install * Kodeverk: (Pakke) fakta-opplaering * Kodeverk: Refaktor, bruk Context * Update useKodeverkContext.tsx * Dedupe feilmeldinger * Update yarn.lock * Kodeverk: Div oversette og justeringer * Manglende type * Kodeverk: justering i context og hook * Kodeverk: (Pakke) fakta-soknadsperioder * Kodeverk: Justeringer i kodeverkcontext * Kodeverk: (pakke) fakta-utenlandsopphold * Kodeverk: (pakke) fakta-verge * Kodeverk: (pakke) modal-sett-pa-vent * Kodeverk: (pakk) prop-types * Kodeverk: (pakke) prosess-anke * Kodeverk: (pakke) prosess-anke-merknader * Kodeverk: (pakke) prosess-anke-resultat * Kodeverk: (pakke) prosess-avregning * Kodeverk: (pakke) prosess-felles * Kodeverk: (pakke) prosess-foreldelse * Kodeverk: (pakke) prosess-formkrav * Merge, yarn install * Kodeverk: (pakke) prosess-innsyn * Kodeverk: (pakke) prosess-klagevurdering * Kodeverk: (pakke) prosess-saksopplysninger * Kodeverk: (pakke) prosess-tilbakekreving * Kodeverk: (pakke) prosess-tilkjent-ytelse * Kodeverk: (pakke) prosess-unntak * Kodeverk: (pakke) prosess-uttak * Kodeverk: (pakke) prosess-varsel-omrevurdering * Kodeverk: Støtte for undertype * Kodeverk: (pakke) prosess-vedtak * Kodeverk: (pakke) prosess-vedtak-innsyn * Kodeverk: legge til mock for kodeverkklage * Kodeverk: (pakke) prosess-vedtak-klage * Kodeverk: (pakke) prosess-vedtak-tilbakekreving * Kodeverk: (pakke) prosess-vilkar-overstyring (opprydning) * Kodeverk: (pakke) prosess-vilkar-sokers-opplysningsplikt (opprydning) * Kodeverk: (pakke) sak-aktor * Kodeverk: Rydde i types * Kodeverk: Legge til mock-funksjon * Kodeverk: (pakke) sak-historikk * Update History.tsx * Kodeverk: (pakke) sak-historikk * Kodeverk: (pakke) fakta-opptjening-oms * Kodeverk: (pakke) sak-risikoklassifinsering * Kodeverk: (pakke) sak-sok * Kodeverk: (pakke) sak-meny-sett-pa-vent * Kodeverk: Ikke påkreve kilde i typen * Kodeverk: (pakke) sak-dokumenter * Kodeverk: provider for sak-app * Kodeverk: (pakke) sak-soknadsperiodestripe * Kodeverk: (pakke) shared-components * Kodeverk: (pakke) utils * Kodeverk: (pakke) behandling-frisinn * Kodeverk: (pakke) behandling-felles * Kodeverk: Oppdater types i behandlingspakkene * Kodeverk: ubrukte types * Kodeverk: fikse tester * Kodeverk: Fikse tester i fakta-bosted-soker * Kodeverk: Fjern useKodeverk hook og litt opprydning * Kodeverk: Fikse tester i fakta-feilutbetaling og fakta-verge * Kodeverk: storybook fiks * Kodeverk: tilpasse typer * Kodeverk: type rules * Kodeverk: FIkse test i pleiepenger sluttfase * Update yarn.lock * Kodeverk: rydde opp * Kodeverk: fikse tester * Kodeverk: Fikse tester * Kodeverk: fikse story * Kodeverk: Fikse tester * Kodeverk: fikse tester * Kodeverk: Fikse types * Kodeverk: fiks ts-check feil * Kodeverk: fiks proptypes * Kodeverk: post merge ts-fix * Kodeverk: fiks test * Update .gitignore * Kodeverk: yarn lint fixing * Kodeverk: ts-check fiks * Kodeverk: fikse fakta-medlemsskap storybook tester * Kodeverk: fjern console.log * Kodeverk: fikse storybook tester * Kodeverk: lint * Kodeverk: overflødig funksjon * Kodeverk: Fikse tester i fakta medlemsskap * Erstatter manuelt koda BehandlingType enum med generert frå backend (#6305) Kodeverk: Erstatter manuelt koda BehandlingType enum med generert frå backend. * Kodeverk: Rename/flytte type exports * Kodeverk: kommentarer * Kodeverk: Fjerne debugfunksjon * Kodeverk: Fjerne debug parameter * Kodeverk: fjerne unødvendige kommentarer * Kodeverk: Flytt henting av kodeverk til fagsakindex * Kodeverk: fjern console.log * Kodeverk: Oppdatere PropType definisjoner * Kodeverk: Unntakshåndtere skjermlenke-koder i historikkinnslag Skjermlenke attributet er egentlig et kodeverk, men har ikke fått 'kodeverk' attributtet fra backend, så det blir sendt som objekt med navn og kode. Vi har som mål å skrive om histirikkinnslag til noe simplere snart, så backend endrer ikke denne nå (fortsetter å sende som kodeverk-objekter uten kodeverk attributet fra backend inntill videre) * Kodeverk: Oppdater erTbilakekrevingType-funksjon * Kodeverk: Fiks historikkinnslag- og skjermlenke- typer * Kodeverk: fjerne overflødige imports --------- Co-authored-by: Jostein Stuhaug <135307852+josstn@users.noreply.github.com> --- .gitignore | 1 + .../src/BehandlingAnkeIndex.tsx | 8 +- .../src/components/AnkePaneler.tsx | 8 +- .../src/components/AnkeProsess.spec.tsx | 39 +- .../src/components/AnkeProsess.tsx | 145 +- packages/behandling-felles/package.json | 1 + .../components/InngangsvilkarPanel.spec.tsx | 14 +- .../src/components/InngangsvilkarPanel.tsx | 5 +- .../src/components/MargMarkering.spec.tsx | 39 +- .../src/components/MargMarkering.tsx | 8 +- .../src/components/ProsessStegPanel.spec.tsx | 57 +- .../src/components/ProsessStegPanel.tsx | 6 +- .../paVent/BehandlingPaVent.spec.tsx | 20 +- .../components/paVent/BehandlingPaVent.tsx | 16 +- .../IverksetterVedtakStatusModal.spec.tsx | 5 +- .../vedtak/IverksetterVedtakStatusModal.tsx | 5 +- .../src/util/fakta/FaktaPanelUtledet.tsx | 6 +- .../src/util/fakta/faktaHooks.spec.tsx | 51 +- .../src/util/fakta/faktaUtils.spec.tsx | 75 +- .../src/util/fakta/faktaUtils.ts | 6 +- .../util/getAlleMerknaderFraBeslutter.spec.ts | 27 +- .../src/util/getAlleMerknaderFraBeslutter.ts | 4 +- .../src/util/harOpprettetAksjonspunkt.ts | 8 +- .../src/util/prosessSteg/ProsessStegDef.tsx | 15 +- .../ProsessStegOverstyringPanelDef.tsx | 38 +- .../util/prosessSteg/ProsessStegUtledet.tsx | 18 +- .../prosessSteg/prosessStegHooks.spec.tsx | 45 +- .../src/util/prosessSteg/prosessStegHooks.ts | 2 +- .../prosessSteg/prosessStegUtils.spec.tsx | 45 +- .../src/util/prosessSteg/prosessStegUtils.ts | 6 +- .../src/util/readOnlyUtils.spec.ts | 24 +- .../src/BehandlingFrisinnIndex.tsx | 13 +- .../src/components/FrisinnFakta.spec.tsx | 86 +- .../src/components/FrisinnFakta.tsx | 13 +- .../src/components/FrisinnPaneler.tsx | 13 +- .../src/components/FrisinnProsess.spec.tsx | 41 +- .../src/components/FrisinnProsess.tsx | 152 +- .../faktaPaneler/BeregningFaktaPanelDef.tsx | 14 +- .../OpplysningerFraSoknadFaktaPanelDef.tsx | 5 +- .../BeregningsgrunnlagProsessStegPanelDef.tsx | 30 +- .../vedtakStatusUtlederFrisinn.ts | 14 +- .../src/BehandlingKlageIndex.tsx | 17 +- .../src/components/KlagePaneler.tsx | 17 +- .../src/components/KlageProsess.spec.tsx | 43 +- .../src/components/KlageProsess.tsx | 156 +- ...ormKravFamOgPensjonProsessStegPanelDef.tsx | 6 +- ...ormKravKlageInstansProsessStegPanelDef.tsx | 8 +- ...rderingKlageInstansProsessStegPanelDef.tsx | 2 +- .../behandling-omsorgspenger/package.json | 1 + .../src/BehandlingOmsorgspengerIndex.tsx | 5 +- .../src/components/OmsorgenFor.tsx | 4 +- .../components/OmsorgspengerFakta.spec.tsx | 88 +- .../src/components/OmsorgspengerFakta.tsx | 5 +- .../src/components/OmsorgspengerPaneler.tsx | 5 +- .../components/OmsorgspengerProsess.spec.tsx | 48 +- .../src/components/OmsorgspengerProsess.tsx | 162 +- .../faktaPaneler/BeregningFaktaPanelDef.tsx | 32 +- .../faktaPaneler/FordelBeregningPanelDef.tsx | 27 +- .../OpptjeningsvilkaretFaktaPanelDef.tsx | 21 +- .../BeregningsgrunnlagProsessStegPanelDef.tsx | 30 +- .../SoknadsfristPanelDef.tsx | 13 +- .../vedtakStatusUtlederOmsorgspenger.ts | 28 +- .../behandling-opplaeringspenger/package.json | 1 + .../src/BehandlingOpplaeringspengerIndex.tsx | 5 +- .../src/FaktaOpplaeringContext.ts | 2 +- .../src/components/EtablertTilsyn.tsx | 8 +- .../components/MedisinskVilk\303\245r.tsx" | 7 +- .../src/components/OmBarnet.tsx | 5 +- .../src/components/OmsorgenFor.tsx | 5 +- .../OpplaeringspengerFakta.spec.tsx | 84 +- .../src/components/OpplaeringspengerFakta.tsx | 7 +- .../components/OpplaeringspengerPaneler.tsx | 4 +- .../components/OpplaeringspengerProsess.tsx | 168 +- .../src/components/Uttak.tsx | 6 +- .../faktaPaneler/BeregningFaktaPanelDef.tsx | 32 +- .../EtablertTilsynFaktaPanelDef.tsx | 3 +- .../faktaPaneler/FordelBeregningPanelDef.tsx | 27 +- .../InntektsmeldingFaktaPanelDef.tsx | 3 +- .../MedisinskVilkarFaktaPanelDef2.tsx | 6 +- .../faktaPaneler/OmBarnetFaktaPanelDef.tsx | 2 +- .../faktaPaneler/OmsorgenForFaktaPanelDef.tsx | 3 +- .../OpptjeningsvilkaretFaktaPanelDef.tsx | 14 +- .../SoknadsperioderFaktaPanelDef.tsx | 7 +- .../BeregningsgrunnlagProsessStegPanelDef.tsx | 30 +- .../MedisinskVilkarProsessStegPanelDef.tsx | 5 +- .../InstitusjonPanelDef.tsx | 12 +- .../SoknadsfristPanelDef.tsx | 13 +- .../GjennomgaaOpplaeringPanelDef.tsx | 12 +- .../NoedvendighetPanelDef.tsx | 12 +- .../vedtakStatusUtlederOpplaeringspenger.ts | 23 +- .../BehandlingPleiepengerSluttfaseIndex.tsx | 5 +- .../components/MedisinskVilk\303\245r.tsx" | 4 +- .../PleiepengerSluttfaseFakta.spec.tsx | 90 +- .../components/PleiepengerSluttfaseFakta.tsx | 6 +- .../PleiepengerSluttfasePaneler.tsx | 4 +- .../PleiepengerSluttfaseProsess.spec.tsx | 72 +- .../PleiepengerSluttfaseProsess.tsx | 180 +- .../src/components/Uttak.tsx | 6 +- .../faktaPaneler/BeregningFaktaPanelDef.tsx | 3 +- .../faktaPaneler/FordelBeregningPanelDef.tsx | 27 +- .../InntektsmeldingFaktaPanelDef.tsx | 2 +- .../MedisinskVilkarFaktaPanelDef2.tsx | 8 +- .../OmPleietrengendeFaktaPanelDef.tsx | 8 +- .../OpptjeningsvilkaretFaktaPanelDef.tsx | 13 +- .../SoknadsperioderFaktaPanelDef.tsx | 2 +- .../UtenlandsoppholdFaktaPanelDef.tsx | 1 - .../BeregningsgrunnlagProsessStegPanelDef.tsx | 30 +- .../MedisinskVilkarProsessStegPanelDef.tsx | 4 +- .../UttakProsessStegPanelDef.tsx | 22 +- .../VedtakProsessStegPanelDef.tsx | 18 +- .../SokersOpplysningspliktPanelDef.tsx | 15 +- .../SoknadsfristPanelDef.tsx | 17 +- ...vedtakStatusUtlederPleiepengerSluttfase.ts | 24 +- .../src/BehandlingPleiepengerIndex.tsx | 5 - .../src/components/EtablertTilsyn.tsx | 24 +- .../components/MedisinskVilk\303\245r.tsx" | 16 +- .../src/components/OmBarnet.tsx | 2 +- .../src/components/OmsorgenFor.tsx | 2 +- .../src/components/PleiepengerFakta.spec.tsx | 92 +- .../src/components/PleiepengerFakta.tsx | 10 +- .../src/components/PleiepengerPaneler.tsx | 9 +- .../components/PleiepengerProsess.spec.tsx | 79 +- .../src/components/PleiepengerProsess.tsx | 22 +- .../src/components/Uttak.tsx | 9 +- .../faktaPaneler/BeregningFaktaPanelDef.tsx | 35 +- .../EtablertTilsynFaktaPanelDef.tsx | 3 +- .../faktaPaneler/FordelBeregningPanelDef.tsx | 27 +- .../InntektsmeldingFaktaPanelDef.tsx | 3 +- .../MedisinskVilkarFaktaPanelDef2.tsx | 8 +- .../faktaPaneler/OmBarnetFaktaPanelDef.tsx | 2 +- .../faktaPaneler/OmsorgenForFaktaPanelDef.tsx | 2 +- .../OpptjeningsvilkaretFaktaPanelDef.tsx | 13 +- .../SoknadsperioderFaktaPanelDef.tsx | 3 +- .../UtenlandsoppholdFaktaPanelDef.tsx | 6 +- .../BeregningsgrunnlagProsessStegPanelDef.tsx | 30 +- .../MedisinskVilkarProsessStegPanelDef.tsx | 6 +- .../SokersOpplysningspliktPanelDef.tsx | 15 +- .../SoknadsfristPanelDef.tsx | 16 +- .../vedtakStatusUtlederPleiepenger.ts | 22 +- .../src/BehandlingTilbakekrevingIndex.tsx | 4 +- .../components/TilbakekrevingFakta.spec.tsx | 61 +- .../src/components/TilbakekrevingFakta.tsx | 8 +- .../src/components/TilbakekrevingPaneler.tsx | 8 +- .../components/TilbakekrevingProsess.spec.tsx | 64 +- .../src/components/TilbakekrevingProsess.tsx | 73 +- .../FeilutbetalingFaktaPanelDef.tsx | 2 +- .../ForeldelseProsessStegPanelDef.tsx | 12 +- ...edtakTilbakekrevingProsessStegPanelDef.tsx | 5 +- .../src/BehandlingUnntakIndex.tsx | 13 +- .../src/components/UnntakFakta.spec.tsx | 85 +- .../src/components/UnntakFakta.tsx | 6 +- .../src/components/UnntakPaneler.tsx | 13 +- .../src/components/UnntakProsess.spec.tsx | 43 +- .../src/components/UnntakProsess.tsx | 17 +- .../OpplysningerFraSoknadFaktaPanelDef.tsx | 5 +- .../OpptjeningsvilkaretFaktaPanelDef.tsx | 13 +- .../VedtakProsessStegPanelDef.tsx | 27 +- .../panelDefinisjoner/vedtakStatusUtleder.ts | 28 +- .../src/BehandlingUtvidetRettIndex.tsx | 12 +- .../src/components/UtvidetRettProsess.tsx | 152 +- .../components/tester/utvidetRettTestData.ts | 42 +- .../faktaPaneler/BarnFaktaPanelDef.tsx | 15 +- ...videtRettOmsorgenForMikrofrontendFelles.ts | 3 +- .../VedtakProsessStegPanelDef.tsx | 17 +- .../OmsorgenForPanelDef.tsx | 22 +- ...rtyTilOmsorgenForMikrofrontendKomponent.ts | 17 +- .../UtvidetRettMikrofrontendPanelDef.tsx | 9 +- ...rtyTilUtvidetRettMikrofrontendKomponent.ts | 8 +- .../AleneOmOmsorgenObjektTilMikrofrontend.ts | 10 +- .../KroniskSykObjektTilMikrofrontend.ts | 6 +- .../MidlertidigAleneObjektTilMikrofrontend.ts | 4 +- .../src/types/FaktaProps.ts | 12 +- .../src/types/PanelerProps.ts | 12 +- .../src/types/ProsessProps.ts | 12 +- .../src/types/UtvidetRettSoknad.ts | 5 +- .../src/ArbeidsforholdFaktaIndex.tsx | 8 +- .../ArbeidsforholdInfoPanel.spec.tsx | 28 +- .../components/ArbeidsforholdInfoPanel.tsx | 19 +- .../PersonArbeidsforholdPanel.spec.tsx | 24 +- .../components/PersonArbeidsforholdPanel.tsx | 33 +- .../PermisjonerInfo.tsx | 21 +- .../PersonArbeidsforholdDetailForm.spec.tsx | 35 +- .../PersonArbeidsforholdDetailForm.tsx | 19 +- .../PersonArbeidsforholdTable.spec.tsx | 72 +- .../PersonArbeidsforholdTable.tsx | 19 +- packages/fakta-bosted-soker/package.json | 2 +- .../src/BostedSokerFaktaIndex.spec.tsx | 55 +- .../src/BostedSokerFaktaIndex.tsx | 35 +- .../src/components/BostedSokerView.spec.tsx | 122 +- .../src/components/BostedSokerView.tsx | 131 +- .../src/DirekteOvergangFaktaIndex.stories.tsx | 30 +- .../components/ManglerS\303\270knadForm.tsx" | 31 +- packages/fakta-feilutbetaling/package.json | 2 + .../src/FeilutbetalingFaktaIndex.jsx | 69 - .../src/FeilutbetalingFaktaIndex.stories.tsx | 70 +- .../src/FeilutbetalingFaktaIndex.tsx | 76 + .../components/FeilutbetalingInfoPanel.jsx | 46 +- .../FeilutbetalingInfoPanel.spec.tsx | 98 +- .../components/FeilutbetalingPerioderForm.jsx | 9 +- .../FeilutbetalingPerioderForm.spec.tsx | 23 +- .../feilutbetalingAarsakPropType.jsx | 29 +- .../propTypes/feilutbetalingFaktaPropType.jsx | 2 +- .../src/types/FeilutbetalingAarsak.ts | 7 + .../src/types/FeilutbetalingFakta.ts | 25 + .../fakta-feilutbetaling/src/types/index.ts | 2 + .../src/InntektType.ts | 4 +- .../mock/inntektsmeldingPropsMock.ts | 87 +- packages/fakta-inntektsmelding/src/dev/app.ts | 44 +- .../src/types/Aksjonspunkt.ts | 17 - .../src/types/ContainerContract.ts | 2 +- .../src/types/Kodeverk.ts | 6 - .../FortsettUtenInntektsmeldingForm.tsx | 8 +- .../Kompletthetsoversikt.tsx | 6 +- .../ui/components/period-list/PeriodList.tsx | 4 +- .../fakta-inntektsmelding/src/util/utils.ts | 4 +- .../src/MedlemskapFaktaIndex.stories.tsx | 226 +- .../src/components/MedlemskapInfoPanel.jsx | 17 +- .../components/MedlemskapInfoPanel.spec.tsx | 16 +- .../OppholdINorgeOgAdresserFaktaPanel.jsx | 16 +- ...OppholdINorgeOgAdresserFaktaPanel.spec.tsx | 97 +- .../OppholdInntektOgPeriodeForm.jsx | 22 +- .../OppholdInntektOgPeriodeForm.spec.tsx | 46 +- .../OppholdInntektOgPerioderForm.jsx | 26 +- .../OppholdInntektOgPerioderForm.spec.tsx | 76 +- .../PerioderMedMedlemskapFaktaPanel.jsx | 40 +- .../PerioderMedMedlemskapFaktaPanel.spec.tsx | 100 +- .../StatusForBorgerFaktaPanel.spec.tsx | 25 +- .../StatusForBorgerFaktaPanel.tsx | 16 +- .../medlemskapAksjonspunkterPropType.jsx | 7 +- .../medlemskapBehandlingPropType.jsx | 9 +- .../src/OpplaeringContainer.tsx | 15 +- .../noedvendighet/NoedvendighetOversikt.tsx | 8 +- .../OppgittOpptjeningRevurdering.stories.tsx | 12 +- .../src/OppgittOpptjeningRevurderingForm.tsx | 2 +- .../src/OpptjeningFaktaIndex.stories.tsx | 31 +- .../components/OpptjeningFaktaForm.spec.tsx | 32 +- .../src/components/OpptjeningFaktaForm.tsx | 4 + .../components/OpptjeningInfoPanel.spec.tsx | 18 +- .../src/components/OpptjeningInfoPanel.tsx | 58 +- .../activity/ActivityDataSubPanel.spec.tsx | 26 +- .../activity/ActivityDataSubPanel.tsx | 21 +- .../activity/ActivityPanel.spec.tsx | 28 +- .../src/components/activity/ActivityPanel.tsx | 4 +- .../timeline/OpptjeningTimeLine.tsx | 30 +- .../OverstyrBeregningFaktaIndex.stories.tsx | 15 +- .../components/OverstyrBeregningFaktaForm.tsx | 6 +- .../src/Soknadsperioder.stories.tsx | 128 +- .../src/SoknadsperioderComponent.tsx | 49 +- .../src/SoknadsperioderIndex.spec.tsx | 35 +- .../src/SoknadsperioderIndex.tsx | 13 +- .../src/Utenlandsopphold.spec.tsx | 14 +- .../src/Utenlandsopphold.stories.tsx | 6 +- .../src/Utenlandsopphold.tsx | 21 +- .../components/RegistrereVergeFaktaForm.jsx | 2 +- .../RegistrereVergeFaktaForm.spec.tsx | 2 +- .../components/RegistrereVergeInfoPanel.jsx | 2 +- .../RegistrereVergeInfoPanel.spec.tsx | 4 +- packages/kodeverk/src/aksjonspunktCodes.ts | 2 +- packages/kodeverk/src/behandlingType.ts | 4 +- .../src/beregningAvklaringsbehovCodes.ts | 4 +- packages/kodeverk/src/kodeverkTyper.ts | 151 +- .../mocks/mockdata/utenlandsoppholdMock.js | 86 +- .../src/SettPaVentModalIndex.tsx | 4 - .../src/components/SettPaVentModal.spec.tsx | 15 - .../src/components/SettPaVentModal.tsx | 36 +- .../prop-types/src/aksjonspunktPropType.jsx | 20 +- .../prop-types/src/arbeidsforholdPropType.jsx | 9 +- .../src/behandlingIListePropType.jsx | 8 +- ...beregningresultatMedUttaksplanPropType.jsx | 4 +- packages/prop-types/src/fagsakPropType.jsx | 12 +- packages/prop-types/src/kodeverkPropType.jsx | 1 + .../src/personopplysningPropType.jsx | 55 +- .../src/components/AksjonspunktForm9014.tsx | 4 +- ...ilSaerligeSmittevernhensynMikrofrontend.ts | 8 +- .../src/\303\205rskvantumIndex.spec.tsx" | 10 +- .../src/\303\205rskvantumIndex.stories.tsx" | 13 +- .../src/\303\205rskvantumIndex.tsx" | 24 +- .../src/components/BehandleMerknaderForm.jsx | 2 +- .../ankeMerknaderAksjonspunkterPropType.jsx | 5 +- .../src/components/BehandleResultatForm.jsx | 2 +- .../ankeResultatAksjonspunkterPropType.jsx | 5 +- packages/prosess-anke/package.json | 2 + .../prosess-anke/src/AnkeProsessIndex.jsx | 8 +- .../src/components/BehandleAnkeForm.jsx | 486 +- .../src/AvregningProsessIndex.spec.tsx | 42 +- .../src/components/AvregningPanel.jsx | 12 +- .../src/components/AvregningPanel.spec.tsx | 12 +- .../src/components/AvregningTable.spec.tsx | 15 +- .../src/components/AvregningTable.tsx | 10 +- .../avregningAksjonspunkterPropType.jsx | 5 +- .../propTypes/avregningBehandlingPropType.jsx | 5 +- .../src/propTypes/avregningFagsakPropType.jsx | 5 +- .../src/vilkar/VilkarResultPicker.spec.tsx | 15 +- .../src/vilkar/VilkarResultPicker.tsx | 11 +- .../vilkar/VilkarResultPickerPeriodisert.tsx | 10 +- .../src/ForeldelseProsessIndex.jsx | 2 +- .../src/components/ForeldelseForm.jsx | 5 +- .../src/components/ForeldelseForm.spec.jsx | 12 +- .../src/components/ForeldelsePeriodeForm.jsx | 2 +- .../src/FormkravProsessIndex.jsx | 8 +- .../src/components/FormkravKlageForm.jsx | 46 +- .../src/components/FormkravKlageForm.spec.jsx | 72 +- .../src/components/FormkravKlageFormKa.jsx | 6 +- .../components/FormkravKlageFormKa.spec.jsx | 1 - .../src/components/FormkravKlageFormNfp.jsx | 11 +- .../components/FormkravKlageFormNfp.spec.jsx | 1 - .../src/KlagevurderingProsessIndex.jsx | 4 +- .../ka/BehandleKlageFormKa.spec.jsx | 5 +- .../ka/KlageVurderingRadioOptionsKa.spec.jsx | 5 +- .../components/nfp/BehandleKlageFormNfp.jsx | 6 +- .../nfp/BehandleKlageFormNfp.spec.jsx | 11 +- .../nfp/KlageVurderingRadioOptionsNfp.jsx | 4 +- .../KlageVurderingRadioOptionsNfp.spec.jsx | 13 +- .../klagevurderingBehandlingPropType.jsx | 5 +- .../src/CheckPersonStatusIndex.jsx | 49 +- .../src/CheckPersonStatusIndex.stories.tsx | 90 +- .../src/components/CheckPersonStatusForm.jsx | 20 +- .../components/CheckPersonStatusForm.spec.jsx | 70 +- .../saksopplysningAksjonspunkterPropType.jsx | 7 +- ...sopplysningPersonsopplysningerPropType.jsx | 9 +- .../TilbakekrevingProsessIndex.stories.tsx | 71 +- .../src/TilbakekrevingProsessIndex.tsx | 2 +- .../components/TilbakekrevingForm.spec.tsx | 67 +- .../src/components/TilbakekrevingForm.tsx | 2 +- .../components/TilbakekrevingPeriodeForm.tsx | 6 +- .../splittePerioder/PeriodeInformasjon.tsx | 10 +- .../aktsomhet/AktsomhetFormPanel.spec.tsx | 2 +- ...etaljerteFeilutbetalingsperioderTsType.tsx | 8 +- .../src/types/feilutbetalingPerioderTsType.ts | 4 +- .../src/types/foreldelsePerioderTsType.ts | 4 +- .../types/vilkarsVurdertePerioderTsType.ts | 12 +- .../TilkjentYtelseProsessIndex.stories.tsx | 59 +- .../src/TilkjentYtelseProsessIndex.tsx | 3 +- .../src/components/TilkjentYteleseUtils.ts | 14 +- .../src/components/TilkjentYtelse.spec.tsx | 33 +- .../src/components/TilkjentYtelse.tsx | 27 +- .../components/TilkjentYtelsePanel.spec.tsx | 8 +- .../src/components/TilkjentYtelsePanel.tsx | 10 +- .../TilkjentYtelseTimeLineData.spec.tsx | 21 +- .../components/TilkjentYtelseTimelineData.tsx | 31 +- .../components/manuellePerioder/Andeler.tsx | 14 +- .../components/manuellePerioder/NyPeriode.tsx | 6 +- .../manuellePerioder/PeriodeRad.tsx | 5 +- .../manuellePerioder/PeriodeTabell.tsx | 7 +- .../manuellePerioder/TilkjentYtelseForm.tsx | 14 +- .../tilbaketrekk/Tilbaketrekkpanel.spec.tsx | 8 +- .../tilbaketrekk/Tilbaketrekkpanel.tsx | 2 +- .../prosess-unntak/src/UnntakProsessIndex.jsx | 6 - .../components/BehandleUnntakForm.spec.jsx | 7 +- .../src/components/BehandleUnntakForm.tsx | 6 +- .../src/components/FritekstTextField.jsx | 2 +- .../propTypes/unntakBehandlingPropType.jsx | 5 +- .../prosess-uttak/src/ui/MainComponent.tsx | 2 +- .../src/VarselOmRevurderingProsessIndex.jsx | 4 - .../components/VarselOmRevurderingForm.jsx | 18 +- .../revurderingAksjonspunkterPropType.jsx | 7 +- .../revurderingBehandlingPropType.jsx | 15 +- .../src/VedtakKlageProsessIndex.jsx | 27 +- .../src/VedtakKlageProsessIndex.stories.tsx | 4 +- .../src/components/VedtakKlageForm.jsx | 20 +- .../src/components/VedtakKlageForm.spec.jsx | 73 +- .../vedtakKlageBehandlingPropType.jsx | 5 +- ...dtakTilbakekrevingProsessIndex.stories.tsx | 35 +- .../src/VedtakTilbakekrevingProsessIndex.tsx | 10 +- .../components/TilbakekrevingVedtak.spec.tsx | 45 +- .../src/components/TilbakekrevingVedtak.tsx | 15 +- ...TilbakekrevingVedtakPeriodeTabell.spec.tsx | 34 +- .../TilbakekrevingVedtakPeriodeTabell.tsx | 9 +- .../beregningsresultatTilbakekrevingTsType.ts | 6 +- .../prosess-vedtak/src/VedtakProsessIndex.jsx | 2 +- ...dtakProsessIndexTilbakekreving.stories.tsx | 93 +- .../Avslags\303\245rsakListe.spec.tsx" | 27 +- .../components/Avslags\303\245rsakListe.tsx" | 52 +- .../components/VedtakAksjonspunktPanel.tsx | 4 - .../src/components/VedtakAvslagPanel.jsx | 40 +- .../src/components/VedtakAvslagPanel.spec.jsx | 59 +- .../src/components/VedtakForm.spec.tsx | 127 +- .../src/components/VedtakForm.tsx | 49 +- .../src/components/VedtakFritekstPanel.jsx | 2 +- .../src/components/VedtakHelper.jsx | 25 +- .../src/components/VedtakHelper.spec.jsx | 18 +- .../src/components/VedtakInnvilgetPanel.jsx | 8 +- .../components/VedtakInnvilgetPanel.spec.jsx | 4 +- .../VedtakOverlappendeYtelsePanel.tsx | 26 +- .../src/components/VedtakPanels.jsx | 13 +- .../VedtakSjekkTilbakekreving.spec.tsx | 64 +- .../src/components/brev/BrevPanel.spec.jsx | 10 +- .../src/components/brev/BrevPanel.tsx | 6 +- ...InformasjonsbehovAutomatiskVedtaksbrev.tsx | 3 +- .../revurdering/RevurderingPaneler.tsx | 77 +- .../VedtakAvslagRevurderingPanel.jsx | 53 +- .../VedtakInnvilgetRevurderingPanel.jsx | 28 +- .../VedtakInnvilgetRevurderingPanel.spec.jsx | 17 +- .../VedtakOpphorRevurderingPanel.spec.jsx | 40 +- .../VedtakRevurderingForm.spec.jsx | 69 +- .../vedtakAksjonspunkterPropType.jsx | 5 +- .../propTypes/vedtakBehandlingPropType.jsx | 9 +- .../vedtakBeregningsgrunnlagPropType.jsx | 12 +- .../src/propTypes/vedtakVilkarPropType.jsx | 7 +- .../src/AldersVilkarProsessIndex.tsx | 10 +- .../src/components/AldersvilkarAP.tsx | 2 +- .../OpptjeningVilkarProsessIndex.stories.tsx | 38 +- .../src/OpptjeningVilkarProsessIndex.tsx | 20 +- .../OpptjeningVilkarAksjonspunktPanel.tsx | 4 +- .../components/OpptjeningVilkarForm.spec.tsx | 14 +- .../src/components/VilkarFields.tsx | 12 +- ...esultatMedOverstyringProsessIndex.spec.tsx | 18 +- ...ltatMedOverstyringProsessIndex.stories.tsx | 26 +- ...lkarresultatMedOverstyringProsessIndex.tsx | 36 +- .../VilkarresultatMedBegrunnelse.tsx | 6 +- .../VilkarresultatMedOverstyringForm.spec.tsx | 22 +- .../VilkarresultatMedOverstyringForm.tsx | 37 +- .../VilkarresultatMedOverstyringHeader.tsx | 8 +- .../VilkarresultatMedBegrunnelse.tsx | 6 +- .../VilkarresultatMedOverstyringForm.spec.tsx | 22 +- .../VilkarresultatMedOverstyringForm.tsx | 56 +- .../VilkarresultatMedOverstyringHeader.tsx | 11 +- .../VilkarresultatMedBegrunnelse.tsx | 4 - .../VilkarresultatMedOverstyringForm.spec.tsx | 22 +- .../VilkarresultatMedOverstyringForm.tsx | 38 +- .../VilkarresultatMedOverstyringHeader.tsx | 11 +- .../package.json | 1 + ...ysningspliktVilkarProsessIndex.stories.tsx | 181 +- ...kersOpplysningspliktVilkarProsessIndex.tsx | 40 +- .../SokersOpplysningspliktForm.spec.tsx | 36 +- .../components/SokersOpplysningspliktForm.tsx | 202 +- .../SoknadsfristVilkarProsessIndex.spec.tsx | 47 +- ...SoknadsfristVilkarProsessIndex.stories.tsx | 14 +- .../src/SoknadsfristVilkarProsessIndex.tsx | 24 +- .../SoknadsfristVilkarForm.spec.tsx | 14 +- .../src/components/SoknadsfristVilkarForm.tsx | 16 +- .../components/SoknadsfristVilkarHeader.tsx | 10 +- .../src/SykdomProsessIndex.tsx | 11 +- packages/rest-api/package.json | 1 + .../src/axios/getAxiosHttpClientApi.ts | 20 +- .../sak-aktor/src/AktorSakIndex.stories.tsx | 25 +- packages/sak-aktor/src/AktorSakIndex.tsx | 7 +- .../sak-aktor/src/components/AktoerGrid.tsx | 17 +- packages/sak-app/src/aktoer/AktoerIndex.tsx | 11 +- packages/sak-app/src/app/util/access.spec.ts | 24 +- packages/sak-app/src/app/util/access.ts | 79 +- .../src/behandling/BehandlingIndex.tsx | 39 +- .../src/behandling/BehandlingerIndex.spec.tsx | 23 +- .../src/behandling/BehandlingerIndex.tsx | 9 +- .../BehandlingMenuIndex.spec.tsx | 22 +- .../behandlingmenu/BehandlingMenuIndex.tsx | 7 +- .../src/behandlingmenu/MenyKodeverk.ts | 8 +- .../BehandlingSupportIndex.spec.tsx | 58 +- .../dokument/DokumentIndex.spec.tsx | 15 +- .../historikk/HistorikkIndex.spec.tsx | 36 +- .../historikk/HistorikkIndex.tsx | 29 +- .../melding/MeldingIndex.spec.tsx | 4 +- .../melding/MeldingIndex.tsx | 4 +- .../BeslutterModalIndex.spec.tsx | 22 +- .../totrinnskontroll/BeslutterModalIndex.tsx | 4 +- .../TotrinnskontrollIndex.spec.tsx | 35 +- .../TotrinnskontrollIndex.tsx | 14 +- packages/sak-app/src/data/useKodeverk.tsx | 8 +- .../sak-app/src/fagsak/FagsakIndex.spec.tsx | 65 +- packages/sak-app/src/fagsak/FagsakIndex.tsx | 226 +- .../src/fagsak/sakRettigheterTsType.ts | 4 +- .../fagsakSearch/FagsakSearchIndex.spec.tsx | 56 +- .../src/fagsakSearch/FagsakSearchIndex.tsx | 2 +- .../fagsakprofile/FagsakProfileIndex.spec.tsx | 129 +- .../src/fagsakprofile/FagsakProfileIndex.tsx | 24 +- .../RisikoklassifiseringIndex.spec.tsx | 5 +- .../RisikoklassifiseringIndex.tsx | 4 +- packages/sak-behandling-velger/package.json | 2 + .../src/BehandlingVelgerSakIndex.stories.tsx | 64 +- .../src/BehandlingVelgerSakIndex.tsx | 16 +- .../BehandlingVelgerSakIndexOld.stories.tsx | 95 +- .../src/components/BehandlingPicker.spec.tsx | 39 +- .../src/components/BehandlingPicker.tsx | 61 +- .../components/BehandlingPickerItem.spec.tsx | 98 +- .../src/components/BehandlingPickerItem.tsx | 60 +- .../BehandlingPickerItemContentOld.spec.tsx | 39 +- .../BehandlingPickerItemContentOld.tsx | 311 +- .../src/components/BehandlingPickerOld.tsx | 12 +- .../src/DokumenterSakIndex.stories.tsx | 18 +- .../sak-dokumenter/src/DokumenterSakIndex.tsx | 2 +- packages/sak-fagsak-profil/package.json | 2 + .../src/FagsakProfilSakIndex.stories.tsx | 13 +- .../src/FagsakProfilSakIndex.tsx | 6 +- .../src/components/FagsakProfile.spec.tsx | 159 +- .../src/components/FagsakProfile.tsx | 76 +- .../src/HistorikkSakIndex.stories.tsx | 70 +- .../sak-historikk/src/HistorikkSakIndex.tsx | 12 +- .../src/components/HistorikkMalTsType.ts | 5 +- .../sak-historikk/src/components/History.tsx | 23 +- .../components/maler/HistorikkMalType10.tsx | 49 +- .../components/maler/HistorikkMalType6.tsx | 15 +- .../components/maler/HistorikkMalType7.tsx | 27 +- .../components/maler/HistorikkMalType8.tsx | 28 +- .../components/maler/HistorikkMalType9.tsx | 42 +- .../maler/HistorikkMalTypeFeilutbetaling.tsx | 27 +- .../maler/HistorikkMalTypeForeldelse.spec.tsx | 38 +- .../maler/HistorikkMalTypeForeldelse.tsx | 13 +- .../HistorikkMalTypeTilbakekreving.spec.tsx | 40 +- .../maler/HistorikkMalTypeTilbakekreving.tsx | 26 +- .../maler/HistorikkmalFelles7og8.tsx | 13 +- .../components/maler/felles/Skjermlenke.tsx | 12 +- .../felles/SnakkebobleContainer.spec.tsx | 4 +- .../maler/felles/SnakkebobleContainer.tsx | 16 +- .../maler/felles/historikkUtils.spec.ts | 14 +- .../maler/felles/historikkUtils.tsx | 45 +- .../components/maler/historikkMalType1.tsx | 12 +- .../components/maler/historikkMalType2.tsx | 10 +- .../components/maler/historikkMalType3.tsx | 6 +- .../components/maler/historikkMalType4.tsx | 13 +- .../components/maler/historikkMalType5.tsx | 45 +- .../src/MeldingerSakIndex.stories.tsx | 16 +- .../sak-meldinger/src/MeldingerSakIndex.tsx | 4 +- .../sak-meldinger/src/components/Messages.tsx | 10 +- .../MessagesTilbakekreving.spec.tsx | 5 +- .../src/components/MessagesTilbakekreving.tsx | 10 +- .../src/MenyHenleggIndex.spec.tsx | 10 +- .../src/MenyHenleggIndex.stories.tsx | 10 +- .../sak-meny-henlegg/src/MenyHenleggIndex.tsx | 6 +- .../HenleggBehandlingModal.spec.tsx | 70 +- .../src/components/HenleggBehandlingModal.tsx | 41 +- .../src/MenyMarkerBehanding.spec.tsx | 3 +- .../src/MenyNyBehandlingIndex.spec.tsx | 25 +- .../src/MenyNyBehandlingIndex.stories.tsx | 30 +- .../src/MenyNyBehandlingIndex.tsx | 6 +- .../src/components/NyBehandlingModal.spec.tsx | 90 +- .../src/components/NyBehandlingModal.tsx | 17 +- .../src/MenySettPaVentIndex.spec.tsx | 38 +- .../src/MenySettPaVentIndex.stories.tsx | 13 - .../src/MenySettPaVentIndex.tsx | 4 - .../src/RisikoklassifiseringSakIndex.spec.tsx | 5 +- .../RisikoklassifiseringSakIndex.stories.tsx | 15 +- .../src/RisikoklassifiseringSakIndex.tsx | 2 +- .../AvklarFaresignalerForm.spec.tsx | 20 +- .../src/components/AvklarFaresignalerForm.tsx | 4 +- .../src/components/Faresignaler.spec.tsx | 5 +- .../src/components/HoyRisikoPanel.tsx | 2 +- .../sak-sok/src/FagsakSokSakIndex.stories.tsx | 2 +- packages/sak-sok/src/FagsakSokSakIndex.tsx | 5 +- .../src/components/FagsakList.spec.tsx | 89 +- .../sak-sok/src/components/FagsakList.tsx | 19 +- .../src/components/FagsakSearch.spec.tsx | 20 +- .../sak-sok/src/components/FagsakSearch.tsx | 8 +- .../src/Soknadsperiodestripe.spec.tsx | 14 +- .../src/Soknadsperiodestripe.stories.tsx | 4 +- .../src/Soknadsperiodestripe.tsx | 17 +- ...kTotrinnskontrollModalSakIndex.stories.tsx | 34 +- ...terVedtakTotrinnskontrollModalSakIndex.tsx | 8 +- .../src/TotrinnskontrollSakIndex.stories.tsx | 147 +- .../src/TotrinnskontrollSakIndex.tsx | 35 +- .../AksjonspunktGodkjenningFieldArray.tsx | 9 +- .../TotrinnskontrollBeslutterForm.spec.tsx | 15 +- .../TotrinnskontrollBeslutterForm.tsx | 21 +- ...otrinnskontrollSaksbehandlerPanel.spec.tsx | 5 +- .../TotrinnskontrollSaksbehandlerPanel.tsx | 8 +- .../aksjonspunktTekstUtleder.spec.tsx | 26 +- .../aksjonspunktTekstUtleder.tsx | 14 +- .../modal/FatterVedtakApprovalModal.spec.tsx | 15 +- .../modal/FatterVedtakApprovalModal.tsx | 60 +- .../src/VisittkortSakIndex.stories.tsx | 242 +- .../sak-visittkort/src/VisittkortSakIndex.tsx | 7 +- .../VisittkortDetaljerPopup.spec.tsx | 78 +- .../components/VisittkortDetaljerPopup.tsx | 29 +- .../src/components/VisittkortLabels.spec.tsx | 56 +- .../src/components/VisittkortLabels.tsx | 4 +- .../src/components/VisittkortPanel.spec.tsx | 89 +- .../src/components/VisittkortPanel.tsx | 34 +- ...jonspunktAvklarArbeidsforholdText.spec.tsx | 14 +- .../AksjonspunktAvklarArbeidsforholdText.tsx | 13 +- .../stories/mocks/personopplysninger.ts | 230 +- .../src/HentFritekstbrevHtmlRequestTsType.ts | 4 +- packages/types/src/aksjonspunktTsType.ts | 13 +- packages/types/src/ankeVurderingTsType.ts | 14 +- packages/types/src/arbeidsforholdTsType.ts | 4 +- packages/types/src/arbeidsforholdV2TsType.ts | 9 +- .../types/src/behandlingAppKontekstTsType.ts | 15 +- .../src/behandlingPerioderarsakMedVilkar.ts | 11 +- .../types/src/behandlingsresultatTsType.ts | 10 +- .../beregningAvklaringsbehovTsType.ts | 6 +- .../types/src/beregningsgrunnlagTsType.ts | 20 +- .../beregningsresultatTilbakekrevingTsType.ts | 6 +- .../src/beregningsresultatUtbetaltTsType.ts | 8 +- packages/types/src/dokumentStatusTsType.ts | 2 +- packages/types/src/fagsakPersonTsType.ts | 6 +- packages/types/src/fagsakTsType.ts | 15 +- packages/types/src/familieHendelseTsType.ts | 4 +- .../types/src/feilutbetalingFaktaTsType.ts | 20 +- .../types/src/feilutbetalingPerioderTsType.ts | 4 +- packages/types/src/formidlingTsType.ts | 10 +- packages/types/src/historikkinnslagTsType.ts | 24 +- packages/types/src/innsynTsType.ts | 4 +- packages/types/src/inntektsmeldingTsType.ts | 4 +- packages/types/src/klageVurderingTsType.ts | 6 +- packages/types/src/kodeverkMedNavnTsType.ts | 9 +- .../opptjening/fastsattOpptjeningAktivitet.ts | 4 +- .../src/opptjening/opptjeningAktivitet.ts | 4 +- .../src/opptjening/vilk\303\245rresultat.ts" | 6 +- packages/types/src/overlappendePeriode.ts | 8 +- .../types/src/personopplysningerTsType.ts | 21 +- .../types/src/risikoklassifiseringTsType.ts | 6 +- .../types/src/simuleringResultatTsType.ts | 5 +- packages/types/src/soknadTsType.ts | 5 +- .../totrinnskontroll/Behandlingsresultat.ts | 6 +- .../src/totrinnskontroll/SkjermlenkeType.ts | 3 + .../src/totrinnskontrollAksjonspunktTsType.ts | 8 +- .../utenlandsoppholdTsType.ts | 7 +- .../types/src/uttaksresultatPeriodeTsType.ts | 5 +- packages/types/src/vilkarTsType.ts | 3 +- packages/types/src/vilkarperiode.ts | 6 +- packages/utils/index.ts | 1 - packages/utils/src/beregning/VilkarMapper.tsx | 7 +- packages/utils/src/findStatusForVedtak.ts | 14 +- packages/utils/src/formidlingUtils.tsx | 14 +- packages/utils/src/getAddresses.spec.ts | 10 +- packages/utils/src/getAddresses.ts | 9 +- packages/utils/src/kodeverkUtils.spec.ts | 80 - packages/utils/src/kodeverkUtils.ts | 47 - packages/utils/src/languageUtils.ts | 10 +- .../src/micro-frontends/findAksjonspunkt.ts | 4 +- .../models/Forh\303\245ndsvisDto.ts" | 4 +- .../src/k9sak/kodeverk/FagsakYtelsesType.ts | 4 - .../src/k9sak/kodeverk/Spr\303\245kkode.ts" | 4 +- .../k9sak/kodeverk/behandling/FagsakStatus.ts | 3 - packages/v2/gui/package.json | 5 +- .../behandling/context/BehandlingContext.tsx | 55 + .../behandling/hooks/useBehandlingContext.tsx | 33 + packages/v2/gui/src/behandling/index.ts | 2 + .../src/kodeverk/context/KodeverkContext.tsx | 71 + .../src/kodeverk/hooks/useKodeverkContext.tsx | 126 + packages/v2/gui/src/kodeverk/index.ts | 2 + packages/v2/gui/src/sak/BehandlingInfo.ts | 7 +- packages/v2/gui/src/sak/Fagsak.ts | 8 +- .../sak/meldinger/FritekstInput.stories.tsx | 2 +- .../gui/src/sak/meldinger/FritekstInput.tsx | 9 +- .../src/sak/meldinger/Messages.stories.tsx | 11 +- .../v2/gui/src/sak/meldinger/Messages.tsx | 6 +- packages/v2/lib/README.md | 8 + packages/v2/lib/package.json | 11 + packages/v2/lib/src/kodeverk/kodeverkUtils.ts | 32 + .../src/kodeverk/konverterKodeverkTilKode.ts | 28 + .../kodeverk/mocks/alleKodeverkKlageV2.json | 14 + .../src/kodeverk/mocks/alleKodeverkV2.json | 5694 +++++++++++++++++ .../kodeverk/mocks/kodeverkNavnFraKodeMock.ts | 23 + packages/v2/lib/src/kodeverk/types.ts | 10 + .../v2/lib/src/kodeverk/types/AlleKodeverk.ts | 9 + .../types/GetKodeverkNavnFraKodeFnType.ts | 11 + .../kodeverk/types/HentKodeverkForKodeType.ts | 12 + .../src/kodeverk/types/KodeverkKlageType.ts | 6 + .../kodeverk/types/KodeverkNavnFraKodeType.ts | 8 + .../types/KodeverkNavnFraUndertypeKodeType.ts | 9 + .../src/kodeverk/types/KodeverkResponse.ts | 5 + .../src/kodeverk/types/KodeverkTilbakeType.ts | 3 + .../v2/lib/src/kodeverk/types/KodeverkType.ts | 133 + .../v2/lib/src/kodeverk/types/KodeverkV2.ts | 7 + vite.config.js | 26 +- yarn.lock | 26 +- 655 files changed, 13474 insertions(+), 9247 deletions(-) delete mode 100644 packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.jsx create mode 100644 packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.tsx create mode 100644 packages/fakta-feilutbetaling/src/types/FeilutbetalingAarsak.ts create mode 100644 packages/fakta-feilutbetaling/src/types/FeilutbetalingFakta.ts create mode 100644 packages/fakta-feilutbetaling/src/types/index.ts delete mode 100644 packages/fakta-inntektsmelding/src/types/Aksjonspunkt.ts delete mode 100644 packages/fakta-inntektsmelding/src/types/Kodeverk.ts delete mode 100644 packages/utils/src/kodeverkUtils.spec.ts delete mode 100644 packages/utils/src/kodeverkUtils.ts create mode 100644 packages/v2/gui/src/behandling/context/BehandlingContext.tsx create mode 100644 packages/v2/gui/src/behandling/hooks/useBehandlingContext.tsx create mode 100644 packages/v2/gui/src/behandling/index.ts create mode 100644 packages/v2/gui/src/kodeverk/context/KodeverkContext.tsx create mode 100644 packages/v2/gui/src/kodeverk/hooks/useKodeverkContext.tsx create mode 100644 packages/v2/gui/src/kodeverk/index.ts create mode 100644 packages/v2/lib/README.md create mode 100644 packages/v2/lib/package.json create mode 100644 packages/v2/lib/src/kodeverk/kodeverkUtils.ts create mode 100644 packages/v2/lib/src/kodeverk/konverterKodeverkTilKode.ts create mode 100644 packages/v2/lib/src/kodeverk/mocks/alleKodeverkKlageV2.json create mode 100644 packages/v2/lib/src/kodeverk/mocks/alleKodeverkV2.json create mode 100644 packages/v2/lib/src/kodeverk/mocks/kodeverkNavnFraKodeMock.ts create mode 100644 packages/v2/lib/src/kodeverk/types.ts create mode 100644 packages/v2/lib/src/kodeverk/types/AlleKodeverk.ts create mode 100644 packages/v2/lib/src/kodeverk/types/GetKodeverkNavnFraKodeFnType.ts create mode 100644 packages/v2/lib/src/kodeverk/types/HentKodeverkForKodeType.ts create mode 100644 packages/v2/lib/src/kodeverk/types/KodeverkKlageType.ts create mode 100644 packages/v2/lib/src/kodeverk/types/KodeverkNavnFraKodeType.ts create mode 100644 packages/v2/lib/src/kodeverk/types/KodeverkNavnFraUndertypeKodeType.ts create mode 100644 packages/v2/lib/src/kodeverk/types/KodeverkResponse.ts create mode 100644 packages/v2/lib/src/kodeverk/types/KodeverkTilbakeType.ts create mode 100644 packages/v2/lib/src/kodeverk/types/KodeverkType.ts create mode 100644 packages/v2/lib/src/kodeverk/types/KodeverkV2.ts diff --git a/.gitignore b/.gitignore index 2909254856..0633639f34 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ public/client/src !.yarn/releases !.yarn/sdks !.yarn/versions +!/packages/v2/lib* diff --git a/packages/behandling-anke/src/BehandlingAnkeIndex.tsx b/packages/behandling-anke/src/BehandlingAnkeIndex.tsx index 0852637806..65e35598c5 100644 --- a/packages/behandling-anke/src/BehandlingAnkeIndex.tsx +++ b/packages/behandling-anke/src/BehandlingAnkeIndex.tsx @@ -2,9 +2,9 @@ import React, { useEffect, useState, useCallback } from 'react'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { Rettigheter, ReduxFormStateCleaner, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; -import { Fagsak, Behandling, Kodeverk, KodeverkMedNavn, FagsakPerson } from '@k9-sak-web/types'; +import { Fagsak, Behandling, FagsakPerson } from '@k9-sak-web/types'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import AnkePaneler from './components/AnkePaneler'; import FetchedData from './types/fetchedDataTsType'; import { restApiAnkeHooks, requestAnkeApi, AnkeBehandlingApiKeys } from './data/ankeBehandlingApi'; @@ -20,7 +20,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; rettigheter: Rettigheter; - kodeverk: { [key: string]: KodeverkMedNavn[] }; + kodeverk: AlleKodeverk; oppdaterProsessStegOgFaktaPanelIUrl: (punktnavn?: string, faktanavn?: string) => void; valgtProsessSteg?: string; oppdaterBehandlingVersjon: (versjon: number) => void; @@ -31,7 +31,7 @@ interface OwnProps { opneSokeside: () => void; alleBehandlinger: { id: number; - type: Kodeverk; + type: string; avsluttet?: string; }[]; setRequestPendingMessage: (message: string) => void; diff --git a/packages/behandling-anke/src/components/AnkePaneler.tsx b/packages/behandling-anke/src/components/AnkePaneler.tsx index 47ba4c7089..06ab7f855d 100644 --- a/packages/behandling-anke/src/components/AnkePaneler.tsx +++ b/packages/behandling-anke/src/components/AnkePaneler.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { BehandlingPaVent, SettPaVentParams, Rettigheter } from '@k9-sak-web/behandling-felles'; -import { Fagsak, Behandling, Kodeverk, KodeverkMedNavn, FagsakPerson } from '@k9-sak-web/types'; - +import { Fagsak, Behandling, FagsakPerson } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import AnkeProsess from './AnkeProsess'; import FetchedData from '../types/fetchedDataTsType'; @@ -12,7 +12,7 @@ interface OwnProps { behandling: Behandling; fetchedData: FetchedData; rettigheter: Rettigheter; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; valgtProsessSteg?: string; oppdaterProsessStegOgFaktaPanelIUrl: (punktnavn?: string, faktanavn?: string) => void; oppdaterBehandlingVersjon: (versjon: number) => void; @@ -21,7 +21,7 @@ interface OwnProps { opneSokeside: () => void; alleBehandlinger: { id: number; - type: Kodeverk; + type: string; avsluttet?: string; }[]; } diff --git a/packages/behandling-anke/src/components/AnkeProsess.spec.tsx b/packages/behandling-anke/src/components/AnkeProsess.spec.tsx index d7965c31c3..ec98651107 100644 --- a/packages/behandling-anke/src/components/AnkeProsess.spec.tsx +++ b/packages/behandling-anke/src/components/AnkeProsess.spec.tsx @@ -15,15 +15,34 @@ import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/Fags import AnkeProsess from './AnkeProsess'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -33,8 +52,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -54,15 +73,15 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_AKTIVITETER, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AVKLAR_AKTIVITETER, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, ]; const vilkar = [ { - vilkarType: { kode: vilkarType.MEDISINSKEVILKÅR_UNDER_18_ÅR, kodeverk: 'test' }, + vilkarType: vilkarType.MEDISINSKEVILKÅR_UNDER_18_ÅR, overstyrbar: true, } as Vilkar, ]; diff --git a/packages/behandling-anke/src/components/AnkeProsess.tsx b/packages/behandling-anke/src/components/AnkeProsess.tsx index 82998b4d94..75d1e1563e 100644 --- a/packages/behandling-anke/src/components/AnkeProsess.tsx +++ b/packages/behandling-anke/src/components/AnkeProsess.tsx @@ -10,8 +10,8 @@ import { prosessStegHooks, useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; -import { Behandling, Fagsak, FagsakPerson, Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; - +import { Aksjonspunkt, Behandling, BehandlingAppKontekst, Fagsak, FagsakPerson } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import lagForhåndsvisRequest, { bestemAvsenderApp } from '@fpsak-frontend/utils/src/formidlingUtils'; import { AnkeBehandlingApiKeys, restApiAnkeHooks } from '../data/ankeBehandlingApi'; import prosessStegPanelDefinisjoner from '../panelDefinisjoner/prosessStegAnkePanelDefinisjoner'; @@ -29,7 +29,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; oppdaterBehandlingVersjon: (versjon: number) => void; @@ -37,88 +37,82 @@ interface OwnProps { opneSokeside: () => void; alleBehandlinger: { id: number; - type: Kodeverk; + type: string; avsluttet?: string; }[]; setBehandling: (behandling: Behandling) => void; } -const saveAnkeText = ( - lagreAnkeVurdering, - lagreReapneAnkeVurdering, - behandling, - aksjonspunkter, -) => aksjonspunktModel => { - const data = { - behandlingId: behandling.id, - ...aksjonspunktModel, - }; - - const getForeslaVedtakAp = aksjonspunkter - .filter(ap => ap.status.kode === aksjonspunktStatus.OPPRETTET) - .filter(ap => ap.definisjon.kode === aksjonspunktCodes.FORESLA_VEDTAK); - - if (getForeslaVedtakAp.length === 1) { - lagreReapneAnkeVurdering(data); - } else { - lagreAnkeVurdering(data); - } -}; +const saveAnkeText = + (lagreAnkeVurdering, lagreReapneAnkeVurdering, behandling: BehandlingAppKontekst, aksjonspunkter: Aksjonspunkt[]) => + aksjonspunktModel => { + const data = { + behandlingId: behandling.id, + ...aksjonspunktModel, + }; -const previewCallback = ( - forhandsvisMelding, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, - behandling: Behandling, -) => parametre => { - const request = lagForhåndsvisRequest(behandling, fagsak, fagsakPerson, parametre); - return forhandsvisMelding(request).then(response => forhandsvis(response)); -}; + const getForeslaVedtakAp = aksjonspunkter + .filter(ap => ap.status === aksjonspunktStatus.OPPRETTET) + .filter(ap => ap.definisjon === aksjonspunktCodes.FORESLA_VEDTAK); -const getHentFritekstbrevHtmlCallback = ( - hentFriteksbrevHtml: (data: any) => Promise, - behandling: Behandling, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, -) => (parameters: any) => - hentFriteksbrevHtml({ - ...parameters, - eksternReferanse: behandling.uuid, - ytelseType: fagsak.sakstype, - saksnummer: fagsak.saksnummer, - aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), - }); - -const getLagringSideeffekter = ( - toggleIverksetterVedtakModal, - toggleAnkeModal, - toggleOppdatereFagsakContext, - oppdaterProsessStegOgFaktaPanelIUrl, -) => async aksjonspunktModels => { - const skalTilMedunderskriver = aksjonspunktModels.some(apValue => apValue.kode === aksjonspunktCodes.FORESLA_VEDTAK); - const skalFerdigstilles = aksjonspunktModels.some( - apValue => apValue.kode === aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, - ); - const erManuellVurderingAvAnke = aksjonspunktModels.some( - apValue => apValue.kode === aksjonspunktCodes.MANUELL_VURDERING_AV_ANKE_MERKNADER, - ); + if (getForeslaVedtakAp.length === 1) { + lagreReapneAnkeVurdering(data); + } else { + lagreAnkeVurdering(data); + } + }; - if (skalTilMedunderskriver || skalFerdigstilles || erManuellVurderingAvAnke) { - toggleOppdatereFagsakContext(false); - } +const previewCallback = + (forhandsvisMelding, fagsak: Fagsak, fagsakPerson: FagsakPerson, behandling: Behandling) => parametre => { + const request = lagForhåndsvisRequest(behandling, fagsak, fagsakPerson, parametre); + return forhandsvisMelding(request).then(response => forhandsvis(response)); + }; - // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) - return () => { - if (skalTilMedunderskriver || skalFerdigstilles) { - toggleAnkeModal(true); - } else if (erManuellVurderingAvAnke) { - toggleIverksetterVedtakModal(true); - } else { - oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); +const getHentFritekstbrevHtmlCallback = + ( + hentFriteksbrevHtml: (data: any) => Promise, + behandling: Behandling, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + ) => + (parameters: any) => + hentFriteksbrevHtml({ + ...parameters, + eksternReferanse: behandling.uuid, + ytelseType: fagsak.sakstype, + saksnummer: fagsak.saksnummer, + aktørId: fagsakPerson.aktørId, + avsenderApplikasjon: bestemAvsenderApp(behandling.type), + }); + +const getLagringSideeffekter = + (toggleIverksetterVedtakModal, toggleAnkeModal, toggleOppdatereFagsakContext, oppdaterProsessStegOgFaktaPanelIUrl) => + async aksjonspunktModels => { + const skalTilMedunderskriver = aksjonspunktModels.some( + apValue => apValue.kode === aksjonspunktCodes.FORESLA_VEDTAK, + ); + const skalFerdigstilles = aksjonspunktModels.some( + apValue => apValue.kode === aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, + ); + const erManuellVurderingAvAnke = aksjonspunktModels.some( + apValue => apValue.kode === aksjonspunktCodes.MANUELL_VURDERING_AV_ANKE_MERKNADER, + ); + + if (skalTilMedunderskriver || skalFerdigstilles || erManuellVurderingAvAnke) { + toggleOppdatereFagsakContext(false); } + + // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) + return () => { + if (skalTilMedunderskriver || skalFerdigstilles) { + toggleAnkeModal(true); + } else if (erManuellVurderingAvAnke) { + toggleIverksetterVedtakModal(true); + } else { + oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + } + }; }; -}; const AnkeProsess = ({ data, @@ -204,8 +198,7 @@ const AnkeProsess = ({ () => data.aksjonspunkter.some( ap => - ap.definisjon.kode === aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL && - ap.status.kode === aksjonspunktStatus.UTFORT, + ap.definisjon === aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL && ap.status === aksjonspunktStatus.UTFORT, ), [behandling.versjon], ); diff --git a/packages/behandling-felles/package.json b/packages/behandling-felles/package.json index b202c5d8a0..c079eb7f7f 100644 --- a/packages/behandling-felles/package.json +++ b/packages/behandling-felles/package.json @@ -12,6 +12,7 @@ "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", "@k9-sak-web/konstanter": "1.0.0", + "@k9-sak-web/lib": "1.0.0", "@k9-sak-web/modal-sett-pa-vent": "1.0.0", "@k9-sak-web/rest-api-hooks": "1.0.0", "@k9-sak-web/types": "1.0.0", diff --git a/packages/behandling-felles/src/components/InngangsvilkarPanel.spec.tsx b/packages/behandling-felles/src/components/InngangsvilkarPanel.spec.tsx index b6351fd446..1b32821421 100644 --- a/packages/behandling-felles/src/components/InngangsvilkarPanel.spec.tsx +++ b/packages/behandling-felles/src/components/InngangsvilkarPanel.spec.tsx @@ -17,14 +17,8 @@ describe('', () => { const behandling = { id: 1, versjon: 1, - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - kodeverk: 'BEHANDLING_STATUS', - }, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, behandlingHenlagt: false, links: [], @@ -34,8 +28,8 @@ describe('', () => { const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_AKTIVITETER, kodeverk: 'BEHANDLING_DEF' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'BEHANDLING_STATUS' }, + definisjon: aksjonspunktCodes.AVKLAR_AKTIVITETER, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, diff --git a/packages/behandling-felles/src/components/InngangsvilkarPanel.tsx b/packages/behandling-felles/src/components/InngangsvilkarPanel.tsx index e527b31d88..c41b8799d1 100644 --- a/packages/behandling-felles/src/components/InngangsvilkarPanel.tsx +++ b/packages/behandling-felles/src/components/InngangsvilkarPanel.tsx @@ -9,17 +9,18 @@ import { import hentAktivePerioderFraVilkar from '@fpsak-frontend/utils/src/hentAktivePerioderFraVilkar'; import { RestApiState } from '@k9-sak-web/rest-api-hooks'; import { EndpointData, Options, RestApiData } from '@k9-sak-web/rest-api-hooks/src/local-data/useMultipleRestApi'; -import { Behandling, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Behandling } from '@k9-sak-web/types'; import { HGrid, Tabs } from '@navikt/ds-react'; import React, { useCallback, useMemo, useState } from 'react'; import { FormattedMessage } from 'react-intl'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import messages from '../i18n/nb_NO.json'; import { ProsessStegPanelUtledet } from '../util/prosessSteg/ProsessStegUtledet'; import styles from './inngangsvilkarPanel.module.css'; interface OwnProps { behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; prosessStegData: ProsessStegPanelUtledet[]; submitCallback: (data: any) => Promise; apentFaktaPanelInfo?: { urlCode: string; textCode: string }; diff --git a/packages/behandling-felles/src/components/MargMarkering.spec.tsx b/packages/behandling-felles/src/components/MargMarkering.spec.tsx index d77cb24e55..935b23ba65 100644 --- a/packages/behandling-felles/src/components/MargMarkering.spec.tsx +++ b/packages/behandling-felles/src/components/MargMarkering.spec.tsx @@ -10,14 +10,7 @@ describe('', () => { it('skal rendre rendre children uten marg når det ikke finnes aksjonspunkter', () => { const { container } = render( - + {elmt} , ); @@ -27,20 +20,11 @@ describe('', () => { it('skal rendre rendre children med gul marg når det finnes åpne og løsbare aksjonspunkter', () => { const { container } = render( ', () => { it('skal rendre rendre children med rød marg når et aksjonspunkt er sendt tilbake fra beslutter', () => { const { container } = render( aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status.kode) && ap.kanLoses), + () => aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status) && ap.kanLoses), [aksjonspunkter], ); const visAksjonspunkt = visAksjonspunktMarkering && harApnentAksjonspunktSomKanLoses && !isReadOnly; diff --git a/packages/behandling-felles/src/components/ProsessStegPanel.spec.tsx b/packages/behandling-felles/src/components/ProsessStegPanel.spec.tsx index 53ee4bb2b6..8dbfc8f693 100644 --- a/packages/behandling-felles/src/components/ProsessStegPanel.spec.tsx +++ b/packages/behandling-felles/src/components/ProsessStegPanel.spec.tsx @@ -17,23 +17,36 @@ import { ProsessStegPanelUtledet, ProsessStegUtledet } from '../util/prosessSteg import ProsessStegPanel from './ProsessStegPanel'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const behandling = { id: 1, versjon: 1, - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - kodeverk: 'BEHANDLING_STATUS', - }, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, behandlingHenlagt: false, links: [], @@ -41,14 +54,8 @@ describe('', () => { const aksjonspunkter = [ { - status: { - kode: aksjonspunktStatus.OPPRETTET, - kodeverk: 'AKSJONSPUNKT_STATUS', - }, - definisjon: { - kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, - kodeverk: 'AKSJONSPUNKT_KODE', - }, + status: aksjonspunktStatus.OPPRETTET, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kanLoses: true, erAktivt: true, }, @@ -165,10 +172,7 @@ describe('', () => { const fodselAksjonspunkter = [ { ...aksjonspunkter[0], - definisjon: { - kode: aksjonspunktCodes.AVKLAR_AKTIVITETER, - kodeverk: 'AKSJONSPUNKT_KODE', - }, + definisjon: aksjonspunktCodes.AVKLAR_AKTIVITETER, }, ]; const fodselPanelDef = lagPanelDef('FODSEL', [aksjonspunktCodes.AVKLAR_AKTIVITETER], ['FODSEL.TEKST']); @@ -222,10 +226,7 @@ describe('', () => { const fodselAksjonspunkter = [ { ...aksjonspunkter[0], - definisjon: { - kode: aksjonspunktCodes.AVKLAR_AKTIVITETER, - kodeverk: 'AKSJONSPUNKT_KODE', - }, + definisjon: aksjonspunktCodes.AVKLAR_AKTIVITETER, }, ]; const fodselPanelDef = lagPanelDef('FODSEL', [aksjonspunktCodes.AVKLAR_AKTIVITETER], ['FODSEL.TEKST']); diff --git a/packages/behandling-felles/src/components/ProsessStegPanel.tsx b/packages/behandling-felles/src/components/ProsessStegPanel.tsx index a8b3ceb909..19700f4372 100644 --- a/packages/behandling-felles/src/components/ProsessStegPanel.tsx +++ b/packages/behandling-felles/src/components/ProsessStegPanel.tsx @@ -2,11 +2,11 @@ import React, { useEffect, useState } from 'react'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import { FadingPanel, LoadingPanel } from '@fpsak-frontend/shared-components'; -import { Fagsak, Behandling, KodeverkMedNavn, FeatureToggles } from '@k9-sak-web/types'; +import { Fagsak, Behandling, FeatureToggles } from '@k9-sak-web/types'; import { RestApiState } from '@k9-sak-web/rest-api-hooks'; import { Options, EndpointData, RestApiData } from '@k9-sak-web/rest-api-hooks/src/local-data/useMultipleRestApi'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import MargMarkering from './MargMarkering'; import InngangsvilkarPanel from './InngangsvilkarPanel'; import BehandlingHenlagtPanel from './BehandlingHenlagtPanel'; @@ -17,7 +17,7 @@ import { ProsessStegUtledet } from '../util/prosessSteg/ProsessStegUtledet'; interface OwnProps { fagsak: Fagsak; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; valgtProsessSteg?: ProsessStegUtledet; apentFaktaPanelInfo?: { urlCode: string; textCode: string }; oppdaterProsessStegOgFaktaPanelIUrl?: (punktnavn?: string, faktanavn?: string) => void; diff --git a/packages/behandling-felles/src/components/paVent/BehandlingPaVent.spec.tsx b/packages/behandling-felles/src/components/paVent/BehandlingPaVent.spec.tsx index 799788f4f4..f4478334c4 100644 --- a/packages/behandling-felles/src/components/paVent/BehandlingPaVent.spec.tsx +++ b/packages/behandling-felles/src/components/paVent/BehandlingPaVent.spec.tsx @@ -13,14 +13,8 @@ describe('', () => { const behandling = { id: 1, versjon: 1, - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - kodeverk: 'BEHANDLING_STATUS', - }, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, behandlingHenlagt: false, links: [], @@ -101,14 +95,8 @@ describe('', () => { } aksjonspunkter={[ { - status: { - kode: aksjonspunktStatus.OPPRETTET, - kodeverk: 'AKSJONSPUNKT_STATUS', - }, - definisjon: { - kode: aksjonspunktCodes.AUTO_MANUELT_SATT_PÅ_VENT, - kodeverk: 'AKSJONSPUNKT_KODE', - }, + status: aksjonspunktStatus.OPPRETTET, + definisjon: aksjonspunktCodes.AUTO_MANUELT_SATT_PÅ_VENT, kanLoses: true, erAktivt: true, }, diff --git a/packages/behandling-felles/src/components/paVent/BehandlingPaVent.tsx b/packages/behandling-felles/src/components/paVent/BehandlingPaVent.tsx index 65cdfa0d60..c088fc4712 100644 --- a/packages/behandling-felles/src/components/paVent/BehandlingPaVent.tsx +++ b/packages/behandling-felles/src/components/paVent/BehandlingPaVent.tsx @@ -1,16 +1,16 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import SettPaVentModalIndex from '@k9-sak-web/modal-sett-pa-vent'; import { goToLos } from '@k9-sak-web/sak-app/src/app/paths'; -import { Aksjonspunkt, Behandling, Venteaarsak } from '@k9-sak-web/types'; +import { Aksjonspunkt, Behandling } from '@k9-sak-web/types'; import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import SettPaVentParams from '../../types/settPaVentParamsTsType'; interface BehandlingPaVentProps { behandling: Behandling; aksjonspunkter: Aksjonspunkt[]; - kodeverk: { [key: string]: Venteaarsak[] }; + kodeverk: AlleKodeverk; settPaVent: (params: SettPaVentParams) => Promise; erTilbakekreving?: boolean; } @@ -18,7 +18,6 @@ interface BehandlingPaVentProps { const BehandlingPaVent = ({ behandling, aksjonspunkter, - kodeverk, settPaVent, erTilbakekreving = false, }: BehandlingPaVentProps) => { @@ -42,16 +41,16 @@ const BehandlingPaVent = ({ const erManueltSattPaVent = useMemo( () => (aksjonspunkter || []) - .filter(ap => isAksjonspunktOpen(ap.status.kode)) - .some(ap => ap.definisjon.kode === aksjonspunktCodes.AUTO_MANUELT_SATT_PÅ_VENT), + .filter(ap => isAksjonspunktOpen(ap.status)) + .some(ap => ap.definisjon === aksjonspunktCodes.AUTO_MANUELT_SATT_PÅ_VENT), [aksjonspunkter], ); const ventearsakVariant = useMemo( () => (aksjonspunkter || []) - .filter(ap => isAksjonspunktOpen(ap.status.kode)) - .find(ap => ap.definisjon.kode === aksjonspunktCodes.AUTO_MANUELT_SATT_PÅ_VENT)?.venteårsakVariant, + .filter(ap => isAksjonspunktOpen(ap.status)) + .find(ap => ap.definisjon === aksjonspunktCodes.AUTO_MANUELT_SATT_PÅ_VENT)?.venteårsakVariant, [aksjonspunkter], ); @@ -66,7 +65,6 @@ const BehandlingPaVent = ({ frist={behandling.fristBehandlingPaaVent} ventearsak={behandling.venteArsakKode} hasManualPaVent={erManueltSattPaVent} - ventearsaker={kodeverk[kodeverkTyper.VENT_AARSAK]} erTilbakekreving={erTilbakekreving} ventearsakVariant={ventearsakVariant} showModal diff --git a/packages/behandling-felles/src/components/vedtak/IverksetterVedtakStatusModal.spec.tsx b/packages/behandling-felles/src/components/vedtak/IverksetterVedtakStatusModal.spec.tsx index 4b80da00d0..bbd3605d12 100644 --- a/packages/behandling-felles/src/components/vedtak/IverksetterVedtakStatusModal.spec.tsx +++ b/packages/behandling-felles/src/components/vedtak/IverksetterVedtakStatusModal.spec.tsx @@ -16,10 +16,7 @@ describe('', () => { visModal lukkModal={closeEventCallback} behandlingsresultat={{ - type: { - kode: behandlingResultatType.AVSLATT, - kodeverk: 'test', - }, + type: behandlingResultatType.AVSLATT, }} />, ); diff --git a/packages/behandling-felles/src/components/vedtak/IverksetterVedtakStatusModal.tsx b/packages/behandling-felles/src/components/vedtak/IverksetterVedtakStatusModal.tsx index 4d816fa056..98c8fa714a 100644 --- a/packages/behandling-felles/src/components/vedtak/IverksetterVedtakStatusModal.tsx +++ b/packages/behandling-felles/src/components/vedtak/IverksetterVedtakStatusModal.tsx @@ -1,7 +1,6 @@ import innvilgetImageUrl from '@fpsak-frontend/assets/images/innvilget_valgt.svg'; import behandlingResultatType from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import { Image } from '@fpsak-frontend/shared-components'; -import { Kodeverk } from '@k9-sak-web/types'; import { BodyShort, Button, HGrid, Modal } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl'; @@ -11,7 +10,7 @@ interface OwnProps { lukkModal: () => void; visModal: boolean; behandlingsresultat?: { - type: Kodeverk; + type: string; }; } @@ -27,7 +26,7 @@ const IverksetterVedtakStatusModal = ({ visModal, behandlingsresultat, }: OwnProps & WrappedComponentProps) => { - const erVedtakAvslatt = behandlingsresultat && behandlingsresultat.type.kode === behandlingResultatType.AVSLATT; + const erVedtakAvslatt = behandlingsresultat && behandlingsresultat.type === behandlingResultatType.AVSLATT; const imageAltText = intl.formatMessage({ id: erVedtakAvslatt ? 'IverksetterVedtakStatusModal.Avslatt' : 'IverksetterVedtakStatusModal.Innvilget', }); diff --git a/packages/behandling-felles/src/util/fakta/FaktaPanelUtledet.tsx b/packages/behandling-felles/src/util/fakta/FaktaPanelUtledet.tsx index 7f91a598ba..c5bff887a7 100644 --- a/packages/behandling-felles/src/util/fakta/FaktaPanelUtledet.tsx +++ b/packages/behandling-felles/src/util/fakta/FaktaPanelUtledet.tsx @@ -26,10 +26,10 @@ class FaktaPanelUtledet { public getTekstKode = (): string => this.faktaPanelDef.getTekstKode(); private getFiltrerteAksjonspunkter = (): Aksjonspunkt[] => - this.aksjonspunkter.filter(ap => this.faktaPanelDef.getAksjonspunktKoder().includes(ap.definisjon.kode)); + this.aksjonspunkter.filter(ap => this.faktaPanelDef.getAksjonspunktKoder().includes(ap.definisjon)); public getHarApneAksjonspunkter = (): boolean => - this.getFiltrerteAksjonspunkter().some(ap => isAksjonspunktOpen(ap.status.kode) && ap.kanLoses); + this.getFiltrerteAksjonspunkter().some(ap => isAksjonspunktOpen(ap.status) && ap.kanLoses); public getKomponentData = (rettigheter: Rettigheter, ekstraPanelData: any, hasFetchError: boolean) => { const filtrerteAksjonspunkter = this.getFiltrerteAksjonspunkter(); @@ -37,7 +37,7 @@ class FaktaPanelUtledet { aksjonspunkter: filtrerteAksjonspunkter, readOnly: readOnlyUtils.erReadOnly(this.behandling, filtrerteAksjonspunkter, [], rettigheter, hasFetchError), submittable: - !filtrerteAksjonspunkter.some(ap => isAksjonspunktOpen(ap.status.kode)) || + !filtrerteAksjonspunkter.some(ap => isAksjonspunktOpen(ap.status)) || filtrerteAksjonspunkter.some(ap => ap.kanLoses), harApneAksjonspunkter: this.getHarApneAksjonspunkter(), alleMerknaderFraBeslutter: getAlleMerknaderFraBeslutter(this.behandling, filtrerteAksjonspunkter), diff --git a/packages/behandling-felles/src/util/fakta/faktaHooks.spec.tsx b/packages/behandling-felles/src/util/fakta/faktaHooks.spec.tsx index edbaa84ee3..5f6c7a185d 100644 --- a/packages/behandling-felles/src/util/fakta/faktaHooks.spec.tsx +++ b/packages/behandling-felles/src/util/fakta/faktaHooks.spec.tsx @@ -4,28 +4,47 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import { Behandling, Fagsak } from '@k9-sak-web/types'; import { renderHook } from '@testing-library/react'; import React from 'react'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import FaktaPanelDef from './FaktaPanelDef'; import FaktaPanelUtledet from './FaktaPanelUtledet'; import faktaHooks from './faktaHooks'; import { DEFAULT_FAKTA_KODE } from './faktaUtils'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -66,8 +85,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'BEHANDLING_DEF' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'BEHANDLING_STATUS' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -115,8 +134,8 @@ describe('', () => { it('skal bruke callbacks for å velge faktapanel og for å lagre', () => { const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -154,11 +173,7 @@ describe('', () => { expect(opppdaterKall[0][0]).toEqual(DEFAULT_FAKTA_KODE); expect(opppdaterKall[0][1]).toEqual('arbeidsforhold'); - const aksjonspunkterSomSkalLagres = [ - { - kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, - }, - ]; + const aksjonspunkterSomSkalLagres = [aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD]; bekreftAksjonspunktCallback(aksjonspunkterSomSkalLagres); const requestKall = lagreAksjonspunkter.mock.calls; @@ -170,8 +185,8 @@ describe('', () => { behandlingVersjon: behandling.versjon, bekreftedeAksjonspunktDtoer: [ { - '@type': aksjonspunkter[0].definisjon.kode, - kode: aksjonspunkter[0].definisjon.kode, + '@type': aksjonspunkter[0].definisjon, + kode: aksjonspunkter[0].definisjon, }, ], }); diff --git a/packages/behandling-felles/src/util/fakta/faktaUtils.spec.tsx b/packages/behandling-felles/src/util/fakta/faktaUtils.spec.tsx index a05d6a73ae..4a38a4894f 100644 --- a/packages/behandling-felles/src/util/fakta/faktaUtils.spec.tsx +++ b/packages/behandling-felles/src/util/fakta/faktaUtils.spec.tsx @@ -6,7 +6,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import { Behandling, Fagsak } from '@k9-sak-web/types'; @@ -23,16 +23,35 @@ import { } from './faktaUtils'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -79,8 +98,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'BEHANDLING_DEF' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'BEHANDLING_STATUS' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -118,8 +137,8 @@ describe('', () => { const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'BEHANDLING_DEF' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'BEHANDLING_STATUS' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -165,8 +184,8 @@ describe('', () => { const panelDef2 = new TestFaktaPanelDef(); const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'BEHANDLING_DEF' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'BEHANDLING_STATUS' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -224,8 +243,8 @@ describe('', () => { behandlingVersjon: behandling.versjon, bekreftedeAksjonspunktDtoer: [ { - '@type': aksjonspunkter[0].kode, - kode: aksjonspunkter[0].kode, + '@type': aksjonspunkter[0], + kode: aksjonspunkter[0], }, ], }); @@ -252,11 +271,7 @@ describe('', () => { lagreOverstyrteAksjonspunkter, ); - const aksjonspunkter = [ - { - kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, - }, - ]; + const aksjonspunkter = [aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD]; await callback(aksjonspunkter); @@ -270,8 +285,8 @@ describe('', () => { bekreftedeAksjonspunktDtoer: [], overstyrteAksjonspunktDtoer: [ { - '@type': aksjonspunkter[0].kode, - kode: aksjonspunkter[0].kode, + '@type': aksjonspunkter[0], + kode: aksjonspunkter[0], }, ], }); @@ -299,12 +314,8 @@ describe('', () => { ); const aksjonspunkter = [ - { - kode: aksjonspunktCodes.OVERSTYRING_AV_BEREGNINGSGRUNNLAG, - }, - { - kode: aksjonspunktCodes.VURDER_FAKTA_FOR_ATFL_SN, - }, + aksjonspunktCodes.OVERSTYRING_AV_BEREGNINGSGRUNNLAG, + aksjonspunktCodes.VURDER_FAKTA_FOR_ATFL_SN, ]; await callback(aksjonspunkter); @@ -318,14 +329,14 @@ describe('', () => { behandlingVersjon: behandling.versjon, overstyrteAksjonspunktDtoer: [ { - '@type': aksjonspunkter[0].kode, - kode: aksjonspunkter[0].kode, + '@type': aksjonspunkter[0], + kode: aksjonspunkter[0], }, ], bekreftedeAksjonspunktDtoer: [ { - '@type': aksjonspunkter[1].kode, - kode: aksjonspunkter[1].kode, + '@type': aksjonspunkter[1], + kode: aksjonspunkter[1], }, ], }); diff --git a/packages/behandling-felles/src/util/fakta/faktaUtils.ts b/packages/behandling-felles/src/util/fakta/faktaUtils.ts index 5ff3a27ecc..0273837af3 100644 --- a/packages/behandling-felles/src/util/fakta/faktaUtils.ts +++ b/packages/behandling-felles/src/util/fakta/faktaUtils.ts @@ -17,7 +17,7 @@ export const utledFaktaPaneler = ( featureToggles?: FeatureToggles, ): FaktaPanelUtledet[] => { const utvidetEkstraPanelData = { ...ekstraPanelData, rettigheter }; - const apCodes = aksjonspunkter.map(ap => ap.definisjon.kode); + const apCodes = aksjonspunkter.map(ap => ap.definisjon); return faktaPanelDefinisjoner .filter(panelDef => panelDef.skalVisePanel(apCodes, utvidetEkstraPanelData, featureToggles)) .map(panelDef => new FaktaPanelUtledet(panelDef, behandling, aksjonspunkter)); @@ -55,8 +55,8 @@ export const getBekreftAksjonspunktCallback = ) => aksjonspunkter => { const model = aksjonspunkter.map(ap => ({ - '@type': ap.kode, - ...ap, + '@type': ap, + kode: ap, })); const params = { diff --git a/packages/behandling-felles/src/util/getAlleMerknaderFraBeslutter.spec.ts b/packages/behandling-felles/src/util/getAlleMerknaderFraBeslutter.spec.ts index 3be60dea07..4ac8ebb82e 100644 --- a/packages/behandling-felles/src/util/getAlleMerknaderFraBeslutter.spec.ts +++ b/packages/behandling-felles/src/util/getAlleMerknaderFraBeslutter.spec.ts @@ -10,14 +10,8 @@ describe('', () => { const behandling = { id: 1, versjon: 1, - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - kodeverk: 'BEHANDLING_STATUS', - }, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, behandlingHenlagt: false, links: [], @@ -25,14 +19,8 @@ describe('', () => { const aksjonspunkter = [ { - status: { - kode: aksjonspunktStatus.OPPRETTET, - kodeverk: 'AKSJONSPUNKT_STATUS', - }, - definisjon: { - kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, - kodeverk: 'AKSJONSPUNKT_KODE', - }, + status: aksjonspunktStatus.OPPRETTET, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kanLoses: true, erAktivt: true, toTrinnsBehandling: true, @@ -44,7 +32,7 @@ describe('', () => { const merknader = getAlleMerknaderFraBeslutter(behandling as Behandling, aksjonspunkter); expect(merknader).toEqual({ - [aksjonspunkter[0].definisjon.kode]: { + [aksjonspunkter[0].definisjon]: { notAccepted: true, }, }); @@ -53,10 +41,7 @@ describe('', () => { it('skal ikke hente merknader behandlingstatus er ulik BEHANDLING_UTREDER', () => { const behandlingMedAnnenStatus = { ...behandling, - status: { - kode: behandlingStatus.AVSLUTTET, - kodeverk: 'BEHANDLING_STATUS', - }, + status: behandlingStatus.AVSLUTTET, }; const merknader = getAlleMerknaderFraBeslutter(behandlingMedAnnenStatus as Behandling, aksjonspunkter); diff --git a/packages/behandling-felles/src/util/getAlleMerknaderFraBeslutter.ts b/packages/behandling-felles/src/util/getAlleMerknaderFraBeslutter.ts index 495502a199..445c74092a 100644 --- a/packages/behandling-felles/src/util/getAlleMerknaderFraBeslutter.ts +++ b/packages/behandling-felles/src/util/getAlleMerknaderFraBeslutter.ts @@ -2,13 +2,13 @@ import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import { Behandling, Aksjonspunkt } from '@k9-sak-web/types'; const getAlleMerknaderFraBeslutter = (behandling: Behandling, aksjonspunkter: Aksjonspunkt[]) => { - if (behandling.status.kode !== behandlingStatus.BEHANDLING_UTREDES) { + if (behandling.status !== behandlingStatus.BEHANDLING_UTREDES) { return {}; } return aksjonspunkter.reduce( (obj, ap) => ({ ...obj, - [ap.definisjon.kode]: { + [ap.definisjon]: { notAccepted: ap.toTrinnsBehandling && ap.toTrinnsBehandlingGodkjent === false, }, }), diff --git a/packages/behandling-felles/src/util/harOpprettetAksjonspunkt.ts b/packages/behandling-felles/src/util/harOpprettetAksjonspunkt.ts index 125074ffb2..a405b7b390 100644 --- a/packages/behandling-felles/src/util/harOpprettetAksjonspunkt.ts +++ b/packages/behandling-felles/src/util/harOpprettetAksjonspunkt.ts @@ -1,7 +1,9 @@ -const harOpprettetAksjonspunkt = (aksjonspunkter, aksjonspunktKode: number) => +import { Aksjonspunkt } from '@k9-sak-web/types'; + +const harOpprettetAksjonspunkt = (aksjonspunkter: Aksjonspunkt[], aksjonspunktKode: number) => aksjonspunkter.some(aksjonspunkt => { - const erSammeAksjonspunkt = +aksjonspunkt.definisjon.kode === aksjonspunktKode; - const aksjonspunktetErOpprettet = aksjonspunkt.status.kode === 'OPPR'; + const erSammeAksjonspunkt = +aksjonspunkt.definisjon === aksjonspunktKode; + const aksjonspunktetErOpprettet = aksjonspunkt.status === 'OPPR'; return erSammeAksjonspunkt && aksjonspunktetErOpprettet; }); diff --git a/packages/behandling-felles/src/util/prosessSteg/ProsessStegDef.tsx b/packages/behandling-felles/src/util/prosessSteg/ProsessStegDef.tsx index 1310f4c099..8699b2b64f 100644 --- a/packages/behandling-felles/src/util/prosessSteg/ProsessStegDef.tsx +++ b/packages/behandling-felles/src/util/prosessSteg/ProsessStegDef.tsx @@ -66,15 +66,14 @@ export abstract class ProsessStegPanelDef { public finnAksjonspunkterForSteg = (aksjonspunkter: Aksjonspunkt[]) => { const panelDef = this.skalBrukeOverstyringspanel(aksjonspunkter) ? this.getOverstyringspanelDef() : this; - return aksjonspunkter.filter(ap => panelDef.getAksjonspunktKoder().includes(ap.definisjon.kode)); + return aksjonspunkter.filter(ap => panelDef.getAksjonspunktKoder().includes(ap.definisjon)); }; - public finnVilkarForSteg = (vilkar: Vilkar[]) => - vilkar.filter(v => this.getVilkarKoder().includes(v.vilkarType.kode)); + public finnVilkarForSteg = (vilkar: Vilkar[]) => vilkar.filter(v => this.getVilkarKoder().includes(v.vilkarType)); public skalBrukeOverstyringspanel = (aksjonspunkter: Aksjonspunkt[]) => this.getOverstyringspanelDef() && - !this.getAksjonspunktKoder().some(ac => aksjonspunkter.some(a => a.definisjon.kode === ac)); + !this.getAksjonspunktKoder().some(ac => aksjonspunkter.some(a => a.definisjon === ac)); public skalVisePanel = ( fagsak: Fagsak, @@ -98,14 +97,12 @@ export abstract class ProsessStegPanelDef { return true; } - const harAksjonspunkter = panelDef - .getAksjonspunktKoder() - .some(ac => aksjonspunkter.some(a => a.definisjon.kode === ac)); + const harAksjonspunkter = panelDef.getAksjonspunktKoder().some(ac => aksjonspunkter.some(a => a.definisjon === ac)); if (panelDef.getVilkarKoder().length === 0) { return harAksjonspunkter; } - const harVilkar = panelDef.getVilkarKoder().some(vc => vilkar.some(v => v.vilkarType.kode === vc)); + const harVilkar = panelDef.getVilkarKoder().some(vc => vilkar.some(v => v.vilkarType === vc)); if (harVilkar && !harAksjonspunkter /* && panel.overridePanel */) { return true; } @@ -117,7 +114,7 @@ export abstract class ProsessStegPanelDef { const panelDef = this.skalBrukeOverstyringspanel(aksjonspunkter) ? this.getOverstyringspanelDef() : this; return ( panelDef.getAksjonspunktKoder().some(apKode => overstyrteAksjonspunktKoder.includes(apKode)) || - this.finnAksjonspunkterForSteg(aksjonspunkter).some(ap => ap.status.kode === aksjonspunktStatus.OPPRETTET) + this.finnAksjonspunkterForSteg(aksjonspunkter).some(ap => ap.status === aksjonspunktStatus.OPPRETTET) ); }; } diff --git a/packages/behandling-felles/src/util/prosessSteg/ProsessStegOverstyringPanelDef.tsx b/packages/behandling-felles/src/util/prosessSteg/ProsessStegOverstyringPanelDef.tsx index 268c8d49aa..2d1e7675a1 100644 --- a/packages/behandling-felles/src/util/prosessSteg/ProsessStegOverstyringPanelDef.tsx +++ b/packages/behandling-felles/src/util/prosessSteg/ProsessStegOverstyringPanelDef.tsx @@ -1,12 +1,15 @@ import React, { ReactNode } from 'react'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import VilkarresultatMedOverstyringProsessIndex from '@fpsak-frontend/prosess-vilkar-overstyring'; +import { Aksjonspunkt, Vilkar } from '@k9-sak-web/types'; import { ProsessStegPanelDef } from './ProsessStegDef'; -const harVilkarresultatMedOverstyring = (aksjonspunkterForSteg, aksjonspunktDefKoderForSteg) => { - const apKoder = aksjonspunkterForSteg.map(ap => ap.definisjon.kode); +const harVilkarresultatMedOverstyring = ( + aksjonspunkterForSteg: Aksjonspunkt[], + aksjonspunktDefKoderForSteg: string[], +) => { + const apKoder = aksjonspunkterForSteg.map(ap => ap.definisjon); const harIngenApOgMulighetTilOverstyring = apKoder.length === 0 && aksjonspunktDefKoderForSteg.length > 0; const harApSomErOverstyringAp = apKoder.some(apCode => aksjonspunktDefKoderForSteg.includes(apCode)); return harIngenApOgMulighetTilOverstyring || harApSomErOverstyringAp; @@ -38,24 +41,29 @@ class ProsessStegOverstyringPanelDef extends ProsessStegPanelDef { getData = ({ vilkarForSteg, - alleKodeverk, overstyrteAksjonspunktKoder, prosessStegTekstKode, overrideReadOnly, kanOverstyreAccess, toggleOverstyring, + }: { + vilkarForSteg: Vilkar[]; + overstyrteAksjonspunktKoder: string[]; + prosessStegTekstKode: string; + overrideReadOnly: boolean; + kanOverstyreAccess: boolean; + toggleOverstyring: () => void; }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], - erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), - overstyringApKode: this.getAksjonspunktKoder()[0], - panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, - erMedlemskapsPanel: this.getId() === 'MEDLEMSKAP', - visPeriodisering: this.getId() === 'OMSORGENFOR', - lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, - overrideReadOnly, - kanOverstyreAccess, - toggleOverstyring, - }); + erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), + overstyringApKode: this.getAksjonspunktKoder()[0], + panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, + erMedlemskapsPanel: this.getId() === 'MEDLEMSKAP', + visPeriodisering: this.getId() === 'OMSORGENFOR', + lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, + overrideReadOnly, + kanOverstyreAccess, + toggleOverstyring, + }); } export default ProsessStegOverstyringPanelDef; diff --git a/packages/behandling-felles/src/util/prosessSteg/ProsessStegUtledet.tsx b/packages/behandling-felles/src/util/prosessSteg/ProsessStegUtledet.tsx index c11122d05c..db9e951627 100644 --- a/packages/behandling-felles/src/util/prosessSteg/ProsessStegUtledet.tsx +++ b/packages/behandling-felles/src/util/prosessSteg/ProsessStegUtledet.tsx @@ -12,7 +12,7 @@ const finnStatus = (vilkar: Vilkar[], aksjonspunkter: Aksjonspunkt[]) => { vilkar.forEach(v => v.perioder .filter(periode => periode.vurderesIBehandlingen) - .forEach(periode => vilkarStatusCodes.push(periode.vilkarStatus.kode)), + .forEach(periode => vilkarStatusCodes.push(periode.vilkarStatus)), ); if (vilkarStatusCodes.every(vsc => vsc === vilkarUtfallType.IKKE_VURDERT)) { @@ -25,7 +25,7 @@ const finnStatus = (vilkar: Vilkar[], aksjonspunkter: Aksjonspunkt[]) => { } if (aksjonspunkter.length > 0) { - return aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status.kode)) + return aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status)) ? vilkarUtfallType.IKKE_VURDERT : vilkarUtfallType.OPPFYLT; } @@ -38,7 +38,7 @@ const finnErDelvisBehandlet = (vilkar: Vilkar[], uttaksperioder: Uttaksperiode[] vilkar.forEach(v => v.perioder .filter(periode => periode.vurderesIBehandlingen) - .forEach(periode => vilkarStatusCodes.push(periode.vilkarStatus.kode)), + .forEach(periode => vilkarStatusCodes.push(periode.vilkarStatus)), ); const alleVilkårErIkkeVurdert = vilkarStatusCodes.every(vsc => vsc === vilkarUtfallType.IKKE_VURDERT); @@ -144,17 +144,17 @@ export class ProsessStegPanelUtledet { public getAksjonspunktHjelpetekster = () => { const opneAksjonspunkter = this.getAksjonspunkterForPanel().filter( - ap => ap.status.kode === aksjonspunktStatus.OPPRETTET && ap.kanLoses, + ap => ap.status === aksjonspunktStatus.OPPRETTET && ap.kanLoses, ); const indekser = opneAksjonspunkter.map(a => - this.prosessStegPanelDef.getAksjonspunktKoder().findIndex(ac => a.definisjon.kode === ac), + this.prosessStegPanelDef.getAksjonspunktKoder().findIndex(ac => a.definisjon === ac), ); return this.prosessStegPanelDef.getAksjonspunktTekstkoder().filter((a, index) => indekser.includes(index)); }; public getErAksjonspunktOpen = (): boolean => { const opneAksjonspunkter = this.getAksjonspunkterForPanel().filter( - ap => ap.status.kode === aksjonspunktStatus.OPPRETTET && ap.kanLoses, + ap => ap.status === aksjonspunktStatus.OPPRETTET && ap.kanLoses, ); return ( this.prosessStegPanelDef.getAksjonspunktKoder().some(a => this.overstyrteAksjonspunktKoder.includes(a)) || @@ -166,11 +166,11 @@ export class ProsessStegPanelUtledet { this.isReadOnlyCheck(this.getAksjonspunkterForPanel(), this.getVilkarForPanel()); public getErDelvisBehandlet = (erVedtak?: boolean): boolean => { - const { uttaksperioder, vilkar } = this.getKomponentData(); + const { uttaksperioder, vilkar }: { uttaksperioder: Uttaksperiode[]; vilkar: Vilkar[] } = this.getKomponentData(); if (erVedtak) { return ( - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_OPPFYLT)) && - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.OPPFYLT)) + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_OPPFYLT)) && + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.OPPFYLT)) ); } return finnErDelvisBehandlet(this.prosessStegPanelDef.finnVilkarForSteg(this.vilkar), uttaksperioder); diff --git a/packages/behandling-felles/src/util/prosessSteg/prosessStegHooks.spec.tsx b/packages/behandling-felles/src/util/prosessSteg/prosessStegHooks.spec.tsx index 30bf664cd3..c3c7f35c25 100644 --- a/packages/behandling-felles/src/util/prosessSteg/prosessStegHooks.spec.tsx +++ b/packages/behandling-felles/src/util/prosessSteg/prosessStegHooks.spec.tsx @@ -3,7 +3,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; @@ -18,17 +18,36 @@ import { ProsessStegPanelUtledet, ProsessStegUtledet } from './ProsessStegUtlede import prosessStegHooks from './prosessStegHooks'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -39,8 +58,8 @@ describe('', () => { const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU, kodeverk: 'BEHANDLING_DEF' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'BEHANDLING_STATUS' }, + definisjon: aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -48,11 +67,11 @@ describe('', () => { const vilkar = [ { - vilkarType: { kode: vilkarType.SOKERSOPPLYSNINGSPLIKT, kodeverk: 'test' }, + vilkarType: vilkarType.SOKERSOPPLYSNINGSPLIKT, overstyrbar: false, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, merknadParametere: { antattGodkjentArbeid: 'P0D', antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<0 [0]> = []', @@ -277,8 +296,8 @@ describe('', () => { behandlingVersjon: behandling.versjon, bekreftedeAksjonspunktDtoer: [ { - '@type': aksjonspunkter[0].definisjon.kode, - kode: aksjonspunkter[0].definisjon.kode, + '@type': aksjonspunkter[0].definisjon, + kode: aksjonspunkter[0].definisjon, }, ], }); diff --git a/packages/behandling-felles/src/util/prosessSteg/prosessStegHooks.ts b/packages/behandling-felles/src/util/prosessSteg/prosessStegHooks.ts index 0026d553af..2ab7dbe9aa 100644 --- a/packages/behandling-felles/src/util/prosessSteg/prosessStegHooks.ts +++ b/packages/behandling-felles/src/util/prosessSteg/prosessStegHooks.ts @@ -72,7 +72,7 @@ const useProsessStegPaneler = ( urlKode === prosessStegCodes.SIMULERING || urlKode === prosessStegCodes.VEDTAK || urlKode === prosessStegCodes.KLAGE_RESULTAT || - (fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER && urlKode === prosessStegCodes.UTTAK) + (fagsak.sakstype === fagsakYtelseType.PLEIEPENGER && urlKode === prosessStegCodes.UTTAK) ) { return panel; } diff --git a/packages/behandling-felles/src/util/prosessSteg/prosessStegUtils.spec.tsx b/packages/behandling-felles/src/util/prosessSteg/prosessStegUtils.spec.tsx index 1d8356eb78..8861d3edbf 100644 --- a/packages/behandling-felles/src/util/prosessSteg/prosessStegUtils.spec.tsx +++ b/packages/behandling-felles/src/util/prosessSteg/prosessStegUtils.spec.tsx @@ -6,7 +6,7 @@ import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus' import aksjonspunktType from '@fpsak-frontend/kodeverk/src/aksjonspunktType'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; @@ -23,17 +23,36 @@ import { } from './prosessStegUtils'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -44,21 +63,21 @@ describe('', () => { const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU, kodeverk: 'BEHANDLING_DEF' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'BEHANDLING_STATUS' }, + definisjon: aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, - aksjonspunktType: { kode: aksjonspunktType.MANUELL, kodeverk: 'test' }, + aksjonspunktType: aksjonspunktType.MANUELL, }, ]; const vilkar = [ { - vilkarType: { kode: vilkarType.SOKERSOPPLYSNINGSPLIKT, kodeverk: 'test' }, + vilkarType: vilkarType.SOKERSOPPLYSNINGSPLIKT, overstyrbar: false, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, merknadParametere: { antattGodkjentArbeid: 'P0D', antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<0 [0]> = []', @@ -304,7 +323,7 @@ describe('', () => { const aksjonspunktModeller = [ { - kode: aksjonspunkter[0].definisjon.kode, + kode: aksjonspunkter[0].definisjon, }, ]; diff --git a/packages/behandling-felles/src/util/prosessSteg/prosessStegUtils.ts b/packages/behandling-felles/src/util/prosessSteg/prosessStegUtils.ts index bda5120169..35ec65428a 100644 --- a/packages/behandling-felles/src/util/prosessSteg/prosessStegUtils.ts +++ b/packages/behandling-felles/src/util/prosessSteg/prosessStegUtils.ts @@ -146,12 +146,12 @@ export const getBekreftAksjonspunktCallback = if (lagreOverstyrteAksjonspunkter) { const aksjonspunkterTilLagring = aksjonspunkter.filter(ap => - aksjonspunktModels.some(apModel => apModel.kode === ap.definisjon.kode), + aksjonspunktModels.some(apModel => apModel.kode === ap.definisjon), ); const erOverstyringsaksjonspunkter = aksjonspunkterTilLagring.some( ap => - ap.aksjonspunktType.kode === aksjonspunktType.OVERSTYRING || - ap.aksjonspunktType.kode === aksjonspunktType.SAKSBEHANDLEROVERSTYRING, + ap.aksjonspunktType === aksjonspunktType.OVERSTYRING || + ap.aksjonspunktType === aksjonspunktType.SAKSBEHANDLEROVERSTYRING, ); if (aksjonspunkterTilLagring.length === 0 || erOverstyringsaksjonspunkter) { diff --git a/packages/behandling-felles/src/util/readOnlyUtils.spec.ts b/packages/behandling-felles/src/util/readOnlyUtils.spec.ts index 3f6ba39b44..291e71437f 100644 --- a/packages/behandling-felles/src/util/readOnlyUtils.spec.ts +++ b/packages/behandling-felles/src/util/readOnlyUtils.spec.ts @@ -12,14 +12,8 @@ describe('', () => { const behandling = { id: 1, versjon: 1, - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - kodeverk: 'BEHANDLING_STATUS', - }, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, behandlingHenlagt: false, links: [], @@ -27,14 +21,8 @@ describe('', () => { const aksjonspunkter = [ { - status: { - kode: aksjonspunktStatus.OPPRETTET, - kodeverk: 'AKSJONSPUNKT_STATUS', - }, - definisjon: { - kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, - kodeverk: 'AKSJONSPUNKT_KODE', - }, + status: aksjonspunktStatus.OPPRETTET, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kanLoses: true, erAktivt: true, toTrinnsBehandling: true, @@ -44,11 +32,11 @@ describe('', () => { const vilkar = [ { - vilkarType: { kode: vilkarType.BEREGNINGSGRUNNLAGVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.BEREGNINGSGRUNNLAGVILKARET, overstyrbar: true, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, merknadParametere: { antattGodkjentArbeid: 'P0D', antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<0 [0]> = []', diff --git a/packages/behandling-frisinn/src/BehandlingFrisinnIndex.tsx b/packages/behandling-frisinn/src/BehandlingFrisinnIndex.tsx index ee80e5d431..a2b5db5d46 100644 --- a/packages/behandling-frisinn/src/BehandlingFrisinnIndex.tsx +++ b/packages/behandling-frisinn/src/BehandlingFrisinnIndex.tsx @@ -1,17 +1,10 @@ import React, { useEffect, useState, useCallback } from 'react'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; -import { - Fagsak, - Behandling, - FagsakPerson, - ArbeidsgiverOpplysningerWrapper, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; +import { Fagsak, Behandling, FagsakPerson, ArbeidsgiverOpplysningerWrapper, FeatureToggles } from '@k9-sak-web/types'; import { Rettigheter, ReduxFormStateCleaner, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { restApiFrisinnHooks, requestFrisinnApi, FrisinnBehandlingApiKeys } from './data/frisinnBehandlingApi'; import FrisinnPaneler from './components/FrisinnPaneler'; import FetchedData from './types/fetchedDataTsType'; @@ -41,7 +34,7 @@ interface OwnProps { }; opneSokeside: () => void; setRequestPendingMessage: (message: string) => void; - kodeverk?: { [key: string]: KodeverkMedNavn[] }; + kodeverk?: AlleKodeverk; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; featureToggles: FeatureToggles; } diff --git a/packages/behandling-frisinn/src/components/FrisinnFakta.spec.tsx b/packages/behandling-frisinn/src/components/FrisinnFakta.spec.tsx index 403f8c6387..fdc4d288c7 100644 --- a/packages/behandling-frisinn/src/components/FrisinnFakta.spec.tsx +++ b/packages/behandling-frisinn/src/components/FrisinnFakta.spec.tsx @@ -2,7 +2,6 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import sivilstandType from '@fpsak-frontend/kodeverk/src/sivilstandType'; @@ -10,6 +9,7 @@ import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; import { RestApiErrorProvider } from '@k9-sak-web/rest-api-hooks'; import { Behandling, Fagsak } from '@k9-sak-web/types'; import { act, screen } from '@testing-library/react'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import userEvent from '@testing-library/user-event'; import React from 'react'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; @@ -18,14 +18,34 @@ import FetchedData from '../types/fetchedDataTsType'; import FrisinnFakta from './FrisinnFakta'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; + const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -34,8 +54,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -55,8 +75,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -66,50 +86,22 @@ describe('', () => { const soker = { navn: 'Espen Utvikler', aktoerId: '1', - personstatus: { - kode: 'BOSA', - kodeverk: 'Bosatt', - }, + personstatus: 'BOSA', avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'Bosatt', - }, - orginalPersonstatus: { - kode: personstatusType.DOD, - kodeverk: 'Bosatt', - }, - }, - navBrukerKjonn: { - kode: '', - kodeverk: '', - }, - statsborgerskap: { - kode: '', - kodeverk: '', - navn: '', - }, - diskresjonskode: { - kode: '', - kodeverk: '', - }, - sivilstand: { - kode: sivilstandType.UGIFT, - kodeverk: 'Ugift', - }, - region: { - kode: 'NORDEN', - kodeverk: 'Norden', + overstyrtPersonstatus: personstatusType.BOSATT, + orginalPersonstatus: personstatusType.DOD, }, + navBrukerKjonn: '', + statsborgerskap: '', + diskresjonskode: '', + sivilstand: sivilstandType.UGIFT, + region: 'NORDEN', adresser: [ { adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', - adresseType: { - kode: opplysningAdresseType.POSTADRESSE, - kodeverk: 'Bostedsadresse', - }, + adresseType: opplysningAdresseType.POSTADRESSE, }, ], barn: [], diff --git a/packages/behandling-frisinn/src/components/FrisinnFakta.tsx b/packages/behandling-frisinn/src/components/FrisinnFakta.tsx index 10cc5d7dcf..cb29159c39 100644 --- a/packages/behandling-frisinn/src/components/FrisinnFakta.tsx +++ b/packages/behandling-frisinn/src/components/FrisinnFakta.tsx @@ -1,19 +1,12 @@ import React, { useEffect, useState } from 'react'; import { Rettigheter, SideMenuWrapper, faktaHooks, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; -import { - KodeverkMedNavn, - Behandling, - Fagsak, - FagsakPerson, - ArbeidsgiverOpplysningerPerId, - FeatureToggles, -} from '@k9-sak-web/types'; +import { Behandling, Fagsak, FagsakPerson, ArbeidsgiverOpplysningerPerId, FeatureToggles } from '@k9-sak-web/types'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import ErrorBoundary from '@k9-sak-web/sak-app/src/app/ErrorBoundary'; import ac from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { restApiFrisinnHooks, FrisinnBehandlingApiKeys } from '../data/frisinnBehandlingApi'; import faktaPanelDefinisjoner from '../panelDefinisjoner/faktaFrisinnPanelDefinisjoner'; import FetchedData from '../types/fetchedDataTsType'; @@ -25,7 +18,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; hasFetchError: boolean; oppdaterProsessStegOgFaktaPanelIUrl: (prosessPanel?: string, faktanavn?: string) => void; diff --git a/packages/behandling-frisinn/src/components/FrisinnPaneler.tsx b/packages/behandling-frisinn/src/components/FrisinnPaneler.tsx index 7619e1f2dd..12f9171e22 100644 --- a/packages/behandling-frisinn/src/components/FrisinnPaneler.tsx +++ b/packages/behandling-frisinn/src/components/FrisinnPaneler.tsx @@ -1,15 +1,8 @@ import React, { useState } from 'react'; import { Rettigheter, BehandlingPaVent, SettPaVentParams } from '@k9-sak-web/behandling-felles'; -import { - Fagsak, - KodeverkMedNavn, - Behandling, - FeatureToggles, - ArbeidsgiverOpplysningerPerId, - FagsakPerson, -} from '@k9-sak-web/types'; - +import { Fagsak, Behandling, FeatureToggles, ArbeidsgiverOpplysningerPerId, FagsakPerson } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import FrisinnProsess from './FrisinnProsess'; import FrisinnFakta from './FrisinnFakta'; import FetchedData from '../types/fetchedDataTsType'; @@ -19,7 +12,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; diff --git a/packages/behandling-frisinn/src/components/FrisinnProsess.spec.tsx b/packages/behandling-frisinn/src/components/FrisinnProsess.spec.tsx index 4af49df13e..68fe943698 100644 --- a/packages/behandling-frisinn/src/components/FrisinnProsess.spec.tsx +++ b/packages/behandling-frisinn/src/components/FrisinnProsess.spec.tsx @@ -2,10 +2,10 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; import { Behandling, Fagsak } from '@k9-sak-web/types'; @@ -17,15 +17,32 @@ import FetchedData from '../types/fetchedDataTsType'; import FrisinnProsess from './FrisinnProsess'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + person: { + aktørId: '', + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + }, + relasjonsRolleType: '', + barnFodt: '', + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -34,8 +51,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -55,19 +72,19 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, ]; const vilkar = [ { - vilkarType: { kode: vilkarType.MEDLEMSKAPSVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, overstyrbar: true, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, merknadParametere: { antattGodkjentArbeid: 'P0D', antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<0 [0]> = []', diff --git a/packages/behandling-frisinn/src/components/FrisinnProsess.tsx b/packages/behandling-frisinn/src/components/FrisinnProsess.tsx index 6bc3bec456..b92b27a09d 100644 --- a/packages/behandling-frisinn/src/components/FrisinnProsess.tsx +++ b/packages/behandling-frisinn/src/components/FrisinnProsess.tsx @@ -14,14 +14,8 @@ import { useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { FrisinnBehandlingApiKeys, restApiFrisinnHooks } from '../data/frisinnBehandlingApi'; import prosessStegPanelDefinisjoner from '../panelDefinisjoner/prosessStegFrisinnPanelDefinisjoner'; import FetchedData from '../types/fetchedDataTsType'; @@ -31,7 +25,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; @@ -45,76 +39,78 @@ interface OwnProps { featureToggles: FeatureToggles; } -const getForhandsvisFptilbakeCallback = ( - forhandsvisTilbakekrevingMelding: (data: any) => Promise, - fagsak: Fagsak, - behandling: Behandling, -) => (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { - const data = { - behandlingUuid: behandling.uuid, - fagsakYtelseType: fagsak.sakstype, - varseltekst: fritekst || '', - mottaker, - brevmalkode, - saksnummer, +const getForhandsvisFptilbakeCallback = + (forhandsvisTilbakekrevingMelding: (data: any) => Promise, fagsak: Fagsak, behandling: Behandling) => + (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { + const data = { + behandlingUuid: behandling.uuid, + fagsakYtelseType: fagsak.sakstype, + varseltekst: fritekst || '', + mottaker, + brevmalkode, + saksnummer, + }; + return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); }; - return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); -}; -const getHentFritekstbrevHtmlCallback = ( - hentFriteksbrevHtml: (data: any) => Promise, - behandling: Behandling, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, -) => (parameters: any) => - hentFriteksbrevHtml({ - ...parameters, - eksternReferanse: behandling.uuid, - ytelseType: fagsak.sakstype, - saksnummer: fagsak.saksnummer, - aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), - }); - -const getLagringSideeffekter = ( - toggleIverksetterVedtakModal, - toggleFatterVedtakModal, - toggleOppdatereFagsakContext, - oppdaterProsessStegOgFaktaPanelIUrl, - opneSokeside, -) => async aksjonspunktModels => { - const erRevurderingsaksjonspunkt = aksjonspunktModels.some( - apModel => - (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || - apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && - apModel.sendVarsel, - ); - const visIverksetterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && - [aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, aksjonspunktCodes.FATTER_VEDTAK].includes( - aksjonspunktModels[0].kode, +const getHentFritekstbrevHtmlCallback = + ( + hentFriteksbrevHtml: (data: any) => Promise, + behandling: Behandling, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + ) => + (parameters: any) => + hentFriteksbrevHtml({ + ...parameters, + eksternReferanse: behandling.uuid, + ytelseType: fagsak.sakstype, + saksnummer: fagsak.saksnummer, + aktørId: fagsakPerson.aktørId, + avsenderApplikasjon: bestemAvsenderApp(behandling.type), + }); + +const getLagringSideeffekter = + ( + toggleIverksetterVedtakModal, + toggleFatterVedtakModal, + toggleOppdatereFagsakContext, + oppdaterProsessStegOgFaktaPanelIUrl, + opneSokeside, + ) => + async aksjonspunktModels => { + const erRevurderingsaksjonspunkt = aksjonspunktModels.some( + apModel => + (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || + apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && + apModel.sendVarsel, ); - const visFatterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; - const isVedtakAp = aksjonspunktModels.some(a => a.isVedtakSubmission); - - if (visIverksetterVedtakModal || visFatterVedtakModal || erRevurderingsaksjonspunkt || isVedtakAp) { - toggleOppdatereFagsakContext(false); - } - - // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) - return () => { - if (visFatterVedtakModal) { - toggleFatterVedtakModal(true); - } else if (visIverksetterVedtakModal) { - toggleIverksetterVedtakModal(true); - } else if (erRevurderingsaksjonspunkt) { - opneSokeside(); - } else { - oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + const visIverksetterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && + [aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, aksjonspunktCodes.FATTER_VEDTAK].includes( + aksjonspunktModels[0].kode, + ); + const visFatterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; + const isVedtakAp = aksjonspunktModels.some(a => a.isVedtakSubmission); + + if (visIverksetterVedtakModal || visFatterVedtakModal || erRevurderingsaksjonspunkt || isVedtakAp) { + toggleOppdatereFagsakContext(false); } + + // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) + return () => { + if (visFatterVedtakModal) { + toggleFatterVedtakModal(true); + } else if (visIverksetterVedtakModal) { + toggleIverksetterVedtakModal(true); + } else if (erRevurderingsaksjonspunkt) { + opneSokeside(); + } else { + oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + } + }; }; -}; const FrisinnProsess = ({ data, @@ -142,10 +138,8 @@ const FrisinnProsess = ({ const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = restApiFrisinnHooks.useRestApiRunner( FrisinnBehandlingApiKeys.SAVE_AKSJONSPUNKT, ); - const { - startRequest: lagreOverstyrteAksjonspunkter, - data: apOverstyrtBehandlingRes, - } = restApiFrisinnHooks.useRestApiRunner(FrisinnBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT); + const { startRequest: lagreOverstyrteAksjonspunkter, data: apOverstyrtBehandlingRes } = + restApiFrisinnHooks.useRestApiRunner(FrisinnBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT); const { startRequest: forhandsvisMelding } = restApiFrisinnHooks.useRestApiRunner( FrisinnBehandlingApiKeys.PREVIEW_MESSAGE, ); @@ -228,7 +222,7 @@ const FrisinnProsess = ({ behandlingsresultat={behandling.behandlingsresultat} /> { toggleFatterVedtakModal(false); opneSokeside(); diff --git a/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx b/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx index 566aa92c7e..3f86d388ae 100644 --- a/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx +++ b/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { BeregningFaktaIndex } from '@navikt/ft-fakta-beregning-redesign'; import { FrisinnBehandlingApiKeys } from '../../data/frisinnBehandlingApi'; @@ -18,21 +18,19 @@ class BeregningFaktaPanelDef extends FaktaPanelDef { getAksjonspunktKoder = () => [aksjonspunktCodes.VURDER_FAKTA_FOR_ATFL_SN]; getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const bgVilkaret = props.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(aksjonspunktData))} formData={props.formData} setFormData={props.setFormData} vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} - kodeverkSamling={deepCopyProps.alleKodeverk} + kodeverkSamling={props.alleKodeverk} erOverstyrer={false} - submittable={deepCopyProps.submittable} - readOnly={deepCopyProps.isReadOnly} + submittable={props.submittable} + readOnly={props.isReadOnly} skalKunneOverstyreAktiviteter={false} skalKunneAvbryteOverstyring /> diff --git a/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/OpplysningerFraSoknadFaktaPanelDef.tsx b/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/OpplysningerFraSoknadFaktaPanelDef.tsx index 8505859e94..e55b9e62bd 100644 --- a/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/OpplysningerFraSoknadFaktaPanelDef.tsx +++ b/packages/behandling-frisinn/src/panelDefinisjoner/faktaPaneler/OpplysningerFraSoknadFaktaPanelDef.tsx @@ -5,6 +5,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import OpplysningerFraSoknadenIndex from '@fpsak-frontend/fakta-opplysninger-fra-soknaden'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; +import { BehandlingAppKontekst } from '@k9-sak-web/types'; import { FrisinnBehandlingApiKeys } from '../../data/frisinnBehandlingApi'; @@ -21,8 +22,8 @@ class OpplysningerFraSoknadFaktaPanelDef extends FaktaPanelDef { getOverstyrVisningAvKomponent = () => true; - getData = ({ rettigheter, behandling }) => { - const behandlingenErAvsluttet = behandlingStatus.AVSLUTTET === behandling.status.kode; + getData = ({ rettigheter, behandling }: { rettigheter: any; behandling: BehandlingAppKontekst }) => { + const behandlingenErAvsluttet = behandlingStatus.AVSLUTTET === behandling.status; const kanEndrePåSøknadsopplysninger = rettigheter.writeAccess.isEnabled && !behandlingenErAvsluttet; return { kanEndrePåSøknadsopplysninger, diff --git a/packages/behandling-frisinn/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx b/packages/behandling-frisinn/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx index 286324b54a..d360130850 100644 --- a/packages/behandling-frisinn/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx +++ b/packages/behandling-frisinn/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx @@ -4,7 +4,7 @@ import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import { BeregningsgrunnlagProsessIndex } from '@navikt/ft-prosess-beregningsgrunnlag'; const mapYtelsesSpesifiktGrunnlagForFrisinn = (beregningsgrunnlag, behandling) => @@ -19,24 +19,28 @@ const mapYtelsesSpesifiktGrunnlagForFrisinn = (beregningsgrunnlag, behandling) = class PanelDef extends ProsessStegPanelDef { // eslint-disable-next-line class-methods-use-this getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningsgrunnlag, + behandling, + beregningreferanserTilVurdering, + arbeidsgiverOpplysningerPerId, + isReadOnly, + alleKodeverk, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(data))} formData={props.formData} setFormData={props.setFormData} - readOnlySubmitButton={deepCopyProps.isReadOnly} - kodeverkSamling={deepCopyProps.alleKodeverk} - isReadOnly={deepCopyProps.isReadOnly} + readOnlySubmitButton={isReadOnly} + kodeverkSamling={alleKodeverk} + isReadOnly={isReadOnly} /> ); }; diff --git a/packages/behandling-frisinn/src/panelDefinisjoner/vedtakStatusUtlederFrisinn.ts b/packages/behandling-frisinn/src/panelDefinisjoner/vedtakStatusUtlederFrisinn.ts index 7fa2f9efc9..429706ff29 100644 --- a/packages/behandling-frisinn/src/panelDefinisjoner/vedtakStatusUtlederFrisinn.ts +++ b/packages/behandling-frisinn/src/panelDefinisjoner/vedtakStatusUtlederFrisinn.ts @@ -7,12 +7,12 @@ import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; const hasOnlyClosedAps = (aksjonspunkter, vedtakAksjonspunkter) => aksjonspunkter - .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon.kode === ap.definisjon.kode)) - .every(ap => !isAksjonspunktOpen(ap.status.kode)); + .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon === ap.definisjon)) + .every(ap => !isAksjonspunktOpen(ap.status)); -const hasAksjonspunkt = ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_BEREGNING; +const hasAksjonspunkt = ap => ap.definisjon === aksjonspunktCodes.OVERSTYR_BEREGNING; -const isAksjonspunktOpenAndOfType = ap => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status.kode); +const isAksjonspunktOpenAndOfType = ap => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status); const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behandlingsresultat) => { if (vilkar.length === 0) { @@ -21,13 +21,13 @@ const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behan if ( hasOnlyClosedAps(aksjonspunkter, vedtakAksjonspunkter) && - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_OPPFYLT)) + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_OPPFYLT)) ) { return vilkarUtfallType.IKKE_OPPFYLT; } if ( - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT)) || + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_VURDERT)) || aksjonspunkter.some(isAksjonspunktOpenAndOfType) ) { return vilkarUtfallType.IKKE_VURDERT; @@ -37,7 +37,7 @@ const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behan return vilkarUtfallType.IKKE_VURDERT; } - if (isAvslag(behandlingsresultat.type.kode)) { + if (isAvslag(behandlingsresultat.type)) { return vilkarUtfallType.IKKE_OPPFYLT; } return vilkarUtfallType.OPPFYLT; diff --git a/packages/behandling-klage/src/BehandlingKlageIndex.tsx b/packages/behandling-klage/src/BehandlingKlageIndex.tsx index b0e272b439..a0a17488e0 100644 --- a/packages/behandling-klage/src/BehandlingKlageIndex.tsx +++ b/packages/behandling-klage/src/BehandlingKlageIndex.tsx @@ -1,15 +1,8 @@ import React, { useEffect, useState, useCallback } from 'react'; import { Rettigheter, ReduxFormStateCleaner, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; -import { - Behandling, - Fagsak, - FagsakPerson, - Kodeverk, - KodeverkMedNavn, - ArbeidsgiverOpplysningerWrapper, - FeatureToggles, -} from '@k9-sak-web/types'; +import { Behandling, FagsakPerson, ArbeidsgiverOpplysningerWrapper, FeatureToggles, Fagsak } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; @@ -28,7 +21,7 @@ interface OwnProps { behandlingId: number; fagsak: Fagsak; fagsakPerson: FagsakPerson; - kodeverk: { [key: string]: KodeverkMedNavn[] }; + kodeverk: AlleKodeverk; rettigheter: Rettigheter; oppdaterProsessStegOgFaktaPanelIUrl: (punktnavn?: string, faktanavn?: string) => void; valgtProsessSteg?: string; @@ -41,8 +34,8 @@ interface OwnProps { alleBehandlinger: { id: number; uuid: string; - type: Kodeverk; - status: Kodeverk; + type: string; + status: string; opprettet: string; avsluttet?: string; }[]; diff --git a/packages/behandling-klage/src/components/KlagePaneler.tsx b/packages/behandling-klage/src/components/KlagePaneler.tsx index eaedab3ee2..754cd74d4a 100644 --- a/packages/behandling-klage/src/components/KlagePaneler.tsx +++ b/packages/behandling-klage/src/components/KlagePaneler.tsx @@ -1,15 +1,8 @@ import React from 'react'; import { Rettigheter, BehandlingPaVent, SettPaVentParams } from '@k9-sak-web/behandling-felles'; -import { - Fagsak, - Behandling, - Kodeverk, - KodeverkMedNavn, - FagsakPerson, - ArbeidsgiverOpplysningerPerId, - FeatureToggles, -} from '@k9-sak-web/types'; +import { Behandling, FagsakPerson, ArbeidsgiverOpplysningerPerId, FeatureToggles, Fagsak } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import KlageProsess from './KlageProsess'; import FetchedData from '../types/fetchedDataTsType'; @@ -19,7 +12,7 @@ interface OwnProps { fagsakPerson: FagsakPerson; behandling: Behandling; fetchedData: FetchedData; - kodeverk: { [key: string]: KodeverkMedNavn[] }; + kodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; oppdaterProsessStegOgFaktaPanelIUrl: (punktnavn?: string, faktanavn?: string) => void; @@ -29,8 +22,8 @@ interface OwnProps { alleBehandlinger: { id: number; uuid: string; - type: Kodeverk; - status: Kodeverk; + type: string; + status: string; opprettet: string; avsluttet?: string; }[]; diff --git a/packages/behandling-klage/src/components/KlageProsess.spec.tsx b/packages/behandling-klage/src/components/KlageProsess.spec.tsx index abca9a1a98..93f19f47dd 100644 --- a/packages/behandling-klage/src/components/KlageProsess.spec.tsx +++ b/packages/behandling-klage/src/components/KlageProsess.spec.tsx @@ -5,9 +5,9 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import { Behandling, Fagsak, KlageVurdering } from '@k9-sak-web/types'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; @@ -17,15 +17,34 @@ import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtel import KlageProsess from './KlageProsess'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -35,8 +54,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -56,8 +75,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -110,7 +129,7 @@ describe('', () => { renderWithIntl( ', () => { renderWithIntl( void; @@ -41,7 +34,7 @@ interface OwnProps { opneSokeside: () => void; alleBehandlinger: { id: number; - type: Kodeverk; + type: string; avsluttet?: string; }[]; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; @@ -55,86 +48,83 @@ const forhandsvis = data => { } }; -const saveKlageText = ( - lagreKlageVurdering, - lagreReapneKlageVurdering, - behandling, - aksjonspunkter, -) => aksjonspunktModel => { - const data = { - behandlingId: behandling.id, - ...aksjonspunktModel, - }; - - const getForeslaVedtakAp = aksjonspunkter - .filter(ap => ap.status.kode === aksjonspunktStatus.OPPRETTET) - .filter(ap => ap.definisjon.kode === aksjonspunktCodes.FORESLA_VEDTAK); +const saveKlageText = + (lagreKlageVurdering, lagreReapneKlageVurdering, behandling, aksjonspunkter) => aksjonspunktModel => { + const data = { + behandlingId: behandling.id, + ...aksjonspunktModel, + }; - if (getForeslaVedtakAp.length === 1) { - return lagreReapneKlageVurdering(data); - } - return lagreKlageVurdering(data); -}; + const getForeslaVedtakAp = aksjonspunkter + .filter(ap => ap.status === aksjonspunktStatus.OPPRETTET) + .filter(ap => ap.definisjon === aksjonspunktCodes.FORESLA_VEDTAK); -const previewCallback = ( - forhandsvisMelding, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, - behandling: Behandling, - valgtPartMedKlagerett: KlagePart, -) => parametre => { - const request = lagForhåndsvisRequest(behandling, fagsak, fagsakPerson, { - ...parametre, - overstyrtMottaker: valgtPartMedKlagerett && valgtPartMedKlagerett.identifikasjon, - }); - return forhandsvisMelding(request).then(response => forhandsvis(response)); -}; + if (getForeslaVedtakAp.length === 1) { + return lagreReapneKlageVurdering(data); + } + return lagreKlageVurdering(data); + }; -const getHentFritekstbrevHtmlCallback = ( - hentFriteksbrevHtml: (data: any) => Promise, - behandling: Behandling, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, -) => (parameters: any) => - hentFriteksbrevHtml({ - ...parameters, - eksternReferanse: behandling.uuid, - ytelseType: fagsak.sakstype, - saksnummer: fagsak.saksnummer, - aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), - }); +const previewCallback = + ( + forhandsvisMelding, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + behandling: Behandling, + valgtPartMedKlagerett: KlagePart, + ) => + parametre => { + const request = lagForhåndsvisRequest(behandling, fagsak, fagsakPerson, { + ...parametre, + overstyrtMottaker: valgtPartMedKlagerett && valgtPartMedKlagerett.identifikasjon, + }); + return forhandsvisMelding(request).then(response => forhandsvis(response)); + }; -const getLagringSideeffekter = ( - toggleFatterVedtakModal, - toggleKlageModal, - toggleOppdatereFagsakContext, - oppdaterProsessStegOgFaktaPanelIUrl, -) => async aksjonspunktModels => { - const skalByttTilKlageinstans = aksjonspunktModels.some( - apValue => - apValue.kode === aksjonspunktCodes.BEHANDLE_KLAGE_NFP && - apValue.klageVurdering === klageVurderingKodeverk.STADFESTE_YTELSESVEDTAK, - ); - const erVedtakAp = - aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK || - aksjonspunktModels[0].kode === aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL; +const getHentFritekstbrevHtmlCallback = + ( + hentFriteksbrevHtml: (data: any) => Promise, + behandling: Behandling, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + ) => + (parameters: any) => + hentFriteksbrevHtml({ + ...parameters, + eksternReferanse: behandling.uuid, + ytelseType: fagsak.sakstype, + saksnummer: fagsak.saksnummer, + aktørId: fagsakPerson.aktørId, + avsenderApplikasjon: bestemAvsenderApp(behandling.type), + }); - if (skalByttTilKlageinstans || erVedtakAp) { - toggleOppdatereFagsakContext(false); - } +const getLagringSideeffekter = + (toggleFatterVedtakModal, toggleKlageModal, toggleOppdatereFagsakContext, oppdaterProsessStegOgFaktaPanelIUrl) => + async aksjonspunktModels => { + const skalByttTilKlageinstans = aksjonspunktModels.some( + apValue => + apValue.kode === aksjonspunktCodes.BEHANDLE_KLAGE_NFP && + apValue.klageVurdering === klageVurderingKodeverk.STADFESTE_YTELSESVEDTAK, + ); + const erVedtakAp = + aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK || + aksjonspunktModels[0].kode === aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL; - // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) - return () => { - if (skalByttTilKlageinstans) { - toggleKlageModal(true); - } else if (erVedtakAp) { - toggleFatterVedtakModal(true); - } else { - oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + if (skalByttTilKlageinstans || erVedtakAp) { + toggleOppdatereFagsakContext(false); } + + // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) + return () => { + if (skalByttTilKlageinstans) { + toggleKlageModal(true); + } else if (erVedtakAp) { + toggleFatterVedtakModal(true); + } else { + oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + } + }; }; -}; const KlageProsess = ({ data, diff --git a/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/FormKravFamOgPensjonProsessStegPanelDef.tsx b/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/FormKravFamOgPensjonProsessStegPanelDef.tsx index a8719aac31..ae87d13be7 100644 --- a/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/FormKravFamOgPensjonProsessStegPanelDef.tsx +++ b/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/FormKravFamOgPensjonProsessStegPanelDef.tsx @@ -19,14 +19,14 @@ class PanelDef extends ProsessStegPanelDef { parterMedKlagerett, valgtPartMedKlagerett, arbeidsgiverOpplysningerPerId, - fagsak + fagsak, }) => ({ - avsluttedeBehandlinger: alleBehandlinger.filter(b => b.status.kode === behandlingStatus.AVSLUTTET), + avsluttedeBehandlinger: alleBehandlinger.filter(b => b.status === behandlingStatus.AVSLUTTET), klageVurdering, parterMedKlagerett, valgtPartMedKlagerett, arbeidsgiverOpplysningerPerId, - fagsak + fagsak, }); } diff --git a/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/FormKravKlageInstansProsessStegPanelDef.tsx b/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/FormKravKlageInstansProsessStegPanelDef.tsx index ebf2fc1ad6..9ba78ac4b3 100644 --- a/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/FormKravKlageInstansProsessStegPanelDef.tsx +++ b/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/FormKravKlageInstansProsessStegPanelDef.tsx @@ -14,7 +14,7 @@ class PanelDef extends ProsessStegPanelDef { getAksjonspunktKoder = () => [aksjonspunktCodes.VURDERING_AV_FORMKRAV_KLAGE_KA]; getOverstyrVisningAvKomponent = ({ fagsak, featureToggles }: { fagsak: Fagsak; featureToggles: FeatureToggles }) => - featureToggles?.KLAGE_KABAL ? fagsak.sakstype.kode === fagsakYtelseType.FRISINN : true; + featureToggles?.KLAGE_KABAL ? fagsak.sakstype === fagsakYtelseType.FRISINN : true; getData = ({ alleBehandlinger, @@ -22,14 +22,14 @@ class PanelDef extends ProsessStegPanelDef { parterMedKlagerett, valgtPartMedKlagerett, arbeidsgiverOpplysningerPerId, - fagsak + fagsak, }) => ({ - avsluttedeBehandlinger: alleBehandlinger.filter(b => b.status.kode === behandlingStatus.AVSLUTTET), + avsluttedeBehandlinger: alleBehandlinger.filter(b => b.status === behandlingStatus.AVSLUTTET), klageVurdering, parterMedKlagerett, valgtPartMedKlagerett, arbeidsgiverOpplysningerPerId, - fagsak + fagsak, }); } diff --git a/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/VurderingKlageInstansProsessStegPanelDef.tsx b/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/VurderingKlageInstansProsessStegPanelDef.tsx index 49d50461b0..011fb53083 100644 --- a/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/VurderingKlageInstansProsessStegPanelDef.tsx +++ b/packages/behandling-klage/src/panelDefinisjoner/prosessStegPaneler/VurderingKlageInstansProsessStegPanelDef.tsx @@ -13,7 +13,7 @@ class PanelDef extends ProsessStegPanelDef { getAksjonspunktKoder = () => [aksjonspunktCodes.BEHANDLE_KLAGE_NK]; getOverstyrVisningAvKomponent = ({ fagsak, featureToggles }: { fagsak: Fagsak; featureToggles: FeatureToggles }) => - featureToggles?.KLAGE_KABAL ? fagsak.sakstype.kode === fagsakYtelseType.FRISINN : true; + featureToggles?.KLAGE_KABAL ? fagsak.sakstype === fagsakYtelseType.FRISINN : true; getData = ({ fagsak, saveKlageText, klageVurdering, previewCallback, hentFritekstbrevHtmlCallback }) => ({ fagsak, diff --git a/packages/behandling-omsorgspenger/package.json b/packages/behandling-omsorgspenger/package.json index 33eb07fe6f..a39206d7d9 100644 --- a/packages/behandling-omsorgspenger/package.json +++ b/packages/behandling-omsorgspenger/package.json @@ -25,6 +25,7 @@ "@k9-sak-web/fakta-inntektsmelding": "1.0.0", "@k9-sak-web/fakta-omsorgen-for": "1.0.0", "@k9-sak-web/konstanter": "1.0.0", + "@k9-sak-web/lib": "1.0.0", "@k9-sak-web/prosess-aarskvantum-oms": "1.0.0", "@k9-sak-web/prosess-vilkar-soknadsfrist": "1.0.0", "@k9-sak-web/rest-api": "1.0.0", diff --git a/packages/behandling-omsorgspenger/src/BehandlingOmsorgspengerIndex.tsx b/packages/behandling-omsorgspenger/src/BehandlingOmsorgspengerIndex.tsx index fc71db6512..1a92e46304 100644 --- a/packages/behandling-omsorgspenger/src/BehandlingOmsorgspengerIndex.tsx +++ b/packages/behandling-omsorgspenger/src/BehandlingOmsorgspengerIndex.tsx @@ -4,7 +4,6 @@ import { LoadingPanel, usePrevious } from '@fpsak-frontend/shared-components'; import { Rettigheter, ReduxFormStateCleaner, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; import { Behandling, - KodeverkMedNavn, FeatureToggles, Fagsak, FagsakPerson, @@ -12,7 +11,7 @@ import { Dokument, } from '@k9-sak-web/types'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import useBehandlingEndret from '@k9-sak-web/sak-app/src/behandling/useBehandlingEndret'; import { K9sakApiKeys, restApiHooks } from '@k9-sak-web/sak-app/src/data/k9sakApi'; import { @@ -53,7 +52,7 @@ interface OwnProps { }; opneSokeside: () => void; featureToggles: FeatureToggles; - kodeverk?: { [key: string]: KodeverkMedNavn[] }; + kodeverk?: AlleKodeverk; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; setRequestPendingMessage: (message: string) => void; } diff --git a/packages/behandling-omsorgspenger/src/components/OmsorgenFor.tsx b/packages/behandling-omsorgspenger/src/components/OmsorgenFor.tsx index 2a932225ef..c6e4fc7780 100644 --- a/packages/behandling-omsorgspenger/src/components/OmsorgenFor.tsx +++ b/packages/behandling-omsorgspenger/src/components/OmsorgenFor.tsx @@ -20,14 +20,14 @@ interface OmsorgenForProps { export default ({ behandling, fagsak, readOnly, aksjonspunkter, submitCallback }: OmsorgenForProps) => { const { links } = behandling; - const sakstype = fagsak.sakstype.kode; + const { sakstype } = fagsak; const { addErrorMessage } = useRestApiErrorDispatcher(); const httpErrorHandlerCaller = (status: number, locationHeader?: string) => httpErrorHandler(status, addErrorMessage, locationHeader); const omsorgenForAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.AVKLAR_OMSORGEN_FOR); - const omsorgenForAksjonspunktkode = omsorgenForAksjonspunkt?.definisjon.kode; + const omsorgenForAksjonspunktkode = omsorgenForAksjonspunkt?.definisjon; const harAksjonspunkt = !!omsorgenForAksjonspunktkode; const løsAksjonspunkt = (omsorgsperioder, fosterbarnForOmsorgspenger) => diff --git a/packages/behandling-omsorgspenger/src/components/OmsorgspengerFakta.spec.tsx b/packages/behandling-omsorgspenger/src/components/OmsorgspengerFakta.spec.tsx index b21fe05b23..4509cfaafb 100644 --- a/packages/behandling-omsorgspenger/src/components/OmsorgspengerFakta.spec.tsx +++ b/packages/behandling-omsorgspenger/src/components/OmsorgspengerFakta.spec.tsx @@ -2,7 +2,6 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import sivilstandType from '@fpsak-frontend/kodeverk/src/sivilstandType'; @@ -12,6 +11,7 @@ import { Behandling, Fagsak } from '@k9-sak-web/types'; import { act, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import { OmsorgspengerBehandlingApiKeys, requestOmsorgApi } from '../data/omsorgspengerBehandlingApi'; import FetchedData from '../types/fetchedDataTsType'; @@ -44,19 +44,39 @@ const getbehandlingPerioderårsakMedVilkår = (fom: string, tom: string) => ({ }, ], }, - periodeMedUtfall: [{ periode: { fom, tom }, utfall: { kode: 'IKKE_VURDERT', kodeverk: 'VILKAR_UTFALL_TYPE' } }], + periodeMedUtfall: [{ periode: { fom, tom }, utfall: 'IKKE_VURDERT' }], forrigeVedtak: [], }); describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; + const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -65,8 +85,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -86,8 +106,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -97,50 +117,22 @@ describe('', () => { const soker = { navn: 'Espen Utvikler', aktoerId: '1', - personstatus: { - kode: 'BOSA', - kodeverk: 'Bosatt', - }, + personstatus: 'BOSA', avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'Bosatt', - }, - orginalPersonstatus: { - kode: personstatusType.DOD, - kodeverk: 'Bosatt', - }, - }, - navBrukerKjonn: { - kode: '', - kodeverk: '', - }, - statsborgerskap: { - kode: '', - kodeverk: '', - navn: '', - }, - diskresjonskode: { - kode: '', - kodeverk: '', - }, - sivilstand: { - kode: sivilstandType.UGIFT, - kodeverk: 'Ugift', - }, - region: { - kode: 'NORDEN', - kodeverk: 'Norden', + overstyrtPersonstatus: personstatusType.BOSATT, + orginalPersonstatus: personstatusType.DOD, }, + navBrukerKjonn: '', + statsborgerskap: '', + diskresjonskode: '', + sivilstand: sivilstandType.UGIFT, + region: 'NORDEN', adresser: [ { adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', - adresseType: { - kode: opplysningAdresseType.POSTADRESSE, - kodeverk: 'Bostedsadresse', - }, + adresseType: opplysningAdresseType.POSTADRESSE, }, ], barn: [], diff --git a/packages/behandling-omsorgspenger/src/components/OmsorgspengerFakta.tsx b/packages/behandling-omsorgspenger/src/components/OmsorgspengerFakta.tsx index ec3b8f51c9..0b56fb6988 100644 --- a/packages/behandling-omsorgspenger/src/components/OmsorgspengerFakta.tsx +++ b/packages/behandling-omsorgspenger/src/components/OmsorgspengerFakta.tsx @@ -5,7 +5,6 @@ import { Behandling, Fagsak, FagsakPerson, - KodeverkMedNavn, FeatureToggles, Dokument, } from '@k9-sak-web/types'; @@ -13,7 +12,7 @@ import ac from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import ErrorBoundary from '@k9-sak-web/sak-app/src/app/ErrorBoundary'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { isBefore, parse } from 'date-fns'; import { restApiOmsorgHooks, OmsorgspengerBehandlingApiKeys } from '../data/omsorgspengerBehandlingApi'; import faktaPanelDefinisjoner, { @@ -42,7 +41,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; hasFetchError: boolean; oppdaterProsessStegOgFaktaPanelIUrl: (prosessPanel?: string, faktanavn?: string) => void; diff --git a/packages/behandling-omsorgspenger/src/components/OmsorgspengerPaneler.tsx b/packages/behandling-omsorgspenger/src/components/OmsorgspengerPaneler.tsx index ab42fd392d..693f3a3d81 100644 --- a/packages/behandling-omsorgspenger/src/components/OmsorgspengerPaneler.tsx +++ b/packages/behandling-omsorgspenger/src/components/OmsorgspengerPaneler.tsx @@ -2,7 +2,6 @@ import React, { useState } from 'react'; import { Rettigheter, BehandlingPaVent, SettPaVentParams } from '@k9-sak-web/behandling-felles'; import { - KodeverkMedNavn, Behandling, FeatureToggles, Fagsak, @@ -10,7 +9,7 @@ import { ArbeidsgiverOpplysningerPerId, Dokument, } from '@k9-sak-web/types'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import OmsorgspengerProsess from './OmsorgspengerProsess'; import OmsorgspengerFakta from './OmsorgspengerFakta'; import FetchedData from '../types/fetchedDataTsType'; @@ -20,7 +19,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; diff --git a/packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.spec.tsx b/packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.spec.tsx index ffd6f0c9f2..23367d2fd9 100644 --- a/packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.spec.tsx +++ b/packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.spec.tsx @@ -2,7 +2,6 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import soknadType from '@fpsak-frontend/kodeverk/src/soknadType'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; @@ -12,21 +11,41 @@ import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi' import { Behandling, Fagsak, Soknad } from '@k9-sak-web/types'; import { act, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import React from 'react'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import FetchedData from '../types/fetchedDataTsType'; import OmsorgspengerProsess from './OmsorgspengerProsess'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -35,8 +54,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -56,19 +75,19 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, ]; const vilkar = [ { - vilkarType: { kode: vilkarType.SOKERSOPPLYSNINGSPLIKT, kodeverk: 'test' }, + vilkarType: vilkarType.SOKERSOPPLYSNINGSPLIKT, overstyrbar: true, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, merknadParametere: { antattGodkjentArbeid: 'P0D', antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<0 [0]> = []', @@ -83,10 +102,7 @@ describe('', () => { 0: '2019-01-01', } as Record, antallBarn: 1, - soknadType: { - kode: soknadType.FODSEL, - kodeverk: 'test', - }, + soknadType: soknadType.FODSEL, } as Soknad; const arbeidsgiverOpplysningerPerId = { diff --git a/packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.tsx b/packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.tsx index d0abd0aafc..a3e3b40c2b 100644 --- a/packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.tsx +++ b/packages/behandling-omsorgspenger/src/components/OmsorgspengerProsess.tsx @@ -11,15 +11,9 @@ import { prosessStegHooks, useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; import React, { useCallback, useMemo, useState } from 'react'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { bestemAvsenderApp, forhandsvis, getForhandsvisCallback } from '@fpsak-frontend/utils/src/formidlingUtils'; import { OmsorgspengerBehandlingApiKeys, restApiOmsorgHooks } from '../data/omsorgspengerBehandlingApi'; @@ -31,7 +25,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; @@ -45,83 +39,85 @@ interface OwnProps { featureToggles: FeatureToggles; } -const getForhandsvisTilbakeCallback = ( - forhandsvisTilbakekrevingMelding: (data: any) => Promise, - fagsak: Fagsak, - behandling: Behandling, -) => (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { - const data = { - behandlingUuid: behandling.uuid, - fagsakYtelseType: fagsak.sakstype, - varseltekst: fritekst || '', - mottaker, - brevmalkode, - saksnummer, +const getForhandsvisTilbakeCallback = + (forhandsvisTilbakekrevingMelding: (data: any) => Promise, fagsak: Fagsak, behandling: Behandling) => + (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { + const data = { + behandlingUuid: behandling.uuid, + fagsakYtelseType: fagsak.sakstype, + varseltekst: fritekst || '', + mottaker, + brevmalkode, + saksnummer, + }; + return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); }; - return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); -}; -const getHentFritekstbrevHtmlCallback = ( - hentFriteksbrevHtml: (data: any) => Promise, - behandling: Behandling, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, -) => (parameters: any) => - hentFriteksbrevHtml({ - ...parameters, - eksternReferanse: behandling.uuid, - ytelseType: fagsak.sakstype, - saksnummer: fagsak.saksnummer, - aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), - }); +const getHentFritekstbrevHtmlCallback = + ( + hentFriteksbrevHtml: (data: any) => Promise, + behandling: Behandling, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + ) => + (parameters: any) => + hentFriteksbrevHtml({ + ...parameters, + eksternReferanse: behandling.uuid, + ytelseType: fagsak.sakstype, + saksnummer: fagsak.saksnummer, + aktørId: fagsakPerson.aktørId, + avsenderApplikasjon: bestemAvsenderApp(behandling.type), + }); -const getLagringSideeffekter = ( - toggleIverksetterVedtakModal, - toggleFatterVedtakModal, - toggleOppdatereFagsakContext, - oppdaterProsessStegOgFaktaPanelIUrl, - opneSokeside, - lagreDokumentdata, -) => async aksjonspunktModels => { - const erRevurderingsaksjonspunkt = aksjonspunktModels.some( - apModel => - (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || - apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && - apModel.sendVarsel, - ); - const visIverksetterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && - [ - aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, - aksjonspunktCodes.FATTER_VEDTAK, - aksjonspunktCodes.FORESLA_VEDTAK_MANUELT, - ].includes(aksjonspunktModels[0].kode); - const visFatterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; - - if (erRevurderingsaksjonspunkt) { - toggleOppdatereFagsakContext(false); - } +const getLagringSideeffekter = + ( + toggleIverksetterVedtakModal, + toggleFatterVedtakModal, + toggleOppdatereFagsakContext, + oppdaterProsessStegOgFaktaPanelIUrl, + opneSokeside, + lagreDokumentdata, + ) => + async aksjonspunktModels => { + const erRevurderingsaksjonspunkt = aksjonspunktModels.some( + apModel => + (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || + apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && + apModel.sendVarsel, + ); + const visIverksetterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && + [ + aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, + aksjonspunktCodes.FATTER_VEDTAK, + aksjonspunktCodes.FORESLA_VEDTAK_MANUELT, + ].includes(aksjonspunktModels[0].kode); + const visFatterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; - if (aksjonspunktModels[0].isVedtakSubmission) { - const dokumentdata = lagDokumentdata(aksjonspunktModels[0]); - if (dokumentdata) await lagreDokumentdata(dokumentdata); - } + if (erRevurderingsaksjonspunkt) { + toggleOppdatereFagsakContext(false); + } - // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) - return () => { - if (visFatterVedtakModal) { - toggleFatterVedtakModal(true); - } else if (visIverksetterVedtakModal) { - toggleIverksetterVedtakModal(true); - } else if (erRevurderingsaksjonspunkt) { - opneSokeside(); - } else { - oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + if (aksjonspunktModels[0].isVedtakSubmission) { + const dokumentdata = lagDokumentdata(aksjonspunktModels[0]); + if (dokumentdata) await lagreDokumentdata(dokumentdata); } + + // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) + return () => { + if (visFatterVedtakModal) { + toggleFatterVedtakModal(true); + } else if (visIverksetterVedtakModal) { + toggleIverksetterVedtakModal(true); + } else if (erRevurderingsaksjonspunkt) { + opneSokeside(); + } else { + oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + } + }; }; -}; const OmsorgspengerProsess = ({ data, @@ -149,10 +145,8 @@ const OmsorgspengerProsess = ({ const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = restApiOmsorgHooks.useRestApiRunner( OmsorgspengerBehandlingApiKeys.SAVE_AKSJONSPUNKT, ); - const { - startRequest: lagreOverstyrteAksjonspunkter, - data: apOverstyrtBehandlingRes, - } = restApiOmsorgHooks.useRestApiRunner(OmsorgspengerBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT); + const { startRequest: lagreOverstyrteAksjonspunkter, data: apOverstyrtBehandlingRes } = + restApiOmsorgHooks.useRestApiRunner(OmsorgspengerBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT); const { startRequest: forhandsvisMelding } = restApiOmsorgHooks.useRestApiRunner( OmsorgspengerBehandlingApiKeys.PREVIEW_MESSAGE, ); @@ -238,7 +232,7 @@ const OmsorgspengerProsess = ({ behandlingsresultat={behandling.behandlingsresultat} /> { toggleFatterVedtakModal(false); opneSokeside(); diff --git a/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx b/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx index a31f25f745..237fe16df7 100644 --- a/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx +++ b/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { BeregningFaktaIndex } from '@navikt/ft-fakta-beregning-redesign'; import { OmsorgspengerBehandlingApiKeys } from '../../data/omsorgspengerBehandlingApi'; @@ -23,20 +23,28 @@ class BeregningFaktaPanelDef extends FaktaPanelDef { ]; getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + alleKodeverk, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + submitCallback, + formData, + setFormData, + beregningreferanserTilVurdering, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(aksjonspunktData))} - formData={props.formData} - setFormData={props.setFormData} - vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} + {...props} + kodeverkSamling={alleKodeverk} + beregningsgrunnlag={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + submitCallback={aksjonspunktData => submitCallback(transformBeregningValues(aksjonspunktData))} + formData={formData} + setFormData={setFormData} + vilkar={mapVilkar(bgVilkaret, beregningreferanserTilVurdering)} skalKunneOverstyreAktiviteter={false} skalKunneAvbryteOverstyring /> diff --git a/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx b/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx index fff4aa165b..b48bf04f38 100644 --- a/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx +++ b/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx @@ -2,7 +2,7 @@ import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { konverterKodeverkTilKode, transformBeregningValues } from '@fpsak-frontend/utils'; +import { transformBeregningValues } from '@fpsak-frontend/utils'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import { FordelBeregningsgrunnlagFaktaIndex } from '@navikt/ft-fakta-fordel-beregningsgrunnlag'; @@ -20,19 +20,26 @@ class FordelBeregningPanelDef extends FaktaPanelDef { ]; getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + alleKodeverk, + submitCallback, + formData, + setFormData, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues([data]))} // Returnerer alltid kun eitt aksjonspunkt om gangen - formData={props.formData} - setFormData={props.setFormData} + beregningsgrunnlagListe={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + kodeverkSamling={alleKodeverk} + submitCallback={data => submitCallback(transformBeregningValues([data]))} // Returnerer alltid kun eitt aksjonspunkt om gangen + formData={formData} + setFormData={setFormData} /> ); }; diff --git a/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx b/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx index 31e12452c5..5b1a7bd751 100644 --- a/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx +++ b/packages/behandling-omsorgspenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx @@ -6,28 +6,29 @@ import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import OpptjeningFaktaIndex from '@fpsak-frontend/fakta-opptjening-oms'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; +import { Vilkar } from '@k9-sak-web/types'; import { OmsorgspengerBehandlingApiKeys } from '../../data/omsorgspengerBehandlingApi'; -const erAllePerioderOppfylt = vilkarsperioder => - vilkarsperioder.every(periode => periode.vilkarStatus.kode === vilkarUtfallType.OPPFYLT); +const erAllePerioderOppfylt = (vilkarsperioder: Vilkar['perioder']) => + vilkarsperioder.every(periode => periode.vilkarStatus === vilkarUtfallType.OPPFYLT); -const shouldShowOpptjening = vilkar => - vilkar.some(v => v.vilkarType.kode === vilkarType.OPPTJENINGSVILKARET) && - vilkar.some(v => v.vilkarType.kode === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); +const shouldShowOpptjening = (vilkar: Vilkar[]) => + vilkar.some(v => v.vilkarType === vilkarType.OPPTJENINGSVILKARET) && + vilkar.some(v => v.vilkarType === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { - getUrlKode = () => faktaPanelCodes.OPPTJENINGSVILKARET; + getUrlKode = (): string => faktaPanelCodes.OPPTJENINGSVILKARET; - getTekstKode = () => 'OpptjeningInfoPanel.KontrollerFaktaForOpptjening'; + getTekstKode = (): string => 'OpptjeningInfoPanel.KontrollerFaktaForOpptjening'; - getAksjonspunktKoder = () => [aksjonspunktCodes.VURDER_PERIODER_MED_OPPTJENING]; + getAksjonspunktKoder = (): string[] => [aksjonspunktCodes.VURDER_PERIODER_MED_OPPTJENING]; - getEndepunkter = () => [OmsorgspengerBehandlingApiKeys.OPPTJENING]; + getEndepunkter = (): string[] => [OmsorgspengerBehandlingApiKeys.OPPTJENING]; getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ vilkar }) => shouldShowOpptjening(vilkar); + getOverstyrVisningAvKomponent = ({ vilkar }: { vilkar: Vilkar[] }) => shouldShowOpptjening(vilkar); } export default OpptjeningsvilkaretFaktaPanelDef; diff --git a/packages/behandling-omsorgspenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx b/packages/behandling-omsorgspenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx index 9c514352da..c5955a11fc 100644 --- a/packages/behandling-omsorgspenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx +++ b/packages/behandling-omsorgspenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx @@ -2,7 +2,7 @@ import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import { BeregningsgrunnlagProsessIndex } from '@navikt/ft-prosess-beregningsgrunnlag'; @@ -11,19 +11,27 @@ import '@navikt/ft-prosess-beregningsgrunnlag/dist/style.css'; class PanelDef extends ProsessStegPanelDef { // eslint-disable-next-line class-methods-use-this getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningreferanserTilVurdering, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + submitCallback, + formData, + setFormData, + alleKodeverk, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(data))} - formData={props.formData} - setFormData={props.setFormData} - kodeverkSamling={deepCopyProps.alleKodeverk} + beregningsgrunnlagsvilkar={mapVilkar(bgVilkaret, beregningreferanserTilVurdering)} + beregningsgrunnlagListe={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + submitCallback={data => submitCallback(transformBeregningValues(data))} + formData={formData} + setFormData={setFormData} + kodeverkSamling={alleKodeverk} /> ); }; diff --git a/packages/behandling-omsorgspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx b/packages/behandling-omsorgspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx index 3174d43f25..5d476072c6 100644 --- a/packages/behandling-omsorgspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx +++ b/packages/behandling-omsorgspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx @@ -5,6 +5,9 @@ import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import SoknadsfristVilkarProsessIndex from '@k9-sak-web/prosess-vilkar-soknadsfrist'; import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { Vilkar } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types/AlleKodeverk.js'; + import { OmsorgspengerBehandlingApiKeys } from '../../../data/omsorgspengerBehandlingApi'; class SoknadsfristPanelDef extends ProsessStegPanelDef { @@ -33,8 +36,16 @@ class SoknadsfristPanelDef extends ProsessStegPanelDef { overrideReadOnly, kanOverstyreAccess, toggleOverstyring, + }: { + vilkarForSteg: Vilkar[]; + alleKodeverk: AlleKodeverk; + overstyrteAksjonspunktKoder: string[]; + prosessStegTekstKode: string; + overrideReadOnly: boolean; + kanOverstyreAccess: { isEnabled: boolean }; + toggleOverstyring: (fn: () => void) => void; }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], + avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType], erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, diff --git a/packages/behandling-omsorgspenger/src/panelDefinisjoner/vedtakStatusUtlederOmsorgspenger.ts b/packages/behandling-omsorgspenger/src/panelDefinisjoner/vedtakStatusUtlederOmsorgspenger.ts index 98b95557b3..49c655dbf6 100644 --- a/packages/behandling-omsorgspenger/src/panelDefinisjoner/vedtakStatusUtlederOmsorgspenger.ts +++ b/packages/behandling-omsorgspenger/src/panelDefinisjoner/vedtakStatusUtlederOmsorgspenger.ts @@ -2,25 +2,31 @@ import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktSta import { isAvslag } from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; +import { Aksjonspunkt, Behandling, Vilkar } from '@k9-sak-web/types'; // TODO (TOR) Kan denne skrivast om? For høg kompleksitet. -const hasOnlyClosedAps = (aksjonspunkter, vedtakAksjonspunkter) => +const hasOnlyClosedAps = (aksjonspunkter: Aksjonspunkt[], vedtakAksjonspunkter: Aksjonspunkt[]) => aksjonspunkter - .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon.kode === ap.definisjon.kode)) - .every(ap => !isAksjonspunktOpen(ap.status.kode)); + .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon === ap.definisjon)) + .every(ap => !isAksjonspunktOpen(ap.status)); -const hasAksjonspunkt = ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_BEREGNING; +const hasAksjonspunkt = (ap: Aksjonspunkt) => ap.definisjon === aksjonspunktCodes.OVERSTYR_BEREGNING; -const isAksjonspunktOpenAndOfType = ap => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status.kode); +const isAksjonspunktOpenAndOfType = (ap: Aksjonspunkt) => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status); -const harVilkårSomIkkeErOppfylt = vilkar => - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_OPPFYLT)); +const harVilkårSomIkkeErOppfylt = (vilkar: Vilkar[]) => + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_OPPFYLT)); const harVilkårSomIkkeErVurdert = vilkar => - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT)); - -const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behandlingsresultat) => { + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_VURDERT)); + +const findStatusForVedtak = ( + vilkar: Vilkar[], + aksjonspunkter: Aksjonspunkt[], + vedtakAksjonspunkter: Aksjonspunkt[], + behandlingsresultat: Behandling['behandlingsresultat'], +) => { if (vilkar.length === 0) { return vilkarUtfallType.IKKE_VURDERT; } @@ -37,7 +43,7 @@ const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behan return vilkarUtfallType.IKKE_VURDERT; } - if (isAvslag(behandlingsresultat.type.kode)) { + if (isAvslag(behandlingsresultat.type)) { return vilkarUtfallType.IKKE_OPPFYLT; } return vilkarUtfallType.OPPFYLT; diff --git a/packages/behandling-opplaeringspenger/package.json b/packages/behandling-opplaeringspenger/package.json index cdd4759f88..f6692fb136 100644 --- a/packages/behandling-opplaeringspenger/package.json +++ b/packages/behandling-opplaeringspenger/package.json @@ -27,6 +27,7 @@ "@k9-sak-web/fakta-om-barnet": "1.0.0", "@k9-sak-web/fakta-omsorgen-for": "1.0.0", "@k9-sak-web/konstanter": "1.0.0", + "@k9-sak-web/lib": "1.0.0", "@k9-sak-web/prosess-uttak": "1.0.0", "@k9-sak-web/prosess-vilkar-soknadsfrist": "1.0.0", "@k9-sak-web/prosess-vilkar-sykdom": "1.0.0", diff --git a/packages/behandling-opplaeringspenger/src/BehandlingOpplaeringspengerIndex.tsx b/packages/behandling-opplaeringspenger/src/BehandlingOpplaeringspengerIndex.tsx index 4eb5c22c8e..624b88ae8c 100644 --- a/packages/behandling-opplaeringspenger/src/BehandlingOpplaeringspengerIndex.tsx +++ b/packages/behandling-opplaeringspenger/src/BehandlingOpplaeringspengerIndex.tsx @@ -10,9 +10,8 @@ import { Fagsak, FagsakPerson, FeatureToggles, - KodeverkMedNavn, } from '@k9-sak-web/types'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import useBehandlingEndret from '@k9-sak-web/sak-app/src/behandling/useBehandlingEndret'; import { K9sakApiKeys, restApiHooks } from '@k9-sak-web/sak-app/src/data/k9sakApi'; import OpplaeringspengerPaneler from './components/OpplaeringspengerPaneler'; @@ -51,7 +50,7 @@ interface OwnProps { }; opneSokeside: () => void; featureToggles: FeatureToggles; - kodeverk?: { [key: string]: KodeverkMedNavn[] }; + kodeverk?: AlleKodeverk; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; setRequestPendingMessage: (message: string) => void; } diff --git a/packages/behandling-opplaeringspenger/src/FaktaOpplaeringContext.ts b/packages/behandling-opplaeringspenger/src/FaktaOpplaeringContext.ts index 2f1d768759..d9a2d9d4b4 100644 --- a/packages/behandling-opplaeringspenger/src/FaktaOpplaeringContext.ts +++ b/packages/behandling-opplaeringspenger/src/FaktaOpplaeringContext.ts @@ -10,7 +10,7 @@ import { } from '@k9-sak-web/types'; import Dokument from '@k9-sak-web/types/src/sykdom/Dokument'; -export const FaktaOpplaeringContext = React.createContext(null); +export const FaktaOpplaeringContext = React.createContext(null); export interface FaktaOpplaeringContextTypes { aksjonspunkter: Aksjonspunkt[]; diff --git a/packages/behandling-opplaeringspenger/src/components/EtablertTilsyn.tsx b/packages/behandling-opplaeringspenger/src/components/EtablertTilsyn.tsx index 3066c403f4..b78bd5a0c0 100644 --- a/packages/behandling-opplaeringspenger/src/components/EtablertTilsyn.tsx +++ b/packages/behandling-opplaeringspenger/src/components/EtablertTilsyn.tsx @@ -15,17 +15,17 @@ export default ({ aksjonspunkter, behandling, readOnly, submitCallback }) => { httpErrorHandlerFn(status, addErrorMessage, locationHeader); const beredskapAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.BEREDSKAP); - const beredskapAksjonspunktkode = beredskapAksjonspunkt?.definisjon.kode; + const beredskapAksjonspunktkode = beredskapAksjonspunkt?.definisjon; const løsBeredskapAksjonspunkt = beredskapsperioder => submitCallback([{ kode: beredskapAksjonspunktkode, begrunnelse: 'Beredskap er behandlet', ...beredskapsperioder }]); const nattevåkAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.NATTEVÅK); - const nattevåkAksjonspunktkode = nattevåkAksjonspunkt?.definisjon.kode; + const nattevåkAksjonspunktkode = nattevåkAksjonspunkt?.definisjon; const løsNattevåkAksjonspunkt = nattevåkperioder => submitCallback([{ kode: nattevåkAksjonspunktkode, begrunnelse: 'Nattevåk er behandlet', ...nattevåkperioder }]); - const harUløstAksjonspunktForBeredskap = beredskapAksjonspunkt?.status.kode === aksjonspunktStatus.OPPRETTET; - const harUløstAksjonspunktForNattevåk = nattevåkAksjonspunkt?.status.kode === aksjonspunktStatus.OPPRETTET; + const harUløstAksjonspunktForBeredskap = beredskapAksjonspunkt?.status === aksjonspunktStatus.OPPRETTET; + const harUløstAksjonspunktForNattevåk = nattevåkAksjonspunkt?.status === aksjonspunktStatus.OPPRETTET; const harAksjonspunkt = !!beredskapAksjonspunktkode || !!nattevåkAksjonspunktkode; return ( diff --git "a/packages/behandling-opplaeringspenger/src/components/MedisinskVilk\303\245r.tsx" "b/packages/behandling-opplaeringspenger/src/components/MedisinskVilk\303\245r.tsx" index 584893e9e5..e47e1ba2b7 100644 --- "a/packages/behandling-opplaeringspenger/src/components/MedisinskVilk\303\245r.tsx" +++ "b/packages/behandling-opplaeringspenger/src/components/MedisinskVilk\303\245r.tsx" @@ -1,9 +1,10 @@ +import React from 'react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { findAksjonspunkt, findEndpointsForMicrofrontend, httpErrorHandler } from '@fpsak-frontend/utils'; import { useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import { MedisinskVilkår } from '@k9-sak-web/fakta-medisinsk-vilkar'; -import React from 'react'; export default ({ behandling: { links, uuid }, @@ -18,8 +19,8 @@ export default ({ httpErrorHandler(status, addErrorMessage, locationHeader); const medisinskVilkårAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.MEDISINSK_VILKAAR); - const medisinskVilkårAksjonspunktkode = medisinskVilkårAksjonspunkt?.definisjon.kode; - const medisinskVilkårAksjonspunktstatus = medisinskVilkårAksjonspunkt?.status.kode; + const medisinskVilkårAksjonspunktkode = medisinskVilkårAksjonspunkt?.definisjon; + const medisinskVilkårAksjonspunktstatus = medisinskVilkårAksjonspunkt?.status; const visFortsettknapp = medisinskVilkårAksjonspunktstatus === aksjonspunktStatus.OPPRETTET; const løsAksjonspunkt = aksjonspunktArgs => diff --git a/packages/behandling-opplaeringspenger/src/components/OmBarnet.tsx b/packages/behandling-opplaeringspenger/src/components/OmBarnet.tsx index b278efe339..61815f04c0 100644 --- a/packages/behandling-opplaeringspenger/src/components/OmBarnet.tsx +++ b/packages/behandling-opplaeringspenger/src/components/OmBarnet.tsx @@ -1,9 +1,10 @@ +import React from 'react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { findAksjonspunkt, findEndpointsForMicrofrontend, httpErrorHandler } from '@fpsak-frontend/utils'; import { useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import { Aksjonspunkt, BehandlingAppKontekst } from '@k9-sak-web/types'; import { OmBarnet } from '@k9-sak-web/fakta-om-barnet'; -import React from 'react'; interface OmBarnetProps { behandling: BehandlingAppKontekst; @@ -24,7 +25,7 @@ export default ({ behandling: { links }, readOnly, aksjonspunkter, submitCallbac aksjonspunkter, aksjonspunktCodes.VURDER_RETT_ETTER_PLEIETRENGENDES_DØD, ); - const omBarnetAksjonspunktkode = omBarnetAksjonspunkt?.definisjon.kode; + const omBarnetAksjonspunktkode = omBarnetAksjonspunkt?.definisjon; const harAksjonspunkt = !!omBarnetAksjonspunktkode; const løsAksjonspunkt = data => diff --git a/packages/behandling-opplaeringspenger/src/components/OmsorgenFor.tsx b/packages/behandling-opplaeringspenger/src/components/OmsorgenFor.tsx index 8339dadaee..3b0e208cd8 100644 --- a/packages/behandling-opplaeringspenger/src/components/OmsorgenFor.tsx +++ b/packages/behandling-opplaeringspenger/src/components/OmsorgenFor.tsx @@ -1,8 +1,9 @@ +import React from 'react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { findAksjonspunkt, findEndpointsForMicrofrontend, httpErrorHandler } from '@fpsak-frontend/utils'; import { useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import { Aksjonspunkt, BehandlingAppKontekst } from '@k9-sak-web/types'; -import React from 'react'; import { OmsorgenFor } from '@k9-sak-web/fakta-omsorgen-for'; interface OmsorgenForProps { @@ -22,7 +23,7 @@ export default ({ behandling: { links }, readOnly, aksjonspunkter, submitCallbac httpErrorHandler(status, addErrorMessage, locationHeader); const omsorgenForAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.AVKLAR_OMSORGEN_FOR); - const omsorgenForAksjonspunktkode = omsorgenForAksjonspunkt?.definisjon.kode; + const omsorgenForAksjonspunktkode = omsorgenForAksjonspunkt?.definisjon; const harAksjonspunkt = !!omsorgenForAksjonspunktkode; const løsAksjonspunkt = omsorgsperioder => diff --git a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.spec.tsx b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.spec.tsx index 522e6b7b79..c20b95cb69 100644 --- a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.spec.tsx +++ b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.spec.tsx @@ -4,7 +4,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import { Behandling, Fagsak } from '@k9-sak-web/types'; @@ -23,14 +23,32 @@ import FetchedData from '../types/fetchedDataTsType'; import OpplaeringspengerFakta from './OpplaeringspengerFakta'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.PSB, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.PSB, + status: fagsakStatus.UNDER_BEHANDLING, + person: { + aktørId: '', + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + }, + relasjonsRolleType: '', + barnFodt: '', + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; + const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -39,8 +57,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -65,8 +83,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -81,50 +99,22 @@ describe('', () => { const soker = { navn: 'Espen Utvikler', aktoerId: '1', - personstatus: { - kode: 'BOSA', - kodeverk: 'Bosatt', - }, + personstatus: 'BOSA', avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'Bosatt', - }, - orginalPersonstatus: { - kode: personstatusType.DOD, - kodeverk: 'Bosatt', - }, - }, - navBrukerKjonn: { - kode: '', - kodeverk: '', - }, - statsborgerskap: { - kode: '', - kodeverk: '', - navn: '', - }, - diskresjonskode: { - kode: '', - kodeverk: '', - }, - sivilstand: { - kode: sivilstandType.UGIFT, - kodeverk: 'Ugift', - }, - region: { - kode: 'NORDEN', - kodeverk: 'Norden', + overstyrtPersonstatus: personstatusType.BOSATT, + orginalPersonstatus: personstatusType.DOD, }, + navBrukerKjonn: '', + statsborgerskap: '', + diskresjonskode: '', + sivilstand: sivilstandType.UGIFT, + region: 'NORDEN', adresser: [ { adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', - adresseType: { - kode: opplysningAdresseType.POSTADRESSE, - kodeverk: 'Bostedsadresse', - }, + adresseType: opplysningAdresseType.POSTADRESSE, }, ], barn: [], diff --git a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.tsx b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.tsx index bb9b5a4b65..2a88af5904 100644 --- a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.tsx +++ b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerFakta.tsx @@ -2,19 +2,18 @@ import React, { useEffect, useState } from 'react'; import { Rettigheter, SideMenuWrapper, faktaHooks, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; import { - KodeverkMedNavn, Behandling, ArbeidsgiverOpplysningerPerId, FagsakPerson, - Fagsak, Dokument, FeatureToggles, + Fagsak, } from '@k9-sak-web/types'; import ac from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import ErrorBoundary from '@k9-sak-web/sak-app/src/app/ErrorBoundary'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import faktaPanelDefinisjoner from '../panelDefinisjoner/faktaOpplaeringspengerPanelDefinisjoner'; import FetchedData from '../types/fetchedDataTsType'; import { @@ -29,7 +28,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; hasFetchError: boolean; oppdaterProsessStegOgFaktaPanelIUrl: (prosessPanel?: string, faktanavn?: string) => void; diff --git a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerPaneler.tsx b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerPaneler.tsx index b393d01884..af238616c1 100644 --- a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerPaneler.tsx +++ b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerPaneler.tsx @@ -14,8 +14,8 @@ import { Fagsak, FagsakPerson, FeatureToggles, - KodeverkMedNavn, } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import moment from 'moment'; import React, { useState } from 'react'; import { Arbeidstype } from '../types/Arbeidstype'; @@ -30,7 +30,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; diff --git a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerProsess.tsx b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerProsess.tsx index 7687b686db..2ea78047fb 100644 --- a/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerProsess.tsx +++ b/packages/behandling-opplaeringspenger/src/components/OpplaeringspengerProsess.tsx @@ -13,15 +13,8 @@ import { prosessStegHooks, useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; - +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { OpplaeringspengerBehandlingApiKeys, restApiOpplaeringspengerHooks, @@ -34,7 +27,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; @@ -49,82 +42,84 @@ interface OwnProps { setBeregningErBehandlet: (value: boolean) => void; } -const getForhandsvisFptilbakeCallback = ( - forhandsvisTilbakekrevingMelding: (data: any) => Promise, - fagsak: Fagsak, - behandling: Behandling, -) => (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { - const data = { - behandlingUuid: behandling.uuid, - fagsakYtelseType: fagsak.sakstype, - varseltekst: fritekst || '', - mottaker, - brevmalkode, - saksnummer, +const getForhandsvisFptilbakeCallback = + (forhandsvisTilbakekrevingMelding: (data: any) => Promise, fagsak: Fagsak, behandling: Behandling) => + (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { + const data = { + behandlingUuid: behandling.uuid, + fagsakYtelseType: fagsak.sakstype, + varseltekst: fritekst || '', + mottaker, + brevmalkode, + saksnummer, + }; + return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); }; - return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); -}; - -const getLagringSideeffekter = ( - toggleIverksetterVedtakModal, - toggleFatterVedtakModal, - oppdaterProsessStegOgFaktaPanelIUrl, - opneSokeside, - lagreDokumentdata, -) => async aksjonspunktModels => { - const erRevurderingsaksjonspunkt = aksjonspunktModels.some( - apModel => - (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || - apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && - apModel.sendVarsel, - ); - const visIverksetterVedtakModal = aksjonspunktModels.some( - aksjonspunkt => - aksjonspunkt.isVedtakSubmission && - [ - aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, - aksjonspunktCodes.FATTER_VEDTAK, - aksjonspunktCodes.FORESLA_VEDTAK_MANUELT, - ].includes(aksjonspunkt.kode), - ); +const getLagringSideeffekter = + ( + toggleIverksetterVedtakModal, + toggleFatterVedtakModal, + oppdaterProsessStegOgFaktaPanelIUrl, + opneSokeside, + lagreDokumentdata, + ) => + async aksjonspunktModels => { + const erRevurderingsaksjonspunkt = aksjonspunktModels.some( + apModel => + (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || + apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && + apModel.sendVarsel, + ); - const visFatterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; + const visIverksetterVedtakModal = aksjonspunktModels.some( + aksjonspunkt => + aksjonspunkt.isVedtakSubmission && + [ + aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, + aksjonspunktCodes.FATTER_VEDTAK, + aksjonspunktCodes.FORESLA_VEDTAK_MANUELT, + ].includes(aksjonspunkt.kode), + ); - if (aksjonspunktModels[0].isVedtakSubmission) { - const dokumentdata = lagDokumentdata(aksjonspunktModels[0]); - if (dokumentdata) await lagreDokumentdata(dokumentdata); - } + const visFatterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; - // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) - return () => { - if (visFatterVedtakModal) { - toggleFatterVedtakModal(true); - } else if (visIverksetterVedtakModal) { - toggleIverksetterVedtakModal(true); - } else if (erRevurderingsaksjonspunkt) { - opneSokeside(); - } else { - oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + if (aksjonspunktModels[0].isVedtakSubmission) { + const dokumentdata = lagDokumentdata(aksjonspunktModels[0]); + if (dokumentdata) await lagreDokumentdata(dokumentdata); } + + // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) + return () => { + if (visFatterVedtakModal) { + toggleFatterVedtakModal(true); + } else if (visIverksetterVedtakModal) { + toggleIverksetterVedtakModal(true); + } else if (erRevurderingsaksjonspunkt) { + opneSokeside(); + } else { + oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + } + }; }; -}; -const getHentFritekstbrevHtmlCallback = ( - hentFriteksbrevHtml: (data: any) => Promise, - behandling: Behandling, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, -) => (parameters: any) => - hentFriteksbrevHtml({ - ...parameters, - eksternReferanse: behandling.uuid, - ytelseType: fagsak.sakstype, - saksnummer: fagsak.saksnummer, - aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), - }); +const getHentFritekstbrevHtmlCallback = + ( + hentFriteksbrevHtml: (data: any) => Promise, + behandling: Behandling, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + ) => + (parameters: any) => + hentFriteksbrevHtml({ + ...parameters, + eksternReferanse: behandling.uuid, + ytelseType: fagsak.sakstype, + saksnummer: fagsak.saksnummer, + aktørId: fagsakPerson.aktørId, + avsenderApplikasjon: bestemAvsenderApp(behandling.type), + }); const OpplaeringspengerProsess = ({ data, @@ -147,15 +142,12 @@ const OpplaeringspengerProsess = ({ }: OwnProps) => { prosessStegHooks.useOppdateringAvBehandlingsversjon(behandling.versjon, oppdaterBehandlingVersjon); - const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = restApiOpplaeringspengerHooks.useRestApiRunner< - Behandling - >(OpplaeringspengerBehandlingApiKeys.SAVE_AKSJONSPUNKT); - const { - startRequest: lagreOverstyrteAksjonspunkter, - data: apOverstyrtBehandlingRes, - } = restApiOpplaeringspengerHooks.useRestApiRunner( - OpplaeringspengerBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT, - ); + const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = + restApiOpplaeringspengerHooks.useRestApiRunner(OpplaeringspengerBehandlingApiKeys.SAVE_AKSJONSPUNKT); + const { startRequest: lagreOverstyrteAksjonspunkter, data: apOverstyrtBehandlingRes } = + restApiOpplaeringspengerHooks.useRestApiRunner( + OpplaeringspengerBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT, + ); const { startRequest: forhandsvisMelding } = restApiOpplaeringspengerHooks.useRestApiRunner( OpplaeringspengerBehandlingApiKeys.PREVIEW_MESSAGE, ); @@ -239,7 +231,7 @@ const OpplaeringspengerProsess = ({ behandlingsresultat={behandling.behandlingsresultat} /> { toggleFatterVedtakModal(false); opneSokeside(); diff --git a/packages/behandling-opplaeringspenger/src/components/Uttak.tsx b/packages/behandling-opplaeringspenger/src/components/Uttak.tsx index 15bafaa889..111185137c 100644 --- a/packages/behandling-opplaeringspenger/src/components/Uttak.tsx +++ b/packages/behandling-opplaeringspenger/src/components/Uttak.tsx @@ -32,11 +32,11 @@ export default ({ const [featureToggles] = useFeatureToggles(); const relevanteAksjonspunkter = [aksjonspunktCodes.VENT_ANNEN_PSB_SAK, aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK]; const funnedeRelevanteAksjonspunkter = aksjonspunkter.filter(aksjonspunkt => - relevanteAksjonspunkter.some(relevantAksjonspunkt => relevantAksjonspunkt === aksjonspunkt.definisjon.kode), + relevanteAksjonspunkter.some(relevantAksjonspunkt => relevantAksjonspunkt === aksjonspunkt.definisjon), ); const funnedeRelevanteAksjonspunktkoder = funnedeRelevanteAksjonspunkter - .filter(aksjonspunkt => aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET) - .map(aksjonspunkt => aksjonspunkt.definisjon.kode); + .filter(aksjonspunkt => aksjonspunkt.status === aksjonspunktStatus.OPPRETTET) + .map(aksjonspunkt => aksjonspunkt.definisjon); const løsAksjonspunktVurderDatoNyRegelUttak = ({ begrunnelse, virkningsdato }) => submitCallback([{ kode: aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK, begrunnelse, virkningsdato }]); diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx index a7696ac3d3..664e4aad97 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { BeregningFaktaIndex } from '@navikt/ft-fakta-beregning-redesign'; import { OpplaeringspengerBehandlingApiKeys } from '../../data/opplaeringspengerBehandlingApi'; @@ -27,20 +27,28 @@ class BeregningFaktaPanelDef extends FaktaPanelDef { // eslint-disable-next-line class-methods-use-this getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + alleKodeverk, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + submitCallback, + formData, + setFormData, + beregningreferanserTilVurdering, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(aksjonspunktData))} - formData={props.formData} - setFormData={props.setFormData} - vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} + {...props} + kodeverkSamling={alleKodeverk} + beregningsgrunnlag={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + submitCallback={aksjonspunktData => submitCallback(transformBeregningValues(aksjonspunktData))} + formData={formData} + setFormData={setFormData} + vilkar={mapVilkar(bgVilkaret, beregningreferanserTilVurdering)} skalKunneOverstyreAktiviteter={false} skalKunneAvbryteOverstyring /> diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/EtablertTilsynFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/EtablertTilsynFaktaPanelDef.tsx index 9d64a095a9..5aa5f4cda4 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/EtablertTilsynFaktaPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/EtablertTilsynFaktaPanelDef.tsx @@ -15,8 +15,7 @@ class EtablertTilsynFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => - fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; } export default EtablertTilsynFaktaPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx index 774c583531..d911abcd3f 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx @@ -2,7 +2,7 @@ import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { konverterKodeverkTilKode, transformBeregningValues } from '@fpsak-frontend/utils'; +import { transformBeregningValues } from '@fpsak-frontend/utils'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import { FordelBeregningsgrunnlagFaktaIndex } from '@navikt/ft-fakta-fordel-beregningsgrunnlag'; @@ -20,19 +20,26 @@ class FordelBeregningPanelDef extends FaktaPanelDef { ]; getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + alleKodeverk, + formData, + setFormData, + submitCallback, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues([data]))} // Returnerer alltid kun eitt aksjonspunkt om gangen - formData={props.formData} - setFormData={props.setFormData} + beregningsgrunnlagListe={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + kodeverkSamling={alleKodeverk} + submitCallback={data => submitCallback(transformBeregningValues([data]))} // Returnerer alltid kun eitt aksjonspunkt om gangen + formData={formData} + setFormData={setFormData} /> ); }; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx index 749b2ec83f..3dca2a9ed3 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx @@ -28,8 +28,7 @@ class InntektsmeldingFaktaPanelDef extends FaktaPanelDef { dokumenter, }); - getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => - fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; } export default InntektsmeldingFaktaPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx index 2e883ab8f2..58bc90d308 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx @@ -18,9 +18,9 @@ class MedisinskVilkarFaktaPanelDef2 extends FaktaPanelDef { getKomponent = props => ; - getData = ({ fagsak, behandling }) => ({ - fagsakYtelseType: fagsak.sakstype.kode, - behandlingType: behandling.type.kode, + getData = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => ({ + fagsakYtelseType: fagsak.sakstype, + behandlingType: behandling.type, }); getOverstyrVisningAvKomponent = ({ behandling }: { fagsak: Fagsak; behandling: Behandling }) => { diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OmBarnetFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OmBarnetFaktaPanelDef.tsx index 327d73514a..aeb65ac16c 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OmBarnetFaktaPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OmBarnetFaktaPanelDef.tsx @@ -19,7 +19,7 @@ class OmBarnetFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; getOverstyrVisningAvKomponent = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => { - const erPleiepengesak = fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + const erPleiepengesak = fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; const søknadsfristErIkkeUnderVurdering = behandling.stegTilstand?.stegType?.kode !== 'VURDER_SØKNADSFRIST'; return erPleiepengesak && søknadsfristErIkkeUnderVurdering; }; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OmsorgenForFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OmsorgenForFaktaPanelDef.tsx index cb00adcc68..eddaa769ad 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OmsorgenForFaktaPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OmsorgenForFaktaPanelDef.tsx @@ -5,6 +5,7 @@ import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { Fagsak, Behandling } from '@k9-sak-web/types'; + import OmsorgenFor from '../../components/OmsorgenFor'; class OmsorgenForFaktaPanelDef extends FaktaPanelDef { @@ -19,7 +20,7 @@ class OmsorgenForFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; getOverstyrVisningAvKomponent = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => { - const erPleiepengesak = fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + const erPleiepengesak = fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; const søknadsfristErIkkeUnderVurdering = behandling.stegTilstand?.stegType?.kode !== 'VURDER_SØKNADSFRIST'; return erPleiepengesak && søknadsfristErIkkeUnderVurdering; }; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx index 65ee8873ae..6ad2c25d47 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx @@ -6,15 +6,15 @@ import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import OpptjeningFaktaIndex from '@fpsak-frontend/fakta-opptjening-oms'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; - +import { Vilkar } from '@k9-sak-web/types'; import { OpplaeringspengerBehandlingApiKeys } from '../../data/opplaeringspengerBehandlingApi'; -const erAllePerioderOppfylt = vilkarsperioder => - vilkarsperioder.every(periode => periode.vilkarStatus.kode === vilkarUtfallType.OPPFYLT); +const erAllePerioderOppfylt = (vilkarsperioder: Vilkar['perioder']) => + vilkarsperioder.every(periode => periode.vilkarStatus === vilkarUtfallType.OPPFYLT); -const shouldShowOpptjening = vilkar => - vilkar.some(v => v.vilkarType.kode === vilkarType.OPPTJENINGSVILKARET) && - vilkar.some(v => v.vilkarType.kode === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); +const shouldShowOpptjening = (vilkar: Vilkar[]) => + vilkar.some(v => v.vilkarType === vilkarType.OPPTJENINGSVILKARET) && + vilkar.some(v => v.vilkarType === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { getUrlKode = () => faktaPanelCodes.OPPTJENINGSVILKARET; @@ -27,7 +27,7 @@ class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ vilkar }) => shouldShowOpptjening(vilkar); + getOverstyrVisningAvKomponent = ({ vilkar }: { vilkar: Vilkar[] }) => shouldShowOpptjening(vilkar); } export default OpptjeningsvilkaretFaktaPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx index e2a0449777..8700537954 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx @@ -1,9 +1,11 @@ +import React from 'react'; + import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import SoknadsperioderIndex from '@k9-sak-web/fakta-soknadsperioder'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import { Fagsak } from '@k9-sak-web/types'; -import React from 'react'; + import { OpplaeringspengerBehandlingApiKeys } from '../../data/opplaeringspengerBehandlingApi'; class SoknadsperioderFaktaPanelDef extends FaktaPanelDef { @@ -17,8 +19,7 @@ class SoknadsperioderFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => - fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; } export default SoknadsperioderFaktaPanelDef; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx index 9c514352da..6d5dd0c130 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx @@ -2,7 +2,7 @@ import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import { BeregningsgrunnlagProsessIndex } from '@navikt/ft-prosess-beregningsgrunnlag'; @@ -11,19 +11,27 @@ import '@navikt/ft-prosess-beregningsgrunnlag/dist/style.css'; class PanelDef extends ProsessStegPanelDef { // eslint-disable-next-line class-methods-use-this getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningreferanserTilVurdering, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + formData, + setFormData, + alleKodeverk, + submitCallback, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(data))} - formData={props.formData} - setFormData={props.setFormData} - kodeverkSamling={deepCopyProps.alleKodeverk} + beregningsgrunnlagsvilkar={mapVilkar(bgVilkaret, beregningreferanserTilVurdering)} + beregningsgrunnlagListe={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + submitCallback={data => submitCallback(transformBeregningValues(data))} + formData={formData} + setFormData={setFormData} + kodeverkSamling={alleKodeverk} /> ); }; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx index d707baa1af..eb0d77e027 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx @@ -1,9 +1,10 @@ +import React from 'react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { ProsessStegDef, ProsessStegOverstyringPanelDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import SykdomProsessIndex from '@k9-sak-web/prosess-vilkar-sykdom'; -import React from 'react'; import { Vilkar } from '@k9-sak-web/types'; interface Props { @@ -18,7 +19,7 @@ class PanelDef extends ProsessStegPanelDef { getKomponent = (props: Props) => { const { vilkar } = props; - const perioder = vilkar.filter(v => v.vilkarType.kode === vilkarType.LANGVARIG_SYKDOM).flatMap(v => v.perioder); + const perioder = vilkar.filter(v => v.vilkarType === vilkarType.LANGVARIG_SYKDOM).flatMap(v => v.perioder); return ; }; diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/InstitusjonPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/InstitusjonPanelDef.tsx index 0c9ec540c1..cfc643e4d0 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/InstitusjonPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/InstitusjonPanelDef.tsx @@ -2,6 +2,8 @@ import { ProsessStegPanelDef, ProsessStegOverstyringPanelDef } from '@k9-sak-web import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types/AlleKodeverk.js'; +import { Vilkar } from '@k9-sak-web/types'; class InstitusjonPanelDef extends ProsessStegPanelDef { overstyringDef = new ProsessStegOverstyringPanelDef(this); @@ -24,8 +26,16 @@ class InstitusjonPanelDef extends ProsessStegPanelDef { overrideReadOnly, kanOverstyreAccess, toggleOverstyring, + }: { + vilkarForSteg: Vilkar[]; + alleKodeverk: AlleKodeverk; + overstyrteAksjonspunktKoder: string[]; + prosessStegTekstKode: string; + overrideReadOnly: boolean; + kanOverstyreAccess: boolean; + toggleOverstyring: () => void; }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], + avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType], erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx index e2d55ce098..2f21036695 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx @@ -5,6 +5,9 @@ import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import SoknadsfristVilkarProsessIndex from '@k9-sak-web/prosess-vilkar-soknadsfrist'; import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types/AlleKodeverk.js'; +import { Vilkar } from '@k9-sak-web/types'; + import { OpplaeringspengerBehandlingApiKeys } from '../../../data/opplaeringspengerBehandlingApi'; class SoknadsfristPanelDef extends ProsessStegPanelDef { @@ -33,8 +36,16 @@ class SoknadsfristPanelDef extends ProsessStegPanelDef { overrideReadOnly, kanOverstyreAccess, toggleOverstyring, + }: { + vilkarForSteg: Vilkar[]; + alleKodeverk: AlleKodeverk; + overstyrteAksjonspunktKoder: string[]; + prosessStegTekstKode: string; + overrideReadOnly: boolean; + kanOverstyreAccess: boolean; + toggleOverstyring: () => void; }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], + avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType], erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/GjennomgaaOpplaeringPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/GjennomgaaOpplaeringPanelDef.tsx index 1d3c55f5c4..cdb0297a10 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/GjennomgaaOpplaeringPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/GjennomgaaOpplaeringPanelDef.tsx @@ -2,6 +2,8 @@ import { ProsessStegPanelDef, ProsessStegOverstyringPanelDef } from '@k9-sak-web import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types/AlleKodeverk.js'; +import { Vilkar } from '@k9-sak-web/types'; class GjennomgaaOpplaeringPanelDef extends ProsessStegPanelDef { overstyringDef = new ProsessStegOverstyringPanelDef(this); @@ -24,8 +26,16 @@ class GjennomgaaOpplaeringPanelDef extends ProsessStegPanelDef { overrideReadOnly, kanOverstyreAccess, toggleOverstyring, + }: { + vilkarForSteg: Vilkar[]; + alleKodeverk: AlleKodeverk; + overstyrteAksjonspunktKoder: string[]; + prosessStegTekstKode: string; + overrideReadOnly: boolean; + kanOverstyreAccess: boolean; + toggleOverstyring: () => void; }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], + avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType], erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/NoedvendighetPanelDef.tsx b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/NoedvendighetPanelDef.tsx index 87c8674271..530aef999b 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/NoedvendighetPanelDef.tsx +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/prosessStegPaneler/opplaeringPaneler/NoedvendighetPanelDef.tsx @@ -2,6 +2,8 @@ import { ProsessStegPanelDef, ProsessStegOverstyringPanelDef } from '@k9-sak-web import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types/AlleKodeverk.js'; +import { Vilkar } from '@k9-sak-web/types'; class NoedvendighetPanelDef extends ProsessStegPanelDef { overstyringDef = new ProsessStegOverstyringPanelDef(this); @@ -24,8 +26,16 @@ class NoedvendighetPanelDef extends ProsessStegPanelDef { overrideReadOnly, kanOverstyreAccess, toggleOverstyring, + }: { + vilkarForSteg: Vilkar[]; + alleKodeverk: AlleKodeverk; + overstyrteAksjonspunktKoder: string[]; + prosessStegTekstKode: string; + overrideReadOnly: boolean; + kanOverstyreAccess: boolean; + toggleOverstyring: () => void; }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], + avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType], erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, diff --git a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/vedtakStatusUtlederOpplaeringspenger.ts b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/vedtakStatusUtlederOpplaeringspenger.ts index aaf29758c1..6416e08d5b 100644 --- a/packages/behandling-opplaeringspenger/src/panelDefinisjoner/vedtakStatusUtlederOpplaeringspenger.ts +++ b/packages/behandling-opplaeringspenger/src/panelDefinisjoner/vedtakStatusUtlederOpplaeringspenger.ts @@ -2,25 +2,30 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { isAvslag } from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; - +import { Aksjonspunkt, Behandling, Vilkar } from '@k9-sak-web/types'; // TODO (TOR) Kan denne skrivast om? For høg kompleksitet. -const hasOnlyClosedAps = (aksjonspunkter, vedtakAksjonspunkter) => +const hasOnlyClosedAps = (aksjonspunkter: Aksjonspunkt[], vedtakAksjonspunkter: Aksjonspunkt[]) => aksjonspunkter - .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon.kode === ap.definisjon.kode)) - .every(ap => !isAksjonspunktOpen(ap.status.kode)); + .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon === ap.definisjon)) + .every(ap => !isAksjonspunktOpen(ap.status)); -const hasAksjonspunkt = ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_BEREGNING; +const hasAksjonspunkt = (ap: Aksjonspunkt) => ap.definisjon === aksjonspunktCodes.OVERSTYR_BEREGNING; -const isAksjonspunktOpenAndOfType = ap => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status.kode); +const isAksjonspunktOpenAndOfType = (ap: Aksjonspunkt) => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status); -const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behandlingsresultat) => { +const findStatusForVedtak = ( + vilkar: Vilkar[], + aksjonspunkter: Aksjonspunkt[], + vedtakAksjonspunkter: Aksjonspunkt[], + behandlingsresultat: Behandling['behandlingsresultat'], +) => { if (vilkar.length === 0) { return vilkarUtfallType.IKKE_VURDERT; } if ( - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT)) || + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_VURDERT)) || aksjonspunkter.some(isAksjonspunktOpenAndOfType) ) { return vilkarUtfallType.IKKE_VURDERT; @@ -30,7 +35,7 @@ const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behan return vilkarUtfallType.IKKE_VURDERT; } - if (isAvslag(behandlingsresultat.type.kode)) { + if (isAvslag(behandlingsresultat.type)) { return vilkarUtfallType.IKKE_OPPFYLT; } return vilkarUtfallType.OPPFYLT; diff --git a/packages/behandling-pleiepenger-sluttfase/src/BehandlingPleiepengerSluttfaseIndex.tsx b/packages/behandling-pleiepenger-sluttfase/src/BehandlingPleiepengerSluttfaseIndex.tsx index 43702b7aef..0f758833e4 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/BehandlingPleiepengerSluttfaseIndex.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/BehandlingPleiepengerSluttfaseIndex.tsx @@ -4,7 +4,6 @@ import { LoadingPanel, usePrevious } from '@fpsak-frontend/shared-components'; import { Rettigheter, ReduxFormStateCleaner, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; import { Behandling, - KodeverkMedNavn, FeatureToggles, Fagsak, FagsakPerson, @@ -12,7 +11,7 @@ import { Dokument, } from '@k9-sak-web/types'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { K9sakApiKeys, restApiHooks } from '@k9-sak-web/sak-app/src/data/k9sakApi'; import useBehandlingEndret from '@k9-sak-web/sak-app/src/behandling/useBehandlingEndret'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; @@ -64,7 +63,7 @@ interface OwnProps { }; opneSokeside: () => void; featureToggles: FeatureToggles; - kodeverk?: { [key: string]: KodeverkMedNavn[] }; + kodeverk?: AlleKodeverk; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; setRequestPendingMessage: (message: string) => void; } diff --git "a/packages/behandling-pleiepenger-sluttfase/src/components/MedisinskVilk\303\245r.tsx" "b/packages/behandling-pleiepenger-sluttfase/src/components/MedisinskVilk\303\245r.tsx" index a864a54862..29e23b47b8 100644 --- "a/packages/behandling-pleiepenger-sluttfase/src/components/MedisinskVilk\303\245r.tsx" +++ "b/packages/behandling-pleiepenger-sluttfase/src/components/MedisinskVilk\303\245r.tsx" @@ -18,8 +18,8 @@ export default ({ httpErrorHandler(status, addErrorMessage, locationHeader); const medisinskVilkårAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.MEDISINSK_VILKAAR); - const medisinskVilkårAksjonspunktkode = medisinskVilkårAksjonspunkt?.definisjon.kode; - const medisinskVilkårAksjonspunktstatus = medisinskVilkårAksjonspunkt?.status.kode; + const medisinskVilkårAksjonspunktkode = medisinskVilkårAksjonspunkt?.definisjon; + const medisinskVilkårAksjonspunktstatus = medisinskVilkårAksjonspunkt?.status; const visFortsettknapp = medisinskVilkårAksjonspunktstatus === aksjonspunktStatus.OPPRETTET; const løsAksjonspunkt = aksjonspunktArgs => diff --git a/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseFakta.spec.tsx b/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseFakta.spec.tsx index 84c003764f..458e6d5d9c 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseFakta.spec.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseFakta.spec.tsx @@ -2,11 +2,11 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import sivilstandType from '@fpsak-frontend/kodeverk/src/sivilstandType'; -import { renderWithIntl, renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; +import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { RestApiErrorProvider } from '@k9-sak-web/rest-api-hooks'; import { Behandling, Fagsak } from '@k9-sak-web/types'; import { act, screen } from '@testing-library/react'; @@ -22,14 +22,34 @@ import FetchedData from '../types/fetchedDataTsType'; import PleiepengerSluttfaseFakta from './PleiepengerSluttfaseFakta'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.PPN, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.PPN, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; + const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -38,8 +58,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -64,8 +84,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -80,50 +100,22 @@ describe('', () => { const soker = { navn: 'Espen Utvikler', aktoerId: '1', - personstatus: { - kode: 'BOSA', - kodeverk: 'Bosatt', - }, + personstatus: 'BOSA', avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'Bosatt', - }, - orginalPersonstatus: { - kode: personstatusType.DOD, - kodeverk: 'Bosatt', - }, - }, - navBrukerKjonn: { - kode: '', - kodeverk: '', - }, - statsborgerskap: { - kode: '', - kodeverk: '', - navn: '', - }, - diskresjonskode: { - kode: '', - kodeverk: '', - }, - sivilstand: { - kode: sivilstandType.UGIFT, - kodeverk: 'Ugift', - }, - region: { - kode: 'NORDEN', - kodeverk: 'Norden', + overstyrtPersonstatus: personstatusType.BOSATT, + orginalPersonstatus: personstatusType.DOD, }, + navBrukerKjonn: '', + statsborgerskap: '', + diskresjonskode: '', + sivilstand: sivilstandType.UGIFT, + region: 'NORDEN', adresser: [ { adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', - adresseType: { - kode: opplysningAdresseType.POSTADRESSE, - kodeverk: 'Bostedsadresse', - }, + adresseType: opplysningAdresseType.POSTADRESSE, }, ], barn: [], @@ -186,7 +178,7 @@ describe('', () => { vilkar, }; - renderWithIntl( + renderWithIntlAndReduxForm( void; diff --git a/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfasePaneler.tsx b/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfasePaneler.tsx index 8452b37d71..24c0e9f2a6 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfasePaneler.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfasePaneler.tsx @@ -14,8 +14,8 @@ import { Fagsak, FagsakPerson, FeatureToggles, - KodeverkMedNavn, } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import moment from 'moment'; import React, { useState } from 'react'; import { Arbeidstype } from '../types/Arbeidstype'; @@ -30,7 +30,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; diff --git a/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseProsess.spec.tsx b/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseProsess.spec.tsx index 5d47d10503..adf9705c82 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseProsess.spec.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseProsess.spec.tsx @@ -2,7 +2,6 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import soknadType from '@fpsak-frontend/kodeverk/src/soknadType'; @@ -14,6 +13,7 @@ import { Behandling, Fagsak, Soknad } from '@k9-sak-web/types'; import { act, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import messages from '../../i18n/nb_NO.json'; import { @@ -24,15 +24,34 @@ import FetchedData from '../types/fetchedDataTsType'; import PleiepengerSluttfaseProsess from './PleiepengerSluttfaseProsess'; describe('< PleiepengerSluttfaseProsess>', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -41,8 +60,8 @@ describe('< PleiepengerSluttfaseProsess>', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -62,86 +81,86 @@ describe('< PleiepengerSluttfaseProsess>', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, ]; const vilkar = [ { - vilkarType: { kode: vilkarType.SOKERSOPPLYSNINGSPLIKT, kodeverk: 'test' }, + vilkarType: vilkarType.SOKERSOPPLYSNINGSPLIKT, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.BEREGNINGSGRUNNLAGVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.BEREGNINGSGRUNNLAGVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.MEDLEMSKAPSVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.PLEIEPENGER_LIVETS_SLUTTFASE, kodeverk: 'test' }, + vilkarType: vilkarType.PLEIEPENGER_LIVETS_SLUTTFASE, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.OPPTJENINGSVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.OPPTJENINGSVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.OMSORGENFORVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.OMSORGENFORVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.SOKNADSFRISTVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.SOKNADSFRISTVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], @@ -153,10 +172,7 @@ describe('< PleiepengerSluttfaseProsess>', () => { 0: '2019-01-01', } as Record, antallBarn: 1, - soknadType: { - kode: soknadType.FODSEL, - kodeverk: 'test', - }, + soknadType: soknadType.FODSEL, } as Soknad; const arbeidsgiverOpplysningerPerId = { diff --git a/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseProsess.tsx b/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseProsess.tsx index fe9537f385..0a71e27eeb 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseProsess.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/components/PleiepengerSluttfaseProsess.tsx @@ -14,15 +14,8 @@ import { prosessStegHooks, useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; - +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { PleiepengerSluttfaseBehandlingApiKeys, restApiPleiepengerSluttfaseHooks, @@ -35,7 +28,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; @@ -50,82 +43,84 @@ interface OwnProps { setBeregningErBehandlet: (value: boolean) => void; } -const getForhandsvisFptilbakeCallback = ( - forhandsvisTilbakekrevingMelding: (data: any) => Promise, - fagsak: Fagsak, - behandling: Behandling, -) => (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { - const data = { - behandlingUuid: behandling.uuid, - fagsakYtelseType: fagsak.sakstype, - varseltekst: fritekst || '', - mottaker, - brevmalkode, - saksnummer, +const getForhandsvisFptilbakeCallback = + (forhandsvisTilbakekrevingMelding: (data: any) => Promise, fagsak: Fagsak, behandling: Behandling) => + (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { + const data = { + behandlingUuid: behandling.uuid, + fagsakYtelseType: fagsak.sakstype, + varseltekst: fritekst || '', + mottaker, + brevmalkode, + saksnummer, + }; + return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); }; - return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); -}; -const getHentFritekstbrevHtmlCallback = ( - hentFriteksbrevHtml: (data: any) => Promise, - behandling: Behandling, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, -) => (parameters: any) => - hentFriteksbrevHtml({ - ...parameters, - eksternReferanse: behandling.uuid, - ytelseType: fagsak.sakstype, - saksnummer: fagsak.saksnummer, - aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), - }); +const getHentFritekstbrevHtmlCallback = + ( + hentFriteksbrevHtml: (data: any) => Promise, + behandling: Behandling, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + ) => + (parameters: any) => + hentFriteksbrevHtml({ + ...parameters, + eksternReferanse: behandling.uuid, + ytelseType: fagsak.sakstype, + saksnummer: fagsak.saksnummer, + aktørId: fagsakPerson.aktørId, + avsenderApplikasjon: bestemAvsenderApp(behandling.type), + }); -const getLagringSideeffekter = ( - toggleIverksetterVedtakModal, - toggleFatterVedtakModal, - toggleOppdatereFagsakContext, - oppdaterProsessStegOgFaktaPanelIUrl, - opneSokeside, - lagreDokumentdata, -) => async aksjonspunktModels => { - const erRevurderingsaksjonspunkt = aksjonspunktModels.some( - apModel => - (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || - apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && - apModel.sendVarsel, - ); - const visIverksetterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && - [aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, aksjonspunktCodes.FATTER_VEDTAK].includes( - aksjonspunktModels[0].kode, +const getLagringSideeffekter = + ( + toggleIverksetterVedtakModal, + toggleFatterVedtakModal, + toggleOppdatereFagsakContext, + oppdaterProsessStegOgFaktaPanelIUrl, + opneSokeside, + lagreDokumentdata, + ) => + async aksjonspunktModels => { + const erRevurderingsaksjonspunkt = aksjonspunktModels.some( + apModel => + (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || + apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && + apModel.sendVarsel, ); - const visFatterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; - const isVedtakAp = aksjonspunktModels.some(a => a.isVedtakSubmission); - - if (visIverksetterVedtakModal || visFatterVedtakModal || erRevurderingsaksjonspunkt || isVedtakAp) { - toggleOppdatereFagsakContext(false); - } + const visIverksetterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && + [aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, aksjonspunktCodes.FATTER_VEDTAK].includes( + aksjonspunktModels[0].kode, + ); + const visFatterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; + const isVedtakAp = aksjonspunktModels.some(a => a.isVedtakSubmission); - if (aksjonspunktModels[0].isVedtakSubmission) { - const dokumentdata = lagDokumentdata(aksjonspunktModels[0]); - if (dokumentdata) await lagreDokumentdata(dokumentdata); - } + if (visIverksetterVedtakModal || visFatterVedtakModal || erRevurderingsaksjonspunkt || isVedtakAp) { + toggleOppdatereFagsakContext(false); + } - // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) - return () => { - if (visFatterVedtakModal) { - toggleFatterVedtakModal(true); - } else if (visIverksetterVedtakModal) { - toggleIverksetterVedtakModal(true); - } else if (erRevurderingsaksjonspunkt) { - opneSokeside(); - } else { - oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + if (aksjonspunktModels[0].isVedtakSubmission) { + const dokumentdata = lagDokumentdata(aksjonspunktModels[0]); + if (dokumentdata) await lagreDokumentdata(dokumentdata); } + + // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) + return () => { + if (visFatterVedtakModal) { + toggleFatterVedtakModal(true); + } else if (visIverksetterVedtakModal) { + toggleIverksetterVedtakModal(true); + } else if (erRevurderingsaksjonspunkt) { + opneSokeside(); + } else { + oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + } + }; }; -}; const PleiepengerSluttfaseProsess = ({ data, @@ -151,27 +146,24 @@ const PleiepengerSluttfaseProsess = ({ oppdaterBehandlingVersjon, ); - const { - startRequest: lagreAksjonspunkter, - data: apBehandlingRes, - } = restApiPleiepengerSluttfaseHooks.useRestApiRunner( - PleiepengerSluttfaseBehandlingApiKeys.SAVE_AKSJONSPUNKT, - ); - const { - startRequest: lagreOverstyrteAksjonspunkter, - data: apOverstyrtBehandlingRes, - } = restApiPleiepengerSluttfaseHooks.useRestApiRunner( - PleiepengerSluttfaseBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT, - ); + const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = + restApiPleiepengerSluttfaseHooks.useRestApiRunner( + PleiepengerSluttfaseBehandlingApiKeys.SAVE_AKSJONSPUNKT, + ); + const { startRequest: lagreOverstyrteAksjonspunkter, data: apOverstyrtBehandlingRes } = + restApiPleiepengerSluttfaseHooks.useRestApiRunner( + PleiepengerSluttfaseBehandlingApiKeys.SAVE_OVERSTYRT_AKSJONSPUNKT, + ); const { startRequest: forhandsvisMelding } = restApiPleiepengerSluttfaseHooks.useRestApiRunner( PleiepengerSluttfaseBehandlingApiKeys.PREVIEW_MESSAGE, ); const { startRequest: hentFriteksbrevHtml } = restApiPleiepengerSluttfaseHooks.useRestApiRunner( PleiepengerSluttfaseBehandlingApiKeys.HENT_FRITEKSTBREV_HTML, ); - const { startRequest: forhandsvisTilbakekrevingMelding } = restApiPleiepengerSluttfaseHooks.useRestApiRunner< - Behandling - >(PleiepengerSluttfaseBehandlingApiKeys.PREVIEW_TILBAKEKREVING_MESSAGE); + const { startRequest: forhandsvisTilbakekrevingMelding } = + restApiPleiepengerSluttfaseHooks.useRestApiRunner( + PleiepengerSluttfaseBehandlingApiKeys.PREVIEW_TILBAKEKREVING_MESSAGE, + ); const { startRequest: lagreDokumentdata } = restApiPleiepengerSluttfaseHooks.useRestApiRunner( PleiepengerSluttfaseBehandlingApiKeys.DOKUMENTDATA_LAGRE, ); @@ -255,7 +247,7 @@ const PleiepengerSluttfaseProsess = ({ behandlingsresultat={behandling.behandlingsresultat} /> { toggleFatterVedtakModal(false); opneSokeside(); diff --git a/packages/behandling-pleiepenger-sluttfase/src/components/Uttak.tsx b/packages/behandling-pleiepenger-sluttfase/src/components/Uttak.tsx index 053b57d24c..08f32c0ca4 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/components/Uttak.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/components/Uttak.tsx @@ -34,11 +34,11 @@ export default ({ const [featureToggles] = useFeatureToggles(); const relevanteAksjonspunkter = [aksjonspunktCodes.VENT_ANNEN_PSB_SAK, aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK]; const funnedeRelevanteAksjonspunkter = aksjonspunkter.filter(aksjonspunkt => - relevanteAksjonspunkter.some(relevantAksjonspunkt => relevantAksjonspunkt === aksjonspunkt.definisjon.kode), + relevanteAksjonspunkter.some(relevantAksjonspunkt => relevantAksjonspunkt === aksjonspunkt.definisjon), ); const funnedeRelevanteAksjonspunktkoder = funnedeRelevanteAksjonspunkter - .filter(aksjonspunkt => aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET) - .map(aksjonspunkt => aksjonspunkt.definisjon.kode); + .filter(aksjonspunkt => aksjonspunkt.status === aksjonspunktStatus.OPPRETTET) + .map(aksjonspunkt => aksjonspunkt.definisjon); const løsAksjonspunktVurderDatoNyRegelUttak = ({ begrunnelse, virkningsdato }) => submitCallback([{ kode: aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK, begrunnelse, virkningsdato }]); diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx index d520f7c51b..3ff31202ef 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { BeregningFaktaIndex } from '@navikt/ft-fakta-beregning-redesign'; import { PleiepengerSluttfaseBehandlingApiKeys } from '../../data/pleiepengerSluttfaseBehandlingApi'; @@ -24,7 +24,6 @@ class BeregningFaktaPanelDef extends FaktaPanelDef { getKomponent = props => { const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx index fff4aa165b..b48bf04f38 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx @@ -2,7 +2,7 @@ import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { konverterKodeverkTilKode, transformBeregningValues } from '@fpsak-frontend/utils'; +import { transformBeregningValues } from '@fpsak-frontend/utils'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import { FordelBeregningsgrunnlagFaktaIndex } from '@navikt/ft-fakta-fordel-beregningsgrunnlag'; @@ -20,19 +20,26 @@ class FordelBeregningPanelDef extends FaktaPanelDef { ]; getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + alleKodeverk, + submitCallback, + formData, + setFormData, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues([data]))} // Returnerer alltid kun eitt aksjonspunkt om gangen - formData={props.formData} - setFormData={props.setFormData} + beregningsgrunnlagListe={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + kodeverkSamling={alleKodeverk} + submitCallback={data => submitCallback(transformBeregningValues([data]))} // Returnerer alltid kun eitt aksjonspunkt om gangen + formData={formData} + setFormData={setFormData} /> ); }; diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx index d69dcad2fc..4a36ec6988 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx @@ -30,7 +30,7 @@ class InntektsmeldingFaktaPanelDef extends FaktaPanelDef { }); getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => - fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER_SLUTTFASE; + fagsak.sakstype === fagsakYtelseType.PLEIEPENGER_SLUTTFASE; } export default InntektsmeldingFaktaPanelDef; diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx index 73f7af759b..dbe2946995 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx @@ -19,13 +19,13 @@ class MedisinskVilkarFaktaPanelDef2 extends FaktaPanelDef { getKomponent = props => ; - getData = ({ fagsak, behandling }) => ({ - fagsakYtelseType: fagsak.sakstype.kode, - behandlingType: behandling.type.kode, + getData = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => ({ + fagsakYtelseType: fagsak.sakstype, + behandlingType: behandling.type, }); getOverstyrVisningAvKomponent = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => { - const erPleiepengesak = fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER_SLUTTFASE; + const erPleiepengesak = fagsak.sakstype === fagsakYtelseType.PLEIEPENGER_SLUTTFASE; const søknadsfristErIkkeUnderVurdering = behandling.stegTilstand?.stegType?.kode !== 'VURDER_SØKNADSFRIST'; return erPleiepengesak && søknadsfristErIkkeUnderVurdering; }; diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/OmPleietrengendeFaktaPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/OmPleietrengendeFaktaPanelDef.tsx index fbf3878f9f..6cd3d64684 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/OmPleietrengendeFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/OmPleietrengendeFaktaPanelDef.tsx @@ -3,8 +3,8 @@ import React from 'react'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { Behandling, Fagsak } from '@k9-sak-web/types'; -import fagsakYtelseType from "@fpsak-frontend/kodeverk/src/fagsakYtelseType"; -import OmPleietrengende from "../../components/OmPleietrengende"; +import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; +import OmPleietrengende from '../../components/OmPleietrengende'; import { PleiepengerSluttfaseBehandlingApiKeys } from '../../data/pleiepengerSluttfaseBehandlingApi'; class OmPleietrengendeFaktaPanelDef extends FaktaPanelDef { @@ -13,12 +13,12 @@ class OmPleietrengendeFaktaPanelDef extends FaktaPanelDef { getTekstKode = () => 'OmPleietrengendeInfoPanel.Title'; getEndepunkter = () => [PleiepengerSluttfaseBehandlingApiKeys.OM_PLEIETRENGENDE]; - + getKomponent = props => ; getOverstyrVisningAvKomponent = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => { const søknadsfristErIkkeUnderVurdering = behandling.stegTilstand?.stegType?.kode !== 'VURDER_SØKNADSFRIST'; - return fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER_SLUTTFASE && søknadsfristErIkkeUnderVurdering; + return fagsak.sakstype === fagsakYtelseType.PLEIEPENGER_SLUTTFASE && søknadsfristErIkkeUnderVurdering; }; } diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx index 16570b6f30..fa0a4dfa10 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx @@ -6,15 +6,16 @@ import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import OpptjeningFaktaIndex from '@fpsak-frontend/fakta-opptjening-oms'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; +import { Vilkar } from '@k9-sak-web/types'; import { PleiepengerSluttfaseBehandlingApiKeys } from '../../data/pleiepengerSluttfaseBehandlingApi'; -const erAllePerioderOppfylt = vilkarsperioder => - vilkarsperioder.every(periode => periode.vilkarStatus.kode === vilkarUtfallType.OPPFYLT); +const erAllePerioderOppfylt = (vilkarsperioder: Vilkar['perioder']) => + vilkarsperioder.every(periode => periode.vilkarStatus === vilkarUtfallType.OPPFYLT); -const shouldShowOpptjening = vilkar => - vilkar.some(v => v.vilkarType.kode === vilkarType.OPPTJENINGSVILKARET) && - vilkar.some(v => v.vilkarType.kode === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); +const shouldShowOpptjening = (vilkar: Vilkar[]) => + vilkar.some(v => v.vilkarType === vilkarType.OPPTJENINGSVILKARET) && + vilkar.some(v => v.vilkarType === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { getUrlKode = () => faktaPanelCodes.OPPTJENINGSVILKARET; @@ -27,7 +28,7 @@ class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ vilkar }) => shouldShowOpptjening(vilkar); + getOverstyrVisningAvKomponent = ({ vilkar }: { vilkar: Vilkar[] }) => shouldShowOpptjening(vilkar); } export default OpptjeningsvilkaretFaktaPanelDef; diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx index d6cd5886e5..212c9f960a 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx @@ -18,7 +18,7 @@ class SoknadsperioderFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => - fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER_SLUTTFASE; + fagsak.sakstype === fagsakYtelseType.PLEIEPENGER_SLUTTFASE; } export default SoknadsperioderFaktaPanelDef; diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/UtenlandsoppholdFaktaPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/UtenlandsoppholdFaktaPanelDef.tsx index 21e17ba9a0..dfaf176a45 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/UtenlandsoppholdFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/faktaPaneler/UtenlandsoppholdFaktaPanelDef.tsx @@ -17,7 +17,6 @@ class UtenlandsoppholdFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ( ); diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx index 9c514352da..c5955a11fc 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx @@ -2,7 +2,7 @@ import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import { BeregningsgrunnlagProsessIndex } from '@navikt/ft-prosess-beregningsgrunnlag'; @@ -11,19 +11,27 @@ import '@navikt/ft-prosess-beregningsgrunnlag/dist/style.css'; class PanelDef extends ProsessStegPanelDef { // eslint-disable-next-line class-methods-use-this getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningreferanserTilVurdering, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + submitCallback, + formData, + setFormData, + alleKodeverk, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(data))} - formData={props.formData} - setFormData={props.setFormData} - kodeverkSamling={deepCopyProps.alleKodeverk} + beregningsgrunnlagsvilkar={mapVilkar(bgVilkaret, beregningreferanserTilVurdering)} + beregningsgrunnlagListe={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + submitCallback={data => submitCallback(transformBeregningValues(data))} + formData={formData} + setFormData={setFormData} + kodeverkSamling={alleKodeverk} /> ); }; diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx index 25649c6f98..fdaf742f0e 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx @@ -17,9 +17,7 @@ class PanelDef extends ProsessStegPanelDef { getKomponent = (props: Props) => { const { vilkar } = props; - const vilkarPleiepengerLivetsSluttfase = vilkar.find( - v => v.vilkarType.kode === vilkarType.PLEIEPENGER_LIVETS_SLUTTFASE, - ); + const vilkarPleiepengerLivetsSluttfase = vilkar.find(v => v.vilkarType === vilkarType.PLEIEPENGER_LIVETS_SLUTTFASE); const perioder = vilkarPleiepengerLivetsSluttfase?.perioder.map(periode => ({ ...periode, pleietrengendeErOver18år: true, diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/UttakProsessStegPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/UttakProsessStegPanelDef.tsx index 7c110ae0ea..cecbf5e4b0 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/UttakProsessStegPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/UttakProsessStegPanelDef.tsx @@ -1,12 +1,16 @@ +import React from 'react'; + import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; -import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import AntallDagerLivetsSluttfaseIndex from '@k9-sak-web/prosess-uttak-antall-dager-sluttfase'; -import Uttak from '../../components/Uttak'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types/AlleKodeverk.js'; +import { Fagsak } from '@k9-sak-web/types'; + import { PleiepengerSluttfaseBehandlingApiKeys } from '../../data/pleiepengerSluttfaseBehandlingApi'; +import Uttak from '../../components/Uttak'; class PanelDef extends ProsessStegPanelDef { getKomponent = ({ @@ -62,13 +66,23 @@ class PanelDef extends ProsessStegPanelDef { getEndepunkter = () => [PleiepengerSluttfaseBehandlingApiKeys.ARBEIDSFORHOLD]; - getData = ({ uttak, arbeidsgiverOpplysningerPerId, fagsak, alleKodeverk }) => ({ + getData = ({ + uttak, + arbeidsgiverOpplysningerPerId, + fagsak, + alleKodeverk, + }: { + uttak: any; + arbeidsgiverOpplysningerPerId: any; + fagsak: Fagsak; + alleKodeverk: AlleKodeverk; + }) => ({ uttaksperioder: uttak?.uttaksplan != null ? uttak?.uttaksplan?.perioder : uttak?.simulertUttaksplan?.perioder, utsattePerioder: uttak?.utsattePerioder, kvoteInfo: uttak?.uttaksplan?.kvoteInfo, virkningsdatoUttakNyeRegler: uttak?.virkningsdatoUttakNyeRegler, arbeidsgiverOpplysningerPerId, - erFagytelsetypeLivetsSluttfase: fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER_SLUTTFASE, + erFagytelsetypeLivetsSluttfase: fagsak.sakstype === fagsakYtelseType.PLEIEPENGER_SLUTTFASE, alleKodeverk, }); } diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx index aa700525c4..3a57fa3ae2 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx @@ -4,6 +4,7 @@ import VedtakProsessIndex from '@fpsak-frontend/prosess-vedtak'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { Aksjonspunkt, Fagsak, Vilkar } from '@k9-sak-web/types'; import findStatusForVedtak from '../vedtakStatusUtlederPleiepengerSluttfase'; import { PleiepengerSluttfaseBehandlingApiKeys } from '../../data/pleiepengerSluttfaseBehandlingApi'; @@ -51,6 +52,21 @@ class PanelDef extends ProsessStegPanelDef { arbeidsgiverOpplysningerPerId, lagreDokumentdata, fagsak, + }: { + previewCallback: () => void; + hentFritekstbrevHtmlCallback: () => void; + rettigheter: { + kanOverstyreAccess: { + isEnabled: boolean; + }; + }; + aksjonspunkter: Aksjonspunkt[]; + vilkar: Vilkar[]; + simuleringResultat: any; + beregningsgrunnlag: any; + arbeidsgiverOpplysningerPerId: any; + lagreDokumentdata: () => void; + fagsak: Fagsak; }) => ({ previewCallback, hentFritekstbrevHtmlCallback, @@ -58,7 +74,7 @@ class PanelDef extends ProsessStegPanelDef { vilkar, simuleringResultat, beregningsgrunnlag, - ytelseTypeKode: fagsak.sakstype.kode, + ytelseTypeKode: fagsak.sakstype, employeeHasAccess: rettigheter.kanOverstyreAccess.isEnabled, arbeidsgiverOpplysningerPerId, lagreDokumentdata, diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx index 9ca18c8dc6..afef0f901c 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx @@ -5,6 +5,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import SokersOpplysningspliktVilkarProsessIndex from '@fpsak-frontend/prosess-vilkar-sokers-opplysningsplikt'; import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { Aksjonspunkt, Behandling } from '@k9-sak-web/types'; class SokersOpplysningspliktPanelDef extends ProsessStegPanelDef { getId = () => 'SOKERS_OPPLYSNINGSPLIKT'; @@ -25,11 +26,15 @@ class SokersOpplysningspliktPanelDef extends ProsessStegPanelDef { getVilkarKoder = () => [vilkarType.SOKERSOPPLYSNINGSPLIKT]; - getOverstyrVisningAvKomponent = ({ behandling, aksjonspunkterForSteg }) => { - const isRevurdering = behandlingType.REVURDERING === behandling.type.kode; - const hasAp = aksjonspunkterForSteg.some( - ap => ap.definisjon.kode === aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU, - ); + getOverstyrVisningAvKomponent = ({ + behandling, + aksjonspunkterForSteg, + }: { + behandling: Behandling; + aksjonspunkterForSteg: Aksjonspunkt[]; + }) => { + const isRevurdering = behandlingType.REVURDERING === behandling.type; + const hasAp = aksjonspunkterForSteg.some(ap => ap.definisjon === aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU); return !(isRevurdering && !hasAp); }; diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx index 2ac5f37b3d..d657bd9117 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx @@ -1,10 +1,12 @@ import React from 'react'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import SoknadsfristVilkarProsessIndex from '@k9-sak-web/prosess-vilkar-soknadsfrist'; import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { Vilkar } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types/AlleKodeverk.js'; + import { PleiepengerSluttfaseBehandlingApiKeys } from '../../../data/pleiepengerSluttfaseBehandlingApi'; class SoknadsfristPanelDef extends ProsessStegPanelDef { @@ -27,14 +29,23 @@ class SoknadsfristPanelDef extends ProsessStegPanelDef { getData = ({ vilkarForSteg, - alleKodeverk, overstyrteAksjonspunktKoder, prosessStegTekstKode, overrideReadOnly, kanOverstyreAccess, toggleOverstyring, + }: { + vilkarForSteg: Vilkar[]; + alleKodeverk: AlleKodeverk; + overstyrteAksjonspunktKoder: string[]; + prosessStegTekstKode: string; + overrideReadOnly: boolean; + kanOverstyreAccess: { + isEnabled: boolean; + employeeHasAccess: boolean; + }; + toggleOverstyring: () => void; }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, diff --git a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/vedtakStatusUtlederPleiepengerSluttfase.ts b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/vedtakStatusUtlederPleiepengerSluttfase.ts index 7fa2f9efc9..121431a3a5 100644 --- a/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/vedtakStatusUtlederPleiepengerSluttfase.ts +++ b/packages/behandling-pleiepenger-sluttfase/src/panelDefinisjoner/vedtakStatusUtlederPleiepengerSluttfase.ts @@ -2,32 +2,38 @@ import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktSta import { isAvslag } from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; +import { Aksjonspunkt, Behandling, Vilkar } from '@k9-sak-web/types'; // TODO (TOR) Kan denne skrivast om? For høg kompleksitet. -const hasOnlyClosedAps = (aksjonspunkter, vedtakAksjonspunkter) => +const hasOnlyClosedAps = (aksjonspunkter: Aksjonspunkt[], vedtakAksjonspunkter: Aksjonspunkt[]) => aksjonspunkter - .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon.kode === ap.definisjon.kode)) - .every(ap => !isAksjonspunktOpen(ap.status.kode)); + .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon === ap.definisjon)) + .every(ap => !isAksjonspunktOpen(ap.status)); -const hasAksjonspunkt = ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_BEREGNING; +const hasAksjonspunkt = (ap: Aksjonspunkt) => ap.definisjon === aksjonspunktCodes.OVERSTYR_BEREGNING; -const isAksjonspunktOpenAndOfType = ap => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status.kode); +const isAksjonspunktOpenAndOfType = (ap: Aksjonspunkt) => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status); -const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behandlingsresultat) => { +const findStatusForVedtak = ( + vilkar: Vilkar[], + aksjonspunkter: Aksjonspunkt[], + vedtakAksjonspunkter: Aksjonspunkt[], + behandlingsresultat: Behandling['behandlingsresultat'], +) => { if (vilkar.length === 0) { return vilkarUtfallType.IKKE_VURDERT; } if ( hasOnlyClosedAps(aksjonspunkter, vedtakAksjonspunkter) && - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_OPPFYLT)) + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_OPPFYLT)) ) { return vilkarUtfallType.IKKE_OPPFYLT; } if ( - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT)) || + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_VURDERT)) || aksjonspunkter.some(isAksjonspunktOpenAndOfType) ) { return vilkarUtfallType.IKKE_VURDERT; @@ -37,7 +43,7 @@ const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behan return vilkarUtfallType.IKKE_VURDERT; } - if (isAvslag(behandlingsresultat.type.kode)) { + if (isAvslag(behandlingsresultat.type)) { return vilkarUtfallType.IKKE_OPPFYLT; } return vilkarUtfallType.OPPFYLT; diff --git a/packages/behandling-pleiepenger/src/BehandlingPleiepengerIndex.tsx b/packages/behandling-pleiepenger/src/BehandlingPleiepengerIndex.tsx index 19be99d42e..a080aabf7d 100644 --- a/packages/behandling-pleiepenger/src/BehandlingPleiepengerIndex.tsx +++ b/packages/behandling-pleiepenger/src/BehandlingPleiepengerIndex.tsx @@ -10,7 +10,6 @@ import { Fagsak, FagsakPerson, FeatureToggles, - KodeverkMedNavn, } from '@k9-sak-web/types'; import useBehandlingEndret from '@k9-sak-web/sak-app/src/behandling/useBehandlingEndret'; @@ -51,7 +50,6 @@ interface OwnProps { }; opneSokeside: () => void; featureToggles: FeatureToggles; - kodeverk?: { [key: string]: KodeverkMedNavn[] }; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; setRequestPendingMessage: (message: string) => void; } @@ -60,7 +58,6 @@ const BehandlingPleiepengerIndex = ({ behandlingEventHandler, behandlingId, oppdaterBehandlingVersjon, - kodeverk, fagsak, fagsakPerson, rettigheter, @@ -73,7 +70,6 @@ const BehandlingPleiepengerIndex = ({ featureToggles, }: OwnProps) => { const forrigeSaksnummer = usePrevious(fagsak.saksnummer); - const [nyOgForrigeBehandling, setBehandlinger] = useState<{ current?: Behandling; previous?: Behandling }>({ current: undefined, previous: undefined, @@ -192,7 +188,6 @@ const BehandlingPleiepengerIndex = ({ fetchedData={data} fagsak={fagsak} fagsakPerson={fagsakPerson} - alleKodeverk={kodeverk} rettigheter={rettigheter} valgtProsessSteg={valgtProsessSteg} valgtFaktaSteg={valgtFaktaSteg} diff --git a/packages/behandling-pleiepenger/src/components/EtablertTilsyn.tsx b/packages/behandling-pleiepenger/src/components/EtablertTilsyn.tsx index aba7c9f4bd..2b57e30626 100644 --- a/packages/behandling-pleiepenger/src/components/EtablertTilsyn.tsx +++ b/packages/behandling-pleiepenger/src/components/EtablertTilsyn.tsx @@ -1,3 +1,5 @@ +import React from 'react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { @@ -6,27 +8,37 @@ import { httpErrorHandler as httpErrorHandlerFn, } from '@fpsak-frontend/utils'; import { useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; -import React from 'react'; import { EtablertTilsyn } from '@k9-sak-web/fakta-etablert-tilsyn'; +import { Aksjonspunkt, BehandlingAppKontekst } from '@k9-sak-web/types'; -export default ({ aksjonspunkter, behandling, readOnly, submitCallback }) => { +export default ({ + aksjonspunkter, + behandling, + readOnly, + submitCallback, +}: { + aksjonspunkter: Aksjonspunkt[]; + behandling: BehandlingAppKontekst; + readOnly: boolean; + submitCallback: (params: any) => void; +}) => { const { addErrorMessage } = useRestApiErrorDispatcher(); const httpErrorHandlerCaller = (status: number, locationHeader?: string) => httpErrorHandlerFn(status, addErrorMessage, locationHeader); const beredskapAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.BEREDSKAP); - const beredskapAksjonspunktkode = beredskapAksjonspunkt?.definisjon.kode; + const beredskapAksjonspunktkode = beredskapAksjonspunkt?.definisjon; const løsBeredskapAksjonspunkt = beredskapsperioder => submitCallback([{ kode: beredskapAksjonspunktkode, begrunnelse: 'Beredskap er behandlet', ...beredskapsperioder }]); const nattevåkAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.NATTEVÅK); - const nattevåkAksjonspunktkode = nattevåkAksjonspunkt?.definisjon.kode; + const nattevåkAksjonspunktkode = nattevåkAksjonspunkt?.definisjon; const løsNattevåkAksjonspunkt = nattevåkperioder => submitCallback([{ kode: nattevåkAksjonspunktkode, begrunnelse: 'Nattevåk er behandlet', ...nattevåkperioder }]); - const harUløstAksjonspunktForBeredskap = beredskapAksjonspunkt?.status.kode === aksjonspunktStatus.OPPRETTET; - const harUløstAksjonspunktForNattevåk = nattevåkAksjonspunkt?.status.kode === aksjonspunktStatus.OPPRETTET; + const harUløstAksjonspunktForBeredskap = beredskapAksjonspunkt?.status === aksjonspunktStatus.OPPRETTET; + const harUløstAksjonspunktForNattevåk = nattevåkAksjonspunkt?.status === aksjonspunktStatus.OPPRETTET; const harAksjonspunkt = !!beredskapAksjonspunktkode || !!nattevåkAksjonspunktkode; return ( diff --git "a/packages/behandling-pleiepenger/src/components/MedisinskVilk\303\245r.tsx" "b/packages/behandling-pleiepenger/src/components/MedisinskVilk\303\245r.tsx" index 2e7e324a9e..52505293c9 100644 --- "a/packages/behandling-pleiepenger/src/components/MedisinskVilk\303\245r.tsx" +++ "b/packages/behandling-pleiepenger/src/components/MedisinskVilk\303\245r.tsx" @@ -1,9 +1,11 @@ +import React from 'react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { findAksjonspunkt, findEndpointsForMicrofrontend, httpErrorHandler } from '@fpsak-frontend/utils'; import { useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import { MedisinskVilkår } from '@k9-sak-web/fakta-medisinsk-vilkar'; -import React from 'react'; +import { Aksjonspunkt, Behandling } from '@k9-sak-web/types'; export default ({ behandling: { links, uuid }, @@ -12,14 +14,22 @@ export default ({ readOnly, fagsakYtelseType, behandlingType, +}: { + behandling: Behandling; + submitCallback: (params: any) => void; + aksjonspunkter: Aksjonspunkt[]; + readOnly: boolean; + saksbehandlere: any; + fagsakYtelseType: any; + behandlingType: any; }) => { const { addErrorMessage } = useRestApiErrorDispatcher(); const httpErrorHandlerCaller = (status: number, locationHeader?: string) => httpErrorHandler(status, addErrorMessage, locationHeader); const medisinskVilkårAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.MEDISINSK_VILKAAR); - const medisinskVilkårAksjonspunktkode = medisinskVilkårAksjonspunkt?.definisjon.kode; - const medisinskVilkårAksjonspunktstatus = medisinskVilkårAksjonspunkt?.status.kode; + const medisinskVilkårAksjonspunktkode = medisinskVilkårAksjonspunkt?.definisjon; + const medisinskVilkårAksjonspunktstatus = medisinskVilkårAksjonspunkt?.status; const visFortsettknapp = medisinskVilkårAksjonspunktstatus === aksjonspunktStatus.OPPRETTET; const løsAksjonspunkt = aksjonspunktArgs => diff --git a/packages/behandling-pleiepenger/src/components/OmBarnet.tsx b/packages/behandling-pleiepenger/src/components/OmBarnet.tsx index b278efe339..558d75dde0 100644 --- a/packages/behandling-pleiepenger/src/components/OmBarnet.tsx +++ b/packages/behandling-pleiepenger/src/components/OmBarnet.tsx @@ -24,7 +24,7 @@ export default ({ behandling: { links }, readOnly, aksjonspunkter, submitCallbac aksjonspunkter, aksjonspunktCodes.VURDER_RETT_ETTER_PLEIETRENGENDES_DØD, ); - const omBarnetAksjonspunktkode = omBarnetAksjonspunkt?.definisjon.kode; + const omBarnetAksjonspunktkode = omBarnetAksjonspunkt?.definisjon; const harAksjonspunkt = !!omBarnetAksjonspunktkode; const løsAksjonspunkt = data => diff --git a/packages/behandling-pleiepenger/src/components/OmsorgenFor.tsx b/packages/behandling-pleiepenger/src/components/OmsorgenFor.tsx index 8505cf0816..460cf24c6f 100644 --- a/packages/behandling-pleiepenger/src/components/OmsorgenFor.tsx +++ b/packages/behandling-pleiepenger/src/components/OmsorgenFor.tsx @@ -22,7 +22,7 @@ export default ({ behandling: { links }, readOnly, aksjonspunkter, submitCallbac httpErrorHandler(status, addErrorMessage, locationHeader); const omsorgenForAksjonspunkt = findAksjonspunkt(aksjonspunkter, aksjonspunktCodes.AVKLAR_OMSORGEN_FOR); - const omsorgenForAksjonspunktkode = omsorgenForAksjonspunkt?.definisjon.kode; + const omsorgenForAksjonspunktkode = omsorgenForAksjonspunkt?.definisjon; const harAksjonspunkt = !!omsorgenForAksjonspunktkode; const løsAksjonspunkt = omsorgsperioder => diff --git a/packages/behandling-pleiepenger/src/components/PleiepengerFakta.spec.tsx b/packages/behandling-pleiepenger/src/components/PleiepengerFakta.spec.tsx index 594ca5953d..c3e4546330 100644 --- a/packages/behandling-pleiepenger/src/components/PleiepengerFakta.spec.tsx +++ b/packages/behandling-pleiepenger/src/components/PleiepengerFakta.spec.tsx @@ -2,7 +2,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import sivilstandType from '@fpsak-frontend/kodeverk/src/sivilstandType'; @@ -18,14 +18,34 @@ import FetchedData from '../types/FetchedData'; import ForeldrepengerFakta from './PleiepengerFakta'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.PSB, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.PSB, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; + const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -34,8 +54,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -60,8 +80,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -76,50 +96,22 @@ describe('', () => { const soker = { navn: 'Espen Utvikler', aktoerId: '1', - personstatus: { - kode: 'BOSA', - kodeverk: 'Bosatt', - }, + personstatus: 'BOSA', avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'Bosatt', - }, - orginalPersonstatus: { - kode: personstatusType.DOD, - kodeverk: 'Bosatt', - }, - }, - navBrukerKjonn: { - kode: '', - kodeverk: '', - }, - statsborgerskap: { - kode: '', - kodeverk: '', - navn: '', - }, - diskresjonskode: { - kode: '', - kodeverk: '', - }, - sivilstand: { - kode: sivilstandType.UGIFT, - kodeverk: 'Ugift', - }, - region: { - kode: 'NORDEN', - kodeverk: 'Norden', + overstyrtPersonstatus: personstatusType.BOSATT, + orginalPersonstatus: personstatusType.DOD, }, + navBrukerKjonn: '', + statsborgerskap: '', + diskresjonskode: '', + sivilstand: sivilstandType.UGIFT, + region: 'NORDEN', adresser: [ { adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', - adresseType: { - kode: opplysningAdresseType.POSTADRESSE, - kodeverk: 'Bostedsadresse', - }, + adresseType: opplysningAdresseType.POSTADRESSE, }, ], barn: [], @@ -147,10 +139,9 @@ describe('', () => { ', () => { void; @@ -46,7 +44,6 @@ const PleiepengerFakta = ({ fagsak, fagsakPerson, rettigheter, - alleKodeverk, oppdaterProsessStegOgFaktaPanelIUrl, valgtFaktaSteg, valgtProsessSteg, @@ -58,6 +55,7 @@ const PleiepengerFakta = ({ featureToggles, beregningErBehandlet, }: OwnProps) => { + const { kodeverk } = useKodeverkContext(); const { aksjonspunkter, ...rest } = data; const { addErrorMessage } = useRestApiErrorDispatcher(); @@ -148,7 +146,7 @@ const PleiepengerFakta = ({ ...faktaData, ...faktaDataUtenCaching, behandling, - alleKodeverk, + alleKodeverk: kodeverk, featureToggles, submitCallback: bekreftAksjonspunktCallback, ...valgtPanel.getKomponentData(rettigheter, dataTilUtledingAvPleiepengerPaneler, hasFetchError), diff --git a/packages/behandling-pleiepenger/src/components/PleiepengerPaneler.tsx b/packages/behandling-pleiepenger/src/components/PleiepengerPaneler.tsx index 6aad908326..67f486f368 100644 --- a/packages/behandling-pleiepenger/src/components/PleiepengerPaneler.tsx +++ b/packages/behandling-pleiepenger/src/components/PleiepengerPaneler.tsx @@ -14,10 +14,10 @@ import { Fagsak, FagsakPerson, FeatureToggles, - KodeverkMedNavn, } from '@k9-sak-web/types'; import moment from 'moment'; import React, { useState } from 'react'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { Arbeidstype } from '../types'; import FetchedData from '../types/FetchedData'; import ArbeidsgiverMedManglendePerioderListe from './ArbeidsgiverMedManglendePerioderListe'; @@ -31,7 +31,6 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; @@ -68,7 +67,6 @@ const PleiepengerPaneler = ({ fagsak, fagsakPerson, behandling, - alleKodeverk, rettigheter, valgtProsessSteg, oppdaterProsessStegOgFaktaPanelIUrl, @@ -83,6 +81,7 @@ const PleiepengerPaneler = ({ dokumenter, lagreOverstyringUttak, }: OwnProps) => { + const { kodeverk } = useKodeverkContext(); const [apentFaktaPanelInfo, setApentFaktaPanel] = useState(); const [beregningErBehandlet, setBeregningErBehandlet] = useState(false); const harOpprettetAksjonspunkt9203 = harOpprettetAksjonspunkt(fetchedData?.aksjonspunkter || [], 9203); @@ -94,7 +93,7 @@ const PleiepengerPaneler = ({ {harOpprettetAksjonspunkt9203 && ( @@ -142,7 +141,6 @@ const PleiepengerPaneler = ({ fagsak={fagsak} fagsakPerson={fagsakPerson} behandling={behandling} - alleKodeverk={alleKodeverk} rettigheter={rettigheter} valgtProsessSteg={valgtProsessSteg} valgtFaktaSteg={valgtFaktaSteg} @@ -162,7 +160,6 @@ const PleiepengerPaneler = ({ data={fetchedData} fagsak={fagsak} fagsakPerson={fagsakPerson} - alleKodeverk={alleKodeverk} rettigheter={rettigheter} hasFetchError={hasFetchError} valgtFaktaSteg={valgtFaktaSteg} diff --git a/packages/behandling-pleiepenger/src/components/PleiepengerProsess.spec.tsx b/packages/behandling-pleiepenger/src/components/PleiepengerProsess.spec.tsx index dafeaffc43..f4155ce1d2 100644 --- a/packages/behandling-pleiepenger/src/components/PleiepengerProsess.spec.tsx +++ b/packages/behandling-pleiepenger/src/components/PleiepengerProsess.spec.tsx @@ -2,8 +2,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import soknadType from '@fpsak-frontend/kodeverk/src/soknadType'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; @@ -20,15 +19,34 @@ import FetchedData from '../types/FetchedData'; import PleiepengerProsess from './PleiepengerProsess'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -37,8 +55,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -58,86 +76,86 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, ]; const vilkar = [ { - vilkarType: { kode: vilkarType.SOKERSOPPLYSNINGSPLIKT, kodeverk: 'test' }, + vilkarType: vilkarType.SOKERSOPPLYSNINGSPLIKT, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.BEREGNINGSGRUNNLAGVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.BEREGNINGSGRUNNLAGVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.MEDLEMSKAPSVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.MEDISINSKEVILKÅR_UNDER_18_ÅR, kodeverk: 'test' }, + vilkarType: vilkarType.MEDISINSKEVILKÅR_UNDER_18_ÅR, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.OPPTJENINGSVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.OPPTJENINGSVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.OMSORGENFORVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.OMSORGENFORVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.SOKNADSFRISTVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.SOKNADSFRISTVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], @@ -149,10 +167,7 @@ describe('', () => { 0: '2019-01-01', } as Record, antallBarn: 1, - soknadType: { - kode: soknadType.FODSEL, - kodeverk: 'test', - }, + soknadType: soknadType.FODSEL, } as Soknad; const arbeidsgiverOpplysningerPerId = { @@ -179,9 +194,6 @@ describe('', () => { fagsak={fagsak} fagsakPerson={fagsakPerson} behandling={behandling as Behandling} - alleKodeverk={{ - [kodeverkTyper.AVSLAGSARSAK]: [], - }} rettigheter={rettigheter} valgtProsessSteg="inngangsvilkar" valgtFaktaSteg="arbeidsforhold" @@ -216,9 +228,6 @@ describe('', () => { fagsak={fagsak} fagsakPerson={fagsakPerson} behandling={behandling as Behandling} - alleKodeverk={{ - [kodeverkTyper.AVSLAGSARSAK]: [], - }} rettigheter={rettigheter} valgtProsessSteg="default" valgtFaktaSteg="default" diff --git a/packages/behandling-pleiepenger/src/components/PleiepengerProsess.tsx b/packages/behandling-pleiepenger/src/components/PleiepengerProsess.tsx index a489d93949..62d65d68ce 100644 --- a/packages/behandling-pleiepenger/src/components/PleiepengerProsess.tsx +++ b/packages/behandling-pleiepenger/src/components/PleiepengerProsess.tsx @@ -13,15 +13,8 @@ import { prosessStegHooks, useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; - +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { PleiepengerBehandlingApiKeys, restApiPleiepengerHooks } from '../data/pleiepengerBehandlingApi'; import prosessStegPanelDefinisjoner from '../panelDefinisjoner/prosessStegPleiepengerPanelDefinisjoner'; import FetchedData from '../types/FetchedData'; @@ -31,7 +24,6 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; @@ -123,7 +115,7 @@ const getHentFritekstbrevHtmlCallback = ytelseType: fagsak.sakstype, saksnummer: fagsak.saksnummer, aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), + avsenderApplikasjon: bestemAvsenderApp(behandling.type), }); const PleiepengerProsess = ({ @@ -131,7 +123,6 @@ const PleiepengerProsess = ({ fagsak, fagsakPerson, behandling, - alleKodeverk, rettigheter, valgtProsessSteg, valgtFaktaSteg, @@ -146,6 +137,7 @@ const PleiepengerProsess = ({ setBeregningErBehandlet, lagreOverstyringUttak, }: OwnProps) => { + const { kodeverk } = useKodeverkContext(); prosessStegHooks.useOppdateringAvBehandlingsversjon(behandling.versjon, oppdaterBehandlingVersjon); const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = @@ -183,7 +175,7 @@ const PleiepengerProsess = ({ getHentFritekstbrevHtmlCallback(hentFriteksbrevHtml, behandling, fagsak, fagsakPerson), [behandling.versjon], ), - alleKodeverk, + alleKodeverk: kodeverk, featureToggles, arbeidsgiverOpplysningerPerId, lagreDokumentdata, @@ -239,7 +231,7 @@ const PleiepengerProsess = ({ behandlingsresultat={behandling.behandlingsresultat} /> { toggleFatterVedtakModal(false); opneSokeside(); @@ -254,7 +246,7 @@ const PleiepengerProsess = ({ valgtProsessSteg={valgtPanel} fagsak={fagsak} behandling={behandling} - alleKodeverk={alleKodeverk} + alleKodeverk={kodeverk} apentFaktaPanelInfo={apentFaktaPanelInfo} oppdaterProsessStegOgFaktaPanelIUrl={oppdaterProsessStegOgFaktaPanelIUrl} lagringSideeffekterCallback={lagringSideeffekterCallback} diff --git a/packages/behandling-pleiepenger/src/components/Uttak.tsx b/packages/behandling-pleiepenger/src/components/Uttak.tsx index 343d974d2b..193872d0e1 100644 --- a/packages/behandling-pleiepenger/src/components/Uttak.tsx +++ b/packages/behandling-pleiepenger/src/components/Uttak.tsx @@ -8,6 +8,7 @@ import { Uttak } from '@k9-sak-web/prosess-uttak'; import { useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import { findEndpointsForMicrofrontend, httpErrorHandler } from '@fpsak-frontend/utils'; import { VilkarResultPicker } from '@k9-sak-web/prosess-felles'; + import { OverstyringUttakRequest } from '../types'; interface UttakProps { @@ -48,11 +49,11 @@ export default ({ httpErrorHandler(status, addErrorMessage, locationHeader); const funnedeRelevanteAksjonspunkter = aksjonspunkter.filter(aksjonspunkt => - relevanteAksjonspunkter.some(relevantAksjonspunkt => relevantAksjonspunkt === aksjonspunkt.definisjon.kode), + relevanteAksjonspunkter.some(relevantAksjonspunkt => relevantAksjonspunkt === aksjonspunkt.definisjon), ); const funnedeRelevanteAksjonspunktkoder = funnedeRelevanteAksjonspunkter - .filter(aksjonspunkt => aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET) - .map(aksjonspunkt => aksjonspunkt.definisjon.kode); + .filter(aksjonspunkt => aksjonspunkt.status === aksjonspunktStatus.OPPRETTET) + .map(aksjonspunkt => aksjonspunkt.definisjon); const løsAksjonspunktVurderDatoNyRegelUttak = ({ begrunnelse, virkningsdato }) => submitCallback([{ kode: aksjonspunktCodes.VURDER_DATO_NY_REGEL_UTTAK, begrunnelse, virkningsdato }]); @@ -88,7 +89,7 @@ export default ({ versjon, featureToggles, erOverstyrer, - status: behandlingStatus.kode, + status: behandlingStatus, }} /> ); diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx index 59946af599..ee4e481471 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/BeregningFaktaPanelDef.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import { BeregningFaktaIndex } from '@navikt/ft-fakta-beregning-redesign'; import { PleiepengerBehandlingApiKeys } from '../../data/pleiepengerBehandlingApi'; @@ -27,21 +27,30 @@ class BeregningFaktaPanelDef extends FaktaPanelDef { // eslint-disable-next-line class-methods-use-this getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + alleKodeverk, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + submitCallback, + formData, + setFormData, + beregningreferanserTilVurdering, + featureToggles, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(aksjonspunktData))} - formData={props.formData} - setFormData={props.setFormData} - vilkar={mapVilkar(bgVilkaret, props.beregningreferanserTilVurdering)} - skalKunneOverstyreAktiviteter={props.featureToggles && props.featureToggles.OVERSTYR_BEREGNING} + {...props} + kodeverkSamling={alleKodeverk} + beregningsgrunnlag={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + submitCallback={aksjonspunktData => submitCallback(transformBeregningValues(aksjonspunktData))} + formData={formData} + setFormData={setFormData} + vilkar={mapVilkar(bgVilkaret, beregningreferanserTilVurdering)} + skalKunneOverstyreAktiviteter={featureToggles && featureToggles.OVERSTYR_BEREGNING} skalKunneAvbryteOverstyring /> ); diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/EtablertTilsynFaktaPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/EtablertTilsynFaktaPanelDef.tsx index 9d64a095a9..5aa5f4cda4 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/EtablertTilsynFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/EtablertTilsynFaktaPanelDef.tsx @@ -15,8 +15,7 @@ class EtablertTilsynFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => - fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; } export default EtablertTilsynFaktaPanelDef; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx index 774c583531..2168047293 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/FordelBeregningPanelDef.tsx @@ -2,7 +2,7 @@ import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { konverterKodeverkTilKode, transformBeregningValues } from '@fpsak-frontend/utils'; +import { transformBeregningValues } from '@fpsak-frontend/utils'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import { FordelBeregningsgrunnlagFaktaIndex } from '@navikt/ft-fakta-fordel-beregningsgrunnlag'; @@ -20,19 +20,26 @@ class FordelBeregningPanelDef extends FaktaPanelDef { ]; getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + alleKodeverk, + submitCallback, + formData, + setFormData, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues([data]))} // Returnerer alltid kun eitt aksjonspunkt om gangen - formData={props.formData} - setFormData={props.setFormData} + beregningsgrunnlagListe={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + kodeverkSamling={alleKodeverk} + submitCallback={data => submitCallback(transformBeregningValues([data]))} // Returnerer alltid kun eitt aksjonspunkt om gangen + formData={formData} + setFormData={setFormData} /> ); }; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx index 90e5d06a11..4a1ff6cd45 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/InntektsmeldingFaktaPanelDef.tsx @@ -28,8 +28,7 @@ class InntektsmeldingFaktaPanelDef extends FaktaPanelDef { dokumenter, }); - getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => - fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; } export default InntektsmeldingFaktaPanelDef; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx index 559efc0048..7c99a69a9d 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/MedisinskVilkarFaktaPanelDef2.tsx @@ -19,13 +19,13 @@ class MedisinskVilkarFaktaPanelDef2 extends FaktaPanelDef { getKomponent = props => ; - getData = ({ fagsak, behandling }) => ({ - fagsakYtelseType: fagsak.sakstype.kode, - behandlingType: behandling.type.kode, + getData = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => ({ + fagsakYtelseType: fagsak.sakstype, + behandlingType: behandling.type, }); getOverstyrVisningAvKomponent = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => { - const erPleiepengesak = fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + const erPleiepengesak = fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; const søknadsfristErIkkeUnderVurdering = behandling.stegTilstand?.stegType?.kode !== 'VURDER_SØKNADSFRIST'; return erPleiepengesak && søknadsfristErIkkeUnderVurdering; }; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OmBarnetFaktaPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OmBarnetFaktaPanelDef.tsx index 327d73514a..aeb65ac16c 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OmBarnetFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OmBarnetFaktaPanelDef.tsx @@ -19,7 +19,7 @@ class OmBarnetFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; getOverstyrVisningAvKomponent = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => { - const erPleiepengesak = fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + const erPleiepengesak = fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; const søknadsfristErIkkeUnderVurdering = behandling.stegTilstand?.stegType?.kode !== 'VURDER_SØKNADSFRIST'; return erPleiepengesak && søknadsfristErIkkeUnderVurdering; }; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OmsorgenForFaktaPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OmsorgenForFaktaPanelDef.tsx index cb00adcc68..9a5c0be498 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OmsorgenForFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OmsorgenForFaktaPanelDef.tsx @@ -19,7 +19,7 @@ class OmsorgenForFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; getOverstyrVisningAvKomponent = ({ fagsak, behandling }: { fagsak: Fagsak; behandling: Behandling }) => { - const erPleiepengesak = fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + const erPleiepengesak = fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; const søknadsfristErIkkeUnderVurdering = behandling.stegTilstand?.stegType?.kode !== 'VURDER_SØKNADSFRIST'; return erPleiepengesak && søknadsfristErIkkeUnderVurdering; }; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx index 9b6328ae52..53319640ee 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx @@ -6,15 +6,16 @@ import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import OpptjeningFaktaIndex from '@fpsak-frontend/fakta-opptjening-oms'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; +import { Vilkar } from '@k9-sak-web/types'; import { PleiepengerBehandlingApiKeys } from '../../data/pleiepengerBehandlingApi'; -const erAllePerioderOppfylt = vilkarsperioder => - vilkarsperioder.every(periode => periode.vilkarStatus.kode === vilkarUtfallType.OPPFYLT); +const erAllePerioderOppfylt = (vilkarsperioder: Vilkar['perioder']) => + vilkarsperioder.every(periode => periode.vilkarStatus === vilkarUtfallType.OPPFYLT); -const shouldShowOpptjening = vilkar => - vilkar.some(v => v.vilkarType.kode === vilkarType.OPPTJENINGSVILKARET) && - vilkar.some(v => v.vilkarType.kode === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); +const shouldShowOpptjening = (vilkar: Vilkar[]) => + vilkar.some(v => v.vilkarType === vilkarType.OPPTJENINGSVILKARET) && + vilkar.some(v => v.vilkarType === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { getUrlKode = () => faktaPanelCodes.OPPTJENINGSVILKARET; @@ -27,7 +28,7 @@ class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ vilkar }) => shouldShowOpptjening(vilkar); + getOverstyrVisningAvKomponent = ({ vilkar }: { vilkar: Vilkar[] }) => shouldShowOpptjening(vilkar); } export default OpptjeningsvilkaretFaktaPanelDef; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx index 0b9d1978fa..eca43f9173 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/SoknadsperioderFaktaPanelDef.tsx @@ -17,8 +17,7 @@ class SoknadsperioderFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => - fagsak.sakstype.kode === fagsakYtelseType.PLEIEPENGER; + getOverstyrVisningAvKomponent = ({ fagsak }: { fagsak: Fagsak }) => fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; } export default SoknadsperioderFaktaPanelDef; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/UtenlandsoppholdFaktaPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/UtenlandsoppholdFaktaPanelDef.tsx index 0d8dadf32d..92f275f34a 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/UtenlandsoppholdFaktaPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/faktaPaneler/UtenlandsoppholdFaktaPanelDef.tsx @@ -15,11 +15,7 @@ class UtenlandsoppholdFaktaPanelDef extends FaktaPanelDef { getEndepunkter = () => [PleiepengerBehandlingApiKeys.UTENLANDSOPPHOLD]; getKomponent = props => ( - + ); skalVisePanel = () => true; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx index 31a6e05ac6..634426743f 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/BeregningsgrunnlagProsessStegPanelDef.tsx @@ -2,7 +2,7 @@ import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import { konverterKodeverkTilKode, mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; +import { mapVilkar, transformBeregningValues } from '@fpsak-frontend/utils'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import { BeregningsgrunnlagProsessIndex } from '@navikt/ft-prosess-beregningsgrunnlag'; @@ -11,19 +11,27 @@ import '@navikt/ft-prosess-beregningsgrunnlag/dist/style.css'; class PanelDef extends ProsessStegPanelDef { // eslint-disable-next-line class-methods-use-this getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps); - const bgVilkaret = deepCopyProps.vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); + const { + vilkar, + beregningreferanserTilVurdering, + beregningsgrunnlag, + arbeidsgiverOpplysningerPerId, + submitCallback, + formData, + setFormData, + alleKodeverk, + } = props; + const bgVilkaret = vilkar.find(v => v.vilkarType === vilkarType.BEREGNINGSGRUNNLAGVILKARET); return ( props.submitCallback(transformBeregningValues(data))} - formData={props.formData} - kodeverkSamling={deepCopyProps.alleKodeverk} - setFormData={props.setFormData} + beregningsgrunnlagsvilkar={mapVilkar(bgVilkaret, beregningreferanserTilVurdering)} + beregningsgrunnlagListe={beregningsgrunnlag} + arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + submitCallback={data => submitCallback(transformBeregningValues(data))} + formData={formData} + kodeverkSamling={alleKodeverk} + setFormData={setFormData} /> ); }; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx index 5594d6cb0c..5d5de2a26d 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/MedisinskVilkarProsessStegPanelDef.tsx @@ -17,10 +17,8 @@ class PanelDef extends ProsessStegPanelDef { getKomponent = (props: Props) => { const { vilkar } = props; - const vilkårPleietrengendeUnder18år = vilkar.find( - v => v.vilkarType.kode === vilkarType.MEDISINSKEVILKÅR_UNDER_18_ÅR, - ); - const vilkårPleietrengendeOver18år = vilkar.find(v => v.vilkarType.kode === vilkarType.MEDISINSKEVILKÅR_18_ÅR); + const vilkårPleietrengendeUnder18år = vilkar.find(v => v.vilkarType === vilkarType.MEDISINSKEVILKÅR_UNDER_18_ÅR); + const vilkårPleietrengendeOver18år = vilkar.find(v => v.vilkarType === vilkarType.MEDISINSKEVILKÅR_18_ÅR); const perioderUnder18 = vilkårPleietrengendeUnder18år?.perioder.map(periode => ({ ...periode, pleietrengendeErOver18år: false, diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx index 9ca18c8dc6..afef0f901c 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SokersOpplysningspliktPanelDef.tsx @@ -5,6 +5,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import SokersOpplysningspliktVilkarProsessIndex from '@fpsak-frontend/prosess-vilkar-sokers-opplysningsplikt'; import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { Aksjonspunkt, Behandling } from '@k9-sak-web/types'; class SokersOpplysningspliktPanelDef extends ProsessStegPanelDef { getId = () => 'SOKERS_OPPLYSNINGSPLIKT'; @@ -25,11 +26,15 @@ class SokersOpplysningspliktPanelDef extends ProsessStegPanelDef { getVilkarKoder = () => [vilkarType.SOKERSOPPLYSNINGSPLIKT]; - getOverstyrVisningAvKomponent = ({ behandling, aksjonspunkterForSteg }) => { - const isRevurdering = behandlingType.REVURDERING === behandling.type.kode; - const hasAp = aksjonspunkterForSteg.some( - ap => ap.definisjon.kode === aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU, - ); + getOverstyrVisningAvKomponent = ({ + behandling, + aksjonspunkterForSteg, + }: { + behandling: Behandling; + aksjonspunkterForSteg: Aksjonspunkt[]; + }) => { + const isRevurdering = behandlingType.REVURDERING === behandling.type; + const hasAp = aksjonspunkterForSteg.some(ap => ap.definisjon === aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_MANU); return !(isRevurdering && !hasAp); }; diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx index faf38103bf..db8016ec7e 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/SoknadsfristPanelDef.tsx @@ -1,10 +1,11 @@ import React from 'react'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import SoknadsfristVilkarProsessIndex from '@k9-sak-web/prosess-vilkar-soknadsfrist'; import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { Vilkar } from '@k9-sak-web/types'; + import { PleiepengerBehandlingApiKeys } from '../../../data/pleiepengerBehandlingApi'; class SoknadsfristPanelDef extends ProsessStegPanelDef { @@ -27,14 +28,21 @@ class SoknadsfristPanelDef extends ProsessStegPanelDef { getData = ({ vilkarForSteg, - alleKodeverk, overstyrteAksjonspunktKoder, prosessStegTekstKode, overrideReadOnly, kanOverstyreAccess, toggleOverstyring, - }): any => ({ - avslagsarsaker: alleKodeverk[kodeverkTyper.AVSLAGSARSAK][vilkarForSteg[0].vilkarType.kode], + }: { + vilkarForSteg: Vilkar[]; + overstyrteAksjonspunktKoder: string[]; + prosessStegTekstKode: string; + overrideReadOnly: boolean; + kanOverstyreAccess: { + isEnabled: boolean; + }; + toggleOverstyring: () => void; + }) => ({ erOverstyrt: overstyrteAksjonspunktKoder.some(o => this.getAksjonspunktKoder().some(a => a === o)), panelTittelKode: this.getTekstKode() ? this.getTekstKode() : prosessStegTekstKode, lovReferanse: vilkarForSteg.length > 0 ? vilkarForSteg[0].lovReferanse : undefined, diff --git a/packages/behandling-pleiepenger/src/panelDefinisjoner/vedtakStatusUtlederPleiepenger.ts b/packages/behandling-pleiepenger/src/panelDefinisjoner/vedtakStatusUtlederPleiepenger.ts index aaf29758c1..0a71fa9e5c 100644 --- a/packages/behandling-pleiepenger/src/panelDefinisjoner/vedtakStatusUtlederPleiepenger.ts +++ b/packages/behandling-pleiepenger/src/panelDefinisjoner/vedtakStatusUtlederPleiepenger.ts @@ -2,25 +2,31 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { isAvslag } from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; +import { Aksjonspunkt, Behandling, Vilkar } from '@k9-sak-web/types'; // TODO (TOR) Kan denne skrivast om? For høg kompleksitet. -const hasOnlyClosedAps = (aksjonspunkter, vedtakAksjonspunkter) => +const hasOnlyClosedAps = (aksjonspunkter: Aksjonspunkt[], vedtakAksjonspunkter: Aksjonspunkt[]) => aksjonspunkter - .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon.kode === ap.definisjon.kode)) - .every(ap => !isAksjonspunktOpen(ap.status.kode)); + .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon === ap.definisjon)) + .every(ap => !isAksjonspunktOpen(ap.status)); -const hasAksjonspunkt = ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_BEREGNING; +const hasAksjonspunkt = (ap: Aksjonspunkt) => ap.definisjon === aksjonspunktCodes.OVERSTYR_BEREGNING; -const isAksjonspunktOpenAndOfType = ap => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status.kode); +const isAksjonspunktOpenAndOfType = (ap: Aksjonspunkt) => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status); -const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behandlingsresultat) => { +const findStatusForVedtak = ( + vilkar: Vilkar[], + aksjonspunkter: Aksjonspunkt[], + vedtakAksjonspunkter: Aksjonspunkt[], + behandlingsresultat: Behandling['behandlingsresultat'], +) => { if (vilkar.length === 0) { return vilkarUtfallType.IKKE_VURDERT; } if ( - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT)) || + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_VURDERT)) || aksjonspunkter.some(isAksjonspunktOpenAndOfType) ) { return vilkarUtfallType.IKKE_VURDERT; @@ -30,7 +36,7 @@ const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behan return vilkarUtfallType.IKKE_VURDERT; } - if (isAvslag(behandlingsresultat.type.kode)) { + if (isAvslag(behandlingsresultat.type)) { return vilkarUtfallType.IKKE_OPPFYLT; } return vilkarUtfallType.OPPFYLT; diff --git a/packages/behandling-tilbakekreving/src/BehandlingTilbakekrevingIndex.tsx b/packages/behandling-tilbakekreving/src/BehandlingTilbakekrevingIndex.tsx index dd93bcb209..cb97c7bf0b 100644 --- a/packages/behandling-tilbakekreving/src/BehandlingTilbakekrevingIndex.tsx +++ b/packages/behandling-tilbakekreving/src/BehandlingTilbakekrevingIndex.tsx @@ -4,7 +4,7 @@ import { ReduxFormStateCleaner, Rettigheter, useSetBehandlingVedEndring } from ' import { KodeverkMedNavn, Behandling, Fagsak, FagsakPerson } from '@k9-sak-web/types'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import TilbakekrevingPaneler from './components/TilbakekrevingPaneler'; import FetchedData from './types/fetchedDataTsType'; import { @@ -35,7 +35,7 @@ interface OwnProps { }; opneSokeside: () => void; harApenRevurdering: boolean; - kodeverk: { [key: string]: KodeverkMedNavn[] }; + kodeverk: AlleKodeverk; setRequestPendingMessage: (message: string) => void; } diff --git a/packages/behandling-tilbakekreving/src/components/TilbakekrevingFakta.spec.tsx b/packages/behandling-tilbakekreving/src/components/TilbakekrevingFakta.spec.tsx index e32752f0f3..b64ec6baca 100644 --- a/packages/behandling-tilbakekreving/src/components/TilbakekrevingFakta.spec.tsx +++ b/packages/behandling-tilbakekreving/src/components/TilbakekrevingFakta.spec.tsx @@ -1,7 +1,7 @@ import aksjonspunktCodesTilbakekreving from '@fpsak-frontend/kodeverk/src/aksjonspunktCodesTilbakekreving'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import foreldelseVurderingType from '@fpsak-frontend/kodeverk/src/foreldelseVurderingType'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { RestApiErrorProvider } from '@k9-sak-web/rest-api-hooks'; @@ -16,17 +16,36 @@ import vedtakResultatType from '../kodeverk/vedtakResultatType'; import TilbakekrevingFakta from './TilbakekrevingFakta'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const behandling: Partial = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FØRSTEGANGSSØKNAD, kodeverk: 'BEHANDLING_TYPE' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FØRSTEGANGSSØKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -46,8 +65,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodesTilbakekreving.AVKLAR_FAKTA_FOR_FEILUTBETALING, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodesTilbakekreving.AVKLAR_FAKTA_FOR_FEILUTBETALING, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -58,19 +77,13 @@ describe('', () => { fom: '2019-01-01', tom: '2019-04-01', belop: 1212, - foreldelseVurderingType: { - kode: foreldelseVurderingType.FORELDET, - kodeverk: 'FORELDRE_VURDERING_TYPE', - }, + foreldelseVurderingType: foreldelseVurderingType.FORELDET, }, ], }; const beregningsresultat = { beregningResultatPerioder: [], - vedtakResultatType: { - kode: vedtakResultatType.INGEN_TILBAKEBETALING, - kodeverk: 'VEDTAK_RESULTAT_TYPE', - }, + vedtakResultatType: vedtakResultatType.INGEN_TILBAKEBETALING, }; const feilutbetalingFakta = { behandlingFakta: { @@ -86,20 +99,10 @@ describe('', () => { }, ], behandlingsresultat: { - type: { - kode: 'TEST', - kodeverk: 'BEHANDLINGSRESULTAT', - }, + type: 'TEST', konsekvenserForYtelsen: [], }, - behandlingÅrsaker: [ - { - behandlingArsakType: { - kode: 'test', - kodeverk: 'test', - }, - }, - ], + behandlingÅrsaker: [{ behandlingArsakType: 'test' }], }, }; diff --git a/packages/behandling-tilbakekreving/src/components/TilbakekrevingFakta.tsx b/packages/behandling-tilbakekreving/src/components/TilbakekrevingFakta.tsx index 1855819b72..cfb7b36822 100644 --- a/packages/behandling-tilbakekreving/src/components/TilbakekrevingFakta.tsx +++ b/packages/behandling-tilbakekreving/src/components/TilbakekrevingFakta.tsx @@ -1,10 +1,10 @@ import React from 'react'; import { SideMenuWrapper, faktaHooks, Rettigheter, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; -import { KodeverkMedNavn, Behandling, Fagsak } from '@k9-sak-web/types'; +import { Behandling, Fagsak } from '@k9-sak-web/types'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import ErrorBoundary from '@k9-sak-web/sak-app/src/app/ErrorBoundary'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { restApiTilbakekrevingHooks, TilbakekrevingBehandlingApiKeys } from '../data/tilbakekrevingBehandlingApi'; import faktaPanelDefinisjoner from '../panelDefinisjoner/faktaTilbakekrevingPanelDefinisjoner'; import FetchedData from '../types/fetchedDataTsType'; @@ -15,8 +15,8 @@ interface OwnProps { data: FetchedData; fagsak: Fagsak; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; - fpsakKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; + fpsakKodeverk: AlleKodeverk; rettigheter: Rettigheter; hasFetchError: boolean; oppdaterProsessStegOgFaktaPanelIUrl: (prosessPanel?: string, faktanavn?: string) => void; diff --git a/packages/behandling-tilbakekreving/src/components/TilbakekrevingPaneler.tsx b/packages/behandling-tilbakekreving/src/components/TilbakekrevingPaneler.tsx index e232ae1cc7..5416e49410 100644 --- a/packages/behandling-tilbakekreving/src/components/TilbakekrevingPaneler.tsx +++ b/packages/behandling-tilbakekreving/src/components/TilbakekrevingPaneler.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { BehandlingPaVent, SettPaVentParams, Rettigheter } from '@k9-sak-web/behandling-felles'; -import { Behandling, Fagsak, FagsakPerson, KodeverkMedNavn } from '@k9-sak-web/types'; - +import { Behandling, Fagsak, FagsakPerson } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import TilbakekrevingProsess from './TilbakekrevingProsess'; import TilbakekrevingFakta from './TilbakekrevingFakta'; import FetchedData from '../types/fetchedDataTsType'; @@ -12,8 +12,8 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - kodeverk: { [key: string]: KodeverkMedNavn[] }; - fpsakKodeverk: { [key: string]: KodeverkMedNavn[] }; + kodeverk: AlleKodeverk; + fpsakKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; diff --git a/packages/behandling-tilbakekreving/src/components/TilbakekrevingProsess.spec.tsx b/packages/behandling-tilbakekreving/src/components/TilbakekrevingProsess.spec.tsx index 85c223a930..52e471ff3f 100644 --- a/packages/behandling-tilbakekreving/src/components/TilbakekrevingProsess.spec.tsx +++ b/packages/behandling-tilbakekreving/src/components/TilbakekrevingProsess.spec.tsx @@ -1,7 +1,7 @@ import aksjonspunktCodesTilbakekreving from '@fpsak-frontend/kodeverk/src/aksjonspunktCodesTilbakekreving'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import foreldelseVurderingType from '@fpsak-frontend/kodeverk/src/foreldelseVurderingType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; @@ -13,20 +13,39 @@ import userEvent from '@testing-library/user-event'; import React from 'react'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; -import { requestTilbakekrevingApi, TilbakekrevingBehandlingApiKeys } from '../data/tilbakekrevingBehandlingApi'; +import { TilbakekrevingBehandlingApiKeys, requestTilbakekrevingApi } from '../data/tilbakekrevingBehandlingApi'; import vedtakResultatType from '../kodeverk/vedtakResultatType'; import TilbakekrevingProsess from './TilbakekrevingProsess'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -35,8 +54,8 @@ describe('', () => { const behandling: Partial = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FØRSTEGANGSSØKNAD, kodeverk: 'BEHANDLING_TYPE' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FØRSTEGANGSSØKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -56,8 +75,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodesTilbakekreving.VURDER_TILBAKEKREVING, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodesTilbakekreving.VURDER_TILBAKEKREVING, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -68,19 +87,13 @@ describe('', () => { fom: '2019-01-01', tom: '2019-04-01', belop: 1212, - foreldelseVurderingType: { - kode: foreldelseVurderingType.FORELDET, - kodeverk: 'FORELDRE_VURDERING_TYPE', - }, + foreldelseVurderingType: foreldelseVurderingType.FORELDET, }, ], } as FeilutbetalingPerioderWrapper; const beregningsresultat = { beregningResultatPerioder: [], - vedtakResultatType: { - kode: vedtakResultatType.INGEN_TILBAKEBETALING, - kodeverk: 'VEDTAK_RESULTAT_TYPE', - }, + vedtakResultatType: vedtakResultatType.INGEN_TILBAKEBETALING, }; const feilutbetalingFakta = { @@ -97,18 +110,12 @@ describe('', () => { }, ], behandlingsresultat: { - type: { - kode: 'TEST', - kodeverk: 'BEHANDLINGSRESULTAT', - }, + type: 'TEST', konsekvenserForYtelsen: [], }, behandlingÅrsaker: [ { - behandlingArsakType: { - kode: '', - kodeverk: '', - }, + behandlingArsakType: '', }, ], }, @@ -120,6 +127,7 @@ describe('', () => { perioder: [{ vilkarResultat: undefined, begrunnelse: '', vilkarResultatInfo: undefined, ytelser: [] }], }); requestTilbakekrevingApi.mock(TilbakekrevingBehandlingApiKeys.VILKARVURDERING, { vilkarsVurdertePerioder: [] }); + requestTilbakekrevingApi.mock(TilbakekrevingBehandlingApiKeys.VEDTAKSBREV, []); renderWithIntlAndReduxForm( ', () => { perioder: [{ vilkarResultat: undefined, begrunnelse: '', vilkarResultatInfo: undefined, ytelser: [] }], }); requestTilbakekrevingApi.mock(TilbakekrevingBehandlingApiKeys.VILKARVURDERING, { vilkarsVurdertePerioder: [] }); + requestTilbakekrevingApi.mock(TilbakekrevingBehandlingApiKeys.VEDTAKSBREV, []); + const oppdaterProsessStegOgFaktaPanelIUrl = vi.fn(); renderWithIntlAndReduxForm( diff --git a/packages/behandling-tilbakekreving/src/components/TilbakekrevingProsess.tsx b/packages/behandling-tilbakekreving/src/components/TilbakekrevingProsess.tsx index 04cfa02772..a3ab20ca69 100644 --- a/packages/behandling-tilbakekreving/src/components/TilbakekrevingProsess.tsx +++ b/packages/behandling-tilbakekreving/src/components/TilbakekrevingProsess.tsx @@ -12,8 +12,8 @@ import { Rettigheter, useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; -import { Behandling, Fagsak, FagsakPerson, KodeverkMedNavn } from '@k9-sak-web/types'; - +import { Behandling, Fagsak, FagsakPerson } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { restApiTilbakekrevingHooks, TilbakekrevingBehandlingApiKeys } from '../data/tilbakekrevingBehandlingApi'; import prosessStegPanelDefinisjoner from '../panelDefinisjoner/prosessStegTilbakekrevingPanelDefinisjoner'; import FetchedData from '../types/fetchedDataTsType'; @@ -29,7 +29,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; hasFetchError: boolean; @@ -40,40 +40,40 @@ interface OwnProps { setBehandling: (behandling: Behandling) => void; } -const getHentFritekstbrevHtmlCallback = ( - hentFriteksbrevHtml: (data: any) => Promise, - behandling: Behandling, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, -) => (parameters: any) => - hentFriteksbrevHtml({ - ...parameters, - eksternReferanse: behandling.uuid, - ytelseType: fagsak.sakstype, - saksnummer: fagsak.saksnummer, - aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), - }); - -const getLagringSideeffekter = ( - toggleFatterVedtakModal, - toggleOppdatereFagsakContext, - oppdaterProsessStegOgFaktaPanelIUrl, -) => async aksjonspunktModels => { - const isFatterVedtakAp = aksjonspunktModels.some(ap => ap.kode === aksjonspunktCodesTilbakekreving.FORESLA_VEDTAK); - if (isFatterVedtakAp) { - toggleOppdatereFagsakContext(false); - } - - // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) - return () => { +const getHentFritekstbrevHtmlCallback = + ( + hentFriteksbrevHtml: (data: any) => Promise, + behandling: Behandling, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + ) => + (parameters: any) => + hentFriteksbrevHtml({ + ...parameters, + eksternReferanse: behandling.uuid, + ytelseType: fagsak.sakstype, + saksnummer: fagsak.saksnummer, + aktørId: fagsakPerson.aktørId, + avsenderApplikasjon: bestemAvsenderApp(behandling.type), + }); + +const getLagringSideeffekter = + (toggleFatterVedtakModal, toggleOppdatereFagsakContext, oppdaterProsessStegOgFaktaPanelIUrl) => + async aksjonspunktModels => { + const isFatterVedtakAp = aksjonspunktModels.some(ap => ap.kode === aksjonspunktCodesTilbakekreving.FORESLA_VEDTAK); if (isFatterVedtakAp) { - toggleFatterVedtakModal(true); - } else { - oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + toggleOppdatereFagsakContext(false); } + + // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) + return () => { + if (isFatterVedtakAp) { + toggleFatterVedtakModal(true); + } else { + oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + } + }; }; -}; const TilbakekrevingProsess = ({ data, @@ -96,9 +96,8 @@ const TilbakekrevingProsess = ({ oppdaterBehandlingVersjon, ); - const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = restApiTilbakekrevingHooks.useRestApiRunner< - Behandling - >(TilbakekrevingBehandlingApiKeys.SAVE_AKSJONSPUNKT); + const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = + restApiTilbakekrevingHooks.useRestApiRunner(TilbakekrevingBehandlingApiKeys.SAVE_AKSJONSPUNKT); useSetBehandlingVedEndring(apBehandlingRes, setBehandling); const { startRequest: beregnBelop } = restApiTilbakekrevingHooks.useRestApiRunner( diff --git a/packages/behandling-tilbakekreving/src/panelDefinisjoner/faktaPaneler/FeilutbetalingFaktaPanelDef.tsx b/packages/behandling-tilbakekreving/src/panelDefinisjoner/faktaPaneler/FeilutbetalingFaktaPanelDef.tsx index 315a7b11ca..dd2adff3b1 100644 --- a/packages/behandling-tilbakekreving/src/panelDefinisjoner/faktaPaneler/FeilutbetalingFaktaPanelDef.tsx +++ b/packages/behandling-tilbakekreving/src/panelDefinisjoner/faktaPaneler/FeilutbetalingFaktaPanelDef.tsx @@ -31,7 +31,7 @@ class FeilutbetalingFaktaPanelDef extends FaktaPanelDef { fpsakKodeverk: any; }) => ({ feilutbetalingFakta, - fagsakYtelseTypeKode: fagsak.sakstype.kode, + fagsakYtelseTypeKode: fagsak.sakstype, fpsakKodeverk, }); } diff --git a/packages/behandling-tilbakekreving/src/panelDefinisjoner/prosessStegPaneler/ForeldelseProsessStegPanelDef.tsx b/packages/behandling-tilbakekreving/src/panelDefinisjoner/prosessStegPaneler/ForeldelseProsessStegPanelDef.tsx index e2139403e4..10a9571462 100644 --- a/packages/behandling-tilbakekreving/src/panelDefinisjoner/prosessStegPaneler/ForeldelseProsessStegPanelDef.tsx +++ b/packages/behandling-tilbakekreving/src/panelDefinisjoner/prosessStegPaneler/ForeldelseProsessStegPanelDef.tsx @@ -5,19 +5,17 @@ import navBrukerKjonn from '@fpsak-frontend/kodeverk/src/navBrukerKjonn'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodesTilbakekreving from '@fpsak-frontend/kodeverk/src/aksjonspunktCodesTilbakekreving'; import { getAlleMerknaderFraBeslutter, ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; -import { konverterKodeverkTilKode } from '@fpsak-frontend/utils'; import ForeldelseProsessIndexWrapper from '../../components/ForeldelseProsessIndexWrapper'; class PanelDef extends ProsessStegPanelDef { getKomponent = props => { - const deepCopyProps = JSON.parse(JSON.stringify(props)); - konverterKodeverkTilKode(deepCopyProps, true); + const { alleKodeverk, submitCallback, beregnBelop } = props; return ( ); }; diff --git a/packages/behandling-tilbakekreving/src/panelDefinisjoner/prosessStegPaneler/VedtakTilbakekrevingProsessStegPanelDef.tsx b/packages/behandling-tilbakekreving/src/panelDefinisjoner/prosessStegPaneler/VedtakTilbakekrevingProsessStegPanelDef.tsx index 64ae6715f2..6c725a770c 100644 --- a/packages/behandling-tilbakekreving/src/panelDefinisjoner/prosessStegPaneler/VedtakTilbakekrevingProsessStegPanelDef.tsx +++ b/packages/behandling-tilbakekreving/src/panelDefinisjoner/prosessStegPaneler/VedtakTilbakekrevingProsessStegPanelDef.tsx @@ -5,6 +5,7 @@ import VedtakTilbakekrevingProsessIndex from '@fpsak-frontend/prosess-vedtak-til import { prosessStegCodes } from '@k9-sak-web/konstanter'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; import aksjonspunktCodesTilbakekreving from '@fpsak-frontend/kodeverk/src/aksjonspunktCodesTilbakekreving'; +import { BeregningsresultatTilbakekreving } from '@k9-sak-web/types'; import VedtakResultatType from '../../kodeverk/vedtakResultatType'; import { TilbakekrevingBehandlingApiKeys } from '../../data/tilbakekrevingBehandlingApi'; @@ -14,12 +15,12 @@ class PanelDef extends ProsessStegPanelDef { getOverstyrVisningAvKomponent = () => true; - getOverstyrtStatus = ({ beregningsresultat }) => { + getOverstyrtStatus = ({ beregningsresultat }: { beregningsresultat: BeregningsresultatTilbakekreving }) => { if (!beregningsresultat) { return vilkarUtfallType.IKKE_VURDERT; } const { vedtakResultatType } = beregningsresultat; - return vedtakResultatType.kode === VedtakResultatType.INGEN_TILBAKEBETALING + return vedtakResultatType === VedtakResultatType.INGEN_TILBAKEBETALING ? vilkarUtfallType.IKKE_OPPFYLT : vilkarUtfallType.OPPFYLT; }; diff --git a/packages/behandling-unntak/src/BehandlingUnntakIndex.tsx b/packages/behandling-unntak/src/BehandlingUnntakIndex.tsx index 7aa044c1ff..be4623f71e 100644 --- a/packages/behandling-unntak/src/BehandlingUnntakIndex.tsx +++ b/packages/behandling-unntak/src/BehandlingUnntakIndex.tsx @@ -1,17 +1,10 @@ import React, { useEffect, useState, useCallback } from 'react'; import { Rettigheter, ReduxFormStateCleaner, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; -import { - Fagsak, - Behandling, - KodeverkMedNavn, - FeatureToggles, - FagsakPerson, - ArbeidsgiverOpplysningerWrapper, -} from '@k9-sak-web/types'; +import { Fagsak, Behandling, FeatureToggles, FagsakPerson, ArbeidsgiverOpplysningerWrapper } from '@k9-sak-web/types'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import FetchedData from './types/fetchedDataTsType'; import { restApiUnntakHooks, requestUnntakApi, UnntakBehandlingApiKeys } from './data/unntakBehandlingApi'; import UnntakPaneler from './components/UnntakPaneler'; @@ -41,7 +34,7 @@ interface OwnProps { }; opneSokeside: () => void; featureToggles: FeatureToggles; - kodeverk?: { [key: string]: KodeverkMedNavn[] }; + kodeverk?: AlleKodeverk; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; setRequestPendingMessage: (message: string) => void; } diff --git a/packages/behandling-unntak/src/components/UnntakFakta.spec.tsx b/packages/behandling-unntak/src/components/UnntakFakta.spec.tsx index fc59399062..53dc78b89d 100644 --- a/packages/behandling-unntak/src/components/UnntakFakta.spec.tsx +++ b/packages/behandling-unntak/src/components/UnntakFakta.spec.tsx @@ -4,7 +4,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import sivilstandType from '@fpsak-frontend/kodeverk/src/sivilstandType'; @@ -18,14 +18,33 @@ import FetchedData from '../types/fetchedDataTsType'; import UnntakFakta from './UnntakFakta'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -34,8 +53,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.UNNTAK, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.UNNTAK, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -55,8 +74,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AVKLAR_ARBEIDSFORHOLD, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, @@ -66,50 +85,22 @@ describe('', () => { const soker = { navn: 'Espen Utvikler', aktoerId: '1', - personstatus: { - kode: 'BOSA', - kodeverk: 'Bosatt', - }, + personstatus: 'BOSA', avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'Bosatt', - }, - orginalPersonstatus: { - kode: personstatusType.DOD, - kodeverk: 'Bosatt', - }, - }, - navBrukerKjonn: { - kode: '', - kodeverk: '', - }, - statsborgerskap: { - kode: '', - kodeverk: '', - navn: '', - }, - diskresjonskode: { - kode: '', - kodeverk: '', - }, - sivilstand: { - kode: sivilstandType.UGIFT, - kodeverk: 'Ugift', - }, - region: { - kode: 'NORDEN', - kodeverk: 'Norden', + overstyrtPersonstatus: personstatusType.BOSATT, + orginalPersonstatus: personstatusType.DOD, }, + navBrukerKjonn: '', + statsborgerskap: '', + diskresjonskode: '', + sivilstand: sivilstandType.UGIFT, + region: 'NORDEN', adresser: [ { adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', - adresseType: { - kode: opplysningAdresseType.POSTADRESSE, - kodeverk: 'Bostedsadresse', - }, + adresseType: opplysningAdresseType.POSTADRESSE, }, ], barn: [], diff --git a/packages/behandling-unntak/src/components/UnntakFakta.tsx b/packages/behandling-unntak/src/components/UnntakFakta.tsx index 99adf6c8c5..dafee8e7d2 100644 --- a/packages/behandling-unntak/src/components/UnntakFakta.tsx +++ b/packages/behandling-unntak/src/components/UnntakFakta.tsx @@ -1,11 +1,11 @@ import React from 'react'; import { Rettigheter, SideMenuWrapper, faktaHooks, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; -import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, KodeverkMedNavn } from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson } from '@k9-sak-web/types'; import ac from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import ErrorBoundary from '@k9-sak-web/sak-app/src/app/ErrorBoundary'; - +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { restApiUnntakHooks, UnntakBehandlingApiKeys } from '../data/unntakBehandlingApi'; import faktaPanelDefinisjoner from '../panelDefinisjoner/faktaPanelDefinisjoner'; import FetchedData from '../types/fetchedDataTsType'; @@ -17,7 +17,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; hasFetchError: boolean; oppdaterProsessStegOgFaktaPanelIUrl: (prosessPanel?: string, faktanavn?: string) => void; diff --git a/packages/behandling-unntak/src/components/UnntakPaneler.tsx b/packages/behandling-unntak/src/components/UnntakPaneler.tsx index 28610d9ec7..4b643626fd 100644 --- a/packages/behandling-unntak/src/components/UnntakPaneler.tsx +++ b/packages/behandling-unntak/src/components/UnntakPaneler.tsx @@ -1,15 +1,8 @@ import React, { useState } from 'react'; import { Rettigheter, BehandlingPaVent, SettPaVentParams } from '@k9-sak-web/behandling-felles'; -import { - KodeverkMedNavn, - Behandling, - FeatureToggles, - FagsakPerson, - Fagsak, - ArbeidsgiverOpplysningerPerId, -} from '@k9-sak-web/types'; - +import { Behandling, FeatureToggles, FagsakPerson, Fagsak, ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import UnntakProsess from './UnntakProsess'; import UnntakFakta from './UnntakFakta'; import FetchedData from '../types/fetchedDataTsType'; @@ -19,7 +12,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; diff --git a/packages/behandling-unntak/src/components/UnntakProsess.spec.tsx b/packages/behandling-unntak/src/components/UnntakProsess.spec.tsx index becfcb70da..28210fc947 100644 --- a/packages/behandling-unntak/src/components/UnntakProsess.spec.tsx +++ b/packages/behandling-unntak/src/components/UnntakProsess.spec.tsx @@ -2,7 +2,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; @@ -18,15 +18,34 @@ import FetchedData from '../types/fetchedDataTsType'; import UnntakProsess from './UnntakProsess'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, - } as Fagsak; + sakstype: fagsakYtelsesType.OMP, + status: fagsakStatus.UNDER_BEHANDLING, + relasjonsRolleType: '', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, + }; const fagsakPerson = { alder: 30, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'test' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: true, navn: 'Espen Utvikler', @@ -35,8 +54,8 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - status: { kode: behandlingStatus.BEHANDLING_UTREDES, kodeverk: 'test' }, - type: { kode: behandlingType.FORSTEGANGSSOKNAD, kodeverk: 'test' }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: behandlingType.FORSTEGANGSSOKNAD, behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -56,19 +75,19 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { kode: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, kodeverk: 'test' }, - status: { kode: aksjonspunktStatus.OPPRETTET, kodeverk: 'test' }, + definisjon: aksjonspunktCodes.AUTOMATISK_MARKERING_AV_UTENLANDSSAK, + status: aksjonspunktStatus.OPPRETTET, kanLoses: true, erAktivt: true, }, ]; const vilkar = [ { - vilkarType: { kode: vilkarType.MEDLEMSKAPSVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, overstyrbar: true, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, merknadParametere: { antattGodkjentArbeid: 'P0D', antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<0 [0]> = []', diff --git a/packages/behandling-unntak/src/components/UnntakProsess.tsx b/packages/behandling-unntak/src/components/UnntakProsess.tsx index 2f3309220d..d70f5cb378 100644 --- a/packages/behandling-unntak/src/components/UnntakProsess.tsx +++ b/packages/behandling-unntak/src/components/UnntakProsess.tsx @@ -14,15 +14,8 @@ import { Rettigheter, useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; - +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { restApiUnntakHooks, UnntakBehandlingApiKeys } from '../data/unntakBehandlingApi'; import prosessStegPanelDefinisjoner from '../panelDefinisjoner/prosessStegPanelDefinisjoner'; import FetchedData from '../types/fetchedDataTsType'; @@ -32,7 +25,7 @@ interface OwnProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; @@ -60,7 +53,7 @@ const getHentFritekstbrevHtmlCallback = ytelseType: fagsak.sakstype, saksnummer: fagsak.saksnummer, aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), + avsenderApplikasjon: bestemAvsenderApp(behandling.type), }); const getForhandsvisFptilbakeCallback = @@ -241,7 +234,7 @@ const UnntakProsess = ({ behandlingsresultat={behandling.behandlingsresultat} /> { toggleFatterVedtakModal(false); opneSokeside(); diff --git a/packages/behandling-unntak/src/panelDefinisjoner/faktaPaneler/OpplysningerFraSoknadFaktaPanelDef.tsx b/packages/behandling-unntak/src/panelDefinisjoner/faktaPaneler/OpplysningerFraSoknadFaktaPanelDef.tsx index 2134c23c53..8bd3afc79f 100644 --- a/packages/behandling-unntak/src/panelDefinisjoner/faktaPaneler/OpplysningerFraSoknadFaktaPanelDef.tsx +++ b/packages/behandling-unntak/src/panelDefinisjoner/faktaPaneler/OpplysningerFraSoknadFaktaPanelDef.tsx @@ -5,6 +5,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import OpplysningerFraSoknadenIndex from '@fpsak-frontend/fakta-opplysninger-fra-soknaden'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; +import { Behandling } from '@k9-sak-web/types'; class OpplysningerFraSoknadFaktaPanelDef extends FaktaPanelDef { getUrlKode = () => faktaPanelCodes.OPPLYSNINGER_FRA_SØKNADEN; @@ -20,8 +21,8 @@ class OpplysningerFraSoknadFaktaPanelDef extends FaktaPanelDef { getOverstyrVisningAvKomponent = () => true; - getData = ({ rettigheter, behandling }) => { - const behandlingenErAvsluttet = behandlingStatus.AVSLUTTET === behandling.status.kode; + getData = ({ rettigheter, behandling }: { rettigheter: any; behandling: Behandling }) => { + const behandlingenErAvsluttet = behandlingStatus.AVSLUTTET === behandling.status; const kanEndrePåSøknadsopplysninger = rettigheter.writeAccess.isEnabled && !behandlingenErAvsluttet; return { kanEndrePåSøknadsopplysninger, diff --git a/packages/behandling-unntak/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx b/packages/behandling-unntak/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx index e7d243319a..ddd957cfb2 100644 --- a/packages/behandling-unntak/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx +++ b/packages/behandling-unntak/src/panelDefinisjoner/faktaPaneler/OpptjeningsvilkaretFaktaPanelDef.tsx @@ -6,15 +6,16 @@ import { faktaPanelCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import OpptjeningFaktaIndex from '@fpsak-frontend/fakta-opptjening-oms'; import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; +import { Vilkar } from '@k9-sak-web/types'; import { UnntakBehandlingApiKeys } from '../../data/unntakBehandlingApi'; -const erAllePerioderOppfylt = vilkarsperioder => - vilkarsperioder.every(periode => periode.vilkarStatus.kode === vilkarUtfallType.OPPFYLT); +const erAllePerioderOppfylt = (vilkarsperioder: Vilkar['perioder']) => + vilkarsperioder.every(periode => periode.vilkarStatus === vilkarUtfallType.OPPFYLT); -const shouldShowOpptjening = vilkar => - vilkar.some(v => v.vilkarType.kode === vilkarType.OPPTJENINGSVILKARET) && - vilkar.some(v => v.vilkarType.kode === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); +const shouldShowOpptjening = (vilkar: Vilkar[]) => + vilkar.some(v => v.vilkarType === vilkarType.OPPTJENINGSVILKARET) && + vilkar.some(v => v.vilkarType === vilkarType.MEDLEMSKAPSVILKARET && erAllePerioderOppfylt(v.perioder)); class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { getUrlKode = () => faktaPanelCodes.OPPTJENINGSVILKARET; @@ -27,7 +28,7 @@ class OpptjeningsvilkaretFaktaPanelDef extends FaktaPanelDef { getKomponent = props => ; - getOverstyrVisningAvKomponent = ({ vilkar }) => shouldShowOpptjening(vilkar); + getOverstyrVisningAvKomponent = ({ vilkar }: { vilkar: Vilkar[] }) => shouldShowOpptjening(vilkar); } export default OpptjeningsvilkaretFaktaPanelDef; diff --git a/packages/behandling-unntak/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx b/packages/behandling-unntak/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx index f515e9d296..8b4e26b9d8 100644 --- a/packages/behandling-unntak/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx +++ b/packages/behandling-unntak/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx @@ -3,6 +3,7 @@ import VedtakProsessIndex from '@fpsak-frontend/prosess-vedtak'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { Aksjonspunkt, Behandling, Fagsak, Vilkar } from '@k9-sak-web/types'; import findStatusForVedtak from '../vedtakStatusUtleder'; import { UnntakBehandlingApiKeys } from '../../data/unntakBehandlingApi'; @@ -32,8 +33,17 @@ class PanelDef extends ProsessStegPanelDef { getOverstyrVisningAvKomponent = () => true; - getOverstyrtStatus = ({ vilkar, aksjonspunkter, behandling, aksjonspunkterForSteg }) => - findStatusForVedtak(vilkar, aksjonspunkter, aksjonspunkterForSteg, behandling.behandlingsresultat); + getOverstyrtStatus = ({ + vilkar, + aksjonspunkter, + behandling, + aksjonspunkterForSteg, + }: { + vilkar: Vilkar[]; + aksjonspunkter: Aksjonspunkt[]; + behandling: Behandling; + aksjonspunkterForSteg: Aksjonspunkt[]; + }) => findStatusForVedtak(vilkar, aksjonspunkter, aksjonspunkterForSteg, behandling.behandlingsresultat); getData = ({ previewCallback, @@ -46,13 +56,24 @@ class PanelDef extends ProsessStegPanelDef { personopplysninger, arbeidsgiverOpplysningerPerId, lagreDokumentdata, + }: { + previewCallback: () => void; + hentFritekstbrevHtmlCallback: () => void; + rettigheter: any; + aksjonspunkter: Aksjonspunkt[]; + vilkar: Vilkar[]; + simuleringResultat: any; + fagsak: Fagsak; + personopplysninger: any; + arbeidsgiverOpplysningerPerId: any; + lagreDokumentdata: () => void; }) => ({ previewCallback, hentFritekstbrevHtmlCallback, aksjonspunkter, vilkar, simuleringResultat, - ytelseTypeKode: fagsak.sakstype.kode, + ytelseTypeKode: fagsak.sakstype, employeeHasAccess: rettigheter.kanOverstyreAccess.isEnabled, personopplysninger, arbeidsgiverOpplysningerPerId, diff --git a/packages/behandling-unntak/src/panelDefinisjoner/vedtakStatusUtleder.ts b/packages/behandling-unntak/src/panelDefinisjoner/vedtakStatusUtleder.ts index d90366708f..0054e03b77 100644 --- a/packages/behandling-unntak/src/panelDefinisjoner/vedtakStatusUtleder.ts +++ b/packages/behandling-unntak/src/panelDefinisjoner/vedtakStatusUtleder.ts @@ -2,25 +2,31 @@ import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktSta import { isAvslag } from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; +import { Aksjonspunkt, Behandling, Vilkar } from '@k9-sak-web/types'; // TODO (TOR) Kan denne skrivast om? For høg kompleksitet. -const hasOnlyClosedAps = (aksjonspunkter, vedtakAksjonspunkter) => +const hasOnlyClosedAps = (aksjonspunkter: Aksjonspunkt[], vedtakAksjonspunkter: Aksjonspunkt[]) => aksjonspunkter - .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon.kode === ap.definisjon.kode)) - .every(ap => !isAksjonspunktOpen(ap.status.kode)); + .filter(ap => !vedtakAksjonspunkter.some(vap => vap.definisjon === ap.definisjon)) + .every(ap => !isAksjonspunktOpen(ap.status)); -const hasAksjonspunkt = ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_BEREGNING; +const hasAksjonspunkt = (ap: Aksjonspunkt) => ap.definisjon === aksjonspunktCodes.OVERSTYR_BEREGNING; -const isAksjonspunktOpenAndOfType = ap => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status.kode); +const isAksjonspunktOpenAndOfType = (ap: Aksjonspunkt) => hasAksjonspunkt(ap) && isAksjonspunktOpen(ap.status); -const harVilkårSomIkkeErOppfylt = vilkar => - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_OPPFYLT)); +const harVilkårSomIkkeErOppfylt = (vilkar: Vilkar[]) => + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_OPPFYLT)); -const harVilkårSomIkkeErVurdert = vilkar => - vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT)); +const harVilkårSomIkkeErVurdert = (vilkar: Vilkar[]) => + vilkar.some(v => v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_VURDERT)); -const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behandlingsresultat) => { +const findStatusForVedtak = ( + vilkar: Vilkar[], + aksjonspunkter: Aksjonspunkt[], + vedtakAksjonspunkter: Aksjonspunkt[], + behandlingsresultat: Behandling['behandlingsresultat'], +) => { if (vilkar.length === 0) { return vilkarUtfallType.IKKE_VURDERT; } @@ -38,7 +44,7 @@ const findStatusForVedtak = (vilkar, aksjonspunkter, vedtakAksjonspunkter, behan return vilkarUtfallType.IKKE_VURDERT; } - if (isAvslag(behandlingsresultat.type.kode)) { + if (isAvslag(behandlingsresultat.type)) { return vilkarUtfallType.IKKE_OPPFYLT; } return vilkarUtfallType.OPPFYLT; diff --git a/packages/behandling-utvidet-rett/src/BehandlingUtvidetRettIndex.tsx b/packages/behandling-utvidet-rett/src/BehandlingUtvidetRettIndex.tsx index c5030f898b..8c1ef455cc 100644 --- a/packages/behandling-utvidet-rett/src/BehandlingUtvidetRettIndex.tsx +++ b/packages/behandling-utvidet-rett/src/BehandlingUtvidetRettIndex.tsx @@ -2,14 +2,8 @@ import React, { useEffect, useState, useCallback } from 'react'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { Rettigheter, ReduxFormStateCleaner, useSetBehandlingVedEndring } from '@k9-sak-web/behandling-felles'; -import { - Behandling, - KodeverkMedNavn, - FeatureToggles, - Fagsak, - FagsakPerson, - ArbeidsgiverOpplysningerWrapper, -} from '@k9-sak-web/types'; +import { Behandling, FeatureToggles, Fagsak, FagsakPerson, ArbeidsgiverOpplysningerWrapper } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { RestApiState, useRestApiErrorDispatcher } from '@k9-sak-web/rest-api-hooks'; import FetchedData from './types/fetchedDataTsType'; import UtvidetRettPaneler from './components/UtvidetRettPaneler'; @@ -43,7 +37,7 @@ interface OwnProps { }; opneSokeside: () => void; featureToggles: FeatureToggles; - kodeverk?: { [key: string]: KodeverkMedNavn[] }; + kodeverk?: AlleKodeverk; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; setRequestPendingMessage: (message: string) => void; } diff --git a/packages/behandling-utvidet-rett/src/components/UtvidetRettProsess.tsx b/packages/behandling-utvidet-rett/src/components/UtvidetRettProsess.tsx index 9d3dcc2f5a..f01fd57e17 100644 --- a/packages/behandling-utvidet-rett/src/components/UtvidetRettProsess.tsx +++ b/packages/behandling-utvidet-rett/src/components/UtvidetRettProsess.tsx @@ -12,7 +12,6 @@ import { useSetBehandlingVedEndring, } from '@k9-sak-web/behandling-felles'; import { Behandling, Fagsak, FagsakPerson } from '@k9-sak-web/types'; - import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { bestemAvsenderApp, forhandsvis, getForhandsvisCallback } from '@fpsak-frontend/utils/src/formidlingUtils'; @@ -20,81 +19,83 @@ import { UtvidetRettBehandlingApiKeys, restApiUtvidetRettHooks } from '../data/u import prosessStegUtvidetRettPanelDefinisjoner from '../panelDefinisjoner/prosessStegUtvidetRettPanelDefinisjoner'; import { ProsessProps } from '../types/ProsessProps'; -const getHentFritekstbrevHtmlCallback = ( - hentFriteksbrevHtml: (data: any) => Promise, - behandling: Behandling, - fagsak: Fagsak, - fagsakPerson: FagsakPerson, -) => (parameters: any) => - hentFriteksbrevHtml({ - ...parameters, - eksternReferanse: behandling.uuid, - ytelseType: fagsak.sakstype, - saksnummer: fagsak.saksnummer, - aktørId: fagsakPerson.aktørId, - avsenderApplikasjon: bestemAvsenderApp(behandling.type.kode), - }); - -const getForhandsvisTilbakeCallback = ( - forhandsvisTilbakekrevingMelding: (data: any) => Promise, - fagsak: Fagsak, - behandling: Behandling, -) => (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { - const data = { - behandlingUuid: behandling.uuid, - fagsakYtelseType: fagsak.sakstype, - varseltekst: fritekst || '', - mottaker, - brevmalkode, - saksnummer, +const getHentFritekstbrevHtmlCallback = + ( + hentFriteksbrevHtml: (data: any) => Promise, + behandling: Behandling, + fagsak: Fagsak, + fagsakPerson: FagsakPerson, + ) => + (parameters: any) => + hentFriteksbrevHtml({ + ...parameters, + eksternReferanse: behandling.uuid, + ytelseType: fagsak.sakstype, + saksnummer: fagsak.saksnummer, + aktørId: fagsakPerson.aktørId, + avsenderApplikasjon: bestemAvsenderApp(behandling.type), + }); + +const getForhandsvisTilbakeCallback = + (forhandsvisTilbakekrevingMelding: (data: any) => Promise, fagsak: Fagsak, behandling: Behandling) => + (mottaker: string, brevmalkode: string, fritekst: string, saksnummer: string) => { + const data = { + behandlingUuid: behandling.uuid, + fagsakYtelseType: fagsak.sakstype, + varseltekst: fritekst || '', + mottaker, + brevmalkode, + saksnummer, + }; + return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); }; - return forhandsvisTilbakekrevingMelding(data).then(response => forhandsvis(response)); -}; -const getLagringSideeffekter = ( - toggleIverksetterVedtakModal, - toggleFatterVedtakModal, - toggleOppdatereFagsakContext, - oppdaterProsessStegOgFaktaPanelIUrl, - opneSokeside, - lagreDokumentdata, -) => async aksjonspunktModels => { - const erRevurderingsaksjonspunkt = aksjonspunktModels.some( - apModel => - (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || - apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && - apModel.sendVarsel, - ); - const visIverksetterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && - [aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, aksjonspunktCodes.FATTER_VEDTAK].includes( - aksjonspunktModels[0].kode, +const getLagringSideeffekter = + ( + toggleIverksetterVedtakModal, + toggleFatterVedtakModal, + toggleOppdatereFagsakContext, + oppdaterProsessStegOgFaktaPanelIUrl, + opneSokeside, + lagreDokumentdata, + ) => + async aksjonspunktModels => { + const erRevurderingsaksjonspunkt = aksjonspunktModels.some( + apModel => + (apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_MANUELL || + apModel.kode === aksjonspunktCodes.VARSEL_REVURDERING_ETTERKONTROLL) && + apModel.sendVarsel, ); - const visFatterVedtakModal = - aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; - - if (erRevurderingsaksjonspunkt) { - toggleOppdatereFagsakContext(false); - } - - if (aksjonspunktModels[0].isVedtakSubmission) { - const dokumentdata = lagDokumentdata(aksjonspunktModels[0]); - if (dokumentdata) await lagreDokumentdata(dokumentdata); - } - - // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) - return () => { - if (visFatterVedtakModal) { - toggleFatterVedtakModal(true); - } else if (visIverksetterVedtakModal) { - toggleIverksetterVedtakModal(true); - } else if (erRevurderingsaksjonspunkt) { - opneSokeside(); - } else { - oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + const visIverksetterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && + [aksjonspunktCodes.VEDTAK_UTEN_TOTRINNSKONTROLL, aksjonspunktCodes.FATTER_VEDTAK].includes( + aksjonspunktModels[0].kode, + ); + const visFatterVedtakModal = + aksjonspunktModels[0].isVedtakSubmission && aksjonspunktModels[0].kode === aksjonspunktCodes.FORESLA_VEDTAK; + + if (erRevurderingsaksjonspunkt) { + toggleOppdatereFagsakContext(false); } + + if (aksjonspunktModels[0].isVedtakSubmission) { + const dokumentdata = lagDokumentdata(aksjonspunktModels[0]); + if (dokumentdata) await lagreDokumentdata(dokumentdata); + } + + // Returner funksjon som blir kjørt etter lagring av aksjonspunkt(er) + return () => { + if (visFatterVedtakModal) { + toggleFatterVedtakModal(true); + } else if (visIverksetterVedtakModal) { + toggleIverksetterVedtakModal(true); + } else if (erRevurderingsaksjonspunkt) { + opneSokeside(); + } else { + oppdaterProsessStegOgFaktaPanelIUrl('default', 'default'); + } + }; }; -}; const UtvidetRettProsess = ({ data, @@ -128,9 +129,8 @@ const UtvidetRettProsess = ({ UtvidetRettBehandlingApiKeys.HENT_FRITEKSTBREV_HTML, ); - const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = restApiUtvidetRettHooks.useRestApiRunner< - Behandling - >(UtvidetRettBehandlingApiKeys.SAVE_AKSJONSPUNKT); + const { startRequest: lagreAksjonspunkter, data: apBehandlingRes } = + restApiUtvidetRettHooks.useRestApiRunner(UtvidetRettBehandlingApiKeys.SAVE_AKSJONSPUNKT); const { startRequest: forhandsvisTilbakekrevingMelding } = restApiUtvidetRettHooks.useRestApiRunner( UtvidetRettBehandlingApiKeys.PREVIEW_TILBAKEKREVING_MESSAGE, ); @@ -169,7 +169,7 @@ const UtvidetRettProsess = ({ const [prosessStegPaneler, valgtPanel, formaterteProsessStegPaneler] = prosessStegHooks.useProsessStegPaneler( prosessStegUtvidetRettPanelDefinisjoner( - fagsak.sakstype.kode === fagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN, + fagsak.sakstype === fagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN, featureToggles, ), dataTilUtledingAvFpPaneler, @@ -211,7 +211,7 @@ const UtvidetRettProsess = ({ behandlingsresultat={behandling.behandlingsresultat} /> { toggleFatterVedtakModal(false); opneSokeside(); diff --git a/packages/behandling-utvidet-rett/src/components/tester/utvidetRettTestData.ts b/packages/behandling-utvidet-rett/src/components/tester/utvidetRettTestData.ts index bf3d8b6f8d..73438b350f 100644 --- a/packages/behandling-utvidet-rett/src/components/tester/utvidetRettTestData.ts +++ b/packages/behandling-utvidet-rett/src/components/tester/utvidetRettTestData.ts @@ -1,31 +1,30 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import { Aksjonspunkt, Behandling, Fagsak, FagsakPerson, Rammevedtak, Vilkar } from '@k9-sak-web/types'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; -import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import UtvidetRettSoknad from '../../types/UtvidetRettSoknad'; const utvidetRettTestData = { aksjonspunkter: [ { - definisjon: { kode: aksjonspunktCodes.OMSORGEN_FOR, kodeverk: 'test' }, - status: { kode: 'UTFO', kodeverk: 'test' }, + definisjon: aksjonspunktCodes.OMSORGEN_FOR, + status: 'UTFO', kanLoses: true, erAktivt: true, }, { - definisjon: { kode: aksjonspunktCodes.UTVIDET_RETT, kodeverk: 'test' }, - status: { kode: 'UTFO', kodeverk: 'test' }, + definisjon: aksjonspunktCodes.UTVIDET_RETT, + status: 'UTFO', kanLoses: true, erAktivt: true, }, { - definisjon: { kode: aksjonspunktCodes.FORESLA_VEDTAK, kodeverk: 'test' }, - status: { kode: 'UTFO', kodeverk: 'test' }, + definisjon: aksjonspunktCodes.FORESLA_VEDTAK, + status: 'UTFO', kanLoses: true, erAktivt: true, }, @@ -42,8 +41,8 @@ const utvidetRettTestData = { behandling: { id: 995, versjon: 22, - status: { kode: behandlingStatus.AVSLUTTET, kodeverk: 'tilTest' }, - type: { kode: behandlingType.FØRSTEGANGSSØKNAD, kodeverk: 'BEHANDLING_TYPE' }, + status: behandlingStatus.AVSLUTTET, + type: 'BT-002', behandlingPaaVent: false, taskStatus: { readOnly: false, @@ -51,14 +50,16 @@ const utvidetRettTestData = { behandlingHenlagt: false, links: [], } as Behandling, + fagsak: { saksnummer: '111111', - sakstype: { kode: fagsakYtelsesType.OMP_KS, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, + sakstype: fagsakYtelsesType.OMP_KS, + status: fagsakStatus.UNDER_BEHANDLING, } as Fagsak, + fagsakPerson: { alder: 25, - personstatusType: { kode: personstatusType.BOSATT, kodeverk: 'tilTest' }, + personstatusType: personstatusType.BOSATT, erDod: false, erKvinne: false, navn: 'Espen testperson', @@ -86,23 +87,23 @@ const utvidetRettTestData = { }, vilkar: [ { - vilkarType: { kode: vilkarType.UTVIDETRETTVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.UTVIDETRETTVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], }, { - vilkarType: { kode: vilkarType.OMP_OMSORGENFORVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.OMP_OMSORGENFORVILKARET, overstyrbar: true, perioder: [ { merknadParametere: {}, - vilkarStatus: { kode: vilkarUtfallType.IKKE_VURDERT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_VURDERT, periode: { fom: '2020-12-30', tom: '2021-02-28' }, }, ], @@ -118,16 +119,15 @@ const utvidetRettTestData = { rolle: 'BARN', aktørId: '', personIdent: '', + situasjonKode: '', + tilleggsopplysninger: '', }, ], mottattDato: '2021-02-18', oppgittStartdato: '2021-02-18', oppgittTilknytning: null, soknadsdato: '2021-02-18', - spraakkode: { - kode: 'NB', - kodeverk: 'SPRAAK_KODE', - }, + spraakkode: 'NB', tilleggsopplysninger: null, søknadsperiode: { fom: '2021-02-18', diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/faktaPaneler/BarnFaktaPanelDef.tsx b/packages/behandling-utvidet-rett/src/panelDefinisjoner/faktaPaneler/BarnFaktaPanelDef.tsx index 3c505eea6d..5b8870455a 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/faktaPaneler/BarnFaktaPanelDef.tsx +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/faktaPaneler/BarnFaktaPanelDef.tsx @@ -1,6 +1,9 @@ import React from 'react'; + import { FaktaPanelDef } from '@k9-sak-web/behandling-felles'; import { faktaPanelCodes } from '@k9-sak-web/konstanter'; +import { Fagsak } from '@k9-sak-web/types'; + import UtvidetRettBarnFakta from '../../components/UtvidetRettBarnFakta/UtvidetRettBarnFakta'; class BarnFaktaPanelDef extends FaktaPanelDef { @@ -12,10 +15,18 @@ class BarnFaktaPanelDef extends FaktaPanelDef { getOverstyrVisningAvKomponent = ({ rammevedtak }) => !!rammevedtak; - getData = ({ personopplysninger, fagsak, rammevedtak }) => ({ + getData = ({ + personopplysninger, + fagsak, + rammevedtak, + }: { + personopplysninger: any; + fagsak: Fagsak; + rammevedtak: { rammevedtak: any[] }; + }) => ({ personopplysninger, rammevedtak: rammevedtak?.rammevedtak || [], - fagsaksType: fagsak.sakstype.kode, + fagsaksType: fagsak.sakstype, }); } export default BarnFaktaPanelDef; diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/UtvidetRettOmsorgenForMikrofrontendFelles.ts b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/UtvidetRettOmsorgenForMikrofrontendFelles.ts index 611aebcfe2..76318ae370 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/UtvidetRettOmsorgenForMikrofrontendFelles.ts +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/UtvidetRettOmsorgenForMikrofrontendFelles.ts @@ -1,6 +1,7 @@ import { Vilkar } from '@k9-sak-web/types'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { formatereLukketPeriode } from '@fpsak-frontend/utils'; + import { InformasjonOmVurdertVilkar } from '../../types/utvidetRettMikrofrontend/InformasjonOmVurdertVilkar'; export const generereInfoForVurdertVilkar = ( @@ -21,7 +22,7 @@ export const generereInfoForVurdertVilkar = ( const periode = vilkar.perioder[0]; vurdertVilkar.begrunnelse = begrunnelseFraAksjonspunkt; vurdertVilkar.navnPåAksjonspunkt = navnPåAksjonspunkt; - vurdertVilkar.vilkarOppfylt = periode.vilkarStatus.kode === vilkarUtfallType.OPPFYLT; + vurdertVilkar.vilkarOppfylt = periode.vilkarStatus === vilkarUtfallType.OPPFYLT; vurdertVilkar.vilkar = vilkar.lovReferanse; vurdertVilkar.periode = formatereLukketPeriode(`${periode.periode.fom}/${periode.periode.tom}`); } diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx index e8c8bcdc99..386c40c03d 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/VedtakProsessStegPanelDef.tsx @@ -1,9 +1,12 @@ import React from 'react'; + import VedtakProsessIndex from '@fpsak-frontend/prosess-vedtak'; import { prosessStegCodes } from '@k9-sak-web/konstanter'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import { ProsessStegDef, ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; +import { ProsessStegDef, ProsessStegPanelDef, Rettigheter } from '@k9-sak-web/behandling-felles'; import findStatusForVedtak from '@fpsak-frontend/utils/src/findStatusForVedtak'; +import { Aksjonspunkt, Fagsak, Personopplysninger, Vilkar } from '@k9-sak-web/types'; + import { UtvidetRettBehandlingApiKeys } from '../../data/utvidetRettBehandlingApi'; class PanelDef extends ProsessStegPanelDef { @@ -39,13 +42,23 @@ class PanelDef extends ProsessStegPanelDef { personopplysninger, arbeidsgiverOpplysningerPerId, lagreDokumentdata, + }: { + previewCallback: () => void; + hentFritekstbrevHtmlCallback: () => void; + rettigheter: Rettigheter; + aksjonspunkter: Aksjonspunkt[]; + vilkar: Vilkar[]; + fagsak: Fagsak; + personopplysninger: Personopplysninger; + arbeidsgiverOpplysningerPerId: Personopplysninger; + lagreDokumentdata: () => void; }) => ({ previewCallback, hentFritekstbrevHtmlCallback, aksjonspunkter, vilkar, personopplysninger, - ytelseTypeKode: fagsak.sakstype.kode, + ytelseTypeKode: fagsak.sakstype, employeeHasAccess: rettigheter.kanOverstyreAccess.isEnabled, arbeidsgiverOpplysningerPerId, lagreDokumentdata, diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/OmsorgenForPanelDef.tsx b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/OmsorgenForPanelDef.tsx index c3d50c091d..358b3ab36e 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/OmsorgenForPanelDef.tsx +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/OmsorgenForPanelDef.tsx @@ -1,10 +1,14 @@ +import React from 'react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; -import React from 'react'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; +import { Fagsak, Personopplysninger, Rammevedtak } from '@k9-sak-web/types'; + import OmsorgenForMikrofrontend from './omsorgenForMikrofrontend/OmsorgenForMikrofrontend'; import { harBarnSoktForRammevedtakOmKroniskSyk } from '../../../utils/utvidetRettHjelpfunksjoner'; +import { UtvidetRettSoknad } from '../../../types/UtvidetRettSoknad'; class OmsorgenForPanelDef extends ProsessStegPanelDef { getKomponent = props => ; @@ -17,11 +21,21 @@ class OmsorgenForPanelDef extends ProsessStegPanelDef { getOverstyrVisningAvKomponent = () => true; - getData = ({ fagsak, soknad, rammevedtak, personopplysninger }) => ({ + getData = ({ + fagsak, + soknad, + rammevedtak, + personopplysninger, + }: { + fagsak: Fagsak; + soknad: UtvidetRettSoknad; + rammevedtak: { rammevedtak: Rammevedtak[] }; + personopplysninger: Personopplysninger; + }) => ({ angitteBarn: soknad.angittePersoner.filter(person => person.rolle === 'BARN'), - fagsaksType: fagsak.sakstype.kode, + fagsaksType: fagsak.sakstype, harBarnSoktForRammevedtakOmKroniskSyk: - fagsak.sakstype.kode === fagsakYtelseType.OMSORGSPENGER_KRONISK_SYKT_BARN + fagsak.sakstype === fagsakYtelseType.OMSORGSPENGER_KRONISK_SYKT_BARN ? harBarnSoktForRammevedtakOmKroniskSyk(personopplysninger?.barnSoktFor || [], rammevedtak?.rammevedtak || []) : false, }); diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/omsorgenForMikrofrontend/KartleggePropertyTilOmsorgenForMikrofrontendKomponent.ts b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/omsorgenForMikrofrontend/KartleggePropertyTilOmsorgenForMikrofrontendKomponent.ts index af2af643af..b3098c3f93 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/omsorgenForMikrofrontend/KartleggePropertyTilOmsorgenForMikrofrontendKomponent.ts +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/inngangsvilkarPaneler/omsorgenForMikrofrontend/KartleggePropertyTilOmsorgenForMikrofrontendKomponent.ts @@ -3,8 +3,9 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; -import { Behandling } from '@k9-sak-web/types'; +import { Aksjonspunkt, Behandling } from '@k9-sak-web/types'; import { KomponenterEnum } from '@k9-sak-web/prosess-omsorgsdager'; + import { AksjonspunktInformasjon, VilkarInformasjon, @@ -41,22 +42,22 @@ const KartleggePropertyTilOmsorgenForMikrofrontendKomponent = ({ } => { const { aksjonspunkter, isAksjonspunktOpen } = aksjonspunktInformasjon; const { vilkar, status } = vilkarInformasjon; - const omsorgenForVilkar = vilkar.find(v => v.vilkarType.kode === vilkarType.OMSORGENFORVILKARET); + const omsorgenForVilkar = vilkar.find(v => v.vilkarType === vilkarType.OMSORGENFORVILKARET); const behandlingsID = behandling.id.toString(); - let aksjonspunkt; + let aksjonspunkt: Aksjonspunkt; if (aksjonspunkter) { - aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.OMSORGEN_FOR); + aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.OMSORGEN_FOR); } const vilkaretVurderesManuelltMedAksjonspunkt = aksjonspunkt && omsorgenForVilkar; // Vilkåret kan kun bli automatisk innvilget. Dersom det blir automatiskt avslått resulterer det i manuell vurdering via aksjonspunkt. const vilkaretErAutomatiskInnvilget = - !aksjonspunkt && omsorgenForVilkar && omsorgenForVilkar.perioder[0]?.vilkarStatus.kode === vilkarUtfallType.OPPFYLT; + !aksjonspunkt && omsorgenForVilkar && omsorgenForVilkar.perioder[0]?.vilkarStatus === vilkarUtfallType.OPPFYLT; if (vilkaretVurderesManuelltMedAksjonspunkt) { - const skalVilkarsUtfallVises = behandling.status.kode === behandlingStatus.AVSLUTTET; - const aksjonspunktLost = behandling.status.kode === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; + const skalVilkarsUtfallVises = behandling.status === behandlingStatus.AVSLUTTET; + const aksjonspunktLost = behandling.status === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; return { visKomponent: KomponenterEnum.OMSORG, @@ -81,7 +82,7 @@ const KartleggePropertyTilOmsorgenForMikrofrontendKomponent = ({ losAksjonspunkt: (harOmsorgen, begrunnelse) => { submitCallback([ { - kode: aksjonspunkt.definisjon.kode, + kode: aksjonspunkt.definisjon, harOmsorgenFor: harOmsorgen, begrunnelse, }, diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/UtvidetRettMikrofrontendPanelDef.tsx b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/UtvidetRettMikrofrontendPanelDef.tsx index 863bc3f314..6e9c2f09b0 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/UtvidetRettMikrofrontendPanelDef.tsx +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/UtvidetRettMikrofrontendPanelDef.tsx @@ -1,7 +1,10 @@ +import React from 'react'; + import { ProsessStegPanelDef } from '@k9-sak-web/behandling-felles'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import React from 'react'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; +import { Fagsak, Soknad } from '@k9-sak-web/types'; + import UtvidetRettMikrofrontend from './utvidetRettMikrofrontend/UtvidetRettMikrofrontend'; import { UtvidetRettBehandlingApiKeys } from '../../../data/utvidetRettBehandlingApi'; @@ -16,9 +19,9 @@ class UtvidetRettMikrofrontendPanelDef extends ProsessStegPanelDef { getOverstyrVisningAvKomponent = () => true; - getData = ({ fagsak, soknad }) => ({ + getData = ({ fagsak, soknad }: { fagsak: Fagsak; soknad: Soknad }) => ({ saksInformasjon: { - fagsaksType: fagsak.sakstype.kode, + fagsaksType: fagsak.sakstype, soknad, }, }); diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/KartleggePropertyTilUtvidetRettMikrofrontendKomponent.ts b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/KartleggePropertyTilUtvidetRettMikrofrontendKomponent.ts index f486955c1a..b5293456e0 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/KartleggePropertyTilUtvidetRettMikrofrontendKomponent.ts +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/KartleggePropertyTilUtvidetRettMikrofrontendKomponent.ts @@ -26,17 +26,17 @@ const KartleggePropertyTilUtvidetRettMikrofrontendKomponent = ( // I utvidet rett finns det en aksjonspunkt (9013) med vilkår og tre ulike fagytelsetyper (alene om omsorg, kronisk syk og midlertidig alene). - const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.UTVIDET_RETT); - const vilkaret = vilkar.find(v => v.vilkarType.kode === vilkarType.UTVIDETRETTVILKARET); + const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.UTVIDET_RETT); + const vilkaret = vilkar.find(v => v.vilkarType === vilkarType.UTVIDETRETTVILKARET); const eksistererAksjonspunktOgVilkar = aksjonspunkt && vilkar; const eksistererVilkarForAutomatiskInnvilgetAleneOmOmsorgen = fagsaksType === FagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN && vilkar; if (eksistererAksjonspunktOgVilkar || eksistererVilkarForAutomatiskInnvilgetAleneOmOmsorgen) { - const skalVilkarsUtfallVises = behandling.status.kode === behandlingStatus.AVSLUTTET; + const skalVilkarsUtfallVises = behandling.status === behandlingStatus.AVSLUTTET; const lesemodus = isReadOnly || !isAksjonspunktOpen; - const aksjonspunktLost = behandling.status.kode === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; + const aksjonspunktLost = behandling.status === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; const behandlingsID = behandling.id.toString(); switch (fagsaksType) { diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/AleneOmOmsorgenObjektTilMikrofrontend.ts b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/AleneOmOmsorgenObjektTilMikrofrontend.ts index 53890f2d5e..b9e13563b0 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/AleneOmOmsorgenObjektTilMikrofrontend.ts +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/AleneOmOmsorgenObjektTilMikrofrontend.ts @@ -26,7 +26,7 @@ interface OwnProps { } const formatereLesemodusObjekt = (vilkar: Vilkar, aksjonspunkt: Aksjonspunkt, status: string) => { - if (vilkar.perioder[0].vilkarStatus.kode !== vilkarUtfallType.IKKE_VURDERT) { + if (vilkar.perioder[0].vilkarStatus !== vilkarUtfallType.IKKE_VURDERT) { return { begrunnelse: aksjonspunkt.begrunnelse, vilkarOppfylt: status === vilkarUtfallType.OPPFYLT, @@ -82,16 +82,16 @@ const AleneOmOmsorgenObjektTilMikrofrontend = ({ visKomponent: KomponenterEnum.ALENE_OM_OMSORGEN; props: AleneOmOmsorgenProps; } => { - const erBehandlingRevurdering: boolean = behandling.type.kode === BehandlingType.REVURDERING; + const erBehandlingRevurdering: boolean = behandling.type === BehandlingType.REVURDERING; const angittBarn = soknad.angittePersoner.filter(person => person.rolle === 'BARN'); const barnetsFodselsdato = new Date(angittBarn[0].fødselsdato); const åretBarnetFyller18 = `${barnetsFodselsdato.getFullYear() + 18}-12-31`; const vilkaretVurderesManuelltMedAksjonspunkt = - aksjonspunkt && vilkar && aksjonspunkt.definisjon.kode === aksjonspunktCodes.UTVIDET_RETT; + aksjonspunkt && vilkar && aksjonspunkt.definisjon === aksjonspunktCodes.UTVIDET_RETT; // Vilkåret kan kun bli automatisk innvilget. Dersom det blir automatiskt avslått resulterer det i manuell vurdering via aksjonspunkt. const vilkaretErAutomatiskInnvilget = - !aksjonspunkt && vilkar && vilkar.perioder[0]?.vilkarStatus.kode === vilkarUtfallType.OPPFYLT; + !aksjonspunkt && vilkar && vilkar.perioder[0]?.vilkarStatus === vilkarUtfallType.OPPFYLT; if (vilkaretVurderesManuelltMedAksjonspunkt) { return { @@ -113,7 +113,7 @@ const AleneOmOmsorgenObjektTilMikrofrontend = ({ losAksjonspunkt: ({ begrunnelse, vilkarOppfylt, avslagsårsakKode, fraDato, tilDato }) => { submitCallback([ formatereLosAksjonspunktObjekt( - aksjonspunkt.definisjon.kode, + aksjonspunkt.definisjon, begrunnelse, vilkarOppfylt, avslagsårsakKode ?? AvslagskoderAleneOmOmsorgen.IKKE_GRUNNLAG_ALENE_OMSORG, diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend.ts b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend.ts index c621ec7fae..0888436b2d 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend.ts +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/KroniskSykObjektTilMikrofrontend.ts @@ -51,10 +51,10 @@ const formatereLosAksjonspunktObjektForKroniskSyk = ( }; const formatereLesemodusObjektForKroniskSyk = (vilkar: Vilkar, aksjonspunkt: Aksjonspunkt) => { - if (vilkar.perioder[0].vilkarStatus.kode !== vilkarUtfallType.IKKE_VURDERT) { + if (vilkar.perioder[0].vilkarStatus !== vilkarUtfallType.IKKE_VURDERT) { return { begrunnelse: aksjonspunkt.begrunnelse, - vilkarOppfylt: vilkar.perioder[0].vilkarStatus.kode === vilkarUtfallType.OPPFYLT, + vilkarOppfylt: vilkar.perioder[0].vilkarStatus === vilkarUtfallType.OPPFYLT, avslagsårsakKode: vilkar.perioder[0].avslagKode, fraDato: vilkar.perioder[0].periode.fom, } as InformasjonTilLesemodusKroniskSyk; @@ -97,7 +97,7 @@ const KroniskSykObjektTilMikrofrontend = ({ losAksjonspunkt: (harDokumentasjonOgFravaerRisiko, begrunnelse, avslagsårsakKode, fraDato) => { submitCallback([ formatereLosAksjonspunktObjektForKroniskSyk( - aksjonspunkt.definisjon.kode, + aksjonspunkt.definisjon, begrunnelse, harDokumentasjonOgFravaerRisiko, fraDato || soknad.soknadsdato, diff --git a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/MidlertidigAleneObjektTilMikrofrontend.ts b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/MidlertidigAleneObjektTilMikrofrontend.ts index 4d2a7a74ea..e5f74f658b 100644 --- a/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/MidlertidigAleneObjektTilMikrofrontend.ts +++ b/packages/behandling-utvidet-rett/src/panelDefinisjoner/prosessStegPaneler/utvidetRettPanel/utvidetRettMikrofrontend/formateringAvDataTilMikrofrontend/MidlertidigAleneObjektTilMikrofrontend.ts @@ -19,7 +19,7 @@ interface OwnProps { } const formatereLesemodusObjektForMidlertidigAlene = (vilkar: Vilkar, aksjonspunkt: Aksjonspunkt, status: string) => { - if (vilkar.perioder[0].vilkarStatus.kode !== vilkarUtfallType.IKKE_VURDERT) { + if (vilkar.perioder[0].vilkarStatus !== vilkarUtfallType.IKKE_VURDERT) { return { begrunnelse: aksjonspunkt.begrunnelse, vilkarOppfylt: status === vilkarUtfallType.OPPFYLT, @@ -105,7 +105,7 @@ const MidlertidigAleneObjektTilMikrofrontend = ({ }) => { submitCallback([ formatereLosAksjonspunktObjektForMidlertidigAlene( - aksjonspunkt.definisjon.kode, + aksjonspunkt.definisjon, begrunnelse, erSokerenMidlertidigAleneOmOmsorgen, { diff --git a/packages/behandling-utvidet-rett/src/types/FaktaProps.ts b/packages/behandling-utvidet-rett/src/types/FaktaProps.ts index 01584f01a8..be09aff497 100644 --- a/packages/behandling-utvidet-rett/src/types/FaktaProps.ts +++ b/packages/behandling-utvidet-rett/src/types/FaktaProps.ts @@ -1,12 +1,6 @@ -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; import { Rettigheter } from '@k9-sak-web/behandling-felles'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import FetchedData from './fetchedDataTsType'; export interface FaktaProps { @@ -14,7 +8,7 @@ export interface FaktaProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; hasFetchError: boolean; oppdaterProsessStegOgFaktaPanelIUrl: (prosessPanel?: string, faktanavn?: string) => void; diff --git a/packages/behandling-utvidet-rett/src/types/PanelerProps.ts b/packages/behandling-utvidet-rett/src/types/PanelerProps.ts index 577540b760..84e85c38f6 100644 --- a/packages/behandling-utvidet-rett/src/types/PanelerProps.ts +++ b/packages/behandling-utvidet-rett/src/types/PanelerProps.ts @@ -1,11 +1,5 @@ -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import { Rettigheter, SettPaVentParams } from '@k9-sak-web/behandling-felles'; import FetchedData from './fetchedDataTsType'; @@ -14,7 +8,7 @@ export interface PanelerProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; diff --git a/packages/behandling-utvidet-rett/src/types/ProsessProps.ts b/packages/behandling-utvidet-rett/src/types/ProsessProps.ts index 70b39ba99f..754b88661c 100644 --- a/packages/behandling-utvidet-rett/src/types/ProsessProps.ts +++ b/packages/behandling-utvidet-rett/src/types/ProsessProps.ts @@ -1,12 +1,6 @@ -import { - ArbeidsgiverOpplysningerPerId, - Behandling, - Fagsak, - FagsakPerson, - FeatureToggles, - KodeverkMedNavn, -} from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Behandling, Fagsak, FagsakPerson, FeatureToggles } from '@k9-sak-web/types'; import { Rettigheter } from '@k9-sak-web/behandling-felles'; +import { AlleKodeverk } from '@k9-sak-web/lib/kodeverk/types.js'; import FetchedData from './fetchedDataTsType'; export interface ProsessProps { @@ -14,7 +8,7 @@ export interface ProsessProps { fagsak: Fagsak; fagsakPerson: FagsakPerson; behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + alleKodeverk: AlleKodeverk; rettigheter: Rettigheter; valgtProsessSteg?: string; valgtFaktaSteg?: string; diff --git a/packages/behandling-utvidet-rett/src/types/UtvidetRettSoknad.ts b/packages/behandling-utvidet-rett/src/types/UtvidetRettSoknad.ts index f4f4e672b9..0ed724bbd5 100644 --- a/packages/behandling-utvidet-rett/src/types/UtvidetRettSoknad.ts +++ b/packages/behandling-utvidet-rett/src/types/UtvidetRettSoknad.ts @@ -8,10 +8,7 @@ export interface UtvidetRettSoknad { oppgittStartdato: string; oppgittTilknytning: string; soknadsdato: string; - spraakkode: { - kode: string; - kodeverk: string; - }; + spraakkode: string; tilleggsopplysninger: string; søknadsperiode: { fom: string; diff --git a/packages/fakta-arbeidsforhold/src/ArbeidsforholdFaktaIndex.tsx b/packages/fakta-arbeidsforhold/src/ArbeidsforholdFaktaIndex.tsx index 40584bdb25..6583170626 100644 --- a/packages/fakta-arbeidsforhold/src/ArbeidsforholdFaktaIndex.tsx +++ b/packages/fakta-arbeidsforhold/src/ArbeidsforholdFaktaIndex.tsx @@ -1,9 +1,12 @@ import React from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; + import ArbeidsforholdV2 from '@k9-sak-web/types/src/arbeidsforholdV2TsType'; -import { ArbeidsgiverOpplysningerPerId, Behandling, KodeverkMedNavn } from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Behandling } from '@k9-sak-web/types'; import StandardFaktaProps from '@k9-sak-web/fakta-felles/standardFaktaPropsTsType'; + import ArbeidsforholdInfoPanel from './components/ArbeidsforholdInfoPanel'; + import messages from '../i18n/nb_NO.json'; const cache = createIntlCache(); @@ -18,7 +21,6 @@ const intl = createIntl( interface OwnProps { behandling: Behandling; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; arbeidsforhold: ArbeidsforholdV2[]; } @@ -27,7 +29,6 @@ const ArbeidsforholdFaktaIndex = ({ behandling, arbeidsforhold, arbeidsgiverOpplysningerPerId, - alleKodeverk, alleMerknaderFraBeslutter, aksjonspunkter, harApneAksjonspunkter, @@ -41,7 +42,6 @@ const ArbeidsforholdFaktaIndex = ({ behandlingVersjon={behandling.versjon} arbeidsforhold={arbeidsforhold} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} - alleKodeverk={alleKodeverk} alleMerknaderFraBeslutter={alleMerknaderFraBeslutter} aksjonspunkter={aksjonspunkter} hasOpenAksjonspunkter={harApneAksjonspunkter} diff --git a/packages/fakta-arbeidsforhold/src/components/ArbeidsforholdInfoPanel.spec.tsx b/packages/fakta-arbeidsforhold/src/components/ArbeidsforholdInfoPanel.spec.tsx index 547f63e7e4..81f494e6cd 100644 --- a/packages/fakta-arbeidsforhold/src/components/ArbeidsforholdInfoPanel.spec.tsx +++ b/packages/fakta-arbeidsforhold/src/components/ArbeidsforholdInfoPanel.spec.tsx @@ -1,37 +1,25 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../i18n/nb_NO.json'; import ArbeidsforholdInfoPanel from './ArbeidsforholdInfoPanel'; +import messages from '../../i18n/nb_NO.json'; const ap5080 = { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', begrunnelse: null, besluttersBegrunnelse: null, - definisjon: { - kode: '5080', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '5080', erAktivt: true, fristTid: null, kanLoses: true, - status: { - kode: 'OPPR', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'OPPR', toTrinnsBehandling: false, toTrinnsBehandlingGodkjent: null, vilkarType: null, vurderPaNyttArsaker: null, - venteårsak: { - kode: '-', - kodeverk: 'VENT_AARSAK', - }, + venteårsak: '-', }; const submitCallback = vi.fn(); @@ -48,7 +36,6 @@ describe('', () => { hasOpenAksjonspunkter behandlingId={1} behandlingVersjon={1} - alleKodeverk={{}} arbeidsgiverOpplysningerPerId={{}} alleMerknaderFraBeslutter={{}} {...reduxFormPropsMock} @@ -72,7 +59,6 @@ describe('', () => { hasOpenAksjonspunkter={false} behandlingId={1} behandlingVersjon={1} - alleKodeverk={{}} arbeidsgiverOpplysningerPerId={{}} alleMerknaderFraBeslutter={{}} {...reduxFormPropsMock} diff --git a/packages/fakta-arbeidsforhold/src/components/ArbeidsforholdInfoPanel.tsx b/packages/fakta-arbeidsforhold/src/components/ArbeidsforholdInfoPanel.tsx index 280eb81cd2..067e963c96 100644 --- a/packages/fakta-arbeidsforhold/src/components/ArbeidsforholdInfoPanel.tsx +++ b/packages/fakta-arbeidsforhold/src/components/ArbeidsforholdInfoPanel.tsx @@ -1,15 +1,15 @@ +import React from 'react'; +import { connect } from 'react-redux'; +import { InjectedFormProps } from 'redux-form'; +import { createSelector } from 'reselect'; +import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl'; import { behandlingForm } from '@fpsak-frontend/form'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { AksjonspunktHelpText } from '@fpsak-frontend/shared-components'; import { omit } from '@fpsak-frontend/utils'; -import { Aksjonspunkt, ArbeidsgiverOpplysningerPerId, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Aksjonspunkt, ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types'; import ArbeidsforholdV2 from '@k9-sak-web/types/src/arbeidsforholdV2TsType'; import { Box } from '@navikt/ds-react'; -import React from 'react'; -import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl'; -import { connect } from 'react-redux'; -import { InjectedFormProps } from 'redux-form'; -import { createSelector } from 'reselect'; import { BekreftOgForsettKnapp } from './BekreftOgForsettKnapp'; import PersonArbeidsforholdPanel from './PersonArbeidsforholdPanel'; import styles from './arbeidsforholdInfoPanel.module.css'; @@ -35,8 +35,8 @@ export const fjernIdFraArbeidsforholdLagtTilAvSaksbehandler = arbeidsforhold => return a; }); -const harAksjonspunkt = (aksjonspunktCode, aksjonspunkter) => - aksjonspunkter.some(ap => ap.definisjon.kode === aksjonspunktCode); +const harAksjonspunkt = (aksjonspunktCode: string, aksjonspunkter: Aksjonspunkt[]) => + aksjonspunkter.some(ap => ap.definisjon === aksjonspunktCode); interface PureOwnProps { behandlingId: number; @@ -46,7 +46,6 @@ interface PureOwnProps { submitCallback: (...args: any[]) => any; readOnly: boolean; hasOpenAksjonspunkter: boolean; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; alleMerknaderFraBeslutter: { [key: string]: { notAccepted?: boolean } }; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; } @@ -62,7 +61,6 @@ export const ArbeidsforholdInfoPanelImpl = ({ alleMerknaderFraBeslutter, arbeidsgiverOpplysningerPerId, hasOpenAksjonspunkter, - alleKodeverk, behandlingId, behandlingVersjon, intl, @@ -95,7 +93,6 @@ export const ArbeidsforholdInfoPanelImpl = ({ arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} harAksjonspunktAvklarArbeidsforhold={harAksjonspunktAvklarArbeidsforhold} alleMerknaderFraBeslutter={alleMerknaderFraBeslutter} - alleKodeverk={alleKodeverk} behandlingId={behandlingId} behandlingVersjon={behandlingVersjon} /> diff --git a/packages/fakta-arbeidsforhold/src/components/PersonArbeidsforholdPanel.spec.tsx b/packages/fakta-arbeidsforhold/src/components/PersonArbeidsforholdPanel.spec.tsx index a2dddbce6c..f3837f9900 100644 --- a/packages/fakta-arbeidsforhold/src/components/PersonArbeidsforholdPanel.spec.tsx +++ b/packages/fakta-arbeidsforhold/src/components/PersonArbeidsforholdPanel.spec.tsx @@ -1,10 +1,10 @@ +import React from 'react'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { act, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import React from 'react'; -import messages from '../../i18n/nb_NO.json'; import { PersonArbeidsforholdPanelImpl } from './PersonArbeidsforholdPanel'; +import messages from '../../i18n/nb_NO.json'; const arbeidsgiverOpplysningerPerId = { 1234567: { @@ -47,22 +47,9 @@ describe('', () => { tom: '2018-10-10', }, ], - kilde: [ - { - kode: 'INNTEKT', - kodeverk: '', - }, - ], - handlingType: { - kode: 'BRUK', - kodeverk: 'ARBEIDSFORHOLD_HANDLING_TYPE', - }, - aksjonspunktÅrsaker: [ - { - kode: 'INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD', - kodeverk: 'ARBEIDSFORHOLD_AKSJONSPUNKT_ÅRSAKER', - }, - ], + kilde: ['INNTEKT'], + handlingType: 'BRUK', + aksjonspunktÅrsaker: ['INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD'], inntektsmeldinger: [], }; @@ -78,7 +65,6 @@ describe('', () => { reduxFormInitialize={vi.fn()} behandlingId={1} behandlingVersjon={1} - alleKodeverk={{}} alleMerknaderFraBeslutter={{}} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} />, diff --git a/packages/fakta-arbeidsforhold/src/components/PersonArbeidsforholdPanel.tsx b/packages/fakta-arbeidsforhold/src/components/PersonArbeidsforholdPanel.tsx index c5378b9953..f3a2f07154 100644 --- a/packages/fakta-arbeidsforhold/src/components/PersonArbeidsforholdPanel.tsx +++ b/packages/fakta-arbeidsforhold/src/components/PersonArbeidsforholdPanel.tsx @@ -1,3 +1,10 @@ +import React, { Component } from 'react'; +import { connect } from 'react-redux'; +import { WrappedComponentProps } from 'react-intl'; +import { Dispatch, bindActionCreators } from 'redux'; +import { change as reduxFormChange, initialize as reduxFormInitialize } from 'redux-form'; +import { FormAction } from 'redux-form/lib/actions'; +import { BodyShort } from '@navikt/ds-react'; import advarselImageUrl from '@fpsak-frontend/assets/images/advarsel2.svg'; import briefcaseImg from '@fpsak-frontend/assets/images/briefcase.svg'; import chevronIkonUrl from '@fpsak-frontend/assets/images/pil_ned.svg'; @@ -13,28 +20,21 @@ import { VerticalSpacer, } from '@fpsak-frontend/shared-components'; import { arbeidsforholdHarAksjonspunktÅrsak } from '@fpsak-frontend/utils/src/arbeidsforholdUtils'; -import { ArbeidsgiverOpplysningerPerId, KodeverkMedNavn } from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types'; import ArbeidsforholdV2 from '@k9-sak-web/types/src/arbeidsforholdV2TsType'; import Arbeidsgiver from '@k9-sak-web/types/src/arbeidsgiverTsType'; -import { BodyShort } from '@navikt/ds-react'; -import React, { Component } from 'react'; -import { WrappedComponentProps } from 'react-intl'; -import { connect } from 'react-redux'; -import { Dispatch, bindActionCreators } from 'redux'; -import { change as reduxFormChange, initialize as reduxFormInitialize } from 'redux-form'; -import { FormAction } from 'redux-form/lib/actions'; import arbeidsforholdKilder from '../kodeverk/arbeidsforholdKilder'; import { PERSON_ARBEIDSFORHOLD_DETAIL_FORM } from './arbeidsforholdDetaljer/PersonArbeidsforholdDetailForm'; import PersonArbeidsforholdTable from './arbeidsforholdTabell/PersonArbeidsforholdTable'; - +import CustomArbeidsforhold from '../typer/CustomArbeidsforholdTsType'; import styles from './personArbeidsforholdPanel.module.css'; // ------------------------------------------------------------------------------------------------------------- // Methods // ------------------------------------------------------------------------------------------------------------- -const cleanUpArbeidsforhold = (newValues, originalValues) => { - if (newValues.handlingType.kode !== arbeidsforholdHandlingType.BRUK) { +const cleanUpArbeidsforhold = (newValues: CustomArbeidsforhold, originalValues) => { + if (newValues.handlingType !== arbeidsforholdHandlingType.BRUK) { return { ...newValues, tomDato: originalValues.tomDato, @@ -49,7 +49,6 @@ interface PureOwnProps { readOnly: boolean; harAksjonspunktAvklarArbeidsforhold: boolean; alleMerknaderFraBeslutter: { [key: string]: { notAccepted?: boolean } }; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; } @@ -162,7 +161,7 @@ export class PersonArbeidsforholdPanelImpl extends Component { } } - updateArbeidsforhold(values) { + updateArbeidsforhold(values: CustomArbeidsforhold) { const { selectedArbeidsforhold } = this.state; const { arbeidsforhold } = this.props; @@ -170,8 +169,8 @@ export class PersonArbeidsforholdPanelImpl extends Component { const lagtTilAvSaksbehandler = handlingType === arbeidsforholdHandlingType.BASERT_PÅ_INNTEKTSMELDING; if (lagtTilAvSaksbehandler) { - if (!values.kilde.map(k => k.kode).includes(arbeidsforholdKilder.SAKSBEHANDLER)) { - values.kilde.push({ kode: arbeidsforholdKilder.SAKSBEHANDLER }); + if (!values.kilde.map(k => k).includes(arbeidsforholdKilder.SAKSBEHANDLER)) { + values.kilde.push(arbeidsforholdKilder.SAKSBEHANDLER); } } @@ -195,7 +194,7 @@ export class PersonArbeidsforholdPanelImpl extends Component { newValues = { ...values, handlingType, - arbeidsgiverNavn, + navn: arbeidsgiverNavn, stillingsprosent, perioder, }; @@ -225,7 +224,6 @@ export class PersonArbeidsforholdPanelImpl extends Component { arbeidsgiverOpplysningerPerId, arbeidsforhold, alleMerknaderFraBeslutter, - alleKodeverk, behandlingId, behandlingVersjon, harAksjonspunktAvklarArbeidsforhold, @@ -291,7 +289,6 @@ export class PersonArbeidsforholdPanelImpl extends Component { harAksjonspunktAvklarArbeidsforhold={harAksjonspunktAvklarArbeidsforhold} selectedId={selectedArbeidsforhold ? selectedArbeidsforhold.id : undefined} alleArbeidsforhold={arbeidsforholdPerArbeidsgiver} - alleKodeverk={alleKodeverk} behandlingId={behandlingId} behandlingVersjon={behandlingVersjon} updateArbeidsforhold={this.updateArbeidsforhold} diff --git a/packages/fakta-arbeidsforhold/src/components/arbeidsforholdDetaljer/PermisjonerInfo.tsx b/packages/fakta-arbeidsforhold/src/components/arbeidsforholdDetaljer/PermisjonerInfo.tsx index ff744fa23e..b33bb1450a 100644 --- a/packages/fakta-arbeidsforhold/src/components/arbeidsforholdDetaljer/PermisjonerInfo.tsx +++ b/packages/fakta-arbeidsforhold/src/components/arbeidsforholdDetaljer/PermisjonerInfo.tsx @@ -1,23 +1,20 @@ -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { PeriodLabel, VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; -import ArbeidsforholdV2 from '@k9-sak-web/types/src/arbeidsforholdV2TsType'; -import { BodyShort } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage } from 'react-intl'; - +import { BodyShort } from '@navikt/ds-react'; +import { PeriodLabel, VerticalSpacer } from '@fpsak-frontend/shared-components'; +import ArbeidsforholdV2 from '@k9-sak-web/types/src/arbeidsforholdV2TsType'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import styles from './permisjonPeriode.module.css'; const utledPeriodeLabelKey = (id, index) => id + index; interface OwnProps { arbeidsforhold: ArbeidsforholdV2; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; } -const PermisjonerInfo = ({ arbeidsforhold, alleKodeverk }: OwnProps) => { - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); +const PermisjonerInfo = ({ arbeidsforhold }: OwnProps) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); return ( // eslint-disable-next-line react/jsx-no-useless-fragment <> @@ -41,7 +38,9 @@ const PermisjonerInfo = ({ arbeidsforhold, alleKodeverk }: OwnProps) => { - {permisjon.type.kode === '-' ? 'Ukjent' : getKodeverknavn(permisjon.type)} + {permisjon.type === '-' + ? 'Ukjent' + : kodeverkNavnFraKode(permisjon.type, KodeverkType.PERMISJONSBESKRIVELSE_TYPE)} diff --git a/packages/fakta-arbeidsforhold/src/components/arbeidsforholdDetaljer/PersonArbeidsforholdDetailForm.spec.tsx b/packages/fakta-arbeidsforhold/src/components/arbeidsforholdDetaljer/PersonArbeidsforholdDetailForm.spec.tsx index 7ee0e6af14..6887aac788 100644 --- a/packages/fakta-arbeidsforhold/src/components/arbeidsforholdDetaljer/PersonArbeidsforholdDetailForm.spec.tsx +++ b/packages/fakta-arbeidsforhold/src/components/arbeidsforholdDetaljer/PersonArbeidsforholdDetailForm.spec.tsx @@ -1,11 +1,14 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; + import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../../i18n/nb_NO.json'; + import { PersonArbeidsforholdDetailForm } from './PersonArbeidsforholdDetailForm'; +import messages from '../../../i18n/nb_NO.json'; + describe('', () => { const arbeidsforhold = { id: '1', @@ -23,22 +26,9 @@ describe('', () => { tom: '2018-10-10', }, ], - kilde: [ - { - kode: 'INNTEKT', - kodeverk: '', - }, - ], - handlingType: { - kode: 'BRUK', - kodeverk: 'ARBEIDSFORHOLD_HANDLING_TYPE', - }, - aksjonspunktÅrsaker: [ - { - kode: 'INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD', - kodeverk: 'ARBEIDSFORHOLD_AKSJONSPUNKT_ÅRSAKER', - }, - ], + kilde: ['INNTEKT'], + handlingType: 'BRUK', + aksjonspunktÅrsaker: ['INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD'], inntektsmeldinger: [], }; it('skal ikke vise tekstfelt for begrunnelse når form ikke er dirty og begrunnelse ikke har verdi', () => { @@ -92,12 +82,7 @@ describe('', () => { it('skal ikke vise radioknapper når det er mismatch med arbeidsforholdId og virksomhetsnummer', () => { const arbeidsforhold2 = { ...arbeidsforhold, - aksjonspunktÅrsaker: [ - { - kode: 'OVERGANG_ARBEIDSFORHOLDS_ID_UNDER_YTELSE', - kodeverk: 'ARBEIDSFORHOLD_AKSJONSPUNKT_ÅRSAKER', - }, - ], + aksjonspunktÅrsaker: ['OVERGANG_ARBEIDSFORHOLDS_ID_UNDER_YTELSE'], }; renderWithIntlAndReduxForm( - arbeidsforhold.aksjonspunktÅrsaker.some(a => a.kode === aksjonspunktÅrsaker.INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD); +const IMutenArbeidsforhold = (arbeidsforhold: ArbeidsforholdV2) => + arbeidsforhold.aksjonspunktÅrsaker.some(a => a === aksjonspunktÅrsaker.INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD); interface PureOwnProps { arbeidsforhold: ArbeidsforholdV2; @@ -86,13 +87,13 @@ export const PersonArbeidsforholdDetailForm = ({ ); -const validateForm = values => ({ +const validateForm = (values: CustomArbeidsforhold) => ({ ...LeggTilArbeidsforholdFelter.validate(values), }); const mapStateToPropsFactory = (_initialState: any, initialOwnProps: PureOwnProps) => (state, ownProps) => { const { arbeidsforhold, readOnly, behandlingId, behandlingVersjon, skjulArbeidsforhold } = ownProps; - const onSubmit = values => { + const onSubmit = (values: CustomArbeidsforhold) => { initialOwnProps.updateArbeidsforhold(values); skjulArbeidsforhold(); }; diff --git a/packages/fakta-arbeidsforhold/src/components/arbeidsforholdTabell/PersonArbeidsforholdTable.spec.tsx b/packages/fakta-arbeidsforhold/src/components/arbeidsforholdTabell/PersonArbeidsforholdTable.spec.tsx index cfe9053693..1ee10b372d 100644 --- a/packages/fakta-arbeidsforhold/src/components/arbeidsforholdTabell/PersonArbeidsforholdTable.spec.tsx +++ b/packages/fakta-arbeidsforhold/src/components/arbeidsforholdTabell/PersonArbeidsforholdTable.spec.tsx @@ -1,11 +1,14 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; + import arbeidsforholdHandlingType from '@fpsak-frontend/kodeverk/src/arbeidsforholdHandlingType'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../../i18n/nb_NO.json'; + import PersonArbeidsforholdTable from './PersonArbeidsforholdTable'; +import messages from '../../../i18n/nb_NO.json'; + describe('', () => { const arbeidsforhold = { id: '1', @@ -23,22 +26,9 @@ describe('', () => { tom: '2018-10-10', }, ], - kilde: [ - { - kode: 'INNTEKT', - kodeverk: '', - }, - ], - handlingType: { - kode: 'BRUK', - kodeverk: 'ARBEIDSFORHOLD_HANDLING_TYPE', - }, - aksjonspunktÅrsaker: [ - { - kode: 'INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD', - kodeverk: 'ARBEIDSFORHOLD_AKSJONSPUNKT_ÅRSAKER', - }, - ], + kilde: ['INNTEKT'], + handlingType: 'BRUK', + aksjonspunktÅrsaker: ['INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD'], inntektsmeldinger: [], yrkestittel: 'Vaktmester', stillingsprosent: 80, @@ -60,22 +50,9 @@ describe('', () => { tom: '2018-10-10', }, ], - kilde: [ - { - kode: 'INNTEKT', - kodeverk: '', - }, - ], - handlingType: { - kode: 'BRUK', - kodeverk: 'ARBEIDSFORHOLD_HANDLING_TYPE', - }, - aksjonspunktÅrsaker: [ - { - kode: 'INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD', - kodeverk: 'ARBEIDSFORHOLD_AKSJONSPUNKT_ÅRSAKER', - }, - ], + kilde: ['INNTEKT'], + handlingType: 'BRUK', + aksjonspunktÅrsaker: ['INNTEKTSMELDING_UTEN_ARBEIDSFORHOLD'], inntektsmeldinger: [], }; @@ -86,7 +63,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[arbeidsforhold, arbeidsforhold2]} selectedId={arbeidsforhold.id} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -114,7 +90,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[newArbeidsforhold]} selectedId={newArbeidsforhold.id} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -127,10 +102,7 @@ describe('', () => { it('skal ikke vise ikon for at arbeidsforholdet er i bruk', () => { const newArbeidsforhold = { ...arbeidsforhold, - handlingType: { - kode: arbeidsforholdHandlingType.IKKE_BRUK, - kodeverk: '', - }, + handlingType: arbeidsforholdHandlingType.IKKE_BRUK, aksjonspunktÅrsaker: [], }; renderWithIntlAndReduxForm( @@ -139,7 +111,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[newArbeidsforhold]} selectedId={arbeidsforhold.id} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -153,10 +124,7 @@ describe('', () => { it('skal vise ikon for at arbeidsforholdet er i bruk', () => { const newArbeidsforhold = { ...arbeidsforhold, - handlingType: { - kode: arbeidsforholdHandlingType.BRUK, - kodeverk: '', - }, + handlingType: arbeidsforholdHandlingType.BRUK, aksjonspunktÅrsaker: [], }; @@ -166,7 +134,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[newArbeidsforhold]} selectedId={newArbeidsforhold.id} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -184,7 +151,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[]} selectedId={undefined} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -206,7 +172,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[endretArbeidsforhold]} selectedId={undefined} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -220,10 +185,7 @@ describe('', () => { it('skal vise arbeidsforholdId når lagt til av saksbehandler', () => { const endretArbeidsforhold = { ...arbeidsforhold, - handlingType: { - kode: arbeidsforholdHandlingType.BASERT_PÅ_INNTEKTSMELDING, - kodeverk: '', - }, + handlingType: arbeidsforholdHandlingType.BASERT_PÅ_INNTEKTSMELDING, yrkestittel: 'Lærer', }; renderWithIntlAndReduxForm( @@ -232,7 +194,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[endretArbeidsforhold]} selectedId={undefined} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -253,7 +214,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[endretArbeidsforhold]} selectedId={undefined} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -283,7 +243,6 @@ describe('', () => { intl={intlMock} alleArbeidsforhold={[arbeidsforhold]} selectedId="1" - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} @@ -306,7 +265,6 @@ describe('', () => { }, ]} selectedId={undefined} - alleKodeverk={{}} behandlingId={1} behandlingVersjon={2} updateArbeidsforhold={() => undefined} diff --git a/packages/fakta-arbeidsforhold/src/components/arbeidsforholdTabell/PersonArbeidsforholdTable.tsx b/packages/fakta-arbeidsforhold/src/components/arbeidsforholdTabell/PersonArbeidsforholdTable.tsx index a8e0d2273e..6ed34cbba1 100644 --- a/packages/fakta-arbeidsforhold/src/components/arbeidsforholdTabell/PersonArbeidsforholdTable.tsx +++ b/packages/fakta-arbeidsforhold/src/components/arbeidsforholdTabell/PersonArbeidsforholdTable.tsx @@ -1,3 +1,6 @@ +import React, { Fragment, useState } from 'react'; +import { FormattedMessage, IntlShape } from 'react-intl'; +import { BodyShort, Table } from '@navikt/ds-react'; import erIBrukImageUrl from '@fpsak-frontend/assets/images/innvilget_hover.svg'; import chevronIkonUrl from '@fpsak-frontend/assets/images/pil_ned.svg'; import arbeidsforholdHandlingType from '@fpsak-frontend/kodeverk/src/arbeidsforholdHandlingType'; @@ -5,14 +8,10 @@ import { DateLabel, Image, PeriodLabel } from '@fpsak-frontend/shared-components import FlexRow from '@fpsak-frontend/shared-components/src/flexGrid/FlexRow'; import { decodeHtmlEntity } from '@fpsak-frontend/utils'; import { arbeidsforholdHarAksjonspunktÅrsak } from '@fpsak-frontend/utils/src/arbeidsforholdUtils'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; import ArbeidsforholdV2 from '@k9-sak-web/types/src/arbeidsforholdV2TsType'; -import { BodyShort, Table } from '@navikt/ds-react'; -import React, { Fragment, useState } from 'react'; -import { FormattedMessage, IntlShape } from 'react-intl'; +import IngenArbeidsforholdRegistrert from './IngenArbeidsforholdRegistrert'; import PermisjonerInfo from '../arbeidsforholdDetaljer/PermisjonerInfo'; import PersonArbeidsforholdDetailForm from '../arbeidsforholdDetaljer/PersonArbeidsforholdDetailForm'; -import IngenArbeidsforholdRegistrert from './IngenArbeidsforholdRegistrert'; import styles from './personArbeidsforholdTable.module.css'; const headerColumnContent = [ @@ -28,7 +27,6 @@ const headerColumnContent = [ interface OwnProps { alleArbeidsforhold: ArbeidsforholdV2[]; updateArbeidsforhold: (values: any) => void; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; selectedId?: string; behandlingId: number; behandlingVersjon: number; @@ -39,7 +37,6 @@ interface OwnProps { const PersonArbeidsforholdTable = ({ alleArbeidsforhold, selectedId, - alleKodeverk, behandlingId, behandlingVersjon, updateArbeidsforhold, @@ -92,8 +89,7 @@ const PersonArbeidsforholdTable = ({ ? `${a.stillingsprosent.toFixed(2)} %` : ''; const arbeidsforholdId = a.arbeidsforhold.eksternArbeidsforholdId; - const kilde = - Array.isArray(a.kilde) && (a.kilde.length > 1 ? a.kilde.map(k => k.kode).join(', ') : a.kilde[0].kode); + const kilde = Array.isArray(a.kilde) && (a.kilde.length > 1 ? a.kilde.map(k => k).join(', ') : a.kilde[0]); const erValgt = selectedArbeidsforhold === a; const harPermisjoner = Array.isArray(a.permisjoner) && a.permisjoner.length > 0; const harPerioder = Array.isArray(a.perioder) && a.perioder.length > 0; @@ -154,7 +150,7 @@ const PersonArbeidsforholdTable = ({ )} - {a.handlingType && a.handlingType.kode === arbeidsforholdHandlingType.BRUK && !harAksjonspunkt && ( + {a.handlingType && a.handlingType === arbeidsforholdHandlingType.BRUK && !harAksjonspunkt && ( {intl.formatMessage({ setVisAksjonspunktInfo(false)} behandlingId={behandlingId} behandlingVersjon={behandlingVersjon} - alleKodeverk={alleKodeverk} /> )} {erValgt && visPermisjon(a) && ( - + )} diff --git a/packages/fakta-bosted-soker/package.json b/packages/fakta-bosted-soker/package.json index 9e7ab83ab2..8196c1469f 100644 --- a/packages/fakta-bosted-soker/package.json +++ b/packages/fakta-bosted-soker/package.json @@ -8,7 +8,7 @@ "dependencies": { "@fpsak-frontend/kodeverk": "1.0.0", "@fpsak-frontend/utils": "1.0.0", - "@k9-sak-web/types": "1.0.0", + "@k9-sak-web/backend": "1.0.0", "react": "18.3.1", "react-intl": "6.6.8" }, diff --git a/packages/fakta-bosted-soker/src/BostedSokerFaktaIndex.spec.tsx b/packages/fakta-bosted-soker/src/BostedSokerFaktaIndex.spec.tsx index 703c0ca853..4d50c8f651 100644 --- a/packages/fakta-bosted-soker/src/BostedSokerFaktaIndex.spec.tsx +++ b/packages/fakta-bosted-soker/src/BostedSokerFaktaIndex.spec.tsx @@ -1,43 +1,34 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../i18n/nb_NO.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import { behandlingType} from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; import BostedSokerFaktaIndex, { BostedSokerPersonopplysninger } from './BostedSokerFaktaIndex'; +import messages from '../i18n/nb_NO.json'; describe('', () => { - const personstatusTypes = [ - { - kode: personstatusType.BOSATT, - navn: 'Bosatt', - }, - { - kode: personstatusType.DOD, - navn: 'Bosatt', - }, - ] as KodeverkMedNavn[]; it('vise rendre komponent korrekt', () => { + // requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); renderWithIntl( - , + + + , { messages }, ); diff --git a/packages/fakta-bosted-soker/src/BostedSokerFaktaIndex.tsx b/packages/fakta-bosted-soker/src/BostedSokerFaktaIndex.tsx index 450df1b984..e0d497449e 100644 --- a/packages/fakta-bosted-soker/src/BostedSokerFaktaIndex.tsx +++ b/packages/fakta-bosted-soker/src/BostedSokerFaktaIndex.tsx @@ -1,9 +1,6 @@ import React from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; - -import { KodeverkMedNavn } from '@k9-sak-web/types'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; - +import { PersonopplysningAdresse } from '@k9-sak-web/types'; import BostedSokerView from './components/BostedSokerView'; import messages from '../i18n/nb_NO.json'; @@ -19,44 +16,26 @@ const intl = createIntl( export type BostedSokerPersonopplysninger = { navn: string; - adresser: [ - { - adresseType: KodeverkMedNavn; - adresselinje1: string; - adresselinje2?: string; - adresselinje3?: string; - postNummer?: string; - poststed?: string; - land?: string; - }, - ]; - sivilstand: KodeverkMedNavn; - region: KodeverkMedNavn; - personstatus: KodeverkMedNavn; + adresser: PersonopplysningAdresse[]; + sivilstand: string; + region: string; + personstatus: string; avklartPersonstatus: { - overstyrtPersonstatus: KodeverkMedNavn; + overstyrtPersonstatus: string; }; }; interface OwnProps { personopplysninger: BostedSokerPersonopplysninger; sokerTypeTextId?: string; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; } const BostedSokerFaktaIndex = ({ personopplysninger, sokerTypeTextId = 'BostedSokerFaktaIndex.Soker', - alleKodeverk, }: OwnProps): JSX.Element => ( - + ); diff --git a/packages/fakta-bosted-soker/src/components/BostedSokerView.spec.tsx b/packages/fakta-bosted-soker/src/components/BostedSokerView.spec.tsx index fadc606eb4..f9adbbbe0f 100644 --- a/packages/fakta-bosted-soker/src/components/BostedSokerView.spec.tsx +++ b/packages/fakta-bosted-soker/src/components/BostedSokerView.spec.tsx @@ -1,84 +1,46 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import sivilstandType from '@fpsak-frontend/kodeverk/src/sivilstandType'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../i18n/nb_NO.json'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; import { BostedSokerPersonopplysninger } from '../BostedSokerFaktaIndex'; import { BostedSokerView } from './BostedSokerView'; +import messages from '../../i18n/nb_NO.json'; describe('', () => { const soker = { navn: 'Espen Utvikler', adresser: [ { - adresseType: { - kode: opplysningAdresseType.POSTADRESSE, - navn: 'Bostedsadresse', - }, + adresseType: opplysningAdresseType.POSTADRESSE, adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', }, ], - sivilstand: { - kode: sivilstandType.UGIFT, - navn: 'Ugift', - }, - region: { - kode: 'NORDEN', - navn: 'Norden', - }, - personstatus: { - kode: 'BOSA', - navn: 'Bosatt', - }, + sivilstand: sivilstandType.UGIFT, + region: 'NORDEN', + personstatus: 'BOSA', avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - navn: 'Bosatt', - }, + overstyrtPersonstatus: personstatusType.BOSATT, }, } as BostedSokerPersonopplysninger; - const regionTypes = [ - { - kode: 'NORDEN', - navn: 'Norden', - }, - ] as KodeverkMedNavn[]; - - const sivilstandTypes = [ - { - kode: sivilstandType.UGIFT, - navn: 'Ugift', - }, - ] as KodeverkMedNavn[]; - - const personstatusTypes = [ - { - kode: personstatusType.BOSATT, - navn: 'Bosatt', - }, - { - kode: personstatusType.DOD, - navn: 'Bosatt', - }, - ] as KodeverkMedNavn[]; - it('vise navn', () => { renderWithIntl( - , + + + , { messages }, ); @@ -87,14 +49,7 @@ describe('', () => { it('skal vise adresse informasjon', () => { renderWithIntl( - , + , { messages }, ); expect(screen.getByText('Vei 1, 1000 Oslo')).toBeInTheDocument(); @@ -102,14 +57,14 @@ describe('', () => { it('skal vise etiketter', () => { renderWithIntl( - , + + + , { messages }, ); expect(screen.getByText('Bosatt')).toBeInTheDocument(); @@ -119,20 +74,17 @@ describe('', () => { it('skal vise ukjent når personstatus ukjent', () => { soker.avklartPersonstatus = null; - soker.personstatus = { - navn: '', - kode: '-', - } as KodeverkMedNavn; + soker.personstatus = '-'; renderWithIntl( - , + + + , { messages }, ); expect(screen.getByText('Ukjent')).toBeInTheDocument(); diff --git a/packages/fakta-bosted-soker/src/components/BostedSokerView.tsx b/packages/fakta-bosted-soker/src/components/BostedSokerView.tsx index c0b9e82d7d..d24465f28e 100644 --- a/packages/fakta-bosted-soker/src/components/BostedSokerView.tsx +++ b/packages/fakta-bosted-soker/src/components/BostedSokerView.tsx @@ -1,25 +1,21 @@ +import React from 'react'; +import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl'; +import { BodyShort, Detail, Label, HGrid, Tag } from '@navikt/ds-react'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import Region from '@fpsak-frontend/kodeverk/src/region'; import { getAddresses } from '@fpsak-frontend/utils'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; -import { BodyShort, Detail, HGrid, Label, Tag } from '@navikt/ds-react'; -import React from 'react'; -import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl'; - +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import { BostedSokerPersonopplysninger } from '../BostedSokerFaktaIndex'; - import styles from './bostedSokerView.module.css'; interface OwnProps { personopplysninger: BostedSokerPersonopplysninger; sokerTypeTextId: string; - regionTypes: KodeverkMedNavn[]; - sivilstandTypes: KodeverkMedNavn[]; - personstatusTypes: KodeverkMedNavn[]; } -const getAdresse = adresser => { +const getAdresse = (adresser: BostedSokerPersonopplysninger['adresser']) => { const adresseListe = getAddresses(adresser); const adresse = adresseListe[opplysningAdresseType.POSTADRESSE] || adresseListe[opplysningAdresseType.BOSTEDSADRESSE]; return adresse || '-'; @@ -33,68 +29,63 @@ const getUtlandsadresse = adresser => { return utlandsAdresse || '-'; }; -const getPersonstatus = personopplysning => +const getPersonstatus = (personopplysning: BostedSokerPersonopplysninger) => personopplysning.avklartPersonstatus && personopplysning.avklartPersonstatus.overstyrtPersonstatus ? personopplysning.avklartPersonstatus.overstyrtPersonstatus : personopplysning.personstatus; -export const BostedSokerView = ({ - intl, - personopplysninger, - sokerTypeTextId, - regionTypes, - sivilstandTypes, - personstatusTypes, -}: OwnProps & WrappedComponentProps) => ( -
- -
- - - - - - {getAdresse(personopplysninger.adresser)} - - - - - {getUtlandsadresse(personopplysninger.adresser)} -
-
- {getPersonstatus(personopplysninger) && ( -
- - {getPersonstatus(personopplysninger).kode === personstatusType.UDEFINERT - ? intl.formatMessage({ id: 'Personstatus.Ukjent' }) - : personstatusTypes.find(s => s.kode === getPersonstatus(personopplysninger).kode).navn} - -
- )} - {personopplysninger.sivilstand && ( -
- - {sivilstandTypes.find(s => s.kode === personopplysninger.sivilstand.kode).navn} - -
- )} - {personopplysninger.region && personopplysninger.region.kode !== Region.UDEFINERT && ( -
- - {regionTypes.find(r => r.kode === personopplysninger.region.kode).navn} - -
- )} -
-
-
-); - +export const BostedSokerView = ({ personopplysninger, sokerTypeTextId }: OwnProps & WrappedComponentProps) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); + return ( +
+ +
+ + + + + + {getAdresse(personopplysninger.adresser)} + + + + + {getUtlandsadresse(personopplysninger.adresser)} +
+
+ {getPersonstatus(personopplysninger) && ( +
+ + {getPersonstatus(personopplysninger) === personstatusType.UDEFINERT + ? 'Ukjent' + : kodeverkNavnFraKode(getPersonstatus(personopplysninger), KodeverkType.PERSONSTATUS_TYPE)} + +
+ )} + {personopplysninger.sivilstand && ( +
+ + {kodeverkNavnFraKode(personopplysninger.sivilstand, KodeverkType.SIVILSTAND_TYPE)} + +
+ )} + {personopplysninger.region && personopplysninger.region !== Region.UDEFINERT && ( +
+ + {kodeverkNavnFraKode(personopplysninger.region, KodeverkType.REGION)} + +
+ )} +
+
+
+ ); +}; export default injectIntl(BostedSokerView); diff --git a/packages/fakta-direkte-overgang/src/DirekteOvergangFaktaIndex.stories.tsx b/packages/fakta-direkte-overgang/src/DirekteOvergangFaktaIndex.stories.tsx index 54635a0cd3..079d9a2d3b 100644 --- a/packages/fakta-direkte-overgang/src/DirekteOvergangFaktaIndex.stories.tsx +++ b/packages/fakta-direkte-overgang/src/DirekteOvergangFaktaIndex.stories.tsx @@ -14,22 +14,13 @@ const intl = createIntl( ); const manglendePeriodeAP: Aksjonspunkt = { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', // AKSJONSPUNKT_TYPE begrunnelse: null, besluttersBegrunnelse: null, - definisjon: { - kode: '9007', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '9007', // AKSJONSPUNKT_DEF erAktivt: true, kanLoses: true, - status: { - kode: 'OPPR', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'OPPR', // AKSJONSPUNKT_STATUS toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: null, vilkarType: null, @@ -37,22 +28,13 @@ const manglendePeriodeAP: Aksjonspunkt = { }; const manglendePeriodeAnnenPartAP: Aksjonspunkt = { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', // AKSJONSPUNKT_TYPE begrunnelse: null, besluttersBegrunnelse: null, - definisjon: { - kode: '9008', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '9008', // AKSJONSPUNKT_DEF erAktivt: true, kanLoses: true, - status: { - kode: 'OPPR', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'OPPR', // AKSJONSPUNKT_STATUS toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: null, vilkarType: null, diff --git "a/packages/fakta-direkte-overgang/src/components/ManglerS\303\270knadForm.tsx" "b/packages/fakta-direkte-overgang/src/components/ManglerS\303\270knadForm.tsx" index f83ef50ac9..9817885b17 100644 --- "a/packages/fakta-direkte-overgang/src/components/ManglerS\303\270knadForm.tsx" +++ "b/packages/fakta-direkte-overgang/src/components/ManglerS\303\270knadForm.tsx" @@ -1,12 +1,13 @@ +import React from 'react'; +import { Field, Form, Formik } from 'formik'; +import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl'; +import * as Yup from 'yup'; +import { Alert, BodyShort, Button, Textarea } from '@navikt/ds-react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { AksjonspunktHelpText, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { Aksjonspunkt } from '@k9-sak-web/types'; -import { Alert, BodyShort, Button, Textarea } from '@navikt/ds-react'; -import { Field, Form, Formik } from 'formik'; -import React from 'react'; -import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl'; -import * as Yup from 'yup'; + import styles from './ManglerSøknadForm.module.css'; interface Props { @@ -41,23 +42,23 @@ const ManglerSøknadForm = ({ const utledBegrunnelse = () => aksjonspunkter.find( ap => - ap.definisjon.kode === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD || - ap.definisjon.kode === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD_ANNEN_PART, + ap.definisjon === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD || + ap.definisjon === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD_ANNEN_PART, ).begrunnelse || ''; const erAksjonspunktÅpent = () => isAksjonspunktOpen( aksjonspunkter.find( ap => - ap.definisjon.kode === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD || - ap.definisjon.kode === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD_ANNEN_PART, - ).status.kode, + ap.definisjon === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD || + ap.definisjon === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD_ANNEN_PART, + ).status, ); const manglerSøknadForPeriode = () => - aksjonspunkter.some(ap => ap.definisjon.kode === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD); + aksjonspunkter.some(ap => ap.definisjon === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD); const manglerSøknadAnnenPart = () => - aksjonspunkter.some(ap => ap.definisjon.kode === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD_ANNEN_PART); + aksjonspunkter.some(ap => ap.definisjon === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD_ANNEN_PART); const initialValues: ManglerSøknadDto = { begrunnelse: utledBegrunnelse(), @@ -98,11 +99,11 @@ const ManglerSøknadForm = ({ aksjonspunkter .filter( ap => - ap.definisjon.kode === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD || - ap.definisjon.kode === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD_ANNEN_PART, + ap.definisjon === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD || + ap.definisjon === aksjonspunktCodes.MANGLER_KOMPLETT_SØKNAD_ANNEN_PART, ) .map(ap => ({ - kode: ap.definisjon.kode, + kode: ap.definisjon, begrunnelse: values.begrunnelse, })), ); diff --git a/packages/fakta-feilutbetaling/package.json b/packages/fakta-feilutbetaling/package.json index 02170a3a82..ef33bba73a 100644 --- a/packages/fakta-feilutbetaling/package.json +++ b/packages/fakta-feilutbetaling/package.json @@ -10,6 +10,8 @@ "@fpsak-frontend/prop-types": "1.0.0", "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", + "@k9-sak-web/gui": "1.0.0", + "@k9-sak-web/lib": "1.0.0", "moment": "2.30.1", "prop-types": "15.8.1", "react": "18.3.1", diff --git a/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.jsx b/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.jsx deleted file mode 100644 index 3663c844d3..0000000000 --- a/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.jsx +++ /dev/null @@ -1,69 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; - -import FeilutbetalingInfoPanel from './components/FeilutbetalingInfoPanel'; -import feilutbetalingAksjonspunkterPropType from './propTypes/feilutbetalingAksjonspunkterPropType'; -import feilutbetalingFaktaPropType from './propTypes/feilutbetalingFaktaPropType'; -import feilutbetalingBehandlingPropType from './propTypes/feilutbetalingBehandlingPropType'; -import feilutbetalingAarsakPropType from './propTypes/feilutbetalingAarsakPropType'; -import messages from '../i18n/nb_NO.json'; - -const cache = createIntlCache(); - -const intl = createIntl( - { - locale: 'nb-NO', - messages, - }, - cache, -); - -const FeilutbetalingFaktaIndex = ({ - behandling, - feilutbetalingFakta, - feilutbetalingAarsak, - fagsakYtelseTypeKode, - aksjonspunkter, - alleMerknaderFraBeslutter, - alleKodeverk, - fpsakKodeverk, - submitCallback, - readOnly, - harApneAksjonspunkter, -}) => ( - - a.ytelseType.kode === fagsakYtelseTypeKode) - } - aksjonspunkter={aksjonspunkter} - alleMerknaderFraBeslutter={alleMerknaderFraBeslutter} - alleKodeverk={alleKodeverk} - fpsakKodeverk={fpsakKodeverk} - submitCallback={submitCallback} - readOnly={readOnly} - hasOpenAksjonspunkter={harApneAksjonspunkter} - /> - -); - -FeilutbetalingFaktaIndex.propTypes = { - behandling: feilutbetalingBehandlingPropType.isRequired, - feilutbetalingFakta: feilutbetalingFaktaPropType.isRequired, - feilutbetalingAarsak: PropTypes.arrayOf(feilutbetalingAarsakPropType).isRequired, - aksjonspunkter: PropTypes.arrayOf(feilutbetalingAksjonspunkterPropType).isRequired, - alleMerknaderFraBeslutter: PropTypes.shape().isRequired, - alleKodeverk: PropTypes.shape().isRequired, - fpsakKodeverk: PropTypes.shape().isRequired, - submitCallback: PropTypes.func.isRequired, - readOnly: PropTypes.bool.isRequired, - fagsakYtelseTypeKode: PropTypes.string.isRequired, - harApneAksjonspunkter: PropTypes.bool.isRequired, -}; - -export default FeilutbetalingFaktaIndex; diff --git a/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.stories.tsx b/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.stories.tsx index 1f8e2c1796..1d33709af4 100644 --- a/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.stories.tsx +++ b/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.stories.tsx @@ -7,6 +7,9 @@ import konsekvensForYtelsen from '@fpsak-frontend/kodeverk/src/konsekvensForYtel import tilbakekrevingVidereBehandling from '@fpsak-frontend/kodeverk/src/tilbakekrevingVidereBehandling'; import { action } from '@storybook/addon-actions'; import React from 'react'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import FeilutbetalingFaktaIndex from './FeilutbetalingFaktaIndex'; const BEHANDLING_AARSAK_KODEVERK = 'BEHANDLING_AARSAK'; @@ -34,33 +37,15 @@ const feilutbetalingFakta = { tidligereVarseltBeløp: 5000, behandlingÅrsaker: [ { - behandlingArsakType: { - kode: behandlingArsakType.FEIL_I_LOVANDVENDELSE, - kodeverk: BEHANDLING_AARSAK_KODEVERK, - }, + behandlingArsakType: behandlingArsakType.FEIL_I_LOVANDVENDELSE, }, ], behandlingsresultat: { - type: { - kode: behandlingResultatType.INNVILGET, - kodeverk: BEHANDLING_RESULTAT_TYPE_KODEVERK, - }, - konsekvenserForYtelsen: [ - { - kode: konsekvensForYtelsen.FORELDREPENGER_OPPHØRER, - kodeverk: KONSEKVENS_FOR_YTELSEN_KODEVERK, - }, - { - kode: konsekvensForYtelsen.ENDRING_I_BEREGNING, - kodeverk: KONSEKVENS_FOR_YTELSEN_KODEVERK, - }, - ], + type: behandlingResultatType.INNVILGET, + konsekvenserForYtelsen: [konsekvensForYtelsen.FORELDREPENGER_OPPHØRER, konsekvensForYtelsen.ENDRING_I_BEREGNING], }, tilbakekrevingValg: { - videreBehandling: { - kode: tilbakekrevingVidereBehandling.TILBAKEKR_INNTREKK, - kodeverk: TILBAKEKR_VIDERE_BEH_KODEVERK, - }, + videreBehandling: tilbakekrevingVidereBehandling.TILBAKEKR_INNTREKK, }, datoForRevurderingsvedtak: '2019-01-01', }, @@ -147,26 +132,29 @@ export default { }; export const visAksjonspunktForFeilutbetaling = args => ( - + + ]} + alleKodeverk={alleKodeverk} + fpsakKodeverk={alleKodeverk} + submitCallback={action('button-click')} + {...args} + /> + ); visAksjonspunktForFeilutbetaling.args = { diff --git a/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.tsx b/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.tsx new file mode 100644 index 0000000000..e1370f44fc --- /dev/null +++ b/packages/fakta-feilutbetaling/src/FeilutbetalingFaktaIndex.tsx @@ -0,0 +1,76 @@ +import React, { FC } from 'react'; +import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; +import { Aksjonspunkt, KodeverkMedNavn } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import FeilutbetalingInfoPanel from './components/FeilutbetalingInfoPanel'; +import { FeilutbetalingAarsak, FeilutbetalingFakta } from './types'; +import messages from '../i18n/nb_NO.json'; + +const cache = createIntlCache(); + +const intl = createIntl( + { + locale: 'nb-NO', + messages, + }, + cache, +); + +interface Props { + behandling: { + id: number; + versjon: number; + }; + feilutbetalingFakta: FeilutbetalingFakta; + feilutbetalingAarsak: FeilutbetalingAarsak[]; + fagsakYtelseTypeKode: string; + aksjonspunkter: Aksjonspunkt[]; + alleMerknaderFraBeslutter: any; + alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + fpsakKodeverk: { [key: string]: KodeverkMedNavn[] }; + submitCallback: () => void; + readOnly: boolean; + hasOpenAksjonspunkter: boolean; + v2?: boolean; +} + +const FeilutbetalingFaktaIndex: FC = ({ + behandling, + feilutbetalingFakta, + feilutbetalingAarsak, + fagsakYtelseTypeKode, + aksjonspunkter, + alleMerknaderFraBeslutter, + alleKodeverk, + fpsakKodeverk, + submitCallback, + readOnly, + hasOpenAksjonspunkter, +}) => { + const { getKodeverkNavnFraKodeFn } = useKodeverkContext(); + const kodeverkTilbakekNavnFraKode = getKodeverkNavnFraKodeFn('kodeverkTilbake'); + const kodeverkKlageNavnFraKode = getKodeverkNavnFraKodeFn('kodeverkKlage'); + return ( + + a.ytelseType === fagsakYtelseTypeKode) + } + aksjonspunkter={aksjonspunkter} + alleMerknaderFraBeslutter={alleMerknaderFraBeslutter} + alleKodeverk={alleKodeverk} + fpsakKodeverk={fpsakKodeverk} + submitCallback={submitCallback} + readOnly={readOnly} + hasOpenAksjonspunkter={hasOpenAksjonspunkter} + kodeverkKlageNavnFraKode={kodeverkKlageNavnFraKode} + kodeverkTilbakekNavnFraKode={kodeverkTilbakekNavnFraKode} + /> + + ); +}; + +export default FeilutbetalingFaktaIndex; diff --git a/packages/fakta-feilutbetaling/src/components/FeilutbetalingInfoPanel.jsx b/packages/fakta-feilutbetaling/src/components/FeilutbetalingInfoPanel.jsx index 2fb0b45bf2..bc39882fb9 100644 --- a/packages/fakta-feilutbetaling/src/components/FeilutbetalingInfoPanel.jsx +++ b/packages/fakta-feilutbetaling/src/components/FeilutbetalingInfoPanel.jsx @@ -1,3 +1,11 @@ +import React, { Component } from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import { bindActionCreators } from 'redux'; +import { change, clearFields, formPropTypes, getFormValues } from 'redux-form'; +import { createSelector } from 'reselect'; +import PropTypes from 'prop-types'; +import moment from 'moment'; import { CheckboxField, TextAreaField, @@ -7,26 +15,17 @@ import { getBehandlingFormPrefix, } from '@fpsak-frontend/form'; import aksjonspunktCodesTilbakekreving from '@fpsak-frontend/kodeverk/src/aksjonspunktCodesTilbakekreving'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { AksjonspunktHelpText, FaktaGruppe, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { DDMMYYYY_DATE_FORMAT, decodeHtmlEntity, - getKodeverknavnFn, hasValidText, maxLength, minLength, required, } from '@fpsak-frontend/utils'; import { BodyShort, Button, Detail, HGrid, Label } from '@navikt/ds-react'; -import moment from 'moment'; -import PropTypes from 'prop-types'; -import React, { Component } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; -import { bindActionCreators } from 'redux'; -import { change, clearFields, formPropTypes, getFormValues } from 'redux-form'; -import { createSelector } from 'reselect'; +import { KodeverkKlageType, KodeverkTilbakeType } from '@k9-sak-web/lib/kodeverk/types.js'; import FeilutbetalingPerioderTable from './FeilutbetalingPerioderTable'; import styles from './feilutbetalingInfoPanel.module.css'; @@ -98,14 +97,11 @@ export class FeilutbetalingInfoPanelImpl extends Component { merknaderFraBeslutter, behandlingId, behandlingVersjon, - alleKodeverk, - fpsakKodeverk, + kodeverkTilbakekNavnFraKode, + kodeverkKlageNavnFraKode, ...formProps } = this.props; - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); - const getFpsakKodeverknavn = getKodeverknavnFn(fpsakKodeverk, kodeverkTyper); - return ( <> @@ -190,7 +186,9 @@ export class FeilutbetalingInfoPanelImpl extends Component { {feilutbetaling.behandlingÅrsaker && ( {feilutbetaling.behandlingÅrsaker - .map(ba => getFpsakKodeverknavn(ba.behandlingArsakType)) + .map(ba => + kodeverkKlageNavnFraKode(ba.behandlingArsakType, KodeverkKlageType.BEHANDLING_AARSAK), + ) .join(', ')} )} @@ -213,7 +211,10 @@ export class FeilutbetalingInfoPanelImpl extends Component { {feilutbetaling.behandlingsresultat && ( - {getFpsakKodeverknavn(feilutbetaling.behandlingsresultat.type)} + {kodeverkKlageNavnFraKode( + feilutbetaling.behandlingsresultat.type, + KodeverkKlageType.BEHANDLING_RESULTAT_TYPE, + )} )} @@ -225,7 +226,7 @@ export class FeilutbetalingInfoPanelImpl extends Component { {feilutbetaling.behandlingsresultat.konsekvenserForYtelsen && feilutbetaling.behandlingsresultat.konsekvenserForYtelsen - .map(ba => getFpsakKodeverknavn(ba)) + .map(ba => kodeverkKlageNavnFraKode(ba, KodeverkKlageType.KONSEKVENS_FOR_YTELSEN)) .join(', ')} )} @@ -238,7 +239,10 @@ export class FeilutbetalingInfoPanelImpl extends Component { {feilutbetaling.tilbakekrevingValg && ( - {getKodeverknavn(feilutbetaling.tilbakekrevingValg.videreBehandling)} + {kodeverkTilbakekNavnFraKode( + feilutbetaling.tilbakekrevingValg.videreBehandling, + KodeverkTilbakeType.TILBAKEKR_VIDERE_BEH, + )} )} @@ -280,13 +284,13 @@ FeilutbetalingInfoPanelImpl.propTypes = { hasOpenAksjonspunkter: PropTypes.bool.isRequired, readOnly: PropTypes.bool.isRequired, feilutbetaling: PropTypes.shape().isRequired, - alleKodeverk: PropTypes.shape().isRequired, - fpsakKodeverk: PropTypes.shape().isRequired, submitCallback: PropTypes.func.isRequired, årsaker: PropTypes.arrayOf(PropTypes.shape()).isRequired, merknaderFraBeslutter: PropTypes.shape({ notAccepted: PropTypes.bool, }), + kodeverkTilbakekNavnFraKode: PropTypes.func.isRequired, + kodeverkKlageNavnFraKode: PropTypes.func.isRequired, ...formPropTypes, }; diff --git a/packages/fakta-feilutbetaling/src/components/FeilutbetalingInfoPanel.spec.tsx b/packages/fakta-feilutbetaling/src/components/FeilutbetalingInfoPanel.spec.tsx index a3ec89f83f..0bfae19e46 100644 --- a/packages/fakta-feilutbetaling/src/components/FeilutbetalingInfoPanel.spec.tsx +++ b/packages/fakta-feilutbetaling/src/components/FeilutbetalingInfoPanel.spec.tsx @@ -2,23 +2,19 @@ import React from 'react'; import behandlingArsakType from '@fpsak-frontend/kodeverk/src/behandlingArsakType'; import behandlingResultatType from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import konsekvensForYtelsen from '@fpsak-frontend/kodeverk/src/konsekvensForYtelsen'; import soknadType from '@fpsak-frontend/kodeverk/src/soknadType'; import tilbakekrevingVidereBehandling from '@fpsak-frontend/kodeverk/src/tilbakekrevingVidereBehandling'; import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; - +import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; +import { utledKodeverkNavnFraKode } from '@k9-sak-web/lib/kodeverk/kodeverkUtils.js'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; import { screen } from '@testing-library/react'; import messages from '../../i18n/nb_NO.json'; import { FeilutbetalingInfoPanelImpl } from './FeilutbetalingInfoPanel'; -const BEHANDLING_AARSAK_KODEVERK = 'BEHANDLING_AARSAK'; -const TILBAKEKR_VIDERE_BEH_KODEVERK = 'TILBAKEKR_VIDERE_BEH'; -const BEHANDLING_RESULTAT_TYPE_KODEVERK = 'BEHANDLING_RESULTAT_TYPE'; -const KONSEKVENS_FOR_YTELSEN_KODEVERK = 'KONSEKVENS_FOR_YTELSEN'; - const feilutbetalingFakta = { behandlingFakta: { perioder: [ @@ -29,9 +25,7 @@ const feilutbetalingFakta = { ], }, antallBarn: 1, - soknadType: { - kode: soknadType.FODSEL, - }, + soknadType: soknadType.FODSEL, totalPeriodeFom: '2019-01-01', totalPeriodeTom: '2019-01-02', aktuellFeilUtbetaltBeløp: 10000, @@ -45,78 +39,30 @@ const feilutbetalingFakta = { ], behandlingÅrsaker: [ { - behandlingArsakType: { - kode: behandlingArsakType.FEIL_I_LOVANDVENDELSE, - kodeverk: BEHANDLING_AARSAK_KODEVERK, - }, + behandlingArsakType: behandlingArsakType.FEIL_I_LOVANDVENDELSE, }, ], behandlingsresultat: { - type: { - kode: behandlingResultatType.INNVILGET, - kodeverk: BEHANDLING_RESULTAT_TYPE_KODEVERK, - }, - konsekvenserForYtelsen: [ - { - kode: konsekvensForYtelsen.FORELDREPENGER_OPPHØRER, - kodeverk: KONSEKVENS_FOR_YTELSEN_KODEVERK, - }, - { - kode: konsekvensForYtelsen.ENDRING_I_BEREGNING, - kodeverk: KONSEKVENS_FOR_YTELSEN_KODEVERK, - }, - ], + type: behandlingResultatType.INNVILGET, + konsekvenserForYtelsen: [konsekvensForYtelsen.YTELSE_OPPHØRER, konsekvensForYtelsen.ENDRING_I_BEREGNING], }, tilbakekrevingValg: { - videreBehandling: { - kode: tilbakekrevingVidereBehandling.TILBAKEKR_INNTREKK, - kodeverk: TILBAKEKR_VIDERE_BEH_KODEVERK, - }, + videreBehandling: tilbakekrevingVidereBehandling.TILBAKEKR_INNTREKK, }, datoForRevurderingsvedtak: '2019-01-01', }; -const alleKodeverk = { - [kodeverkTyper.TILBAKEKR_VIDERE_BEH]: [ - { - kode: tilbakekrevingVidereBehandling.TILBAKEKR_INNTREKK, - navn: 'Tilbakekreving inntrekk', - kodeverk: TILBAKEKR_VIDERE_BEH_KODEVERK, - }, - ], -}; - -const fpsakKodeverk = { - [kodeverkTyper.BEHANDLING_AARSAK]: [ - { - kode: behandlingArsakType.FEIL_I_LOVANDVENDELSE, - navn: 'Feil i lovanvendelse', - kodeverk: BEHANDLING_AARSAK_KODEVERK, - }, - ], - [kodeverkTyper.BEHANDLING_RESULTAT_TYPE]: [ - { - kode: behandlingResultatType.INNVILGET, - navn: 'Innvilget', - kodeverk: BEHANDLING_RESULTAT_TYPE_KODEVERK, - }, - ], - [kodeverkTyper.KONSEKVENS_FOR_YTELSEN]: [ - { - kode: konsekvensForYtelsen.FORELDREPENGER_OPPHØRER, - navn: 'Foreldrepenger opphører', - kodeverk: KONSEKVENS_FOR_YTELSEN_KODEVERK, - }, - { - kode: konsekvensForYtelsen.ENDRING_I_BEREGNING, - navn: 'Endring i beregning', - kodeverk: KONSEKVENS_FOR_YTELSEN_KODEVERK, - }, - ], -}; - describe('', () => { it('skal rendre komponent korrekt', () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverkV2); + + const kodeverkKlageNavnFraKode = vi + .fn() + .mockImplementation((kode, kodeverkType) => utledKodeverkNavnFraKode(kode, alleKodeverkV2[kodeverkType])); + const kodeverkTilbakekNavnFraKode = vi + .fn() + .mockImplementation((kode, kodeverkType) => utledKodeverkNavnFraKode(kode, alleKodeverkV2[kodeverkType])); + renderWithIntlAndReduxForm( ', () => { }} behandlingId={1} behandlingVersjon={1} - alleKodeverk={alleKodeverk} - fpsakKodeverk={fpsakKodeverk} + kodeverkTilbakekNavnFraKode={kodeverkTilbakekNavnFraKode} + kodeverkKlageNavnFraKode={kodeverkKlageNavnFraKode} />, { messages }, ); @@ -142,10 +88,10 @@ describe('', () => { expect(screen.getByText('01.01.2019 - 02.01.2019')).toBeInTheDocument(); expect(screen.getByText('10000')).toBeInTheDocument(); expect(screen.getByText('5000')).toBeInTheDocument(); - expect(screen.getByText('Feil i lovanvendelse')).toBeInTheDocument(); + expect(screen.getByText('Feil lovanvendelse')).toBeInTheDocument(); expect(screen.getByText('01.01.2019')).toBeInTheDocument(); expect(screen.getByText('Innvilget')).toBeInTheDocument(); - expect(screen.getByText('Foreldrepenger opphører, Endring i beregning')).toBeInTheDocument(); - expect(screen.getByText('Tilbakekreving inntrekk')).toBeInTheDocument(); + expect(screen.getByText('Ytelsen opphører, Endring i beregning')).toBeInTheDocument(); + expect(screen.getByText('Feilutbetaling hvor inntrekk dekker hele beløpet')).toBeInTheDocument(); }); }); diff --git a/packages/fakta-feilutbetaling/src/components/FeilutbetalingPerioderForm.jsx b/packages/fakta-feilutbetaling/src/components/FeilutbetalingPerioderForm.jsx index 210929339d..81fa456749 100644 --- a/packages/fakta-feilutbetaling/src/components/FeilutbetalingPerioderForm.jsx +++ b/packages/fakta-feilutbetaling/src/components/FeilutbetalingPerioderForm.jsx @@ -8,7 +8,7 @@ import { connect } from 'react-redux'; import styles from './feilutbetalingPerioderTable.module.css'; const getHendelseUndertyper = (årsakNavn, årsaker) => { - const årsak = årsaker.find(a => a.hendelseType.kode === årsakNavn); + const årsak = årsaker.find(a => a.hendelseType === årsakNavn); return årsak && årsak.hendelseUndertyper.length > 0 ? årsak.hendelseUndertyper : null; }; @@ -31,7 +31,7 @@ export const FeilutbetalingPerioderFormImpl = ({ ( - ))} @@ -41,12 +41,13 @@ export const FeilutbetalingPerioderFormImpl = ({ bredde="m" label="" /> + {hendelseUndertyper && ( ( - ))} validate={[required]} diff --git a/packages/fakta-feilutbetaling/src/components/FeilutbetalingPerioderForm.spec.tsx b/packages/fakta-feilutbetaling/src/components/FeilutbetalingPerioderForm.spec.tsx index ce064a4511..e563b8f511 100644 --- a/packages/fakta-feilutbetaling/src/components/FeilutbetalingPerioderForm.spec.tsx +++ b/packages/fakta-feilutbetaling/src/components/FeilutbetalingPerioderForm.spec.tsx @@ -23,7 +23,14 @@ const mockProps = { describe('', () => { it('skal rendre FeilutbetalingInfoPanel', () => { - renderWithIntlAndReduxForm(, { messages }); + renderWithIntlAndReduxForm( + + + + +
, + { messages }, + ); expect(screen.getByText('16.03.2016 - 26.05.2016')).toBeInTheDocument(); expect(screen.getByRole('combobox')).toBeInTheDocument(); @@ -35,9 +42,7 @@ describe('', () => { { kodeverk: 'MEDLEMSKAP_VILKAARET_TYPE', årsak: 'Medlemskapsvilkåret §14-2', - hendelseType: { - kode: 'MEDLEMSKAP_VILKAARET_TYPE', - }, + hendelseType: 'MEDLEMSKAP_VILKAARET_TYPE', hendelseUndertyper: [ { kodeverk: 'MEDLEMSKAP_VILKAAR', @@ -52,7 +57,15 @@ describe('', () => { årsak, årsaker, }; - renderWithIntlAndReduxForm(, { messages }); + + renderWithIntlAndReduxForm( + + + + +
, + { messages }, + ); expect(screen.getAllByRole('combobox').length).toBe(2); }); diff --git a/packages/fakta-feilutbetaling/src/propTypes/feilutbetalingAarsakPropType.jsx b/packages/fakta-feilutbetaling/src/propTypes/feilutbetalingAarsakPropType.jsx index 41fec1208c..e647d0fe01 100644 --- a/packages/fakta-feilutbetaling/src/propTypes/feilutbetalingAarsakPropType.jsx +++ b/packages/fakta-feilutbetaling/src/propTypes/feilutbetalingAarsakPropType.jsx @@ -1,16 +1,27 @@ import PropTypes from 'prop-types'; const feilutbetalingAarsakPropType = PropTypes.shape({ - hendelseTyper: PropTypes.arrayOf(PropTypes.shape({ - hendelseType: PropTypes.shape({ - kode: PropTypes.string.isRequired, - navn: PropTypes.string.isRequired, + hendelseTyper: PropTypes.arrayOf( + PropTypes.shape({ + hendelseType: PropTypes.string.isRequired, + hendelseUndertyper: PropTypes.arrayOf(PropTypes.string.isRequired), + /* + #KODEVERk: usikker på denne, hvordan den skal se ut. + Om det er en kode eller et oppslag med navn etc. + skrev om over, så får vi se + hendelseType: PropTypes.shape({ + kode: PropTypes.string.isRequired, + navn: PropTypes.string.isRequired, + }), + hendelseUndertyper: PropTypes.arrayOf( + PropTypes.shape({ + kode: PropTypes.string.isRequired, + navn: PropTypes.string.isRequired, + }), + ), + */ }), - hendelseUndertyper: PropTypes.arrayOf(PropTypes.shape({ - kode: PropTypes.string.isRequired, - navn: PropTypes.string.isRequired, - })), - })).isRequired, + ).isRequired, }); export default feilutbetalingAarsakPropType; diff --git a/packages/fakta-feilutbetaling/src/propTypes/feilutbetalingFaktaPropType.jsx b/packages/fakta-feilutbetaling/src/propTypes/feilutbetalingFaktaPropType.jsx index b93c59f99f..a24fbc01cd 100644 --- a/packages/fakta-feilutbetaling/src/propTypes/feilutbetalingFaktaPropType.jsx +++ b/packages/fakta-feilutbetaling/src/propTypes/feilutbetalingFaktaPropType.jsx @@ -23,7 +23,7 @@ const feilutbetalingFaktaPropType = PropTypes.shape({ }), ), behandlingsresultat: PropTypes.shape({ - type: kodeverkObjektPropType.isRequired, + type: PropTypes.string.isRequired, konsekvenserForYtelsen: PropTypes.arrayOf(kodeverkObjektPropType.isRequired), }), tilbakekrevingValg: PropTypes.shape({ diff --git a/packages/fakta-feilutbetaling/src/types/FeilutbetalingAarsak.ts b/packages/fakta-feilutbetaling/src/types/FeilutbetalingAarsak.ts new file mode 100644 index 0000000000..cf983cb660 --- /dev/null +++ b/packages/fakta-feilutbetaling/src/types/FeilutbetalingAarsak.ts @@ -0,0 +1,7 @@ +export type FeilutbetalingAarsak = { + hendelseTyper: { + hendelseType: string; + hendelseUndertyper: string[]; + }[]; + ytelseType: string; // #Kodeverk denne står ikke i proptypes, men fra koden ser det ut som den skal være her +}; diff --git a/packages/fakta-feilutbetaling/src/types/FeilutbetalingFakta.ts b/packages/fakta-feilutbetaling/src/types/FeilutbetalingFakta.ts new file mode 100644 index 0000000000..b5a4373a26 --- /dev/null +++ b/packages/fakta-feilutbetaling/src/types/FeilutbetalingFakta.ts @@ -0,0 +1,25 @@ +export type FeilutbetalingFakta = { + behandlingFakta: { + perioder: { + fom: string; + tom: string; + belop: number; + feilutbetalingÅrsakDto?: { + hendelseType: string; + hendelseUndertype: string; + }; + }[]; + totalPeriodeFom: string; + totalPeriodeTom: string; + aktuellFeilUtbetaltBeløp: number; + tidligereVarseltBeløp?: number; + behandlingÅrsaker: { behandlingArsakType: string }[]; + behandlingsresultat: { + type: string; + konsekvenserForYtelsen: string[]; + }; + tilbakekrevingValg: { videreBehandling: string }; // #Kodeverk: kan det være denne skal være et oppslag og ikke en string? + datoForRevurderingsvedtak: string; + begrunnelse?: string; + }; +}; diff --git a/packages/fakta-feilutbetaling/src/types/index.ts b/packages/fakta-feilutbetaling/src/types/index.ts new file mode 100644 index 0000000000..d0a811ff8a --- /dev/null +++ b/packages/fakta-feilutbetaling/src/types/index.ts @@ -0,0 +1,2 @@ +export * from './FeilutbetalingFakta'; +export * from './FeilutbetalingAarsak'; diff --git a/packages/fakta-inntekt-og-ytelser/src/InntektType.ts b/packages/fakta-inntekt-og-ytelser/src/InntektType.ts index 69de81b604..72549d5dd9 100644 --- a/packages/fakta-inntekt-og-ytelser/src/InntektType.ts +++ b/packages/fakta-inntekt-og-ytelser/src/InntektType.ts @@ -1,10 +1,8 @@ -import { Kodeverk } from '@k9-sak-web/types'; - export interface Inntekt { fom: string; tom: string; utbetaler: string; - inntektspostType: Kodeverk; + inntektspostType: string; belop: number; ytelse: boolean; navn: string; diff --git a/packages/fakta-inntektsmelding/mock/inntektsmeldingPropsMock.ts b/packages/fakta-inntektsmelding/mock/inntektsmeldingPropsMock.ts index 1f3f9dc887..4d910cf944 100644 --- a/packages/fakta-inntektsmelding/mock/inntektsmeldingPropsMock.ts +++ b/packages/fakta-inntektsmelding/mock/inntektsmeldingPropsMock.ts @@ -31,38 +31,19 @@ export default { readOnly: false, aksjonspunkter: [ { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', begrunnelse: null, besluttersBegrunnelse: 'evvv', - definisjon: { - skalAvbrytesVedTilbakeføring: false, - kode: '9069', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '9069', // #Kodeverk inneholdt: skalAvbrytesVedTilbakeføring: false, erAktivt: true, fristTid: null, kanLoses: true, - status: { - kode: 'OPPR', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'OPPR', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, vilkarType: null, - vurderPaNyttArsaker: [ - { - kode: 'ANNET', - kodeverk: 'VURDER_AARSAK', - }, - ], - venteårsak: { - kanVelgesIGui: false, - kode: '-', - kodeverk: 'VENT_AARSAK', - }, + vurderPaNyttArsaker: ['ANNET'], + venteårsak: '-', // #Kodeverk inneholdt: kanVelgesIGui: false, venteårsakVariant: null, opprettetAv: 'srvk9sak', }, @@ -102,38 +83,19 @@ export const aksjonspunkt9071Props = { readOnly: false, aksjonspunkter: [ { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', begrunnelse: null, besluttersBegrunnelse: 'evvv', - definisjon: { - skalAvbrytesVedTilbakeføring: false, - kode: '9071', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '9071', // #Kodeverk Inneholdt skalAvbrytesVedTilbakeføring: false, erAktivt: true, fristTid: null, kanLoses: true, - status: { - kode: 'OPPR', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'OPPR', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, vilkarType: null, - vurderPaNyttArsaker: [ - { - kode: 'ANNET', - kodeverk: 'VURDER_AARSAK', - }, - ], - venteårsak: { - kanVelgesIGui: false, - kode: '-', - kodeverk: 'VENT_AARSAK', - }, + vurderPaNyttArsaker: ['ANNET'], + venteårsak: '-', venteårsakVariant: null, opprettetAv: 'srvk9sak', }, @@ -172,38 +134,19 @@ export const aksjonspunkt9071FerdigProps = { readOnly: false, aksjonspunkter: [ { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', begrunnelse: null, besluttersBegrunnelse: 'evvv', - definisjon: { - skalAvbrytesVedTilbakeføring: false, - kode: '9071', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '9071', // #Kodeverk inneholdt skalAvbrytesVedTilbakeføring: false, erAktivt: true, fristTid: null, kanLoses: true, - status: { - kode: 'UTFORT', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'UTFORT', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, vilkarType: null, - vurderPaNyttArsaker: [ - { - kode: 'ANNET', - kodeverk: 'VURDER_AARSAK', - }, - ], - venteårsak: { - kanVelgesIGui: false, - kode: '-', - kodeverk: 'VENT_AARSAK', - }, + vurderPaNyttArsaker: ['ANNET'], + venteårsak: '-', // #kodeverk inneholdt kanVelgesIGui: false, venteårsakVariant: null, opprettetAv: 'srvk9sak', }, diff --git a/packages/fakta-inntektsmelding/src/dev/app.ts b/packages/fakta-inntektsmelding/src/dev/app.ts index 14d2c8055b..561d830e70 100644 --- a/packages/fakta-inntektsmelding/src/dev/app.ts +++ b/packages/fakta-inntektsmelding/src/dev/app.ts @@ -39,64 +39,36 @@ const data = { onFinished: d => console.log('Aksjonspunkt løst', d), aksjonspunkter: [ { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', begrunnelse: null, besluttersBegrunnelse: null, - definisjon: { - skalAvbrytesVedTilbakeføring: false, - kode: '9069', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '9069', // #Kodeverk inneholdt: skalAvbrytesVedTilbakeføring: false, erAktivt: true, fristTid: null, kanLoses: false, - status: { - kode: 'UTFO', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'UTFO', toTrinnsBehandling: false, toTrinnsBehandlingGodkjent: null, vilkarType: null, vurderPaNyttArsaker: null, - venteårsak: { - kanVelgesIGui: false, - kode: '-', - kodeverk: 'VENT_AARSAK', - }, + venteårsak: '-', // #Kodeverk inneholdt: kanVelgesIGui: false, venteårsakVariant: null, opprettetAv: 'srvk9sak', }, { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', begrunnelse: 'wwdwdwwqwdwqwqw', besluttersBegrunnelse: null, - definisjon: { - skalAvbrytesVedTilbakeføring: false, - kode: '9071', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '9071', // #Kodeverk inneholdt: skalAvbrytesVedTilbakeføring: false, erAktivt: true, fristTid: null, kanLoses: false, - status: { - kode: 'UTFO', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'UTFO', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: null, vilkarType: null, vurderPaNyttArsaker: null, - venteårsak: { - kanVelgesIGui: false, - kode: '-', - kodeverk: 'VENT_AARSAK', - }, + venteårsak: '-', // #Kodeverk inneholdt: kanVelgesIGui: false, venteårsakVariant: null, opprettetAv: 'srvk9sak', }, diff --git a/packages/fakta-inntektsmelding/src/types/Aksjonspunkt.ts b/packages/fakta-inntektsmelding/src/types/Aksjonspunkt.ts deleted file mode 100644 index c6cde42f67..0000000000 --- a/packages/fakta-inntektsmelding/src/types/Aksjonspunkt.ts +++ /dev/null @@ -1,17 +0,0 @@ -import Kodeverk from './Kodeverk'; - -export type Aksjonspunkt = Readonly<{ - definisjon: Kodeverk; - status: Kodeverk; - begrunnelse?: string; - vilkarType?: Kodeverk; - toTrinnsBehandling?: boolean; - toTrinnsBehandlingGodkjent?: boolean; - vurderPaNyttArsaker?: Kodeverk[]; - besluttersBegrunnelse?: string; - aksjonspunktType?: Kodeverk; - kanLoses: boolean; - erAktivt: boolean; -}>; - -export default Aksjonspunkt; diff --git a/packages/fakta-inntektsmelding/src/types/ContainerContract.ts b/packages/fakta-inntektsmelding/src/types/ContainerContract.ts index 73473e4d05..760fbfba27 100644 --- a/packages/fakta-inntektsmelding/src/types/ContainerContract.ts +++ b/packages/fakta-inntektsmelding/src/types/ContainerContract.ts @@ -1,4 +1,4 @@ -import Aksjonspunkt from './Aksjonspunkt'; +import { Aksjonspunkt } from '@k9-sak-web/types'; import AksjonspunktRequestPayload from './AksjonspunktRequestPayload'; export type ArbeidsgiverOpplysninger = Readonly<{ diff --git a/packages/fakta-inntektsmelding/src/types/Kodeverk.ts b/packages/fakta-inntektsmelding/src/types/Kodeverk.ts deleted file mode 100644 index 2582deae05..0000000000 --- a/packages/fakta-inntektsmelding/src/types/Kodeverk.ts +++ /dev/null @@ -1,6 +0,0 @@ -export type Kodeverk = Readonly<{ - kode: string; - kodeverk: string; -}>; - -export default Kodeverk; diff --git a/packages/fakta-inntektsmelding/src/ui/components/fortsett-uten-inntektsmelding-form/FortsettUtenInntektsmeldingForm.tsx b/packages/fakta-inntektsmelding/src/ui/components/fortsett-uten-inntektsmelding-form/FortsettUtenInntektsmeldingForm.tsx index bd2263a4b1..80c0007714 100644 --- a/packages/fakta-inntektsmelding/src/ui/components/fortsett-uten-inntektsmelding-form/FortsettUtenInntektsmeldingForm.tsx +++ b/packages/fakta-inntektsmelding/src/ui/components/fortsett-uten-inntektsmelding-form/FortsettUtenInntektsmeldingForm.tsx @@ -1,11 +1,11 @@ /* eslint-disable jsx-a11y/label-has-associated-control */ +import React from 'react'; +import { UseFormReturn } from 'react-hook-form'; import { Alert, Button, Box as DSBox, Heading } from '@navikt/ds-react'; import { Form, RadioGroupPanel, TextAreaField } from '@navikt/ft-form-hooks'; import { Box, Margin } from '@navikt/ft-plattform-komponenter'; -import React from 'react'; -import { UseFormReturn } from 'react-hook-form'; +import { Aksjonspunkt } from '@k9-sak-web/types'; import ContainerContext from '../../../context/ContainerContext'; -import Aksjonspunkt from '../../../types/Aksjonspunkt'; import AksjonspunktRequestPayload from '../../../types/AksjonspunktRequestPayload'; import { Kode, TilstandBeriket } from '../../../types/KompletthetData'; import TilstandStatus from '../../../types/TilstandStatus'; @@ -43,7 +43,7 @@ const FortsettUtenInntektsmeldingForm = ({ const beslutningId = `beslutning-${tilstand.periodeOpprinneligFormat}`; const begrunnelseId = `begrunnelse-${tilstand.periodeOpprinneligFormat}`; const beslutning = watch(beslutningFieldName); - const aksjonspunktKode = aksjonspunkt?.definisjon?.kode; + const aksjonspunktKode = aksjonspunkt?.definisjon; const vis = ((skalVurderes(tilstand) && !readOnly) || redigeringsmodus) && aksjonspunkt && tilstand.tilVurdering; const skalViseBegrunnelse = !(aksjonspunktKode === '9069' && beslutning !== Kode.FORTSETT); const fortsettKnappTekstFunc = { diff --git a/packages/fakta-inntektsmelding/src/ui/components/kompletthetsoversikt/Kompletthetsoversikt.tsx b/packages/fakta-inntektsmelding/src/ui/components/kompletthetsoversikt/Kompletthetsoversikt.tsx index 60522c6d7c..b7c2a926bd 100644 --- a/packages/fakta-inntektsmelding/src/ui/components/kompletthetsoversikt/Kompletthetsoversikt.tsx +++ b/packages/fakta-inntektsmelding/src/ui/components/kompletthetsoversikt/Kompletthetsoversikt.tsx @@ -31,9 +31,9 @@ const Kompletthetsoversikt = ({ kompletthetsoversikt, onFormSubmit }: Kompletthe const periods = tilstander.map(({ periode }) => periode); const statuses = tilstander.map(({ status }) => status); const aktivtAksjonspunkt = finnAktivtAksjonspunkt(aksjonspunkter); - const forrigeAksjonspunkt = aksjonspunkter.sort((a, b) => Number(b.definisjon.kode) - Number(a.definisjon.kode))[0]; - const aktivtAksjonspunktKode = aktivtAksjonspunkt?.definisjon?.kode; - const forrigeAksjonspunktKode = forrigeAksjonspunkt?.definisjon?.kode; + const forrigeAksjonspunkt = aksjonspunkter.sort((a, b) => Number(b.definisjon) - Number(a.definisjon))[0]; + const aktivtAksjonspunktKode = aktivtAksjonspunkt?.definisjon; + const forrigeAksjonspunktKode = forrigeAksjonspunkt?.definisjon; const aksjonspunktKode = aktivtAksjonspunktKode || forrigeAksjonspunktKode; const tilstanderBeriket = tilstander.map(tilstand => { diff --git a/packages/fakta-inntektsmelding/src/ui/components/period-list/PeriodList.tsx b/packages/fakta-inntektsmelding/src/ui/components/period-list/PeriodList.tsx index d4b6c38957..90e38c0080 100644 --- a/packages/fakta-inntektsmelding/src/ui/components/period-list/PeriodList.tsx +++ b/packages/fakta-inntektsmelding/src/ui/components/period-list/PeriodList.tsx @@ -2,14 +2,14 @@ import React from 'react'; import { Period } from '@fpsak-frontend/utils'; import { CalendarIcon } from '@navikt/ft-plattform-komponenter'; import { UseFormReturn } from 'react-hook-form'; -import styles from './periodList.module.css'; +import { Aksjonspunkt } from '@k9-sak-web/types'; import FortsettUtenInntektsmeldingForm from '../fortsett-uten-inntektsmelding-form/FortsettUtenInntektsmeldingForm'; import { TilstandBeriket } from '../../../types/KompletthetData'; import FortsettUtenInntektsmeldingInfo from './FortsettUtenInntektsmeldingInfo'; import FortsettUtenInntektsmeldingAvslag from './FortsettUtenInntektsmeldingAvslag'; -import Aksjonspunkt from '../../../types/Aksjonspunkt'; import AksjonspunktRequestPayload from '../../../types/AksjonspunktRequestPayload'; import { sorterSkjæringstidspunkt } from '../../../util/utils'; +import styles from './periodList.module.css'; interface PeriodListProps { tilstander: TilstandBeriket[]; diff --git a/packages/fakta-inntektsmelding/src/util/utils.ts b/packages/fakta-inntektsmelding/src/util/utils.ts index b283e782c0..5aa239c379 100644 --- a/packages/fakta-inntektsmelding/src/util/utils.ts +++ b/packages/fakta-inntektsmelding/src/util/utils.ts @@ -1,11 +1,11 @@ import { initializeDate } from '@fpsak-frontend/utils'; -import Aksjonspunkt from '../types/Aksjonspunkt'; +import { Aksjonspunkt } from '@k9-sak-web/types'; import { Kode, TilstandBeriket } from '../types/KompletthetData'; import Status from '../types/TilstandStatus'; // eslint-disable-next-line import/prefer-default-export export const finnAktivtAksjonspunkt = (aksjonspunkter: Aksjonspunkt[]): Aksjonspunkt => - aksjonspunkter.find(aksjonspunkt => aksjonspunkt.status.kode === 'OPPR'); + aksjonspunkter.find(aksjonspunkt => aksjonspunkt.status === 'OPPR'); export const skalVurderes = (tilstand: TilstandBeriket): boolean => tilstand?.tilVurdering && diff --git a/packages/fakta-medlemskap/src/MedlemskapFaktaIndex.stories.tsx b/packages/fakta-medlemskap/src/MedlemskapFaktaIndex.stories.tsx index 420921533c..4c5e6ff0df 100644 --- a/packages/fakta-medlemskap/src/MedlemskapFaktaIndex.stories.tsx +++ b/packages/fakta-medlemskap/src/MedlemskapFaktaIndex.stories.tsx @@ -1,18 +1,18 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import { action } from '@storybook/addon-actions'; import React from 'react'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import MedlemskapFaktaIndex from './MedlemskapFaktaIndex'; const behandling = { id: 1, versjon: 1, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - }, + type: behandlingType.FØRSTEGANGSSØKNAD, behandlingPaaVent: false, status: behandlingStatus.OPPRETTET, }; @@ -35,9 +35,7 @@ const soknad = { const arbeidsforhold = [ { arbeidsgiverReferanse: '12345678', - kilde: { - kode: '-', - }, + kilde: '-', }, ]; const medlemskap = { @@ -63,18 +61,9 @@ const medlemskap = { { fom: '2019-01-01', tom: '2021-10-13', - medlemskapType: { - kode: 'AVKLARES', - kodeverk: 'MEDLEMSKAP_TYPE', - }, - dekningType: { - kode: 'OPPHOR', - kodeverk: 'MEDLEMSKAP_DEKNING', - }, - kildeType: { - kode: 'FS22', - kodeverk: 'MEDLEMSKAP_KILDE', - }, + medlemskapType: 'AVKLARES', // MEDLEMSKAP_TYPE + dekningType: 'OPPHOR', // MEDLEMSKAP_DEKNING + kildeType: 'FS22', // MEDLEMSKAP_KILDE beslutningsdato: null, }, ], @@ -86,42 +75,20 @@ const medlemskap = { aktoerId: '1615078487209', diskresjonskode: null, nummer: null, - navBrukerKjonn: { - kode: 'K', - kodeverk: 'BRUKER_KJOENN', - }, - statsborgerskap: { - kode: 'NOR', - kodeverk: 'LANDKODER', - navn: 'Norge', - }, + navBrukerKjonn: 'K', // BRUKER_KJOENN + statsborgerskap: 'NOR', // LANDKODER avklartPersonstatus: { - orginalPersonstatus: { - kode: 'BOSA', - kodeverk: 'PERSONSTATUS_TYPE', - }, - overstyrtPersonstatus: { - kode: 'BOSA', - kodeverk: 'PERSONSTATUS_TYPE', - }, - }, - personstatus: { - kode: 'BOSA', - kodeverk: 'PERSONSTATUS_TYPE', - }, - sivilstand: { - kode: 'UGIF', - kodeverk: 'SIVILSTAND_TYPE', + orginalPersonstatus: 'BOSA', // PERSONSTATUS_TYPE + overstyrtPersonstatus: 'BOSA', // PERSONSTATUS_TYPE }, + personstatus: 'BOSA', // PERSONSTATUS_TYPE + sivilstand: 'UGIF', // SIVILSTAND_TYPE navn: 'Mygg Robust', dodsdato: null, fodselsdato: '1966-08-02', adresser: [ { - adresseType: { - kode: 'BOSTEDSADRESSE', - kodeverk: 'ADRESSE_TYPE', - }, + adresseType: 'BOSTEDSADRESSE', // ADRESSE_TYPE mottakerNavn: 'Mygg Robust', adresselinje1: 'Skogvegen 3', adresselinje2: null, @@ -131,10 +98,7 @@ const medlemskap = { land: 'NOR', }, ], - region: { - kode: 'NORDEN', - kodeverk: 'REGION', - }, + region: 'NORDEN', // REGION annenPart: null, ektefelle: null, barn: [], @@ -158,41 +122,19 @@ const medlemskap = { aktoerId: '1615078487209', diskresjonskode: null, nummer: null, - navBrukerKjonn: { - kode: 'K', - kodeverk: 'BRUKER_KJOENN', - }, - statsborgerskap: { - kode: 'NOR', - kodeverk: 'LANDKODER', - navn: 'Norge', - }, + navBrukerKjonn: 'K', // BRUKER_KJOENN + statsborgerskap: 'NOR', // LANDKODER avklartPersonstatus: { - orginalPersonstatus: { - kode: 'BOSA', - kodeverk: 'PERSONSTATUS_TYPE', - }, - overstyrtPersonstatus: { - kode: 'BOSA', - kodeverk: 'PERSONSTATUS_TYPE', - }, - }, - personstatus: { - kode: 'BOSA', - kodeverk: 'PERSONSTATUS_TYPE', - }, - sivilstand: { - kode: 'UGIF', - kodeverk: 'SIVILSTAND_TYPE', + orginalPersonstatus: 'BOSA', // PERSONSTATUS_TYPE + overstyrtPersonstatus: 'BOSA', // PERSONSTATUS_TYPE }, + personstatus: 'BOSA', // PERSONSTATUS_TYPE + sivilstand: 'UGIF', // SIVILSTAND_TYPE navn: 'Mygg Robust', dodsdato: null, fodselsdato: '1966-08-02', adresser: [], - region: { - kode: 'NORDEN', - kodeverk: 'REGION', - }, + region: 'NORDEN', // REGION annenPart: null, ektefelle: null, barn: [], @@ -223,24 +165,27 @@ export default { }; export const visAksjonspunktForAvklaringAvStartdatoForForeldrepengerperioden = args => ( - + + ]} + alleKodeverk={alleKodeverk} + submitCallback={action('button-click')} + {...args} + /> + ); visAksjonspunktForAvklaringAvStartdatoForForeldrepengerperioden.args = { @@ -260,57 +205,48 @@ visAksjonspunktForAvklaringAvStartdatoForForeldrepengerperioden.args = { }; export const visAksjonspunktForAlleAndreMedlemskapsaksjonspunkter = args => ( - + + ]} + alleKodeverk={alleKodeverk} + submitCallback={action('button-click')} + {...args} + /> + ); visAksjonspunktForAlleAndreMedlemskapsaksjonspunkter.args = { diff --git a/packages/fakta-medlemskap/src/components/MedlemskapInfoPanel.jsx b/packages/fakta-medlemskap/src/components/MedlemskapInfoPanel.jsx index 12355c7c78..7dafae5523 100644 --- a/packages/fakta-medlemskap/src/components/MedlemskapInfoPanel.jsx +++ b/packages/fakta-medlemskap/src/components/MedlemskapInfoPanel.jsx @@ -1,10 +1,9 @@ -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; +import React, { useMemo } from 'react'; // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -import React, { useMemo } from 'react'; + +import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; +import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import medlemskapAksjonspunkterPropType from '../propTypes/medlemskapAksjonspunkterPropType'; import medlemskapMedlemskaPropType from '../propTypes/medlemskapMedlemskapPropType'; import medlemskapSoknadPropType from '../propTypes/medlemskapSoknadPropType'; @@ -14,7 +13,7 @@ const { OVERSTYR_AVKLAR_STARTDATO } = aksjonspunktCodes; const avklarStartdatoAp = [OVERSTYR_AVKLAR_STARTDATO]; -const hasOpen = aksjonspunkt => aksjonspunkt && isAksjonspunktOpen(aksjonspunkt.status.kode); +const hasOpen = aksjonspunkt => aksjonspunkt && isAksjonspunktOpen(aksjonspunkt.status); /** * MedlemskapInfoPanel @@ -35,9 +34,9 @@ const MedlemskapInfoPanel = ({ medlemskap, fagsakPerson, }) => { - const avklarStartdatoOverstyring = aksjonspunkter.find(ap => ap.definisjon.kode === OVERSTYR_AVKLAR_STARTDATO); + const avklarStartdatoOverstyring = aksjonspunkter.find(ap => ap.definisjon === OVERSTYR_AVKLAR_STARTDATO); const aksjonspunkterMinusAvklarStartDato = useMemo( - () => aksjonspunkter.filter(ap => !avklarStartdatoAp.includes(ap.definisjon.kode)), + () => aksjonspunkter.filter(ap => !avklarStartdatoAp.includes(ap.definisjon)), [aksjonspunkter], ); @@ -72,7 +71,7 @@ MedlemskapInfoPanel.propTypes = { behandlingId: PropTypes.number.isRequired, behandlingVersjon: PropTypes.number.isRequired, fagsakPerson: PropTypes.shape().isRequired, - behandlingType: kodeverkObjektPropType.isRequired, + behandlingType: PropTypes.string.isRequired, soknad: medlemskapSoknadPropType, alleKodeverk: PropTypes.shape().isRequired, medlemskap: medlemskapMedlemskaPropType.isRequired, diff --git a/packages/fakta-medlemskap/src/components/MedlemskapInfoPanel.spec.tsx b/packages/fakta-medlemskap/src/components/MedlemskapInfoPanel.spec.tsx index b16f7a2277..61159eda47 100644 --- a/packages/fakta-medlemskap/src/components/MedlemskapInfoPanel.spec.tsx +++ b/packages/fakta-medlemskap/src/components/MedlemskapInfoPanel.spec.tsx @@ -1,8 +1,8 @@ -import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; import React from 'react'; -import messages from '../../i18n/nb_NO.json'; +import { screen } from '@testing-library/react'; +import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import MedlemskapInfoPanel from './MedlemskapInfoPanel'; +import messages from '../../i18n/nb_NO.json'; describe('', () => { it('skal vise begge medlemskapsformer når aksjonspunkt for startdato for foreldrepengerperioden er avklart', () => { @@ -15,10 +15,7 @@ describe('', () => { alleMerknaderFraBeslutter={{}} behandlingId={1} behandlingVersjon={1} - behandlingType={{ - kode: 'Test', - kodeverk: 'test', - }} + behandlingType="Test" soknad={{}} alleKodeverk={{}} medlemskap={{}} @@ -40,10 +37,7 @@ describe('', () => { alleMerknaderFraBeslutter={{}} behandlingId={1} behandlingVersjon={1} - behandlingType={{ - kode: 'test', - kodeverk: 'test', - }} + behandlingType="test" soknad={{}} alleKodeverk={{}} medlemskap={{}} diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.jsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.jsx index aed53bce05..2612d536c3 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.jsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.jsx @@ -1,3 +1,9 @@ +import React from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import PropTypes from 'prop-types'; +import countries from 'i18n-iso-countries'; +import norwegianLocale from 'i18n-iso-countries/langs/no.json'; import BostedSokerFaktaIndex from '@fpsak-frontend/fakta-bosted-soker'; import { RadioGroupField, behandlingFormValueSelector } from '@fpsak-frontend/form'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; @@ -5,12 +11,6 @@ import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktSta import { FaktaGruppe, PeriodLabel, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { required } from '@fpsak-frontend/utils'; import { BodyShort, Detail, HGrid } from '@navikt/ds-react'; -import countries from 'i18n-iso-countries'; -import norwegianLocale from 'i18n-iso-countries/langs/no.json'; -import PropTypes from 'prop-types'; -import React from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; import styles from './oppholdINorgeOgAdresserFaktaPanel.module.css'; @@ -176,13 +176,13 @@ OppholdINorgeOgAdresserFaktaPanel.buildInitialValues = (soknad, periode, aksjons periode.aksjonspunkter.includes(aksjonspunktCodes.AVKLAR_OM_BRUKER_ER_BOSATT) || (periode.aksjonspunkter.length > 0 && periode.aksjonspunkter.includes(aksjonspunktCodes.AVKLAR_OM_BRUKER_ER_BOSATT) && - ap.definisjon.kode === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP), + ap.definisjon === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP), ); return { opphold, hasBosattAksjonspunkt: filteredAp.length > 0, - isBosattAksjonspunktClosed: filteredAp.some(ap => !isAksjonspunktOpen(ap.status.kode)), + isBosattAksjonspunktClosed: filteredAp.some(ap => !isAksjonspunktOpen(ap.status)), foreldre: parents, bosattVurdering: periode.bosattVurdering || periode.bosattVurdering === false ? periode.bosattVurdering : undefined, }; diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.spec.tsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.spec.tsx index bd2ca0fa52..29f1910301 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.spec.tsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdINorgeOgAdresserFaktaPanel.spec.tsx @@ -1,13 +1,16 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import opplysningAdresseType from '@fpsak-frontend/kodeverk/src/opplysningAdresseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../../i18n/nb_NO.json'; + import OppholdINorgeOgAdresserFaktaPanel from './OppholdINorgeOgAdresserFaktaPanel'; +import messages from '../../../i18n/nb_NO.json'; + describe('', () => { const opphold = { utlandsopphold: [ @@ -25,10 +28,7 @@ describe('', () => { personopplysning: { navn: 'Espen Utvikler', adresser: [], - personstatus: { - kode: 'UTVA', - navn: 'Utvandret', - }, + personstatus: 'UTVA', }, }, { @@ -36,10 +36,7 @@ describe('', () => { personopplysning: { navn: 'Petra Tester', adresser: [], - personstatus: { - kode: 'UTVA', - navn: 'Utvandret', - }, + personstatus: 'UTVA', }, }, ]; @@ -151,10 +148,7 @@ describe('', () => { personopplysning: { navn: 'Espen Utvikler', adresser: [], - personstatus: { - kode: 'UTVA', - navn: 'Utvandret', - }, + personstatus: 'UTVA', }, }, { @@ -162,10 +156,7 @@ describe('', () => { personopplysning: { navn: 'Petra Tester', adresser: [], - personstatus: { - kode: 'UTVA', - navn: 'Utvandret', - }, + personstatus: 'UTVA', }, }, ]; @@ -194,45 +185,30 @@ describe('', () => { personopplysninger: { navn: 'Espen Utvikler', personstatus: { - personstatus: { - kode: 'UTVANDRET', - navn: 'Utvandret', - }, + personstatus: 'UTVANDRET', }, avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - navn: 'Bosatt', - }, + overstyrtPersonstatus: personstatusType.BOSATT, }, adresser: [ { adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', - opplysningAdresseType: { - kode: opplysningAdresseType.POSTADRESSE, - navn: 'Bostedsadresse', - }, + opplysningAdresseType: opplysningAdresseType.POSTADRESSE, }, ], annenPart: { navn: 'Petra Tester', personstatus: { - personstatus: { - kode: 'UTVANDRET', - navn: 'Utvandret', - }, + personstatus: 'UTVANDRET', }, adresser: [ { adresselinje1: 'Vei 2', postNummer: '2000', poststed: 'Stockholm', - opplysningAdresseType: { - kode: opplysningAdresseType.UTENLANDSK_POSTADRESSE, - navn: 'Bostedsadresse', - }, + opplysningAdresseType: opplysningAdresseType.UTENLANDSK_POSTADRESSE, }, ], }, @@ -241,12 +217,8 @@ describe('', () => { const aksjonspunkter = [ { - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OM_BRUKER_ER_BOSATT, - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: aksjonspunktCodes.AVKLAR_OM_BRUKER_ER_BOSATT, + status: aksjonspunktStatus.OPPRETTET, }, ]; const soknad = { @@ -262,45 +234,30 @@ describe('', () => { personopplysning: { navn: 'Espen Utvikler', personstatus: { - personstatus: { - kode: 'UTVANDRET', - navn: 'Utvandret', - }, + personstatus: 'UTVANDRET', }, avklartPersonstatus: { - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - navn: 'Bosatt', - }, + overstyrtPersonstatus: personstatusType.BOSATT, }, adresser: [ { adresselinje1: 'Vei 1', postNummer: '1000', poststed: 'Oslo', - opplysningAdresseType: { - kode: opplysningAdresseType.POSTADRESSE, - navn: 'Bostedsadresse', - }, + opplysningAdresseType: opplysningAdresseType.POSTADRESSE, }, ], annenPart: { navn: 'Petra Tester', personstatus: { - personstatus: { - kode: 'UTVANDRET', - navn: 'Utvandret', - }, + personstatus: 'UTVANDRET', }, adresser: [ { adresselinje1: 'Vei 2', postNummer: '2000', poststed: 'Stockholm', - opplysningAdresseType: { - kode: opplysningAdresseType.UTENLANDSK_POSTADRESSE, - navn: 'Bostedsadresse', - }, + opplysningAdresseType: opplysningAdresseType.UTENLANDSK_POSTADRESSE, }, ], }, @@ -311,20 +268,14 @@ describe('', () => { personopplysning: { navn: 'Petra Tester', personstatus: { - personstatus: { - kode: 'UTVANDRET', - navn: 'Utvandret', - }, + personstatus: 'UTVANDRET', }, adresser: [ { adresselinje1: 'Vei 2', postNummer: '2000', poststed: 'Stockholm', - opplysningAdresseType: { - kode: opplysningAdresseType.UTENLANDSK_POSTADRESSE, - navn: 'Bostedsadresse', - }, + opplysningAdresseType: opplysningAdresseType.UTENLANDSK_POSTADRESSE, }, ], }, diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPeriodeForm.jsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPeriodeForm.jsx index cb0039d653..4ecb857b29 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPeriodeForm.jsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPeriodeForm.jsx @@ -6,10 +6,8 @@ import React from 'react'; import { FormattedMessage, injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { createSelector } from 'reselect'; - import { behandlingForm, behandlingFormValueSelector } from '@fpsak-frontend/form'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { BorderBox, FlexColumn, @@ -18,7 +16,7 @@ import { VerticalSpacer, useSaksbehandlerOppslag, } from '@fpsak-frontend/shared-components'; -import { ISO_DATE_FORMAT, getKodeverknavnFn } from '@fpsak-frontend/utils'; +import { ISO_DATE_FORMAT } from '@fpsak-frontend/utils'; import { FaktaBegrunnelseTextField } from '@k9-sak-web/fakta-felles'; import OppholdINorgeOgAdresserFaktaPanel from './OppholdINorgeOgAdresserFaktaPanel'; @@ -161,14 +159,14 @@ const buildInitialValues = createSelector( )(state, 'gjeldendeFom'), (state, ownProps) => ownProps.alleKodeverk, ], - (valgtPeriode, alleAksjonspunkter, soknad, person, medlemskapPerioder, gjeldendeFom, alleKodeverk) => { + (valgtPeriode, alleAksjonspunkter, soknad, person, medlemskapPerioder, gjeldendeFom) => { const aksjonspunkter = alleAksjonspunkter .filter( ap => - valgtPeriode.aksjonspunkter.includes(ap.definisjon.kode) || - ap.definisjon.kode === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP, + valgtPeriode.aksjonspunkter.includes(ap.definisjon) || + ap.definisjon === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP, ) - .filter(ap => ap.definisjon.kode !== aksjonspunktCodes.AVKLAR_STARTDATO_FOR_FORELDREPENGERPERIODEN); + .filter(ap => ap.definisjon !== aksjonspunktCodes.AVKLAR_STARTDATO_FOR_FORELDREPENGERPERIODEN); let oppholdValues = {}; let confirmValues = {}; if ( @@ -180,17 +178,11 @@ const buildInitialValues = createSelector( if (valgtPeriode.aksjonspunkter.length > 0) { confirmValues = FaktaBegrunnelseTextField.buildInitialValues([valgtPeriode]); } - const kodeverkFn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); + return { ...valgtPeriode, ...OppholdINorgeOgAdresserFaktaPanel.buildInitialValues(soknad, valgtPeriode, aksjonspunkter), - ...PerioderMedMedlemskapFaktaPanel.buildInitialValues( - valgtPeriode, - medlemskapPerioder, - soknad, - aksjonspunkter, - kodeverkFn, - ), + ...PerioderMedMedlemskapFaktaPanel.buildInitialValues(valgtPeriode, medlemskapPerioder, soknad, aksjonspunkter), fom: gjeldendeFom || moment().format(ISO_DATE_FORMAT), ...oppholdValues, ...confirmValues, diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPeriodeForm.spec.tsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPeriodeForm.spec.tsx index 835e4d1e34..d019c5d764 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPeriodeForm.spec.tsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPeriodeForm.spec.tsx @@ -1,11 +1,11 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../../i18n/nb_NO.json'; import { OppholdInntektOgPeriodeForm } from './OppholdInntektOgPeriodeForm'; +import messages from '../../../i18n/nb_NO.json'; const valgtPeriode = { aksjonspunkter: [], @@ -64,14 +64,8 @@ describe('', () => { it('skal avklare bosatt data når en har dette aksjonspunktet', () => { const bosattAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OM_BRUKER_ER_BOSATT, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_OM_BRUKER_ER_BOSATT, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, @@ -111,14 +105,8 @@ describe('', () => { it('skal avklare perioder når en har dette aksjonspunktet', () => { const periodeAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OM_BRUKER_HAR_GYLDIG_PERIODE, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_OM_BRUKER_HAR_GYLDIG_PERIODE, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, @@ -162,14 +150,8 @@ describe('', () => { it('skal avklare oppholdsrett når en har dette aksjonspunktet', () => { const oppholdsrettAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OPPHOLDSRETT, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_OPPHOLDSRETT, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, @@ -210,14 +192,8 @@ describe('', () => { it('skal avklare lovlig opphold når en har dette aksjonspunktet', () => { const lovligOppholdAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_LOVLIG_OPPHOLD, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_LOVLIG_OPPHOLD, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPerioderForm.jsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPerioderForm.jsx index 25c2523cbc..7ee92551e6 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPerioderForm.jsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPerioderForm.jsx @@ -1,13 +1,12 @@ -import { Button } from '@navikt/ds-react'; import React, { Component } from 'react'; -// eslint-disable-next-line import/no-duplicates -import PropTypes from 'prop-types'; -import { FormattedMessage, injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; -import { formPropTypes, change as reduxFormChange, reset as reduxFormReset } from 'redux-form'; +import { FormattedMessage, injectIntl } from 'react-intl'; import { createSelector } from 'reselect'; - +import { formPropTypes, change as reduxFormChange, reset as reduxFormReset } from 'redux-form'; +import { Button } from '@navikt/ds-react'; +// eslint-disable-next-line import/no-duplicates +import PropTypes from 'prop-types'; import { behandlingForm, behandlingFormValueSelector, getBehandlingFormPrefix } from '@fpsak-frontend/form'; import aksjonspunktCodes, { hasAksjonspunkt } from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; @@ -16,7 +15,6 @@ import { AksjonspunktHelpText, VerticalSpacer } from '@fpsak-frontend/shared-com // eslint-disable-next-line import/no-duplicates import { aksjonspunktPropType } from '@fpsak-frontend/prop-types'; import { guid } from '@fpsak-frontend/utils'; - import MedlemskapEndringerTabell from './MedlemskapEndringerTabell'; import OppholdInntektOgPeriodeForm from './OppholdInntektOgPeriodeForm'; @@ -233,12 +231,12 @@ const medlemAksjonspunkter = [ export const transformValues = (values, aksjonspunkter) => { const aktiveMedlemAksjonspunkter = aksjonspunkter - .filter(ap => medlemAksjonspunkter.includes(ap.definisjon.kode)) + .filter(ap => medlemAksjonspunkter.includes(ap.definisjon)) .filter(ap => ap.erAktivt) - .filter(ap => ap.definisjon.kode !== aksjonspunktCodes.AVKLAR_STARTDATO_FOR_FORELDREPENGERPERIODEN); + .filter(ap => ap.definisjon !== aksjonspunktCodes.AVKLAR_STARTDATO_FOR_FORELDREPENGERPERIODEN); return aktiveMedlemAksjonspunkter.map(ap => ({ - kode: ap.definisjon.kode, + kode: ap.definisjon, // begrunnelse: '', //TODO (Hallvard): Kan vi fjerne denne? bekreftedePerioder: values.perioder .map(periode => { @@ -265,8 +263,8 @@ export const transformValues = (values, aksjonspunkter) => { }) .filter( periode => - periode.aksjonspunkter.includes(ap.definisjon.kode) || - (periode.aksjonspunkter.length > 0 && ap.definisjon.kode === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP), + periode.aksjonspunkter.includes(ap.definisjon) || + (periode.aksjonspunkter.length > 0 && ap.definisjon === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP), ), })); }; @@ -287,12 +285,12 @@ const buildInitalValues = createSelector( export const isBehandlingRevurderingFortsattMedlemskap = createSelector( [ownProps => ownProps.behandlingType, ownProps => ownProps.medlemskap], - (type, medlem = {}) => type.kode === behandlingType.REVURDERING && !!medlem.fom, + (type, medlem = {}) => type === behandlingType.REVURDERING && !!medlem.fom, ); const mapStateToPropsFactory = (initialState, initialOwnProps) => { const onSubmit = values => initialOwnProps.submitCallback(transformValues(values, initialOwnProps.aksjonspunkter)); - const hasOpenAksjonspunkter = initialOwnProps.aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status.kode)); + const hasOpenAksjonspunkter = initialOwnProps.aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status)); const perioder = []; return (state, ownProps) => { diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPerioderForm.spec.tsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPerioderForm.spec.tsx index 12aa410031..def258d56b 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPerioderForm.spec.tsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/OppholdInntektOgPerioderForm.spec.tsx @@ -1,12 +1,12 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../../i18n/nb_NO.json'; import OppholdInntektOgPerioderForm, { transformValues } from './OppholdInntektOgPerioderForm'; +import messages from '../../../i18n/nb_NO.json'; const perioder = []; @@ -41,14 +41,8 @@ describe('', () => { it('skal avklare bosatt data når en har dette aksjonspunktet', () => { const bosattAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OM_BRUKER_ER_BOSATT, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_OM_BRUKER_ER_BOSATT, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, @@ -82,14 +76,8 @@ describe('', () => { it('skal avklare perioder når en har dette aksjonspunktet', () => { const periodeAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OM_BRUKER_HAR_GYLDIG_PERIODE, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_OM_BRUKER_HAR_GYLDIG_PERIODE, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, @@ -126,14 +114,8 @@ describe('', () => { it('skal avklare oppholdsrett når en har dette aksjonspunktet', () => { const oppholdsrettAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OPPHOLDSRETT, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_OPPHOLDSRETT, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, @@ -167,14 +149,8 @@ describe('', () => { it('skal avklare lovlig opphold når en har dette aksjonspunktet', () => { const lovligOppholdAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_LOVLIG_OPPHOLD, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_LOVLIG_OPPHOLD, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, @@ -208,14 +184,8 @@ describe('', () => { it('skal avklare fortsatt medlemskap når en har dette aksjonspunktet', () => { const fortsattMedlemskapAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, @@ -249,14 +219,8 @@ describe('', () => { it('skal kun avklare aksjonspunkt som er aktive', () => { const lovligOppholdAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_LOVLIG_OPPHOLD, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_LOVLIG_OPPHOLD, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: false, @@ -265,14 +229,8 @@ describe('', () => { const fortsattMedlemskapAksjonspunkt = { id: 1, - definisjon: { - kode: aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP, - navn: 'ap1', - }, - status: { - kode: 's1', - navn: 's1', - }, + definisjon: aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP, + status: 's1', toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: false, kanLoses: true, diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/PerioderMedMedlemskapFaktaPanel.jsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/PerioderMedMedlemskapFaktaPanel.jsx index 6c220653c7..1845ceb9af 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/PerioderMedMedlemskapFaktaPanel.jsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/PerioderMedMedlemskapFaktaPanel.jsx @@ -1,7 +1,14 @@ +import React from 'react'; +import { connect } from 'react-redux'; +import { FormattedMessage } from 'react-intl'; +import moment from 'moment'; +import PropTypes from 'prop-types'; +import { createSelector } from 'reselect'; import { Label, RadioGroupField, behandlingFormValueSelector } from '@fpsak-frontend/form'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { DateLabel, FaktaGruppe, @@ -13,12 +20,7 @@ import { } from '@fpsak-frontend/shared-components'; import { DDMMYYYY_DATE_FORMAT, required } from '@fpsak-frontend/utils'; import { BodyShort, Table, VStack } from '@navikt/ds-react'; -import moment from 'moment'; -import PropTypes from 'prop-types'; -import React from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; -import { createSelector } from 'reselect'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; const headerTextCodes = [ 'PerioderMedMedlemskapFaktaPanel.Period', @@ -41,6 +43,8 @@ export const PerioderMedMedlemskapFaktaPanel = ({ vurderingTypes, alleMerknaderFraBeslutter, }) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); + if (!fixedMedlemskapPerioder || fixedMedlemskapPerioder.length === 0) { return ( @@ -76,8 +80,10 @@ export const PerioderMedMedlemskapFaktaPanel = ({ - {periode.dekning} - {periode.status} + + {kodeverkNavnFraKode(periode.dekning, KodeverkType.MEDLEMSKAP_DEKNING)} + + {kodeverkNavnFraKode(periode.status, KodeverkType.MEDLEMSKAP_TYPE)} {periode.beslutningsdato ? : null} @@ -157,13 +163,7 @@ const mapStateToProps = (state, ownProps) => ({ vurderingTypes: getAksjonspunkter(ownProps), }); -PerioderMedMedlemskapFaktaPanel.buildInitialValues = ( - periode, - medlemskapPerioder, - soknad, - aksjonspunkter, - getKodeverknavn, -) => { +PerioderMedMedlemskapFaktaPanel.buildInitialValues = (periode, medlemskapPerioder, soknad, aksjonspunkter) => { if (medlemskapPerioder === null) { return []; } @@ -172,17 +172,17 @@ PerioderMedMedlemskapFaktaPanel.buildInitialValues = ( .map(i => ({ fom: i.fom, tom: i.tom, - dekning: i.dekningType ? getKodeverknavn(i.dekningType) : '', - status: getKodeverknavn(i.medlemskapType), + dekning: i.dekningType, + status: i.medlemskapType, beslutningsdato: i.beslutningsdato, })) .sort((p1, p2) => new Date(p1.fom).getTime() - new Date(p2.fom).getTime()); const filteredAp = aksjonspunkter.filter( ap => - periode.aksjonspunkter.includes(ap.definisjon.kode) || + periode.aksjonspunkter.includes(ap.definisjon) || (periode.aksjonspunkter.length > 0 && periode.aksjonspunkter.includes(aksjonspunktCodes.AVKLAR_OM_BRUKER_HAR_GYLDIG_PERIODE) && - ap.definisjon.kode === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP), + ap.definisjon === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP), ); return { @@ -190,7 +190,7 @@ PerioderMedMedlemskapFaktaPanel.buildInitialValues = ( medlemskapManuellVurderingType: periode.medlemskapManuellVurderingType, fodselsdato: soknad && soknad.fodselsdatoer ? Object.values(soknad.fodselsdatoer)[0] : undefined, hasPeriodeAksjonspunkt: filteredAp.length > 0, - isPeriodAksjonspunktClosed: filteredAp.some(ap => !isAksjonspunktOpen(ap.status.kode)), + isPeriodAksjonspunktClosed: filteredAp.some(ap => !isAksjonspunktOpen(ap.status)), }; }; diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/PerioderMedMedlemskapFaktaPanel.spec.tsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/PerioderMedMedlemskapFaktaPanel.spec.tsx index 33b9485d3f..5a57a3608a 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/PerioderMedMedlemskapFaktaPanel.spec.tsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/PerioderMedMedlemskapFaktaPanel.spec.tsx @@ -1,19 +1,24 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../../i18n/nb_NO.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import PerioderMedMedlemskapFaktaPanel from './PerioderMedMedlemskapFaktaPanel'; +import messages from '../../../i18n/nb_NO.json'; + describe('', () => { it('skal vise periode og manuelle-vurderingstyper i form', () => { const periods = [ { fom: '2016-01-15', tom: '2016-10-15', - dekning: 'testdekning', - status: 'testStatus', + dekning: 'FULL', + status: 'FORELOPIG', beslutningsdato: '2016-10-16', }, ]; @@ -29,19 +34,26 @@ describe('', () => { ]; renderWithIntlAndReduxForm( - , + + + , { messages }, ); - expect(screen.getByText('testdekning')).toBeInTheDocument(); - expect(screen.getByText('testStatus')).toBeInTheDocument(); + expect(screen.getByText('Full')).toBeInTheDocument(); + expect(screen.getByText('Foreløpig')).toBeInTheDocument(); expect(screen.getByText('15.01.2016-15.10.2016')).toBeInTheDocument(); expect(screen.getAllByRole('radio', { name: /navn/i }).length).toBe(2); }); @@ -51,8 +63,8 @@ describe('', () => { { fom: '2016-01-15', tom: '2016-10-15', - dekning: 'testdekning', - status: 'testStatus', + dekning: 'Full', + status: 'Foreløpig', beslutningsdato: '2016-10-16', }, ]; @@ -78,8 +90,8 @@ describe('', () => { { fom: '2017-08-01', tom: '2017-08-31', - dekning: 'testDekning', - status: 'testStatus', + dekning: 'Full', + status: 'Foreløpig', beslutningsdato: '2017-06-01', }, ]; @@ -96,7 +108,6 @@ describe('', () => { { messages }, ); - screen.debug(); expect(screen.getByRole('table')).toBeInTheDocument(); }); @@ -151,23 +162,15 @@ describe('', () => { { fom: '2016-01-15', tom: '2016-10-15', - dekningType: { - kode: 'DEK_TYPE', - }, - medlemskapType: { - kode: 'M_STATUS', - }, + dekningType: 'FTL_2_9_1_b', + medlemskapType: 'ENDELIG', beslutningsdato: '2016-10-16', }, { fom: '2017-01-15', tom: '2017-10-15', - dekningType: { - kode: 'DEK_TYPE2', - }, - medlemskapType: { - kode: 'M_STATUS2', - }, + dekningType: 'FTL_2_6', + medlemskapType: 'FORELOPIG', beslutningsdato: '2017-10-16', }, ]; @@ -180,35 +183,16 @@ describe('', () => { const aksjonspunkter = [ { - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OM_BRUKER_HAR_GYLDIG_PERIODE, - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: aksjonspunktCodes.AVKLAR_OM_BRUKER_HAR_GYLDIG_PERIODE, + status: aksjonspunktStatus.OPPRETTET, }, ]; - const getKodeverknavn = kodeverk => { - if (kodeverk.kode === 'DEK_TYPE') { - return 'testdekning'; - } - if (kodeverk.kode === 'DEK_TYPE2') { - return 'testdekning2017'; - } - if (kodeverk.kode === 'M_STATUS') { - return 'testStatus'; - } - if (kodeverk.kode === 'M_STATUS2') { - return 'testStatus2017'; - } - return ''; - }; + const initialValues = PerioderMedMedlemskapFaktaPanel.buildInitialValues( periode, medlemskapPerioder, soknad, aksjonspunkter, - getKodeverknavn, ); expect(initialValues).toStrictEqual({ @@ -216,15 +200,15 @@ describe('', () => { { fom: '2016-01-15', tom: '2016-10-15', - dekning: 'testdekning', - status: 'testStatus', + dekning: 'FTL_2_9_1_b', + status: 'ENDELIG', beslutningsdato: '2016-10-16', }, { fom: '2017-01-15', tom: '2017-10-15', - dekning: 'testdekning2017', - status: 'testStatus2017', + dekning: 'FTL_2_6', + status: 'FORELOPIG', beslutningsdato: '2017-10-16', }, ], diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.spec.tsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.spec.tsx index ebffd231e7..e634d64a63 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.spec.tsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.spec.tsx @@ -1,11 +1,14 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../../i18n/nb_NO.json'; + import StatusForBorgerFaktaPanel from './StatusForBorgerFaktaPanel'; +import messages from '../../../i18n/nb_NO.json'; + describe('', () => { it('skal vise radioknapper for vurdering av oppholdsrett', () => { renderWithIntlAndReduxForm( @@ -53,12 +56,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OPPHOLDSRETT, - }, - status: { - kode: 'UTFO', - }, + definisjon: aksjonspunktCodes.AVKLAR_OPPHOLDSRETT, + status: 'UTFO', }, ]; const initialValues = StatusForBorgerFaktaPanel.buildInitialValues(periode, aksjonspunkter); @@ -98,12 +97,8 @@ describe('', () => { }; const aksjonspunkter = [ { - definisjon: { - kode: aksjonspunktCodes.AVKLAR_OPPHOLDSRETT, - }, - status: { - kode: 'UTFO', - }, + definisjon: aksjonspunktCodes.AVKLAR_OPPHOLDSRETT, + status: 'UTFO', }, ]; diff --git a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.tsx b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.tsx index 149b26db36..5fdb8dafa8 100644 --- a/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.tsx +++ b/packages/fakta-medlemskap/src/components/oppholdInntektOgPerioder/StatusForBorgerFaktaPanel.tsx @@ -1,12 +1,12 @@ import { RadioGroupField, behandlingFormValueSelector } from '@fpsak-frontend/form'; +import React, { FunctionComponent } from 'react'; +import { FormattedMessage, WrappedComponentProps } from 'react-intl'; +import { connect } from 'react-redux'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { ArrowBox, FaktaGruppe, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { required } from '@fpsak-frontend/utils'; import { Detail } from '@navikt/ds-react'; -import React, { FunctionComponent } from 'react'; -import { FormattedMessage, WrappedComponentProps } from 'react-intl'; -import { connect } from 'react-redux'; export type FormValues = { erEosBorger: boolean; @@ -138,7 +138,7 @@ const mapStateToProps = (state, ownProps) => ({ const getApKode = aksjonspunkter => aksjonspunkter - .map(ap => ap.definisjon.kode) + .map(ap => ap.definisjon) .filter( kode => kode === aksjonspunktCodes.AVKLAR_OPPHOLDSRETT || kode === aksjonspunktCodes.AVKLAR_LOVLIG_OPPHOLD, )[0]; @@ -146,7 +146,7 @@ const getApKode = aksjonspunkter => const getEosBorger = (periode, aksjonspunkter) => periode.erEosBorger || periode.erEosBorger === false ? periode.erEosBorger - : aksjonspunkter.some(ap => ap.definisjon.kode === aksjonspunktCodes.AVKLAR_OPPHOLDSRETT); + : aksjonspunkter.some(ap => ap.definisjon === aksjonspunktCodes.AVKLAR_OPPHOLDSRETT); const getOppholdsrettVurdering = periode => periode.oppholdsrettVurdering || periode.oppholdsrettVurdering === false ? periode.oppholdsrettVurdering : undefined; @@ -162,14 +162,14 @@ StatusForBorgerFaktaPanel.buildInitialValues = (periode, aksjonspunkter) => { const closedAp = aksjonspunkter .filter( ap => - periode.aksjonspunkter.includes(ap.definisjon.kode) || + periode.aksjonspunkter.includes(ap.definisjon) || (periode.aksjonspunkter.length > 0 && periode.aksjonspunkter.some( pap => pap === aksjonspunktCodes.AVKLAR_OPPHOLDSRETT || pap === aksjonspunktCodes.AVKLAR_LOVLIG_OPPHOLD, ) && - ap.definisjon.kode === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP), + ap.definisjon === aksjonspunktCodes.AVKLAR_FORTSATT_MEDLEMSKAP), ) - .filter(ap => !isAksjonspunktOpen(ap.status.kode)); + .filter(ap => !isAksjonspunktOpen(ap.status)); return { erEosBorger, diff --git a/packages/fakta-medlemskap/src/propTypes/medlemskapAksjonspunkterPropType.jsx b/packages/fakta-medlemskap/src/propTypes/medlemskapAksjonspunkterPropType.jsx index c228288ce2..b7ad77b85d 100644 --- a/packages/fakta-medlemskap/src/propTypes/medlemskapAksjonspunkterPropType.jsx +++ b/packages/fakta-medlemskap/src/propTypes/medlemskapAksjonspunkterPropType.jsx @@ -1,12 +1,9 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const medlemskapAksjonspunkterPropType = PropTypes.shape({ - definisjon: kodeverkObjektPropType.isRequired, - status: kodeverkObjektPropType.isRequired, + definisjon: PropTypes.string.isRequired, + status: PropTypes.string.isRequired, begrunnelse: PropTypes.string, kanLoses: PropTypes.bool.isRequired, }); diff --git a/packages/fakta-medlemskap/src/propTypes/medlemskapBehandlingPropType.jsx b/packages/fakta-medlemskap/src/propTypes/medlemskapBehandlingPropType.jsx index f46ecf33f0..850008895a 100644 --- a/packages/fakta-medlemskap/src/propTypes/medlemskapBehandlingPropType.jsx +++ b/packages/fakta-medlemskap/src/propTypes/medlemskapBehandlingPropType.jsx @@ -1,15 +1,12 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const medlemskapBehandlingPropType = PropTypes.shape({ id: PropTypes.number.isRequired, versjon: PropTypes.number.isRequired, - type: kodeverkObjektPropType.isRequired, - status: kodeverkObjektPropType.isRequired, - behandlingPaaVent: PropTypes.boolean, + type: PropTypes.string.isRequired, + status: PropTypes.string.isRequired, + behandlingPaaVent: PropTypes.bool, }); export default medlemskapBehandlingPropType; diff --git a/packages/fakta-opplaering/src/OpplaeringContainer.tsx b/packages/fakta-opplaering/src/OpplaeringContainer.tsx index e5ede00120..a1438dc447 100644 --- a/packages/fakta-opplaering/src/OpplaeringContainer.tsx +++ b/packages/fakta-opplaering/src/OpplaeringContainer.tsx @@ -1,10 +1,10 @@ -import { NestedIntlProvider } from '@fpsak-frontend/shared-components'; import { FaktaOpplaeringContext } from '@k9-sak-web/behandling-opplaeringspenger/src/FaktaOpplaeringContext'; -import { Aksjonspunkt } from '@k9-sak-web/types'; import { Tabs as DSTabs } from '@navikt/ds-react'; import { WarningIcon } from '@navikt/ft-plattform-komponenter'; import classnames from 'classnames'; import React, { useContext } from 'react'; +import { Aksjonspunkt } from '@k9-sak-web/types'; +import { NestedIntlProvider } from '@fpsak-frontend/shared-components'; import Tabs from './Tabs'; import GjennomgaaOpplaeringOversikt from './gjennomgaaOpplaering/GjennomgaaOpplaeringOversikt'; import messages from './i18n/nb_NO.json'; @@ -18,7 +18,7 @@ interface TabItemProps { } const findInitialTab = (aktivtAksjonspunkt: Aksjonspunkt) => { - const initialTab = Object.values(Tabs).find(tab => tab.aksjonspunkt === aktivtAksjonspunkt?.definisjon?.kode); + const initialTab = Object.values(Tabs).find(tab => tab.aksjonspunkt === aktivtAksjonspunkt?.definisjon); return initialTab ? initialTab.label : Tabs.GJENNOMGÅ_OPPLÆRING.label; }; @@ -38,8 +38,8 @@ const OpplaeringContainer = () => { const { aksjonspunkter } = useContext(FaktaOpplaeringContext); const aktivtAksjonspunkt = aksjonspunkter - .sort((a, b) => a.definisjon.kode.localeCompare(b.definisjon.kode)) - .find(aksjonspunkt => aksjonspunkt.status.kode === 'OPPR'); + .sort((a, b) => a.definisjon.localeCompare(b.definisjon)) + .find(aksjonspunkt => aksjonspunkt.status === 'OPPR'); return ( @@ -49,10 +49,7 @@ const OpplaeringContainer = () => { key={tab.label} value={tab.label} label={ - + } /> ))} diff --git a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetOversikt.tsx b/packages/fakta-opplaering/src/noedvendighet/NoedvendighetOversikt.tsx index e90d35518d..9e5591a49e 100644 --- a/packages/fakta-opplaering/src/noedvendighet/NoedvendighetOversikt.tsx +++ b/packages/fakta-opplaering/src/noedvendighet/NoedvendighetOversikt.tsx @@ -73,20 +73,20 @@ const NoedvendighetOversikt = () => { ); const andreAksjonspunkterIOpplæring = aksjonspunkter - .filter(aksjonspunkt => aksjonspunkt.definisjon.kode !== aksjonspunktCodes.VURDER_NØDVENDIGHET) + .filter(aksjonspunkt => aksjonspunkt.definisjon !== aksjonspunktCodes.VURDER_NØDVENDIGHET) .map(aksjonspunkt => { - if (aksjonspunkt.definisjon.kode === aksjonspunktCodes.VURDER_GJENNOMGÅTT_OPPLÆRING) { + if (aksjonspunkt.definisjon === aksjonspunktCodes.VURDER_GJENNOMGÅTT_OPPLÆRING) { return 'Opplæring'; } - if (aksjonspunkt.definisjon.kode === aksjonspunktCodes.VURDER_REISETID) { + if (aksjonspunkt.definisjon === aksjonspunktCodes.VURDER_REISETID) { return 'Reisetid'; } return aksjonspunkt; }) .filter(v => typeof v === 'string'); - if (!aksjonspunkter.find(aksjonspunkt => aksjonspunkt.definisjon.kode === aksjonspunktCodes.VURDER_NØDVENDIGHET)) { + if (!aksjonspunkter.find(aksjonspunkt => aksjonspunkt.definisjon === aksjonspunktCodes.VURDER_NØDVENDIGHET)) { return ( {`${andreAksjonspunkterIOpplæring.join(' og ')} må vurderes før Nødvendighet kan vurderes.`} diff --git a/packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurdering.stories.tsx b/packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurdering.stories.tsx index 265f9cf14f..d06730628d 100644 --- a/packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurdering.stories.tsx +++ b/packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurdering.stories.tsx @@ -10,15 +10,9 @@ const behandling = { const aksjonspunkter = [ { - definisjon: { - kode: '8004', - kodeverk: 'AKSJONSPUNKT_DEFINISJON', - }, - begrunnelse: 'Dette akjsonspunktet har blitt løst tidligere', - status: { - kode: 'OPPR', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + definisjon: '8004', // AKSJONSPUNKT_DEFINISJON + begrunnelse: 'Dette aksjonspunktet har blitt løst tidligere', + status: 'OPPR', // AKSJONSPUNKT_STATUS kanLoses: true, erAktivt: true, }, diff --git a/packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurderingForm.tsx b/packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurderingForm.tsx index 55374d30d8..014565defa 100644 --- a/packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurderingForm.tsx +++ b/packages/fakta-opplysninger-fra-soknaden/src/OppgittOpptjeningRevurderingForm.tsx @@ -254,7 +254,7 @@ const buildInitialValues = (values: OpplysningerFraSøknaden, aksjonspunkter: Ak : false; const aksjonspunkt = aksjonspunkter.find( - ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYRING_FRISINN_OPPGITT_OPPTJENING, + ap => ap.definisjon === aksjonspunktCodes.OVERSTYRING_FRISINN_OPPGITT_OPPTJENING, ); return { diff --git a/packages/fakta-opptjening-oms/src/OpptjeningFaktaIndex.stories.tsx b/packages/fakta-opptjening-oms/src/OpptjeningFaktaIndex.stories.tsx index 83a17f9980..fb35ee0f2a 100644 --- a/packages/fakta-opptjening-oms/src/OpptjeningFaktaIndex.stories.tsx +++ b/packages/fakta-opptjening-oms/src/OpptjeningFaktaIndex.stories.tsx @@ -28,9 +28,7 @@ const opptjeningNårEnHarAksjonspunkt = { }, opptjeningAktivitetList: [ { - aktivitetType: { - kode: opptjeningAktivitetType.NÆRING, - }, + aktivitetType: opptjeningAktivitetType.NÆRING, originalFom: null, originalTom: null, opptjeningFom: '1995-09-14', @@ -50,9 +48,7 @@ const opptjeningNårEnHarAksjonspunkt = { begrunnelse: null, }, { - aktivitetType: { - kode: opptjeningAktivitetType.ARBEID, - }, + aktivitetType: opptjeningAktivitetType.ARBEID, originalFom: null, originalTom: null, opptjeningFom: '2018-01-01', @@ -72,9 +68,7 @@ const opptjeningNårEnHarAksjonspunkt = { begrunnelse: null, }, { - aktivitetType: { - kode: opptjeningAktivitetType.ARBEID, - }, + aktivitetType: opptjeningAktivitetType.ARBEID, originalFom: null, originalTom: null, opptjeningFom: '2019-10-25', @@ -114,9 +108,7 @@ const opptjeningUtenAksjonspunkt = { { opptjeningFom: '2017-01-01', opptjeningTom: '9999-12-31', - aktivitetType: { - kode: opptjeningAktivitetType.ARBEID, - }, + aktivitetType: opptjeningAktivitetType.ARBEID, arbeidsforholdRef: 'bf623ff9-6ffb-4a81-b9f1-2648e5530a47', arbeidsgiver: 'EQUINOR ASA AVD STATOIL SOKKELVIRKSOMHET', arbeidsgiverIdentifikator: '973861778', @@ -130,17 +122,14 @@ const opptjeningUtenAksjonspunkt = { { opptjeningFom: '2017-01-01', opptjeningTom: '9999-12-31', - aktivitetType: { - kode: opptjeningAktivitetType.DAGPENGER, - }, + aktivitetType: opptjeningAktivitetType.DAGPENGER, arbeidsforholdRef: 'bf623ff9-6ffb-4a81-b9f1-2648e5530a47', arbeidsgiver: 'EQUINOR ASA AVD STATOIL SOKKELVIRKSOMHET', arbeidsgiverIdentifikator: '973861778', erEndret: false, erGodkjent: true, erManueltOpprettet: false, - - aringRegistreringsdato: '1995-09-14', + naringRegistreringsdato: '1995-09-14', oppdragsgiverOrg: '973861778', stillingsandel: 50, }, @@ -164,12 +153,8 @@ export const visAksjonspunktForOpptjeningsvilkåret = args => ( aksjonspunkter={ [ { - definisjon: { - kode: aksjonspunktCodes.VURDER_PERIODER_MED_OPPTJENING, - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: aksjonspunktCodes.VURDER_PERIODER_MED_OPPTJENING, + status: aksjonspunktStatus.OPPRETTET, begrunnelse: undefined, kanLoses: true, erAktivt: true, diff --git a/packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.spec.tsx b/packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.spec.tsx index c5214f7316..2c06bec74a 100644 --- a/packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.spec.tsx +++ b/packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.spec.tsx @@ -1,17 +1,23 @@ -import OAType from '@fpsak-frontend/kodeverk/src/opptjeningAktivitetType'; -import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { act, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; import type { OpptjeningAktivitetType } from '@k9-sak-web/types/src/opptjening/opptjeningAktivitetType.js'; -import messages from '../../i18n/nb_NO.json'; + +import OAType from '@fpsak-frontend/kodeverk/src/opptjeningAktivitetType'; +import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; +import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; +import alleKodeverk from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { getKodeverkNavnFraKodeFnMock } from '@k9-sak-web/lib/kodeverk/mocks/kodeverkNavnFraKodeMock.js'; import { OpptjeningFaktaFormImpl as OpptjeningFaktaForm } from './OpptjeningFaktaForm'; +import messages from '../../i18n/nb_NO.json'; describe('', () => { + const kodeverkNavnFraKode = getKodeverkNavnFraKodeFnMock(alleKodeverk); + const opptjeningActivities = [ { id: 1, - aktivitetType: { kode: OAType.ARBEID, navn: 'ARBEID' }, + aktivitetType: OAType.ARBEID, opptjeningFom: '2017-06-01', opptjeningTom: '2017-07-10', arbeidsgiver: 'Andersen Transport AS', @@ -33,7 +39,7 @@ describe('', () => { }, { id: 2, - aktivitetType: { kode: OAType.NÆRING, navn: 'NARING' }, + aktivitetType: OAType.ARBEID, opptjeningFom: '2017-08-15', opptjeningTom: '2017-08-15', arbeidsgiver: 'Andersen Transport AS', @@ -80,6 +86,7 @@ describe('', () => { }, ]; it('skal vise aksjonspunktinformasjon og knapper når aksjonspunkt finnes', () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); renderWithIntlAndReduxForm( ', () => { opptjeningList={opptjeningList} arbeidsgiverOpplysningerPerId={undefined} dokStatus="test" + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); @@ -118,6 +126,7 @@ describe('', () => { }); it('skal ikke vise aksjonspunktinformasjon og knapper når aksjonspunkt ikke finnes', () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); renderWithIntlAndReduxForm( ', () => { opptjeningList={opptjeningList} arbeidsgiverOpplysningerPerId={undefined} dokStatus="test" + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); @@ -147,6 +157,7 @@ describe('', () => { }); it('skal ikke vise informasjon om aktiviteten når det ikke er valgt aktivitetstype i dropdown', async () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); renderWithIntlAndReduxForm( ', () => { opptjeningList={opptjeningList} arbeidsgiverOpplysningerPerId={undefined} dokStatus="test" + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); @@ -178,6 +190,7 @@ describe('', () => { }); it('skal kunne lagre og legge til når ingen aktivitet er valgt og alle aksjonspunkter er avklart', () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); const updatedOpptjeningList = [ { ...opptjeningList[0], @@ -207,6 +220,7 @@ describe('', () => { opptjeningList={updatedOpptjeningList} arbeidsgiverOpplysningerPerId={undefined} dokStatus="test" + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); @@ -216,6 +230,7 @@ describe('', () => { }); it('skal automatisk åpne aktivitet som må avklares', () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); const formChangeCallback = vi.fn(); const formInitCallback = vi.fn(); @@ -238,6 +253,7 @@ describe('', () => { opptjeningList={opptjeningList} arbeidsgiverOpplysningerPerId={undefined} dokStatus="test" + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); @@ -246,6 +262,7 @@ describe('', () => { }); it('skal oppdatere aktivitet etter editering', async () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); const formChangeCallback = vi.fn(); const formInitCallback = vi.fn(); @@ -268,6 +285,7 @@ describe('', () => { opptjeningList={opptjeningList} arbeidsgiverOpplysningerPerId={undefined} dokStatus="test" + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); @@ -297,6 +315,7 @@ describe('', () => { }); it('skal legge til aktivitet', async () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); const formChangeCallback = vi.fn(); renderWithIntlAndReduxForm( @@ -326,6 +345,7 @@ describe('', () => { opptjeningList={opptjeningList} arbeidsgiverOpplysningerPerId={undefined} dokStatus="test" + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); @@ -338,6 +358,7 @@ describe('', () => { }); it('skal kunne avbryte editering', async () => { + requestApi.mock(K9sakApiKeys.KODEVERK, alleKodeverk); const formChangeCallback = vi.fn(); const formInitCallback = vi.fn(); @@ -360,6 +381,7 @@ describe('', () => { opptjeningList={opptjeningList} arbeidsgiverOpplysningerPerId={undefined} dokStatus="test" + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); diff --git a/packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.tsx b/packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.tsx index d37bea53f5..a14bdac22d 100644 --- a/packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.tsx +++ b/packages/fakta-opptjening-oms/src/components/OpptjeningFaktaForm.tsx @@ -20,6 +20,7 @@ import { FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { change as reduxFormChange, initialize as reduxFormInitialize } from 'redux-form'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import ActivityPanel, { activityPanelNameFormName } from './activity/ActivityPanel'; import styles from './opptjeningFaktaForm.module.css'; import OpptjeningTimeLine from './timeline/OpptjeningTimeLine'; @@ -78,6 +79,7 @@ interface OpptjeningFaktaFormImplProps { isDirty: boolean; hasAksjonspunkt: boolean; opptjeningList: Opptjening[]; + kodeverkNavnFraKode: (kode: string, kodeverkType: KodeverkType) => string; } interface StateProps { @@ -279,6 +281,7 @@ export class OpptjeningFaktaFormImpl extends Component< alleMerknaderFraBeslutter, alleKodeverk, arbeidsgiverOpplysningerPerId, + kodeverkNavnFraKode, } = this.props; if (!opptjeningList || opptjeningList.length === 0) { return Fant ingen opptjeningsaktiviteter; @@ -354,6 +357,7 @@ export class OpptjeningFaktaFormImpl extends Component< opptjeningTomDato={opptjeningTom} selectedPeriod={selectedOpptjeningActivity} harApneAksjonspunkter={harApneAksjonspunkter} + kodeverkNavnFraKode={kodeverkNavnFraKode} /> diff --git a/packages/fakta-opptjening-oms/src/components/OpptjeningInfoPanel.spec.tsx b/packages/fakta-opptjening-oms/src/components/OpptjeningInfoPanel.spec.tsx index 6fb45ced7f..68a8cda8cf 100644 --- a/packages/fakta-opptjening-oms/src/components/OpptjeningInfoPanel.spec.tsx +++ b/packages/fakta-opptjening-oms/src/components/OpptjeningInfoPanel.spec.tsx @@ -1,18 +1,18 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; import { intlMock } from '@fpsak-frontend/utils-test/intl-test-helper'; import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { Aksjonspunkt, Opptjening } from '@k9-sak-web/types'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../i18n/nb_NO.json'; import OpptjeningInfoPanel, { buildInitialValues } from './OpptjeningInfoPanel'; +import messages from '../../i18n/nb_NO.json'; describe('', () => { it('skal vise opptjeningspanel', () => { renderWithIntlAndReduxForm( ', () => { opptjeningFom: '2018-01-01', opptjeningTom: '2018-10-01', }; - const aksjonspunkter = [{ definisjon: { kode: '5058' }, erAktivt: true, toTrinnsBehandling: false }]; + const aksjonspunkter = [{ definisjon: '5058', erAktivt: true, toTrinnsBehandling: false }]; const opptjeningList = [{ opptjeningAktivitetList, fastsattOpptjening }]; const initialValues = buildInitialValues.resultFunc( @@ -142,8 +142,8 @@ describe('', () => { opptjeningTom: '2018-10-01', }; const aksjonspunkter = [ - { definisjon: { kode: '5051' }, erAktivt: true, toTrinnsBehandling: false }, - { definisjon: { kode: '5080' }, erAktivt: true, toTrinnsBehandling: false }, + { definisjon: '5051', erAktivt: true, toTrinnsBehandling: false }, + { definisjon: '5080', erAktivt: true, toTrinnsBehandling: false }, ]; const opptjeningList = [{ opptjeningAktivitetList, fastsattOpptjening }]; @@ -154,9 +154,7 @@ describe('', () => { expect(initialValues).toStrictEqual({ aksjonspunkter: [ { - definisjon: { - kode: '5051', - }, + definisjon: '5051', erAktivt: true, toTrinnsBehandling: false, }, diff --git a/packages/fakta-opptjening-oms/src/components/OpptjeningInfoPanel.tsx b/packages/fakta-opptjening-oms/src/components/OpptjeningInfoPanel.tsx index 748725ad01..fb4b6e8b68 100644 --- a/packages/fakta-opptjening-oms/src/components/OpptjeningInfoPanel.tsx +++ b/packages/fakta-opptjening-oms/src/components/OpptjeningInfoPanel.tsx @@ -1,6 +1,12 @@ +import React from 'react'; +import { InjectedFormProps } from 'redux-form'; +import { createSelector } from 'reselect'; +import { connect } from 'react-redux'; +import moment from 'moment'; import { behandlingForm } from '@fpsak-frontend/form'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { addDaysToDate, omit } from '@fpsak-frontend/utils'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { Aksjonspunkt, ArbeidsgiverOpplysningerPerId, @@ -11,11 +17,6 @@ import { UtlandDokStatus, } from '@k9-sak-web/types'; import OpptjeningAktivitet from '@k9-sak-web/types/src/opptjening/opptjeningAktivitet'; -import moment from 'moment'; -import React from 'react'; -import { connect } from 'react-redux'; -import { InjectedFormProps } from 'redux-form'; -import { createSelector } from 'reselect'; import OpptjeningFaktaForm from './OpptjeningFaktaForm'; export const formName = 'OpptjeningInfoPanelForm'; @@ -64,25 +65,30 @@ export const OpptjeningInfoPanel = ({ submitting, dirty, handleSubmit, -}: Partial & InjectedFormProps & StateProps) => ( -
- - -); +}: Partial & InjectedFormProps & StateProps) => { + const { getKodeverkNavnFraKodeFn } = useKodeverkContext(); + const kodeverkNavnFraKode = getKodeverkNavnFraKodeFn(); + return ( +
+ + + ); +}; const addDay = (date: string) => addDaysToDate(date, 1); const getOpptjeningsperiodeIfEqual = (activityDate: string, opptjeningsperiodeDate: string) => @@ -129,7 +135,7 @@ export const buildInitialValues = createSelector( return { opptjeningList: filteredOpptjeningList, aksjonspunkter: - aksjonspunkter.filter(ap => ap.definisjon.kode === aksjonspunktCodes.VURDER_PERIODER_MED_OPPTJENING) || null, + aksjonspunkter.filter(ap => ap.definisjon === aksjonspunktCodes.VURDER_PERIODER_MED_OPPTJENING) || null, }; }, ); @@ -183,7 +189,7 @@ const transformValues = (values: Values) => { } return { opptjeningListe: opptjeninger, - kode: values.aksjonspunkter[0].definisjon.kode, + kode: values.aksjonspunkter[0].definisjon, }; }; diff --git a/packages/fakta-opptjening-oms/src/components/activity/ActivityDataSubPanel.spec.tsx b/packages/fakta-opptjening-oms/src/components/activity/ActivityDataSubPanel.spec.tsx index 6a1a8da672..a6d0bb683b 100644 --- a/packages/fakta-opptjening-oms/src/components/activity/ActivityDataSubPanel.spec.tsx +++ b/packages/fakta-opptjening-oms/src/components/activity/ActivityDataSubPanel.spec.tsx @@ -1,9 +1,9 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; import OAType from '@fpsak-frontend/kodeverk/src/opptjeningAktivitetType'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../../i18n/nb_NO.json'; import ActivityDataSubPanel from './ActivityDataSubPanel'; +import messages from '../../../i18n/nb_NO.json'; describe('', () => { const activity1 = { @@ -33,7 +33,7 @@ describe('', () => { arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} readOnly={false} isManuallyAdded={false} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'arbeid' }} + selectedActivityType={OAType.ARBEID} />, { messages }, ); @@ -50,7 +50,7 @@ describe('', () => { initialValues={{}} readOnly={false} isManuallyAdded={false} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'arbeid' }} + selectedActivityType={OAType.ARBEID} arbeidsgiverOpplysningerPerId={undefined} />, { messages }, @@ -69,7 +69,7 @@ describe('', () => { arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} readOnly={false} isManuallyAdded={false} - selectedActivityType={{ kode: OAType.FRILANS, kodeverk: 'FRILANS' }} + selectedActivityType={OAType.FRILANS} />, { messages }, ); @@ -84,7 +84,7 @@ describe('', () => { arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} readOnly={false} isManuallyAdded={false} - selectedActivityType={{ kode: OAType.NÆRING, kodeverk: OAType.NÆRING }} + selectedActivityType={OAType.NÆRING} />, { messages }, ); @@ -101,7 +101,7 @@ describe('', () => { arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} readOnly={false} isManuallyAdded={false} - selectedActivityType={{ kode: OAType.SYKEPENGER, kodeverk: OAType.SYKEPENGER }} + selectedActivityType={OAType.VENTELØNN_VARTPENGER} />, { messages }, ); @@ -116,7 +116,7 @@ describe('', () => { arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} readOnly={false} isManuallyAdded - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} />, { messages }, ); @@ -132,7 +132,7 @@ describe('', () => { arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} readOnly isManuallyAdded - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} />, { messages }, ); @@ -148,7 +148,7 @@ describe('', () => { arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} readOnly={false} isManuallyAdded={false} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} />, { messages }, ); @@ -161,7 +161,7 @@ describe('', () => { arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} readOnly={false} isManuallyAdded={false} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} />, { messages }, ); @@ -173,7 +173,7 @@ describe('', () => { initialValues={{}} readOnly={false} isManuallyAdded={false} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} arbeidsgiverOpplysningerPerId={undefined} />, { messages }, diff --git a/packages/fakta-opptjening-oms/src/components/activity/ActivityDataSubPanel.tsx b/packages/fakta-opptjening-oms/src/components/activity/ActivityDataSubPanel.tsx index 536d4c407c..5cc5fdafd1 100644 --- a/packages/fakta-opptjening-oms/src/components/activity/ActivityDataSubPanel.tsx +++ b/packages/fakta-opptjening-oms/src/components/activity/ActivityDataSubPanel.tsx @@ -1,3 +1,6 @@ +import React from 'react'; +import { FormattedMessage } from 'react-intl'; +import moment from 'moment'; import { DatepickerField, DecimalField, InputField } from '@fpsak-frontend/form'; import OAType from '@fpsak-frontend/kodeverk/src/opptjeningAktivitetType'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; @@ -9,12 +12,10 @@ import { minValue, required, } from '@fpsak-frontend/utils'; -import { ArbeidsgiverOpplysningerPerId, Kodeverk } from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types'; import OpptjeningAktivitet from '@k9-sak-web/types/src/opptjening/opptjeningAktivitet'; import { BodyShort, Detail, HGrid } from '@navikt/ds-react'; -import moment from 'moment'; -import React from 'react'; -import { FormattedMessage } from 'react-intl'; + import styles from './activityDataSubPanel.module.css'; const ytelseTypes = [ @@ -25,15 +26,15 @@ const ytelseTypes = [ OAType.UTENLANDSK_ARBEIDSFORHOLD, ]; -const isOfType = (selectedActivityType: Kodeverk, ...opptjeningAktivitetType: string[]) => - selectedActivityType && opptjeningAktivitetType.includes(selectedActivityType.kode); +const isOfType = (selectedActivityType: string, ...opptjeningAktivitetType: string[]) => + selectedActivityType && opptjeningAktivitetType.includes(selectedActivityType); const formatDate = (date: string) => (date ? moment(date, ISO_DATE_FORMAT).format(DDMMYYYY_DATE_FORMAT) : '-'); const minValue0 = minValue(0); const maxValue200 = maxValue(200); -const getOppdragsgiverMessageId = (selectedActivityType: Kodeverk) => +const getOppdragsgiverMessageId = (selectedActivityType: string) => isOfType(selectedActivityType, OAType.FRILANS) ? 'ActivityPanel.Oppdragsgiver' : 'ActivityPanel.Arbeidsgiver'; const getArbeidsgiverText = ( @@ -65,16 +66,16 @@ const getArbeidsgiverText = ( return '-'; }; -const isManuallyAddedAndNotUtenlandskArbeidsforhold = (isManuallyAdded: boolean, selectedActivityType: Kodeverk) => +const isManuallyAddedAndNotUtenlandskArbeidsforhold = (isManuallyAdded: boolean, selectedActivityType: string) => isManuallyAdded && !isOfType(selectedActivityType, OAType.UTENLANDSK_ARBEIDSFORHOLD); -const isManuallyAddedAndUtenlandskArbeidsforhold = (isManuallyAdded: boolean, selectedActivityType: Kodeverk) => +const isManuallyAddedAndUtenlandskArbeidsforhold = (isManuallyAdded: boolean, selectedActivityType: string) => isManuallyAdded && isOfType(selectedActivityType, OAType.UTENLANDSK_ARBEIDSFORHOLD); interface ActivityDataSubPanelProps { initialValues: Partial; readOnly: boolean; isManuallyAdded: boolean; - selectedActivityType?: Kodeverk; + selectedActivityType?: string; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; } diff --git a/packages/fakta-opptjening-oms/src/components/activity/ActivityPanel.spec.tsx b/packages/fakta-opptjening-oms/src/components/activity/ActivityPanel.spec.tsx index 70ad3524f2..4fee8ce84c 100644 --- a/packages/fakta-opptjening-oms/src/components/activity/ActivityPanel.spec.tsx +++ b/packages/fakta-opptjening-oms/src/components/activity/ActivityPanel.spec.tsx @@ -5,8 +5,8 @@ import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-util import { screen } from '@testing-library/react'; import React from 'react'; import type { OpptjeningAktivitetType } from '@k9-sak-web/types/src/opptjening/opptjeningAktivitetType.js'; -import messages from '../../../i18n/nb_NO.json'; import { ActivityPanel } from './ActivityPanel'; +import messages from '../../../i18n/nb_NO.json'; describe('', () => { const opptjeningAktivitetTypes: OpptjeningAktivitetType[] = [ @@ -37,7 +37,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -65,7 +65,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -93,7 +93,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -121,7 +121,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt={false} @@ -149,7 +149,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt={false} @@ -177,7 +177,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -207,7 +207,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -235,7 +235,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -264,7 +264,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt={false} @@ -291,7 +291,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -321,7 +321,7 @@ describe('', () => { readOnly opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -350,7 +350,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt @@ -378,7 +378,7 @@ describe('', () => { readOnly={false} opptjeningAktivitetTypes={opptjeningAktivitetTypes} cancelSelectedOpptjeningActivity={vi.fn()} - selectedActivityType={{ kode: OAType.ARBEID, kodeverk: 'ARBEID' }} + selectedActivityType={OAType.ARBEID} opptjeningFom="2017-08-15" opptjeningTom="2017-12-31" hasAksjonspunkt diff --git a/packages/fakta-opptjening-oms/src/components/activity/ActivityPanel.tsx b/packages/fakta-opptjening-oms/src/components/activity/ActivityPanel.tsx index 5714fab02f..9ea237c916 100644 --- a/packages/fakta-opptjening-oms/src/components/activity/ActivityPanel.tsx +++ b/packages/fakta-opptjening-oms/src/components/activity/ActivityPanel.tsx @@ -139,7 +139,7 @@ interface StateProps { opptjeningFom: string; opptjeningTom: string; initialValues: Partial; - selectedActivityType: Kodeverk; + selectedActivityType: string; activityId: number; } @@ -214,7 +214,7 @@ export const ActivityPanel = ({ { const items = [ @@ -59,7 +59,7 @@ const createItems = ( end: moment(`${ap.opptjeningTom} 23:59`), group: groups.find( g => - g.aktivitetTypeKode === ap.aktivitetType.kode && + g.aktivitetTypeKode === ap.aktivitetType && g.arbeidsforholdRef === ap.arbeidsforholdRef && g.oppdragsgiverOrg === ap.oppdragsgiverOrg, ).id, @@ -70,11 +70,14 @@ const createItems = ( return items.concat(standardItems(opptjeningFomDato, opptjeningTomDato)); }; -const createGroups = (opptjeningPeriods: OpptjeningAktivitet[], opptjeningAktivitetTypes) => { +const createGroups = ( + opptjeningPeriods: OpptjeningAktivitet[], + kodeverkNavnFraKode: (kode: string, kodeverkType: KodeverkType) => string, +) => { const duplicatesRemoved = opptjeningPeriods.reduce((accPeriods: OpptjeningAktivitet[], period) => { const hasPeriod = accPeriods.some( p => - p.aktivitetType.kode === period.aktivitetType.kode && + p.aktivitetType === period.aktivitetType && p.arbeidsforholdRef === period.arbeidsforholdRef && p.oppdragsgiverOrg === period.oppdragsgiverOrg, ); @@ -83,8 +86,8 @@ const createGroups = (opptjeningPeriods: OpptjeningAktivitet[], opptjeningAktivi }, []); return duplicatesRemoved.map((activity, index) => ({ id: index + 1, - content: opptjeningAktivitetTypes.find(oat => oat.kode === activity.aktivitetType.kode).navn, - aktivitetTypeKode: activity.aktivitetType.kode, + content: kodeverkNavnFraKode(activity.aktivitetType, KodeverkType.OPPTJENING_AKTIVITET_TYPE), + aktivitetTypeKode: activity.aktivitetType, arbeidsforholdRef: activity.arbeidsforholdRef, oppdragsgiverOrg: activity.oppdragsgiverOrg, })); @@ -115,6 +118,7 @@ interface OpptjeningTimeLineProps { opptjeningFomDato: string; opptjeningTomDato: string; harApneAksjonspunkter: boolean; + kodeverkNavnFraKode: (kode: string, kodeverk: KodeverkType) => string; } interface OpptjeningTimeLineState { @@ -144,9 +148,9 @@ class OpptjeningTimeLine extends Component - aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_BEREGNING_INPUT).begrunnelse || ''; + aksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.OVERSTYR_BEREGNING_INPUT).begrunnelse || ''; const erAksjonspunktÅpent = () => - isAksjonspunktOpen( - aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_BEREGNING_INPUT).status.kode, - ); + isAksjonspunktOpen(aksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.OVERSTYR_BEREGNING_INPUT).status); const headerTextCodes = [ 'OverstyrInputForm.FirmaHeader', diff --git a/packages/fakta-soknadsperioder/src/Soknadsperioder.stories.tsx b/packages/fakta-soknadsperioder/src/Soknadsperioder.stories.tsx index e59e4dedd7..2e313790fa 100644 --- a/packages/fakta-soknadsperioder/src/Soknadsperioder.stories.tsx +++ b/packages/fakta-soknadsperioder/src/Soknadsperioder.stories.tsx @@ -1,4 +1,4 @@ -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +// import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import React from 'react'; import SoknadsperioderIndex from './SoknadsperioderIndex'; @@ -7,65 +7,65 @@ export default { component: SoknadsperioderIndex, }; -const alleKodeverk = { - [kodeverkTyper.ÅRSAK_TIL_VURDERING]: [ - { - kode: 'REVURDERER_ENDRING_FRA_ANNEN_PART', - navn: 'Annen parts vedtak endrer uttak', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'REVURDERER_ETABLERT_TILSYN_ENDRING_FRA_ANNEN_OMSORGSPERSON', - navn: 'Endring i felles opplysninger om etablert tilsyn', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'REVURDERER_SYKDOM_ENDRING_FRA_ANNEN_OMSORGSPERSON', - navn: 'Endring i felles opplysninger om sykdom', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'ENDRING_FRA_BRUKER', - navn: 'Endring fra digital søknad/Punsj', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'REVURDERER_NATTEVÅKBEREDSKAP_ENDRING_FRA_ANNEN_OMSORGSPERSON', - navn: 'Endring i felles opplysninger om nattevåk/beredskap', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'G_REGULERING', - navn: 'G-regulering', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'REVURDERER_BERØRT_PERIODE', - navn: 'Tilstøtende periode', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'FØRSTEGANGSVURDERING', - navn: 'Ny periode', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'MANUELT_REVURDERER_PERIODE', - navn: 'Manuell revurdering', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'REVURDERER_NY_INNTEKTSMELDING', - navn: 'Ny inntektsmelding', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - { - kode: 'TRUKKET_KRAV', - navn: 'Endret/fjernet søknadsperiode', - kodeverk: 'ÅRSAK_TIL_VURDERING', - }, - ], -}; +// const alleKodeverk = { +// [kodeverkTyper.ÅRSAK_TIL_VURDERING]: [ +// { +// kode: 'REVURDERER_ENDRING_FRA_ANNEN_PART', +// navn: 'Annen parts vedtak endrer uttak', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'REVURDERER_ETABLERT_TILSYN_ENDRING_FRA_ANNEN_OMSORGSPERSON', +// navn: 'Endring i felles opplysninger om etablert tilsyn', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'REVURDERER_SYKDOM_ENDRING_FRA_ANNEN_OMSORGSPERSON', +// navn: 'Endring i felles opplysninger om sykdom', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'ENDRING_FRA_BRUKER', +// navn: 'Endring fra digital søknad/Punsj', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'REVURDERER_NATTEVÅKBEREDSKAP_ENDRING_FRA_ANNEN_OMSORGSPERSON', +// navn: 'Endring i felles opplysninger om nattevåk/beredskap', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'G_REGULERING', +// navn: 'G-regulering', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'REVURDERER_BERØRT_PERIODE', +// navn: 'Tilstøtende periode', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'FØRSTEGANGSVURDERING', +// navn: 'Ny periode', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'MANUELT_REVURDERER_PERIODE', +// navn: 'Manuell revurdering', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'REVURDERER_NY_INNTEKTSMELDING', +// navn: 'Ny inntektsmelding', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// { +// kode: 'TRUKKET_KRAV', +// navn: 'Endret/fjernet søknadsperiode', +// kodeverk: 'ÅRSAK_TIL_VURDERING', +// }, +// ], +// }; const data = { perioderMedÅrsak: { @@ -133,14 +133,12 @@ const data = { periodeMedUtfall: [ { periode: { fom: '2021-11-01', tom: '2022-05-06' }, - utfall: { kode: 'IKKE_VURDERT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'IKKE_VURDERT', // VILKAR_UTFALL_TYPE }, ], forrigeVedtak: [ - { periode: { fom: '2021-11-01', tom: '2022-01-31' }, utfall: { kode: 'OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' } }, + { periode: { fom: '2021-11-01', tom: '2022-01-31' }, utfall: 'OPPFYLT' }, // VILKAR_UTFALL_TYPE ], }; -export const visFaktaOmSøknadsperioder = () => ( - -); +export const visFaktaOmSøknadsperioder = () => ; diff --git a/packages/fakta-soknadsperioder/src/SoknadsperioderComponent.tsx b/packages/fakta-soknadsperioder/src/SoknadsperioderComponent.tsx index fa865f4326..e8d99da2a0 100644 --- a/packages/fakta-soknadsperioder/src/SoknadsperioderComponent.tsx +++ b/packages/fakta-soknadsperioder/src/SoknadsperioderComponent.tsx @@ -2,7 +2,6 @@ import { Tidslinje, TidslinjeZoom } from '@fpsak-frontend/shared-components'; import HorisontalNavigering from '@fpsak-frontend/shared-components/src/tidslinje/HorisontalNavigering'; import { useSenesteDato } from '@fpsak-frontend/shared-components/src/tidslinje/useTidslinjerader'; import { Period, dateStringSorter } from '@fpsak-frontend/utils'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; import BehandlingPerioderårsakMedVilkår, { DokumenterTilBehandling, } from '@k9-sak-web/types/src/behandlingPerioderarsakMedVilkar'; @@ -11,6 +10,8 @@ import { BodyShort } from '@navikt/ds-react'; import dayjs, { Dayjs } from 'dayjs'; import React, { useEffect, useState } from 'react'; import { useIntl } from 'react-intl'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import CheckIcon from './icons/CheckIcon'; import RejectedIcon from './icons/RejectedIcon'; import SaksbehandlerIcon from './icons/SaksbehandlerIcon'; @@ -67,11 +68,12 @@ const getExpanderbarRadStyles = (flag: boolean) => interface SoknadsperioderComponentProps { behandlingPerioderårsakMedVilkår: BehandlingPerioderårsakMedVilkår; - kodeverk: KodeverkMedNavn[]; } const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { - const { behandlingPerioderårsakMedVilkår, kodeverk } = props; + const { kodeverkNavnFraKode } = useKodeverkContext(); + + const { behandlingPerioderårsakMedVilkår } = props; const [tidslinjeSkala, setTidslinjeSkala] = useState(6); const [expandPerioderTilBehandling, setExpandPerioderTilBehandling] = useState(true); const [expandSøknaderOmNyPeriode, setExpandSøknaderOmNyPeriode] = useState(false); @@ -80,8 +82,6 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { const [navigasjonFomDato, setNavigasjonFomDato] = useState(undefined); const intl = useIntl(); - const getNavnFraKodeverk = (kode: string) => kodeverk.find(kv => kv.kode === kode)?.navn; - /** TODO: Hallvard: Denne bør refaktoreres */ const getPerioderGruppertPåÅrsak = (): { radLabel: string; @@ -99,8 +99,8 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { radLabel: vedtakshistorikkLabel, perioder: behandlingPerioderårsakMedVilkår.forrigeVedtak.map(periode => ({ periode: periode.periode, - status: periode.utfall.kode === 'OPPFYLT' ? ('suksess' as PeriodStatus) : 'feil', - classname: `${periode.utfall.kode === 'OPPFYLT' ? styles.suksess : styles.feil}`, + status: periode.utfall === 'OPPFYLT' ? ('suksess' as PeriodStatus) : 'feil', + classname: `${periode.utfall === 'OPPFYLT' ? styles.suksess : styles.feil}`, })), radClassname: styles.vedtakhistorikkRad, }; @@ -122,7 +122,7 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { const hasSøknaderTilhørendeFørstegangsvurderinger = søknaderTilhørendeFørstegangsvurderinger.length > 0; const søknadOmNyPeriode = [ { - radLabel: getNavnFraKodeverk('FØRSTEGANGSVURDERING'), + radLabel: kodeverkNavnFraKode('FØRSTEGANGSVURDERING', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: førstegangsvurderingsperioder, onClick: hasSøknaderTilhørendeFørstegangsvurderinger ? () => setExpandSøknaderOmNyPeriode(!expandSøknaderOmNyPeriode) @@ -144,7 +144,7 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { const endringerFraSøker = [ { - radLabel: getNavnFraKodeverk('ENDRING_FRA_BRUKER'), + radLabel: kodeverkNavnFraKode('ENDRING_FRA_BRUKER', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: endringerFraSøkerPerioder, onClick: hasSøknaderTilhørendeEringerFraSøker ? () => setExpandEndringerFraSøker(!expandEndringerFraSøker) @@ -155,12 +155,15 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { ]; const revurdererEndringerPgaAnnenPart = { - radLabel: getNavnFraKodeverk('REVURDERER_ENDRING_FRA_ANNEN_PART'), + radLabel: kodeverkNavnFraKode('REVURDERER_ENDRING_FRA_ANNEN_PART', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: getPerioderMedÅrsak('REVURDERER_ENDRING_FRA_ANNEN_PART', behandlingPerioderårsakMedVilkår), }; const revurdererEtablertTilsynEndringFraAnnenOmsorgsperson = { - radLabel: getNavnFraKodeverk('REVURDERER_ETABLERT_TILSYN_ENDRING_FRA_ANNEN_OMSORGSPERSON'), + radLabel: kodeverkNavnFraKode( + 'REVURDERER_ETABLERT_TILSYN_ENDRING_FRA_ANNEN_OMSORGSPERSON', + KodeverkType.ÅRSAK_TIL_VURDERING, + ), perioder: getPerioderMedÅrsak( 'REVURDERER_ETABLERT_TILSYN_ENDRING_FRA_ANNEN_OMSORGSPERSON', behandlingPerioderårsakMedVilkår, @@ -168,7 +171,10 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { }; const revurdererSykdomEndringFraAnnenOmsorgsperson = { - radLabel: getNavnFraKodeverk('REVURDERER_SYKDOM_ENDRING_FRA_ANNEN_OMSORGSPERSON'), + radLabel: kodeverkNavnFraKode( + 'REVURDERER_SYKDOM_ENDRING_FRA_ANNEN_OMSORGSPERSON', + KodeverkType.ÅRSAK_TIL_VURDERING, + ), perioder: getPerioderMedÅrsak( 'REVURDERER_SYKDOM_ENDRING_FRA_ANNEN_OMSORGSPERSON', behandlingPerioderårsakMedVilkår, @@ -176,7 +182,10 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { }; const revurdererNattevåkBeredskapEndringFraAnnenOmsorgsperson = { - radLabel: getNavnFraKodeverk('REVURDERER_NATTEVÅKBEREDSKAP_ENDRING_FRA_ANNEN_OMSORGSPERSON'), + radLabel: kodeverkNavnFraKode( + 'REVURDERER_NATTEVÅKBEREDSKAP_ENDRING_FRA_ANNEN_OMSORGSPERSON', + KodeverkType.ÅRSAK_TIL_VURDERING, + ), perioder: getPerioderMedÅrsak( 'REVURDERER_NATTEVÅKBEREDSKAP_ENDRING_FRA_ANNEN_OMSORGSPERSON', behandlingPerioderårsakMedVilkår, @@ -184,12 +193,12 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { }; const revurdererNyInntektsmelding = { - radLabel: getNavnFraKodeverk('REVURDERER_NY_INNTEKTSMELDING'), + radLabel: kodeverkNavnFraKode('REVURDERER_NY_INNTEKTSMELDING', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: getPerioderMedÅrsak('REVURDERER_NY_INNTEKTSMELDING', behandlingPerioderårsakMedVilkår), }; const revurdererBerørtPeriode = { - radLabel: getNavnFraKodeverk('REVURDERER_BERØRT_PERIODE'), + radLabel: kodeverkNavnFraKode('REVURDERER_BERØRT_PERIODE', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: getPerioderMedÅrsak('REVURDERER_BERØRT_PERIODE', behandlingPerioderårsakMedVilkår), }; @@ -203,7 +212,7 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { const trukketKrav = [ { - radLabel: getNavnFraKodeverk('TRUKKET_KRAV'), + radLabel: kodeverkNavnFraKode('TRUKKET_KRAV', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: trukketKravPerioder, onClick: hasSøknaderTilhørendeTrukketKrav ? () => setExpandTrukketKrav(!expandTrukketKrav) : undefined, radClassname: hasSøknaderTilhørendeTrukketKrav ? getExpanderbarRadStyles(expandTrukketKrav) : '', @@ -212,21 +221,21 @@ const SoknadsperioderComponent = (props: SoknadsperioderComponentProps) => { ]; const gRegulering = { - radLabel: getNavnFraKodeverk('G_REGULERING'), + radLabel: kodeverkNavnFraKode('G_REGULERING', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: getPerioderMedÅrsak('G_REGULERING', behandlingPerioderårsakMedVilkår), }; const revurdererManuellRevurdering = { - radLabel: getNavnFraKodeverk('MANUELT_REVURDERER_PERIODE'), + radLabel: kodeverkNavnFraKode('MANUELT_REVURDERER_PERIODE', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: getPerioderMedÅrsak('MANUELT_REVURDERER_PERIODE', behandlingPerioderårsakMedVilkår), }; const utsattBehandling = { - radLabel: getNavnFraKodeverk('UTSATT_BEHANDLING'), + radLabel: kodeverkNavnFraKode('UTSATT_BEHANDLING', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: getPerioderMedÅrsak('UTSATT_BEHANDLING', behandlingPerioderårsakMedVilkår), }; const gjenopptarUtsattBehandling = { - radLabel: getNavnFraKodeverk('GJENOPPTAR_UTSATT_BEHANDLING'), + radLabel: kodeverkNavnFraKode('GJENOPPTAR_UTSATT_BEHANDLING', KodeverkType.ÅRSAK_TIL_VURDERING), perioder: getPerioderMedÅrsak('GJENOPPTAR_UTSATT_BEHANDLING', behandlingPerioderårsakMedVilkår), }; diff --git a/packages/fakta-soknadsperioder/src/SoknadsperioderIndex.spec.tsx b/packages/fakta-soknadsperioder/src/SoknadsperioderIndex.spec.tsx index ab18ba4799..221241fb09 100644 --- a/packages/fakta-soknadsperioder/src/SoknadsperioderIndex.spec.tsx +++ b/packages/fakta-soknadsperioder/src/SoknadsperioderIndex.spec.tsx @@ -1,7 +1,10 @@ +import * as React from 'react'; import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; import { screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import * as React from 'react'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import messages from '../i18n/nb_NO.json'; import SoknadsperioderIndex from './SoknadsperioderIndex'; @@ -50,34 +53,32 @@ describe('', () => { periodeMedUtfall: [ { periode: { fom: '2022-01-11', tom: '2022-04-11' }, - utfall: { kode: 'IKKE_VURDERT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'IKKE_VURDERT', // , kodeverk: 'VILKAR_UTFALL_TYPE' }, ], forrigeVedtak: [ { periode: { fom: '2022-01-11', tom: '2022-02-11' }, - utfall: { kode: 'OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'OPPFYLT', // , kodeverk: 'VILKAR_UTFALL_TYPE' }, { periode: { fom: '2022-02-14', tom: '2022-04-11' }, - utfall: { kode: 'IKKE_OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'IKKE_OPPFYLT', // , kodeverk: 'VILKAR_UTFALL_TYPE' } }, ], }; renderWithIntl( - , - { messages }, + + + , + { + messages, + }, ); }); diff --git a/packages/fakta-soknadsperioder/src/SoknadsperioderIndex.tsx b/packages/fakta-soknadsperioder/src/SoknadsperioderIndex.tsx index b09d817b9c..ad34e54084 100644 --- a/packages/fakta-soknadsperioder/src/SoknadsperioderIndex.tsx +++ b/packages/fakta-soknadsperioder/src/SoknadsperioderIndex.tsx @@ -1,5 +1,3 @@ -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; import BehandlingPerioderårsakMedVilkår from '@k9-sak-web/types/src/behandlingPerioderarsakMedVilkar'; import { Loader } from '@navikt/ds-react'; import React from 'react'; @@ -19,19 +17,12 @@ const intlConfig = createIntl( interface SoknadsperioderIndexProps { behandlingPerioderårsakMedVilkår?: BehandlingPerioderårsakMedVilkår; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; } -const SoknadsperioderIndex: React.FC = ({ - behandlingPerioderårsakMedVilkår, - alleKodeverk, -}) => ( +const SoknadsperioderIndex: React.FC = ({ behandlingPerioderårsakMedVilkår }) => ( {behandlingPerioderårsakMedVilkår ? ( - + ) : ( )} diff --git a/packages/fakta-utenlandsopphold/src/Utenlandsopphold.spec.tsx b/packages/fakta-utenlandsopphold/src/Utenlandsopphold.spec.tsx index 568be9220e..434d17f8a3 100644 --- a/packages/fakta-utenlandsopphold/src/Utenlandsopphold.spec.tsx +++ b/packages/fakta-utenlandsopphold/src/Utenlandsopphold.spec.tsx @@ -4,18 +4,18 @@ import React from 'react'; import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; // eslint-disable-next-line import/no-relative-packages -import utenlandsoppholdMock, { utenlandsoppholdÅrsakMock } from '../../mocks/mockdata/utenlandsoppholdMock'; +import utenlandsoppholdMock from '../../mocks/mockdata/utenlandsoppholdMock'; import Utenlandsopphold from './Utenlandsopphold'; describe('Utenlandsopphold', () => { test('har utenlandsopphold som tittel', () => { - renderWithIntl(); + renderWithIntl(); expect(screen.getByText('Utenlandsopphold')).toBeVisible(); }); test('kan kan toggle på hjelpetekst', async () => { - renderWithIntl(); + renderWithIntl(); expect( screen.getByRole('button', { name: 'Hvor lenge har søker rett på pleiepenger i utlandet?', expanded: false }), @@ -27,13 +27,7 @@ describe('Utenlandsopphold', () => { }); test('viser land, tilhørighet til EØS og årsak for utenlandsopphold', () => { - renderWithIntl( - , - ); - + renderWithIntl(); expect(screen.getByText('Land')).toBeVisible(); expect(screen.getByText('Luxemburg')).toBeVisible(); expect(screen.getByText('EØS')).toBeVisible(); diff --git a/packages/fakta-utenlandsopphold/src/Utenlandsopphold.stories.tsx b/packages/fakta-utenlandsopphold/src/Utenlandsopphold.stories.tsx index c6cb4cd368..6f56b02ae2 100644 --- a/packages/fakta-utenlandsopphold/src/Utenlandsopphold.stories.tsx +++ b/packages/fakta-utenlandsopphold/src/Utenlandsopphold.stories.tsx @@ -1,6 +1,6 @@ import React from 'react'; // eslint-disable-next-line import/no-relative-packages -import utenlandsoppholdMock, { utenlandsoppholdÅrsakMock } from '../../mocks/mockdata/utenlandsoppholdMock'; +import utenlandsoppholdMock from '../../mocks/mockdata/utenlandsoppholdMock'; import Utenlandsopphold from './Utenlandsopphold'; export default { @@ -8,6 +8,4 @@ export default { component: Utenlandsopphold, }; -export const UtenlandsoppholdVisning = () => ( - -); +export const UtenlandsoppholdVisning = () => ; diff --git a/packages/fakta-utenlandsopphold/src/Utenlandsopphold.tsx b/packages/fakta-utenlandsopphold/src/Utenlandsopphold.tsx index c1487b1677..5639f9d244 100644 --- a/packages/fakta-utenlandsopphold/src/Utenlandsopphold.tsx +++ b/packages/fakta-utenlandsopphold/src/Utenlandsopphold.tsx @@ -1,31 +1,32 @@ /* eslint-disable react/jsx-curly-brace-presence */ import ytelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { KodeverkMedNavn, UtenlandsoppholdPerioder, UtenlandsoppholdType } from '@k9-sak-web/types'; +import { UtenlandsoppholdPerioder, UtenlandsoppholdType } from '@k9-sak-web/types'; import { Alert, Heading, ReadMore } from '@navikt/ds-react'; import { PeriodList } from '@navikt/ft-plattform-komponenter'; import countries from 'i18n-iso-countries'; import norwegianLocale from 'i18n-iso-countries/langs/no.json'; import React from 'react'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import styles from './utenlandsopphold.module.css'; countries.registerLocale(norwegianLocale); const Utenlandsopphold = ({ utenlandsopphold, - kodeverk, fagsakYtelseType, }: { utenlandsopphold: UtenlandsoppholdPerioder; - kodeverk: { UtenlandsoppholdÅrsak: KodeverkMedNavn[] }; fagsakYtelseType?: string; }) => { - const finnÅrsaker = (periode, erEØS) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); + + const finnÅrsaker = (periode: UtenlandsoppholdType, erEØS) => { if (erEØS) { return 'Periode telles ikke.'; } - - return kodeverk?.UtenlandsoppholdÅrsak?.find(v => v.kode === periode?.årsak)?.navn || 'Ukjent årsak'; + return kodeverkNavnFraKode(periode.årsak, KodeverkType.UTLANDSOPPHOLD_AARSAK, undefined, 'Ukjent årsak'); }; const vurderesMotEØSRegelverk = (landkode: string) => { @@ -37,10 +38,10 @@ const Utenlandsopphold = ({ }; const mapItems = (periode: UtenlandsoppholdType) => { - const erEØS = periode.region.kode === 'NORDEN' || periode.region.kode === 'EOS'; + const erEØS = periode.region === 'NORDEN' || periode.region === 'EOS'; - const land = { label: 'Land', value: countries.getName(periode.landkode.kode, 'no') }; - const eos = { label: 'EØS', value: erEØS ? 'Ja' : `Nei${vurderesMotEØSRegelverk(periode.landkode.kode)}` }; + const land = { label: 'Land', value: countries.getName(periode.landkode, 'no') }; + const eos = { label: 'EØS', value: erEØS ? 'Ja' : `Nei${vurderesMotEØSRegelverk(periode.landkode)}` }; const årsak = { label: 'Merknad til utenlandsopphold', value: finnÅrsaker(periode, erEØS) }; return [land, eos, årsak]; @@ -97,7 +98,7 @@ const Utenlandsopphold = ({ {harUtenlandsopphold ? ( <> - {perioder.some(periode => vurderesMotEØSRegelverk(periode.landkode.kode)) && ( + {perioder.some(periode => vurderesMotEØSRegelverk(periode.landkode)) && (
{`*) Ikke en del av EØS, men vurderes mot EØS-regelverk`}
)} diff --git a/packages/fakta-verge/src/components/RegistrereVergeFaktaForm.jsx b/packages/fakta-verge/src/components/RegistrereVergeFaktaForm.jsx index e378b62ee5..b520e69d85 100644 --- a/packages/fakta-verge/src/components/RegistrereVergeFaktaForm.jsx +++ b/packages/fakta-verge/src/components/RegistrereVergeFaktaForm.jsx @@ -110,7 +110,7 @@ RegistrereVergeFaktaForm.buildInitialValues = verge => ({ gyldigTom: verge.gyldigTom, fnr: verge.fnr, organisasjonsnummer: verge.organisasjonsnummer, - vergeType: verge.vergeType ? verge.vergeType.kode : undefined, + vergeType: verge.vergeType ? verge.vergeType : undefined, }); RegistrereVergeFaktaForm.transformValues = values => ({ diff --git a/packages/fakta-verge/src/components/RegistrereVergeFaktaForm.spec.tsx b/packages/fakta-verge/src/components/RegistrereVergeFaktaForm.spec.tsx index a59e0361ad..71fa2a2ccc 100644 --- a/packages/fakta-verge/src/components/RegistrereVergeFaktaForm.spec.tsx +++ b/packages/fakta-verge/src/components/RegistrereVergeFaktaForm.spec.tsx @@ -55,7 +55,7 @@ describe('', () => { gyldigFom: '2017', gyldigTom: '2018', fnr: '1234', - vergeType: { kode: vergeType.BARN }, + vergeType: vergeType.BARN, }; const initialValues = RegistrereVergeFaktaForm.buildInitialValues(verge); diff --git a/packages/fakta-verge/src/components/RegistrereVergeInfoPanel.jsx b/packages/fakta-verge/src/components/RegistrereVergeInfoPanel.jsx index c301e723bb..34fd645b45 100644 --- a/packages/fakta-verge/src/components/RegistrereVergeInfoPanel.jsx +++ b/packages/fakta-verge/src/components/RegistrereVergeInfoPanel.jsx @@ -79,7 +79,7 @@ const buildInitialValues = createSelector( verge && verge.begrunnelse ? decodeHtmlEntity(verge.begrunnelse) : FaktaBegrunnelseTextField.buildInitialValues( - aksjonspunkter.filter(ap => ap.definisjon.kode === aksjonspunktCodes.AVKLAR_VERGE)[0], + aksjonspunkter.filter(ap => ap.definisjon === aksjonspunktCodes.AVKLAR_VERGE)[0], ).begrunnelse, }), ); diff --git a/packages/fakta-verge/src/components/RegistrereVergeInfoPanel.spec.tsx b/packages/fakta-verge/src/components/RegistrereVergeInfoPanel.spec.tsx index 418c513d41..e69725d3a3 100644 --- a/packages/fakta-verge/src/components/RegistrereVergeInfoPanel.spec.tsx +++ b/packages/fakta-verge/src/components/RegistrereVergeInfoPanel.spec.tsx @@ -22,8 +22,8 @@ describe('', () => { aksjonspunkt={{ kode: 5030, id: 100001, - definisjon: { kode: '5030', navn: 'VERGE' }, - status: { kode: 'OPPR', navn: 'Opprettet', kodeverk: 'AKSJONSPUNKT_STATUS' }, + definisjon: '5030', + status: 'OPPR', kanLoses: true, erAktivt: true, }} diff --git a/packages/kodeverk/src/aksjonspunktCodes.ts b/packages/kodeverk/src/aksjonspunktCodes.ts index 90c026279a..c120a60361 100644 --- a/packages/kodeverk/src/aksjonspunktCodes.ts +++ b/packages/kodeverk/src/aksjonspunktCodes.ts @@ -136,7 +136,7 @@ const aksjonspunktIsOfType = validAksjonspunktCodes.includes(aksjonspunktCode); export const hasAksjonspunkt = (aksjonspunktCode: string, aksjonspunkter: Aksjonspunkt[]): boolean => - aksjonspunkter.some(ap => ap.definisjon.kode === aksjonspunktCode); + aksjonspunkter.some(ap => ap.definisjon === aksjonspunktCode); export const isKlageAksjonspunkt = aksjonspunktIsOfType(klageAksjonspunkter); export const isBGAksjonspunktSomGirFritekstfelt = aksjonspunktIsOfType( diff --git a/packages/kodeverk/src/behandlingType.ts b/packages/kodeverk/src/behandlingType.ts index 0e1b69c88b..b6bbabbc80 100644 --- a/packages/kodeverk/src/behandlingType.ts +++ b/packages/kodeverk/src/behandlingType.ts @@ -9,7 +9,7 @@ const behandlingType = { TILBAKEKREVING_REVURDERING: 'BT-009', }; -export const erTilbakekrevingType = type => - behandlingType.TILBAKEKREVING === type?.kode || behandlingType.TILBAKEKREVING_REVURDERING === type?.kode; +export const erTilbakekrevingType = (type: string) => + behandlingType.TILBAKEKREVING === type || behandlingType.TILBAKEKREVING_REVURDERING === type; export default behandlingType; diff --git a/packages/kodeverk/src/beregningAvklaringsbehovCodes.ts b/packages/kodeverk/src/beregningAvklaringsbehovCodes.ts index 8d4f756a64..21604c41b0 100644 --- a/packages/kodeverk/src/beregningAvklaringsbehovCodes.ts +++ b/packages/kodeverk/src/beregningAvklaringsbehovCodes.ts @@ -37,12 +37,12 @@ const avklaringsbehovIsOfType = validAksjonspunktCodes.includes(aksjonspunktCode); export const harAvklaringsbehov = (avklaringsbehovCode: string, avklaringsbehov: BeregningAvklaringsbehov[]): boolean => - avklaringsbehov.some(ap => ap.definisjon.kode === avklaringsbehovCode); + avklaringsbehov.some(ap => ap.definisjon === avklaringsbehovCode); export const harAvklaringsbehovSomKanLøses = ( avklaringsbehovCode: string, avklaringsbehov: BeregningAvklaringsbehov[], -): boolean => avklaringsbehov.some(ap => ap.definisjon.kode === avklaringsbehovCode && ap.kanLoses); +): boolean => avklaringsbehov.some(ap => ap.definisjon === avklaringsbehovCode && ap.kanLoses); export const isBGAksjonspunktSomGirFritekstfelt = avklaringsbehovIsOfType( beregningsgrunnlagFritekstfeltIVedtakAksjonspunkt, diff --git a/packages/kodeverk/src/kodeverkTyper.ts b/packages/kodeverk/src/kodeverkTyper.ts index 3aeb65be92..9339234a0d 100644 --- a/packages/kodeverk/src/kodeverkTyper.ts +++ b/packages/kodeverk/src/kodeverkTyper.ts @@ -1,77 +1,78 @@ -const kodeverkTyper = { - ARBEID_TYPE: 'ArbeidType', - AVSLAGSARSAK: 'Avslagsårsak', - INNVILGET_AARSAK: 'InnvilgetÅrsak', - VENT_AARSAK: 'Venteårsak', - BEHANDLING_AARSAK: 'BehandlingÅrsakType', - KLAGE_AVVIST_AARSAK: 'KlageAvvistÅrsak', - KLAGE_MEDHOLD_ARSAK: 'KlageMedholdÅrsak', - OMSORGSOVERTAKELSE_VILKAR_TYPE: 'OmsorgsovertakelseVilkårType', - MEDLEMSKAP_MANUELL_VURDERING_TYPE: 'MedlemskapManuellVurderingType', - VERGE_TYPE: 'VergeType', - LANDKODER: 'Landkoder', - MORS_AKTIVITET: 'MorsAktivitet', - VIRKSOMHET_TYPE: 'VirksomhetType', - OVERFOERING_AARSAK_TYPE: 'OverføringÅrsak', - PERSONSTATUS_TYPE: 'PersonstatusType', - FAGSAK_STATUS: 'FagsakStatus', - RELATERT_YTELSE_TILSTAND: 'RelatertYtelseTilstand', - RELATERT_YTELSE_TYPE: 'RelatertYtelseType', - FAGSAK_YTELSE: 'FagsakYtelseType', - FORELDRE_TYPE: 'ForeldreType', - FAMILIE_HENDELSE_TYPE: 'FamilieHendelseType', - INNSYN_RESULTAT_TYPE: 'InnsynResultatType', - BEHANDLING_TYPE: 'BehandlingType', - OPPHOLD_ARSAK: 'OppholdÅrsak', - UTSETTELSE_AARSAK_TYPE: 'UtsettelseÅrsak', - UTSETTELSE_GRADERING_KVOTE: 'UttakPeriodeType', - OPPTJENING_AKTIVITET_TYPE: 'OpptjeningAktivitetType', - UTTAK_PERIODE_TYPE: 'UttakPeriodeType', - REVURDERING_VARSLING_ÅRSAK: 'RevurderingVarslingÅrsak', - MANUELL_BEHANDLING_AARSAK: 'ManuellBehandlingÅrsak', - UTTAK_PERIODE_VURDERING_TYPE: 'UttakPeriodeVurderingType', - IKKE_OPPFYLT_AARSAK: 'IkkeOppfyltÅrsak', - UTTAK_AVSLAG_ARSAK: 'IkkeOppfyltÅrsak', - INNTEKTSKATEGORI: 'Inntektskategori', - BEREGNINGSGRUNNLAG_ANDELTYPER: 'BeregningsgrunnlagAndeltype', - AKTIVITET_STATUS: 'AktivitetStatus', - ARBEIDSKATEGORI: 'Arbeidskategori', - FAGSYSTEM: 'Fagsystem', - REGION: 'Region', - SIVILSTAND_TYPE: 'SivilstandType', - DOKUMENT_TYPE_ID: 'DokumentTypeId', - FAKTA_OM_BEREGNING_TILFELLE: 'FaktaOmBeregningTilfelle', - GRADERING_AVSLAG_AARSAK: 'GraderingAvslagÅrsak', - SKJERMLENKE_TYPE: 'SkjermlenkeType', - BEHANDLING_RESULTAT_TYPE: 'BehandlingResultatType', - ARBEIDSFORHOLD_HANDLING_TYPE: 'ArbeidsforholdHandlingType', - HISTORIKK_OPPLYSNING_TYPE: 'HistorikkOpplysningType', - HISTORIKK_ENDRET_FELT_TYPE: 'HistorikkEndretFeltType', - HISTORIKK_ENDRET_FELT_VERDI_TYPE: 'HistorikkEndretFeltVerdiType', - HISTORIKKINNSLAG_TYPE: 'HistorikkinnslagType', - HISTORIKK_AKTOER: 'HistorikkAktør', - HISTORIKK_AVKLART_SOEKNADSPERIODE_TYPE: 'HistorikkAvklartSoeknadsperiodeType', - HISTORIKK_RESULTAT_TYPE: 'HistorikkResultatType', - BEHANDLING_STATUS: 'BehandlingStatus', - FAR_SOEKER_TYPE: 'FarSøkerType', - MEDLEMSKAP_DEKNING: 'MedlemskapDekningType', - MEDLEMSKAP_TYPE: 'MedlemskapType', - STOENADSKONTOTYPE: 'StønadskontoType', - KONSEKVENS_FOR_YTELSEN: 'KonsekvensForYtelsen', - UTTAK_ARBEID_TYPE: 'UttakArbeidType', - UTTAK_UTSETTELSE_TYPE: 'UttakUtsettelseType', - PERIODE_RESULTAT_AARSAK: 'PeriodeResultatÅrsak', - VILKAR_TYPE: 'VilkårType', - AKTSOMHET: 'Aktsomhet', - VURDERING: 'AnnenVurdering', - VEDTAK_RESULTAT_TYPE: 'VedtakResultatType', - PERMISJONSBESKRIVELSE_TYPE: 'PermisjonsbeskrivelseType', - VURDER_ARBEIDSFORHOLD_HISTORIKKINNSLAG: 'VurderArbeidsforholdHistorikkinnslag', - TILBAKEKR_VIDERE_BEH: 'VidereBehandling', - HENDELSE_TYPE: 'HendelseType', - HENDELSE_UNDERTYPE: 'HendelseUnderType', - VURDER_AARSAK: 'VurderÅrsak', - ÅRSAK_TIL_VURDERING: 'ÅrsakTilVurdering', -}; +/* eslint-disable @typescript-eslint/no-duplicate-enum-values */ +enum kodeverkTyper { + ARBEID_TYPE = 'ArbeidType', + AVSLAGSARSAK = 'Avslagsårsak', + INNVILGET_AARSAK = 'InnvilgetÅrsak', + VENT_AARSAK = 'Venteårsak', + BEHANDLING_AARSAK = 'BehandlingÅrsakType', + KLAGE_AVVIST_AARSAK = 'KlageAvvistÅrsak', + KLAGE_MEDHOLD_ARSAK = 'KlageMedholdÅrsak', + OMSORGSOVERTAKELSE_VILKAR_TYPE = 'OmsorgsovertakelseVilkårType', + MEDLEMSKAP_MANUELL_VURDERING_TYPE = 'MedlemskapManuellVurderingType', + VERGE_TYPE = 'VergeType', + LANDKODER = 'Landkoder', + MORS_AKTIVITET = 'MorsAktivitet', + VIRKSOMHET_TYPE = 'VirksomhetType', + OVERFOERING_AARSAK_TYPE = 'OverføringÅrsak', + PERSONSTATUS_TYPE = 'PersonstatusType', + FAGSAK_STATUS = 'FagsakStatus', + RELATERT_YTELSE_TILSTAND = 'RelatertYtelseTilstand', + RELATERT_YTELSE_TYPE = 'RelatertYtelseType', + FAGSAK_YTELSE = 'FagsakYtelseType', + FORELDRE_TYPE = 'ForeldreType', + FAMILIE_HENDELSE_TYPE = 'FamilieHendelseType', + INNSYN_RESULTAT_TYPE = 'InnsynResultatType', + BEHANDLING_TYPE = 'BehandlingType', + OPPHOLD_ARSAK = 'OppholdÅrsak', + UTSETTELSE_AARSAK_TYPE = 'UtsettelseÅrsak', + UTSETTELSE_GRADERING_KVOTE = 'UttakPeriodeType', + OPPTJENING_AKTIVITET_TYPE = 'OpptjeningAktivitetType', + UTTAK_PERIODE_TYPE = 'UttakPeriodeType', + REVURDERING_VARSLING_ÅRSAK = 'RevurderingVarslingÅrsak', + MANUELL_BEHANDLING_AARSAK = 'ManuellBehandlingÅrsak', + UTTAK_PERIODE_VURDERING_TYPE = 'UttakPeriodeVurderingType', + IKKE_OPPFYLT_AARSAK = 'IkkeOppfyltÅrsak', + UTTAK_AVSLAG_ARSAK = 'IkkeOppfyltÅrsak', + INNTEKTSKATEGORI = 'Inntektskategori', + BEREGNINGSGRUNNLAG_ANDELTYPER = 'BeregningsgrunnlagAndeltype', + AKTIVITET_STATUS = 'AktivitetStatus', + ARBEIDSKATEGORI = 'Arbeidskategori', + FAGSYSTEM = 'Fagsystem', + REGION = 'Region', + SIVILSTAND_TYPE = 'SivilstandType', + DOKUMENT_TYPE_ID = 'DokumentTypeId', + FAKTA_OM_BEREGNING_TILFELLE = 'FaktaOmBeregningTilfelle', + GRADERING_AVSLAG_AARSAK = 'GraderingAvslagÅrsak', + SKJERMLENKE_TYPE = 'SkjermlenkeType', + BEHANDLING_RESULTAT_TYPE = 'BehandlingResultatType', + ARBEIDSFORHOLD_HANDLING_TYPE = 'ArbeidsforholdHandlingType', + HISTORIKK_OPPLYSNING_TYPE = 'HistorikkOpplysningType', + HISTORIKK_ENDRET_FELT_TYPE = 'HistorikkEndretFeltType', + HISTORIKK_ENDRET_FELT_VERDI_TYPE = 'HistorikkEndretFeltVerdiType', + HISTORIKKINNSLAG_TYPE = 'HistorikkinnslagType', + HISTORIKK_AKTOER = 'HistorikkAktør', + HISTORIKK_AVKLART_SOEKNADSPERIODE_TYPE = 'HistorikkAvklartSoeknadsperiodeType', + HISTORIKK_RESULTAT_TYPE = 'HistorikkResultatType', + BEHANDLING_STATUS = 'BehandlingStatus', + FAR_SOEKER_TYPE = 'FarSøkerType', + MEDLEMSKAP_DEKNING = 'MedlemskapDekningType', + MEDLEMSKAP_TYPE = 'MedlemskapType', + STOENADSKONTOTYPE = 'StønadskontoType', + KONSEKVENS_FOR_YTELSEN = 'KonsekvensForYtelsen', + UTTAK_ARBEID_TYPE = 'UttakArbeidType', + UTTAK_UTSETTELSE_TYPE = 'UttakUtsettelseType', + PERIODE_RESULTAT_AARSAK = 'PeriodeResultatÅrsak', + VILKAR_TYPE = 'VilkårType', + AKTSOMHET = 'Aktsomhet', + VURDERING = 'AnnenVurdering', + VEDTAK_RESULTAT_TYPE = 'VedtakResultatType', + PERMISJONSBESKRIVELSE_TYPE = 'PermisjonsbeskrivelseType', + VURDER_ARBEIDSFORHOLD_HISTORIKKINNSLAG = 'VurderArbeidsforholdHistorikkinnslag', + TILBAKEKR_VIDERE_BEH = 'VidereBehandling', + HENDELSE_TYPE = 'HendelseType', + HENDELSE_UNDERTYPE = 'HendelseUnderType', + VURDER_AARSAK = 'VurderÅrsak', + ÅRSAK_TIL_VURDERING = 'ÅrsakTilVurdering', +} export default kodeverkTyper; diff --git a/packages/mocks/mockdata/utenlandsoppholdMock.js b/packages/mocks/mockdata/utenlandsoppholdMock.js index c8fdf75a32..2b93abef13 100644 --- a/packages/mocks/mockdata/utenlandsoppholdMock.js +++ b/packages/mocks/mockdata/utenlandsoppholdMock.js @@ -4,111 +4,49 @@ const utenlandsopphold = { perioder: [ { periode: `${dayjs().subtract(7, 'day').format('YYYY-MM-DD')}/${dayjs().format('YYYY-MM-DD')}`, - landkode: { - kode: 'LUX', - navn: 'LUX', - kodeverk: 'LANDKODER', - }, - region: { - kode: 'EOS', - kodeverk: 'REGION', - }, + landkode: 'LUX', + region: 'EOS', årsak: null, }, { periode: `${dayjs().subtract(15, 'day').format('YYYY-MM-DD')}/${dayjs().subtract(8, 'day').format('YYYY-MM-DD')}`, - landkode: { - kode: 'CHN', - navn: 'CHN', - kodeverk: 'LANDKODER', - }, - region: { - kode: 'ANNET', - kodeverk: 'REGION', - }, + landkode: 'CHN', + region: 'ANNET', årsak: 'INGEN', }, { periode: `${dayjs().subtract(22, 'day').format('YYYY-MM-DD')}/${dayjs() .subtract(16, 'day') .format('YYYY-MM-DD')}`, - landkode: { - kode: 'MOZ', - navn: 'MOZ', - kodeverk: 'LANDKODER', - }, - region: { - kode: 'ANNET', - kodeverk: 'REGION', - }, + landkode: 'MOZ', + region: 'ANNET', årsak: 'BARNET_INNLAGT_I_HELSEINSTITUSJON_DEKKET_ETTER_AVTALE_MED_ET_ANNET_LAND_OM_TRYGD', }, { periode: `${dayjs().subtract(30, 'day').format('YYYY-MM-DD')}/${dayjs() .subtract(23, 'day') .format('YYYY-MM-DD')}`, - landkode: { - kode: 'FIN', - navn: 'FIN', - kodeverk: 'LANDKODER', - }, - region: { - kode: 'NORDEN', - kodeverk: 'REGION', - }, + landkode: 'FIN', + region: 'NORDEN', årsak: null, }, { periode: `${dayjs().subtract(38, 'day').format('YYYY-MM-DD')}/${dayjs() .subtract(31, 'day') .format('YYYY-MM-DD')}`, - landkode: { - kode: 'TUR', - navn: 'TUR', - kodeverk: 'LANDKODER', - }, - region: { - kode: 'ANNET', - kodeverk: 'REGION', - }, + landkode: 'TUR', + region: 'ANNET', årsak: 'BARNET_INNLAGT_I_HELSEINSTITUSJON_FOR_NORSK_OFFENTLIG_REGNING', }, { periode: `${dayjs().subtract(45, 'day').format('YYYY-MM-DD')}/${dayjs() .subtract(31, 'day') .format('YYYY-MM-DD')}`, - landkode: { - kode: 'CHE', - navn: 'CHE', - kodeverk: 'LANDKODER', - }, - region: { - kode: 'ANNET', - kodeverk: 'REGION', - }, + landkode: 'CHE', + region: 'ANNET', årsak: 'INGEN', }, ], }; -export const utenlandsoppholdÅrsakMock = { - UtenlandsoppholdÅrsak: [ - { - kode: 'BARNET_INNLAGT_I_HELSEINSTITUSJON_FOR_NORSK_OFFENTLIG_REGNING', - navn: 'Barnet er innlagt i helseinstitusjon for norsk offentlig regning (mottar pleiepenger som i Norge, telles ikke i 8 uker)', - kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', - }, - { - kode: 'BARNET_INNLAGT_I_HELSEINSTITUSJON_DEKKET_ETTER_AVTALE_MED_ET_ANNET_LAND_OM_TRYGD', - navn: 'Barnet er innlagt i helseinstitusjon dekket etter avtale med annet land om trygd (mottar pleiepenger som i Norge, telles ikke i 8 uker)', - kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', - }, - { - kode: 'INGEN', - navn: 'Ingen av årsakene over (kan motta pleiepenger i 8 uker)', - kodeverk: 'UTENLANDSOPPHOLD_ÅRSAK', - }, - ], -}; - export default utenlandsopphold; diff --git a/packages/modal-sett-pa-vent/src/SettPaVentModalIndex.tsx b/packages/modal-sett-pa-vent/src/SettPaVentModalIndex.tsx index 8fd7fd7bef..3028ce15ce 100644 --- a/packages/modal-sett-pa-vent/src/SettPaVentModalIndex.tsx +++ b/packages/modal-sett-pa-vent/src/SettPaVentModalIndex.tsx @@ -1,4 +1,3 @@ -import { Venteaarsak } from '@k9-sak-web/types'; import React from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; import messages from '../i18n/nb_NO.json'; @@ -18,7 +17,6 @@ interface OwnProps { cancelEvent: () => void; submitCallback: (formData: any) => void; showModal: boolean; - ventearsaker: Venteaarsak[]; frist?: string; ventearsak?: string; visBrevErBestilt?: boolean; @@ -31,7 +29,6 @@ const SettPaVentModalIndex = ({ cancelEvent, submitCallback, showModal, - ventearsaker, frist, ventearsak, visBrevErBestilt, @@ -44,7 +41,6 @@ const SettPaVentModalIndex = ({ cancelEvent={cancelEvent} onSubmit={submitCallback} showModal={showModal} - ventearsaker={ventearsaker} frist={frist} ventearsak={ventearsak} visBrevErBestilt={visBrevErBestilt} diff --git a/packages/modal-sett-pa-vent/src/components/SettPaVentModal.spec.tsx b/packages/modal-sett-pa-vent/src/components/SettPaVentModal.spec.tsx index 55afdbd7c9..d2ff9a18db 100644 --- a/packages/modal-sett-pa-vent/src/components/SettPaVentModal.spec.tsx +++ b/packages/modal-sett-pa-vent/src/components/SettPaVentModal.spec.tsx @@ -19,7 +19,6 @@ describe('', () => { ventearsak="ventearsak" originalVentearsak="ventearsak" hasManualPaVent - ventearsaker={[]} erTilbakekreving={false} showModal {...reduxFormPropsMock} @@ -43,7 +42,6 @@ describe('', () => { ventearsak="ventearsak" originalVentearsak="ventearsak" hasManualPaVent - ventearsaker={[]} erTilbakekreving={false} {...reduxFormPropsMock} />, @@ -65,7 +63,6 @@ describe('', () => { ventearsak="ventearsak" originalVentearsak="ventearsak" hasManualPaVent - ventearsaker={[]} erTilbakekreving={false} {...reduxFormPropsMock} />, @@ -87,7 +84,6 @@ describe('', () => { ventearsak="ventearsak" originalVentearsak="ventearsak" hasManualPaVent - ventearsaker={[]} erTilbakekreving={false} {...reduxFormPropsMock} />, @@ -109,7 +105,6 @@ describe('', () => { ventearsak="ventearsak" originalVentearsak="ventearsak" hasManualPaVent - ventearsaker={[]} erTilbakekreving={false} {...reduxFormPropsMock} />, @@ -128,7 +123,6 @@ describe('', () => { ventearsak="ventearsak" originalVentearsak="ventearsak" hasManualPaVent={false} - ventearsaker={[]} erTilbakekreving={false} {...reduxFormPropsMock} />, @@ -145,7 +139,6 @@ describe('', () => { cancelEvent={vi.fn()} frist="2015-10-10" originalFrist="2015-10-10" - ventearsaker={[]} hasManualPaVent={false} erTilbakekreving={false} {...reduxFormPropsMock} @@ -163,7 +156,6 @@ describe('', () => { showModal cancelEvent={vi.fn()} frist="2015-10-10" - ventearsaker={[]} hasManualPaVent={false} erTilbakekreving={false} {...reduxFormPropsMock} @@ -181,13 +173,6 @@ describe('', () => { showModal cancelEvent={vi.fn()} frist="2015-10-10" - ventearsaker={[ - { - kode: 'VENT_PÅ_TILBAKEKREVINGSGRUNNLAG', - kodeverk: 'VENT_AARSAK', - navn: 'Venter på kravgrunnlag', - }, - ]} ventearsak="VENT_PÅ_TILBAKEKREVINGSGRUNNLAG" hasManualPaVent={false} erTilbakekreving diff --git a/packages/modal-sett-pa-vent/src/components/SettPaVentModal.tsx b/packages/modal-sett-pa-vent/src/components/SettPaVentModal.tsx index dd946a75af..713c64ad8b 100644 --- a/packages/modal-sett-pa-vent/src/components/SettPaVentModal.tsx +++ b/packages/modal-sett-pa-vent/src/components/SettPaVentModal.tsx @@ -12,14 +12,16 @@ import { maxLength, required, } from '@fpsak-frontend/utils'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { goToLos } from '@k9-sak-web/sak-app/src/app/paths'; -import { KodeverkMedNavn, Venteaarsak } from '@k9-sak-web/types'; import { BodyShort, Button, Label, Modal, Select } from '@navikt/ds-react'; +import { KodeverkMedNavn } from '@k9-sak-web/types'; import moment from 'moment'; import React, { useState } from 'react'; import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { InjectedFormProps, formValueSelector, reduxForm } from 'redux-form'; +import { KodeverkObject, KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import styles from './settPaVentModal.module.css'; const initFrist = (): string => { @@ -106,7 +108,6 @@ type FormValues = { interface PureOwnProps { cancelEvent: () => void; showModal: boolean; - ventearsaker: Venteaarsak[]; erTilbakekreving: boolean; visBrevErBestilt?: boolean; hasManualPaVent: boolean; @@ -130,7 +131,6 @@ export const SettPaVentModal = ({ handleSubmit, cancelEvent, showModal, - ventearsaker, erTilbakekreving, frist, originalFrist, @@ -141,6 +141,9 @@ export const SettPaVentModal = ({ ventearsakVariant, originalVentearsakVariant, }: PureOwnProps & Partial & WrappedComponentProps & InjectedFormProps) => { + const { hentKodeverkForKode } = useKodeverkContext(); + const ventearsaker = hentKodeverkForKode(KodeverkType.VENT_AARSAK) as KodeverkObject[]; + const venteArsakHasChanged = !(originalVentearsak === ventearsak || (!ventearsak && !originalVentearsak)); const ventearsakVariantHasChanged = (!originalVentearsakVariant && !!ventearsakVariant) || @@ -163,6 +166,9 @@ export const SettPaVentModal = ({ const showSelect = erVenterEtterlysInntektsmelding ? !showEndreFrist : true; const showKommentarInput = venterårsakerMedKommentarmulighet.includes(ventearsak); + // TODO: #KODEVERK Må finne ut hvordan vi vet hvilke venteårsaker som kan velges + const venteArsakerSomKanVelges = [...ventearsaker.map(va => va.kode)]; + const toggleEndreFrist = () => setShowEndreFrist(!showEndreFrist); const getHovedknappTekst = () => { @@ -248,14 +254,22 @@ export const SettPaVentModal = ({ } placeholder={intl.formatMessage({ id: 'SettPaVentModal.SelectPlaceholder' })} validate={[required]} - selectValues={ventearsaker - .filter(va => (erTilbakekreving ? inkluderVentearsak(va, ventearsak) : va.kanVelges === 'true')) - .sort((v1, v2) => v1.navn.localeCompare(v2.navn)) - .map(va => ( - - ))} + selectValues={ + Array.isArray(ventearsaker) + ? ventearsaker + .filter(va => + erTilbakekreving + ? inkluderVentearsak(va, ventearsak) + : venteArsakerSomKanVelges.includes(va.kode), + ) + .sort((v1, v2) => v1.navn.localeCompare(v2.navn)) + .map(va => ( + + )) + : [] + } bredde="xxl" readOnly={!hasManualPaVent} /> diff --git a/packages/prop-types/src/aksjonspunktPropType.jsx b/packages/prop-types/src/aksjonspunktPropType.jsx index e3ed18ecf3..c7e32fc5da 100644 --- a/packages/prop-types/src/aksjonspunktPropType.jsx +++ b/packages/prop-types/src/aksjonspunktPropType.jsx @@ -1,25 +1,15 @@ import PropTypes from 'prop-types'; const aksjonspunktPropType = PropTypes.shape({ - definisjon: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, - status: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + definisjon: PropTypes.string.isRequired, // kodeverk + status: PropTypes.string.isRequired, // kodeverk begrunnelse: PropTypes.string, - vilkarType: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }), + vilkarType: PropTypes.string, // kodeverk toTrinnsBehandling: PropTypes.bool, toTrinnsBehandlingGodkjent: PropTypes.bool, - vurderPaNyttArsaker: PropTypes.arrayOf(PropTypes.shape({ - kode: PropTypes.string, - })), + vurderPaNyttArsaker: PropTypes.arrayOf(PropTypes.string), // kodeverk besluttersBegrunnelse: PropTypes.string, - aksjonspunktType: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }), + aksjonspunktType: PropTypes.string, // kodeverk kanLoses: PropTypes.bool.isRequired, erAktivt: PropTypes.bool.isRequired, }); diff --git a/packages/prop-types/src/arbeidsforholdPropType.jsx b/packages/prop-types/src/arbeidsforholdPropType.jsx index 926e6c9b79..1ff7b1e3db 100644 --- a/packages/prop-types/src/arbeidsforholdPropType.jsx +++ b/packages/prop-types/src/arbeidsforholdPropType.jsx @@ -25,9 +25,7 @@ export const arbeidsforholdPropType = PropTypes.shape({ arbeidsforholdId: PropTypes.string, fomDato: PropTypes.string, tomDato: PropTypes.string, - kilde: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }), + kilde: PropTypes.string, // kodeverk mottattDatoInntektsmelding: PropTypes.string, stillingsprosent: PropTypes.number, brukArbeidsforholdet: PropTypes.bool, @@ -52,10 +50,7 @@ export const arbeidsforholdPropType = PropTypes.shape({ permisjonFom: PropTypes.string, permisjonTom: PropTypes.string, permisjonsprosent: PropTypes.number, - type: PropTypes.shape({ - kode: PropTypes.string, - kodeverk: PropTypes.string, - }), + type: PropTypes.string, // kodeverk }), ), brukPermisjon: PropTypes.bool, diff --git a/packages/prop-types/src/behandlingIListePropType.jsx b/packages/prop-types/src/behandlingIListePropType.jsx index cc742c6405..d804a38d81 100644 --- a/packages/prop-types/src/behandlingIListePropType.jsx +++ b/packages/prop-types/src/behandlingIListePropType.jsx @@ -3,12 +3,8 @@ import PropTypes from 'prop-types'; const behandlingIListePropType = PropTypes.shape({ id: PropTypes.number.isRequired, versjon: PropTypes.number.isRequired, - type: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, - status: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + type: PropTypes.string.isRequired, // kodeverk + status: PropTypes.string.isRequired, // kodeverk fagsakId: PropTypes.number.isRequired, opprettet: PropTypes.string.isRequired, avsluttet: PropTypes.string, diff --git a/packages/prop-types/src/beregningresultatMedUttaksplanPropType.jsx b/packages/prop-types/src/beregningresultatMedUttaksplanPropType.jsx index 4b88f84a35..5b83a3d8a3 100644 --- a/packages/prop-types/src/beregningresultatMedUttaksplanPropType.jsx +++ b/packages/prop-types/src/beregningresultatMedUttaksplanPropType.jsx @@ -15,9 +15,7 @@ export const beregningsresultatPeriodeAndelPropType = PropTypes.shape({ sisteUtbetalingsdato: PropTypes.string, uttaksgrad: PropTypes.number, uttak: uttakPropType.isRequired, - aktivitetStatus: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + aktivitetStatus: PropTypes.string.isRequired, // kodeverk }); export const beregningsresultatPeriodePropType = PropTypes.shape({ diff --git a/packages/prop-types/src/fagsakPropType.jsx b/packages/prop-types/src/fagsakPropType.jsx index 06d633e2da..301940321e 100644 --- a/packages/prop-types/src/fagsakPropType.jsx +++ b/packages/prop-types/src/fagsakPropType.jsx @@ -3,21 +3,15 @@ import PropTypes from 'prop-types'; const fagsakPropType = PropTypes.shape({ dekningsgrad: PropTypes.number, saksnummer: PropTypes.string.isRequired, - sakstype: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, - status: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + sakstype: PropTypes.string.isRequired, // kodeverk + status: PropTypes.string.isRequired, // kodeverk barnFodt: PropTypes.string, person: PropTypes.shape({ navn: PropTypes.string.isRequired, alder: PropTypes.number.isRequired, personnummer: PropTypes.string.isRequired, erKvinne: PropTypes.bool.isRequired, - personstatusType: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }), + personstatusType: PropTypes.string, // kodeverk diskresjonskode: PropTypes.string, dodsdato: PropTypes.string, erNAVAnsatt: PropTypes.bool, diff --git a/packages/prop-types/src/kodeverkPropType.jsx b/packages/prop-types/src/kodeverkPropType.jsx index 71955a11a5..554a6e4a2c 100644 --- a/packages/prop-types/src/kodeverkPropType.jsx +++ b/packages/prop-types/src/kodeverkPropType.jsx @@ -10,6 +10,7 @@ export const kodeverkPropType = PropTypes.arrayOf( export const kodeverkObjektPropType = PropTypes.exact({ kode: PropTypes.string.isRequired, + navn: PropTypes.string.isRequired, kodeverk: PropTypes.string.isRequired, }); diff --git a/packages/prop-types/src/personopplysningPropType.jsx b/packages/prop-types/src/personopplysningPropType.jsx index 41a7573b27..90ee3eb0b2 100644 --- a/packages/prop-types/src/personopplysningPropType.jsx +++ b/packages/prop-types/src/personopplysningPropType.jsx @@ -2,50 +2,33 @@ import PropTypes from 'prop-types'; const personopplysningPropType = PropTypes.shape({ nummer: PropTypes.number, - navBrukerKjonn: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, - statsborgerskap: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + navBrukerKjonn: PropTypes.string.isRequired, // kodeverk + statsborgerskap: PropTypes.string.isRequired, // kodeverk avklartPersonstatus: PropTypes.shape({ - orginalPersonstatus: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }), - overstyrtPersonstatus: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + orginalPersonstatus: PropTypes.string, // kodeverk + overstyrtPersonstatus: PropTypes.string.isRequired, // kodeverk }), - personstatus: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, - diskresjonskode: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, - sivilstand: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + personstatus: PropTypes.string.isRequired, // kodeverk + diskresjonskode: PropTypes.string.isRequired, // kodeverk + sivilstand: PropTypes.string.isRequired, // kodeverk aktoerId: PropTypes.string.isRequired, navn: PropTypes.string.isRequired, dodsdato: PropTypes.string, fodselsdato: PropTypes.string, - adresser: PropTypes.arrayOf(PropTypes.shape({ - adresseType: PropTypes.shape({ - kode: PropTypes.string.isRequired, + adresser: PropTypes.arrayOf( + PropTypes.shape({ + adresseType: PropTypes.string, // kodeverk + adresselinje1: PropTypes.string, + adresselinje2: PropTypes.string, + adresselinje3: PropTypes.string, + postNummer: PropTypes.string, + poststed: PropTypes.string, + land: PropTypes.string, + mottakerNavn: PropTypes.string, }), - adresselinje1: PropTypes.string, - adresselinje2: PropTypes.string, - adresselinje3: PropTypes.string, - postNummer: PropTypes.string, - poststed: PropTypes.string, - land: PropTypes.string, - mottakerNavn: PropTypes.string, - - })), + ), fnr: PropTypes.string, - region: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + region: PropTypes.string.isRequired, // kodeverk annenPart: PropTypes.shape(), barn: PropTypes.arrayOf(PropTypes.shape()), harVerge: PropTypes.bool, diff --git a/packages/prosess-aarskvantum-oms/src/components/AksjonspunktForm9014.tsx b/packages/prosess-aarskvantum-oms/src/components/AksjonspunktForm9014.tsx index 0f41cea1f8..70719f0877 100644 --- a/packages/prosess-aarskvantum-oms/src/components/AksjonspunktForm9014.tsx +++ b/packages/prosess-aarskvantum-oms/src/components/AksjonspunktForm9014.tsx @@ -44,10 +44,10 @@ const vilkårHarOverlappendePerioderIInfotrygd = (uttaksperiode: Uttaksperiode) const utledAksjonspunktKode = (aksjonspunkter: Aksjonspunkt[]) => { // 9014 skal ha presedens - if (aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.ÅRSKVANTUM_FOSTERBARN)) + if (aksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.ÅRSKVANTUM_FOSTERBARN)) return aksjonspunktCodes.ÅRSKVANTUM_FOSTERBARN; - if (aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.VURDER_ÅRSKVANTUM_KVOTE)) + if (aksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.VURDER_ÅRSKVANTUM_KVOTE)) return aksjonspunktCodes.VURDER_ÅRSKVANTUM_KVOTE; return null; diff --git a/packages/prosess-aarskvantum-oms/src/components/saerlige-smittevernhensyn/KartleggePropertyTilSaerligeSmittevernhensynMikrofrontend.ts b/packages/prosess-aarskvantum-oms/src/components/saerlige-smittevernhensyn/KartleggePropertyTilSaerligeSmittevernhensynMikrofrontend.ts index ba1ebd2bc5..be59eb909a 100644 --- a/packages/prosess-aarskvantum-oms/src/components/saerlige-smittevernhensyn/KartleggePropertyTilSaerligeSmittevernhensynMikrofrontend.ts +++ b/packages/prosess-aarskvantum-oms/src/components/saerlige-smittevernhensyn/KartleggePropertyTilSaerligeSmittevernhensynMikrofrontend.ts @@ -107,9 +107,9 @@ const KartleggePropertyTilSaerligeSmittevernhensynMikrofrontend = ( const behandlingsID: string = behandling.id.toString(); - if (typeof aksjonspunkt !== 'undefined' && aksjonspunkt.definisjon.kode === aksjonspunktCodes.VURDER_ÅRSKVANTUM_DOK) { - const isAksjonspunktOpen = aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET && aksjonspunkt.kanLoses; - const aksjonspunktLost = behandling.status.kode === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; + if (typeof aksjonspunkt !== 'undefined' && aksjonspunkt.definisjon === aksjonspunktCodes.VURDER_ÅRSKVANTUM_DOK) { + const isAksjonspunktOpen = aksjonspunkt.status === aksjonspunktStatus.OPPRETTET && aksjonspunkt.kanLoses; + const aksjonspunktLost = behandling.status === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; objektTilMikrofrontend = { visKomponent: KomponenterEnum.KORRIGERE_PERIODER, @@ -126,7 +126,7 @@ const KartleggePropertyTilSaerligeSmittevernhensynMikrofrontend = ( losAksjonspunkt: (fravaerGrunnetSmittevernhensynEllerStengt, begrunnelse, antallDagerDelvisInnvilget) => { submitCallback([ formatereLosAksjonspunktObjekt( - aksjonspunkt.definisjon.kode, + aksjonspunkt.definisjon, fravaerGrunnetSmittevernhensynEllerStengt, begrunnelse, antallDagerDelvisInnvilget, diff --git "a/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.spec.tsx" "b/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.spec.tsx" index 598485e28c..5d9db27597 100644 --- "a/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.spec.tsx" +++ "b/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.spec.tsx" @@ -60,14 +60,8 @@ describe('<ÅrskvantumIndex>', () => { årskvantum={årskvantum} aksjonspunkterForSteg={[ { - definisjon: { - kode: '', - kodeverk: '', - }, - status: { - kode: '', - kodeverk: '', - }, + definisjon: '', + status: '', kanLoses: true, erAktivt: true, }, diff --git "a/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.stories.tsx" "b/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.stories.tsx" index 5443fc58bb..2b69af6fe2 100644 --- "a/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.stories.tsx" +++ "b/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.stories.tsx" @@ -145,7 +145,12 @@ const behandling = { versjon: 1, } as Behandling; -const aksjonspunkterForSteg = [{ status: { kode: '' }, definisjon: { kode: '9003' } }] as Aksjonspunkt[]; +const aksjonspunkterForSteg = [ + { + status: '', + definisjon: '9003', // AKSJONSPUNKT_DEF + }, +] as Aksjonspunkt[]; const arbeidsforhold = [ { @@ -208,7 +213,11 @@ export const behandletAksjonspunkt = () => ( submitCallback={action('bekreft')} aksjonspunkterForSteg={ [ - { begrunnelse: 'fordi', status: { kode: aksjonspunktStatus.UTFORT }, definisjon: { kode: '9003' } }, + { + begrunnelse: 'fordi', + status: aksjonspunktStatus.UTFORT, // AKSJONSPUNKT_STATUS + definisjon: '9003', // AKSJONSPUNKT_DEF + }, ] as Aksjonspunkt[] } arbeidsforhold={arbeidsforhold} diff --git "a/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.tsx" "b/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.tsx" index 5bf030c8a3..d1c13a0f89 100644 --- "a/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.tsx" +++ "b/packages/prosess-aarskvantum-oms/src/\303\205rskvantumIndex.tsx" @@ -61,17 +61,17 @@ const ÅrskvantumIndex = ({ const { sisteUttaksplan } = årskvantum; const aktivitetsstatuser = alleKodeverk[kodeverkTyper.AKTIVITET_STATUS]; - const apForVurderÅrskvantumDok: Aksjonspunkt = aksjonspunkterForSteg.find( - ap => ap.definisjon.kode === aksjonspunktCodes.VURDER_ÅRSKVANTUM_DOK, + const apForVurderÅrskvantumDok: Aksjonspunkt | undefined = aksjonspunkterForSteg.find( + ap => ap.definisjon === aksjonspunktCodes.VURDER_ÅRSKVANTUM_DOK, ); const aksjonspunkter: Aksjonspunkt[] = aksjonspunkterForSteg.filter( - ap => ap.definisjon.kode !== aksjonspunktCodes.VURDER_ÅRSKVANTUM_DOK, + ap => ap.definisjon !== aksjonspunktCodes.VURDER_ÅRSKVANTUM_DOK, ); - const åpenAksjonspunkt = aksjonspunkter.find(ap => ap.status.kode !== aksjonspunktStatus.UTFORT) !== undefined; + const åpenAksjonspunkt = aksjonspunkter.find(ap => ap.status !== aksjonspunktStatus.UTFORT) !== undefined; const visAPVurderÅrskvantumDokIOmsorgsdagerFrontend = apForVurderÅrskvantumDok !== undefined && - (!åpenAksjonspunkt || apForVurderÅrskvantumDok.status.kode === aksjonspunktStatus.UTFORT); + (!åpenAksjonspunkt || apForVurderÅrskvantumDok.status === aksjonspunktStatus.UTFORT); const [featureToggles] = useFeatureToggles(); const propsTilMikrofrontend = { @@ -86,24 +86,24 @@ const ÅrskvantumIndex = ({ {aksjonspunkter.length > 0 && featureToggles?.AKSJONSPUNKT_9014 && ( )} {aksjonspunkter.length > 0 && !featureToggles?.AKSJONSPUNKT_9014 && ( )} @@ -113,10 +113,10 @@ const ÅrskvantumIndex = ({ diff --git a/packages/prosess-anke-merknader/src/components/BehandleMerknaderForm.jsx b/packages/prosess-anke-merknader/src/components/BehandleMerknaderForm.jsx index c64c7d8ce7..8d3ea7f1d6 100644 --- a/packages/prosess-anke-merknader/src/components/BehandleMerknaderForm.jsx +++ b/packages/prosess-anke-merknader/src/components/BehandleMerknaderForm.jsx @@ -126,7 +126,7 @@ const buildInitialValues = createSelector([ownProps => ownProps.ankeVurderingRes })); const mapStateToPropsFactory = (initialState, initialOwnProps) => { - const aksjonspunktCode = initialOwnProps.aksjonspunkter[0].definisjon.kode; + const aksjonspunktCode = initialOwnProps.aksjonspunkter[0].definisjon; const onSubmit = values => initialOwnProps.submitCallback([transformValues(values, aksjonspunktCode)]); return (state, ownProps) => ({ aksjonspunktCode, diff --git a/packages/prosess-anke-merknader/src/propTypes/ankeMerknaderAksjonspunkterPropType.jsx b/packages/prosess-anke-merknader/src/propTypes/ankeMerknaderAksjonspunkterPropType.jsx index 24be0bd956..229d3ff74d 100644 --- a/packages/prosess-anke-merknader/src/propTypes/ankeMerknaderAksjonspunkterPropType.jsx +++ b/packages/prosess-anke-merknader/src/propTypes/ankeMerknaderAksjonspunkterPropType.jsx @@ -1,11 +1,8 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const ankeMerknaderAksjonspunkterPropType = PropTypes.shape({ - definisjon: kodeverkObjektPropType.isRequired, + definisjon: PropTypes.string, // kodeverk begrunnelse: PropTypes.string, }); diff --git a/packages/prosess-anke-resultat/src/components/BehandleResultatForm.jsx b/packages/prosess-anke-resultat/src/components/BehandleResultatForm.jsx index a7c217e678..698b97a2bc 100644 --- a/packages/prosess-anke-resultat/src/components/BehandleResultatForm.jsx +++ b/packages/prosess-anke-resultat/src/components/BehandleResultatForm.jsx @@ -301,7 +301,7 @@ const buildInitialValues = createSelector([ownProps => ownProps.ankeVurderingRes const formName = 'ankeResultatForm'; const mapStateToPropsFactory = (initialState, initialOwnProps) => { - const aksjonspunktCode = initialOwnProps.aksjonspunkter[0].definisjon.kode; + const aksjonspunktCode = initialOwnProps.aksjonspunkter[0].definisjon; const onSubmit = values => initialOwnProps.submitCallback([transformValues(values, aksjonspunktCode)]); return (state, ownProps) => ({ aksjonspunktCode, diff --git a/packages/prosess-anke-resultat/src/propTypes/ankeResultatAksjonspunkterPropType.jsx b/packages/prosess-anke-resultat/src/propTypes/ankeResultatAksjonspunkterPropType.jsx index 0cdf5447dd..21727a2494 100644 --- a/packages/prosess-anke-resultat/src/propTypes/ankeResultatAksjonspunkterPropType.jsx +++ b/packages/prosess-anke-resultat/src/propTypes/ankeResultatAksjonspunkterPropType.jsx @@ -1,11 +1,8 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const ankeResultatAksjonspunkterPropType = PropTypes.shape({ - definisjon: kodeverkObjektPropType.isRequired, + definisjon: PropTypes.string, // kodeverk begrunnelse: PropTypes.string, }); diff --git a/packages/prosess-anke/package.json b/packages/prosess-anke/package.json index 1b54bd2da1..ae010c9ddd 100644 --- a/packages/prosess-anke/package.json +++ b/packages/prosess-anke/package.json @@ -10,6 +10,8 @@ "@fpsak-frontend/prop-types": "1.0.0", "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", + "@k9-sak-web/gui": "1.0.0", + "@k9-sak-web/lib": "1.0.0", "@k9-sak-web/prosess-felles": "1.0.0", "classnames": "2.5.1", "moment": "2.30.1", diff --git a/packages/prosess-anke/src/AnkeProsessIndex.jsx b/packages/prosess-anke/src/AnkeProsessIndex.jsx index af18e9f416..c4026c408d 100644 --- a/packages/prosess-anke/src/AnkeProsessIndex.jsx +++ b/packages/prosess-anke/src/AnkeProsessIndex.jsx @@ -62,12 +62,8 @@ AnkeProsessIndex.propTypes = { PropTypes.shape({ id: PropTypes.number, opprettet: PropTypes.string, - type: PropTypes.shape({ - kode: PropTypes.string, - }), - status: PropTypes.shape({ - kode: PropTypes.string, - }), + type: PropTypes.string, // kodeverk + status: PropTypes.string, // kodeverk }), ).isRequired, }; diff --git a/packages/prosess-anke/src/components/BehandleAnkeForm.jsx b/packages/prosess-anke/src/components/BehandleAnkeForm.jsx index d0829eead6..228ece506b 100644 --- a/packages/prosess-anke/src/components/BehandleAnkeForm.jsx +++ b/packages/prosess-anke/src/components/BehandleAnkeForm.jsx @@ -12,7 +12,6 @@ import { import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import ankeVurdering from '@fpsak-frontend/kodeverk/src/ankeVurdering'; import ankeVurderingOmgjoer from '@fpsak-frontend/kodeverk/src/ankeVurderingOmgjoer'; -import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import { AksjonspunktHelpText, ArrowBox, FadingPanel, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { DDMMYYYY_DATE_FORMAT, ISO_DATE_FORMAT, required } from '@fpsak-frontend/utils'; @@ -25,6 +24,8 @@ import { FormattedMessage, injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { formPropTypes } from 'redux-form'; import { createSelector } from 'reselect'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import ankeOmgjorArsak from '../kodeverk/ankeOmgjorArsak'; import FritekstBrevTextField from './FritekstAnkeBrevTextField'; @@ -53,51 +54,13 @@ const canSubmit = formValues => { return formValues.ankeVurdering != null && formValues.vedtak != null; }; -// TODO (TOR) Dette skal ikkje hardkodast!!! Hent fra kodeverk -const formatBehandlingType = kode => { - switch (kode) { - case behandlingType.FORSTEGANGSSOKNAD: - return 'Førstegangssøknad'; - case behandlingType.KLAGE: - return 'Klage'; - case behandlingType.ANKE: - return 'Anke'; - case behandlingType.REVURDERING: - return 'Revurdering'; - case behandlingType.SOKNAD: - return 'Søknad'; - case behandlingType.TILBAKEKREVING: - return 'Tilbakekreving'; - default: - return null; - } -}; - -// TODO (TOR) Dette skal ikkje hardkodast!!! Hent fra kodeverk -const formatBehandlingStatus = status => { - switch (status) { - case behandlingStatus.OPPRETTET: - return 'Opprettet'; - case behandlingStatus.BEHANDLING_UTREDES: - return 'Behandling utredes'; - case behandlingStatus.AVSLUTTET: - return 'Avsluttet'; - case behandlingStatus.IVERKSETTER_VEDTAK: - return 'Iverksetter vedtak'; - case behandlingStatus.FATTER_VEDTAK: - return 'Fatter vedtak'; - default: - return null; - } -}; - const IKKE_PAA_ANKET_BEHANDLING_ID = '0'; const canPreview = (begrunnelse, fritekstTilBrev) => begrunnelse && begrunnelse.length > 0 && fritekstTilBrev && fritekstTilBrev.length > 0; + const formatDate = date => (date ? moment(date, ISO_DATE_FORMAT).format(DDMMYYYY_DATE_FORMAT) : '-'); -const formatBehandling = b => - `${formatDate(b.opprettet)} - ${formatBehandlingType(b.type.kode)} - ${formatBehandlingStatus(b.status.kode)}`; + const formatId = b => { if (b === null) { return IKKE_PAA_ANKET_BEHANDLING_ID; @@ -105,34 +68,6 @@ const formatId = b => { return `${b}`; }; -const leggTilUkjent = (behandlinger = []) => { - const arr = [].concat(behandlinger); - arr.unshift({ - id: IKKE_PAA_ANKET_BEHANDLING_ID, - opprettet: null, - type: {}, - status: {}, - }); - return arr; -}; - -const buildOption = (b, intl) => { - if (b.id === IKKE_PAA_ANKET_BEHANDLING_ID) { - return ( - - ); - } - return ( - - ); -}; - -const filtrerKlage = (behandlinger = []) => behandlinger.filter(b => b.type.kode === behandlingType.KLAGE); - /** * Presentasjonskomponent. Setter opp aksjonspunktet for behandling. */ @@ -150,200 +85,233 @@ const BehandleAnkeFormImpl = ({ behandlinger, intl, ...formProps -}) => ( -
- - - - - - - {[]} - - - -
- buildOption(b, intl))} - className={readOnly ? styles.selectReadOnly : null} - label={intl.formatMessage({ id: 'Ankebehandling.Resultat.Vedtak' })} - validate={[required]} - bredde="xl" - /> -
-
+}) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); - - - - - - - - {ankeVurdering.ANKE_AVVIS === formValues.ankeVurdering && ( - -
- - - - - } - /> - } - /> - } - /> - } - /> - - - - - -
-
- )} - {ankeVurdering.ANKE_OMGJOER === formValues.ankeVurdering && ( - -
- - - ( - - ))} - className={readOnly ? styles.selectReadOnly : null} - label={intl.formatMessage({ id: 'Ankebehandling.OmgjoeringArsak' })} - validate={[required]} - bredde="xl" - /> - -
-
- )} + const leggTilUkjent = (behandlingerArray = []) => { + const arr = [].concat(behandlingerArray); + arr.unshift({ + id: IKKE_PAA_ANKET_BEHANDLING_ID, + opprettet: null, + type: {}, + status: {}, + }); + return arr; + }; - - - + const filtrerKlage = behandlinger?.filter(b => b.type === behandlingType.KLAGE); -
- - + const buildOption = b => { + if (b.id === IKKE_PAA_ANKET_BEHANDLING_ID) { + return ( + + ); + } + return ( + + ); + }; + + return ( + + + + + + + + {[]} + - -
- - -
+
- buildOption(b))} + className={readOnly ? styles.selectReadOnly : null} + label={intl.formatMessage({ id: 'Ankebehandling.Resultat.Vedtak' })} + validate={[required]} + bredde="xl" />
-
-
-
-); + + + + + + + + + {ankeVurdering.ANKE_AVVIS === formValues.ankeVurdering && ( + +
+ + + + + } + /> + } + /> + } + /> + } + /> + + + + + +
+
+ )} + {ankeVurdering.ANKE_OMGJOER === formValues.ankeVurdering && ( + +
+ + + ( + + ))} + className={readOnly ? styles.selectReadOnly : null} + label={intl.formatMessage({ id: 'Ankebehandling.OmgjoeringArsak' })} + validate={[required]} + bredde="xl" + /> + +
+
+ )} + + + + + +
+ + + + +
+ + +
+
+ +
+
+
+ + + ); +}; BehandleAnkeFormImpl.propTypes = { behandlingId: PropTypes.number.isRequired, @@ -358,12 +326,8 @@ BehandleAnkeFormImpl.propTypes = { PropTypes.shape({ id: PropTypes.number, opprettet: PropTypes.string, - type: PropTypes.shape({ - kode: PropTypes.string, - }), - status: PropTypes.shape({ - kode: PropTypes.string, - }), + type: PropTypes.string, // kodeverk + status: PropTypes.string, // kodeverk }), ).isRequired, ...formPropTypes, @@ -413,7 +377,7 @@ export const transformValues = (values, aksjonspunktCode) => ({ const formName = 'BehandleAnkeForm'; const mapStateToPropsFactory = (initialState, initialOwnProps) => { - const aksjonspunktCode = initialOwnProps.aksjonspunkter[0].definisjon.kode; + const aksjonspunktCode = initialOwnProps.aksjonspunkter[0].definisjon; const onSubmit = values => initialOwnProps.submitCallback([transformValues(values, aksjonspunktCode)]); return (state, ownProps) => ({ aksjonspunktCode, diff --git a/packages/prosess-avregning/src/AvregningProsessIndex.spec.tsx b/packages/prosess-avregning/src/AvregningProsessIndex.spec.tsx index 4cef8209cd..bdf3449020 100644 --- a/packages/prosess-avregning/src/AvregningProsessIndex.spec.tsx +++ b/packages/prosess-avregning/src/AvregningProsessIndex.spec.tsx @@ -1,39 +1,47 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; -import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { screen } from '@testing-library/react'; import React from 'react'; +import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; +import { Fagsak } from '@k9-sak-web/types'; import messages from '../i18n/nb_NO.json'; import AvregningProsessIndex from './AvregningProsessIndex'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123', - sakstype: { - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: '', - }, - fagsakYtelseType: { - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: '', + sakstype: fagsakYtelsesType.FP, + relasjonsRolleType: '', + status: 'OPPR', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, }; const behandling = { id: 1, versjon: 1, - sprakkode: { - kode: 'NO', - kodeverk: '', - }, + sprakkode: 'NO', }; const aksjonspunkter = [ { - definisjon: { - kode: aksjonspunktCodes.VURDER_FEILUTBETALING, - kodeverk: '', - }, + definisjon: aksjonspunktCodes.VURDER_FEILUTBETALING, begrunnelse: 'test', }, ]; diff --git a/packages/prosess-avregning/src/components/AvregningPanel.jsx b/packages/prosess-avregning/src/components/AvregningPanel.jsx index 4ac4c0365a..235d4d2eac 100644 --- a/packages/prosess-avregning/src/components/AvregningPanel.jsx +++ b/packages/prosess-avregning/src/components/AvregningPanel.jsx @@ -297,19 +297,19 @@ export const transformValues = (values, ap) => { const buildInitialValues = createSelector( [(state, ownProps) => ownProps.tilbakekrevingvalg, (state, ownProps) => ownProps.aksjonspunkter], (tilbakekrevingvalg, aksjonspunkter) => { - const aksjonspunkt = aksjonspunkter.find(ap => simuleringAksjonspunkter.includes(ap.definisjon.kode)); + const aksjonspunkt = aksjonspunkter.find(ap => simuleringAksjonspunkter.includes(ap.definisjon)); if (!aksjonspunkt || !tilbakekrevingvalg) { return undefined; } const harTypeIkkeSendt = !tilbakekrevingvalg.varseltekst && - tilbakekrevingvalg.videreBehandling.kode === tilbakekrevingVidereBehandling.TILBAKEKR_OPPRETT; + tilbakekrevingvalg.videreBehandling === tilbakekrevingVidereBehandling.TILBAKEKR_OPPRETT; return { videreBehandling: harTypeIkkeSendt - ? tilbakekrevingvalg.videreBehandling.kode + IKKE_SEND - : tilbakekrevingvalg.videreBehandling.kode, + ? tilbakekrevingvalg.videreBehandling + IKKE_SEND + : tilbakekrevingvalg.videreBehandling, varseltekst: tilbakekrevingvalg.varseltekst, begrunnelse: aksjonspunkt.begrunnelse, }; @@ -329,10 +329,10 @@ const mapStateToPropsFactory = (initialState, ownPropsStatic) => { fagsak, featureToggles, } = ownProps; - const erFrisinn = fagsakYtelseType.FRISINN === fagsak.sakstype?.kode; + const erFrisinn = fagsakYtelseType.FRISINN === fagsak.sakstype; const hasOpenTilbakekrevingsbehandling = tilbakekrevingvalg !== undefined && - tilbakekrevingvalg.videreBehandling.kode === tilbakekrevingVidereBehandling.TILBAKEKR_OPPDATER; + tilbakekrevingvalg.videreBehandling === tilbakekrevingVidereBehandling.TILBAKEKR_OPPDATER; return { varseltekst: behandlingFormValueSelector(formName, behandlingId, behandlingVersjon)(state, 'varseltekst'), initialValues: buildInitialValues(state, ownProps), diff --git a/packages/prosess-avregning/src/components/AvregningPanel.spec.tsx b/packages/prosess-avregning/src/components/AvregningPanel.spec.tsx index dcb02944f2..2d70a6bd22 100644 --- a/packages/prosess-avregning/src/components/AvregningPanel.spec.tsx +++ b/packages/prosess-avregning/src/components/AvregningPanel.spec.tsx @@ -20,20 +20,12 @@ const simuleringResultat = { ingenPerioderMedAvvik: false, perioderPerMottaker: [ { - mottakerType: { - kode: 'BRUKER', - navn: null, - kodeverk: 'MOTTAKER_TYPE', - }, + mottakerType: 'BRUKER', mottakerNummer: null, mottakerNavn: null, resultatPerFagområde: [ { - fagOmrådeKode: { - kode: 'FP', - navn: 'Foreldrepenger', - kodeverk: 'FAG_OMRAADE_KODE', - }, + fagOmrådeKode: 'FP', rader: [ { feltnavn: 'nyttBeløp', diff --git a/packages/prosess-avregning/src/components/AvregningTable.spec.tsx b/packages/prosess-avregning/src/components/AvregningTable.spec.tsx index b5bb3ef83e..f1787abeb2 100644 --- a/packages/prosess-avregning/src/components/AvregningTable.spec.tsx +++ b/packages/prosess-avregning/src/components/AvregningTable.spec.tsx @@ -11,17 +11,11 @@ const simuleringResultat = { const mottaker = { mottakerNavn: '', mottakerNummer: '', - mottakerType: { - kode: '', - kodeverk: '', - }, + mottakerType: '', mottakerIdentifikator: '', resultatPerFagområde: [ { - fagOmrådeKode: { - kode: '', - kodeverk: '', - }, + fagOmrådeKode: '', rader: [ { feltnavn: '', @@ -94,10 +88,7 @@ describe('', () => { const arbeidsgiver = { mottakerNavn: 'Statoil', mottakerNummer: '1234567', - mottakerType: { - kode: 'ARBG_ORG', - kodeverk: '', - }, + mottakerType: 'ARBG_ORG', }; const props = { ...mockProps, diff --git a/packages/prosess-avregning/src/components/AvregningTable.tsx b/packages/prosess-avregning/src/components/AvregningTable.tsx index 6bd76ce9a6..fb86577d09 100644 --- a/packages/prosess-avregning/src/components/AvregningTable.tsx +++ b/packages/prosess-avregning/src/components/AvregningTable.tsx @@ -1,6 +1,6 @@ import mottakerTyper from '@fpsak-frontend/kodeverk/src/mottakerTyper'; import { formatCurrencyNoKr, getRangeOfMonths } from '@fpsak-frontend/utils'; -import { Kodeverk, Periode, SimuleringMottaker, SimuleringResultatRad } from '@k9-sak-web/types'; +import { Periode, SimuleringMottaker, SimuleringResultatRad } from '@k9-sak-web/types'; import { BodyShort, Table } from '@navikt/ds-react'; import classnames from 'classnames/bind'; import moment from 'moment/moment'; @@ -98,7 +98,7 @@ const createColumns = ( }; const tableTitle = (mottaker: SimuleringMottaker) => - mottaker.mottakerType.kode === mottakerTyper.ARBG ? ( + mottaker.mottakerType === mottakerTyper.ARBG ? ( period const getPeriod = (ingenPerioderMedAvvik: boolean, periodeFom: string, mottaker: SimuleringMottaker) => getRangeOfMonths( - avvikBruker(ingenPerioderMedAvvik, mottaker.mottakerType.kode) + avvikBruker(ingenPerioderMedAvvik, mottaker.mottakerType) ? moment(mottaker.nesteUtbPeriode.tom).subtract(1, 'months') : getPeriodeFom(periodeFom, mottaker.nesteUtbPeriode.fom), mottaker.nesteUtbPeriode.tom, ); interface ResultatPerFagområde { - fagOmrådeKode: Kodeverk; + fagOmrådeKode: string; rader: SimuleringResultatRad[]; } @@ -192,7 +192,7 @@ const AvregningTable = ({ return ( - + {createColumns(rad.resultaterPerMåned, rangeOfMonths, nesteMåned, boldText)} diff --git a/packages/prosess-avregning/src/propTypes/avregningAksjonspunkterPropType.jsx b/packages/prosess-avregning/src/propTypes/avregningAksjonspunkterPropType.jsx index 0cb3d051b4..c06b4b7689 100644 --- a/packages/prosess-avregning/src/propTypes/avregningAksjonspunkterPropType.jsx +++ b/packages/prosess-avregning/src/propTypes/avregningAksjonspunkterPropType.jsx @@ -1,11 +1,8 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const avregningAksjonspunkterPropType = PropTypes.shape({ - definisjon: kodeverkObjektPropType.isRequired, + definisjon: PropTypes.string, // kodeverk begrunnelse: PropTypes.string, }); diff --git a/packages/prosess-avregning/src/propTypes/avregningBehandlingPropType.jsx b/packages/prosess-avregning/src/propTypes/avregningBehandlingPropType.jsx index 42f52f5252..b250e989e6 100644 --- a/packages/prosess-avregning/src/propTypes/avregningBehandlingPropType.jsx +++ b/packages/prosess-avregning/src/propTypes/avregningBehandlingPropType.jsx @@ -1,13 +1,10 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const avregningBehandlingPropType = PropTypes.shape({ id: PropTypes.number.isRequired, versjon: PropTypes.number.isRequired, - sprakkode: kodeverkObjektPropType.isRequired, + sprakkode: PropTypes.string, // kodeverk }); export default avregningBehandlingPropType; diff --git a/packages/prosess-avregning/src/propTypes/avregningFagsakPropType.jsx b/packages/prosess-avregning/src/propTypes/avregningFagsakPropType.jsx index c5e40eb561..756bdb68e2 100644 --- a/packages/prosess-avregning/src/propTypes/avregningFagsakPropType.jsx +++ b/packages/prosess-avregning/src/propTypes/avregningFagsakPropType.jsx @@ -1,12 +1,9 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const avregningFagsakPropType = PropTypes.shape({ saksnummer: PropTypes.string.isRequired, - sakstype: kodeverkObjektPropType.isRequired, + sakstype: PropTypes.string, // kodeverk }); export default avregningFagsakPropType; diff --git a/packages/prosess-felles/src/vilkar/VilkarResultPicker.spec.tsx b/packages/prosess-felles/src/vilkar/VilkarResultPicker.spec.tsx index 0fb0b538c3..95d295ea06 100644 --- a/packages/prosess-felles/src/vilkar/VilkarResultPicker.spec.tsx +++ b/packages/prosess-felles/src/vilkar/VilkarResultPicker.spec.tsx @@ -10,12 +10,9 @@ import messages from '../../i18n/nb_NO.json'; import VilkarResultPicker from './VilkarResultPicker'; describe('', () => { - const avslagsarsaker = [{ kode: 'TEST', navn: 'test', kodeverk: '' }]; - it('skal vise komponent med radioknapper', () => { renderWithIntlAndReduxForm( ', () => { const textId = 'Test'; renderWithIntlAndReduxForm( ', () => { it('skal ikke vise nedtrekksliste når vilkårsresultat ikke er valgt', () => { renderWithIntlAndReduxForm( ', () => { it('skal ikke vise nedtrekksliste når vilkårsresultat er OK', () => { renderWithIntlAndReduxForm( ', () => { it('skal vise nedtrekksliste når vilkårsresultat er valgt', () => { renderWithIntlAndReduxForm( ', () => { it('skal sette opp initielle verdier', () => { const aksjonspunkter = [ { - status: { - kode: aksjonspunktStatus.UTFORT, - }, - vilkarType: { - kode: vilkarType.MEDISINSKEVILKÅR_UNDER_18_ÅR, - }, + status: aksjonspunktStatus.UTFORT, + vilkarType: vilkarType.MEDISINSKEVILKÅR_UNDER_18_ÅR, }, ] as Aksjonspunkt[]; const intielleVerdier = VilkarResultPicker.buildInitialValues( diff --git a/packages/prosess-felles/src/vilkar/VilkarResultPicker.tsx b/packages/prosess-felles/src/vilkar/VilkarResultPicker.tsx index c816e5a7ea..0c1b4561a3 100644 --- a/packages/prosess-felles/src/vilkar/VilkarResultPicker.tsx +++ b/packages/prosess-felles/src/vilkar/VilkarResultPicker.tsx @@ -5,7 +5,9 @@ import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktSta import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { FlexColumn, FlexContainer, FlexRow, Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { hasValidDate, isRequiredMessage, required } from '@fpsak-frontend/utils'; -import { Aksjonspunkt, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Aksjonspunkt } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkObject, KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import { BodyShort } from '@navikt/ds-react'; import React, { ReactNode } from 'react'; @@ -20,7 +22,6 @@ type FormValues = { }; interface OwnProps { - avslagsarsaker?: KodeverkMedNavn[]; erVilkarOk?: boolean; customVilkarIkkeOppfyltText: string | ReactNode; customVilkarOppfyltText: string | ReactNode; @@ -35,7 +36,6 @@ interface OwnProps { * Presentasjonskomponent. Lar NAV-ansatt velge om vilkåret skal oppfylles eller avvises. */ const VilkarResultPicker = ({ - avslagsarsaker, erVilkarOk, customVilkarIkkeOppfyltText, customVilkarOppfyltText, @@ -43,6 +43,9 @@ const VilkarResultPicker = ({ erMedlemskapsPanel = false, fieldNamePrefix, }: OwnProps) => { + const { hentKodeverkForKode } = useKodeverkContext(); + const avslagsarsaker = hentKodeverkForKode(KodeverkType.AVSLAGSARSAK) as KodeverkObject[]; + const intl = getPackageIntl(); return (
@@ -124,7 +127,7 @@ VilkarResultPicker.buildInitialValues = ( aksjonspunkter: Aksjonspunkt[], status: string, ): FormValues => { - const isOpenAksjonspunkt = aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status.kode)); + const isOpenAksjonspunkt = aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status)); const erVilkarOk = isOpenAksjonspunkt ? undefined : vilkarUtfallType.OPPFYLT === status; return { erVilkarOk, diff --git a/packages/prosess-felles/src/vilkar/VilkarResultPickerPeriodisert.tsx b/packages/prosess-felles/src/vilkar/VilkarResultPickerPeriodisert.tsx index 167eb2c940..1f39f40877 100644 --- a/packages/prosess-felles/src/vilkar/VilkarResultPickerPeriodisert.tsx +++ b/packages/prosess-felles/src/vilkar/VilkarResultPickerPeriodisert.tsx @@ -7,7 +7,9 @@ import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktSta import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { FlexColumn, FlexContainer, FlexRow, Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { hasValidDate, isRequiredMessage, required } from '@fpsak-frontend/utils'; -import { Aksjonspunkt, KodeverkMedNavn, Vilkarperiode, vilkarUtfallPeriodisert } from '@k9-sak-web/types'; +import { Aksjonspunkt, Vilkarperiode, vilkarUtfallPeriodisert } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType, KodeverkObject } from '@k9-sak-web/lib/kodeverk/types.js'; import { BodyShort } from '@navikt/ds-react'; import { parse } from 'date-fns'; import getPackageIntl from '../../i18n/getPackageIntl'; @@ -24,7 +26,6 @@ type FormValues = { }; interface OwnProps { - avslagsarsaker?: KodeverkMedNavn[]; erVilkarOk?: string; periodeVilkarStatus?: boolean; customVilkarIkkeOppfyltText: string | ReactNode; @@ -45,7 +46,6 @@ interface OwnProps { * Presentasjonskomponent. Lar NAV-ansatt velge om vilkåret skal oppfylles eller avvises. */ const VilkarResultPicker = ({ - avslagsarsaker, erVilkarOk, periodeVilkarStatus, customVilkarIkkeOppfyltText, @@ -59,6 +59,8 @@ const VilkarResultPicker = ({ valgtPeriodeFom, valgtPeriodeTom, }: OwnProps) => { + const { hentKodeverkForKode } = useKodeverkContext(); + const avslagsarsaker = hentKodeverkForKode(KodeverkType.AVSLAGSARSAK) as KodeverkObject[]; const intl = getPackageIntl(); const gyldigFomDatoer = () => ({ @@ -219,7 +221,7 @@ VilkarResultPicker.buildInitialValues = ( status: string, periode: Vilkarperiode, ): FormValues => { - const isOpenAksjonspunkt = aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status.kode)); + const isOpenAksjonspunkt = aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status)); let erVilkarOk; if (status === vilkarUtfallType.OPPFYLT) { diff --git a/packages/prosess-foreldelse/src/ForeldelseProsessIndex.jsx b/packages/prosess-foreldelse/src/ForeldelseProsessIndex.jsx index 46e8d4cfc1..5b33009dfd 100644 --- a/packages/prosess-foreldelse/src/ForeldelseProsessIndex.jsx +++ b/packages/prosess-foreldelse/src/ForeldelseProsessIndex.jsx @@ -36,7 +36,7 @@ const ForeldelseProsessIndex = ({ perioderForeldelse={perioderForeldelse} submitCallback={submitCallback} readOnly={isReadOnly} - apCodes={Array.isArray(aksjonspunkter) && aksjonspunkter.map(a => a.definisjon.kode)} + apCodes={Array.isArray(aksjonspunkter) && aksjonspunkter.map(a => a.definisjon)} readOnlySubmitButton={readOnlySubmitButton} navBrukerKjonn={navBrukerKjonn} alleMerknaderFraBeslutter={alleMerknaderFraBeslutter} diff --git a/packages/prosess-foreldelse/src/components/ForeldelseForm.jsx b/packages/prosess-foreldelse/src/components/ForeldelseForm.jsx index 2a340ef60e..254849682e 100644 --- a/packages/prosess-foreldelse/src/components/ForeldelseForm.jsx +++ b/packages/prosess-foreldelse/src/components/ForeldelseForm.jsx @@ -51,7 +51,7 @@ const getApTekst = apCode => : []; const harApentAksjonspunkt = periode => - (!periode.foreldelseVurderingType || periode.foreldelseVurderingType.kode === foreldelseVurderingType.UDEFINERT) && + (!periode.foreldelseVurderingType || periode.foreldelseVurderingType === foreldelseVurderingType.UDEFINERT) && (!periode.begrunnelse || !!periode.erSplittet); const formaterPerioderForTidslinje = (perioder = []) => @@ -294,8 +294,7 @@ export const buildInitialValues = foreldelsePerioder => ({ foreldelsesresultatActivity: foreldelsePerioder.map(p => ({ ...p, feilutbetaling: p.belop, - foreldet: - p.foreldelseVurderingType.kode === foreldelseVurderingType.UDEFINERT ? null : p.foreldelseVurderingType.kode, + foreldet: p.foreldelseVurderingType === foreldelseVurderingType.UDEFINERT ? null : p.foreldelseVurderingType, begrunnelse: decodeHtmlEntity(p.begrunnelse), })), }); diff --git a/packages/prosess-foreldelse/src/components/ForeldelseForm.spec.jsx b/packages/prosess-foreldelse/src/components/ForeldelseForm.spec.jsx index 500f004094..d021888e87 100644 --- a/packages/prosess-foreldelse/src/components/ForeldelseForm.spec.jsx +++ b/packages/prosess-foreldelse/src/components/ForeldelseForm.spec.jsx @@ -27,9 +27,7 @@ describe('', () => { { fom: '2019-10-10', tom: '2019-11-10', - foreldelseVurderingType: { - kode: foreldelseVurderingType.UDEFINERT, - }, + foreldelseVurderingType: foreldelseVurderingType.UDEFINERT, }, ]; renderWithIntlAndReduxForm( @@ -61,9 +59,7 @@ describe('', () => { { fom: '2019-10-10', tom: '2019-11-10', - foreldelseVurderingType: { - kode: foreldelseVurderingType.UDEFINERT, - }, + foreldelseVurderingType: foreldelseVurderingType.UDEFINERT, }, ]; renderWithIntlAndReduxForm( @@ -96,9 +92,7 @@ describe('', () => { { fom: '2019-10-10', tom: '2019-11-10', - foreldelseVurderingType: { - kode: foreldelseVurderingType.FORELDET, - }, + foreldelseVurderingType: foreldelseVurderingType.FORELDET, }, ]; renderWithIntlAndReduxForm( diff --git a/packages/prosess-foreldelse/src/components/ForeldelsePeriodeForm.jsx b/packages/prosess-foreldelse/src/components/ForeldelsePeriodeForm.jsx index 298ff02f22..fe3cfc8400 100644 --- a/packages/prosess-foreldelse/src/components/ForeldelsePeriodeForm.jsx +++ b/packages/prosess-foreldelse/src/components/ForeldelsePeriodeForm.jsx @@ -130,7 +130,7 @@ ForeldelsePeriodeFormImpl.propTypes = { ...formPropTypes, }; -const oldForeldetValue = fvType => (fvType.kode !== foreldelseVurderingType.UDEFINERT ? fvType.kode : null); +const oldForeldetValue = fvType => (fvType !== foreldelseVurderingType.UDEFINERT ? fvType : null); const checkForeldetValue = selectedItemData => selectedItemData.foreldet ? selectedItemData.foreldet : oldForeldetValue(selectedItemData.foreldelseVurderingType); diff --git a/packages/prosess-formkrav/src/FormkravProsessIndex.jsx b/packages/prosess-formkrav/src/FormkravProsessIndex.jsx index 9086fa7504..1c0feef243 100644 --- a/packages/prosess-formkrav/src/FormkravProsessIndex.jsx +++ b/packages/prosess-formkrav/src/FormkravProsessIndex.jsx @@ -29,7 +29,6 @@ const FormkravProsessIndex = ({ submitCallback, isReadOnly, readOnlySubmitButton, - alleKodeverk, parterMedKlagerett, valgtPartMedKlagerett, fagsak, @@ -37,7 +36,7 @@ const FormkravProsessIndex = ({ }) => ( {Array.isArray(aksjonspunkter) && - aksjonspunkter.some(a => a.definisjon.kode === aksjonspunktCodes.VURDERING_AV_FORMKRAV_KLAGE_NFP) && ( + aksjonspunkter.some(a => a.definisjon === aksjonspunktCodes.VURDERING_AV_FORMKRAV_KLAGE_NFP) && ( )} {Array.isArray(aksjonspunkter) && - aksjonspunkter.some(a => a.definisjon.kode === aksjonspunktCodes.VURDERING_AV_FORMKRAV_KLAGE_KA) && ( + aksjonspunkter.some(a => a.definisjon === aksjonspunktCodes.VURDERING_AV_FORMKRAV_KLAGE_KA) && ( { - const klagBareVedtak = [ - , - ]; - return klagBareVedtak.concat( - avsluttedeBehandlinger.map(behandling => ( - - )), - ); -}; - const getLovHjemmeler = aksjonspunktCode => aksjonspunktCode === aksjonspunktCodes.VURDERING_AV_FORMKRAV_KLAGE_NFP ? 'Klage.LovhjemmelNFP' : 'Klage.LovhjemmelKA'; @@ -60,14 +46,29 @@ export const FormkravKlageForm = ({ avsluttedeBehandlinger, intl, formProps, - alleKodeverk, fagsakPerson, arbeidsgiverOpplysningerPerId, parterMedKlagerett, skalKunneVelgeKlagepart = true, }) => { - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); - const klagbareVedtakOptions = getKlagbareVedtak(avsluttedeBehandlinger, intl, getKodeverknavn); + const { kodeverkNavnFraKode } = useKodeverkContext(); + + const getKlagbareVedtak = () => { + const klagBareVedtak = [ + , + ]; + return klagBareVedtak.concat( + avsluttedeBehandlinger.map(behandling => ( + + )), + ); + }; + + const klagbareVedtakOptions = getKlagbareVedtak(); return ( @@ -223,9 +224,7 @@ FormkravKlageForm.propTypes = { avsluttedeBehandlinger: PropTypes.arrayOf( PropTypes.shape({ id: PropTypes.number.isRequired, - type: PropTypes.shape({ - kode: PropTypes.string.isRequired, - }).isRequired, + type: PropTypes.string.isRequired, avsluttet: PropTypes.string, uuid: PropTypes.string.isRequired, }), @@ -235,7 +234,6 @@ FormkravKlageForm.propTypes = { readOnly: PropTypes.bool, readOnlySubmitButton: PropTypes.bool, intl: PropTypes.shape().isRequired, - alleKodeverk: PropTypes.shape().isRequired, fagsakPerson: PropTypes.shape(), arbeidsgiverOpplysningerPerId: PropTypes.shape(), parterMedKlagerett: PropTypes.arrayOf(PropTypes.shape()), diff --git a/packages/prosess-formkrav/src/components/FormkravKlageForm.spec.jsx b/packages/prosess-formkrav/src/components/FormkravKlageForm.spec.jsx index f234334458..da38e6a10c 100644 --- a/packages/prosess-formkrav/src/components/FormkravKlageForm.spec.jsx +++ b/packages/prosess-formkrav/src/components/FormkravKlageForm.spec.jsx @@ -1,6 +1,7 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { screen } from '@testing-library/react'; import React from 'react'; @@ -13,72 +14,51 @@ describe('', () => { { id: 1, uuid: '1uuid', - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + type: behandlingType.FORSTEGANGSSOKNAD, avsluttet: '2018-10-25T14:14:15', }, { id: 2, uuid: '2uuid', - type: { - kode: behandlingType.REVURDERING, - kodeverk: 'BEHANDLING_TYPE', - }, + type: behandlingType.REVURDERING, avsluttet: '2018-10-25T14:14:15', }, { id: 3, uuid: '3uuid', - type: { - kode: behandlingType.TILBAKEKREVING, - kodeverk: 'BEHANDLING_TYPE', - }, + type: behandlingType.TILBAKEKREVING, avsluttet: '2020-02-06T14:14:15', }, ]; it('skal vise tre options når to mulige klagbare vedtak', () => { renderWithIntlAndReduxForm( - , + + + , { messages }, ); expect(screen.getByRole('combobox', { name: 'Vedtaket som er påklagd' })).toBeInTheDocument(); expect(screen.getByRole('option', { name: 'Ikke påklagd et vedtak' })).toBeInTheDocument(); - expect(screen.getByRole('option', { name: 'Førstegangssøknad 25.10.2018' })).toBeInTheDocument(); + expect(screen.getByRole('option', { name: 'Førstegangsbehandling 25.10.2018' })).toBeInTheDocument(); expect(screen.getByRole('option', { name: 'Revurdering 25.10.2018' })).toBeInTheDocument(); expect(screen.getByRole('option', { name: 'Tilbakekreving 06.02.2020' })).toBeInTheDocument(); }); diff --git a/packages/prosess-formkrav/src/components/FormkravKlageFormKa.jsx b/packages/prosess-formkrav/src/components/FormkravKlageFormKa.jsx index 103574cb9b..2a4f7b585a 100644 --- a/packages/prosess-formkrav/src/components/FormkravKlageFormKa.jsx +++ b/packages/prosess-formkrav/src/components/FormkravKlageFormKa.jsx @@ -20,9 +20,8 @@ export const FormkravKlageFormKa = ({ behandlingId, behandlingVersjon, handleSubmit, - readOnly = true, - readOnlySubmitButton = true, - alleKodeverk, + readOnly, + readOnlySubmitButton, fagsakPerson, arbeidsgiverOpplysningerPerId, avsluttedeBehandlinger, @@ -37,7 +36,6 @@ export const FormkravKlageFormKa = ({ readOnlySubmitButton={readOnlySubmitButton} aksjonspunktCode={aksjonspunktCodes.VURDERING_AV_FORMKRAV_KLAGE_KA} formProps={formProps} - alleKodeverk={alleKodeverk} fagsakPerson={fagsakPerson} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} avsluttedeBehandlinger={avsluttedeBehandlinger} diff --git a/packages/prosess-formkrav/src/components/FormkravKlageFormKa.spec.jsx b/packages/prosess-formkrav/src/components/FormkravKlageFormKa.spec.jsx index 7b028a0831..20f7ed5a9d 100644 --- a/packages/prosess-formkrav/src/components/FormkravKlageFormKa.spec.jsx +++ b/packages/prosess-formkrav/src/components/FormkravKlageFormKa.spec.jsx @@ -17,7 +17,6 @@ describe('', () => { intl={intlMock} behandlingId={1} behandlingVersjon={1} - alleKodeverk={{}} arbeidsgiverOpplysningerPerId={{}} fagsakPerson={{}} avsluttedeBehandlinger={[]} diff --git a/packages/prosess-formkrav/src/components/FormkravKlageFormNfp.jsx b/packages/prosess-formkrav/src/components/FormkravKlageFormNfp.jsx index 44b01f68e7..31a67355ab 100644 --- a/packages/prosess-formkrav/src/components/FormkravKlageFormNfp.jsx +++ b/packages/prosess-formkrav/src/components/FormkravKlageFormNfp.jsx @@ -20,9 +20,8 @@ export const FormkravKlageFormNfpImpl = ({ behandlingId, behandlingVersjon, handleSubmit, - readOnly = true, - readOnlySubmitButton = true, - alleKodeverk, + readOnly, + readOnlySubmitButton, fagsakPerson, arbeidsgiverOpplysningerPerId, avsluttedeBehandlinger, @@ -37,7 +36,6 @@ export const FormkravKlageFormNfpImpl = ({ readOnlySubmitButton={readOnlySubmitButton} aksjonspunktCode={aksjonspunktCodes.VURDERING_AV_FORMKRAV_KLAGE_NFP} formProps={formProps} - alleKodeverk={alleKodeverk} fagsakPerson={fagsakPerson} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} avsluttedeBehandlinger={avsluttedeBehandlinger} @@ -64,8 +62,7 @@ const getPåklagdBehandling = (avsluttedeBehandlinger, påklagdVedtak) => export const erTilbakekreving = (avsluttedeBehandlinger, påklagdVedtak) => { const behandling = getPåklagdBehandling(avsluttedeBehandlinger, påklagdVedtak); return ( - behandling?.type.kode === BehandlingType.TILBAKEKREVING || - behandling?.type.kode === BehandlingType.TILBAKEKREVING_REVURDERING + behandling?.type === BehandlingType.TILBAKEKREVING || behandling?.type === BehandlingType.TILBAKEKREVING_REVURDERING ); }; export const påklagdBehandlingInfo = (avsluttedeBehandlinger, påklagdVedtak) => { @@ -74,7 +71,7 @@ export const påklagdBehandlingInfo = (avsluttedeBehandlinger, påklagdVedtak) = ? { påklagBehandlingUuid: behandling.uuid, påklagBehandlingVedtakDato: behandling.avsluttet, - påklagBehandlingType: behandling.type.kode, + påklagBehandlingType: behandling.type, } : null; }; diff --git a/packages/prosess-formkrav/src/components/FormkravKlageFormNfp.spec.jsx b/packages/prosess-formkrav/src/components/FormkravKlageFormNfp.spec.jsx index d7561d6d5c..d87999d459 100644 --- a/packages/prosess-formkrav/src/components/FormkravKlageFormNfp.spec.jsx +++ b/packages/prosess-formkrav/src/components/FormkravKlageFormNfp.spec.jsx @@ -18,7 +18,6 @@ describe('', () => { intl={intlMock} behandlingId={1} behandlingVersjon={2} - alleKodeverk={{}} arbeidsgiverOpplysningerPerId={{}} fagsakPerson={{}} avsluttedeBehandlinger={[]} diff --git a/packages/prosess-klagevurdering/src/KlagevurderingProsessIndex.jsx b/packages/prosess-klagevurdering/src/KlagevurderingProsessIndex.jsx index 9e74a26b49..b63e2580dc 100644 --- a/packages/prosess-klagevurdering/src/KlagevurderingProsessIndex.jsx +++ b/packages/prosess-klagevurdering/src/KlagevurderingProsessIndex.jsx @@ -34,7 +34,7 @@ const KlagevurderingProsessIndex = ({ }) => ( {Array.isArray(aksjonspunkter) && - aksjonspunkter.some(a => a.definisjon.kode === aksjonspunktCodes.BEHANDLE_KLAGE_NK) && ( + aksjonspunkter.some(a => a.definisjon === aksjonspunktCodes.BEHANDLE_KLAGE_NK) && ( )} {Array.isArray(aksjonspunkter) && - aksjonspunkter.some(a => a.definisjon.kode === aksjonspunktCodes.BEHANDLE_KLAGE_NFP) && ( + aksjonspunkter.some(a => a.definisjon === aksjonspunktCodes.BEHANDLE_KLAGE_NFP) && ( ', () => { - const sprakkode = { - kode: 'NO', - navn: 'Norsk', - }; + const sprakkode = 'NO'; const formValues1 = { fritekstTilBrev: '123', klageVurdering: klageVurdering.STADFESTE_YTELSESVEDTAK, diff --git a/packages/prosess-klagevurdering/src/components/ka/KlageVurderingRadioOptionsKa.spec.jsx b/packages/prosess-klagevurdering/src/components/ka/KlageVurderingRadioOptionsKa.spec.jsx index ca69db21b3..ffdae1615f 100644 --- a/packages/prosess-klagevurdering/src/components/ka/KlageVurderingRadioOptionsKa.spec.jsx +++ b/packages/prosess-klagevurdering/src/components/ka/KlageVurderingRadioOptionsKa.spec.jsx @@ -8,10 +8,7 @@ import messages from '../../../i18n/nb_NO.json'; import { KlageVurderingRadioOptionsKa } from './KlageVurderingRadioOptionsKa'; describe('', () => { - const sprakkode = { - kode: 'NO', - navn: 'Norsk', - }; + const sprakkode = 'NO'; const medholdReasons = [ { kode: 'NYE_OPPLYSNINGER', navn: 'Nytt faktum', kodeverk: 'KLAGE_MEDHOLD_AARSAK' }, { kode: 'ULIK_REGELVERKSTOLKNING', navn: 'Feil lovanvendelse', kodeverk: 'KLAGE_MEDHOLD_AARSAK' }, diff --git a/packages/prosess-klagevurdering/src/components/nfp/BehandleKlageFormNfp.jsx b/packages/prosess-klagevurdering/src/components/nfp/BehandleKlageFormNfp.jsx index 0e10eeb48c..b01e34d6fb 100644 --- a/packages/prosess-klagevurdering/src/components/nfp/BehandleKlageFormNfp.jsx +++ b/packages/prosess-klagevurdering/src/components/nfp/BehandleKlageFormNfp.jsx @@ -134,9 +134,7 @@ export const buildInitialValues = createSelector( klageMedholdArsak: klageVurderingResultat ? klageVurderingResultat.klageMedholdArsak : null, klageVurderingOmgjoer: klageVurderingResultat ? klageVurderingResultat.klageVurderingOmgjoer : null, klageHjemmel: - fagsak.sakstype.kode !== fagsakYtelseType.FRISINN && - klageVurderingResultat && - klageVurderingResultat.hjemmel !== '-' + fagsak.sakstype !== fagsakYtelseType.FRISINN && klageVurderingResultat && klageVurderingResultat.hjemmel !== '-' ? klageVurderingResultat.hjemmel : null, klageVurdering: klageVurderingResultat ? klageVurderingResultat.klageVurdering : null, @@ -149,7 +147,7 @@ export const transformValues = (values, fagsak, erPåklagdBehandlingTilbakekrevi let klageHjemmel = null; if ( - fagsak.sakstype.kode !== fagsakYtelseType.FRISINN && + fagsak.sakstype !== fagsakYtelseType.FRISINN && values.klageVurdering === klageVurderingType.STADFESTE_YTELSESVEDTAK ) { klageHjemmel = erPåklagdBehandlingTilbakekreving ? TILBAKEKREVING_HJEMMEL : values.klageHjemmel; diff --git a/packages/prosess-klagevurdering/src/components/nfp/BehandleKlageFormNfp.spec.jsx b/packages/prosess-klagevurdering/src/components/nfp/BehandleKlageFormNfp.spec.jsx index f2b67efe80..75a0ed981a 100644 --- a/packages/prosess-klagevurdering/src/components/nfp/BehandleKlageFormNfp.spec.jsx +++ b/packages/prosess-klagevurdering/src/components/nfp/BehandleKlageFormNfp.spec.jsx @@ -11,10 +11,7 @@ import messages from '../../../i18n/nb_NO.json'; import { BehandleKlageFormNfpImpl } from './BehandleKlageFormNfp'; describe('', () => { - const sprakkode = { - kode: 'NO', - navn: 'Norsk', - }; + const sprakkode = 'NO'; const formValues1 = { fritekstTilBrev: '123', klageVurdering: klageVurdering.STADFESTE_YTELSESVEDTAK, @@ -23,7 +20,7 @@ describe('', () => { it('skal vise lenke til forhåndsvis brev når fritekst er fylt, og klagevurdering valgt', () => { renderWithIntlAndReduxForm( ', () => { it('skal ikke vise lenke til forhåndsvis brev når fritekst fylt, og klagevurdering ikke valgt', () => { renderWithIntlAndReduxForm( ', () => { it('skal ikke vise lenke til forhåndsvis brev når fritekst ikke fylt, og klagevurdering valgt', () => { renderWithIntlAndReduxForm( { - switch (fagsak.sakstype.kode) { + switch (fagsak.sakstype) { case fagsakYtelseType.PLEIEPENGER: return [ { kode: '9-2', navn: '§ 9-2' }, @@ -63,7 +63,7 @@ export const KlageVurderingRadioOptionsNfp = ({ const hjemler = utledHjemler(fagsak); const skalViseHjemler = - fagsak.sakstype.kode !== fagsakYtelseType.FRISINN && + fagsak.sakstype !== fagsakYtelseType.FRISINN && klageVurdering === klageVurderingType.STADFESTE_YTELSESVEDTAK && hjemler.length > 0; diff --git a/packages/prosess-klagevurdering/src/components/nfp/KlageVurderingRadioOptionsNfp.spec.jsx b/packages/prosess-klagevurdering/src/components/nfp/KlageVurderingRadioOptionsNfp.spec.jsx index 6bcc257712..2cbc9b2c83 100644 --- a/packages/prosess-klagevurdering/src/components/nfp/KlageVurderingRadioOptionsNfp.spec.jsx +++ b/packages/prosess-klagevurdering/src/components/nfp/KlageVurderingRadioOptionsNfp.spec.jsx @@ -10,10 +10,7 @@ import messages from '../../../i18n/nb_NO.json'; import { KlageVurderingRadioOptionsNfp } from './KlageVurderingRadioOptionsNfp'; describe('', () => { - const sprakkode = { - kode: 'NO', - navn: 'Norsk', - }; + const sprakkode = 'NO'; const medholdReasons = [ { kode: 'NYE_OPPLYSNINGER', navn: 'Nytt faktum', kodeverk: 'KLAGE_MEDHOLD_AARSAK' }, { kode: 'ULIK_REGELVERKSTOLKNING', navn: 'Feil lovanvendelse', kodeverk: 'KLAGE_MEDHOLD_AARSAK' }, @@ -24,7 +21,7 @@ describe('', () => { it('skal vise to options når klage opprettholdt', () => { renderWithIntlAndReduxForm( ', () => { it('skal vise fem options når klage medhold', () => { renderWithIntlAndReduxForm( ', () => { it('skal vise hjemler når klagevurdering er opprettholdt', () => { renderWithIntlAndReduxForm( ', () => { it('skal ikke vise hjemler når klagevurdering er opprettholdt og behandling er frisinn', () => { renderWithIntlAndReduxForm( ( - - - -); +}) => { + const { getKodeverkNavnFraKodeFn } = useKodeverkContext(); + return ( + + + + ); +}; CheckPersonStatusIndex.propTypes = { behandling: saksopplysningBehandlingPropType.isRequired, diff --git a/packages/prosess-saksopplysninger/src/CheckPersonStatusIndex.stories.tsx b/packages/prosess-saksopplysninger/src/CheckPersonStatusIndex.stories.tsx index 115a1b27a7..f33e106dbf 100644 --- a/packages/prosess-saksopplysninger/src/CheckPersonStatusIndex.stories.tsx +++ b/packages/prosess-saksopplysninger/src/CheckPersonStatusIndex.stories.tsx @@ -5,10 +5,11 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import CheckPersonStatusIndex from './CheckPersonStatusIndex'; -const personstatusKodeverk = 'PERSONSTATUS_TYPE'; - const behandling = { id: 1, versjon: 1, @@ -20,19 +21,10 @@ const medlemskap = { }; const personopplysninger = { - personstatus: { - kode: personstatusType.DOD, - kodeverk: personstatusKodeverk, - }, + personstatus: personstatusType.DOD, // personstatusKodeverk avklartPersonstatus: { - orginalPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: personstatusKodeverk, - }, - overstyrtPersonstatus: { - kode: personstatusType.DOD, - kodeverk: personstatusKodeverk, - }, + orginalPersonstatus: personstatusType.BOSATT, // personstatusKodeverk + overstyrtPersonstatus: personstatusType.DOD, // personstatusKodeverk }, }; @@ -42,22 +34,25 @@ export default { }; export const visÅpentAksjonspunkt = args => ( - + + ]} + alleKodeverk={alleKodeverk} + submitCallback={action('button-click')} + {...args} + /> + ); visÅpentAksjonspunkt.args = { @@ -69,24 +64,27 @@ visÅpentAksjonspunkt.args = { }; export const visUtførtAksjonspunkt = args => ( - + + ]} + alleKodeverk={alleKodeverk} + submitCallback={action('button-click')} + isReadOnly + readOnlySubmitButton + {...args} + /> + ); visUtførtAksjonspunkt.args = { diff --git a/packages/prosess-saksopplysninger/src/components/CheckPersonStatusForm.jsx b/packages/prosess-saksopplysninger/src/components/CheckPersonStatusForm.jsx index 28f226d211..8f57c2263a 100644 --- a/packages/prosess-saksopplysninger/src/components/CheckPersonStatusForm.jsx +++ b/packages/prosess-saksopplysninger/src/components/CheckPersonStatusForm.jsx @@ -11,12 +11,14 @@ import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktSta import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import { AksjonspunktHelpText, ArrowBox, VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { DDMMYYYY_DATE_FORMAT, getKodeverknavnFn, required } from '@fpsak-frontend/utils'; +import { DDMMYYYY_DATE_FORMAT, required } from '@fpsak-frontend/utils'; import { ProsessStegBegrunnelseTextField, ProsessStegSubmitButton } from '@k9-sak-web/prosess-felles'; import { BodyShort, Detail, Heading } from '@navikt/ds-react'; import moment from 'moment'; import PropTypes from 'prop-types'; import React from 'react'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; + import { FormattedMessage, injectIntl } from 'react-intl'; import { connect } from 'react-redux'; import { formPropTypes } from 'redux-form'; @@ -125,7 +127,7 @@ CheckPersonStatusFormImpl.propTypes = { const getValgtOpplysning = avklartPersonstatus => { if (avklartPersonstatus && avklartPersonstatus.overstyrtPersonstatus) { - const statusKode = avklartPersonstatus.overstyrtPersonstatus.kode; + const statusKode = avklartPersonstatus.overstyrtPersonstatus; if ( statusKode === personstatusType.DOD || statusKode === personstatusType.BOSATT || @@ -142,19 +144,19 @@ export const buildInitialValues = createSelector( (state, ownProps) => ownProps.behandlingHenlagt, (state, ownProps) => ownProps.aksjonspunkter, (state, ownProps) => ownProps.personopplysninger, - (state, ownProps) => ownProps.alleKodeverk, + (state, ownProps) => ownProps.kodeverkNavnFraKode, ], - (behandlingHenlagt, aksjonspunkter, personopplysning, alleKodeverk) => { + (behandlingHenlagt, aksjonspunkter, personopplysning, kodeverkNavnFraKode) => { const shouldContinueBehandling = !behandlingHenlagt; const { avklartPersonstatus, personstatus } = personopplysning; const aksjonspunkt = aksjonspunkter[0]; - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); return { originalPersonstatusName: avklartPersonstatus && avklartPersonstatus.orginalPersonstatus - ? getKodeverknavn(avklartPersonstatus.orginalPersonstatus) - : getKodeverknavn(personstatus), - fortsettBehandling: isAksjonspunktOpen(aksjonspunkt.status.kode) ? undefined : shouldContinueBehandling, + ? kodeverkNavnFraKode(avklartPersonstatus.orginalPersonstatus, KodeverkType.PERSONSTATUS_TYPE) + : kodeverkNavnFraKode(personstatus, KodeverkType.PERSONSTATUS_TYPE), + + fortsettBehandling: isAksjonspunktOpen(aksjonspunkt.status) ? undefined : shouldContinueBehandling, personstatus: getValgtOpplysning(avklartPersonstatus), ...ProsessStegBegrunnelseTextField.buildInitialValues(aksjonspunkter), }; @@ -175,7 +177,7 @@ const getFilteredKodeverk = createSelector( const transformValues = (values, aksjonspunkter) => ({ fortsettBehandling: values.fortsettBehandling, personstatus: values.personstatus, - kode: aksjonspunkter[0].definisjon.kode, + kode: aksjonspunkter[0].definisjon, ...ProsessStegBegrunnelseTextField.transformValues(values), }); diff --git a/packages/prosess-saksopplysninger/src/components/CheckPersonStatusForm.spec.jsx b/packages/prosess-saksopplysninger/src/components/CheckPersonStatusForm.spec.jsx index 6e876c2b8e..188ad3eb3b 100644 --- a/packages/prosess-saksopplysninger/src/components/CheckPersonStatusForm.spec.jsx +++ b/packages/prosess-saksopplysninger/src/components/CheckPersonStatusForm.spec.jsx @@ -4,7 +4,6 @@ import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { screen } from '@testing-library/react'; - import React from 'react'; import { intlMock } from '../../i18n'; import messages from '../../i18n/nb_NO.json'; @@ -26,6 +25,10 @@ describe('', () => { ], }; + // Mock + const kodeverkNavnFraKode = (kode, kodeverkType) => + alleKodeverk[`${kodeverkType}`].find(item => item.kode === kode).navn; + it('skal vise hjelpetekst med original personstatus og begrunnelse/submit', () => { renderWithIntlAndReduxForm( ', () => { it('skal sette opp initielle verdier gitt behandling og behandlingspunkt', () => { const behandlingHenlagt = true; const personopplysning = { - personstatus: { - kode: 'UKJENT', - kodeverk: 'PERSONSTATUS_TYPE', - }, + personstatus: 'UKJENT', avklartPersonstatus: { - orginalPersonstatus: { - kode: 'UKJENT', - kodeverk: 'PERSONSTATUS_TYPE', - }, - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'PERSONSTATUS_TYPE', - }, + orginalPersonstatus: 'UKJENT', + overstyrtPersonstatus: personstatusType.BOSATT, }, }; const aksjonspunkter = [ { - definisjon: { - kode: 'test', - }, - status: { - kode: aksjonspunktStatus.AVBRUTT, - }, + definisjon: 'test', + status: aksjonspunktStatus.AVBRUTT, begrunnelse: 'Dette er en begrunnelse', }, ]; @@ -169,7 +159,7 @@ describe('', () => { behandlingHenlagt, aksjonspunkter, personopplysning, - alleKodeverk, + kodeverkNavnFraKode, ); expect(initialValues).toEqual({ @@ -183,29 +173,16 @@ describe('', () => { it('skal fortsette behandlingen når aksjonspunkt er lukket og behandlingsstatus er ulik avsluttet', () => { const behandlingHenlagt = false; const personopplysning = { - personstatus: { - kode: 'UKJENT', - kodeverk: 'PERSONSTATUS_TYPE', - }, + personstatus: 'UKJENT', avklartPersonstatus: { - orginalPersonstatus: { - kode: 'UKJENT', - kodeverk: 'PERSONSTATUS_TYPE', - }, - overstyrtPersonstatus: { - kode: personstatusType.BOSATT, - kodeverk: 'PERSONSTATUS_TYPE', - }, + orginalPersonstatus: 'UKJENT', + overstyrtPersonstatus: personstatusType.BOSATT, }, }; const aksjonspunkter = [ { - definisjon: { - kode: 'test', - }, - status: { - kode: aksjonspunktStatus.AVBRUTT, - }, + definisjon: 'test', + status: aksjonspunktStatus.AVBRUTT, begrunnelse: 'Dette er en begrunnelse', }, ]; @@ -214,7 +191,7 @@ describe('', () => { behandlingHenlagt, aksjonspunkter, personopplysning, - alleKodeverk, + kodeverkNavnFraKode, ); expect(initialValues).toEqual({ @@ -228,19 +205,12 @@ describe('', () => { it('skal ikke ha satt verdi for om behandlingen skal fortsette om aksjonspunktet er åpent', () => { const behandlingHenlagt = false; const personopplysning = { - personstatus: { - kode: 'UKJENT', - kodeverk: 'PERSONSTATUS_TYPE', - }, + personstatus: 'UKJENT', }; const aksjonspunkter = [ { - definisjon: { - kode: 'test', - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: 'test', + status: aksjonspunktStatus.OPPRETTET, begrunnelse: 'Dette er en begrunnelse', }, ]; @@ -249,7 +219,7 @@ describe('', () => { behandlingHenlagt, aksjonspunkter, personopplysning, - alleKodeverk, + kodeverkNavnFraKode, ); expect(initialValues).toEqual({ diff --git a/packages/prosess-saksopplysninger/src/propTypes/saksopplysningAksjonspunkterPropType.jsx b/packages/prosess-saksopplysninger/src/propTypes/saksopplysningAksjonspunkterPropType.jsx index cdf1b2aabc..b5826a67b1 100644 --- a/packages/prosess-saksopplysninger/src/propTypes/saksopplysningAksjonspunkterPropType.jsx +++ b/packages/prosess-saksopplysninger/src/propTypes/saksopplysningAksjonspunkterPropType.jsx @@ -1,12 +1,9 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const saksopplysningAksjonspunkterPropType = PropTypes.shape({ - definisjon: kodeverkObjektPropType.isRequired, - status: kodeverkObjektPropType.isRequired, + definisjon: PropTypes.string.isRequired, + status: PropTypes.string.isRequired, begrunnelse: PropTypes.string, }); diff --git a/packages/prosess-saksopplysninger/src/propTypes/saksopplysningPersonsopplysningerPropType.jsx b/packages/prosess-saksopplysninger/src/propTypes/saksopplysningPersonsopplysningerPropType.jsx index ba4d8f2333..d082e08084 100644 --- a/packages/prosess-saksopplysninger/src/propTypes/saksopplysningPersonsopplysningerPropType.jsx +++ b/packages/prosess-saksopplysninger/src/propTypes/saksopplysningPersonsopplysningerPropType.jsx @@ -1,14 +1,11 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const saksopplysningPersonsopplysningerPropType = PropTypes.shape({ - personstatus: kodeverkObjektPropType.isRequired, + personstatus: PropTypes.string.isRequired, avklartPersonstatus: PropTypes.shape({ - orginalPersonstatus: kodeverkObjektPropType, - overstyrtPersonstatus: kodeverkObjektPropType, + orginalPersonstatus: PropTypes.string.isRequired, + overstyrtPersonstatus: PropTypes.string.isRequired, }).isRequired, }); diff --git a/packages/prosess-tilbakekreving/src/TilbakekrevingProsessIndex.stories.tsx b/packages/prosess-tilbakekreving/src/TilbakekrevingProsessIndex.stories.tsx index fd101bb6f7..771e80f42f 100644 --- a/packages/prosess-tilbakekreving/src/TilbakekrevingProsessIndex.stories.tsx +++ b/packages/prosess-tilbakekreving/src/TilbakekrevingProsessIndex.stories.tsx @@ -6,6 +6,9 @@ import foreldelseVurderingType from '@fpsak-frontend/kodeverk/src/foreldelseVurd import NavBrukerKjonn from '@fpsak-frontend/kodeverk/src/navBrukerKjonn'; import tilbakekrevingKodeverkTyper from '@fpsak-frontend/kodeverk/src/tilbakekrevingKodeverkTyper'; import { Aksjonspunkt, Behandling } from '@k9-sak-web/types'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import { AlleKodeverk, KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; +import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; import TilbakekrevingProsessIndex from './TilbakekrevingProsessIndex'; import aktsomhet from './kodeverk/aktsomhet'; import sarligGrunn from './kodeverk/sarligGrunn'; @@ -19,19 +22,13 @@ const perioderForeldelse = { fom: '2019-01-01', tom: '2019-02-02', belop: 1000, - foreldelseVurderingType: { - kode: foreldelseVurderingType.IKKE_FORELDET, - kodeverk: 'FORELDELSE_VURDERING', - }, + foreldelseVurderingType: foreldelseVurderingType.IKKE_FORELDET, // FORELDELSE_VURDERING }, { fom: '2019-02-03', tom: '2019-04-02', belop: 3000, - foreldelseVurderingType: { - kode: foreldelseVurderingType.FORELDET, - kodeverk: 'FORELDELSE_VURDERING', - }, + foreldelseVurderingType: foreldelseVurderingType.FORELDET, // FORELDELSE_VURDERING }, ], } as FeilutbetalingPerioderWrapper; @@ -44,11 +41,7 @@ const vilkarvurderingsperioder = { foreldet: false, feilutbetaling: 10, årsak: { - hendelseType: { - kode: 'MEDLEM', - kodeverk: '', - navn: '§22 Medlemskap', - }, + hendelseType: 'MEDLEM', // kodeverk: '', navn: '§22 Medlemskap' }, redusertBeloper: [], ytelser: [ @@ -142,6 +135,12 @@ const alleKodeverk = { navn: 'Simpel uaktsom', }, ], + [KodeverkType.HENDELSE_TYPE]: [ + { + kode: 'MEDLEM', + navn: '§22 Medlemskap', + }, + ], }; export default { @@ -157,29 +156,33 @@ const beregnBelop = params => { }; export const visAksjonspunktForTilbakekreving = args => ( - Promise} - navBrukerKjonn={NavBrukerKjonn.KVINNE} - alleKodeverk={alleKodeverk as any} - beregnBelop={params => beregnBelop(params)} - aksjonspunkter={ - [ + + Promise} + navBrukerKjonn={NavBrukerKjonn.KVINNE} + alleKodeverk={alleKodeverk as any} + beregnBelop={params => beregnBelop(params)} + aksjonspunkter={ + [ + { + definisjon: aksjonspunktCodesTilbakekreving.VURDER_TILBAKEKREVING, }, - }, - ] as Aksjonspunkt[] - } - {...args} - /> + ] as Aksjonspunkt[] + } + {...args} + /> + ); visAksjonspunktForTilbakekreving.args = { diff --git a/packages/prosess-tilbakekreving/src/TilbakekrevingProsessIndex.tsx b/packages/prosess-tilbakekreving/src/TilbakekrevingProsessIndex.tsx index d655652a2f..bd5434fec1 100644 --- a/packages/prosess-tilbakekreving/src/TilbakekrevingProsessIndex.tsx +++ b/packages/prosess-tilbakekreving/src/TilbakekrevingProsessIndex.tsx @@ -59,7 +59,7 @@ const TilbakekrevingProsessIndex = ({ submitCallback={submitCallback} readOnly={isReadOnly} // @ts-ignore tror denne trengs fordi fpsak-frontend/form ikkje er fullstendig konvertert til typescript - apCodes={Array.isArray(aksjonspunkter) && aksjonspunkter.map(a => a.definisjon.kode)} + apCodes={Array.isArray(aksjonspunkter) && aksjonspunkter.map(a => a.definisjon)} readOnlySubmitButton={readOnlySubmitButton} navBrukerKjonn={navBrukerKjonn} alleMerknaderFraBeslutter={alleMerknaderFraBeslutter} diff --git a/packages/prosess-tilbakekreving/src/components/TilbakekrevingForm.spec.tsx b/packages/prosess-tilbakekreving/src/components/TilbakekrevingForm.spec.tsx index 15fdc0cff7..ef769ad29c 100644 --- a/packages/prosess-tilbakekreving/src/components/TilbakekrevingForm.spec.tsx +++ b/packages/prosess-tilbakekreving/src/components/TilbakekrevingForm.spec.tsx @@ -164,19 +164,10 @@ describe('', () => { it('skal lage initial values til form der en har lagret en periode og den andre er foreldet', () => { const arsak = { - hendelseType: { - kode: 'MORS_AKTIVITET_TYPE', - kodeverk: 'MORS_AKTIVITET_KRAV', - }, - hendelseUndertype: { - kodeverk: 'MORS_AKTIVITET_TYPE', - kode: 'IKKE_ARBEIDET_HELTID', - }, - }; - const oppfyltValg = { - kode: '-', - kodeverk: 'VILKAAR_RESULTAT', + hendelseType: 'MORS_AKTIVITET_TYPE', // 'MORS_AKTIVITET_KRAV' + hendelseUndertype: 'MORS_AKTIVITET_TYPE', // 'IKKE_ARBEIDET_HELTID', }; + const oppfyltValg = '-'; // 'VILKAAR_RESULTAT', const ytelser = [ { aktivitet: 'Arbeidstakar', @@ -212,11 +203,7 @@ describe('', () => { begrunnelse: '3434', fom: '2016-05-02', tom: '2016-05-26', - vilkarResultat: { - kode: VilkarResultat.GOD_TRO, - kodeverk: 'VILKAAR_RESULTAT', - navn: 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', - }, + vilkarResultat: VilkarResultat.GOD_TRO, // 'VILKAAR_RESULTAT', vilkarResultatInfo: { begrunnelse: '34344', erBelopetIBehold: true, @@ -253,11 +240,7 @@ describe('', () => { ytelser, årsak: arsak, begrunnelse: '3434', - vilkarResultat: { - kode: VilkarResultat.GOD_TRO, - kodeverk: 'VILKAAR_RESULTAT', - navn: 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', - }, + vilkarResultat: VilkarResultat.GOD_TRO, // 'VILKAAR_RESULTAT', 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)' vilkarResultatInfo: { begrunnelse: '34344', erBelopetIBehold: true, @@ -269,19 +252,11 @@ describe('', () => { it('skal lage initial values til form der en har splittet en periode i to', () => { const arsak = { - hendelseType: { - kode: 'MORS_AKTIVITET_TYPE', - kodeverk: 'MORS_AKTIVITET_KRAV', - }, - hendelseUndertype: { - kodeverk: 'MORS_AKTIVITET_TYPE', - kode: 'IKKE_ARBEIDET_HELTID', - }, - }; - const oppfyltValg = { - kode: '-', - kodeverk: 'VILKAAR_RESULTAT', + hendelseType: 'MORS_AKTIVITET_TYPE', // 'MORS_AKTIVITET_KRAV' + hendelseUndertype: 'MORS_AKTIVITET_TYPE', // 'IKKE_ARBEIDET_HELTID' }; + const oppfyltValg = '-'; // 'VILKAAR_RESULTAT' + const ytelser = [ { aktivitet: 'Arbeidstakar', @@ -307,11 +282,7 @@ describe('', () => { fom: '2016-03-16', tom: '2016-04-03', feilutbetalingBelop: 10000, - vilkarResultat: { - kode: VilkarResultat.GOD_TRO, - kodeverk: 'VILKAAR_RESULTAT', - navn: 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', - }, + vilkarResultat: VilkarResultat.GOD_TRO, // 'VILKAAR_RESULTAT','Nei, mottaker har mottatt beløpet i god tro (1. ledd)', vilkarResultatInfo: { begrunnelse: '34344', erBelopetIBehold: true, @@ -323,11 +294,7 @@ describe('', () => { fom: '2016-04-04', tom: '2016-05-26', feilutbetalingBelop: 22000, - vilkarResultat: { - kode: VilkarResultat.GOD_TRO, - kodeverk: 'VILKAAR_RESULTAT', - navn: 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', - }, + vilkarResultat: VilkarResultat.GOD_TRO, // 'VILKAAR_RESULTAT', 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', vilkarResultatInfo: { begrunnelse: '34344', erBelopetIBehold: true, @@ -352,11 +319,7 @@ describe('', () => { ytelser, årsak: arsak, begrunnelse: '3434', - vilkarResultat: { - kode: VilkarResultat.GOD_TRO, - kodeverk: 'VILKAAR_RESULTAT', - navn: 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', - }, + vilkarResultat: VilkarResultat.GOD_TRO, // 'VILKAAR_RESULTAT', 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', vilkarResultatInfo: { begrunnelse: '34344', erBelopetIBehold: true, @@ -375,11 +338,7 @@ describe('', () => { ytelser, årsak: arsak, begrunnelse: 'test', - vilkarResultat: { - kode: VilkarResultat.GOD_TRO, - kodeverk: 'VILKAAR_RESULTAT', - navn: 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', - }, + vilkarResultat: VilkarResultat.GOD_TRO, // 'VILKAAR_RESULTAT', 'Nei, mottaker har mottatt beløpet i god tro (1. ledd)', vilkarResultatInfo: { begrunnelse: '34344', erBelopetIBehold: true, diff --git a/packages/prosess-tilbakekreving/src/components/TilbakekrevingForm.tsx b/packages/prosess-tilbakekreving/src/components/TilbakekrevingForm.tsx index f1a12f054e..2537610511 100644 --- a/packages/prosess-tilbakekreving/src/components/TilbakekrevingForm.tsx +++ b/packages/prosess-tilbakekreving/src/components/TilbakekrevingForm.tsx @@ -434,7 +434,7 @@ const settOppPeriodeDataForDetailForm = createSelector( return perioderFormState.map((periodeFormState: CustomVilkarsVurdertePeriode) => { const periode = finnOriginalPeriode(periodeFormState, perioder.perioder) as CustomPeriode; const erForeldet = periode.foreldelseVurderingType - ? periode.foreldelseVurderingType.kode === foreldelseVurderingType.FORELDET + ? periode.foreldelseVurderingType === foreldelseVurderingType.FORELDET : periode.foreldet; return { redusertBeloper: periode.redusertBeloper, diff --git a/packages/prosess-tilbakekreving/src/components/TilbakekrevingPeriodeForm.tsx b/packages/prosess-tilbakekreving/src/components/TilbakekrevingPeriodeForm.tsx index 957270509b..6905cfcd73 100644 --- a/packages/prosess-tilbakekreving/src/components/TilbakekrevingPeriodeForm.tsx +++ b/packages/prosess-tilbakekreving/src/components/TilbakekrevingPeriodeForm.tsx @@ -17,7 +17,7 @@ import { minLength, required, } from '@fpsak-frontend/utils'; -import { Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; +import { KodeverkMedNavn } from '@k9-sak-web/types'; import { BodyShort, Button, Label as DSLabel, Detail, HGrid } from '@navikt/ds-react'; import moment from 'moment'; import React, { Component } from 'react'; @@ -51,7 +51,7 @@ export type CustomPeriode = { fom: string; tom: string; erTotalBelopUnder4Rettsgebyr: boolean; - foreldelseVurderingType?: Kodeverk; + foreldelseVurderingType?: string; begrunnelse?: string; harMerEnnEnYtelse: boolean; } & DetaljertFeilutbetalingPeriode; @@ -551,7 +551,7 @@ export const periodeFormBuildInitialValues = ( ): InitialValuesDetailForm => { const { vilkarResultat, begrunnelse, vilkarResultatInfo } = periode; - const vilkarResultatKode = vilkarResultat && vilkarResultat.kode ? vilkarResultat.kode : vilkarResultat; + const vilkarResultatKode = vilkarResultat || vilkarResultat; let foreldetData = { erForeldet: false, periodenErForeldet: undefined, foreldetBegrunnelse: undefined }; const erForeldet = periode.erForeldet ? periode.erForeldet : periode.foreldet; if (erForeldet) { diff --git a/packages/prosess-tilbakekreving/src/components/splittePerioder/PeriodeInformasjon.tsx b/packages/prosess-tilbakekreving/src/components/splittePerioder/PeriodeInformasjon.tsx index 90aa6f6210..1b7d7ffa55 100644 --- a/packages/prosess-tilbakekreving/src/components/splittePerioder/PeriodeInformasjon.tsx +++ b/packages/prosess-tilbakekreving/src/components/splittePerioder/PeriodeInformasjon.tsx @@ -2,7 +2,9 @@ import { DDMMYYYY_DATE_FORMAT, calcDaysAndWeeks, formatCurrencyNoKr } from '@fps import { BodyShort, HGrid, Label } from '@navikt/ds-react'; import moment from 'moment'; import React from 'react'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { FormattedMessage } from 'react-intl'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import DataForPeriode from '../../types/dataForPeriodeTsType'; import styles from './periodeInformasjon.module.css'; @@ -22,6 +24,7 @@ interface OwnProps { * Presentationskomponent */ const PeriodeInformasjon = ({ fom, tom, feilutbetaling, arsak }: OwnProps) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); const daysAndWeeks = calcDaysAndWeeks(fom, tom); return ( @@ -58,7 +61,12 @@ const PeriodeInformasjon = ({ fom, tom, feilutbetaling, arsak }: OwnProps) => {
{arsak && ( - {arsak.hendelseType.navn} + { + kodeverkNavnFraKode( + arsak.hendelseType, + KodeverkType.HENDELSE_TYPE, + ) /* Kodeverk: kan være denne skal slå opp i et annet kodeverk, tilbake? */ + } )}
diff --git a/packages/prosess-tilbakekreving/src/components/tilbakekrevingPeriodePaneler/aktsomhet/AktsomhetFormPanel.spec.tsx b/packages/prosess-tilbakekreving/src/components/tilbakekrevingPeriodePaneler/aktsomhet/AktsomhetFormPanel.spec.tsx index 75b7c17625..ddbde63dea 100644 --- a/packages/prosess-tilbakekreving/src/components/tilbakekrevingPeriodePaneler/aktsomhet/AktsomhetFormPanel.spec.tsx +++ b/packages/prosess-tilbakekreving/src/components/tilbakekrevingPeriodePaneler/aktsomhet/AktsomhetFormPanel.spec.tsx @@ -158,7 +158,7 @@ describe('', () => { it('skal lage form-initialvalues fra struktur når en har aktsomhetsgrad GROVT_UAKTSOM', () => { const vilkarResultatInfo = { - aktsomhet: { kode: Aktsomhet.GROVT_UAKTSOM, kodeverk: '' }, + aktsomhet: Aktsomhet.GROVT_UAKTSOM, aktsomhetInfo: { harGrunnerTilReduksjon: true, ileggRenter: true, diff --git a/packages/prosess-tilbakekreving/src/types/detaljerteFeilutbetalingsperioderTsType.tsx b/packages/prosess-tilbakekreving/src/types/detaljerteFeilutbetalingsperioderTsType.tsx index 54892c98d5..b90ecb8dfc 100644 --- a/packages/prosess-tilbakekreving/src/types/detaljerteFeilutbetalingsperioderTsType.tsx +++ b/packages/prosess-tilbakekreving/src/types/detaljerteFeilutbetalingsperioderTsType.tsx @@ -1,11 +1,9 @@ -import { Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; - export type DetaljertFeilutbetalingPeriode = { fom: string; tom: string; årsak: { - hendelseType: KodeverkMedNavn; - hendelseUndertype?: KodeverkMedNavn; + hendelseType: string; + hendelseUndertype?: string; }; feilutbetaling: number; ytelser: { @@ -16,7 +14,7 @@ export type DetaljertFeilutbetalingPeriode = { erTrekk: boolean; belop: number; }[]; - oppfyltValg?: Kodeverk; + oppfyltValg?: string; foreldet?: boolean; }; diff --git a/packages/prosess-tilbakekreving/src/types/feilutbetalingPerioderTsType.ts b/packages/prosess-tilbakekreving/src/types/feilutbetalingPerioderTsType.ts index fd6e86a8ee..69c5ead311 100644 --- a/packages/prosess-tilbakekreving/src/types/feilutbetalingPerioderTsType.ts +++ b/packages/prosess-tilbakekreving/src/types/feilutbetalingPerioderTsType.ts @@ -1,10 +1,8 @@ -import { Kodeverk } from '@k9-sak-web/types'; - export type FeilutbetalingPeriode = Readonly<{ fom: string; tom: string; belop: number; - foreldelseVurderingType: Kodeverk; + foreldelseVurderingType: string; begrunnelse: string; }>; diff --git a/packages/prosess-tilbakekreving/src/types/foreldelsePerioderTsType.ts b/packages/prosess-tilbakekreving/src/types/foreldelsePerioderTsType.ts index fd81535e0d..98038f32ae 100644 --- a/packages/prosess-tilbakekreving/src/types/foreldelsePerioderTsType.ts +++ b/packages/prosess-tilbakekreving/src/types/foreldelsePerioderTsType.ts @@ -1,10 +1,8 @@ -import { Kodeverk } from '@k9-sak-web/types'; - export type ForeldelsePerioder = Readonly<{ fom: string; tom: string; belop: number; - foreldelseVurderingType: Kodeverk; + foreldelseVurderingType: string; begrunnelse: string; }>; diff --git a/packages/prosess-tilbakekreving/src/types/vilkarsVurdertePerioderTsType.ts b/packages/prosess-tilbakekreving/src/types/vilkarsVurdertePerioderTsType.ts index dd24d251e9..5b24d85caa 100644 --- a/packages/prosess-tilbakekreving/src/types/vilkarsVurdertePerioderTsType.ts +++ b/packages/prosess-tilbakekreving/src/types/vilkarsVurdertePerioderTsType.ts @@ -1,7 +1,7 @@ -import { Kodeverk } from '@k9-sak-web/types'; +import KodeverkMedNavn from '@k9-sak-web/types/src/kodeverkMedNavnTsType'; export type AktsomhetInfo = { - sarligGrunner: Kodeverk[]; + sarligGrunner: KodeverkMedNavn[]; harGrunnerTilReduksjon: boolean; andelTilbakekreves: number; ileggRenter: boolean; @@ -9,20 +9,20 @@ export type AktsomhetInfo = { tilbakekrevSelvOmBeloepErUnder4Rettsgebyr: boolean; annetBegrunnelse: string; sarligGrunnerBegrunnelse: string; -} +}; export type VilkarResultatInfo = { begrunnelse: string; - aktsomhet?: Kodeverk; + aktsomhet?: string; aktsomhetInfo?: AktsomhetInfo; erBelopetIBehold?: boolean; tilbakekrevesBelop?: number; -} +}; export type VilkarsVurdertPeriode = { fom: string; tom: string; - vilkarResultat: Kodeverk; + vilkarResultat: string; begrunnelse: string; vilkarResultatInfo: VilkarResultatInfo; feilutbetalingBelop?: number; diff --git a/packages/prosess-tilkjent-ytelse/src/TilkjentYtelseProsessIndex.stories.tsx b/packages/prosess-tilkjent-ytelse/src/TilkjentYtelseProsessIndex.stories.tsx index abf0de2ecd..3019591ac3 100644 --- a/packages/prosess-tilkjent-ytelse/src/TilkjentYtelseProsessIndex.stories.tsx +++ b/packages/prosess-tilkjent-ytelse/src/TilkjentYtelseProsessIndex.stories.tsx @@ -11,8 +11,8 @@ import TilkjentYtelseProsessIndex from './TilkjentYtelseProsessIndex'; const fagsak = { saksnummer: '123456', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - status: { kode: fagsakStatus.UNDER_BEHANDLING, kodeverk: 'FAGSAK_STATUS' }, + sakstype: fagsakYtelsesType.FP, // FAGSAK_YTELSE + status: fagsakStatus.UNDER_BEHANDLING, // FAGSAK_STATUS } as Fagsak; const behandling = { @@ -27,20 +27,11 @@ const beregningsresultat = { andeler: [ { // @ts-ignore Fiks - aktivitetStatus: { - kode: 'AT', - kodeverk: 'AKTIVITET_STATUS', - }, - inntektskategori: { - kode: 'ARBEIDSTAKER', - kodeverk: 'INNTEKTSKATEGORI', - }, + aktivitetStatus: 'AT', // AKTIVITET_STATUS + inntektskategori: 'ARBEIDSTAKER', // INNTEKTSKATEGORI aktørId: null, arbeidsforholdId: null, - arbeidsforholdType: { - kode: '-', - kodeverk: 'OPPTJENING_AKTIVITET_TYPE', - }, + arbeidsforholdType: '-', // OPPTJENING_AKTIVITET_TYPE arbeidsgiverNavn: 'BEDRIFT1 AS', arbeidsgiverOrgnr: '123456789', eksternArbeidsforholdId: null, @@ -69,20 +60,11 @@ const beregningsresultat = { ], }, { - aktivitetStatus: { - kode: 'AT', - kodeverk: 'AKTIVITET_STATUS', - }, - inntektskategori: { - kode: 'ARBEIDSTAKER', - kodeverk: 'INNTEKTSKATEGORI', - }, + aktivitetStatus: 'AT', // AKTIVITET_STATUS + inntektskategori: 'ARBEIDSTAKER', // INNTEKTSKATEGORI aktørId: null, arbeidsforholdId: null, - arbeidsforholdType: { - kode: '-', - kodeverk: 'OPPTJENING_AKTIVITET_TYPE', - }, + arbeidsforholdType: '-', // OPPTJENING_AKTIVITET_TYPE arbeidsgiverNavn: 'BEDRIFT2 AS', arbeidsgiverOrgnr: '234567890', eksternArbeidsforholdId: null, @@ -110,20 +92,11 @@ const beregningsresultat = { { andeler: [ { - aktivitetStatus: { - kode: 'AT', - kodeverk: 'AKTIVITET_STATUS', - }, - inntektskategori: { - kode: 'ARBEIDSTAKER', - kodeverk: 'INNTEKTSKATEGORI', - }, + aktivitetStatus: 'AT', // AKTIVITET_STATUS + inntektskategori: 'ARBEIDSTAKER', // INNTEKTSKATEGORI aktørId: null, arbeidsforholdId: null, - arbeidsforholdType: { - kode: '-', - kodeverk: 'OPPTJENING_AKTIVITET_TYPE', - }, + arbeidsforholdType: '-', // OPPTJENING_AKTIVITET_TYPE arbeidsgiverNavn: 'BEDRIFT1 AS', arbeidsgiverOrgnr: '123456789', eksternArbeidsforholdId: null, @@ -213,14 +186,8 @@ export const visÅpentAksjonspunkt = args => ( aksjonspunkter={ [ { - definisjon: { - kode: aksjonspunktCodes.VURDER_TILBAKETREKK, - kodeverk: '', - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - kodeverk: '', - }, + definisjon: aksjonspunktCodes.VURDER_TILBAKETREKK, + status: aksjonspunktStatus.OPPRETTET, }, ] as Aksjonspunkt[] } diff --git a/packages/prosess-tilkjent-ytelse/src/TilkjentYtelseProsessIndex.tsx b/packages/prosess-tilkjent-ytelse/src/TilkjentYtelseProsessIndex.tsx index 848e395aff..f3198a1a71 100644 --- a/packages/prosess-tilkjent-ytelse/src/TilkjentYtelseProsessIndex.tsx +++ b/packages/prosess-tilkjent-ytelse/src/TilkjentYtelseProsessIndex.tsx @@ -49,7 +49,7 @@ const TilkjentYtelseProsessIndex = ({ behandlingId={behandling.id} behandlingVersjon={behandling.versjon} beregningsresultat={beregningsresultat} - fagsakYtelseTypeKode={fagsak.sakstype?.kode} + fagsakYtelseTypeKode={fagsak.sakstype} aksjonspunkter={aksjonspunkter} alleKodeverk={alleKodeverk} readOnly={isReadOnly} @@ -59,5 +59,4 @@ const TilkjentYtelseProsessIndex = ({ />
); - export default TilkjentYtelseProsessIndex; diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYteleseUtils.ts b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYteleseUtils.ts index 2606b126a2..ebc8809ec7 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYteleseUtils.ts +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYteleseUtils.ts @@ -1,14 +1,16 @@ -export const getAktivitet = (aktivitetStatus, getKodeverknavn) => +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; + +export const getAktivitet = (aktivitetStatus, kodeverkNavnFraKode) => // hvis valgtAndel ikke satt ennå return tom string. - aktivitetStatus === undefined ? '' : getKodeverknavn(aktivitetStatus); + aktivitetStatus === undefined ? '' : kodeverkNavnFraKode(aktivitetStatus, KodeverkType.AKTIVITET_STATUS); -export const getInntektskategori = (inntektkategori, getKodeverknavn) => +export const getInntektskategori = (inntektkategori, kodeverkNavnFraKode) => // hvis valgtAndel ikke satt ennå return tom string. - inntektkategori === undefined ? '' : getKodeverknavn(inntektkategori); + inntektkategori === undefined ? '' : kodeverkNavnFraKode(inntektkategori, KodeverkType.INNTEKTSKATEGORI); const getEndCharFromId = id => (id ? `...${id.substring(id.length - 4, id.length)}` : ''); -export const createVisningsnavnForAndel = (andel, getKodeverknavn, arbeidsgiverOpplysningerPerId) => { +export const createVisningsnavnForAndel = (andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId) => { if (!andel) return ''; let identifikator; @@ -21,7 +23,7 @@ export const createVisningsnavnForAndel = (andel, getKodeverknavn, arbeidsgiverO } if (!identifikator) { - return andel.aktivitetStatus ? getKodeverknavn(andel.aktivitetStatus) : ''; + return andel.aktivitetStatus ? kodeverkNavnFraKode(andel.aktivitetStatus, KodeverkType.AKTIVITET_STATUS) : ''; } const navn = diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.spec.tsx b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.spec.tsx index 8e3506838f..fcce10693d 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.spec.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.spec.tsx @@ -2,11 +2,27 @@ import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; import { BeregningsresultatPeriodeAndel } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; import React from 'react'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import { intlMock } from '../../i18n'; import messages from '../../i18n/nb_NO.json'; import { PeriodeMedId, TilkjentYtelse } from './TilkjentYtelse'; describe('', () => { + // mock + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const kodeverkNavnFraKode = (kodeverk: string, kodeverkType: KodeverkType) => { + if (kodeverk === 'AT') { + return 'Arbeidstaker'; + } + if (kodeverk === 'SN') { + return 'Selvstendig næringsdrivende'; + } + if (kodeverk === 'FL') { + return 'Frilans'; + } + return ''; + }; + it('skall innehålla korrekt antal felter', () => { renderWithIntl( ', () => { dagsats: 10000, andeler: [ { - inntektskategori: { - kode: 'ARBEIDSTAKER', - kodeverk: 'INNTEKTSKATEGORI', - }, + inntektskategori: 'ARBEIDSTAKER', // 'INNTEKTSKATEGORI', aktørId: '', - arbeidsforholdType: { - kode: '', - kodeverk: '', - }, + arbeidsforholdType: '', stillingsprosent: 100, arbeidsgiver: '973861778', arbeidsgiverOrgnr: '', - aktivitetStatus: { - kode: '', - kodeverk: '', - }, + aktivitetStatus: '', arbeidsforholdId: '', eksternArbeidsforholdId: '', arbeidsgiverNavn: '', @@ -55,8 +62,8 @@ describe('', () => { } groups={[]} intl={intlMock} - alleKodeverk={{}} arbeidsgiverOpplysningerPerId={{}} + kodeverkNavnFraKode={kodeverkNavnFraKode} />, { messages }, ); diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.tsx b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.tsx index 6a8c15de95..02a4f7afb2 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelse.tsx @@ -1,13 +1,8 @@ -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; import { TimeLineControl, Timeline } from '@fpsak-frontend/tidslinje'; -import { - DDMMYY_DATE_FORMAT, - ISO_DATE_FORMAT, - calcDaysAndWeeksWithWeekends, - getKodeverknavnFn, -} from '@fpsak-frontend/utils'; -import { ArbeidsgiverOpplysningerPerId, BeregningsresultatPeriode, KodeverkMedNavn } from '@k9-sak-web/types'; +import { DDMMYY_DATE_FORMAT, ISO_DATE_FORMAT, calcDaysAndWeeksWithWeekends } from '@fpsak-frontend/utils'; +import { ArbeidsgiverOpplysningerPerId, BeregningsresultatPeriode } from '@k9-sak-web/types'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import moment from 'moment'; import React, { Component, RefObject } from 'react'; import { WrappedComponentProps, injectIntl } from 'react-intl'; @@ -40,7 +35,7 @@ const getOptions = (nyePerioder: PeriodeMedId[]) => { }; }; -const createTooltipContent = (intl, item, getKodeverknavn, arbeidsgiverOpplysningerPerId) => { +const createTooltipContent = (intl, item, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId) => { const { formatMessage } = intl; const periodeDato = `${moment(item.fom).format(DDMMYY_DATE_FORMAT)} - ${moment(item.tom).format(DDMMYY_DATE_FORMAT)}`; return ` @@ -68,7 +63,7 @@ const createTooltipContent = (intl, item, getKodeverknavn, arbeidsgiverOpplysnin formatMessage( { id: 'Timeline.tooltip.dagsatsPerAndel' }, { - arbeidsgiver: createVisningsnavnForAndel(andel, getKodeverknavn, arbeidsgiverOpplysningerPerId), + arbeidsgiver: createVisningsnavnForAndel(andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId), dagsatsPerAndel: Number(andel.refusjon) + Number(andel.tilSoker), }, ), @@ -102,14 +97,14 @@ const erTotalUtbetalingsgradOver100 = periode => { return false; }; -const prepareTimelineData = (periode, index, intl, getKodeverknavn, arbeidsgiverOpplysningerPerId) => ({ +const prepareTimelineData = (periode, index, intl, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId) => ({ ...periode, className: erTotalUtbetalingsgradOver100(periode) ? 'innvilget' : 'gradert', group: 1, id: index, start: parseDateString(periode.fom), end: moment(parseDateString(periode.tom)).add(1, 'day'), - title: createTooltipContent(intl, periode, getKodeverknavn, arbeidsgiverOpplysningerPerId), + title: createTooltipContent(intl, periode, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId), }); interface OwnProps { @@ -118,7 +113,7 @@ interface OwnProps { id: number; content: string; }[]; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + kodeverkNavnFraKode: (kode: string, kodeverkType: KodeverkType) => string; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; } @@ -245,16 +240,15 @@ export class TilkjentYtelse extends Component - prepareTimelineData(periode, index, intl, getKodeverknavn, arbeidsgiverOpplysningerPerId), + prepareTimelineData(periode, index, intl, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId), ); return (
@@ -280,7 +274,6 @@ export class TilkjentYtelse extends Component {selectedItem && ( & MappedOwnProps) => { + const { getKodeverkNavnFraKodeFn } = useKodeverkContext(); + const kodeverkNavnFraKode = getKodeverkNavnFraKodeFn(); const opphoersdato = beregningresultat?.opphoersdato; return ( <> @@ -90,8 +92,8 @@ export const TilkjentYtelsePanelImpl = ({ // @ts-ignore items={formatPerioder(beregningresultat.perioder)} groups={groups} - alleKodeverk={alleKodeverk} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} + kodeverkNavnFraKode={kodeverkNavnFraKode} /> )} @@ -102,7 +104,6 @@ export const TilkjentYtelsePanelImpl = ({ beregningsresultat={beregningresultat} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysningerPerId} aksjonspunkter={aksjonspunkter} - alleKodeverk={alleKodeverk} readOnly={readOnly} submitCallback={submitCallback} readOnlySubmitButton={readOnlySubmitButton} @@ -118,6 +119,7 @@ export const TilkjentYtelsePanelImpl = ({ submitCallback={submitCallback} readOnlySubmitButton={readOnlySubmitButton} beregningsresultat={beregningresultat} + kodeverkNavnfraKode={kodeverkNavnFraKode} /> )} @@ -126,7 +128,7 @@ export const TilkjentYtelsePanelImpl = ({ const finnTilbaketrekkAksjonspunkt = (alleAksjonspunkter: Aksjonspunkt[]): Aksjonspunkt | undefined => alleAksjonspunkter - ? alleAksjonspunkter.find(ap => ap.definisjon?.kode === aksjonspunktCodes.VURDER_TILBAKETREKK) + ? alleAksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.VURDER_TILBAKETREKK) : undefined; const mapStateToProps = (state, ownProps) => ({ diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimeLineData.spec.tsx b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimeLineData.spec.tsx index ccae5c4936..eaaf319c87 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimeLineData.spec.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimeLineData.spec.tsx @@ -9,16 +9,10 @@ import TilkjentYtelseTimeLineData from './TilkjentYtelseTimelineData'; const selectedItemDataFL = { andeler: [ { - aktivitetStatus: { - kode: 'FL', - kodeverk: 'AKTIVITET_STATUS', - }, + aktivitetStatus: 'FL', // 'AKTIVITET_STATUS' aktørId: null, arbeidsforholdId: null, - arbeidsforholdType: { - kode: '-', - kodeverk: 'OPPTJENING_AKTIVITET_TYPE', - }, + arbeidsforholdType: '-', // 'OPPTJENING_AKTIVITET_TYPE', arbeidsgiverNavn: null, arbeidsgiverOrgnr: '', eksternArbeidsforholdId: null, @@ -51,14 +45,14 @@ const selectedItemEndDate = '2020-04-24'; const callbackForward = vi.fn(); const callbackBackward = vi.fn(); -const getKodeverknavn = kodeverk => { - if (kodeverk.kode === 'AT') { +const kodeverkNavnFraKode = (kodeverk: string) => { + if (kodeverk === 'AT') { return 'Arbeidstaker'; } - if (kodeverk.kode === 'SN') { + if (kodeverk === 'SN') { return 'Selvstendig næringsdrivende'; } - if (kodeverk.kode === 'FL') { + if (kodeverk === 'FL') { return 'Frilans'; } return ''; @@ -73,13 +67,12 @@ describe('', () => { selectedItemData={selectedItemDataFL} selectedItemStartDate={selectedItemStartDate} selectedItemEndDate={selectedItemEndDate} - alleKodeverk={{}} arbeidsgiverOpplysningerPerId={{}} />, { messages }, ); expect(screen.getByText('Aktivitetsstatus:')).toBeInTheDocument(); - expect(createVisningsnavnForAndel(selectedItemDataFL.andeler[0], getKodeverknavn, {})).toBe('Frilans'); + expect(createVisningsnavnForAndel(selectedItemDataFL.andeler[0], kodeverkNavnFraKode, {})).toBe('Frilans'); }); }); diff --git a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimelineData.tsx b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimelineData.tsx index d082382dfe..b9d73551a0 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimelineData.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/TilkjentYtelseTimelineData.tsx @@ -1,13 +1,12 @@ -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { FloatRight, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { TimeLineButton, TimeLineDataContainer } from '@fpsak-frontend/tidslinje'; -import { calcDaysAndWeeksWithWeekends, DDMMYYYY_DATE_FORMAT, getKodeverknavnFn } from '@fpsak-frontend/utils'; -import { ArbeidsgiverOpplysningerPerId, KodeverkMedNavn } from '@k9-sak-web/types'; +import { calcDaysAndWeeksWithWeekends, DDMMYYYY_DATE_FORMAT } from '@fpsak-frontend/utils'; +import { ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types'; import { BodyShort, HGrid, Label, Tabs, Tag } from '@navikt/ds-react'; import moment from 'moment'; import React, { useEffect } from 'react'; import { FormattedMessage, useIntl } from 'react-intl'; - +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { createVisningsnavnForAndel, getAktivitet } from './TilkjentYteleseUtils'; import { PeriodeMedId } from './TilkjentYtelse'; import styles from './tilkjentYtelse.module.css'; @@ -19,7 +18,6 @@ interface OwnProps { selectedItemData?: PeriodeMedId; callbackForward: (...args: any[]) => any; callbackBackward: (...args: any[]) => any; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; } @@ -40,9 +38,10 @@ const TilkjentYtelseTimeLineData = ({ selectedItemData, callbackForward, callbackBackward, - alleKodeverk, arbeidsgiverOpplysningerPerId, }: OwnProps) => { + const intl = useIntl(); + const { kodeverkNavnFraKode } = useKodeverkContext(); const { andeler } = selectedItemData; const [selectedAndelIndex, setSelectedAndelIndex] = React.useState('0'); const utbetalingsgradFraUttak = desimalerTilProsent(selectedItemData.totalUtbetalingsgradFraUttak); @@ -70,8 +69,6 @@ const TilkjentYtelseTimeLineData = ({ }; const numberOfDaysAndWeeks = calcDaysAndWeeksWithWeekends(selectedItemStartDate, selectedItemEndDate); - const intl = useIntl(); - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); return ( @@ -158,7 +155,11 @@ const TilkjentYtelseTimeLineData = ({ id="Timeline.tooltip.dagsatsPerAndel" key={`index${index + 1}`} values={{ - arbeidsgiver: createVisningsnavnForAndel(andel, getKodeverknavn, arbeidsgiverOpplysningerPerId), + arbeidsgiver: createVisningsnavnForAndel( + andel, + kodeverkNavnFraKode, + arbeidsgiverOpplysningerPerId, + ), dagsatsPerAndel: Number(andel.refusjon), }} /> @@ -175,7 +176,11 @@ const TilkjentYtelseTimeLineData = ({ id="Timeline.tooltip.dagsatsPerAndel" key={`index${index + 1}`} values={{ - arbeidsgiver: createVisningsnavnForAndel(andel, getKodeverknavn, arbeidsgiverOpplysningerPerId), + arbeidsgiver: createVisningsnavnForAndel( + andel, + kodeverkNavnFraKode, + arbeidsgiverOpplysningerPerId, + ), dagsatsPerAndel: Number(andel.tilSoker), }} /> @@ -191,13 +196,13 @@ const TilkjentYtelseTimeLineData = ({ {andeler.map((andel, index) => { - const label = createVisningsnavnForAndel(andel, getKodeverknavn, arbeidsgiverOpplysningerPerId); + const label = createVisningsnavnForAndel(andel, kodeverkNavnFraKode, arbeidsgiverOpplysningerPerId); return ; })} {andeler.map((andel, index) => (
@@ -216,7 +221,7 @@ const TilkjentYtelseTimeLineData = ({ - {getAktivitet(andel?.aktivitetStatus, getKodeverknavn)} + {getAktivitet(andel?.aktivitetStatus, kodeverkNavnFraKode)}
diff --git a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/Andeler.tsx b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/Andeler.tsx index 25a715ec7a..12ff42e11d 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/Andeler.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/Andeler.tsx @@ -1,8 +1,7 @@ -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; -import { ArbeidsgiverOpplysningerPerId, Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Kodeverk } from '@k9-sak-web/types'; import { Alert, BodyShort, Table } from '@navikt/ds-react'; import React from 'react'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { WrappedComponentProps, useIntl } from 'react-intl'; import { FieldArrayFieldsProps, FieldArrayMetaProps } from 'redux-form'; import { createVisningsnavnForAndel, getInntektskategori } from '../TilkjentYteleseUtils'; @@ -20,7 +19,6 @@ interface OwnProps { behandlingVersjon: number; behandlingId: number; behandlingStatus: Kodeverk; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; arbeidsgivere: ArbeidsgiverOpplysningerPerId; } @@ -32,9 +30,9 @@ const headerTextCodes = [ 'TilkjentYtelse.NyPeriode.Ubetalingsgrad', ]; -const Andeler = ({ fields, meta, alleKodeverk, arbeidsgivere }: Partial & WrappedComponentProps) => { +const Andeler = ({ fields, meta, arbeidsgivere }: Partial & WrappedComponentProps) => { const intl = useIntl(); - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); + const { kodeverkNavnFraKode } = useKodeverkContext(); return (
@@ -62,8 +60,8 @@ const Andeler = ({ fields, meta, alleKodeverk, arbeidsgivere }: Partial {fields.map((fieldId: string, index: number, field: FieldArrayFieldsProps) => { const andel = field.get(index); - const inntektskategori = getInntektskategori(andel.inntektskategori, getKodeverknavn); - const arbeidsgiver = createVisningsnavnForAndel(andel, getKodeverknavn, arbeidsgivere); + const inntektskategori = getInntektskategori(andel.inntektskategori, kodeverkNavnFraKode); + const arbeidsgiver = createVisningsnavnForAndel(andel, kodeverkNavnFraKode, arbeidsgivere); return ( diff --git a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/NyPeriode.tsx b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/NyPeriode.tsx index 9e577f7d0f..7a30d2bdc1 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/NyPeriode.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/NyPeriode.tsx @@ -1,7 +1,7 @@ import { DatepickerField, behandlingForm, behandlingFormValueSelector } from '@fpsak-frontend/form'; import { FlexColumn, FlexContainer, FlexRow, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { calcDaysAndWeeks, guid, hasValidPeriod, required } from '@fpsak-frontend/utils'; -import { ArbeidsgiverOpplysningerPerId, KodeverkMedNavn, Periode } from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Periode } from '@k9-sak-web/types'; import { Button, Label } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage } from 'react-intl'; @@ -16,7 +16,6 @@ interface OwnProps { andeler: any[]; nyPeriode: Periode; nyPeriodeDisabledDaysFom: string; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; arbeidsgivere: ArbeidsgiverOpplysningerPerId; readOnly: boolean; behandlingId: number; @@ -29,7 +28,6 @@ export const TilkjentYtelseNyPeriode = ({ nyPeriode, readOnly, andeler, - alleKodeverk, behandlingId, behandlingVersjon, arbeidsgivere, @@ -81,7 +79,6 @@ export const TilkjentYtelseNyPeriode = ({ readOnly={readOnly} // @ts-ignore andeler={andeler} - alleKodeverk={alleKodeverk} arbeidsgivere={arbeidsgivere} behandlingId={behandlingId} behandlingVersjon={behandlingVersjon} @@ -150,7 +147,6 @@ interface PureOwnProps { newPeriodeCallback: (values: any) => void; behandlingId: number; behandlingVersjon: number; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; } const mapStateToPropsFactory = (_initialState: any, ownProps: PureOwnProps) => { diff --git a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/PeriodeRad.tsx b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/PeriodeRad.tsx index 2630ef830a..93fb4b9f86 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/PeriodeRad.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/PeriodeRad.tsx @@ -2,7 +2,7 @@ import removePeriod from '@fpsak-frontend/assets/images/remove.svg'; import removePeriodDisabled from '@fpsak-frontend/assets/images/remove_disabled.svg'; import { DatepickerField } from '@fpsak-frontend/form'; import { FlexColumn, FlexRow, Image } from '@fpsak-frontend/shared-components'; -import { ArbeidsgiverOpplysningerPerId, Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId, Kodeverk } from '@k9-sak-web/types'; import { Alert, Table } from '@navikt/ds-react'; import React from 'react'; import { WrappedComponentProps, injectIntl } from 'react-intl'; @@ -23,7 +23,6 @@ interface OwnProps { behandlingVersjon: number; behandlingId: number; behandlingStatus: Kodeverk; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; isAnyFormOpen: (...args: any[]) => any; arbeidsgivere: ArbeidsgiverOpplysningerPerId; } @@ -34,7 +33,6 @@ const PeriodeRad = ({ fields, meta, openSlettPeriodeModalCallback, - alleKodeverk, intl, isNyPeriodeFormOpen, readOnly, @@ -98,7 +96,6 @@ const PeriodeRad = ({ // @ts-ignore component={Andeler} readOnly - alleKodeverk={alleKodeverk} arbeidsgivere={arbeidsgivere} /> diff --git a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/PeriodeTabell.tsx b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/PeriodeTabell.tsx index c3d0414030..2036030719 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/PeriodeTabell.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/PeriodeTabell.tsx @@ -1,7 +1,7 @@ import { behandlingFormValueSelector, getBehandlingFormPrefix } from '@fpsak-frontend/form'; import { FlexColumn, FlexContainer, FlexRow, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { ariaCheck } from '@fpsak-frontend/utils'; -import { ArbeidsgiverOpplysningerPerId, KodeverkMedNavn } from '@k9-sak-web/types'; +import { ArbeidsgiverOpplysningerPerId } from '@k9-sak-web/types'; import React, { useCallback, useState } from 'react'; import { FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; @@ -32,7 +32,6 @@ const createNewPerioder = (perioder, id: string, values: any) => { interface PureOwnProps { behandlingId: number; behandlingVersjon: number; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; } interface OwnProps { @@ -48,7 +47,6 @@ interface OwnProps { }; behandlingId: number; behandlingVersjon: number; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; slettedePerioder?: any[]; arbeidsgivere?: ArbeidsgiverOpplysningerPerId; } @@ -57,7 +55,6 @@ export const PeriodeTabell = ({ behandlingFormPrefix, behandlingId, behandlingVersjon, - alleKodeverk, perioder, slettedePerioder, initialValues, @@ -233,7 +230,6 @@ export const PeriodeTabell = ({ readOnly={readOnly} behandlingId={behandlingId} behandlingVersjon={behandlingVersjon} - alleKodeverk={alleKodeverk} /> @@ -265,7 +261,6 @@ export const PeriodeTabell = ({ newPeriodeResetCallback={newPeriodeResetCallback} behandlingId={behandlingId} behandlingVersjon={behandlingVersjon} - alleKodeverk={alleKodeverk} arbeidsgivere={arbeidsgivere} readOnly={readOnly} /> diff --git a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/TilkjentYtelseForm.tsx b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/TilkjentYtelseForm.tsx index facb83334a..b33e254cc7 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/TilkjentYtelseForm.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/manuellePerioder/TilkjentYtelseForm.tsx @@ -2,13 +2,7 @@ import { behandlingForm, getBehandlingFormPrefix } from '@fpsak-frontend/form'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { AksjonspunktHelpText, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { guid } from '@fpsak-frontend/utils'; -import { - Aksjonspunkt, - ArbeidsgiverOpplysningerPerId, - BeregningsresultatUtbetalt, - Kodeverk, - KodeverkMedNavn, -} from '@k9-sak-web/types'; +import { Aksjonspunkt, ArbeidsgiverOpplysningerPerId, BeregningsresultatUtbetalt } from '@k9-sak-web/types'; import moment from 'moment'; import React from 'react'; import { FormattedMessage } from 'react-intl'; @@ -25,8 +19,8 @@ interface OwnProps { aksjonspunkter: Aksjonspunkt[]; behandlingId: number; behandlingVersjon: number; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; - behandlingStatus: Kodeverk; + // alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + behandlingStatus: string; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; vilkarForSykdomExists: boolean; beregningsresultat: BeregningsresultatUtbetalt[]; @@ -41,7 +35,6 @@ export const TilkjentYtelseForm = ({ aksjonspunkter, behandlingId, behandlingVersjon, - alleKodeverk, ...formProps }: Partial & InjectedFormProps) => ( <> @@ -68,7 +61,6 @@ export const TilkjentYtelseForm = ({ submitting={formProps.submitting} behandlingId={behandlingId} behandlingVersjon={behandlingVersjon} - alleKodeverk={alleKodeverk} /> {formProps.error && {formProps.error}} diff --git a/packages/prosess-tilkjent-ytelse/src/components/tilbaketrekk/Tilbaketrekkpanel.spec.tsx b/packages/prosess-tilkjent-ytelse/src/components/tilbaketrekk/Tilbaketrekkpanel.spec.tsx index be22ad9103..fd074a165a 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/tilbaketrekk/Tilbaketrekkpanel.spec.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/tilbaketrekk/Tilbaketrekkpanel.spec.tsx @@ -10,12 +10,8 @@ import { Tilbaketrekkpanel as UnwrappedForm, buildInitialValues, transformValues const lagAksjonspunktTilbaketrekk = begrunnelse => ({ - definisjon: { - kode: aksjonspunktCodes.VURDER_TILBAKETREKK, - }, - status: { - kode: 'OPPR', - }, + definisjon: aksjonspunktCodes.VURDER_TILBAKETREKK, + status: 'OPPR', begrunnelse, }) as Aksjonspunkt; diff --git a/packages/prosess-tilkjent-ytelse/src/components/tilbaketrekk/Tilbaketrekkpanel.tsx b/packages/prosess-tilkjent-ytelse/src/components/tilbaketrekk/Tilbaketrekkpanel.tsx index b216f0921e..0e8fc51af1 100644 --- a/packages/prosess-tilkjent-ytelse/src/components/tilbaketrekk/Tilbaketrekkpanel.tsx +++ b/packages/prosess-tilkjent-ytelse/src/components/tilbaketrekk/Tilbaketrekkpanel.tsx @@ -90,7 +90,7 @@ export const Tilbaketrekkpanel = ({ validate={[required]} direction="horizontal" readOnly={readOnly} - isEdited={!isAksjonspunktOpen(vurderTilbaketrekkAP.status.kode)} + isEdited={!isAksjonspunktOpen(vurderTilbaketrekkAP.status)} radios={[ { value: false, diff --git a/packages/prosess-unntak/src/UnntakProsessIndex.jsx b/packages/prosess-unntak/src/UnntakProsessIndex.jsx index bc734b4d94..9e98fd8dff 100644 --- a/packages/prosess-unntak/src/UnntakProsessIndex.jsx +++ b/packages/prosess-unntak/src/UnntakProsessIndex.jsx @@ -1,9 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; - -// import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; - import messages from '../i18n/nb_NO.json'; import BehandleUnntak from './components/BehandleUnntakForm'; import unntakBehandlingPropType from './propTypes/unntakBehandlingPropType'; @@ -20,7 +17,6 @@ const intl = createIntl( const UnntakProsessIndex = ({ behandling, - alleKodeverk, submitCallback, isReadOnly, previewCallback, @@ -42,7 +38,6 @@ const UnntakProsessIndex = ({ readOnly={isReadOnly} previewCallback={previewCallback} readOnlySubmitButton={readOnlySubmitButton} - alleKodeverk={alleKodeverk} vilkårsresultat={vilkårsresultat} vilkar={vilkar} /> @@ -52,7 +47,6 @@ const UnntakProsessIndex = ({ UnntakProsessIndex.propTypes = { behandling: unntakBehandlingPropType.isRequired, - alleKodeverk: PropTypes.shape().isRequired, submitCallback: PropTypes.func.isRequired, isReadOnly: PropTypes.bool.isRequired, previewCallback: PropTypes.func.isRequired, diff --git a/packages/prosess-unntak/src/components/BehandleUnntakForm.spec.jsx b/packages/prosess-unntak/src/components/BehandleUnntakForm.spec.jsx index 86c85b1019..da48163a21 100644 --- a/packages/prosess-unntak/src/components/BehandleUnntakForm.spec.jsx +++ b/packages/prosess-unntak/src/components/BehandleUnntakForm.spec.jsx @@ -10,10 +10,7 @@ import messages from '../../i18n/nb_NO.json'; import { BehandleUnntakForm } from './BehandleUnntakForm'; describe('', () => { - const sprakkode = { - kode: 'NO', - navn: 'Norsk', - }; + const sprakkode = 'NO'; const formValues1 = { fritekst: '123', behandlingResultatType: behandlingResultatType.INNVILG, @@ -31,7 +28,6 @@ describe('', () => { intl={intlMock} formProps={{}} sprakkode={sprakkode} - alleKodeverk={{}} {...reduxFormPropsMock} />, { messages }, @@ -55,7 +51,6 @@ describe('', () => { intl={intlMock} formProps={{}} sprakkode={sprakkode} - alleKodeverk={{}} {...reduxFormPropsMock} />, { messages }, diff --git a/packages/prosess-unntak/src/components/BehandleUnntakForm.tsx b/packages/prosess-unntak/src/components/BehandleUnntakForm.tsx index e8f4b278d6..1e7834ed69 100644 --- a/packages/prosess-unntak/src/components/BehandleUnntakForm.tsx +++ b/packages/prosess-unntak/src/components/BehandleUnntakForm.tsx @@ -17,7 +17,6 @@ import { } from '@fpsak-frontend/shared-components'; import { required } from '@fpsak-frontend/utils'; import { ProsessStegSubmitButton } from '@k9-sak-web/prosess-felles'; -import { Kodeverk } from '@k9-sak-web/types'; import { Heading } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage } from 'react-intl'; @@ -33,7 +32,7 @@ interface OwnProps { behandlingVersjon: number; readOnly: boolean; readOnlySubmitButton: boolean; - sprakkode: Kodeverk; + sprakkode: string; } export const BehandleUnntakForm = ({ @@ -43,7 +42,6 @@ export const BehandleUnntakForm = ({ handleSubmit, readOnlySubmitButton, sprakkode, - // alleKodeverk, ...formProps }: OwnProps & InjectedFormProps) => (
@@ -109,7 +107,7 @@ export const buildInitialValues = createSelector( periode: vilkårsresultat ? vilkårsresultat[0].periode : null, avslagsårsak: vilkårsresultat ? vilkårsresultat[0].avslagsårsak : null, utfall: vilkårsresultat ? vilkårsresultat[0].utfall : null, - behandlingsresultat: behandlingsresultat ? behandlingsresultat?.type?.kode : null, + behandlingsresultat: behandlingsresultat ? behandlingsresultat?.type : null, begrunnelse: vilkar ? vilkar[0].perioder[0].begrunnelse : null, }), ); diff --git a/packages/prosess-unntak/src/components/FritekstTextField.jsx b/packages/prosess-unntak/src/components/FritekstTextField.jsx index 2efe76da85..3598059b30 100644 --- a/packages/prosess-unntak/src/components/FritekstTextField.jsx +++ b/packages/prosess-unntak/src/components/FritekstTextField.jsx @@ -27,7 +27,7 @@ const FritekstTextField = ({ sprakkode, readOnly = true, intl }) => ( ); FritekstTextField.propTypes = { - sprakkode: PropTypes.shape().isRequired, + sprakkode: PropTypes.string.isRequired, intl: PropTypes.shape().isRequired, readOnly: PropTypes.bool, }; diff --git a/packages/prosess-unntak/src/propTypes/unntakBehandlingPropType.jsx b/packages/prosess-unntak/src/propTypes/unntakBehandlingPropType.jsx index e02231f869..e43b3fa2a8 100644 --- a/packages/prosess-unntak/src/propTypes/unntakBehandlingPropType.jsx +++ b/packages/prosess-unntak/src/propTypes/unntakBehandlingPropType.jsx @@ -1,13 +1,10 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const unntakBehandlingPropType = PropTypes.shape({ id: PropTypes.number.isRequired, versjon: PropTypes.number.isRequired, - sprakkode: kodeverkObjektPropType.isRequired, + sprakkode: PropTypes.string.isRequired, }); export default unntakBehandlingPropType; diff --git a/packages/prosess-uttak/src/ui/MainComponent.tsx b/packages/prosess-uttak/src/ui/MainComponent.tsx index 9fbb7797b0..49a0af7b17 100644 --- a/packages/prosess-uttak/src/ui/MainComponent.tsx +++ b/packages/prosess-uttak/src/ui/MainComponent.tsx @@ -28,7 +28,7 @@ const MainComponent = ({ containerData }: MainComponentProps): JSX.Element => { erOverstyrer, } = containerData; const [redigerVirkningsdato, setRedigervirkningsdato] = React.useState(false); - const aksjonspunktVurderDato = aksjonspunkter?.find(ap => ap.definisjon.kode === aksjonspunktVurderDatoKode); + const aksjonspunktVurderDato = aksjonspunkter?.find(ap => ap.definisjon === aksjonspunktVurderDatoKode); const harAksjonspunktForOverstyringAvUttak = aksjonspunktkoder.includes('6017'); const [overstyringAktiv, setOverstyringAktiv] = React.useState(harAksjonspunktForOverstyringAvUttak); diff --git a/packages/prosess-varsel-om-revurdering/src/VarselOmRevurderingProsessIndex.jsx b/packages/prosess-varsel-om-revurdering/src/VarselOmRevurderingProsessIndex.jsx index b7fba748b2..a1a7979008 100644 --- a/packages/prosess-varsel-om-revurdering/src/VarselOmRevurderingProsessIndex.jsx +++ b/packages/prosess-varsel-om-revurdering/src/VarselOmRevurderingProsessIndex.jsx @@ -1,7 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; - import revurderingBehandlingPropType from './propTypes/revurderingBehandlingPropType'; import revurderingAksjonspunkterPropType from './propTypes/revurderingAksjonspunkterPropType'; import revurderingFamilieHendelsePropType from './propTypes/revurderingFamilieHendelsePropType'; @@ -29,7 +28,6 @@ const VarselOmRevurderingProsessIndex = ({ submitCallback, previewCallback, isReadOnly, - alleKodeverk, }) => ( ); @@ -61,7 +58,6 @@ VarselOmRevurderingProsessIndex.propTypes = { submitCallback: PropTypes.func.isRequired, previewCallback: PropTypes.func.isRequired, isReadOnly: PropTypes.bool.isRequired, - alleKodeverk: PropTypes.shape().isRequired, }; export default VarselOmRevurderingProsessIndex; diff --git a/packages/prosess-varsel-om-revurdering/src/components/VarselOmRevurderingForm.jsx b/packages/prosess-varsel-om-revurdering/src/components/VarselOmRevurderingForm.jsx index 587236775b..ed8629bc38 100644 --- a/packages/prosess-varsel-om-revurdering/src/components/VarselOmRevurderingForm.jsx +++ b/packages/prosess-varsel-om-revurdering/src/components/VarselOmRevurderingForm.jsx @@ -1,7 +1,6 @@ import { RadioGroupField, TextAreaField, behandlingForm, behandlingFormValueSelector } from '@fpsak-frontend/form'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import BehandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { AksjonspunktHelpText, ArrowBox, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { ISO_DATE_FORMAT, @@ -39,7 +38,6 @@ export class VarselOmRevurderingFormImpl extends React.Component { begrunnelse: null, languageCode: null, erAutomatiskRevurdering: false, - ventearsaker: [], avklartBarn: undefined, termindato: undefined, }; @@ -104,7 +102,6 @@ export class VarselOmRevurderingFormImpl extends React.Component { sendVarsel, aksjonspunktStatus, begrunnelse, - ventearsaker, behandlingTypeKode, ...formProps } = this.props; @@ -188,7 +185,6 @@ export class VarselOmRevurderingFormImpl extends React.Component { frist={moment().add(28, 'days').format(ISO_DATE_FORMAT)} cancelEvent={this.hideSettPaVentModal} submitCallback={this.handleSubmitFromModal} - ventearsaker={ventearsaker} visBrevErBestilt hasManualPaVent erTilbakekreving={ @@ -213,12 +209,6 @@ VarselOmRevurderingFormImpl.propTypes = { sendVarsel: PropTypes.bool, fritekst: PropTypes.string, begrunnelse: PropTypes.string, - ventearsaker: PropTypes.arrayOf( - PropTypes.shape({ - kode: PropTypes.string, - navn: PropTypes.string, - }), - ), avklartBarn: PropTypes.arrayOf(PropTypes.shape()), behandlingTypeKode: PropTypes.string.isRequired, soknad: revurderingSoknadPropType.isRequired, @@ -229,7 +219,7 @@ VarselOmRevurderingFormImpl.propTypes = { }; export const buildInitialValues = createSelector([(state, ownProps) => ownProps.aksjonspunkter], aksjonspunkter => ({ - kode: aksjonspunkter[0].definisjon.kode, + kode: aksjonspunkter[0].definisjon, frist: moment().add(28, 'days').format(ISO_DATE_FORMAT), ventearsak: null, })); @@ -254,20 +244,18 @@ const mapStateToPropsFactory = (initialState, ownProps) => { Array.isArray(behandlingArsaker) && behandlingArsaker.reduce((result, current) => result || current.erAutomatiskRevurdering, false); const aksjonspunkt = aksjonspunkter[0]; - const ventearsaker = ownProps.alleKodeverk[kodeverkTyper.VENT_AARSAK]; const languageCode = getLanguageCodeFromSprakkode(sprakkode); return state => ({ initialValues: buildInitialValues(state, ownProps), - aksjonspunktStatus: aksjonspunkt.status.kode, + aksjonspunktStatus: aksjonspunkt.status, begrunnelse: aksjonspunkt.begrunnelse, ...behandlingFormValueSelector(formName, behandlingId, behandlingVersjon)(state, 'sendVarsel', 'fritekst', 'frist'), avklartBarn: nullSafe(familiehendelse.register).avklartBarn, termindato: nullSafe(familiehendelse.gjeldende).termindato, vedtaksDatoSomSvangerskapsuke: nullSafe(familiehendelse.gjeldende).vedtaksDatoSomSvangerskapsuke, - behandlingTypeKode: behandlingType.kode, + behandlingTypeKode: behandlingType, languageCode, - ventearsaker, erAutomatiskRevurdering, onSubmit, }); diff --git a/packages/prosess-varsel-om-revurdering/src/propTypes/revurderingAksjonspunkterPropType.jsx b/packages/prosess-varsel-om-revurdering/src/propTypes/revurderingAksjonspunkterPropType.jsx index 55e0acbaf1..8c5988e6d2 100644 --- a/packages/prosess-varsel-om-revurdering/src/propTypes/revurderingAksjonspunkterPropType.jsx +++ b/packages/prosess-varsel-om-revurdering/src/propTypes/revurderingAksjonspunkterPropType.jsx @@ -1,12 +1,9 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const revurderingAksjonspunkterPropType = PropTypes.shape({ - definisjon: kodeverkObjektPropType.isRequired, - status: kodeverkObjektPropType.isRequired, + definisjon: PropTypes.string.isRequired, + status: PropTypes.string.isRequired, begrunnelse: PropTypes.string, }); diff --git a/packages/prosess-varsel-om-revurdering/src/propTypes/revurderingBehandlingPropType.jsx b/packages/prosess-varsel-om-revurdering/src/propTypes/revurderingBehandlingPropType.jsx index 150526b5c9..81282586c5 100644 --- a/packages/prosess-varsel-om-revurdering/src/propTypes/revurderingBehandlingPropType.jsx +++ b/packages/prosess-varsel-om-revurdering/src/propTypes/revurderingBehandlingPropType.jsx @@ -1,17 +1,16 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const revurderingBehandlingPropType = PropTypes.shape({ id: PropTypes.number.isRequired, versjon: PropTypes.number.isRequired, - behandlingArsaker: PropTypes.arrayOf(PropTypes.shape({ - erAutomatiskRevurdering: PropTypes.bool.isRequired, - })), - type: kodeverkObjektPropType.isRequired, - sprakkode: kodeverkObjektPropType.isRequired, + behandlingArsaker: PropTypes.arrayOf( + PropTypes.shape({ + erAutomatiskRevurdering: PropTypes.bool.isRequired, + }), + ), + type: PropTypes.string.isRequired, + sprakkode: PropTypes.string.isRequired, }); export default revurderingBehandlingPropType; diff --git a/packages/prosess-vedtak-klage/src/VedtakKlageProsessIndex.jsx b/packages/prosess-vedtak-klage/src/VedtakKlageProsessIndex.jsx index 8f341c5af5..ddc9377350 100644 --- a/packages/prosess-vedtak-klage/src/VedtakKlageProsessIndex.jsx +++ b/packages/prosess-vedtak-klage/src/VedtakKlageProsessIndex.jsx @@ -25,21 +25,21 @@ const VedtakKlageProsessIndex = ({ submitCallback, previewVedtakCallback, isReadOnly, - alleKodeverk, }) => ( - {klageVurdering ? : null} + {klageVurdering ? ( + + ) : null} ); @@ -50,7 +50,6 @@ VedtakKlageProsessIndex.propTypes = { submitCallback: PropTypes.func.isRequired, previewVedtakCallback: PropTypes.func.isRequired, isReadOnly: PropTypes.bool.isRequired, - alleKodeverk: PropTypes.shape().isRequired, }; export default VedtakKlageProsessIndex; diff --git a/packages/prosess-vedtak-klage/src/VedtakKlageProsessIndex.stories.tsx b/packages/prosess-vedtak-klage/src/VedtakKlageProsessIndex.stories.tsx index 4b6d04306e..8505d3c109 100644 --- a/packages/prosess-vedtak-klage/src/VedtakKlageProsessIndex.stories.tsx +++ b/packages/prosess-vedtak-klage/src/VedtakKlageProsessIndex.stories.tsx @@ -11,9 +11,7 @@ const behandling = { id: 1, versjon: 1, behandlingsresultat: { - type: { - kode: behandlingResultatType.KLAGE_AVVIST, - }, + type: behandlingResultatType.KLAGE_AVVIST, }, behandlingPaaVent: false, }; diff --git a/packages/prosess-vedtak-klage/src/components/VedtakKlageForm.jsx b/packages/prosess-vedtak-klage/src/components/VedtakKlageForm.jsx index c35924da01..10b2ed1b1b 100644 --- a/packages/prosess-vedtak-klage/src/components/VedtakKlageForm.jsx +++ b/packages/prosess-vedtak-klage/src/components/VedtakKlageForm.jsx @@ -2,9 +2,9 @@ import { behandlingForm, behandlingFormValueSelector } from '@fpsak-frontend/for import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import klageVurderingCodes from '@fpsak-frontend/kodeverk/src/klageVurdering'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { AksjonspunktHelpText, FadingPanel, VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkKlageType } from '@k9-sak-web/lib/kodeverk/types.js'; import { BodyShort, Detail, Heading } from '@navikt/ds-react'; import PropTypes from 'prop-types'; import React from 'react'; @@ -42,13 +42,11 @@ export const VedtakKlageFormImpl = ({ behandlingsResultatTekst, klageresultat, behandlingPaaVent, - alleKodeverk, åpneAksjonspunktKoder, ...formProps }) => { const intl = useIntl(); - const kodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); - + const { kodeverkNavnFraKode } = useKodeverkContext(); return ( @@ -75,8 +73,8 @@ export const VedtakKlageFormImpl = ({
{intl.formatMessage({ id: 'VedtakKlageForm.ArsakTilAvvisning' })} {avvistArsaker.map(arsak => ( - - {kodeverknavn(arsak)} + + {kodeverkNavnFraKode(arsak, KodeverkKlageType.KLAGE_AVVIST_AARSAK)} ))} @@ -141,7 +139,7 @@ VedtakKlageFormImpl.propTypes = { behandlingsResultatTekst: PropTypes.string, klageVurdering: PropTypes.shape().isRequired, previewVedtakCallback: PropTypes.func.isRequired, - avvistArsaker: PropTypes.arrayOf(PropTypes.shape()), + avvistArsaker: PropTypes.arrayOf(PropTypes.string), omgjortAarsak: PropTypes.string, fritekstTilBrev: PropTypes.string, behandlingsresultat: PropTypes.shape(), @@ -225,16 +223,14 @@ export const getIsOpphevOgHjemsend = createSelector( const getÅpneAksjonspunktKoder = createSelector([ownProps => ownProps.aksjonspunkter], aksjonspunkter => Array.isArray(aksjonspunkter) - ? aksjonspunkter - .filter(ap => ap.status.kode === aksjonspunktStatus.OPPRETTET && ap.kanLoses) - .map(ap => ap.definisjon.kode) + ? aksjonspunkter.filter(ap => ap.status === aksjonspunktStatus.OPPRETTET && ap.kanLoses).map(ap => ap.definisjon) : [], ); export const getFritekstTilBrev = createSelector([getKlageresultat], klageresultat => klageresultat.fritekstTilBrev); export const buildInitialValues = createSelector([ownProps => ownProps.aksjonspunkter], aksjonspunkter => { - const behandlingAksjonspunktCodes = aksjonspunkter.map(ap => ap.definisjon.kode); + const behandlingAksjonspunktCodes = aksjonspunkter.map(ap => ap.definisjon); return { aksjonspunktKoder: behandlingAksjonspunktCodes, }; diff --git a/packages/prosess-vedtak-klage/src/components/VedtakKlageForm.spec.jsx b/packages/prosess-vedtak-klage/src/components/VedtakKlageForm.spec.jsx index 81658625de..80099e30fe 100644 --- a/packages/prosess-vedtak-klage/src/components/VedtakKlageForm.spec.jsx +++ b/packages/prosess-vedtak-klage/src/components/VedtakKlageForm.spec.jsx @@ -1,8 +1,11 @@ import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; import { screen } from '@testing-library/react'; - +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import alleKodeverkKlageV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkKlageV2.json'; import React from 'react'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import {behandlingType as klageBehandlingstyper} from "@k9-sak-web/backend/k9klage/kodeverk/behandling/BehandlingType.js"; import { intlMock } from '../../i18n'; import messages from '../../i18n/nb_NO.json'; import { VedtakKlageFormImpl, getAvvisningsAarsaker, getIsAvvist, getKlageresultat } from './VedtakKlageForm'; @@ -11,51 +14,41 @@ const KLAGE_OMGJORT_TEKST = 'VedtakKlageForm.KlageOmgjortGunst'; describe('', () => { it('skal vise riktige avvisningsårsaker', () => { - const avvistArsaker = [ - { kode: 'KLAGET_FOR_SENT', kodeverk: 'KLAGE_AVVIST_AARSAK' }, - { kode: 'KLAGER_IKKE_PART', kodeverk: 'KLAGE_AVVIST_AARSAK' }, - ]; + const avvistArsaker = ['KLAGET_FOR_SENT', 'KLAGER_IKKE_PART']; const forhandsvisVedtaksbrevFunc = vi.fn(); const klageVurderingResultatNFP = { klageVurdertAv: 'NAY', klageVurdering: 'AVVIS_KLAGE', }; renderWithIntl( - , + + + , { messages }, ); expect(screen.getByText('Årsak til avvisning')).toBeInTheDocument(); diff --git a/packages/prosess-vedtak-klage/src/propTypes/vedtakKlageBehandlingPropType.jsx b/packages/prosess-vedtak-klage/src/propTypes/vedtakKlageBehandlingPropType.jsx index f552a9bb5d..8e0d9efce3 100644 --- a/packages/prosess-vedtak-klage/src/propTypes/vedtakKlageBehandlingPropType.jsx +++ b/packages/prosess-vedtak-klage/src/propTypes/vedtakKlageBehandlingPropType.jsx @@ -1,14 +1,11 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const vedtakTilbakekrevingBehandlingPropType = PropTypes.shape({ id: PropTypes.number.isRequired, versjon: PropTypes.number.isRequired, behandlingsresultat: PropTypes.shape({ - type: kodeverkObjektPropType.isRequired, + type: PropTypes.string.isRequired, }), behandlingPaaVent: PropTypes.bool.isRequired, }); diff --git a/packages/prosess-vedtak-tilbakekreving/src/VedtakTilbakekrevingProsessIndex.stories.tsx b/packages/prosess-vedtak-tilbakekreving/src/VedtakTilbakekrevingProsessIndex.stories.tsx index 05528d95e4..61da84be8a 100644 --- a/packages/prosess-vedtak-tilbakekreving/src/VedtakTilbakekrevingProsessIndex.stories.tsx +++ b/packages/prosess-vedtak-tilbakekreving/src/VedtakTilbakekrevingProsessIndex.stories.tsx @@ -1,8 +1,6 @@ import { action } from '@storybook/addon-actions'; import React from 'react'; - import aksjonspunktCodesTilbakekreving from '@fpsak-frontend/kodeverk/src/aksjonspunktCodesTilbakekreving'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import aktsomhet from '@fpsak-frontend/prosess-tilbakekreving/src/kodeverk/aktsomhet'; import { Behandling, BeregningsresultatTilbakekreving } from '@k9-sak-web/types'; import VedtakTilbakekrevingProsessIndex from './VedtakTilbakekrevingProsessIndex'; @@ -154,10 +152,7 @@ const beregningsresultat = { tom: '2019-01-01', }, feilutbetaltBeløp: 10000, - vurdering: { - kode: aktsomhet.FORSETT, - kodeverk: 'AKTSOMHET', - }, + vurdering: aktsomhet.FORSETT, // AKTSOMHET andelAvBeløp: 50, renterProsent: 0, tilbakekrevingBeløp: 5000, @@ -169,39 +164,16 @@ const beregningsresultat = { tom: '2019-01-01', }, feilutbetaltBeløp: 1000, - vurdering: { - kode: aktsomhet.FORSETT, - kodeverk: 'AKTSOMHET', - }, + vurdering: aktsomhet.FORSETT, // AKTSOMHET andelAvBeløp: 50, renterProsent: 80, tilbakekrevingBeløp: 500, tilbakekrevingBeløpEtterSkatt: 400, }, ], - vedtakResultatType: { - kode: vedtakResultatType.DELVIS_TILBAKEBETALING, - kodeverk: 'VEDTAK_RESULTAT_TYPE', - }, + vedtakResultatType: vedtakResultatType.DELVIS_TILBAKEBETALING, // 'VEDTAK_RESULTAT_TYPE' } as BeregningsresultatTilbakekreving; -const alleKodeverk = { - [kodeverkTyper.VEDTAK_RESULTAT_TYPE]: [ - { - kode: vedtakResultatType.DELVIS_TILBAKEBETALING, - navn: 'Delvis tilbakebetaling', - kodeverk: 'VEDTAK_RESULTAT_TYPE', - }, - ], - [kodeverkTyper.AKTSOMHET]: [ - { - kode: aktsomhet.FORSETT, - navn: 'Forsett', - kodeverk: 'AKTSOMHET', - }, - ], -}; - export default { title: 'prosess/tilbakekreving/prosess-vedtak-tilbakekreving', component: VedtakTilbakekrevingProsessIndex, @@ -218,7 +190,6 @@ export const visVedtakspanel = args => ( beregningsresultat={beregningsresultat} vedtaksbrev={vedtaksbrev} submitCallback={action('button-click') as () => Promise} - alleKodeverk={alleKodeverk} fetchPreviewVedtaksbrev={action('button-click') as () => Promise} aksjonspunktKodeForeslaVedtak={aksjonspunktCodesTilbakekreving.FORESLA_VEDTAK} {...args} diff --git a/packages/prosess-vedtak-tilbakekreving/src/VedtakTilbakekrevingProsessIndex.tsx b/packages/prosess-vedtak-tilbakekreving/src/VedtakTilbakekrevingProsessIndex.tsx index e389e24c03..725c1b295b 100644 --- a/packages/prosess-vedtak-tilbakekreving/src/VedtakTilbakekrevingProsessIndex.tsx +++ b/packages/prosess-vedtak-tilbakekreving/src/VedtakTilbakekrevingProsessIndex.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; -import { Behandling, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Behandling, BehandlingAppKontekst } from '@k9-sak-web/types'; import behandlingArsakType from '@fpsak-frontend/kodeverk/src/behandlingArsakType'; import TilbakekrevingVedtak from './components/TilbakekrevingVedtak'; import BeregningsresultatTilbakekreving from './types/beregningsresultatTilbakekrevingTsType'; @@ -20,7 +20,8 @@ const intl = createIntl( const tilbakekrevingÅrsakTyperKlage = [behandlingArsakType.RE_KLAGE_KA, behandlingArsakType.RE_KLAGE_NFP]; -const erTilbakekrevingÅrsakKlage = (årsak: any) => årsak && tilbakekrevingÅrsakTyperKlage.includes(årsak.kode); +const erTilbakekrevingÅrsakKlage = (årsak: BehandlingAppKontekst['førsteÅrsak']['behandlingArsakType']) => + årsak && tilbakekrevingÅrsakTyperKlage.includes(årsak); interface OwnProps { behandling: Behandling; @@ -28,7 +29,6 @@ interface OwnProps { vedtaksbrev: Vedtaksbrev; submitCallback: (aksjonspunktData: { kode: string }[]) => Promise; isReadOnly: boolean; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; fetchPreviewVedtaksbrev: (data: any) => Promise; aksjonspunktKodeForeslaVedtak: string; } @@ -39,7 +39,6 @@ const VedtakTilbakekrevingProsessIndex = ({ vedtaksbrev, submitCallback, isReadOnly, - alleKodeverk, fetchPreviewVedtaksbrev, aksjonspunktKodeForeslaVedtak, }: OwnProps) => { @@ -47,7 +46,7 @@ const VedtakTilbakekrevingProsessIndex = ({ behandling.førsteÅrsak && erTilbakekrevingÅrsakKlage(behandling.førsteÅrsak.behandlingArsakType); const erRevurderingTilbakekrevingFeilBeløpBortfalt = behandling.førsteÅrsak && - behandlingArsakType.RE_FEILUTBETALT_BELØP_REDUSERT === behandling.førsteÅrsak?.behandlingArsakType?.kode; + behandlingArsakType.RE_FEILUTBETALT_BELØP_REDUSERT === behandling.førsteÅrsak?.behandlingArsakType; return ( ', () => { { periode: { fom: '2019-10-10', tom: '2019-12-10' }, feilutbetaltBeløp: 15430, - vurdering: { - kode: 'SIMP', - kodeverk: 'VURDERING', - }, + vurdering: 'SIMP', // 'VURDERING' andelAvBeløp: 100, renterProsent: 10, tilbakekrevingBeløp: 15430, @@ -21,10 +21,7 @@ describe('', () => { { periode: { fom: '2019-05-10', tom: '2019-06-10' }, feilutbetaltBeløp: 14000, - vurdering: { - kode: 'SIMP', - kodeverk: 'VURDERING', - }, + vurdering: 'SIMP', // 'VURDERING' andelAvBeløp: 50, tilbakekrevingBeløp: 7000, }, @@ -32,19 +29,25 @@ describe('', () => { it('skal vise vedtakspanel for tilbakekreving', () => { renderWithIntlAndReduxForm( - , + + + , { messages }, ); diff --git a/packages/prosess-vedtak-tilbakekreving/src/components/TilbakekrevingVedtak.tsx b/packages/prosess-vedtak-tilbakekreving/src/components/TilbakekrevingVedtak.tsx index 03e3286308..1faa397353 100644 --- a/packages/prosess-vedtak-tilbakekreving/src/components/TilbakekrevingVedtak.tsx +++ b/packages/prosess-vedtak-tilbakekreving/src/components/TilbakekrevingVedtak.tsx @@ -1,7 +1,6 @@ -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; -import { Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import { BodyShort, Detail, Heading } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage } from 'react-intl'; @@ -13,9 +12,8 @@ import TilbakekrevingVedtakPeriodeTabell from './TilbakekrevingVedtakPeriodeTabe interface OwnProps { submitCallback: (aksjonspunktData: { kode: string }[]) => Promise; readOnly: boolean; - resultat: Kodeverk; + resultat: string; perioder: BeregningResultatPeriode[]; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; behandlingId: number; behandlingUuid: string; behandlingVersjon: number; @@ -31,7 +29,6 @@ const TilbakekrevingVedtak = ({ readOnly, resultat, perioder, - alleKodeverk, behandlingId, behandlingUuid, behandlingVersjon, @@ -41,7 +38,7 @@ const TilbakekrevingVedtak = ({ erRevurderingTilbakekrevingKlage, erRevurderingTilbakekrevingFeilBeløpBortfalt, }: OwnProps) => { - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); + const { kodeverkNavnFraKode } = useKodeverkContext(); return ( <> @@ -51,9 +48,9 @@ const TilbakekrevingVedtak = ({ - {getKodeverknavn(resultat)} + {kodeverkNavnFraKode(resultat, KodeverkType.VEDTAK_RESULTAT_TYPE)} - + ', () => { tom: '2019-12-10', }, feilutbetaltBeløp: 15430, - vurdering: { - kode: 'SIMP', - kodeverk: 'VURDERING', - }, + vurdering: 'SIMPEL_UAKTSOM', // 'VURDERING' andelAvBeløp: 100, renterProsent: 10, tilbakekrevingBeløp: 15430, @@ -29,24 +29,30 @@ describe('', () => { tom: '2019-06-10', }, feilutbetaltBeløp: 14000, - vurdering: { - kode: 'SIMP', - kodeverk: 'VURDERING', - }, + vurdering: 'SIMPEL_UAKTSOM', // 'VURDERING' andelAvBeløp: 50, tilbakekrevingBeløp: 7000, tilbakekrevingBeløpEtterSkatt: 6000, }, ] as BeregningResultatPeriode[]; - const getKodeverknavn = () => 'Simpel uaktsomhet'; - renderWithIntl(, { - messages, - }); + renderWithIntl( + + + , + { + messages, + }, + ); expect(screen.getAllByText((_, element) => element.textContent === '10.10.2019-10.12.2019')[0]).toBeInTheDocument(); expect(screen.getAllByText('15 430').length).toBe(2); - expect(screen.getAllByText('Simpel uaktsomhet').length).toBe(2); + expect(screen.getAllByText('Simpel uaktsom').length).toBe(2); expect(screen.getByText('100%')).toBeInTheDocument(); expect(screen.getByText('10%')).toBeInTheDocument(); expect(screen.getAllByText('15 430').length).toBe(2); @@ -54,7 +60,7 @@ describe('', () => { expect(screen.getAllByText((_, element) => element.textContent === '10.05.2019-10.06.2019')[0]).toBeInTheDocument(); expect(screen.getAllByText('14 000').length).toBe(2); - expect(screen.getAllByText('Simpel uaktsomhet').length).toBe(2); + expect(screen.getAllByText('Simpel uaktsom').length).toBe(2); expect(screen.getByText('50%')).toBeInTheDocument(); expect(screen.getByText('7 000')).toBeInTheDocument(); expect(screen.getByText('6 000')).toBeInTheDocument(); diff --git a/packages/prosess-vedtak-tilbakekreving/src/components/TilbakekrevingVedtakPeriodeTabell.tsx b/packages/prosess-vedtak-tilbakekreving/src/components/TilbakekrevingVedtakPeriodeTabell.tsx index cc61ac7aa6..93c734af33 100644 --- a/packages/prosess-vedtak-tilbakekreving/src/components/TilbakekrevingVedtakPeriodeTabell.tsx +++ b/packages/prosess-vedtak-tilbakekreving/src/components/TilbakekrevingVedtakPeriodeTabell.tsx @@ -1,9 +1,10 @@ import { PeriodLabel } from '@fpsak-frontend/shared-components'; import { formatCurrencyNoKr } from '@fpsak-frontend/utils'; -import { Kodeverk } from '@k9-sak-web/types'; import { BodyShort, Label, Table } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage } from 'react-intl'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import { BeregningResultatPeriode } from '../types/beregningsresultatTilbakekrevingTsType'; import styles from './tilbakekrevingVedtakPeriodeTabell.module.css'; @@ -20,10 +21,10 @@ const headerTextCodes = [ interface OwnProps { perioder: BeregningResultatPeriode[]; - getKodeverknavn: (kodeverk: Kodeverk) => string; } -const TilbakekrevingVedtakPeriodeTabell = ({ perioder, getKodeverknavn }: OwnProps) => { +const TilbakekrevingVedtakPeriodeTabell = ({ perioder }: OwnProps) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); const rader = perioder .map(periode => ( @@ -36,7 +37,7 @@ const TilbakekrevingVedtakPeriodeTabell = ({ perioder, getKodeverknavn }: OwnPro {formatCurrencyNoKr(periode.feilutbetaltBeløp)} - {getKodeverknavn(periode.vurdering)} + {kodeverkNavnFraKode(periode.vurdering, KodeverkType.AKTSOMHET)} diff --git a/packages/prosess-vedtak-tilbakekreving/src/types/beregningsresultatTilbakekrevingTsType.ts b/packages/prosess-vedtak-tilbakekreving/src/types/beregningsresultatTilbakekrevingTsType.ts index 5384254ef5..3de9076ea0 100644 --- a/packages/prosess-vedtak-tilbakekreving/src/types/beregningsresultatTilbakekrevingTsType.ts +++ b/packages/prosess-vedtak-tilbakekreving/src/types/beregningsresultatTilbakekrevingTsType.ts @@ -1,11 +1,9 @@ -import { Kodeverk } from '@k9-sak-web/types'; - export type BeregningResultatPeriode = { periode: { fom: string; tom: string; }; - vurdering: Kodeverk; + vurdering: string; feilutbetaltBeløp: number; andelAvBeløp: number; renterProsent: number; @@ -21,7 +19,7 @@ export type BeregningResultatPeriode = { type BeregningsresultatTilbakekreving = { beregningResultatPerioder: BeregningResultatPeriode[]; - vedtakResultatType: Kodeverk; + vedtakResultatType: string; }; export default BeregningsresultatTilbakekreving; diff --git a/packages/prosess-vedtak/src/VedtakProsessIndex.jsx b/packages/prosess-vedtak/src/VedtakProsessIndex.jsx index 2a07fea5a0..186ac27420 100644 --- a/packages/prosess-vedtak/src/VedtakProsessIndex.jsx +++ b/packages/prosess-vedtak/src/VedtakProsessIndex.jsx @@ -56,7 +56,7 @@ const VedtakProsessIndex = ({ { const aksjonspunkt5085 = { - aksjonspunktType: { kode: 'MANU', kodeverk: 'AKSJONSPUNKT_TYPE' }, + aksjonspunktType: 'MANU', // AKSJONSPUNKT_TYPE begrunnelse: null, besluttersBegrunnelse: null, - definisjon: { - kode: '5085', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '5085', // AKSJONSPUNKT_DEF erAktivt: true, fristTid: null, kanLoses: true, - status: { kode: 'OPPR', kodeverk: 'AKSJONSPUNKT_STATUS' }, + status: 'OPPR', // AKSJONSPUNKT_STATUS toTrinnsBehandling: false, toTrinnsBehandlingGodkjent: null, vilkarType: null, vurderPaNyttArsaker: null, - venteårsak: { kode: '-', kodeverk: 'VENT_AARSAK' }, + venteårsak: '-', // VENT_AARSAK }; return ( - + + }} + vilkar={[]} + medlemskap={{ fom: '2019-01-01' }} + aksjonspunkter={[aksjonspunkt5085]} + previewCallback={action('button-click')} + submitCallback={action('button-click')} + alleKodeverk={alleKodeverk} + {...args} + /> + ); }; diff --git "a/packages/prosess-vedtak/src/components/Avslags\303\245rsakListe.spec.tsx" "b/packages/prosess-vedtak/src/components/Avslags\303\245rsakListe.spec.tsx" index bdb47eda3b..894d007af1 100644 --- "a/packages/prosess-vedtak/src/components/Avslags\303\245rsakListe.spec.tsx" +++ "b/packages/prosess-vedtak/src/components/Avslags\303\245rsakListe.spec.tsx" @@ -1,12 +1,15 @@ import { renderWithIntlAndReduxForm, screen } from '@fpsak-frontend/utils-test/test-utils'; import React from 'react'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import AvslagsårsakListe from './AvslagsårsakListe'; describe('', () => { it('skal rendre avslagspanel og textArea når en har ikke oppfylt søknadsfristvilkår', () => { const vilkar = [ { - vilkarType: { kode: 'FP_VK_23', kodeverk: 'VILKAR_TYPE' }, + vilkarType: 'FP_VK_23', lovReferanse: '§ 9-2 jamfør 8-2', overstyrbar: true, perioder: [ @@ -16,7 +19,7 @@ describe('', () => { antattGodkjentArbeid: 'P0D', antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<0 [0]> = []', }, - vilkarStatus: { kode: 'IKKE_OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + vilkarStatus: 'IKKE_OPPFYLT', // 'VILKAR_UTFALL_TYPE' periode: { fom: '2020-03-16', tom: '2020-03-19' }, begrunnelse: null, }, @@ -26,21 +29,21 @@ describe('', () => { antattGodkjentArbeid: 'P0D', antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<0 [0]> = []', }, - vilkarStatus: { kode: 'IKKE_OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + vilkarStatus: 'IKKE_OPPFYLT', // 'VILKAR_UTFALL_TYPE' periode: { fom: '2020-03-23', tom: '2020-03-26' }, begrunnelse: null, }, ], }, { - vilkarType: { kode: 'FP_VK_2', kodeverk: 'VILKAR_TYPE' }, + vilkarType: 'FP_VK_2', // 'VILKAR_TYPE', lovReferanse: '§ 2', overstyrbar: true, perioder: [ { avslagKode: '1020', merknadParametere: {}, - vilkarStatus: { kode: 'IKKE_OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + vilkarStatus: 'IKKE_OPPFYLT', // 'VILKAR_UTFALL_TYPE' periode: { fom: '2020-03-16', tom: '2020-03-26' }, begrunnelse: null, }, @@ -48,7 +51,17 @@ describe('', () => { }, ]; - renderWithIntlAndReduxForm(); - expect(screen.getAllByText(':')).toHaveLength(2); + renderWithIntlAndReduxForm( + + + , + ); + expect(screen.getAllByText('Opptjeningsvilkåret: Ikke tilstrekkelig opptjening')).toHaveLength(1); + expect(screen.getAllByText('Medlemskapsvilkåret: Søker er ikke medlem')).toHaveLength(1); }); }); diff --git "a/packages/prosess-vedtak/src/components/Avslags\303\245rsakListe.tsx" "b/packages/prosess-vedtak/src/components/Avslags\303\245rsakListe.tsx" index 0ad91a0e56..07b975f646 100644 --- "a/packages/prosess-vedtak/src/components/Avslags\303\245rsakListe.tsx" +++ "b/packages/prosess-vedtak/src/components/Avslags\303\245rsakListe.tsx" @@ -1,5 +1,7 @@ import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; -import { Kodeverk, Vilkar } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { Vilkar } from '@k9-sak-web/types'; import Vilkarperiode from '@k9-sak-web/types/src/vilkarperiode'; import { BodyShort } from '@navikt/ds-react'; import React from 'react'; @@ -15,39 +17,43 @@ const finnUnikeAvslagskoder = (avslåttePerioder: Vilkarperiode[]) => { return unikeAvslagskoder; }; -const visAvslåtteVilkårsperioder = ( - avslåttVilkår: Vilkar, - getKodeverknavn: (kodeverkOjekt: Kodeverk, undertype?: string) => string, -) => { - const avslåttePerioder = avslåttVilkår.perioder.filter( - periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_OPPFYLT, - ); - const avslåttePerioderMedUnikeAvslagskoder = finnUnikeAvslagskoder(avslåttePerioder); - - return avslåttePerioderMedUnikeAvslagskoder.map(avslåttPeriode => ( - - {getKodeverknavn(avslåttVilkår.vilkarType)}:{' '} - {getKodeverknavn({ kode: avslåttPeriode.avslagKode, kodeverk: 'AVSLAGSARSAK' }, avslåttVilkår.vilkarType.kode)} - - )); -}; - interface AvslagsårsakListeProps { vilkar: Vilkar[]; - getKodeverknavn: (kodeverkOjekt: Kodeverk, undertype?: string) => string; } -const AvslagsårsakListe = ({ vilkar, getKodeverknavn }: AvslagsårsakListeProps) => { +const AvslagsårsakListe = ({ vilkar }: AvslagsårsakListeProps) => { + const { kodeverkNavnFraKode, kodeverkNavnFraUndertypeKode } = useKodeverkContext(); + + const visAvslåtteVilkårsperioder = (avslåttVilkår: Vilkar) => { + const avslåttePerioder = avslåttVilkår.perioder.filter( + periode => periode.vilkarStatus === vilkarUtfallType.IKKE_OPPFYLT, + ); + const avslåttePerioderMedUnikeAvslagskoder = finnUnikeAvslagskoder(avslåttePerioder); + + return avslåttePerioderMedUnikeAvslagskoder.map(avslåttPeriode => ( + + {[ + kodeverkNavnFraKode(avslåttVilkår.vilkarType, KodeverkType.VILKAR_TYPE), + ': ', + kodeverkNavnFraUndertypeKode( + avslåttVilkår.vilkarType, + avslåttPeriode.avslagKode || '', + KodeverkType.AVSLAGSARSAK, + ), + ].join('')} + + )); + }; + const avslatteVilkar = vilkar.filter( v => - Array.isArray(v.perioder) && - v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_OPPFYLT), + Array.isArray(v.perioder) && v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_OPPFYLT), ); if (avslatteVilkar.length === 0) { return ; } - return <>{avslatteVilkar.map(avslåttVilkår => visAvslåtteVilkårsperioder(avslåttVilkår, getKodeverknavn))}; + return <>{avslatteVilkar.map(avslåttVilkår => visAvslåtteVilkårsperioder(avslåttVilkår))}; }; export default AvslagsårsakListe; diff --git a/packages/prosess-vedtak/src/components/VedtakAksjonspunktPanel.tsx b/packages/prosess-vedtak/src/components/VedtakAksjonspunktPanel.tsx index a181a10a34..5622834026 100644 --- a/packages/prosess-vedtak/src/components/VedtakAksjonspunktPanel.tsx +++ b/packages/prosess-vedtak/src/components/VedtakAksjonspunktPanel.tsx @@ -1,6 +1,5 @@ import behandlingStatusCode from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; import { HGrid, Heading } from '@navikt/ds-react'; import React from 'react'; import { IntlShape, injectIntl } from 'react-intl'; @@ -18,7 +17,6 @@ interface Props { aksjonspunktKoder: string[]; readOnly: boolean; overlappendeYtelser; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; viseFlereSjekkbokserForBrev: boolean; harVurdertOverlappendeYtelse: boolean; setHarVurdertOverlappendeYtelse: (harVurdertOverlappendeYtelse: boolean) => void; @@ -33,7 +31,6 @@ export const VedtakAksjonspunktPanelImpl: React.FC = ({ aksjonspunktKoder, readOnly, overlappendeYtelser, - alleKodeverk, viseFlereSjekkbokserForBrev, harVurdertOverlappendeYtelse, setHarVurdertOverlappendeYtelse, @@ -55,7 +52,6 @@ export const VedtakAksjonspunktPanelImpl: React.FC = ({ )} {harOverlappendeYtelser && ( { - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); - return ( +}) => ( +
+ + + {intl.formatMessage({ id: findAvslagResultatText(behandlingsresultat.type, ytelseTypeKode) })} + {tilbakekrevingText && `. ${intl.formatMessage({ id: tilbakekrevingText })}`} + + +
-
- ); -}; +
+); VedtakAvslagPanelImpl.propTypes = { intl: PropTypes.shape().isRequired, @@ -46,7 +40,7 @@ VedtakAvslagPanelImpl.propTypes = { behandlingsresultat: PropTypes.shape().isRequired, ytelseTypeKode: PropTypes.string.isRequired, tilbakekrevingText: PropTypes.string, - alleKodeverk: PropTypes.shape().isRequired, + kodeverkNavnFraKode: PropTypes.func.isRequired, }; const mapStateToProps = (state, ownProps) => ({ diff --git a/packages/prosess-vedtak/src/components/VedtakAvslagPanel.spec.jsx b/packages/prosess-vedtak/src/components/VedtakAvslagPanel.spec.jsx index 8c23a34e7d..5c6fe54e27 100644 --- a/packages/prosess-vedtak/src/components/VedtakAvslagPanel.spec.jsx +++ b/packages/prosess-vedtak/src/components/VedtakAvslagPanel.spec.jsx @@ -23,79 +23,42 @@ describe('', () => { aksjonspunkter: [], behandlingPaaVent: false, behandlingHenlagt: false, - sprakkode: { - kode: 'NO', - navn: 'norsk', - }, + sprakkode: 'NO', behandlingsresultat: { id: 1, - type: { - kode: 'test', - navn: 'test', - }, - avslagsarsak: { - kode: '1019', - navn: 'Manglende dokumentasjon', - }, + type: 'test', + avslagsarsak: '1019', avslagsarsakFritekst: null, }, vilkar: [ { - vilkarType: { - kode: vilkarType.MEDLEMSKAPSVILKARET, - navn: 'Medlemskapsvilkåret', - }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, // 'Medlemskapsvilkåret' lovReferanse: '§ 22-13, 2. ledd', perioder: [ { - vilkarStatus: { - kode: vilkarUtfallType.IKKE_OPPFYLT, - navn: 'test', - }, + vilkarStatus: vilkarUtfallType.IKKE_OPPFYLT, }, ], }, ], - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - navn: 'test', - }, - type: { - kode: 'test', - navn: 'test', - }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: 'test', opprettet: '16‎.‎07‎.‎2004‎ ‎17‎:‎35‎:‎21', }; - const sprakkode = { - kode: 'NO', - navn: 'norsk', - }; + const sprakkode = 'NO'; const vilkarUtenSoknadsfrist = [ { - vilkarType: { - kode: vilkarType.MEDLEMSKAPSVILKARET, - navn: 'Medlemskapsvilkåret', - }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, lovReferanse: '§ 22-13, 2. ledd', - perioder: [ - { - vilkarStatus: { - kode: vilkarUtfallType.IKKE_OPPFYLT, - navn: 'test', - }, - }, - ], + perioder: [{ vilkarStatus: vilkarUtfallType.IKKE_OPPFYLT }], }, ]; const behandlingsresultat = { id: 1, - type: { - kode: 'test', - navn: 'test', - }, + type: 'test', }; it('skal rendre avslagspanel for pleiepenger', () => { diff --git a/packages/prosess-vedtak/src/components/VedtakForm.spec.tsx b/packages/prosess-vedtak/src/components/VedtakForm.spec.tsx index fab7864852..fbd867b8e0 100644 --- a/packages/prosess-vedtak/src/components/VedtakForm.spec.tsx +++ b/packages/prosess-vedtak/src/components/VedtakForm.spec.tsx @@ -17,15 +17,13 @@ import dokumentMalType from '@fpsak-frontend/kodeverk/src/dokumentMalType'; import vedtaksbrevtype from '@fpsak-frontend/kodeverk/src/vedtaksbrevtype'; import { TilgjengeligeVedtaksbrev, TilgjengeligeVedtaksbrevMedMaler } from '@fpsak-frontend/utils/src/formidlingUtils'; import { Aksjonspunkt, Personopplysninger } from '@k9-sak-web/types'; + import messages from '../../i18n/nb_NO.json'; import { VedtakForm } from './VedtakForm'; import { InformasjonsbehovVedtaksbrev } from './brev/InformasjonsbehovAutomatiskVedtaksbrev'; describe('', () => { - const sprakkode = { - kode: 'NO', - kodeverk: '', - }; + const sprakkode = 'NO'; const ingenTilgjengeligeVedtaksbrev: TilgjengeligeVedtaksbrev & TilgjengeligeVedtaksbrevMedMaler = { begrunnelse: 'begrunnelse', @@ -45,7 +43,7 @@ describe('', () => { maler: [], }; - const behandlingStatusUtredes = { kode: behandlingStatuser.BEHANDLING_UTREDES }; + const behandlingStatusUtredes = behandlingStatuser.BEHANDLING_UTREDES; // This is an incorrect initialization to satisfy typescript during rewrite from jsx to tsx. Should probably be fixed. const personopplysninger = {} as Personopplysninger; @@ -55,23 +53,14 @@ describe('', () => { mangler: [], }; const aksjonspunktBase: Aksjonspunkt = { - definisjon: { - kodeverk: 'annen ytelse', - kode: aksjonspunktCodes.VURDERE_ANNEN_YTELSE, - }, - status: { - kodeverk: 'Opprettet', - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: aksjonspunktCodes.VURDERE_ANNEN_YTELSE, + status: aksjonspunktStatus.OPPRETTET, toTrinnsBehandling: true, kanLoses: true, erAktivt: true, }; const vedtakVarselBase = { - avslagsarsak: { - kode: '1019', - navn: 'Søkt for sent', - }, + avslagsarsak: '1019', avslagsarsakFritekst: null, id: 0, overskrift: 'overskrift', @@ -93,10 +82,7 @@ describe('', () => { const previewCallback = vi.fn(); const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'test', - }, + type: BehandlingResultatType.INNVILGET, }; renderWithIntlAndReduxForm( @@ -112,10 +98,9 @@ describe('', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={ingenTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -147,21 +132,12 @@ describe('', () => { const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.AVSLATT, - navn: 'test', - }, + type: BehandlingResultatType.AVSLATT, }; const aksjonspunkter: Aksjonspunkt[] = [ { - definisjon: { - kodeverk: 'annen ytelse', - kode: aksjonspunktCodes.VURDERE_ANNEN_YTELSE, - }, - status: { - kodeverk: 'Opprettet', - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: 'annen ytelse', + status: 'Opprettet', kanLoses: true, erAktivt: true, }, @@ -179,10 +155,9 @@ describe('', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={ingenTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -213,10 +188,7 @@ describe('', () => { const previewCallback = vi.fn(); const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'test', - }, + type: BehandlingResultatType.INNVILGET, }; const aksjonspunkter: Aksjonspunkt[] = [aksjonspunktBase]; const vedtakVarsel = { @@ -236,10 +208,9 @@ describe('', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.FORELDREPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={ingenTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -269,15 +240,12 @@ describe('', () => { const previewCallback = vi.fn(); const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'test', - }, + type: BehandlingResultatType.INNVILGET, }; const aksjonspunkter: Aksjonspunkt[] = [aksjonspunktBase]; const vedtakVarsel = { ...vedtakVarselBase, - avslagsarsak: { kode: '1099', navn: 'xoxo' }, + avslagsarsak: '1099', }; renderWithIntlAndReduxForm( null}> @@ -292,10 +260,9 @@ describe('', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={ingenTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -327,10 +294,7 @@ describe('', () => { const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.AVSLATT, - navn: 'test', - }, + type: BehandlingResultatType.AVSLATT, }; const aksjonspunkter: Aksjonspunkt[] = [ { @@ -340,10 +304,7 @@ describe('', () => { ]; const vedtakVarsel = { ...vedtakVarselBase, - avslagsarsak: { - kode: '1019', - navn: 'Manglende dokumentasjon', - }, + avslagsarsak: '1019', }; renderWithIntlAndReduxForm( null}> @@ -358,10 +319,9 @@ describe('', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={ingenTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -393,10 +353,7 @@ describe('', () => { const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'test', - }, + type: BehandlingResultatType.INNVILGET, }; const aksjonspunkter: Aksjonspunkt[] = [ { @@ -413,7 +370,7 @@ describe('', () => { null}> ', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={ingenTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -455,10 +411,7 @@ describe('', () => { const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'test', - }, + type: BehandlingResultatType.INNVILGET, }; const aksjonspunkter: Aksjonspunkt[] = [ { @@ -476,7 +429,7 @@ describe('', () => { null}> ', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={ingenTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -520,10 +472,7 @@ describe('', () => { const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'test', - }, + type: BehandlingResultatType.INNVILGET, }; const aksjonspunkter: Aksjonspunkt[] = [ { @@ -539,7 +488,7 @@ describe('', () => { null}> ', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={ingenTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -580,10 +528,7 @@ describe('', () => { const previewCallback = vi.fn(); const behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'test', - }, + type: BehandlingResultatType.INNVILGET, }; const aksjonspunkter: Aksjonspunkt[] = [ { @@ -625,10 +570,9 @@ describe('', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={alleTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -669,10 +613,9 @@ describe('', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={alleTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -714,10 +657,9 @@ describe('', () => { readOnly sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={alleTilgjengeligeVedtaksbrev} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} @@ -768,10 +710,9 @@ describe('', () => { readOnly={false} sprakkode={sprakkode} ytelseTypeKode={fagsakYtelseType.PLEIEPENGER} - alleKodeverk={{}} personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={{}} - tilbakekrevingvalg={{ videreBehandling: { kode: 'tilbakekrevingskode' } }} + tilbakekrevingvalg={{ videreBehandling: 'tilbakekrevingskode' }} vilkar={[]} tilgjengeligeVedtaksbrev={vedtaksbrevmalerUtenAutomatisk} informasjonsbehovVedtaksbrev={informasjonsbehovVedtaksbrev} diff --git a/packages/prosess-vedtak/src/components/VedtakForm.tsx b/packages/prosess-vedtak/src/components/VedtakForm.tsx index 9db8a4b747..e18d4b4ad6 100644 --- a/packages/prosess-vedtak/src/components/VedtakForm.tsx +++ b/packages/prosess-vedtak/src/components/VedtakForm.tsx @@ -24,10 +24,9 @@ import { dokumentdatatype } from '@k9-sak-web/konstanter'; import { Aksjonspunkt, ArbeidsgiverOpplysningerPerId, - BehandlingStatusType, + Behandling, Behandlingsresultat, Kodeverk, - KodeverkMedNavn, Personopplysninger, Vilkar, } from '@k9-sak-web/types'; @@ -37,6 +36,7 @@ import { Formik, FormikProps } from 'formik'; import React, { useContext, useState } from 'react'; import { IntlShape, injectIntl } from 'react-intl'; import * as Yup from 'yup'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import redusertUtbetalingArsak from '../kodeverk/redusertUtbetalingArsak'; import { fieldnames } from '../konstanter'; import { validerManueltRedigertBrev } from './FritekstRedigering/RedigeringUtils'; @@ -65,22 +65,19 @@ const transformRedusertUtbetalingÅrsaker = formikValues => interface Props { intl: IntlShape; - behandlingStatus: BehandlingStatusType; + behandlingStatus: string; aksjonspunkter: Aksjonspunkt[]; behandlingresultat: Behandlingsresultat; behandlingPaaVent: boolean; previewCallback: (values, aapneINyttVindu) => void; hentFritekstbrevHtmlCallback: () => void; readOnly: boolean; - sprakkode: Kodeverk; + sprakkode: string; ytelseTypeKode: string; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; personopplysninger: Personopplysninger; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; tilbakekrevingvalg: { - videreBehandling: { - kode: string; - }; + videreBehandling: string; }; vilkar: Vilkar[]; tilgjengeligeVedtaksbrev: TilgjengeligeVedtaksbrev & TilgjengeligeVedtaksbrevMedMaler; @@ -88,7 +85,7 @@ interface Props { dokumentdata: DokumentDataType; fritekstdokumenter: UstrukturerteDokumenterType[]; vedtakVarsel: { - avslagsarsak: object; + avslagsarsak: string; avslagsarsakFritekst: string; id: number; overskrift: string; @@ -97,7 +94,7 @@ interface Props { dato: string; }; redusertUtbetalingÅrsaker: string[]; - vedtaksbrev: Kodeverk; + vedtaksbrev: Kodeverk; // TODO: #Kodeverk skal denne være en string? vedtaksdato: string; }; submitCallback: (object: any) => void; @@ -109,7 +106,7 @@ interface Props { bgPeriodeMedAvslagsårsak: object; medlemskapFom: string; erRevurdering: boolean; - behandlingArsaker: object[]; + behandlingArsaker: Behandling['behandlingÅrsaker']; } export const VedtakForm: React.FC = ({ @@ -124,7 +121,6 @@ export const VedtakForm: React.FC = ({ hentFritekstbrevHtmlCallback, sprakkode, ytelseTypeKode, - alleKodeverk, personopplysninger, arbeidsgiverOpplysningerPerId, tilbakekrevingvalg, @@ -145,6 +141,7 @@ export const VedtakForm: React.FC = ({ behandlingArsaker, }) => { const vedtakContext = useContext(VedtakFormContext); + const { kodeverkNavnFraKode } = useKodeverkContext(); const [erSendtInnUtenArsaker, setErSendtInnUtenArsaker] = useState(false); const [errorOnSubmit, setErrorOnSubmit] = useState(''); @@ -180,7 +177,7 @@ export const VedtakForm: React.FC = ({ return aksjonspunkter .filter(ap => ap.kanLoses) .map(aksjonspunkt => ({ - kode: aksjonspunkt.definisjon.kode, + kode: aksjonspunkt.definisjon, overstyrtMottaker: safeJSONParse(values?.[fieldnames.OVERSTYRT_MOTTAKER]), fritekstbrev: values?.[fieldnames.SKAL_BRUKE_OVERSTYRENDE_FRITEKST_BREV] ? { @@ -202,7 +199,7 @@ export const VedtakForm: React.FC = ({ isVedtakSubmission, begrunnelserMedInformasjonsbehov: begrunnelser, redusertUtbetalingÅrsaker: - aksjonspunkt.definisjon.kode === aksjonspunktCodes.FORESLA_VEDTAK_MANUELT + aksjonspunkt.definisjon === aksjonspunktCodes.FORESLA_VEDTAK_MANUELT ? transformRedusertUtbetalingÅrsaker(values) : null, tilgjengeligeVedtaksbrev, @@ -214,7 +211,7 @@ export const VedtakForm: React.FC = ({ .filter(ap => ap.kanLoses) .map(aksjonspunkt => { const tranformedValues = { - kode: aksjonspunkt.definisjon.kode, + kode: aksjonspunkt.definisjon, begrunnelse: values?.[fieldnames.BEGRUNNELSE], overstyrtMottaker: safeJSONParse(values?.[fieldnames.OVERSTYRT_MOTTAKER]), fritekstbrev: { @@ -234,7 +231,7 @@ export const VedtakForm: React.FC = ({ tilgjengeligeVedtaksbrev, redusertUtbetalingÅrsaker: undefined, }; - if (aksjonspunkt.definisjon.kode === aksjonspunktCodes.FORESLA_VEDTAK_MANUELT) { + if (aksjonspunkt.definisjon === aksjonspunktCodes.FORESLA_VEDTAK_MANUELT) { tranformedValues.redusertUtbetalingÅrsaker = transformRedusertUtbetalingÅrsaker(values); } return tranformedValues; @@ -511,11 +508,10 @@ export const VedtakForm: React.FC = ({ )}
ap.definisjon.kode)} + behandlingStatusKode={behandlingStatus} + aksjonspunktKoder={aksjonspunkter.map(ap => ap.definisjon)} readOnly={readOnly} overlappendeYtelser={overlappendeYtelser} - alleKodeverk={alleKodeverk} viseFlereSjekkbokserForBrev={ (kanHaFritekstbrevV1(tilgjengeligeVedtaksbrev) || kanHaManueltFritekstbrev(tilgjengeligeVedtaksbrev)) && kanHindreUtsending(tilgjengeligeVedtaksbrev) @@ -530,26 +526,26 @@ export const VedtakForm: React.FC = ({ )} - {(isInnvilget(behandlingresultat.type.kode) || isDelvisInnvilget(behandlingresultat.type.kode)) && ( + {(isInnvilget(behandlingresultat.type) || isDelvisInnvilget(behandlingresultat.type)) && ( )} - {isAvslag(behandlingresultat.type.kode) && ( + {isAvslag(behandlingresultat.type) && ( )} @@ -560,10 +556,9 @@ export const VedtakForm: React.FC = ({ resultatstruktur={resultatstruktur} tilbakekrevingvalg={tilbakekrevingvalg} simuleringResultat={simuleringResultat} - alleKodeverk={alleKodeverk} resultatstrukturOriginalBehandling={resultatstrukturOriginalBehandling} bgPeriodeMedAvslagsårsak={bgPeriodeMedAvslagsårsak} - behandlingStatusKode={behandlingStatus?.kode} + behandlingStatusKode={behandlingStatus} vilkar={vilkar} aksjonspunkter={aksjonspunkter} sprakkode={sprakkode} @@ -603,7 +598,7 @@ export const VedtakForm: React.FC = ({ /> {!erRevurdering ? ( = ({ erToTrinn ? formikProps.handleSubmit : event => handleErEntrinnSubmit(event, formikProps) } readOnly={readOnly} - behandlingStatusKode={behandlingStatus?.kode} + behandlingStatusKode={behandlingStatus} harRedusertUtbetaling={harRedusertUtbetaling} visFeilmeldingFordiArsakerMangler={() => setErSendtInnUtenArsaker(true)} aksjonspunkter={aksjonspunkter} diff --git a/packages/prosess-vedtak/src/components/VedtakFritekstPanel.jsx b/packages/prosess-vedtak/src/components/VedtakFritekstPanel.jsx index 085fb0b340..a888e12cc4 100644 --- a/packages/prosess-vedtak/src/components/VedtakFritekstPanel.jsx +++ b/packages/prosess-vedtak/src/components/VedtakFritekstPanel.jsx @@ -51,7 +51,7 @@ const VedtakFritekstPanelImpl = ({ VedtakFritekstPanelImpl.propTypes = { begrunnelse: PropTypes.string, begrunnelseFieldName: PropTypes.string, - sprakkode: PropTypes.shape().isRequired, + sprakkode: PropTypes.string.isRequired, readOnly: PropTypes.bool.isRequired, label: PropTypes.string.isRequired, intl: PropTypes.shape(), diff --git a/packages/prosess-vedtak/src/components/VedtakHelper.jsx b/packages/prosess-vedtak/src/components/VedtakHelper.jsx index 4278e6b955..c6ed7621ab 100644 --- a/packages/prosess-vedtak/src/components/VedtakHelper.jsx +++ b/packages/prosess-vedtak/src/components/VedtakHelper.jsx @@ -10,23 +10,26 @@ import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import { isBGAksjonspunktSomGirFritekstfelt } from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import tilbakekrevingVidereBehandling from '@fpsak-frontend/kodeverk/src/tilbakekrevingVidereBehandling'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { TIDENES_ENDE, getKodeverknavnFn } from '@fpsak-frontend/utils'; -import {erFagytelseTypeUtvidetRett} from '@k9-sak-web/behandling-utvidet-rett/src/utils/utvidetRettHjelpfunksjoner'; +import { TIDENES_ENDE } from '@fpsak-frontend/utils'; +import { erFagytelseTypeUtvidetRett } from '@k9-sak-web/behandling-utvidet-rett/src/utils/utvidetRettHjelpfunksjoner'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; const tilbakekrevingMedInntrekk = (tilbakekrevingKode, simuleringResultat) => tilbakekrevingKode === tilbakekrevingVidereBehandling.TILBAKEKR_OPPRETT && (simuleringResultat.simuleringResultat.sumInntrekk || simuleringResultat.simuleringResultatUtenInntrekk); export const findTilbakekrevingText = createSelector( - [ownProps => ownProps.simuleringResultat, ownProps => ownProps.tilbakekrevingvalg, ownProps => ownProps.alleKodeverk], - (simuleringResultat, tilbakekrevingValg, alleKodeverk) => { + [ + ownProps => ownProps.simuleringResultat, + ownProps => ownProps.tilbakekrevingvalg, + ownProps => ownProps.kodeverkNavnFraKode, + ], + (simuleringResultat, tilbakekrevingValg, kodeverkNavnFraKode) => { if (tilbakekrevingValg !== null && tilbakekrevingValg !== undefined) { - if (tilbakekrevingMedInntrekk(tilbakekrevingValg.videreBehandling.kode, simuleringResultat)) { + if (tilbakekrevingMedInntrekk(tilbakekrevingValg.videreBehandling, simuleringResultat)) { return 'VedtakForm.TilbakekrInfotrygdOgInntrekk'; } - const getKodeverkNavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); - return getKodeverkNavn(tilbakekrevingValg.videreBehandling); + return kodeverkNavnFraKode(tilbakekrevingValg.videreBehandling, KodeverkType.TILBAKEKR_VIDERE_BEH); } return null; }, @@ -120,9 +123,9 @@ export const findAvslagResultatText = (behandlingResultatTypeKode, ytelseType) = export const hasIkkeOppfyltSoknadsfristvilkar = vilkar => vilkar.some( v => - v.vilkarType.kode === vilkarType.SOKNADFRISTVILKARET && + v.vilkarType === vilkarType.SOKNADFRISTVILKARET && Array.isArray(v.perioder) && - v.perioder.some(periode => periode.vilkarStatus.kode === vilkarUtfallType.IKKE_OPPFYLT), + v.perioder.some(periode => periode.vilkarStatus === vilkarUtfallType.IKKE_OPPFYLT), ); export const medholdIKlage = klageVurderingResultat => @@ -148,7 +151,7 @@ export const skalSkriveFritekstGrunnetFastsettingAvBeregning = (beregningsgrunnl return false; } const behandlingHarLøstBGAP = aksjonspunkter.find( - ap => isBGAksjonspunktSomGirFritekstfelt(ap.definisjon.kode) && ap.status.kode === aksjonspunktStatus.UTFORT, + ap => isBGAksjonspunktSomGirFritekstfelt(ap.definisjon) && ap.status === aksjonspunktStatus.UTFORT, ); const alleAndelerFørstePerioder = beregningsgrunnlag diff --git a/packages/prosess-vedtak/src/components/VedtakHelper.spec.jsx b/packages/prosess-vedtak/src/components/VedtakHelper.spec.jsx index 98c6cb0378..6da1d8420d 100644 --- a/packages/prosess-vedtak/src/components/VedtakHelper.spec.jsx +++ b/packages/prosess-vedtak/src/components/VedtakHelper.spec.jsx @@ -13,19 +13,9 @@ describe('', () => { it('hasIkkeOppfyltSoknadsfristvilkar skal returnere true når søknadfristvilkår ikkje er oppfylt', () => { const vilkarListe = [ { - vilkarType: { - kode: vilkarType.SOKNADFRISTVILKARET, - navn: 'Medlemskapsvilkåret', - }, + vilkarType: vilkarType.SOKNADFRISTVILKARET, lovReferanse: '§ 22-13, 2. ledd', - perioder: [ - { - vilkarStatus: { - kode: vilkarUtfallType.IKKE_OPPFYLT, - navn: 'test', - }, - }, - ], + perioder: [{ vilkarStatus: vilkarUtfallType.IKKE_OPPFYLT }], }, ]; @@ -83,8 +73,8 @@ describe('', () => { const beregningsgrunnlagListe = [bg1, bg2]; const aksjonspunkt = [ { - definisjon: { kode: aksjonspunktKoder.FASTSETT_BEREGNINGSGRUNNLAG_ARBEIDSTAKER_FRILANS }, - status: { kode: aksjonspunktStatus.UTFORT }, + definisjon: aksjonspunktKoder.FASTSETT_BEREGNINGSGRUNNLAG_ARBEIDSTAKER_FRILANS, + status: aksjonspunktStatus.UTFORT, }, ]; diff --git a/packages/prosess-vedtak/src/components/VedtakInnvilgetPanel.jsx b/packages/prosess-vedtak/src/components/VedtakInnvilgetPanel.jsx index 89b23319f4..f62c81249d 100644 --- a/packages/prosess-vedtak/src/components/VedtakInnvilgetPanel.jsx +++ b/packages/prosess-vedtak/src/components/VedtakInnvilgetPanel.jsx @@ -13,11 +13,11 @@ export const VedtakInnvilgetPanelImpl = ({ intl, behandlingsresultat, ytelseType {intl.formatMessage({ - id: isDelvisInnvilget(behandlingsresultat.type.kode) - ? findDelvisInnvilgetResultatText(behandlingsresultat.type.kode, ytelseTypeKode) - : findInnvilgetResultatText(behandlingsresultat.type.kode, ytelseTypeKode), + id: isDelvisInnvilget(behandlingsresultat.type) + ? findDelvisInnvilgetResultatText(behandlingsresultat.type, ytelseTypeKode) + : findInnvilgetResultatText(behandlingsresultat.type, ytelseTypeKode), })} - {tilbakekrevingText && `. ${intl.formatMessage({ id: tilbakekrevingText })}`} + {tilbakekrevingText && `. ${tilbakekrevingText}`} diff --git a/packages/prosess-vedtak/src/components/VedtakInnvilgetPanel.spec.jsx b/packages/prosess-vedtak/src/components/VedtakInnvilgetPanel.spec.jsx index 472efa0454..e896f9e515 100644 --- a/packages/prosess-vedtak/src/components/VedtakInnvilgetPanel.spec.jsx +++ b/packages/prosess-vedtak/src/components/VedtakInnvilgetPanel.spec.jsx @@ -10,9 +10,7 @@ import { VedtakInnvilgetPanelImpl } from './VedtakInnvilgetPanel'; const foreldrepenger = fagsakYtelseType.FORELDREPENGER; const behandlingsresultat = { - type: { - kode: 'INNVILGET', - }, + type: 'INNVILGET', }; describe('', () => { diff --git a/packages/prosess-vedtak/src/components/VedtakOverlappendeYtelsePanel.tsx b/packages/prosess-vedtak/src/components/VedtakOverlappendeYtelsePanel.tsx index f1d6bd164b..a61caf1ac1 100644 --- a/packages/prosess-vedtak/src/components/VedtakOverlappendeYtelsePanel.tsx +++ b/packages/prosess-vedtak/src/components/VedtakOverlappendeYtelsePanel.tsx @@ -2,41 +2,49 @@ import { BorderBox, VerticalSpacer } from '@fpsak-frontend/shared-components'; import Tidslinje from '@fpsak-frontend/tidslinje/src/components/pleiepenger/Tidslinje'; import Periode from '@fpsak-frontend/tidslinje/src/components/pleiepenger/types/Periode'; import TidslinjeRad from '@fpsak-frontend/tidslinje/src/components/pleiepenger/types/TidslinjeRad'; -import { KodeverkMedNavn, OverlappendePeriode } from '@k9-sak-web/types'; +import { OverlappendePeriode } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { Accordion, Alert, BodyLong, Checkbox, CheckboxGroup, Heading, Tag } from '@navikt/ds-react'; import { useFormikContext } from 'formik'; import React from 'react'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { KodeverkObject } from '@k9-sak-web/lib/kodeverk/types/KodeverkV2.js'; import { WrappedComponentProps, injectIntl } from 'react-intl'; import { sorterOverlappendeRader } from '../utils/periodeUtils'; import styles from './VedtakOverlappendeYtelsePanel.module.css'; interface Props { overlappendeYtelser: any; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; harVurdertOverlappendeYtelse: boolean; setHarVurdertOverlappendeYtelse: (harVurdertOverlappendeYtelse: boolean) => void; } const VedtakOverlappendeYtelsePanel: React.FC = ({ overlappendeYtelser, - alleKodeverk, intl, harVurdertOverlappendeYtelse, setHarVurdertOverlappendeYtelse, }) => { + const { hentKodeverkForKode } = useKodeverkContext(); const [valgtPeriode, setValgtPeriode] = React.useState | null>(null); const { submitCount } = useFormikContext(); const utledYtelseType = (ytelseTypeKode: string) => { - if (alleKodeverk.FagsakYtelseType && alleKodeverk.FagsakYtelseType.length > 0) { - return alleKodeverk.FagsakYtelseType.find(ytelseType => ytelseType.kode === ytelseTypeKode).navn; + const fagsakYtelseTyper = hentKodeverkForKode(KodeverkType.FAGSAK_YTELSE); + if (fagsakYtelseTyper && Array.isArray(fagsakYtelseTyper) && fagsakYtelseTyper.length > 0) { + const fagsakYtelseType = fagsakYtelseTyper.find( + (ytelseType: KodeverkObject) => ytelseType.kode === ytelseTypeKode, + ); + return typeof fagsakYtelseType !== 'string' ? fagsakYtelseType.navn : ytelseTypeKode; } return ytelseTypeKode; }; const utledFagSystem = (fagSystemKode: string) => { - if (alleKodeverk.Fagsystem && alleKodeverk.Fagsystem.length > 0) { - return alleKodeverk.Fagsystem.find(system => system.kode === fagSystemKode).navn; + const fagSystemer = hentKodeverkForKode(KodeverkType.FAGSYSTEM); + if (fagSystemer && Array.isArray(fagSystemer) && fagSystemer.length > 0) { + const fagSystem = fagSystemer.find((system: KodeverkObject) => system.kode === fagSystemKode); + return typeof fagSystem !== 'string' ? fagSystem.navn : fagSystemKode; } return fagSystemKode; }; @@ -113,11 +121,11 @@ const VedtakOverlappendeYtelsePanel: React.FC = (
{intl.formatMessage({ id: 'VedtakForm.OverlappendeYtelserKilde' })} - {utledFagSystem(valgtPeriode.periodeinfo.kilde.kode)} + {utledFagSystem(valgtPeriode.periodeinfo.kilde)} {intl.formatMessage({ id: 'VedtakForm.OverlappendeYtelserYtelse' })} - {utledYtelseType(valgtPeriode.periodeinfo.ytelseType.kode)} + {utledYtelseType(valgtPeriode.periodeinfo.ytelseType)} {intl.formatMessage({ id: 'VedtakForm.OverlappendeYtelserPeriode' })} diff --git a/packages/prosess-vedtak/src/components/VedtakPanels.jsx b/packages/prosess-vedtak/src/components/VedtakPanels.jsx index 73042ad26f..6082c10a6c 100644 --- a/packages/prosess-vedtak/src/components/VedtakPanels.jsx +++ b/packages/prosess-vedtak/src/components/VedtakPanels.jsx @@ -9,7 +9,6 @@ import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; import vedtakAksjonspunkterPropType from '../propTypes/vedtakAksjonspunkterPropType'; import vedtakBeregningsgrunnlagPropType from '../propTypes/vedtakBeregningsgrunnlagPropType'; @@ -74,18 +73,18 @@ const VedtakPanels = ({ const skalViseSjekkTilbakekreving = !!aksjonspunkter.find( ap => - ap.definisjon.kode === aksjonspunktCodes.SJEKK_TILBAKEKREVING && + ap.definisjon === aksjonspunktCodes.SJEKK_TILBAKEKREVING && ap.erAktivt && ap.kanLoses && - ap.status.kode === aksjonspunktStatus.OPPRETTET, + ap.status === aksjonspunktStatus.OPPRETTET, ); const skalKunneRedigereSjekkTilbakekreving = !!aksjonspunkter.find( ap => - ap.definisjon.kode === aksjonspunktCodes.SJEKK_TILBAKEKREVING && + ap.definisjon === aksjonspunktCodes.SJEKK_TILBAKEKREVING && ap.erAktivt && ap.kanLoses && - ap.status.kode === aksjonspunktStatus.UTFORT, + ap.status === aksjonspunktStatus.UTFORT, ); if (skalViseSjekkTilbakekreving || redigerSjekkTilbakekreving) @@ -152,8 +151,8 @@ VedtakPanels.propTypes = { behandlingId: PropTypes.number.isRequired, behandlingVersjon: PropTypes.number.isRequired, behandlingresultat: PropTypes.shape().isRequired, - sprakkode: kodeverkObjektPropType.isRequired, - behandlingStatus: kodeverkObjektPropType.isRequired, + sprakkode: PropTypes.string.isRequired, + behandlingStatus: PropTypes.string.isRequired, behandlingPaaVent: PropTypes.bool.isRequired, behandlingArsaker: PropTypes.arrayOf(PropTypes.shape()).isRequired, tilbakekrevingvalg: PropTypes.shape(), diff --git a/packages/prosess-vedtak/src/components/VedtakSjekkTilbakekreving.spec.tsx b/packages/prosess-vedtak/src/components/VedtakSjekkTilbakekreving.spec.tsx index 3ed64c381d..63455f4658 100644 --- a/packages/prosess-vedtak/src/components/VedtakSjekkTilbakekreving.spec.tsx +++ b/packages/prosess-vedtak/src/components/VedtakSjekkTilbakekreving.spec.tsx @@ -16,57 +16,36 @@ import { ProsessStegContainer } from '@k9-sak-web/behandling-felles'; const behandling = { id: 1, versjon: 1, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - kodeverk: '', - }, - sprakkode: { - kode: 'NO', - kodeverk: '', - }, + type: behandlingType.FORSTEGANGSSOKNAD, + status: behandlingStatus.BEHANDLING_UTREDES, + sprakkode: 'NO', behandlingsresultat: { vedtaksbrev: { + // #kodeverk: usikker på denne må sjekke med formidling kode: 'FRITEKST', kodeverk: '', }, - type: { - kode: behandlingResultatType.IKKE_FASTSATT, - kodeverk: '', - }, + type: behandlingResultatType.IKKE_FASTSATT, }, behandlingHenlagt: false, behandlingPaaVent: false, - behandlingÅrsaker: [ - { - behandlingArsakType: { - kode: klageBehandlingArsakType.ETTER_KLAGE, - kodeverk: '', - }, - }, - ], + behandlingÅrsaker: [{ behandlingArsakType: klageBehandlingArsakType.ETTER_KLAGE }], }; const aksjonspunkt5085 = { - aksjonspunktType: { kode: 'MANU', kodeverk: 'AKSJONSPUNKT_TYPE' }, + aksjonspunktType: 'MANU', begrunnelse: null, besluttersBegrunnelse: null, - definisjon: { - kode: '5085', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '5085', erAktivt: true, fristTid: null, kanLoses: true, - status: { kode: 'OPPR', kodeverk: 'AKSJONSPUNKT_STATUS' }, + status: 'OPPR', toTrinnsBehandling: false, toTrinnsBehandlingGodkjent: null, vilkarType: null, vurderPaNyttArsaker: null, - venteårsak: { kode: '-', kodeverk: 'VENT_AARSAK' }, + venteårsak: '-', }; const alleKodeverk = {}; @@ -80,17 +59,12 @@ describe('', () => { ', () => { ', () => { medlemskap={{ fom: '2019-01-01' }} aksjonspunkter={[ { - definisjon: { - kode: aksjonspunktCodes.FORESLA_VEDTAK, - kodeverk: '', - }, + definisjon: aksjonspunktCodes.FORESLA_VEDTAK, begrunnelse: undefined, kanLoses: true, erAktivt: true, diff --git a/packages/prosess-vedtak/src/components/brev/BrevPanel.spec.jsx b/packages/prosess-vedtak/src/components/brev/BrevPanel.spec.jsx index b4aab706ed..58bac3e0d8 100644 --- a/packages/prosess-vedtak/src/components/brev/BrevPanel.spec.jsx +++ b/packages/prosess-vedtak/src/components/brev/BrevPanel.spec.jsx @@ -31,7 +31,7 @@ describe('', () => { ', () => { ', () => { ', () => { ', () => { { if (!type) { return true; } - return type.kode !== 'ENDRING_I_FORDELING_AV_YTELSEN' && type.kode !== 'INGEN_ENDRING'; + return type !== 'ENDRING_I_FORDELING_AV_YTELSEN' && type !== 'INGEN_ENDRING'; }; export const manuellBrevPreview = ({ @@ -140,7 +140,7 @@ const getHentHtmlMalCallback = interface BrevPanelProps { intl: IntlShape; readOnly: boolean; - sprakkode: Kodeverk; + sprakkode: string; personopplysninger: Personopplysninger; arbeidsgiverOpplysningerPerId: ArbeidsgiverOpplysningerPerId; tilgjengeligeVedtaksbrev: TilgjengeligeVedtaksbrev; diff --git a/packages/prosess-vedtak/src/components/brev/InformasjonsbehovAutomatiskVedtaksbrev.tsx b/packages/prosess-vedtak/src/components/brev/InformasjonsbehovAutomatiskVedtaksbrev.tsx index 3cfcde2a6d..1a21b2daf3 100644 --- a/packages/prosess-vedtak/src/components/brev/InformasjonsbehovAutomatiskVedtaksbrev.tsx +++ b/packages/prosess-vedtak/src/components/brev/InformasjonsbehovAutomatiskVedtaksbrev.tsx @@ -1,5 +1,4 @@ import { CheckboxGroupFormik } from '@fpsak-frontend/form'; -import { Kodeverk } from '@k9-sak-web/types'; import { Alert, Heading } from '@navikt/ds-react'; import { useFormikContext } from 'formik'; import React from 'react'; @@ -15,7 +14,7 @@ export interface InformasjonsbehovVedtaksbrev { interface Props { intl: IntlShape; - sprakkode: Kodeverk; + sprakkode: string; readOnly: boolean; begrunnelse: string; informasjonsbehovVedtaksbrev: InformasjonsbehovVedtaksbrev; diff --git a/packages/prosess-vedtak/src/components/revurdering/RevurderingPaneler.tsx b/packages/prosess-vedtak/src/components/revurdering/RevurderingPaneler.tsx index b61d4303dc..ed11bb43e1 100644 --- a/packages/prosess-vedtak/src/components/revurdering/RevurderingPaneler.tsx +++ b/packages/prosess-vedtak/src/components/revurdering/RevurderingPaneler.tsx @@ -4,54 +4,29 @@ import { useIntl } from 'react-intl'; import BehandlingArsakType from '@fpsak-frontend/kodeverk/src/behandlingArsakType'; import { isAvslag, isInnvilget, isOpphor } from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; -import { Aksjonspunkt, Kodeverk, KodeverkMedNavn, Vilkar } from '@k9-sak-web/types'; +import { Aksjonspunkt, Behandling, Vilkar } from '@k9-sak-web/types'; import { HGrid } from '@navikt/ds-react'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import VedtakAvslagRevurderingPanel from './VedtakAvslagRevurderingPanel'; import VedtakInnvilgetRevurderingPanel from './VedtakInnvilgetRevurderingPanel'; import VedtakOpphorRevurderingPanel from './VedtakOpphorRevurderingPanel'; import VedtakRedusertUtbetalingArsaker from './VedtakRedusertUtbetalingArsaker'; -const createAarsakString = (revurderingAarsaker, getKodeverknavn) => { - if (revurderingAarsaker === undefined || revurderingAarsaker.length < 1) { - return ''; - } - const aarsakTekstList = []; - const endringFraBrukerAarsak = revurderingAarsaker.find( - aarsak => aarsak.kode === BehandlingArsakType.RE_ENDRING_FRA_BRUKER, - ); - const alleAndreAarsakerNavn = revurderingAarsaker - .filter(aarsak => aarsak.kode !== BehandlingArsakType.RE_ENDRING_FRA_BRUKER) - .map(aarsak => getKodeverknavn(aarsak)); - // Dersom en av årsakene er "RE_ENDRING_FRA_BRUKER" skal alltid denne vises først - if (endringFraBrukerAarsak) { - aarsakTekstList.push(getKodeverknavn(endringFraBrukerAarsak)); - } - aarsakTekstList.push(...alleAndreAarsakerNavn); - return aarsakTekstList.join(', '); -}; interface OwnProps { ytelseTypeKode: string; - behandlingresultat: { - type: { - kode: string; - }; - }; + behandlingresultat: { type: string }; resultatstruktur: string; tilbakekrevingvalg: { - videreBehandling: { - kode: string; - }; + videreBehandling: string; }; simuleringResultat: any; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; resultatstrukturOriginalBehandling: any; bgPeriodeMedAvslagsårsak: any; behandlingStatusKode: string; vilkar: Vilkar[]; aksjonspunkter: Aksjonspunkt[]; - sprakkode: Kodeverk; + sprakkode: string; readOnly: boolean; vedtakVarsel: any; medlemskapFom: string; @@ -59,7 +34,7 @@ interface OwnProps { redusertUtbetalingArsak: string[]; formikValues: any; erSendtInnUtenArsaker: boolean; - behandlingArsaker: any; + behandlingArsaker: Behandling['behandlingÅrsaker']; } const RevurderingPaneler = ({ @@ -68,7 +43,6 @@ const RevurderingPaneler = ({ resultatstruktur, tilbakekrevingvalg, simuleringResultat, - alleKodeverk, resultatstrukturOriginalBehandling, bgPeriodeMedAvslagsårsak, behandlingStatusKode, @@ -85,17 +59,36 @@ const RevurderingPaneler = ({ behandlingArsaker, }: OwnProps): JSX.Element => { const intl = useIntl(); + const { kodeverkNavnFraKode } = useKodeverkContext(); + + const createAarsakString = (revurderingAarsaker: string[]) => { + if (revurderingAarsaker === undefined || revurderingAarsaker.length < 1) { + return ''; + } + const aarsakTekstList = []; + const endringFraBrukerAarsak = revurderingAarsaker.find( + aarsak => aarsak === BehandlingArsakType.RE_ENDRING_FRA_BRUKER, + ); + const alleAndreAarsakerNavn = revurderingAarsaker + .filter(aarsak => aarsak !== BehandlingArsakType.RE_ENDRING_FRA_BRUKER) + .map(aarsak => kodeverkNavnFraKode(aarsak, KodeverkType.BEHANDLING_AARSAK)); + // Dersom en av årsakene er "RE_ENDRING_FRA_BRUKER" skal alltid denne vises først + if (endringFraBrukerAarsak) { + aarsakTekstList.push(kodeverkNavnFraKode(endringFraBrukerAarsak, KodeverkType.BEHANDLING_AARSAK)); + } + aarsakTekstList.push(...alleAndreAarsakerNavn); + return aarsakTekstList.join(', '); + }; const behandlingArsakstyper = behandlingArsaker && behandlingArsaker.map(({ behandlingArsakType }) => behandlingArsakType); - const revurderingsAarsakString = createAarsakString( - behandlingArsakstyper, - getKodeverknavnFn(alleKodeverk, kodeverkTyper), - ); + + const revurderingsAarsakString = createAarsakString(behandlingArsakstyper); + return (
- {isInnvilget(behandlingresultat.type.kode) && ( + {isInnvilget(behandlingresultat.type) && ( )} - {isAvslag(behandlingresultat.type.kode) && ( + {isAvslag(behandlingresultat.type) && ( )} - {isOpphor(behandlingresultat.type.kode) && ( + {isOpphor(behandlingresultat.type) && ( { - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); - return ( +}) => ( +
+ + {(ytelseTypeKode === fagsakYtelseType.FRISINN || ytelseTypeKode === fagsakYtelseType.OMSORGSPENGER) && ( + + {intl.formatMessage({ id: findAvslagResultatText(undefined, ytelseTypeKode) })} + {tilbakekrevingText && `. ${intl.formatMessage({ id: tilbakekrevingText })}`} + + )} + {ytelseTypeKode !== fagsakYtelseType.FRISINN && ytelseTypeKode !== fagsakYtelseType.OMSORGSPENGER && ( + + {intl.formatMessage({ id: resultText(beregningResultat, originaltBeregningResultat) })} + {tilbakekrevingText && `. ${intl.formatMessage({ id: tilbakekrevingText })}`} + + )}
+ - {(ytelseTypeKode === fagsakYtelseType.FRISINN || ytelseTypeKode === fagsakYtelseType.OMSORGSPENGER) && ( - - {intl.formatMessage({ id: findAvslagResultatText(undefined, ytelseTypeKode) })} - {tilbakekrevingText && `. ${intl.formatMessage({ id: tilbakekrevingText })}`} - - )} - {ytelseTypeKode !== fagsakYtelseType.FRISINN && ytelseTypeKode !== fagsakYtelseType.OMSORGSPENGER && ( - - {intl.formatMessage({ id: resultText(beregningResultat, originaltBeregningResultat) })} - {tilbakekrevingText && `. ${intl.formatMessage({ id: tilbakekrevingText })}`} - - )} -
- - - - -
+
- ); -}; + +
+); VedtakAvslagRevurderingPanelImpl.propTypes = { intl: PropTypes.shape().isRequired, @@ -79,7 +73,6 @@ VedtakAvslagRevurderingPanelImpl.propTypes = { vilkar: PropTypes.arrayOf(PropTypes.shape()).isRequired, originaltBeregningResultat: PropTypes.shape(), tilbakekrevingText: PropTypes.string, - alleKodeverk: PropTypes.shape().isRequired, ytelseTypeKode: PropTypes.string.isRequired, }; diff --git a/packages/prosess-vedtak/src/components/revurdering/VedtakInnvilgetRevurderingPanel.jsx b/packages/prosess-vedtak/src/components/revurdering/VedtakInnvilgetRevurderingPanel.jsx index 4c36da8027..7f3decd092 100644 --- a/packages/prosess-vedtak/src/components/revurdering/VedtakInnvilgetRevurderingPanel.jsx +++ b/packages/prosess-vedtak/src/components/revurdering/VedtakInnvilgetRevurderingPanel.jsx @@ -1,14 +1,15 @@ import avslagsarsakCodes from '@fpsak-frontend/kodeverk/src/avslagsarsakCodes'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { DDMMYYYY_DATE_FORMAT, getKodeverknavnFn } from '@fpsak-frontend/utils'; +import { DDMMYYYY_DATE_FORMAT } from '@fpsak-frontend/utils'; import { BodyShort, Label } from '@navikt/ds-react'; import moment from 'moment'; import PropTypes from 'prop-types'; import React from 'react'; import { FormattedMessage, injectIntl } from 'react-intl'; import { connect } from 'react-redux'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import { findTilbakekrevingText } from '../VedtakHelper'; const mapFraAvslagskodeTilTekst = kode => { @@ -26,11 +27,15 @@ const mapFraAvslagskodeTilTekst = kode => { } }; -export const lagKonsekvensForYtelsenTekst = (konsekvenser, getKodeverknavn) => { +/* + * Denne bruker behandlingsresultat.type som i tidligere kodeverk hadde flere attributer bakt inn. Dette skal skrives bort + * så type blir en string som andre kodeverk + */ +export const lagKonsekvensForYtelsenTekst = (konsekvenser, kodeverkNavnFraKode) => { if (!konsekvenser || konsekvenser.length < 1) { return ''; } - return konsekvenser.map(k => getKodeverknavn(k)).join(' og '); + return konsekvenser.map(k => kodeverkNavnFraKode(k, KodeverkType.KONSEKVENS_FOR_YTELSEN)).join(' og '); }; const lagPeriodevisning = periodeMedÅrsak => { @@ -47,11 +52,11 @@ export const VedtakInnvilgetRevurderingPanelImpl = ({ intl, ytelseTypeKode, konsekvenserForYtelsen, - tilbakekrevingText = null, - alleKodeverk, + tilbakekrevingText, bgPeriodeMedAvslagsårsak, }) => { - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); + const { kodeverkNavnFraKode } = useKodeverkContext(); + return ( // eslint-disable-next-line react/jsx-no-useless-fragment <> @@ -63,8 +68,10 @@ export const VedtakInnvilgetRevurderingPanelImpl = ({ {intl.formatMessage({ id: 'VedtakForm.Resultat' })} - {lagKonsekvensForYtelsenTekst(konsekvenserForYtelsen, getKodeverknavn)} - {lagKonsekvensForYtelsenTekst(konsekvenserForYtelsen, getKodeverknavn) !== '' && tilbakekrevingText && '. '} + {lagKonsekvensForYtelsenTekst(konsekvenserForYtelsen, kodeverkNavnFraKode)} + {lagKonsekvensForYtelsenTekst(konsekvenserForYtelsen, kodeverkNavnFraKode) !== '' && + tilbakekrevingText && + '. '} {tilbakekrevingText && intl.formatMessage({ id: tilbakekrevingText, @@ -85,12 +92,11 @@ VedtakInnvilgetRevurderingPanelImpl.propTypes = { ytelseTypeKode: PropTypes.string.isRequired, konsekvenserForYtelsen: PropTypes.arrayOf(PropTypes.shape()), tilbakekrevingText: PropTypes.string, - alleKodeverk: PropTypes.shape().isRequired, bgPeriodeMedAvslagsårsak: PropTypes.shape(), }; const mapStateToProps = (state, ownProps) => ({ - konsekvenserForYtelsen: ownProps.behandlingsresultat !== undefined ? [ownProps.behandlingsresultat.type] : undefined, + konsekvenserForYtelsen: ownProps.behandlingsresultat !== undefined ? [ownProps.behandlingsresultat] : undefined, tilbakekrevingText: findTilbakekrevingText(ownProps), }); diff --git a/packages/prosess-vedtak/src/components/revurdering/VedtakInnvilgetRevurderingPanel.spec.jsx b/packages/prosess-vedtak/src/components/revurdering/VedtakInnvilgetRevurderingPanel.spec.jsx index 40081f4113..ed4f4b9e0b 100644 --- a/packages/prosess-vedtak/src/components/revurdering/VedtakInnvilgetRevurderingPanel.spec.jsx +++ b/packages/prosess-vedtak/src/components/revurdering/VedtakInnvilgetRevurderingPanel.spec.jsx @@ -1,10 +1,10 @@ import { lagKonsekvensForYtelsenTekst } from './VedtakInnvilgetRevurderingPanel'; -const getKodeverknavn = kodeverk => { - if (kodeverk.kode === 'BEREGNING') { +const kodeverkNavnFraKode = kode => { + if (kode === 'BEREGNING') { return 'Endring i beregning'; } - if (kodeverk.kode === 'UTTAK') { + if (kode === 'UTTAK') { return 'Endring i uttak'; } return ''; @@ -12,15 +12,8 @@ const getKodeverknavn = kodeverk => { describe('', () => { it('skal lage korrekt tekst for konsekvens for ytelsen', () => { - const konsekvenser = [ - { - kode: 'BEREGNING', - }, - { - kode: 'UTTAK', - }, - ]; - const selectorData = lagKonsekvensForYtelsenTekst(konsekvenser, getKodeverknavn); + const konsekvenser = ['BEREGNING', 'UTTAK']; + const selectorData = lagKonsekvensForYtelsenTekst(konsekvenser, kodeverkNavnFraKode); expect(selectorData).toBe('Endring i beregning og Endring i uttak'); }); }); diff --git a/packages/prosess-vedtak/src/components/revurdering/VedtakOpphorRevurderingPanel.spec.jsx b/packages/prosess-vedtak/src/components/revurdering/VedtakOpphorRevurderingPanel.spec.jsx index 0aae0279c1..d0cb49e7c4 100644 --- a/packages/prosess-vedtak/src/components/revurdering/VedtakOpphorRevurderingPanel.spec.jsx +++ b/packages/prosess-vedtak/src/components/revurdering/VedtakOpphorRevurderingPanel.spec.jsx @@ -13,27 +13,15 @@ describe('', () => { it('skal rendre opphørpanel med avslagsårsak', () => { const vilkar = [ { - vilkarType: { - kode: vilkarType.MEDLEMSKAPSVILKARET, - navn: 'Medlemskapsvilkåret', - }, - vilkarStatus: { - kode: vilkarUtfallType.IKKE_OPPFYLT, - navn: 'test', - }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, + vilkarStatus: vilkarUtfallType.IKKE_OPPFYLT, lovReferanse: '§ 22-13, 2. ledd', }, ]; const behandlingsresultat = { id: 1, - type: { - kode: 'test', - navn: 'test', - }, - avslagsarsak: { - kode: '1019', - navn: 'Manglende dokumentasjon', - }, + type: 'test', + avslagsarsak: '1019', avslagsarsakFritekst: null, }; renderWithIntl( @@ -56,27 +44,15 @@ describe('', () => { it('skal rendre opphørpanel med avslagsårsak før svangerskapspenger', () => { const vilkar = [ { - vilkarType: { - kode: vilkarType.MEDLEMSKAPSVILKARET, - navn: 'Medlemskapsvilkåret', - }, - vilkarStatus: { - kode: vilkarUtfallType.IKKE_OPPFYLT, - navn: 'test', - }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, + vilkarStatus: vilkarUtfallType.IKKE_OPPFYLT, lovReferanse: '§ 22-13, 2. ledd', }, ]; const behandlingsresultat = { id: 1, - type: { - kode: 'test', - navn: 'test', - }, - avslagsarsak: { - kode: '1019', - navn: 'Manglende dokumentasjon', - }, + type: 'test', + avslagsarsak: '1019', avslagsarsakFritekst: null, }; renderWithIntl( diff --git a/packages/prosess-vedtak/src/components/revurdering/VedtakRevurderingForm.spec.jsx b/packages/prosess-vedtak/src/components/revurdering/VedtakRevurderingForm.spec.jsx index a7241dae65..05a1769b9d 100644 --- a/packages/prosess-vedtak/src/components/revurdering/VedtakRevurderingForm.spec.jsx +++ b/packages/prosess-vedtak/src/components/revurdering/VedtakRevurderingForm.spec.jsx @@ -1,6 +1,5 @@ import React from 'react'; -import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import BehandlingResultatType from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; @@ -18,33 +17,15 @@ const createBehandling = (behandlingResultatType, behandlingHenlagt) => ({ aksjonspunkter: [], behandlingPaaVent: false, behandlingHenlagt, - sprakkode: { - kode: 'NO', - kodeverk: '', - }, + sprakkode: 'NO', behandlingsresultat: { id: 1, - type: { - kode: behandlingResultatType, - navn: 'test', - }, - avslagsarsak: - behandlingResultatType === BehandlingResultatType.AVSLATT - ? { - kode: '1019', - navn: 'Manglende dokumentasjon', - } - : null, + type: behandlingResultatType, + avslagsarsak: behandlingResultatType === BehandlingResultatType.AVSLATT ? '1019' : null, avslagsarsakFritekst: null, }, - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - navn: 'test', - }, - type: { - kode: 'test', - navn: 'test', - }, + status: behandlingStatus.BEHANDLING_UTREDES, + type: 'test', opprettet: '16‎.‎07‎.‎2004‎ ‎17‎:‎35‎:‎21', }); @@ -64,21 +45,12 @@ describe('', () => { const previewCallback = vi.fn(); const revurdering = createBehandlingAvslag(); - revurdering.type = { - kode: 'BT-004', - navn: 'Revurdering', - }; + revurdering.type = 'BT-004'; revurdering.aksjonspunkter.push({ id: 0, - definisjon: { - navn: 'Foreslå vedtak', - kode: aksjonspunktCodes.FORESLA_VEDTAK, - }, - status: { - navn: 'Opprettet', - kode: '', - }, + definisjon: 'Foreslå vedtak', + status: 'Opprettet', kanLoses: true, erAktivt: true, }); @@ -121,21 +93,12 @@ describe('', () => { revurdering.behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'Innvilget', - }, + type: BehandlingResultatType.INNVILGET, }; revurdering.aksjonspunkter.push({ id: 0, - definisjon: { - navn: 'Foreslå vedtak', - kode: aksjonspunktCodes.FORESLA_VEDTAK, - }, - status: { - navn: 'Opprettet', - kode: '', - }, + definisjon: 'Foreslå vedtak', + status: 'Opprettet', kanLoses: true, erAktivt: true, toTrinnsBehandling: true, @@ -179,10 +142,7 @@ describe('', () => { const revurdering = createBehandlingAvslag(); revurdering.behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'Innvilget', - }, + type: BehandlingResultatType.INNVILGET, }; renderWithIntlAndReduxForm( @@ -221,10 +181,7 @@ describe('', () => { const revurdering = createBehandlingAvslag(); revurdering.behandlingsresultat = { id: 1, - type: { - kode: BehandlingResultatType.INNVILGET, - navn: 'Innvilget', - }, + type: BehandlingResultatType.INNVILGET, }; renderWithIntlAndReduxForm( diff --git a/packages/prosess-vedtak/src/propTypes/vedtakAksjonspunkterPropType.jsx b/packages/prosess-vedtak/src/propTypes/vedtakAksjonspunkterPropType.jsx index 7bfbc67711..bda53fdfe4 100644 --- a/packages/prosess-vedtak/src/propTypes/vedtakAksjonspunkterPropType.jsx +++ b/packages/prosess-vedtak/src/propTypes/vedtakAksjonspunkterPropType.jsx @@ -1,10 +1,7 @@ import PropTypes from 'prop-types'; const vedtakAksjonspunkterPropType = PropTypes.shape({ - definisjon: PropTypes.shape({ - kode: PropTypes.string.isRequired, - kodeverk: PropTypes.string.isRequired, - }), + definisjon: PropTypes.string.isRequired, begrunnelse: PropTypes.string, kanLoses: PropTypes.bool.isRequired, erAktivt: PropTypes.bool.isRequired, diff --git a/packages/prosess-vedtak/src/propTypes/vedtakBehandlingPropType.jsx b/packages/prosess-vedtak/src/propTypes/vedtakBehandlingPropType.jsx index 6c44451ff4..d6809ca396 100644 --- a/packages/prosess-vedtak/src/propTypes/vedtakBehandlingPropType.jsx +++ b/packages/prosess-vedtak/src/propTypes/vedtakBehandlingPropType.jsx @@ -1,15 +1,12 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const vedtakBehandlingPropType = PropTypes.shape({ id: PropTypes.number.isRequired, versjon: PropTypes.number.isRequired, - type: kodeverkObjektPropType.isRequired, - status: kodeverkObjektPropType.isRequired, - sprakkode: kodeverkObjektPropType.isRequired, + type: PropTypes.string.isRequired, + status: PropTypes.string.isRequired, + sprakkode: PropTypes.string.isRequired, behandlingsresultat: PropTypes.shape(), behandlingPaaVent: PropTypes.bool.isRequired, behandlingHenlagt: PropTypes.bool.isRequired, diff --git a/packages/prosess-vedtak/src/propTypes/vedtakBeregningsgrunnlagPropType.jsx b/packages/prosess-vedtak/src/propTypes/vedtakBeregningsgrunnlagPropType.jsx index 59c28e1980..d7d0542d84 100644 --- a/packages/prosess-vedtak/src/propTypes/vedtakBeregningsgrunnlagPropType.jsx +++ b/packages/prosess-vedtak/src/propTypes/vedtakBeregningsgrunnlagPropType.jsx @@ -1,20 +1,14 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; const beregningsgrunnlagPropType = PropTypes.shape({ - aktivitetStatus: PropTypes.arrayOf( - PropTypes.shape({ - aktivitetStatus: kodeverkObjektPropType, - }), - ), + aktivitetStatus: PropTypes.arrayOf(PropTypes.string), beregningsgrunnlagPeriode: PropTypes.arrayOf( PropTypes.shape({ beregningsgrunnlagPrStatusOgAndel: PropTypes.arrayOf( PropTypes.shape({ - aktivitetStatus: kodeverkObjektPropType, - arbeidsforholdType: kodeverkObjektPropType, + aktivitetStatus: PropTypes.string, + arbeidsforholdType: PropTypes.string, beregnetPrAar: PropTypes.number, overstyrtPrAar: PropTypes.number, arbeidsforholdId: PropTypes.string, diff --git a/packages/prosess-vedtak/src/propTypes/vedtakVilkarPropType.jsx b/packages/prosess-vedtak/src/propTypes/vedtakVilkarPropType.jsx index 117b085f1a..1a27dba70c 100644 --- a/packages/prosess-vedtak/src/propTypes/vedtakVilkarPropType.jsx +++ b/packages/prosess-vedtak/src/propTypes/vedtakVilkarPropType.jsx @@ -1,15 +1,12 @@ // eslint-disable-next-line import/no-duplicates import PropTypes from 'prop-types'; -// eslint-disable-next-line import/no-duplicates -import { kodeverkObjektPropType } from '@fpsak-frontend/prop-types'; - const vedtakVilkarPropType = PropTypes.shape({ lovReferanse: PropTypes.string, - vilkarType: kodeverkObjektPropType.isRequired, + vilkarType: PropTypes.string.isRequired, perioder: PropTypes.arrayOf( PropTypes.shape({ - vilkarStatus: kodeverkObjektPropType.isRequired, + vilkarStatus: PropTypes.string.isRequired, }), ), }); diff --git a/packages/prosess-vilkar-alder/src/AldersVilkarProsessIndex.tsx b/packages/prosess-vilkar-alder/src/AldersVilkarProsessIndex.tsx index 0b4eb23bbb..e69edd09aa 100644 --- a/packages/prosess-vilkar-alder/src/AldersVilkarProsessIndex.tsx +++ b/packages/prosess-vilkar-alder/src/AldersVilkarProsessIndex.tsx @@ -42,16 +42,16 @@ const AldersVilkarProsessIndex = ({ vilkar, status, }: AldersVilkarProsessIndexProps) => { - const aldersVilkarBarn = vilkar.find(v => v.vilkarType.kode === vilkarType.ALDERSVILKAR_BARN); + const aldersVilkarBarn = vilkar.find(v => v.vilkarType === vilkarType.ALDERSVILKAR_BARN); const periode = aldersVilkarBarn.perioder[0]; - const erVurdert = periode.vilkarStatus.kode !== vilkarUtfallType.IKKE_VURDERT; + const erVurdert = periode.vilkarStatus !== vilkarUtfallType.IKKE_VURDERT; const vilkarOppfylt = erVurdert ? status === vilkarUtfallType.OPPFYLT : false; const relevantAksjonspunkt: Aksjonspunkt = aksjonspunkter.find( - ap => ap.definisjon.kode === aksjonspunktCodes.ALDERSVILKÅR, + ap => ap.definisjon === aksjonspunktCodes.ALDERSVILKÅR, ); - const skalVilkarsUtfallVises = behandling.status.kode === behandlingStatus.AVSLUTTET; + const skalVilkarsUtfallVises = behandling.status === behandlingStatus.AVSLUTTET; const vilkaretErAutomatiskInnvilget = - !relevantAksjonspunkt && aldersVilkarBarn && periode?.vilkarStatus.kode === vilkarUtfallType.OPPFYLT; + !relevantAksjonspunkt && aldersVilkarBarn && periode?.vilkarStatus === vilkarUtfallType.OPPFYLT; let begrunnelseTekst = ''; if (!vilkaretErAutomatiskInnvilget) begrunnelseTekst = relevantAksjonspunkt?.begrunnelse || ''; diff --git a/packages/prosess-vilkar-alder/src/components/AldersvilkarAP.tsx b/packages/prosess-vilkar-alder/src/components/AldersvilkarAP.tsx index 6f9ab3f281..d57d7e4759 100644 --- a/packages/prosess-vilkar-alder/src/components/AldersvilkarAP.tsx +++ b/packages/prosess-vilkar-alder/src/components/AldersvilkarAP.tsx @@ -32,7 +32,7 @@ const AldersVilkarAP = ({ }: AldersVilkarAPProps) => { const [redigering, setRedigering] = useState(false); const lesemodus = isReadOnly || !isAksjonspunktOpen; - const aksjonspunktLost = behandling.status.kode === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; + const aksjonspunktLost = behandling.status === behandlingStatus.BEHANDLING_UTREDES && !isAksjonspunktOpen; useEffect(() => { if (lesemodus) setRedigering(false); diff --git a/packages/prosess-vilkar-opptjening-oms/src/OpptjeningVilkarProsessIndex.stories.tsx b/packages/prosess-vilkar-opptjening-oms/src/OpptjeningVilkarProsessIndex.stories.tsx index 45eaeab8a0..058db02cf4 100644 --- a/packages/prosess-vilkar-opptjening-oms/src/OpptjeningVilkarProsessIndex.stories.tsx +++ b/packages/prosess-vilkar-opptjening-oms/src/OpptjeningVilkarProsessIndex.stories.tsx @@ -128,18 +128,14 @@ const behandlingsresultat = { periode: { fom: '2018-01-01', tom: '2018-04-04' }, fom: '2018-01-01', tom: '2018-10-01', - utfall: { kode: 'IKKE_VURDERT', kodeverk: 'VILKAR_UTFALL_TYPE' }, - kode: 'IKKE_VURDERT', - kodeverk: 'VILKAR_UTFALL_TYPE', + utfall: 'IKKE_VURDERT', // VILKAR_UTFALL_TYPE }, { avslagsårsak: null, periode: { fom: '2018-05-01', tom: '2018-09-04' }, fom: '2018-02-01', tom: '2018-12-01', - utfall: { kode: 'IKKE_VURDERT', kodeverk: 'VILKAR_UTFALL_TYPE' }, - kode: 'IKKE_VURDERT', - kodeverk: 'VILKAR_UTFALL_TYPE', + utfall: 'IKKE_VURDERT', // VILKAR_UTFALL_TYPE }, ], }, @@ -147,9 +143,9 @@ const behandlingsresultat = { const fagsak = { saksnummer: '1DoJZD0', - sakstype: { kode: 'PSB', kodeverk: 'FAGSAK_YTELSE' }, + sakstype: 'PSB', // FAGSAK_YTELSE gyldigPeriode: { fom: '2022-11-28', tom: '2023-01-20' }, - status: { kode: 'UBEH', kodeverk: 'FAGSAK_STATUS' }, + status: 'UBEH', // FAGSAK_STATUS kanRevurderingOpprettes: false, skalBehandlesAvInfotrygd: false, opprettet: '2023-02-27T07:33:46.432', @@ -162,7 +158,7 @@ const fagsak = { erKvinne: false, navn: 'DATO AKSEPTABEL', personnummer: '06838698180', - personstatusType: { kode: 'BOSA', kodeverk: 'PERSONSTATUS_TYPE' }, + personstatusType: 'BOSA', // PERSONSTATUS_TYPE aktørId: '2649841813944', }, erPbSak: false, @@ -230,12 +226,8 @@ export const visPanelForÅpentAksjonspunkt = args => ( aksjonspunkter={ [ { - definisjon: { - kode: aksjonspunktCodes.SVANGERSKAPSVILKARET, - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: aksjonspunktCodes.SVANGERSKAPSVILKARET, + status: aksjonspunktStatus.OPPRETTET, begrunnelse: undefined, }, ] as Aksjonspunkt[] @@ -298,12 +290,8 @@ export const visPanelForPSBÅpentAksjonspunktUten847B = args => ( aksjonspunkter={ [ { - definisjon: { - kode: aksjonspunktCodes.VURDER_OPPTJENINGSVILKARET, - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: aksjonspunktCodes.VURDER_OPPTJENINGSVILKARET, + status: aksjonspunktStatus.OPPRETTET, begrunnelse: undefined, }, ] as Aksjonspunkt[] @@ -366,12 +354,8 @@ export const visPanelForPSBÅpentAksjonspunktMed847B = args => ( aksjonspunkter={ [ { - definisjon: { - kode: aksjonspunktCodes.VURDER_OPPTJENINGSVILKARET, - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: aksjonspunktCodes.VURDER_OPPTJENINGSVILKARET, + status: aksjonspunktStatus.OPPRETTET, begrunnelse: undefined, }, ] as Aksjonspunkt[] diff --git a/packages/prosess-vilkar-opptjening-oms/src/OpptjeningVilkarProsessIndex.tsx b/packages/prosess-vilkar-opptjening-oms/src/OpptjeningVilkarProsessIndex.tsx index ecf917a354..e452526912 100644 --- a/packages/prosess-vilkar-opptjening-oms/src/OpptjeningVilkarProsessIndex.tsx +++ b/packages/prosess-vilkar-opptjening-oms/src/OpptjeningVilkarProsessIndex.tsx @@ -1,18 +1,22 @@ +import React, { useEffect, useState } from 'react'; import advarselIcon from '@fpsak-frontend/assets/images/advarsel.svg'; +import classNames from 'classnames/bind'; +import isEqual from 'lodash/isEqual'; +import { RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; + import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { Image } from '@fpsak-frontend/shared-components'; import { dateFormat } from '@fpsak-frontend/utils'; import hentAktivePerioderFraVilkar from '@fpsak-frontend/utils/src/hentAktivePerioderFraVilkar'; import { Aksjonspunkt, Fagsak, Opptjening, OpptjeningBehandling, SubmitCallback, Vilkar } from '@k9-sak-web/types'; import { SideMenu } from '@navikt/ft-plattform-komponenter'; -import classNames from 'classnames/bind'; -import isEqual from 'lodash/isEqual'; -import React, { useEffect, useState } from 'react'; -import { RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; -import messages from '../i18n/nb_NO.json'; + import OpptjeningVilkarForm from './components/OpptjeningVilkarForm'; + import styles from './opptjeningVilkarProsessIndex.module.css'; +import messages from '../i18n/nb_NO.json'; + const cx = classNames.bind(styles); const cache = createIntlCache(); @@ -79,7 +83,7 @@ const OpptjeningVilkarProsessIndex = ({ active: activeTab === index, label: `${dateFormat(periode.fom)} - ${dateFormat(periode.tom)}`, iconSrc: - isAksjonspunktOpen && vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT ? ( + isAksjonspunktOpen && vilkarStatus === vilkarUtfallType.IKKE_VURDERT ? ( { - const isOpenAksjonspunkt = aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status.kode)); + const isOpenAksjonspunkt = aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status)); return isOpenAksjonspunkt && vilkårPerioder[periodeIndex].vurderesIBehandlingen ? undefined : vilkarUtfallType.OPPFYLT === status; @@ -227,7 +227,7 @@ const transformValues = ( tom: opptjening.fastsattOpptjening.opptjeningTom, })) : [], - ...{ kode: Array.isArray(aksjonspunkter) && aksjonspunkter.length ? aksjonspunkter[0].definisjon.kode : null }, + ...{ kode: Array.isArray(aksjonspunkter) && aksjonspunkter.length ? aksjonspunkter[0].definisjon : null }, }); const mapStateToPropsFactory = (initialState, initialOwnProps: OpptjeningVilkarAksjonspunktPanelImplProps) => { diff --git a/packages/prosess-vilkar-opptjening-oms/src/components/OpptjeningVilkarForm.spec.tsx b/packages/prosess-vilkar-opptjening-oms/src/components/OpptjeningVilkarForm.spec.tsx index 37564ab759..16e80a966c 100644 --- a/packages/prosess-vilkar-opptjening-oms/src/components/OpptjeningVilkarForm.spec.tsx +++ b/packages/prosess-vilkar-opptjening-oms/src/components/OpptjeningVilkarForm.spec.tsx @@ -1,11 +1,11 @@ +import React from 'react'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { Aksjonspunkt } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; -import React from 'react'; -import messages from '../../i18n/nb_NO.json'; import OpptjeningVilkarForm from './OpptjeningVilkarForm'; +import messages from '../../i18n/nb_NO.json'; const periode = { avslagKode: '1035', @@ -15,7 +15,7 @@ const periode = { antattOpptjeningAktivitetTidslinje: 'LocalDateTimeline<2020-03-27, 2020-04-04 [1]> = [[2020-03-27, 2020-04-04]]', }, periode: { fom: '2020-04-24', tom: '2020-04-24' }, - vilkarStatus: { kode: 'IKKE_OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + vilkarStatus: 'IKKE_OPPFYLT', vurderesIBehandlingen: true, }; @@ -32,12 +32,8 @@ describe('', () => { aksjonspunkter={ [ { - definisjon: { - kode: aksjonspunktCodes.SVANGERSKAPSVILKARET, - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - }, + definisjon: aksjonspunktCodes.SVANGERSKAPSVILKARET, + status: aksjonspunktStatus.OPPRETTET, begrunnelse: undefined, }, ] as Aksjonspunkt[] diff --git a/packages/prosess-vilkar-opptjening-oms/src/components/VilkarFields.tsx b/packages/prosess-vilkar-opptjening-oms/src/components/VilkarFields.tsx index f3d76fd495..b8dca37bf6 100644 --- a/packages/prosess-vilkar-opptjening-oms/src/components/VilkarFields.tsx +++ b/packages/prosess-vilkar-opptjening-oms/src/components/VilkarFields.tsx @@ -1,16 +1,14 @@ import { RadioGroupField } from '@fpsak-frontend/form'; +import React from 'react'; +import { FormattedMessage, useIntl } from 'react-intl'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { FlexColumn, FlexContainer, FlexRow, Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { required } from '@fpsak-frontend/utils'; import { ProsessStegBegrunnelseTextField } from '@k9-sak-web/prosess-felles'; import { Aksjonspunkt, Vilkarperiode } from '@k9-sak-web/types'; import { BodyShort } from '@navikt/ds-react'; -import React from 'react'; -import { FormattedMessage, useIntl } from 'react-intl'; - import avslattImage from '@fpsak-frontend/assets/images/avslaatt.svg'; import innvilgetImage from '@fpsak-frontend/assets/images/check.svg'; - import styles from './VilkarFields.module.css'; export const midlertidigInaktiv = { @@ -134,9 +132,9 @@ VilkarFields.buildInitialValues = ( ? vilkårPerioder.map(periode => ({ begrunnelse: periode.begrunnelse, vurderesIBehandlingen: periode.vurderesIBehandlingen, - erVilkarOk: Object.values(midlertidigInaktiv).includes(periode.merknad?.kode) - ? periode.merknad.kode - : periode.vilkarStatus.kode === vilkarUtfallType.OPPFYLT, + erVilkarOk: Object.values(midlertidigInaktiv).includes(periode.merknad) + ? periode.merknad + : periode.vilkarStatus === vilkarUtfallType.OPPFYLT, })) : [], }); diff --git a/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.spec.tsx b/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.spec.tsx index bb5ffb0314..5f047a09b8 100644 --- a/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.spec.tsx +++ b/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.spec.tsx @@ -4,8 +4,8 @@ import { Behandling } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; import React from 'react'; import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; -import messages from '../i18n/nb_NO.json'; import VilkarresultatMedOverstyringProsessIndex from './VilkarresultatMedOverstyringProsessIndex'; +import messages from '../i18n/nb_NO.json'; describe('', () => { requestApi.mock(K9sakApiKeys.FEATURE_TOGGLE, []); @@ -17,10 +17,7 @@ describe('', () => { { id: 1, versjon: 1, - type: { - kode: behandlingType.FØRSTEGANGSSØKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + type: behandlingType.FØRSTEGANGSSØKNAD, } as Behandling } medlemskap={{ @@ -32,7 +29,6 @@ describe('', () => { toggleOverstyring={vi.fn()} submitCallback={vi.fn()} aksjonspunkter={[]} - avslagsarsaker={[]} panelTittelKode="tittel" overstyringApKode="" lovReferanse="" @@ -47,10 +43,7 @@ describe('', () => { fom: '2020-03-01', tom: '2020-04-01', }, - vilkarStatus: { - kode: 'test', - kodeverk: 'test', - }, + vilkarStatus: 'test', avslagKode: 'test', vurderesIBehandlingen: true, merknadParametere: { @@ -59,10 +52,7 @@ describe('', () => { }, ], overstyrbar: true, - vilkarType: { - kode: 'test', - kodeverk: 'test', - }, + vilkarType: 'test', }, ]} visAllePerioder={false} diff --git a/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.stories.tsx b/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.stories.tsx index 67c517b838..c2fba4f7f2 100644 --- a/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.stories.tsx +++ b/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.stories.tsx @@ -23,18 +23,18 @@ const avslagsarsaker = [ const vilkarOpptjening = [ { - vilkarType: { kode: vilkarType.OPPTJENINGSVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.OPPTJENINGSVILKARET, overstyrbar: true, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.OPPFYLT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.OPPFYLT, periode: { fom: '2020-01-30', tom: '2020-02-29', }, }, { - vilkarStatus: { kode: vilkarUtfallType.OPPFYLT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.OPPFYLT, periode: { fom: '2020-01-30', tom: '2020-02-29', @@ -46,11 +46,11 @@ const vilkarOpptjening = [ const vilkarMedlemskap = [ { - vilkarType: { kode: vilkarType.MEDLEMSKAPSVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.MEDLEMSKAPSVILKARET, overstyrbar: true, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.OPPFYLT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.OPPFYLT, periode: { fom: '2020-01-30', tom: '2020-02-29', @@ -68,7 +68,7 @@ export default { const behandling = { id: 1, versjon: 1, - type: { kode: behandlingType.FØRSTEGANGSSØKNAD, kodeverk: 'BEHANDLING_TYPE' }, + type: behandlingType.FØRSTEGANGSSØKNAD, } as Behandling; export const visOverstyringspanelForOpptjening = args => { @@ -141,9 +141,7 @@ export const visOverstyrtAksjonspunktSomErBekreftet = args => ( { ...behandling, behandlingsresultat: { - avslagsarsak: { - kode: 'AVSLAG_TEST_1', - }, + avslagsarsak: 'AVSLAG_TEST_1', }, } as Behandling } @@ -153,14 +151,8 @@ export const visOverstyrtAksjonspunktSomErBekreftet = args => ( aksjonspunkter={ [ { - definisjon: { - kode: aksjonspunktCode.OVERSTYRING_AV_OPPTJENINGSVILKARET, - kodeverk: '', - }, - status: { - kode: aksjonspunktStatus.UTFORT, - kodeverk: '', - }, + definisjon: aksjonspunktCode.OVERSTYRING_AV_OPPTJENINGSVILKARET, + status: aksjonspunktStatus.UTFORT, kanLoses: false, begrunnelse: 'Dette er en begrunnelse', }, diff --git a/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.tsx b/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.tsx index 6dc931ebb9..520b0ccb43 100644 --- a/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.tsx +++ b/packages/prosess-vilkar-overstyring/src/VilkarresultatMedOverstyringProsessIndex.tsx @@ -1,18 +1,22 @@ +import React, { SetStateAction, useEffect, useState } from 'react'; +import classNames from 'classnames/bind'; +import { RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; + import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { useFeatureToggles } from '@fpsak-frontend/shared-components'; import { dateFormat } from '@fpsak-frontend/utils'; import hentAktivePerioderFraVilkar from '@fpsak-frontend/utils/src/hentAktivePerioderFraVilkar'; -import { Aksjonspunkt, Behandling, KodeverkMedNavn, SubmitCallback, Vilkar } from '@k9-sak-web/types'; +import { Aksjonspunkt, Behandling, SubmitCallback, Vilkar } from '@k9-sak-web/types'; import { SideMenu } from '@navikt/ft-plattform-komponenter'; -import classNames from 'classnames/bind'; -import React, { SetStateAction, useEffect, useState } from 'react'; -import { RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; -import messages from '../i18n/nb_NO.json'; + import VilkarresultatMedOverstyringFormPeriodisert from './components-periodisert/VilkarresultatMedOverstyringForm'; import VilkarresultatMedOverstyringForm from './components/VilkarresultatMedOverstyringForm'; import VilkarresultatMedOverstyringHeader from './components/VilkarresultatMedOverstyringHeader'; + import styles from './vilkarresultatMedOverstyringProsessIndex.module.css'; +import messages from '../i18n/nb_NO.json'; + const cx = classNames.bind(styles); const cache = createIntlCache(); @@ -37,7 +41,6 @@ interface VilkarresultatMedOverstyringProsessIndexProps { isEnabled: boolean; }; toggleOverstyring: (overstyrtPanel: SetStateAction) => void; - avslagsarsaker: KodeverkMedNavn[]; lovReferanse?: string; erOverstyrt: boolean; panelTittelKode: string; @@ -56,7 +59,6 @@ const VilkarresultatMedOverstyringProsessIndex = ({ overrideReadOnly, kanOverstyreAccess, toggleOverstyring, - avslagsarsaker, erOverstyrt, panelTittelKode, overstyringApKode, @@ -86,7 +88,7 @@ const VilkarresultatMedOverstyringProsessIndex = ({ useEffect(() => { if (perioder.length > 1) { const førsteIkkeVurdertPeriodeIndex = perioder.findIndex( - periode => periode.vurderesIBehandlingen && periode.vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT, + periode => periode.vurderesIBehandlingen && periode.vilkarStatus === vilkarUtfallType.IKKE_VURDERT, ); if (førsteIkkeVurdertPeriodeIndex > 0) { setActiveTab(førsteIkkeVurdertPeriodeIndex); @@ -119,7 +121,7 @@ const VilkarresultatMedOverstyringProsessIndex = ({ overrideReadOnly={overrideReadOnly} overstyringApKode={overstyringApKode} panelTittelKode={panelTittelKode} - status={activePeriode.vilkarStatus.kode} + status={activePeriode.vilkarStatus} toggleOverstyring={toggleOverstyring} /> {featureToggles?.OMSORGEN_FOR_PERIODISERT && ( @@ -133,12 +135,11 @@ const VilkarresultatMedOverstyringProsessIndex = ({ aksjonspunkter={aksjonspunkter} submitCallback={submitCallback} overrideReadOnly={overrideReadOnly} - kanOverstyreAccess={kanOverstyreAccess} + // kanOverstyreAccess={kanOverstyreAccess} toggleOverstyring={toggleOverstyring} - avslagsarsaker={avslagsarsaker} - status={activePeriode.vilkarStatus.kode} + status={activePeriode.vilkarStatus} erOverstyrt={erOverstyrt} - panelTittelKode={panelTittelKode} + // panelTittelKode={panelTittelKode} overstyringApKode={overstyringApKode} lovReferanse={activeVilkår.lovReferanse ?? lovReferanse} erMedlemskapsPanel={erMedlemskapsPanel} @@ -159,17 +160,18 @@ const VilkarresultatMedOverstyringProsessIndex = ({ aksjonspunkter={aksjonspunkter} submitCallback={submitCallback} overrideReadOnly={overrideReadOnly} - kanOverstyreAccess={kanOverstyreAccess} + // kanOverstyreAccess={kanOverstyreAccess} toggleOverstyring={toggleOverstyring} - avslagsarsaker={avslagsarsaker} - status={activePeriode.vilkarStatus.kode} + status={activePeriode.vilkarStatus} erOverstyrt={erOverstyrt} - panelTittelKode={panelTittelKode} + // panelTittelKode={panelTittelKode} overstyringApKode={overstyringApKode} lovReferanse={activeVilkår.lovReferanse ?? lovReferanse} erMedlemskapsPanel={erMedlemskapsPanel} avslagKode={activePeriode.avslagKode} periode={activePeriode} + hasAksjonspunkt={undefined} + isReadOnly={undefined} /> )}
diff --git a/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedBegrunnelse.tsx b/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedBegrunnelse.tsx index 23b4cc2548..8c927bd6da 100644 --- a/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedBegrunnelse.tsx +++ b/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedBegrunnelse.tsx @@ -3,16 +3,14 @@ import { FormattedMessage } from 'react-intl'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; import { VilkarResultPicker } from '@k9-sak-web/prosess-felles'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; -import VilkarBegrunnelse from './VilkarBegrunnelse'; import { CustomVilkarText } from './VilkarresultatMedOverstyringForm'; +import VilkarBegrunnelse from './VilkarBegrunnelse'; interface VilkarresultatMedBegrunnelseProps { erVilkarOk?: boolean; readOnly: boolean; erMedlemskapsPanel: boolean; - avslagsarsaker: KodeverkMedNavn[]; customVilkarIkkeOppfyltText?: CustomVilkarText; customVilkarOppfyltText?: CustomVilkarText; skalViseBegrunnelse?: boolean; @@ -27,7 +25,6 @@ interface VilkarresultatMedBegrunnelseProps { export const VilkarresultatMedBegrunnelse = ({ erVilkarOk, readOnly, - avslagsarsaker, erMedlemskapsPanel, skalViseBegrunnelse = true, customVilkarIkkeOppfyltText, @@ -41,7 +38,6 @@ export const VilkarresultatMedBegrunnelse = ({ )} ', () => { it('skal rendre form med knapp når vilkåret er overstyrt', () => { renderWithIntlAndReduxForm( @@ -14,10 +17,6 @@ describe('', () => { erVilkarOk isReadOnly overstyringApKode="5011" - avslagsarsaker={[ - { kode: 'test1', navn: 'test1', kodeverk: 'test' }, - { kode: 'test2', navn: 'test1', kodeverk: 'test' }, - ]} lovReferanse="§23" hasAksjonspunkt overrideReadOnly={false} @@ -25,15 +24,10 @@ describe('', () => { erMedlemskapsPanel={false} erOverstyrt aksjonspunkter={[]} - behandlingsresultat={{ - type: { kode: 'test', kodeverk: 'test' }, - }} + behandlingsresultat={{ type: 'test' }} behandlingId={1} behandlingVersjon={2} - behandlingType={{ - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }} + behandlingType={behandlingType.FORSTEGANGSSOKNAD} medlemskapFom="10.10.2010" status="" submitCallback={() => undefined} diff --git a/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedOverstyringForm.tsx b/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedOverstyringForm.tsx index 19e4b6f9b5..febf25f99d 100644 --- a/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedOverstyringForm.tsx +++ b/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedOverstyringForm.tsx @@ -1,3 +1,9 @@ +import React, { SetStateAction, useEffect } from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import { InjectedFormProps } from 'redux-form'; +import { createSelector } from 'reselect'; +import moment from 'moment'; import advarselIkonUrl from '@fpsak-frontend/assets/images/advarsel_ny.svg'; import { behandlingForm, behandlingFormValueSelector } from '@fpsak-frontend/form'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; @@ -13,15 +19,9 @@ import { } from '@fpsak-frontend/shared-components'; import { DDMMYYYY_DATE_FORMAT } from '@fpsak-frontend/utils'; import { VilkarResultPicker } from '@k9-sak-web/prosess-felles'; -import { Aksjonspunkt, Kodeverk, KodeverkMedNavn, SubmitCallback } from '@k9-sak-web/types'; +import { Aksjonspunkt, SubmitCallback } from '@k9-sak-web/types'; import Vilkarperiode from '@k9-sak-web/types/src/vilkarperiode'; import { BodyShort, Button, Label } from '@navikt/ds-react'; -import moment from 'moment'; -import React, { SetStateAction, useEffect } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; -import { InjectedFormProps } from 'redux-form'; -import { createSelector } from 'reselect'; import OverstyrBekreftKnappPanel from './OverstyrBekreftKnappPanel'; import { VilkarresultatMedBegrunnelse } from './VilkarresultatMedBegrunnelse'; import styles from './vilkarresultatMedOverstyringForm.module.css'; @@ -35,13 +35,12 @@ export interface CustomVilkarText { interface VilkarresultatMedOverstyringFormProps { aksjonspunkter: Aksjonspunkt[]; - avslagsarsaker: KodeverkMedNavn[]; behandlingsresultat: { - type: Kodeverk; + type: string; }; behandlingId: number; behandlingVersjon: number; - behandlingType: Kodeverk; + behandlingType: string; customVilkarIkkeOppfyltText?: CustomVilkarText; customVilkarOppfyltText?: CustomVilkarText; erMedlemskapsPanel: boolean; @@ -82,7 +81,6 @@ export const VilkarresultatMedOverstyringForm = ({ customVilkarOppfyltText, erMedlemskapsPanel, hasAksjonspunkt, - avslagsarsaker, overrideReadOnly, toggleOverstyring, reset, @@ -119,7 +117,6 @@ export const VilkarresultatMedOverstyringForm = ({ customVilkarIkkeOppfyltText={customVilkarIkkeOppfyltText} customVilkarOppfyltText={customVilkarOppfyltText} erMedlemskapsPanel={erMedlemskapsPanel} - avslagsarsaker={avslagsarsaker} /> {!erOverstyrt && erVilkarOk !== undefined && ( @@ -188,7 +185,7 @@ const buildInitialValues = createSelector( (ownProps: VilkarresultatMedOverstyringFormProps) => ownProps.periode, ], (avslagKode, aksjonspunkter, status, overstyringApKode, periode) => { - const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon.kode === overstyringApKode); + const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon === overstyringApKode); return { isOverstyrt: aksjonspunkt !== undefined, ...VilkarresultatMedBegrunnelse.buildInitialValues( @@ -202,10 +199,9 @@ const buildInitialValues = createSelector( }, ); -const getCustomVilkarText = (medlemskapFom: string, behandlingType: Kodeverk, erOppfylt: boolean) => { +const getCustomVilkarText = (medlemskapFom: string, behandlingType: string, erOppfylt: boolean) => { const customVilkarText = { id: '', values: null }; - const isBehandlingRevurderingFortsattMedlemskap = - behandlingType.kode === BehandlingType.REVURDERING && !!medlemskapFom; + const isBehandlingRevurderingFortsattMedlemskap = behandlingType === BehandlingType.REVURDERING && !!medlemskapFom; if (isBehandlingRevurderingFortsattMedlemskap) { customVilkarText.id = erOppfylt ? 'VilkarResultPicker.VilkarOppfyltRevurderingFom' @@ -234,7 +230,10 @@ const transformValues = (values, overstyringApKode, periodeFom, periodeTom) => ( const validate = values => VilkarresultatMedBegrunnelse.validate(values); -const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMedOverstyringFormProps) => { +const mapStateToPropsFactory = ( + _initialState, + initialOwnProps: VilkarresultatMedOverstyringFormProps, +): ((state: any, ownProps: VilkarresultatMedOverstyringFormProps) => any) => { const { overstyringApKode, submitCallback, periode } = initialOwnProps; const periodeFom = periode?.periode?.fom; const periodeTom = periode?.periode?.tom; @@ -245,10 +244,10 @@ const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMe return (state, ownProps) => { const { behandlingId, behandlingVersjon, aksjonspunkter, erOverstyrt, overrideReadOnly } = ownProps; - const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon.kode === overstyringApKode); + const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon === overstyringApKode); const isSolvable = aksjonspunkt !== undefined - ? !(aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET && !aksjonspunkt.kanLoses) + ? !(aksjonspunkt.status === aksjonspunktStatus.OPPRETTET && !aksjonspunkt.kanLoses) : false; const initialValues = buildInitialValues(ownProps); diff --git a/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedOverstyringHeader.tsx b/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedOverstyringHeader.tsx index 7fa5c93795..54dae96aa5 100644 --- a/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedOverstyringHeader.tsx +++ b/packages/prosess-vilkar-overstyring/src/components-old/VilkarresultatMedOverstyringHeader.tsx @@ -1,3 +1,6 @@ +import React, { SetStateAction } from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; import avslattImage from '@fpsak-frontend/assets/images/avslaatt_hover.svg'; import innvilgetImage from '@fpsak-frontend/assets/images/innvilget_hover.svg'; import keyUtgraetImage from '@fpsak-frontend/assets/images/key-1-rotert-utgraet.svg'; @@ -6,9 +9,6 @@ import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { FlexColumn, FlexContainer, FlexRow, Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { Aksjonspunkt } from '@k9-sak-web/types'; import { Detail, Heading, Label } from '@navikt/ds-react'; -import React, { SetStateAction } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; import styles from './vilkarresultatMedOverstyringForm.module.css'; const isOverridden = (aksjonspunktCodes: string[], aksjonspunktCode: string) => @@ -110,7 +110,7 @@ const VilkarresultatMedOverstyringHeader = ({ }; const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMedOverstyringHeaderProps) => { - const aksjonspunktCodes = initialOwnProps.aksjonspunkter.map(a => a.definisjon.kode); + const aksjonspunktCodes = initialOwnProps.aksjonspunkter.map(a => a.definisjon); return (state, ownProps) => { const erOppfylt = vilkarUtfallType.OPPFYLT === ownProps.status; diff --git a/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedBegrunnelse.tsx b/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedBegrunnelse.tsx index e0018af99f..322d4aca4a 100644 --- a/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedBegrunnelse.tsx +++ b/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedBegrunnelse.tsx @@ -3,11 +3,10 @@ import { FormattedMessage } from 'react-intl'; import { VerticalSpacer, useSaksbehandlerOppslag } from '@fpsak-frontend/shared-components'; import { VilkarResultPickerPeriodisert as VilkarResultPicker } from '@k9-sak-web/prosess-felles'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; -import VilkarBegrunnelse from './VilkarBegrunnelse'; import { CustomVilkarText } from './VilkarresultatMedOverstyringForm'; +import VilkarBegrunnelse from './VilkarBegrunnelse'; interface VilkarresultatMedBegrunnelseProps { erVilkarOk?: string; @@ -15,7 +14,6 @@ interface VilkarresultatMedBegrunnelseProps { readOnly: boolean; erMedlemskapsPanel: boolean; visPeriodisering: boolean; - avslagsarsaker: KodeverkMedNavn[]; customVilkarIkkeOppfyltText?: CustomVilkarText; customVilkarOppfyltText?: CustomVilkarText; skalViseBegrunnelse?: boolean; @@ -36,7 +34,6 @@ export const VilkarresultatMedBegrunnelse = ({ erVilkarOk, periodeVilkarStatus, readOnly, - avslagsarsaker, erMedlemskapsPanel, visPeriodisering, skalViseBegrunnelse = true, @@ -59,7 +56,6 @@ export const VilkarresultatMedBegrunnelse = ({ )} ', () => { it('skal rendre form med knapp når vilkåret er overstyrt', () => { renderWithIntlAndReduxForm( @@ -15,10 +18,6 @@ describe('', () => { erVilkarOk={vilkarUtfallPeriodisert.OPPFYLT} isReadOnly overstyringApKode="5011" - avslagsarsaker={[ - { kode: 'test1', navn: 'test1', kodeverk: 'test' }, - { kode: 'test2', navn: 'test1', kodeverk: 'test' }, - ]} lovReferanse="§23" hasAksjonspunkt overrideReadOnly={false} @@ -26,15 +25,10 @@ describe('', () => { visPeriodisering={false} erOverstyrt aksjonspunkter={[]} - behandlingsresultat={{ - type: { kode: 'test', kodeverk: 'test' }, - }} + behandlingsresultat={{ type: 'test' }} behandlingId={1} behandlingVersjon={2} - behandlingType={{ - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }} + behandlingType={behandlingType.FORSTEGANGSSOKNAD} medlemskapFom="10.10.2010" status="" submitCallback={() => undefined} diff --git a/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringForm.tsx b/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringForm.tsx index e54a2cefac..7acb72a771 100644 --- a/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringForm.tsx +++ b/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringForm.tsx @@ -1,3 +1,9 @@ +import React, { SetStateAction, useEffect } from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import { InjectedFormProps } from 'redux-form'; +import { createSelector } from 'reselect'; +import moment from 'moment'; import advarselIkonUrl from '@fpsak-frontend/assets/images/advarsel_ny.svg'; import { behandlingForm, behandlingFormValueSelector } from '@fpsak-frontend/form'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; @@ -13,15 +19,9 @@ import { } from '@fpsak-frontend/shared-components'; import { DDMMYYYY_DATE_FORMAT } from '@fpsak-frontend/utils'; import VilkarResultPicker from '@k9-sak-web/prosess-felles/src/vilkar/VilkarResultPickerPeriodisert'; -import { Aksjonspunkt, Kodeverk, KodeverkMedNavn, SubmitCallback } from '@k9-sak-web/types'; +import { Aksjonspunkt, Behandlingsresultat, SubmitCallback } from '@k9-sak-web/types'; import Vilkarperiode from '@k9-sak-web/types/src/vilkarperiode'; import { BodyShort, Button, Label } from '@navikt/ds-react'; -import moment from 'moment'; -import React, { SetStateAction, useEffect } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; -import { InjectedFormProps } from 'redux-form'; -import { createSelector } from 'reselect'; import OverstyrBekreftKnappPanel from './OverstyrBekreftKnappPanel'; import { VilkarresultatMedBegrunnelse } from './VilkarresultatMedBegrunnelse'; import styles from './vilkarresultatMedOverstyringForm.module.css'; @@ -40,15 +40,33 @@ export const vilkarUtfallPeriodisert = { DELVIS_IKKE_OPPFYLT: 'DELVIS_IKKE_OPPFYLT', }; +interface ownProps { + behandlingId: number; + behandlingVersjon: number; + aksjonspunkter: Aksjonspunkt[]; + erOverstyrt?: boolean; + overrideReadOnly?: boolean; + behandlingType: string; + behandlingsresultat: Behandlingsresultat; + medlemskapFom: string; + submitCallback: (props: SubmitCallback[]) => void; + toggleOverstyring: (overstyrtPanel: SetStateAction) => void; + status: string; + overstyringApKode: string; + lovReferanse: string; + erMedlemskapsPanel: boolean; + visPeriodisering: boolean; + avslagKode: string; + periode: Vilkarperiode; +} interface VilkarresultatMedOverstyringFormProps { aksjonspunkter: Aksjonspunkt[]; - avslagsarsaker: KodeverkMedNavn[]; behandlingsresultat: { - type: Kodeverk; + type: string; }; behandlingId: number; behandlingVersjon: number; - behandlingType: Kodeverk; + behandlingType: string; customVilkarIkkeOppfyltText?: CustomVilkarText; customVilkarOppfyltText?: CustomVilkarText; erMedlemskapsPanel: boolean; @@ -96,7 +114,6 @@ export const VilkarresultatMedOverstyringForm = ({ erMedlemskapsPanel, visPeriodisering, hasAksjonspunkt, - avslagsarsaker, overrideReadOnly, toggleOverstyring, reset, @@ -137,7 +154,6 @@ export const VilkarresultatMedOverstyringForm = ({ customVilkarOppfyltText={customVilkarOppfyltText} erMedlemskapsPanel={erMedlemskapsPanel} visPeriodisering={visPeriodisering} - avslagsarsaker={avslagsarsaker} periodeFom={periodeFom} periodeTom={periodeTom} valgtPeriodeFom={valgtPeriodeFom} @@ -212,7 +228,7 @@ const buildInitialValues = createSelector( (ownProps: VilkarresultatMedOverstyringFormProps) => ownProps.periode, ], (avslagKode, aksjonspunkter, status, overstyringApKode, periode) => { - const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon.kode === overstyringApKode); + const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon === overstyringApKode); return { isOverstyrt: aksjonspunkt !== undefined, ...VilkarresultatMedBegrunnelse.buildInitialValues( @@ -226,10 +242,9 @@ const buildInitialValues = createSelector( }, ); -const getCustomVilkarText = (medlemskapFom: string, behandlingType: Kodeverk, erOppfylt: boolean) => { +const getCustomVilkarText = (medlemskapFom: string, behandlingType: string, erOppfylt: boolean) => { const customVilkarText = { id: '', values: null }; - const isBehandlingRevurderingFortsattMedlemskap = - behandlingType.kode === BehandlingType.REVURDERING && !!medlemskapFom; + const isBehandlingRevurderingFortsattMedlemskap = behandlingType === BehandlingType.REVURDERING && !!medlemskapFom; if (isBehandlingRevurderingFortsattMedlemskap) { customVilkarText.id = erOppfylt ? 'VilkarResultPicker.VilkarOppfyltRevurderingFom' @@ -256,7 +271,10 @@ const transformValues = (values, overstyringApKode, periodeFom, periodeTom) => ( const validate = values => VilkarresultatMedBegrunnelse.validate(values); -const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMedOverstyringFormProps) => { +const mapStateToPropsFactory = ( + _initialState, + initialOwnProps: ownProps, +): ((state: any, ownProps: VilkarresultatMedOverstyringFormProps) => any) => { const { overstyringApKode, submitCallback, periode } = initialOwnProps; const periodeFom = periode?.periode?.fom; const periodeTom = periode?.periode?.tom; @@ -267,10 +285,10 @@ const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMe return (state, ownProps) => { const { behandlingId, behandlingVersjon, aksjonspunkter, erOverstyrt, overrideReadOnly } = ownProps; - const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon.kode === overstyringApKode); + const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon === overstyringApKode); const isSolvable = aksjonspunkt !== undefined - ? !(aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET && !aksjonspunkt.kanLoses) + ? !(aksjonspunkt.status === aksjonspunktStatus.OPPRETTET && !aksjonspunkt.kanLoses) : false; const initialValues = buildInitialValues(ownProps); diff --git a/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringHeader.tsx b/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringHeader.tsx index 7fa5c93795..7575f16796 100644 --- a/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringHeader.tsx +++ b/packages/prosess-vilkar-overstyring/src/components-periodisert/VilkarresultatMedOverstyringHeader.tsx @@ -1,3 +1,7 @@ +import React, { SetStateAction } from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import { Detail, Heading, Label } from '@navikt/ds-react'; import avslattImage from '@fpsak-frontend/assets/images/avslaatt_hover.svg'; import innvilgetImage from '@fpsak-frontend/assets/images/innvilget_hover.svg'; import keyUtgraetImage from '@fpsak-frontend/assets/images/key-1-rotert-utgraet.svg'; @@ -5,10 +9,7 @@ import keyImage from '@fpsak-frontend/assets/images/key-1-rotert.svg'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { FlexColumn, FlexContainer, FlexRow, Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { Aksjonspunkt } from '@k9-sak-web/types'; -import { Detail, Heading, Label } from '@navikt/ds-react'; -import React, { SetStateAction } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; + import styles from './vilkarresultatMedOverstyringForm.module.css'; const isOverridden = (aksjonspunktCodes: string[], aksjonspunktCode: string) => @@ -110,7 +111,7 @@ const VilkarresultatMedOverstyringHeader = ({ }; const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMedOverstyringHeaderProps) => { - const aksjonspunktCodes = initialOwnProps.aksjonspunkter.map(a => a.definisjon.kode); + const aksjonspunktCodes = initialOwnProps.aksjonspunkter.map(a => a.definisjon); return (state, ownProps) => { const erOppfylt = vilkarUtfallType.OPPFYLT === ownProps.status; diff --git a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedBegrunnelse.tsx b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedBegrunnelse.tsx index 433a2a63f8..d8c9eb2e81 100644 --- a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedBegrunnelse.tsx +++ b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedBegrunnelse.tsx @@ -3,7 +3,6 @@ import { FormattedMessage } from 'react-intl'; import { VerticalSpacer, useSaksbehandlerOppslag } from '@fpsak-frontend/shared-components'; import { VilkarResultPicker } from '@k9-sak-web/prosess-felles'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; import { AssessedBy } from '@navikt/ft-plattform-komponenter'; import VilkarBegrunnelse from './VilkarBegrunnelse'; @@ -13,7 +12,6 @@ interface VilkarresultatMedBegrunnelseProps { erVilkarOk?: boolean; readOnly: boolean; erMedlemskapsPanel: boolean; - avslagsarsaker: KodeverkMedNavn[]; customVilkarIkkeOppfyltText?: CustomVilkarText; customVilkarOppfyltText?: CustomVilkarText; skalViseBegrunnelse?: boolean; @@ -29,7 +27,6 @@ interface VilkarresultatMedBegrunnelseProps { export const VilkarresultatMedBegrunnelse = ({ erVilkarOk, readOnly, - avslagsarsaker, erMedlemskapsPanel, skalViseBegrunnelse = true, customVilkarIkkeOppfyltText, @@ -47,7 +44,6 @@ export const VilkarresultatMedBegrunnelse = ({ )} ', () => { it('skal rendre form med knapp når vilkåret er overstyrt', () => { renderWithIntlAndReduxForm( @@ -14,10 +17,6 @@ describe('', () => { erVilkarOk isReadOnly overstyringApKode="5011" - avslagsarsaker={[ - { kode: 'test1', navn: 'test1', kodeverk: 'test' }, - { kode: 'test2', navn: 'test1', kodeverk: 'test' }, - ]} lovReferanse="§23" hasAksjonspunkt overrideReadOnly={false} @@ -25,15 +24,10 @@ describe('', () => { erMedlemskapsPanel={false} erOverstyrt aksjonspunkter={[]} - behandlingsresultat={{ - type: { kode: 'test', kodeverk: 'test' }, - }} + behandlingsresultat={{ type: 'test' }} behandlingId={1} behandlingVersjon={2} - behandlingType={{ - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }} + behandlingType={behandlingType.FORSTEGANGSSOKNAD} medlemskapFom="10.10.2010" status="" submitCallback={() => undefined} diff --git a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx index b867c323a8..6f6b9649e1 100644 --- a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx +++ b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringForm.tsx @@ -1,3 +1,9 @@ +import React, { SetStateAction, useEffect } from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import { InjectedFormProps } from 'redux-form'; +import { createSelector } from 'reselect'; +import moment from 'moment'; import advarselIkonUrl from '@fpsak-frontend/assets/images/advarsel_ny.svg'; import { behandlingForm, behandlingFormValueSelector } from '@fpsak-frontend/form'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; @@ -13,17 +19,12 @@ import { } from '@fpsak-frontend/shared-components'; import { DDMMYYYY_DATE_FORMAT } from '@fpsak-frontend/utils'; import { VilkarResultPicker } from '@k9-sak-web/prosess-felles'; -import { Aksjonspunkt, Kodeverk, KodeverkMedNavn, SubmitCallback } from '@k9-sak-web/types'; +import { Aksjonspunkt, SubmitCallback } from '@k9-sak-web/types'; import Vilkarperiode from '@k9-sak-web/types/src/vilkarperiode'; import { BodyShort, Button, Label } from '@navikt/ds-react'; -import moment from 'moment'; -import React, { SetStateAction, useEffect } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; -import { InjectedFormProps } from 'redux-form'; -import { createSelector } from 'reselect'; import OverstyrBekreftKnappPanel from './OverstyrBekreftKnappPanel'; import { VilkarresultatMedBegrunnelse } from './VilkarresultatMedBegrunnelse'; + import styles from './vilkarresultatMedOverstyringForm.module.css'; const getFormName = (overstyringApKode: string) => `VilkarresultatForm_${overstyringApKode}`; @@ -35,13 +36,12 @@ export interface CustomVilkarText { interface VilkarresultatMedOverstyringFormProps { aksjonspunkter: Aksjonspunkt[]; - avslagsarsaker: KodeverkMedNavn[]; behandlingsresultat: { - type: Kodeverk; + type: string; }; behandlingId: number; behandlingVersjon: number; - behandlingType: Kodeverk; + behandlingType: string; customVilkarIkkeOppfyltText?: CustomVilkarText; customVilkarOppfyltText?: CustomVilkarText; erMedlemskapsPanel: boolean; @@ -83,7 +83,6 @@ export const VilkarresultatMedOverstyringForm = ({ customVilkarOppfyltText, erMedlemskapsPanel, hasAksjonspunkt, - avslagsarsaker, overrideReadOnly, toggleOverstyring, reset, @@ -121,7 +120,6 @@ export const VilkarresultatMedOverstyringForm = ({ customVilkarIkkeOppfyltText={customVilkarIkkeOppfyltText} customVilkarOppfyltText={customVilkarOppfyltText} erMedlemskapsPanel={erMedlemskapsPanel} - avslagsarsaker={avslagsarsaker} opprettetAv={opprettetAv} /> @@ -191,7 +189,7 @@ const buildInitialValues = createSelector( (ownProps: VilkarresultatMedOverstyringFormProps) => ownProps.periode, ], (avslagKode, aksjonspunkter, status, overstyringApKode, periode) => { - const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon.kode === overstyringApKode); + const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon === overstyringApKode); return { isOverstyrt: aksjonspunkt !== undefined, ...VilkarresultatMedBegrunnelse.buildInitialValues( @@ -205,10 +203,9 @@ const buildInitialValues = createSelector( }, ); -const getCustomVilkarText = (medlemskapFom: string, behandlingType: Kodeverk, erOppfylt: boolean) => { +const getCustomVilkarText = (medlemskapFom: string, behandlingType: string, erOppfylt: boolean) => { const customVilkarText = { id: '', values: null }; - const isBehandlingRevurderingFortsattMedlemskap = - behandlingType.kode === BehandlingType.REVURDERING && !!medlemskapFom; + const isBehandlingRevurderingFortsattMedlemskap = behandlingType === BehandlingType.REVURDERING && !!medlemskapFom; if (isBehandlingRevurderingFortsattMedlemskap) { customVilkarText.id = erOppfylt ? 'VilkarResultPicker.VilkarOppfyltRevurderingFom' @@ -237,7 +234,10 @@ const transformValues = (values, overstyringApKode, periodeFom, periodeTom) => ( const validate = values => VilkarresultatMedBegrunnelse.validate(values); -const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMedOverstyringFormProps) => { +const mapStateToPropsFactory = ( + _initialState, + initialOwnProps: VilkarresultatMedOverstyringFormProps, +): ((state: any, ownProps: VilkarresultatMedOverstyringFormProps) => any) => { const { overstyringApKode, submitCallback, periode } = initialOwnProps; const periodeFom = periode?.periode?.fom; const periodeTom = periode?.periode?.tom; @@ -248,10 +248,10 @@ const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMe return (state, ownProps) => { const { behandlingId, behandlingVersjon, aksjonspunkter, erOverstyrt, overrideReadOnly } = ownProps; - const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon.kode === overstyringApKode); + const aksjonspunkt = aksjonspunkter.find(ap => ap.definisjon === overstyringApKode); const isSolvable = aksjonspunkt !== undefined - ? !(aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET && !aksjonspunkt.kanLoses) + ? !(aksjonspunkt.status === aksjonspunktStatus.OPPRETTET && !aksjonspunkt.kanLoses) : false; const initialValues = buildInitialValues(ownProps); diff --git a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringHeader.tsx b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringHeader.tsx index 7fa5c93795..7575f16796 100644 --- a/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringHeader.tsx +++ b/packages/prosess-vilkar-overstyring/src/components/VilkarresultatMedOverstyringHeader.tsx @@ -1,3 +1,7 @@ +import React, { SetStateAction } from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import { Detail, Heading, Label } from '@navikt/ds-react'; import avslattImage from '@fpsak-frontend/assets/images/avslaatt_hover.svg'; import innvilgetImage from '@fpsak-frontend/assets/images/innvilget_hover.svg'; import keyUtgraetImage from '@fpsak-frontend/assets/images/key-1-rotert-utgraet.svg'; @@ -5,10 +9,7 @@ import keyImage from '@fpsak-frontend/assets/images/key-1-rotert.svg'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { FlexColumn, FlexContainer, FlexRow, Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { Aksjonspunkt } from '@k9-sak-web/types'; -import { Detail, Heading, Label } from '@navikt/ds-react'; -import React, { SetStateAction } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; + import styles from './vilkarresultatMedOverstyringForm.module.css'; const isOverridden = (aksjonspunktCodes: string[], aksjonspunktCode: string) => @@ -110,7 +111,7 @@ const VilkarresultatMedOverstyringHeader = ({ }; const mapStateToPropsFactory = (_initialState, initialOwnProps: VilkarresultatMedOverstyringHeaderProps) => { - const aksjonspunktCodes = initialOwnProps.aksjonspunkter.map(a => a.definisjon.kode); + const aksjonspunktCodes = initialOwnProps.aksjonspunkter.map(a => a.definisjon); return (state, ownProps) => { const erOppfylt = vilkarUtfallType.OPPFYLT === ownProps.status; diff --git a/packages/prosess-vilkar-sokers-opplysningsplikt/package.json b/packages/prosess-vilkar-sokers-opplysningsplikt/package.json index 490a57a49f..f6e01c2bb0 100644 --- a/packages/prosess-vilkar-sokers-opplysningsplikt/package.json +++ b/packages/prosess-vilkar-sokers-opplysningsplikt/package.json @@ -8,6 +8,7 @@ "@fpsak-frontend/kodeverk": "1.0.0", "@fpsak-frontend/shared-components": "1.0.0", "@fpsak-frontend/utils": "1.0.0", + "@k9-sak-web/gui": "1.0.0", "@k9-sak-web/types": "1.0.0", "moment": "2.30.1", "react": "18.3.1", diff --git a/packages/prosess-vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.stories.tsx b/packages/prosess-vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.stories.tsx index 90bdd56e33..63a16e45cf 100644 --- a/packages/prosess-vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.stories.tsx +++ b/packages/prosess-vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.stories.tsx @@ -8,15 +8,15 @@ import dokumentTypeId from '@fpsak-frontend/kodeverk/src/dokumentTypeId'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { Aksjonspunkt, Behandling, Soknad } from '@k9-sak-web/types'; import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import SokersOpplysningspliktVilkarProsessIndex from './SokersOpplysningspliktVilkarProsessIndex'; const soknad = { manglendeVedlegg: [ { - dokumentType: { - kode: dokumentTypeId.INNTEKTSMELDING, - kodeverk: '', - }, + dokumentType: dokumentTypeId.INNTEKTSMELDING, arbeidsgiver: { organisasjonsnummer: '1234', navn: 'Statoil', @@ -31,34 +31,37 @@ export default { }; export const visÅpentAksjonspunkt = args => ( - + Promise} - status={vilkarUtfallType.IKKE_VURDERT} - isAksjonspunktOpen - vilkar={[]} - {...args} - /> + ] as Aksjonspunkt[] + } + alleKodeverk={alleKodeverk as any} + submitCallback={action('button-click') as () => Promise} + status={vilkarUtfallType.IKKE_VURDERT} + isAksjonspunktOpen + vilkar={[]} + {...args} + /> + ); visÅpentAksjonspunkt.args = { @@ -67,35 +70,38 @@ visÅpentAksjonspunkt.args = { }; export const visOppfyltVilkår = args => ( - + Promise} - status={vilkarUtfallType.OPPFYLT} - isAksjonspunktOpen={false} - vilkar={[]} - {...args} - /> + ] as Aksjonspunkt[] + } + alleKodeverk={alleKodeverk as any} + submitCallback={action('button-click') as () => Promise} + status={vilkarUtfallType.OPPFYLT} + isAksjonspunktOpen={false} + vilkar={[]} + {...args} + /> + ); visOppfyltVilkår.args = { @@ -104,39 +110,40 @@ visOppfyltVilkår.args = { }; export const visAvslåttVilkår = args => ( - + Promise} - status={vilkarUtfallType.IKKE_OPPFYLT} - isAksjonspunktOpen={false} - vilkar={[]} - {...args} - /> + ] as Aksjonspunkt[] + } + alleKodeverk={alleKodeverk as any} + submitCallback={action('button-click') as () => Promise} + status={vilkarUtfallType.IKKE_OPPFYLT} + isAksjonspunktOpen={false} + vilkar={[]} + {...args} + /> + ); visAvslåttVilkår.args = { diff --git a/packages/prosess-vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.tsx b/packages/prosess-vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.tsx index de2a35886f..9f2bcb3552 100644 --- a/packages/prosess-vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.tsx +++ b/packages/prosess-vilkar-sokers-opplysningsplikt/src/SokersOpplysningspliktVilkarProsessIndex.tsx @@ -3,8 +3,12 @@ import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; import { Soknad } from '@k9-sak-web/types'; import { StandardProsessFormProps } from '@k9-sak-web/prosess-felles'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { KodeverkObject } from '@k9-sak-web/lib/kodeverk/types/KodeverkV2.js'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import SokersOpplysningspliktForm from './components/SokersOpplysningspliktForm'; + import messages from '../i18n/nb_NO.json'; const cache = createIntlCache(); @@ -29,22 +33,24 @@ const SokersOpplysningspliktVilkarProsessIndex = ({ submitCallback, isReadOnly, readOnlySubmitButton, - alleKodeverk, -}: OwnProps & StandardProsessFormProps) => ( - - - -); +}: OwnProps & StandardProsessFormProps) => { + const { hentKodeverkForKode } = useKodeverkContext(); + return ( + + + + ); +}; export default SokersOpplysningspliktVilkarProsessIndex; diff --git a/packages/prosess-vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.spec.tsx b/packages/prosess-vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.spec.tsx index ba1192950f..e086927cf7 100644 --- a/packages/prosess-vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.spec.tsx +++ b/packages/prosess-vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.spec.tsx @@ -1,11 +1,12 @@ +import React from 'react'; +import { screen } from '@testing-library/react'; + import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import dokumentTypeId from '@fpsak-frontend/kodeverk/src/dokumentTypeId'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-helper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { Behandling, ManglendeVedleggSoknad, Soknad } from '@k9-sak-web/types'; -import { screen } from '@testing-library/react'; -import React from 'react'; import { intlMock } from '../../i18n'; import messages from '../../i18n/nb_NO.json'; import { @@ -15,15 +16,10 @@ import { } from './SokersOpplysningspliktForm'; describe('', () => { - const getKodeverknavn = () => undefined; - it('skal vise tabell med manglende vedlegg', () => { const manglendeVedlegg = [ { - dokumentType: { - kode: dokumentTypeId.INNTEKTSMELDING, - kodeverk: '', - }, + dokumentType: dokumentTypeId.INNTEKTSMELDING, arbeidsgiver: { organisasjonsnummer: '973861778', navn: 'Statoil Asaavd Statoil Sokkelvirksomhet', @@ -31,10 +27,7 @@ describe('', () => { brukerHarSagtAtIkkeKommer: false, }, { - dokumentType: { - kode: dokumentTypeId.DOKUMENTASJON_AV_TERMIN_ELLER_FØDSEL, - kodeverk: '', - }, + dokumentType: dokumentTypeId.DOKUMENTASJON_AV_TERMIN_ELLER_FØDSEL, arbeidsgiver: null, brukerHarSagtAtIkkeKommer: null, }, @@ -66,14 +59,12 @@ describe('', () => { manglendeVedlegg={manglendeVedlegg} dokumentTypeIds={dokumentTypeIds} inntektsmeldingerSomIkkeKommer={undefined} - getKodeverknavn={getKodeverknavn} behandlingId={1} behandlingVersjon={1} soknad={{} as Soknad} aksjonspunkter={[]} status="test" submitCallback={() => undefined} - alleKodeverk={{}} originalErVilkarOk />, { messages }, @@ -103,14 +94,12 @@ describe('', () => { manglendeVedlegg={manglendeVedlegg} dokumentTypeIds={dokumentTypeIds} inntektsmeldingerSomIkkeKommer={undefined} - getKodeverknavn={getKodeverknavn} behandlingId={1} behandlingVersjon={1} soknad={{} as Soknad} aksjonspunkter={[]} status="test" submitCallback={() => undefined} - alleKodeverk={{}} originalErVilkarOk />, { messages }, @@ -123,18 +112,12 @@ describe('', () => { it('skal sortere manglende vedlegg', () => { const manglendeVedlegg = [ { - dokumentType: { - kode: dokumentTypeId.DOKUMENTASJON_AV_TERMIN_ELLER_FØDSEL, - kodeverk: '', - }, + dokumentType: dokumentTypeId.DOKUMENTASJON_AV_TERMIN_ELLER_FØDSEL, arbeidsgiver: null, brukerHarSagtAtIkkeKommer: null, }, { - dokumentType: { - kode: dokumentTypeId.INNTEKTSMELDING, - kodeverk: '', - }, + dokumentType: dokumentTypeId.INNTEKTSMELDING, arbeidsgiver: { organisasjonsnummer: '973861778', }, @@ -152,10 +135,7 @@ describe('', () => { it('skal sette opp formens initielle verdier', () => { const manglendeVedlegg = [ { - dokumentType: { - kode: dokumentTypeId.INNTEKTSMELDING, - kodeverk: '', - }, + dokumentType: dokumentTypeId.INNTEKTSMELDING, arbeidsgiver: { organisasjonsnummer: '973861778', }, diff --git a/packages/prosess-vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx b/packages/prosess-vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx index dc3904c1b8..3cd7187e33 100644 --- a/packages/prosess-vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx +++ b/packages/prosess-vilkar-sokers-opplysningsplikt/src/components/SokersOpplysningspliktForm.tsx @@ -2,13 +2,12 @@ import { RadioGroupField, behandlingForm, behandlingFormValueSelector } from '@f import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { isAksjonspunktOpen } from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import dokumentTypeId from '@fpsak-frontend/kodeverk/src/dokumentTypeId'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import vilkarType from '@fpsak-frontend/kodeverk/src/vilkarType'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { DDMMYYYY_DATE_FORMAT, getKodeverknavnFn, isObject, required } from '@fpsak-frontend/utils'; +import { DDMMYYYY_DATE_FORMAT, isObject, required } from '@fpsak-frontend/utils'; import { ProsessPanelTemplate, ProsessStegBegrunnelseTextField } from '@k9-sak-web/prosess-felles'; -import { Aksjonspunkt, Behandling, Kodeverk, KodeverkMedNavn, ManglendeVedleggSoknad, Soknad } from '@k9-sak-web/types'; +import { Aksjonspunkt, Behandling, KodeverkMedNavn, ManglendeVedleggSoknad, Soknad } from '@k9-sak-web/types'; import { BodyShort, HGrid, Table } from '@navikt/ds-react'; import moment from 'moment'; import React from 'react'; @@ -16,6 +15,8 @@ import { FormattedMessage, WrappedComponentProps, injectIntl } from 'react-intl' import { connect } from 'react-redux'; import { InjectedFormProps } from 'redux-form'; import { createSelector } from 'reselect'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; const formName = 'SokersOpplysningspliktForm'; @@ -81,11 +82,10 @@ interface PureOwnProps { submitCallback: (aksjonspunktData: { kode: string }[]) => Promise; readOnly: boolean; readOnlySubmitButton: boolean; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; + dokumentTypeIds: KodeverkMedNavn[]; } interface MappedOwnProps { - getKodeverknavn: (kodeverk: Kodeverk, undertype?: string) => string; hasSoknad: boolean; originalErVilkarOk: boolean; dokumentTypeIds: KodeverkMedNavn[]; @@ -113,99 +113,105 @@ export const SokersOpplysningspliktFormImpl = ({ manglendeVedlegg, dokumentTypeIds, inntektsmeldingerSomIkkeKommer, - getKodeverknavn, behandlingId, behandlingVersjon, ...formProps -}: PureOwnProps & MappedOwnProps & WrappedComponentProps & InjectedFormProps) => ( - - {manglendeVedlegg.length > 0 && ( - <> - - - - - - -
- - - {manglendeVedlegg.map(vedlegg => ( - - - {dokumentTypeIds.find(dti => dti.kode === vedlegg.dokumentType.kode).navn} - - - {vedlegg.dokumentType.kode === dokumentTypeId.INNTEKTSMELDING && - formatArbeidsgiver(vedlegg.arbeidsgiver)} - - - ))} - -
-
-
- - )} - - {!readOnly && ( - <> - - - , - }, - { - value: false, - label: getLabel(intl), - }, - ]} - /> - - - )} - {readOnly && ( -
- {originalErVilkarOk === false && behandlingsresultat?.avslagsarsak && ( - <> - - - {getKodeverknavn(behandlingsresultat.avslagsarsak, vilkarType.SOKERSOPPLYSNINGSPLIKT)} - - - )} -
- )} -
-); +}: PureOwnProps & MappedOwnProps & WrappedComponentProps & InjectedFormProps) => { + const { kodeverkNavnFraUndertypeKode } = useKodeverkContext(); + return ( + + {manglendeVedlegg.length > 0 && ( + <> + + + + + + +
+ + + {manglendeVedlegg.map(vedlegg => ( + + + {dokumentTypeIds.find(dti => dti.kode === vedlegg.dokumentType).navn} + + + {vedlegg.dokumentType === dokumentTypeId.INNTEKTSMELDING && + formatArbeidsgiver(vedlegg.arbeidsgiver)} + + + ))} + +
+
+
+ + )} + + {!readOnly && ( + <> + + + , + }, + { + value: false, + label: getLabel(intl), + }, + ]} + /> + + + )} + {readOnly && ( +
+ {originalErVilkarOk === false && behandlingsresultat?.avslagsarsak && ( + <> + + + {kodeverkNavnFraUndertypeKode( + behandlingsresultat.avslagsarsak, + vilkarType.SOKERSOPPLYSNINGSPLIKT, + KodeverkType.AVSLAGSARSAK, + )} + + + )} +
+ )} +
+ ); +}; export const getSortedManglendeVedlegg = createSelector([(ownProps: PureOwnProps) => ownProps.soknad], soknad => soknad && soknad.manglendeVedlegg ? soknad.manglendeVedlegg .slice() - .sort(mv1 => (mv1.dokumentType.kode === dokumentTypeId.DOKUMENTASJON_AV_TERMIN_ELLER_FØDSEL ? 1 : -1)) + .sort(mv1 => (mv1.dokumentType === dokumentTypeId.DOKUMENTASJON_AV_TERMIN_ELLER_FØDSEL ? 1 : -1)) : [], ); @@ -230,11 +236,11 @@ export const buildInitialValues = createSelector( ], (manglendeVedlegg, soknadExists, status, aksjonspunkter): FormValues => { const aksjonspunkt = aksjonspunkter.length > 0 ? aksjonspunkter[0] : undefined; - const isOpenAksjonspunkt = aksjonspunkt && isAksjonspunktOpen(aksjonspunkt.status.kode); + const isOpenAksjonspunkt = aksjonspunkt && isAksjonspunktOpen(aksjonspunkt.status); const isVilkarGodkjent = soknadExists && vilkarUtfallType.OPPFYLT === status; const inntektsmeldingerSomIkkeKommer = manglendeVedlegg - .filter(mv => mv.dokumentType.kode === dokumentTypeId.INNTEKTSMELDING) + .filter(mv => mv.dokumentType === dokumentTypeId.INNTEKTSMELDING) .reduce( (acc, mv) => ({ ...acc, @@ -246,7 +252,7 @@ export const buildInitialValues = createSelector( return { inntektsmeldingerSomIkkeKommer, erVilkarOk: isOpenAksjonspunkt && soknadExists ? undefined : isVilkarGodkjent, - aksjonspunktKode: aksjonspunkt ? aksjonspunkt.definisjon.kode : aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_OVST, + aksjonspunktKode: aksjonspunkt ? aksjonspunkt.definisjon : aksjonspunktCodes.SOKERS_OPPLYSNINGSPLIKT_OVST, hasAksjonspunkt: aksjonspunkt !== undefined, ...ProsessStegBegrunnelseTextField.buildInitialValues(aksjonspunkter), }; @@ -255,7 +261,7 @@ export const buildInitialValues = createSelector( const transformValues = (values: FormValues, manglendeVedlegg: ManglendeVedleggSoknad[]) => { const arbeidsgivere = manglendeVedlegg - .filter(mv => mv.dokumentType.kode === dokumentTypeId.INNTEKTSMELDING) + .filter(mv => mv.dokumentType === dokumentTypeId.INNTEKTSMELDING) .map(mv => mv.arbeidsgiver); return { kode: values.aksjonspunktKode, @@ -278,18 +284,16 @@ const submitSelector = createSelector( ); const mapStateToPropsFactory = (_initialState, initialOwnProps: PureOwnProps) => { - const getKodeverknavn = getKodeverknavnFn(initialOwnProps.alleKodeverk, kodeverkTyper); - const isOpenAksjonspunkt = initialOwnProps.aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status.kode)); + const isOpenAksjonspunkt = initialOwnProps.aksjonspunkter.some(ap => isAksjonspunktOpen(ap.status)); const erVilkarOk = isOpenAksjonspunkt ? undefined : vilkarUtfallType.OPPFYLT === initialOwnProps.status; return (state, ownProps: PureOwnProps): MappedOwnProps => { - const { behandlingId, behandlingVersjon, alleKodeverk } = ownProps; + const { behandlingId, behandlingVersjon, dokumentTypeIds } = ownProps; return { - getKodeverknavn, onSubmit: submitSelector(ownProps), hasSoknad: harSoknad(ownProps), originalErVilkarOk: erVilkarOk, - dokumentTypeIds: alleKodeverk[kodeverkTyper.DOKUMENT_TYPE_ID], + dokumentTypeIds, manglendeVedlegg: getSortedManglendeVedlegg(ownProps), initialValues: buildInitialValues(ownProps), ...behandlingFormValueSelector(formName, behandlingId, behandlingVersjon)( diff --git a/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx b/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx index 0ddf40e649..d67f711175 100644 --- a/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx +++ b/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.spec.tsx @@ -1,7 +1,7 @@ +import React from 'react'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { Behandling } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; -import React from 'react'; import SoknadsfristVilkarProsessIndex from './SoknadsfristVilkarProsessIndex'; import messages from '../i18n/nb_NO.json'; @@ -36,10 +36,7 @@ describe('', () => { fom: '2020-03-01', tom: '2020-04-01', }, - vilkarStatus: { - kode: 'test', - kodeverk: 'test', - }, + vilkarStatus: 'test', avslagKode: 'test', vurderesIBehandlingen: true, merknadParametere: { @@ -48,10 +45,7 @@ describe('', () => { }, ], overstyrbar: true, - vilkarType: { - kode: 'test', - kodeverk: 'test', - }, + vilkarType: 'test', }, ]} soknadsfristStatus={soknadsfristStatus} @@ -79,28 +73,16 @@ describe('', () => { submitCallback={vi.fn()} aksjonspunkter={[ { - aksjonspunktType: { - kode: 'MANU', - kodeverk: 'AKSJONSPUNKT_TYPE', - }, + aksjonspunktType: 'MANU', // AKSJONSPUNKT_TYPE begrunnelse: 'begrunnelse', besluttersBegrunnelse: null, - definisjon: { - kode: '5077', - kodeverk: 'AKSJONSPUNKT_DEF', - }, + definisjon: '5077', // AKSJONSPUNKT_DEF erAktivt: true, kanLoses: true, - status: { - kode: 'OPPR', - kodeverk: 'AKSJONSPUNKT_STATUS', - }, + status: 'OPPR', // AKSJONSPUNKT_STATUS toTrinnsBehandling: true, toTrinnsBehandlingGodkjent: null, - vilkarType: { - kode: 'FP_VK_3', - kodeverk: 'VILKAR_TYPE', - }, + vilkarType: 'FP_VK_3', // VILKAR_TYPE vurderPaNyttArsaker: null, }, ]} @@ -115,10 +97,7 @@ describe('', () => { fom: '2023-02-01', tom: '2024-04-01', }, - vilkarStatus: { - kode: 'test', - kodeverk: 'test', - }, + vilkarStatus: 'test', avslagKode: 'test', vurderesIBehandlingen: true, merknadParametere: { @@ -127,10 +106,7 @@ describe('', () => { }, ], overstyrbar: true, - vilkarType: { - kode: 'test', - kodeverk: 'test', - }, + vilkarType: 'test', }, ]} soknadsfristStatus={{ @@ -143,10 +119,7 @@ describe('', () => { fom: '2023-03-01', tom: '2024-03-01', }, - status: { - kode: 'OPPFYLT', - kodeverk: 'VILKAR_UTFALL_TYPE', - }, + status: 'OPPFYLT', // VILKAR_UTFALL_TYPE }, ], innsendingstidspunkt: '2024-03-26T00:02:27.327', diff --git a/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.stories.tsx b/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.stories.tsx index c244253dfc..12e3ef8241 100644 --- a/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.stories.tsx +++ b/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.stories.tsx @@ -9,11 +9,11 @@ import SoknadsfristVilkarProsessIndex from './SoknadsfristVilkarProsessIndex'; const vilkarSoknadsfrist = [ { - vilkarType: { kode: vilkarType.SOKNADSFRISTVILKARET, kodeverk: 'test' }, + vilkarType: vilkarType.SOKNADSFRISTVILKARET, overstyrbar: true, perioder: [ { - vilkarStatus: { kode: vilkarUtfallType.IKKE_OPPFYLT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_OPPFYLT, vurderesIBehandlingen: true, periode: { fom: '2020-02-20', @@ -21,7 +21,7 @@ const vilkarSoknadsfrist = [ }, }, { - vilkarStatus: { kode: vilkarUtfallType.IKKE_OPPFYLT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.IKKE_OPPFYLT, vurderesIBehandlingen: true, periode: { fom: '2020-02-26', @@ -29,7 +29,7 @@ const vilkarSoknadsfrist = [ }, }, { - vilkarStatus: { kode: vilkarUtfallType.OPPFYLT, kodeverk: 'test' }, + vilkarStatus: vilkarUtfallType.OPPFYLT, vurderesIBehandlingen: true, periode: { fom: '2020-02-28', @@ -47,7 +47,7 @@ const soknadsStatus = { status: [ { periode: { fom: '2020-02-20', tom: '2020-02-25' }, - status: { kode: vilkarUtfallType.IKKE_OPPFYLT, kodeverk: 'test' }, + status: vilkarUtfallType.IKKE_OPPFYLT, }, ], innsendingstidspunkt: '2020-06-01', @@ -60,7 +60,7 @@ const soknadsStatus = { status: [ { periode: { fom: '2020-02-26', tom: '2020-02-27' }, - status: { kode: vilkarUtfallType.IKKE_OPPFYLT, kodeverk: 'test' }, + status: vilkarUtfallType.IKKE_OPPFYLT, }, ], innsendingstidspunkt: '2020-06-01', @@ -78,7 +78,7 @@ export default { const behandling = { id: 1, versjon: 1, - type: { kode: behandlingType.FØRSTEGANGSSØKNAD, kodeverk: 'BEHANDLING_TYPE' }, + type: behandlingType.FØRSTEGANGSSØKNAD, } as Behandling; export const visOverstyringspanelForSoknadsfrist = props => { diff --git a/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.tsx b/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.tsx index 75c1668b70..08f5457de6 100644 --- a/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.tsx +++ b/packages/prosess-vilkar-soknadsfrist/src/SoknadsfristVilkarProsessIndex.tsx @@ -1,7 +1,7 @@ -import classNames from 'classnames/bind'; -import moment from 'moment'; import React, { SetStateAction, useEffect, useState } from 'react'; import { RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; +import moment from 'moment'; +import classNames from 'classnames/bind'; import advarselIcon from '@fpsak-frontend/assets/images/advarsel.svg'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; @@ -95,7 +95,7 @@ const SoknadsfristVilkarProsessIndex = ({ useEffect(() => { if (perioder.length > 1) { const førsteIkkeVurdertPeriodeIndex = perioder.findIndex( - periode => periode.vurderesIBehandlingen && periode.vilkarStatus.kode === vilkarUtfallType.IKKE_VURDERT, + periode => periode.vurderesIBehandlingen && periode.vilkarStatus === vilkarUtfallType.IKKE_VURDERT, ); if (førsteIkkeVurdertPeriodeIndex > 0) { setActiveTab(førsteIkkeVurdertPeriodeIndex); @@ -107,15 +107,15 @@ const SoknadsfristVilkarProsessIndex = ({ const harÅpentAksjonspunkt = aksjonspunkter.some( ap => - ap.definisjon.kode === aksjonspunktCodes.KONTROLLER_OPPLYSNINGER_OM_SØKNADSFRIST && - ap.status.kode === aksjonspunktStatus.OPPRETTET && + ap.definisjon === aksjonspunktCodes.KONTROLLER_OPPLYSNINGER_OM_SØKNADSFRIST && + ap.status === aksjonspunktStatus.OPPRETTET && ap.kanLoses, ); const dokumenterSomSkalVurderes = Array.isArray(soknadsfristStatus?.dokumentStatus) ? soknadsfristStatus.dokumentStatus.filter(dok => dok.status.some(status => { - const erOppfyllt = status.status.kode === vilkarUtfallType.OPPFYLT; + const erOppfyllt = status.status === vilkarUtfallType.OPPFYLT; const avklartEllerOverstyrt = dok.overstyrteOpplysninger || dok.avklarteOpplysninger; if (erOppfyllt && !avklartEllerOverstyrt) { @@ -166,7 +166,7 @@ const SoknadsfristVilkarProsessIndex = ({ active: activeTab === index, label: `${dateFormat(periode.fom)} - ${dateFormat(periode.tom)}`, icon: - (erOverstyrt || harÅpentAksjonspunkt) && vilkarStatus.kode !== vilkarUtfallType.OPPFYLT ? ( + (erOverstyrt || harÅpentAksjonspunkt) && vilkarStatus !== vilkarUtfallType.OPPFYLT ? ( ) => void; alleDokumenter?: DokumentStatus[]; dokumenterIAktivPeriode?: DokumentStatus[]; @@ -223,7 +223,7 @@ const buildInitialValues = createSelector( ], (aksjonspunkter, alleDokumenter, status) => { const overstyrtAksjonspunkt = aksjonspunkter.find( - ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_SOKNADSFRISTVILKAR, + ap => ap.definisjon === aksjonspunktCodes.OVERSTYR_SOKNADSFRISTVILKAR, ); return { @@ -290,17 +290,17 @@ const mapStateToPropsFactory = (_initialState, initialOwnProps: SoknadsfristVilk const periodeFom = periode?.periode?.fom; const periodeTom = periode?.periode?.tom; - return (state, ownProps) => { + return (state: any, ownProps: SoknadsfristVilkarFormProps) => { const { behandlingId, behandlingVersjon, aksjonspunkter, harÅpentAksjonspunkt, erOverstyrt, overrideReadOnly } = ownProps; const aksjonspunkt = harÅpentAksjonspunkt - ? aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.KONTROLLER_OPPLYSNINGER_OM_SØKNADSFRIST) - : aksjonspunkter.find(ap => ap.definisjon.kode === aksjonspunktCodes.OVERSTYR_SOKNADSFRISTVILKAR); + ? aksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.KONTROLLER_OPPLYSNINGER_OM_SØKNADSFRIST) + : aksjonspunkter.find(ap => ap.definisjon === aksjonspunktCodes.OVERSTYR_SOKNADSFRISTVILKAR); const isSolvable = harÅpentAksjonspunkt || aksjonspunkt !== undefined - ? !(aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET && !aksjonspunkt.kanLoses) + ? !(aksjonspunkt.status === aksjonspunktStatus.OPPRETTET && !aksjonspunkt.kanLoses) : false; const aksjonspunktCode = harÅpentAksjonspunkt diff --git a/packages/prosess-vilkar-soknadsfrist/src/components/SoknadsfristVilkarHeader.tsx b/packages/prosess-vilkar-soknadsfrist/src/components/SoknadsfristVilkarHeader.tsx index c5284848aa..feaa6f5bed 100644 --- a/packages/prosess-vilkar-soknadsfrist/src/components/SoknadsfristVilkarHeader.tsx +++ b/packages/prosess-vilkar-soknadsfrist/src/components/SoknadsfristVilkarHeader.tsx @@ -1,3 +1,7 @@ +import React, { SetStateAction } from 'react'; +import { FormattedMessage } from 'react-intl'; +import { connect } from 'react-redux'; +import { Detail, Heading, Label } from '@navikt/ds-react'; import avslattImage from '@fpsak-frontend/assets/images/avslaatt_hover.svg'; import innvilgetImage from '@fpsak-frontend/assets/images/innvilget_hover.svg'; import keyUtgraetImage from '@fpsak-frontend/assets/images/key-1-rotert-utgraet.svg'; @@ -5,10 +9,6 @@ import keyImage from '@fpsak-frontend/assets/images/key-1-rotert.svg'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; import { FlexColumn, FlexContainer, FlexRow, Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { Aksjonspunkt } from '@k9-sak-web/types'; -import { Detail, Heading, Label } from '@navikt/ds-react'; -import React, { SetStateAction } from 'react'; -import { FormattedMessage } from 'react-intl'; -import { connect } from 'react-redux'; import styles from './SoknadsfristVilkarForm.module.css'; const isOverridden = (aksjonspunktCodes: string[], aksjonspunktCode: string) => @@ -110,7 +110,7 @@ const SoknadsfristVilkarHeader = ({ }; const mapStateToPropsFactory = (_initialState, initialOwnProps: SoknadsfristVilkarHeaderProps) => { - const aksjonspunktCodes = initialOwnProps.aksjonspunkter.map(a => a.definisjon.kode); + const aksjonspunktCodes = initialOwnProps.aksjonspunkter.map(a => a.definisjon); return (state, ownProps) => { const erOppfylt = vilkarUtfallType.OPPFYLT === ownProps.status; diff --git a/packages/prosess-vilkar-sykdom/src/SykdomProsessIndex.tsx b/packages/prosess-vilkar-sykdom/src/SykdomProsessIndex.tsx index ed6b2d9429..e7706f6273 100644 --- a/packages/prosess-vilkar-sykdom/src/SykdomProsessIndex.tsx +++ b/packages/prosess-vilkar-sykdom/src/SykdomProsessIndex.tsx @@ -1,3 +1,7 @@ +import React from 'react'; +import classNames from 'classnames/bind'; +import isEqual from 'lodash/isEqual'; +import { FormattedMessage, RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; import avslattImage from '@fpsak-frontend/assets/images/avslaatt_hover.svg'; import innvilgetImage from '@fpsak-frontend/assets/images/innvilget_hover.svg'; import vilkarUtfallType from '@fpsak-frontend/kodeverk/src/vilkarUtfallType'; @@ -9,11 +13,8 @@ import { dateFormat } from '@fpsak-frontend/utils'; import Vilkarperiode from '@k9-sak-web/types/src/vilkarperiode'; import { Detail, Heading, Label } from '@navikt/ds-react'; import { SideMenu } from '@navikt/ft-plattform-komponenter'; -import classNames from 'classnames/bind'; -import isEqual from 'lodash/isEqual'; -import React from 'react'; -import { FormattedMessage, RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; import messages from '../i18n/nb_NO.json'; + import styles from './sykdomProsessIndex.module.css'; const cx = classNames.bind(styles); @@ -55,7 +56,7 @@ interface SykdomProsessIndexProps { const SykdomProsessIndex = ({ perioder, panelTittelKode, lovReferanse }: SykdomProsessIndexProps) => { const [activePeriode, setActivePeriode] = React.useState(perioder[0]); - const status = activePeriode?.vilkarStatus.kode || vilkarUtfallType.IKKE_VURDERT; + const status = activePeriode?.vilkarStatus || vilkarUtfallType.IKKE_VURDERT; const erOppfylt = vilkarUtfallType.OPPFYLT === status; const erVilkarOk = vilkarUtfallType.IKKE_VURDERT !== status ? erOppfylt : undefined; const skalBrukeSidemeny = perioder.length > 1; diff --git a/packages/rest-api/package.json b/packages/rest-api/package.json index 22f5e53a71..28c49df173 100644 --- a/packages/rest-api/package.json +++ b/packages/rest-api/package.json @@ -5,6 +5,7 @@ "license": "MIT", "private": true, "dependencies": { + "@k9-sak-web/lib": "1.0.0", "axios": "1.7.2", "node-cache": "5.1.2" } diff --git a/packages/rest-api/src/axios/getAxiosHttpClientApi.ts b/packages/rest-api/src/axios/getAxiosHttpClientApi.ts index 4b7404586c..808f41f0ee 100644 --- a/packages/rest-api/src/axios/getAxiosHttpClientApi.ts +++ b/packages/rest-api/src/axios/getAxiosHttpClientApi.ts @@ -1,5 +1,6 @@ +import { AxiosResponse } from 'axios'; +import { konverterKodeverkTilKode } from '@k9-sak-web/lib/kodeverk/konverterKodeverkTilKode.js'; import axiosEtag from './axiosEtag'; - import initRestMethods from './initRestMethods'; /** @@ -17,6 +18,23 @@ const getAxiosHttpClientApi = () => { return config; }); + /* + * Interceptor for å sjekke alle api resonser for kodeverk-obekter og konverttere dem til nye kodeverkstrenger + * Denne vil skrive om de "gamle" kodeverkobjektene til nye, og gjør at backend gradvis kan skrive om til + * kodeverkstrenger. Når alt er skrevet om kan denne fjernes. + */ + axiosInstance.interceptors.response.use((response: AxiosResponse) => { + if ( + response.status === 200 && + response.config.url.includes('/api/') && + !response.config.url.includes('/api/kodeverk') + ) { + const erTilbakekreving = response.config.url.includes('/k9tilbake/api/'); + konverterKodeverkTilKode(response.data, erTilbakekreving); + } + return response; + }); + const restMethods = initRestMethods(axiosInstance); return { get: restMethods.get, diff --git a/packages/sak-aktor/src/AktorSakIndex.stories.tsx b/packages/sak-aktor/src/AktorSakIndex.stories.tsx index a23b192edf..95575c43a7 100644 --- a/packages/sak-aktor/src/AktorSakIndex.stories.tsx +++ b/packages/sak-aktor/src/AktorSakIndex.stories.tsx @@ -1,24 +1,17 @@ import React from 'react'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import relasjonsRolleType from '@fpsak-frontend/kodeverk/src/relasjonsRolleType'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import AktorSakIndex from '@k9-sak-web/sak-aktor'; import { Fagsak } from '@k9-sak-web/types'; -import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; const fagsak = { saksnummer: '35425245', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - relasjonsRolleType: { - kode: relasjonsRolleType.MOR, - kodeverk: '', - }, - status: { - kode: fagsakStatus.UNDER_BEHANDLING, - kodeverk: 'FAGSAK_STATUS', - }, + sakstype: fagsakYtelsesType.FP, // FAGSAK_YTELSE + relasjonsRolleType: relasjonsRolleType.MOR, + status: fagsakStatus.UNDER_BEHANDLING, // FAGSAK_STATUS barnFodt: '2020-01-01', opprettet: '2020-01-01', endret: '2020-01-01', @@ -50,17 +43,11 @@ export const visSakerOpprettetPaAktor = () => ( alder: 41, personnummer: '123456233', erKvinne: false, - personstatusType: { - kode: personstatusType.BOSATT, - kodeverk: '', - }, + personstatusType: personstatusType.BOSATT, }, }} - alleKodeverk={alleKodeverk as any} finnPathToFagsak={() => 'path'} /> ); -export const visningAvUgyldigAktorId = () => ( - 'path'} /> -); +export const visningAvUgyldigAktorId = () => 'path'} />; diff --git a/packages/sak-aktor/src/AktorSakIndex.tsx b/packages/sak-aktor/src/AktorSakIndex.tsx index 1fddcf38db..214a43a8c4 100644 --- a/packages/sak-aktor/src/AktorSakIndex.tsx +++ b/packages/sak-aktor/src/AktorSakIndex.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { FormattedMessage, RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; -import { Aktor, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Aktor } from '@k9-sak-web/types'; import { BodyShort } from '@navikt/ds-react'; import messages from '../i18n/nb_NO.json'; @@ -20,13 +20,12 @@ const intl = createIntl( interface OwnProps { valgtAktorId: string; aktorInfo?: Aktor; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; finnPathToFagsak: (saksnummer: string) => string; } -const AktorSakIndex = ({ valgtAktorId, aktorInfo, alleKodeverk, finnPathToFagsak }: OwnProps) => ( +const AktorSakIndex = ({ valgtAktorId, aktorInfo, finnPathToFagsak }: OwnProps) => ( - {aktorInfo && } + {aktorInfo && } {!aktorInfo && ( diff --git a/packages/sak-aktor/src/components/AktoerGrid.tsx b/packages/sak-aktor/src/components/AktoerGrid.tsx index 4efb4f30e2..e77844c84d 100644 --- a/packages/sak-aktor/src/components/AktoerGrid.tsx +++ b/packages/sak-aktor/src/components/AktoerGrid.tsx @@ -2,10 +2,10 @@ import { LinkPanel } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage } from 'react-intl'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import VisittkortSakIndex from '@fpsak-frontend/sak-visittkort'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; -import { Fagsak, FagsakPerson, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Fagsak, FagsakPerson } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import styles from './aktoerGrid.module.css'; @@ -14,24 +14,23 @@ interface OwnProps { fagsaker: Fagsak[]; person: FagsakPerson; }; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; finnPathToFagsak: (saksnummer: string) => string; } -const AktoerGrid = ({ aktorInfo, alleKodeverk, finnPathToFagsak }: OwnProps) => { - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); +const AktoerGrid = ({ aktorInfo, finnPathToFagsak }: OwnProps) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); return ( <> - +
{aktorInfo.fagsaker.length ? ( aktorInfo.fagsaker.map(fagsak => ( - {getKodeverknavn(fagsak.sakstype)} + {kodeverkNavnFraKode(fagsak.sakstype, KodeverkType.FAGSAK_YTELSE)} {` (${fagsak.saksnummer}) `} - {getKodeverknavn(fagsak.status)} + {kodeverkNavnFraKode(fagsak.status, KodeverkType.FAGSAK_STATUS)} )) diff --git a/packages/sak-app/src/aktoer/AktoerIndex.tsx b/packages/sak-app/src/aktoer/AktoerIndex.tsx index 2c238c98e3..6a2e274999 100644 --- a/packages/sak-app/src/aktoer/AktoerIndex.tsx +++ b/packages/sak-app/src/aktoer/AktoerIndex.tsx @@ -4,7 +4,7 @@ import { Aktor, KodeverkMedNavn } from '@k9-sak-web/types'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState } from '@k9-sak-web/rest-api-hooks'; import AktorSakIndex from '@k9-sak-web/sak-aktor'; - +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; import useTrackRouteParam from '../app/useTrackRouteParam'; import { restApiHooks, K9sakApiKeys } from '../data/k9sakApi'; import { pathToFagsak } from '../app/paths'; @@ -33,12 +33,9 @@ const AktoerIndex = () => { } return ( - + + + ); }; diff --git a/packages/sak-app/src/app/util/access.spec.ts b/packages/sak-app/src/app/util/access.spec.ts index 880054de97..5aafe628d1 100644 --- a/packages/sak-app/src/app/util/access.spec.ts +++ b/packages/sak-app/src/app/util/access.spec.ts @@ -21,14 +21,14 @@ describe('access', () => { describe('writeAccess', () => { const validFagsakStatuser = [fagsakStatusCode.OPPRETTET, fagsakStatusCode.UNDER_BEHANDLING]; - const validFagsakStatus = { kode: validFagsakStatuser[0], kodeverk: '' }; + const validFagsakStatus = validFagsakStatuser[0]; const validBehandlingStatuser = [behandlingStatusCode.OPPRETTET, behandlingStatusCode.BEHANDLING_UTREDES]; - const validBehandlingStatus = { kode: validBehandlingStatuser[0], kodeverk: '' }; - const validBehandlingTyper = { kode: BehandlingType.FORSTEGANGSSOKNAD, kodeverk: '' }; + const validBehandlingStatus = validBehandlingStatuser[0]; + const validBehandlingTyper = BehandlingType.FORSTEGANGSSOKNAD; - const behandlingstypeSomIkkeErKlage = { kode: BehandlingType.FORSTEGANGSSOKNAD, kodeverk: '' }; - const klage = { kode: BehandlingType.KLAGE, kodeverk: '' }; + const behandlingstypeSomIkkeErKlage = BehandlingType.FORSTEGANGSSOKNAD; + const klage = BehandlingType.KLAGE; it('saksbehandler skal ha skrivetilgang', () => { const accessForSaksbehandler = writeAccess(behandlingstypeSomIkkeErKlage)( @@ -61,8 +61,8 @@ describe('access', () => { it(`${getTestName('skrivetilgang', expected, fagsakStatus, behandlingStatus)}`, () => { const access = writeAccess(behandlingstype)( saksbehandlerAnsatt, - { kode: fagsakStatus, kodeverk: '' }, - { kode: behandlingStatus, kodeverk: '' }, + fagsakStatus, + behandlingStatus, validBehandlingTyper, ); @@ -73,11 +73,11 @@ describe('access', () => { describe('kanOverstyreAccess', () => { const validFagsakStatuser = [fagsakStatusCode.UNDER_BEHANDLING]; - const validFagsakStatus = { kode: validFagsakStatuser[0], kodeverk: '' }; + const validFagsakStatus = validFagsakStatuser[0]; const validBehandlingStatuser = [behandlingStatusCode.BEHANDLING_UTREDES]; - const validBehandlingStatus = { kode: validBehandlingStatuser[0], kodeverk: '' }; - const validBehandlingTyper = { kode: BehandlingType.FORSTEGANGSSOKNAD, kodeverk: '' }; + const validBehandlingStatus = validBehandlingStatuser[0]; + const validBehandlingTyper = BehandlingType.FORSTEGANGSSOKNAD; const saksbehandlerOgOverstyrerAnsatt = { ...saksbehandlerAnsatt, kanOverstyre: true }; const veilederOgOverstyrerAnsatt = { ...veilederAnsatt, kanOverstyre: false }; @@ -135,8 +135,8 @@ describe('access', () => { it(getTestName('tilgang til å overstyre', expected, fagsakStatus, behandlingStatus), () => { const access = kanOverstyreAccess( saksbehandlerOgOverstyrerAnsatt, - { kode: fagsakStatus, kodeverk: '' }, - { kode: behandlingStatus, kodeverk: '' }, + fagsakStatus, + behandlingStatus, validBehandlingTyper, ); diff --git a/packages/sak-app/src/app/util/access.ts b/packages/sak-app/src/app/util/access.ts index 38a3660670..c5db601be0 100644 --- a/packages/sak-app/src/app/util/access.ts +++ b/packages/sak-app/src/app/util/access.ts @@ -1,7 +1,7 @@ import behandlingStatusCode from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import fagsakStatusCode from '@fpsak-frontend/kodeverk/src/fagsakStatus'; import BehandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import { NavAnsatt, Kodeverk } from '@k9-sak-web/types'; +import { NavAnsatt } from '@k9-sak-web/types'; type Aksess = { employeeHasAccess: boolean; @@ -16,48 +16,49 @@ export type AksessRettigheter = { const kanVeilede = (navAnsatt: NavAnsatt): boolean => navAnsatt && navAnsatt.kanVeilede; const kanSaksbehandle = (navAnsatt: NavAnsatt): boolean => navAnsatt && navAnsatt.kanSaksbehandle; const kanOverstyre = (navAnsatt: NavAnsatt): boolean => kanSaksbehandle(navAnsatt) && navAnsatt.kanOverstyre; -const isBehandlingAvTilbakekreving = (type: Kodeverk): boolean => - type ? type.kode === BehandlingType.TILBAKEKREVING || type.kode === BehandlingType.TILBAKEKREVING_REVURDERING : false; +const isBehandlingAvTilbakekreving = (type: string): boolean => + type ? type === BehandlingType.TILBAKEKREVING || type === BehandlingType.TILBAKEKREVING_REVURDERING : false; -const accessibleFor = (validNavAnsattPredicates: ((navAnsatt: NavAnsatt) => boolean)[]) => ( - navAnsatt: NavAnsatt, -): boolean => validNavAnsattPredicates.some(predicate => predicate(navAnsatt)); +const accessibleFor = + (validNavAnsattPredicates: ((navAnsatt: NavAnsatt) => boolean)[]) => + (navAnsatt: NavAnsatt): boolean => + validNavAnsattPredicates.some(predicate => predicate(navAnsatt)); -const enabledFor = (validFagsakStauses: string[], validBehandlingStatuses: string[]) => ( - fagsakStatus: Kodeverk, - behandlingStatus: Kodeverk, - isTilbakekrevingBehandling: boolean, -): boolean => - (isTilbakekrevingBehandling || (fagsakStatus && validFagsakStauses.includes(fagsakStatus.kode))) && - behandlingStatus && - validBehandlingStatuses.includes(behandlingStatus.kode); +const enabledFor = + (validFagsakStauses: string[], validBehandlingStatuses: string[]) => + (fagsakStatus: string, behandlingStatus: string, isTilbakekrevingBehandling: boolean): boolean => + (isTilbakekrevingBehandling || (fagsakStatus && validFagsakStauses.includes(fagsakStatus))) && + behandlingStatus && + validBehandlingStatuses.includes(behandlingStatus); -const accessSelector = ( - validNavAnsattPredicates: ((navAnsatt: NavAnsatt) => boolean)[], - validFagsakStatuses: string[], - validBehandlingStatuses: string[], -) => (navAnsatt: NavAnsatt, fagsakStatus: Kodeverk, behandlingStatus: Kodeverk, behandlingType: Kodeverk): Aksess => { - if (kanVeilede(navAnsatt)) { - return { - employeeHasAccess: true, - isEnabled: false, - }; - } - const employeeHasAccess = accessibleFor(validNavAnsattPredicates)(navAnsatt); - const isEnabled = - employeeHasAccess && - enabledFor(validFagsakStatuses, validBehandlingStatuses)( - fagsakStatus, - behandlingStatus, - isBehandlingAvTilbakekreving(behandlingType), - ); - return { employeeHasAccess, isEnabled }; -}; +const accessSelector = + ( + validNavAnsattPredicates: ((navAnsatt: NavAnsatt) => boolean)[], + validFagsakStatuses: string[], + validBehandlingStatuses: string[], + ) => + (navAnsatt: NavAnsatt, fagsakStatus: string, behandlingStatus: string, behandlingType: string): Aksess => { + if (kanVeilede(navAnsatt)) { + return { + employeeHasAccess: true, + isEnabled: false, + }; + } + const employeeHasAccess = accessibleFor(validNavAnsattPredicates)(navAnsatt); + const isEnabled = + employeeHasAccess && + enabledFor(validFagsakStatuses, validBehandlingStatuses)( + fagsakStatus, + behandlingStatus, + isBehandlingAvTilbakekreving(behandlingType), + ); + return { employeeHasAccess, isEnabled }; + }; export const writeAccess = behandlingType => accessSelector( [kanSaksbehandle], - behandlingType && behandlingType.kode === BehandlingType.KLAGE + behandlingType && behandlingType === BehandlingType.KLAGE ? [ fagsakStatusCode.OPPRETTET, fagsakStatusCode.UNDER_BEHANDLING, @@ -76,9 +77,9 @@ export const kanOverstyreAccess = accessSelector( const getAccessRights = ( navAnsatt: NavAnsatt, - fagsakStatus: Kodeverk, - behandlingStatus: Kodeverk, - behandlingType: Kodeverk, + fagsakStatus: string, + behandlingStatus: string, + behandlingType: string, ): AksessRettigheter => ({ writeAccess: writeAccess(behandlingType)(navAnsatt, fagsakStatus, behandlingStatus, behandlingType), kanOverstyreAccess: kanOverstyreAccess(navAnsatt, fagsakStatus, behandlingStatus, behandlingType), diff --git a/packages/sak-app/src/behandling/BehandlingIndex.tsx b/packages/sak-app/src/behandling/BehandlingIndex.tsx index 9709ea2d0d..103a545676 100644 --- a/packages/sak-app/src/behandling/BehandlingIndex.tsx +++ b/packages/sak-app/src/behandling/BehandlingIndex.tsx @@ -14,21 +14,22 @@ import { Fagsak, FagsakPerson, FeatureToggles, - KodeverkMedNavn, NavAnsatt, } from '@k9-sak-web/types'; import BehandlingPleiepengerSluttfaseIndex from '@k9-sak-web/behandling-pleiepenger-sluttfase/src/BehandlingPleiepengerSluttfaseIndex'; import { erFagytelseTypeUtvidetRett } from '@k9-sak-web/behandling-utvidet-rett/src/utils/utvidetRettHjelpfunksjoner'; +import { useBehandlingContext } from '@k9-sak-web/gui/behandling/index.js'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import ErrorBoundary from '../app/ErrorBoundary'; +import useTrackRouteParam from '../app/useTrackRouteParam'; +import getAccessRights from '../app/util/access'; import { getFaktaLocation, getLocationWithDefaultProsessStegAndFakta, getPathToK9Los, getProsessStegLocation, } from '../app/paths'; -import useTrackRouteParam from '../app/useTrackRouteParam'; -import getAccessRights from '../app/util/access'; import { K9sakApiKeys, LinkCategory, requestApi, restApiHooks } from '../data/k9sakApi'; import behandlingEventHandler from './BehandlingEventHandler'; @@ -72,7 +73,6 @@ const getOppdaterProsessStegOgFaktaPanelIUrl = }; interface OwnProps { - setBehandlingIdOgVersjon: (behandlingId: number, behandlingVersjon: number) => void; fagsak: Fagsak; alleBehandlinger: BehandlingAppKontekst[]; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; @@ -86,27 +86,33 @@ interface OwnProps { * relatert til den valgte behandlingen. */ const BehandlingIndex = ({ - setBehandlingIdOgVersjon, fagsak, alleBehandlinger, arbeidsgiverOpplysninger, setRequestPendingMessage, }: OwnProps) => { + const { setBehandlingContext, setBehandlingIdOgVersjon } = useBehandlingContext(); + const { klageKodeverk, kodeverk } = useKodeverkContext(); const { selected: behandlingId } = useTrackRouteParam({ paramName: 'behandlingId', parse: behandlingFromUrl => Number.parseInt(behandlingFromUrl, 10), }); const behandling = alleBehandlinger.find(b => b.id === behandlingId); - const behandlingVersjon = behandling?.versjon; useEffect(() => { if (behandling) { requestApi.setLinks(behandling.links, LinkCategory.BEHANDLING); - setBehandlingIdOgVersjon(behandlingId, behandlingVersjon); + setBehandlingContext({ + behandlingId, + behandlingVersjon: behandling?.versjon, + behandlingType: BehandlingType[behandling.type], + }); } }, [behandling]); + useEffect(() => {}); + const { addErrorMessage } = useRestApiErrorDispatcher(); const oppdaterBehandlingVersjon = useCallback( @@ -114,11 +120,6 @@ const BehandlingIndex = ({ [behandlingId], ); - const kodeverk = restApiHooks.useGlobalStateRestApiData<{ [key: string]: [KodeverkMedNavn] }>(K9sakApiKeys.KODEVERK); - const klageKodeverk = restApiHooks.useGlobalStateRestApiData<{ [key: string]: [KodeverkMedNavn] }>( - K9sakApiKeys.KODEVERK_KLAGE, - ); - const fagsakPerson = restApiHooks.useGlobalStateRestApiData(K9sakApiKeys.SAK_BRUKER); const featureTogglesData = restApiHooks.useGlobalStateRestApiData<{ key: string; value: string }[]>( K9sakApiKeys.FEATURE_TOGGLE, @@ -150,7 +151,7 @@ const BehandlingIndex = ({ const query = parseQueryString(location.search); - const behandlingTypeKode = behandling?.type ? behandling.type.kode : undefined; + const behandlingTypeKode = behandling?.type ? behandling.type : undefined; const defaultProps = { behandlingId, @@ -238,7 +239,7 @@ const BehandlingIndex = ({ b.type.kode === BehandlingType.REVURDERING && b.status.kode !== BehandlingStatus.AVSLUTTET, + b => b.type === BehandlingType.REVURDERING && b.status !== BehandlingStatus.AVSLUTTET, )} valgtFaktaSteg={query.fakta} key={behandlingId} @@ -249,7 +250,7 @@ const BehandlingIndex = ({ ); } - if (fagsak.sakstype.kode === FagsakYtelseType.OMSORGSPENGER) { + if (fagsak.sakstype === FagsakYtelseType.OMSORGSPENGER) { return ( }> @@ -264,7 +265,7 @@ const BehandlingIndex = ({ ); } - if (fagsak.sakstype.kode === FagsakYtelseType.PLEIEPENGER_SLUTTFASE) { + if (fagsak.sakstype === FagsakYtelseType.PLEIEPENGER_SLUTTFASE) { return ( }> @@ -279,7 +280,7 @@ const BehandlingIndex = ({ ); } - if (erFagytelseTypeUtvidetRett(fagsak.sakstype.kode)) { + if (erFagytelseTypeUtvidetRett(fagsak.sakstype)) { return ( }> @@ -294,7 +295,7 @@ const BehandlingIndex = ({ ); } - if (fagsak.sakstype.kode === FagsakYtelseType.FRISINN) { + if (fagsak.sakstype === FagsakYtelseType.FRISINN) { return ( }> @@ -309,7 +310,7 @@ const BehandlingIndex = ({ ); } - if (fagsak.sakstype.kode === FagsakYtelseType.OPPLAERINGSPENGER) { + if (fagsak.sakstype === FagsakYtelseType.OPPLAERINGSPENGER) { return ( }> diff --git a/packages/sak-app/src/behandling/BehandlingerIndex.spec.tsx b/packages/sak-app/src/behandling/BehandlingerIndex.spec.tsx index b7eff21159..1c9cebf921 100644 --- a/packages/sak-app/src/behandling/BehandlingerIndex.spec.tsx +++ b/packages/sak-app/src/behandling/BehandlingerIndex.spec.tsx @@ -1,9 +1,10 @@ import { render, screen } from '@testing-library/react'; import React from 'react'; import { MemoryRouter } from 'react-router-dom'; - +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; import { BehandlingAppKontekst, Fagsak } from '@k9-sak-web/types'; - +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import { BehandlingerIndex } from './BehandlingerIndex'; describe('BehandlingerIndex', () => { @@ -19,12 +20,18 @@ describe('BehandlingerIndex', () => { render( - + + + , ); diff --git a/packages/sak-app/src/behandling/BehandlingerIndex.tsx b/packages/sak-app/src/behandling/BehandlingerIndex.tsx index ae94e585a2..f64cf2845c 100644 --- a/packages/sak-app/src/behandling/BehandlingerIndex.tsx +++ b/packages/sak-app/src/behandling/BehandlingerIndex.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { Route, Routes } from 'react-router-dom'; -import { BehandlingAppKontekst, Fagsak, ArbeidsgiverOpplysningerWrapper } from '@k9-sak-web/types'; +import { BehandlingAppKontekst, ArbeidsgiverOpplysningerWrapper, Fagsak } from '@k9-sak-web/types'; import { IngenBehandlingValgtPanel } from '@k9-sak-web/sak-infosider'; import BehandlingIndex from './BehandlingIndex'; @@ -11,7 +11,6 @@ interface OwnProps { fagsak: Fagsak; alleBehandlinger: BehandlingAppKontekst[]; arbeidsgiverOpplysninger?: ArbeidsgiverOpplysningerWrapper; - setBehandlingIdOgVersjon: (behandlingId: number, behandlingVersjon: number) => void; setRequestPendingMessage: (message: string) => void; } @@ -19,21 +18,19 @@ export const BehandlingerIndex = ({ fagsak, alleBehandlinger, arbeidsgiverOpplysninger, - setBehandlingIdOgVersjon, setRequestPendingMessage, }: OwnProps) => ( - )} + } /> } /> diff --git a/packages/sak-app/src/behandlingmenu/BehandlingMenuIndex.spec.tsx b/packages/sak-app/src/behandlingmenu/BehandlingMenuIndex.spec.tsx index dd016182f7..48cb59d169 100644 --- a/packages/sak-app/src/behandlingmenu/BehandlingMenuIndex.spec.tsx +++ b/packages/sak-app/src/behandlingmenu/BehandlingMenuIndex.spec.tsx @@ -5,7 +5,7 @@ import { MemoryRouter } from 'react-router-dom'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import { BehandlingAppKontekst, Fagsak } from '@k9-sak-web/types'; @@ -27,14 +27,8 @@ const navAnsatt = { const fagsak = { saksnummer: '123', - sakstype: { - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: 'BEHANDLING_TYPE', - }, - status: { - kode: fagsakStatus.UNDER_BEHANDLING, - kodeverk: '', - }, + sakstype: fagsakYtelseType.FORELDREPENGER, + status: fagsakStatus.UNDER_BEHANDLING, skalBehandlesAvInfotrygd: false, }; @@ -46,14 +40,8 @@ const alleBehandlinger = [ behandlingKoet: false, behandlingPaaVent: false, kanHenleggeBehandling: true, - type: { - kode: behandlingType.REVURDERING, - kodeverk: 'BEHANDLING_TYPE', - }, - status: { - kode: behandlingStatus.BEHANDLING_UTREDES, - kodeverk: 'BEHANDLING_STATUS', - }, + type: behandlingType.REVURDERING, + status: behandlingStatus.BEHANDLING_UTREDES, behandlendeEnhetId: '2323', behandlendeEnhetNavn: 'NAV Viken', }, diff --git a/packages/sak-app/src/behandlingmenu/BehandlingMenuIndex.tsx b/packages/sak-app/src/behandlingmenu/BehandlingMenuIndex.tsx index 4f8309484f..2332761b00 100644 --- a/packages/sak-app/src/behandlingmenu/BehandlingMenuIndex.tsx +++ b/packages/sak-app/src/behandlingmenu/BehandlingMenuIndex.tsx @@ -64,8 +64,8 @@ const getUuidForSisteLukkedeForsteEllerRevurd = (behandlinger: BehandlingAppKont const behandling = behandlinger.find( b => b.gjeldendeVedtak && - b.status.kode === BehandlingStatus.AVSLUTTET && - (b.type.kode === BehandlingType.FORSTEGANGSSOKNAD || b.type.kode === BehandlingType.REVURDERING), + b.status === BehandlingStatus.AVSLUTTET && + (b.type === BehandlingType.FORSTEGANGSSOKNAD || b.type === BehandlingType.REVURDERING), ); return behandling ? behandling.uuid : undefined; }; @@ -213,7 +213,7 @@ export const BehandlingMenuIndex = ({ } const erPaVent = behandling ? behandling.behandlingPaaVent : false; - const behandlingTypeKode = behandling ? behandling.type.kode : undefined; + const behandlingTypeKode = behandling ? behandling.type : undefined; const vergeMenyvalg = behandlingRettigheter?.vergeBehandlingsmeny; const fjernVergeFn = @@ -240,7 +240,6 @@ export const BehandlingMenuIndex = ({ behandlingId={behandlingId} behandlingVersjon={behandlingVersjon} settBehandlingPaVent={setBehandlingOnHold} - ventearsaker={menyKodeverk.getKodeverkForValgtBehandling(kodeverkTyper.VENT_AARSAK)} lukkModal={lukkModal} erTilbakekreving={ behandlingTypeKode === BehandlingType.TILBAKEKREVING || diff --git a/packages/sak-app/src/behandlingmenu/MenyKodeverk.ts b/packages/sak-app/src/behandlingmenu/MenyKodeverk.ts index 9c7bca37b9..09377e493c 100644 --- a/packages/sak-app/src/behandlingmenu/MenyKodeverk.ts +++ b/packages/sak-app/src/behandlingmenu/MenyKodeverk.ts @@ -1,8 +1,8 @@ import BehandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import { Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; +import { KodeverkMedNavn } from '@k9-sak-web/types'; class MenyKodeverk { - $$behandlingType: Kodeverk; + $$behandlingType: string; $$k9SakKodeverk: { [key: string]: KodeverkMedNavn[] }; @@ -10,7 +10,7 @@ class MenyKodeverk { $$klagekodeverk: { [key: string]: KodeverkMedNavn[] }; - constructor(behandlingType: Kodeverk) { + constructor(behandlingType: string) { this.$$behandlingType = behandlingType; } @@ -43,7 +43,7 @@ class MenyKodeverk { } getKodeverkForValgtBehandling(kodeverkType: string): KodeverkMedNavn[] { - return this.getKodeverkForBehandlingstype(this.$$behandlingType.kode, kodeverkType); + return this.getKodeverkForBehandlingstype(this.$$behandlingType, kodeverkType); } getKodeverkForBehandlingstyper(behandlingTypeKoder: string[], kodeverkType: string): KodeverkMedNavn[] { diff --git a/packages/sak-app/src/behandlingsupport/BehandlingSupportIndex.spec.tsx b/packages/sak-app/src/behandlingsupport/BehandlingSupportIndex.spec.tsx index de5f80e966..2d3d1c29bd 100644 --- a/packages/sak-app/src/behandlingsupport/BehandlingSupportIndex.spec.tsx +++ b/packages/sak-app/src/behandlingsupport/BehandlingSupportIndex.spec.tsx @@ -3,17 +3,40 @@ import React from 'react'; import { MemoryRouter } from 'react-router-dom'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import { BehandlingAppKontekst, Fagsak } from '@k9-sak-web/types'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; import { renderWithIntlAndReactQueryClient } from '@fpsak-frontend/utils-test/test-utils'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import { VergeBehandlingmenyValg } from '../behandling/behandlingRettigheterTsType'; import { K9sakApiKeys, requestApi } from '../data/k9sakApi'; import BehandlingSupportIndex, { hentSynligePaneler, hentValgbarePaneler } from './BehandlingSupportIndex'; describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123', + sakstype: '-', + relasjonsRolleType: '', + status: 'AVSLU', + barnFodt: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, }; const navAnsatt = { @@ -30,14 +53,8 @@ describe('', () => { const behandling = { id: 1, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, - status: { - kode: behandlingStatus.OPPRETTET, - kodeverk: '', - }, + type: behandlingType.FØRSTEGANGSSØKNAD, + status: behandlingStatus.OPPRETTET, }; it('skal vise godkjennings-panelet', () => { @@ -53,13 +70,20 @@ describe('', () => { renderWithIntlAndReactQueryClient( - + + + , ); diff --git a/packages/sak-app/src/behandlingsupport/dokument/DokumentIndex.spec.tsx b/packages/sak-app/src/behandlingsupport/dokument/DokumentIndex.spec.tsx index 1f4cad61c9..a84fa32853 100644 --- a/packages/sak-app/src/behandlingsupport/dokument/DokumentIndex.spec.tsx +++ b/packages/sak-app/src/behandlingsupport/dokument/DokumentIndex.spec.tsx @@ -1,10 +1,11 @@ -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import relasjonsRolleType from '@fpsak-frontend/kodeverk/src/relasjonsRolleType'; import { renderWithIntlAndReactQueryClient } from '@fpsak-frontend/utils-test/test-utils'; import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import { Fagsak } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; import React from 'react'; + import { K9sakApiKeys, requestApi } from '../../data/k9sakApi'; import { DokumentIndex } from './DokumentIndex'; @@ -35,15 +36,9 @@ describe('', () => { const fagsak = { saksnummer: '35425245', - sakstype: { kode: fagsakYtelsesType.PSB, kodeverk: 'FAGSAK_YTELSE' }, - relasjonsRolleType: { - kode: relasjonsRolleType.MOR, - kodeverk: '', - }, - status: { - kode: fagsakStatus.UNDER_BEHANDLING, - kodeverk: 'FAGSAK_STATUS', - }, + sakstype: fagsakYtelsesType.PSB, + relasjonsRolleType: relasjonsRolleType.MOR, + status: fagsakStatus.UNDER_BEHANDLING, barnFodt: '2020-01-01', opprettet: '2020-01-01', endret: '2020-01-01', diff --git a/packages/sak-app/src/behandlingsupport/historikk/HistorikkIndex.spec.tsx b/packages/sak-app/src/behandlingsupport/historikk/HistorikkIndex.spec.tsx index ea778568fa..26981be33c 100644 --- a/packages/sak-app/src/behandlingsupport/historikk/HistorikkIndex.spec.tsx +++ b/packages/sak-app/src/behandlingsupport/historikk/HistorikkIndex.spec.tsx @@ -2,6 +2,9 @@ import HistorikkAktor from '@fpsak-frontend/kodeverk/src/historikkAktor'; import { render, screen } from '@testing-library/react'; import React from 'react'; import { MemoryRouter } from 'react-router'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import { K9sakApiKeys, requestApi } from '../../data/k9sakApi'; import HistorikkIndex from './HistorikkIndex'; @@ -29,44 +32,43 @@ describe('', () => { { opprettetTidspunkt: '2019-01-01', historikkinnslagDeler: [{ skjermlenke: '123' }], - type: { - kode: 'FORSLAG_VEDTAK', - }, - aktoer: { kode: HistorikkAktor.VEDTAKSLOSNINGEN }, + type: 'FORSLAG_VEDTAK', + aktoer: HistorikkAktor.VEDTAKSLOSNINGEN, }, { opprettetTidspunkt: '2019-01-06', historikkinnslagDeler: [{ skjermlenke: '123' }], - type: { - kode: 'FORSLAG_VEDTAK', - }, - aktoer: { kode: HistorikkAktor.VEDTAKSLOSNINGEN }, + type: 'FORSLAG_VEDTAK', + aktoer: HistorikkAktor.VEDTAKSLOSNINGEN, }, ]); requestApi.mock(K9sakApiKeys.HISTORY_TILBAKE, [ { opprettetTidspunkt: '2019-01-04', historikkinnslagDeler: [{ skjermlenke: '123' }], - type: { - kode: 'FORSLAG_VEDTAK', - }, - aktoer: { kode: HistorikkAktor.VEDTAKSLOSNINGEN }, + type: 'FORSLAG_VEDTAK', + aktoer: HistorikkAktor.VEDTAKSLOSNINGEN, }, ]); requestApi.mock(K9sakApiKeys.HISTORY_KLAGE, [ { opprettetTidspunkt: '2018-01-04', historikkinnslagDeler: [{ skjermlenke: '123' }], - type: { - kode: 'FORSLAG_VEDTAK', - }, - aktoer: { kode: HistorikkAktor.VEDTAKSLOSNINGEN }, + type: 'FORSLAG_VEDTAK', + aktoer: HistorikkAktor.VEDTAKSLOSNINGEN, }, ]); render( - + + + , ); diff --git a/packages/sak-app/src/behandlingsupport/historikk/HistorikkIndex.tsx b/packages/sak-app/src/behandlingsupport/historikk/HistorikkIndex.tsx index bd44b0aa00..d55e245948 100644 --- a/packages/sak-app/src/behandlingsupport/historikk/HistorikkIndex.tsx +++ b/packages/sak-app/src/behandlingsupport/historikk/HistorikkIndex.tsx @@ -4,8 +4,8 @@ import { useLocation } from 'react-router-dom'; import HistorikkSakIndex from '@fpsak-frontend/sak-historikk'; import { LoadingPanel, usePrevious } from '@fpsak-frontend/shared-components'; -import { Historikkinnslag, KodeverkMedNavn } from '@k9-sak-web/types'; - +import { Historikkinnslag } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { isRequestNotDone } from '@k9-sak-web/rest-api-hooks/src/RestApiState'; import ApplicationContextPath from '../../app/ApplicationContextPath'; import { createLocationForSkjermlenke, pathToBehandling } from '../../app/paths'; @@ -50,16 +50,7 @@ interface OwnProps { */ const HistorikkIndex = ({ saksnummer, behandlingId, behandlingVersjon }: OwnProps) => { const enabledApplicationContexts = useGetEnabledApplikasjonContext(); - - const alleKodeverkK9Sak = restApiHooks.useGlobalStateRestApiData<{ [key: string]: KodeverkMedNavn[] }>( - K9sakApiKeys.KODEVERK, - ); - const alleKodeverkTilbake = restApiHooks.useGlobalStateRestApiData<{ [key: string]: KodeverkMedNavn[] }>( - K9sakApiKeys.KODEVERK_TILBAKE, - ); - const alleKodeverkKlage = restApiHooks.useGlobalStateRestApiData<{ [key: string]: KodeverkMedNavn[] }>( - K9sakApiKeys.KODEVERK_KLAGE, - ); + const { getKodeverkNavnFraKodeFn } = useKodeverkContext(); const location = useLocation(); const getBehandlingLocation = useCallback( @@ -119,22 +110,18 @@ const HistorikkIndex = ({ saksnummer, behandlingId, behandlingVersjon }: OwnProp return (
{historikkInnslag.map(innslag => { - let alleKodeverk = alleKodeverkK9Sak; - if (innslag.erTilbakekreving) { - alleKodeverk = alleKodeverkTilbake; - } - if (innslag.erKlage) { - alleKodeverk = alleKodeverkKlage; - } + let kodeverkNavnFraKodeFn = getKodeverkNavnFraKodeFn(); + if (innslag.erTilbakekreving) kodeverkNavnFraKodeFn = getKodeverkNavnFraKodeFn('kodeverkTilbake'); + if (innslag.erKlage) kodeverkNavnFraKodeFn = getKodeverkNavnFraKodeFn('kodeverkKlage'); return ( ); })} diff --git a/packages/sak-app/src/behandlingsupport/melding/MeldingIndex.spec.tsx b/packages/sak-app/src/behandlingsupport/melding/MeldingIndex.spec.tsx index baefbf683c..d4c5a4df42 100644 --- a/packages/sak-app/src/behandlingsupport/melding/MeldingIndex.spec.tsx +++ b/packages/sak-app/src/behandlingsupport/melding/MeldingIndex.spec.tsx @@ -83,8 +83,8 @@ describe('', () => { { id: 1, uuid: '1212', - type: { kode: behandlingType.FØRSTEGANGSSØKNAD, kodeverk: 'BEHANDLING_TYPE' }, - sprakkode: { kode: 'NB', kodeverk: 'SPRAAK_KODE' }, + type: behandlingType.FØRSTEGANGSSØKNAD, + sprakkode: 'NB', }, ]; diff --git a/packages/sak-app/src/behandlingsupport/melding/MeldingIndex.tsx b/packages/sak-app/src/behandlingsupport/melding/MeldingIndex.tsx index b475ca8877..0e07f6a5eb 100644 --- a/packages/sak-app/src/behandlingsupport/melding/MeldingIndex.tsx +++ b/packages/sak-app/src/behandlingsupport/melding/MeldingIndex.tsx @@ -103,8 +103,8 @@ const MeldingIndex = ({ personopplysninger={personopplysninger} arbeidsgiverOpplysningerPerId={arbeidsgiverOpplysninger ? arbeidsgiverOpplysninger.arbeidsgivere : {}} erTilbakekreving={ - behandling.type.kode === BehandlingType.TILBAKEKREVING || - behandling.type.kode === BehandlingType.TILBAKEKREVING_REVURDERING + behandling.type === BehandlingType.TILBAKEKREVING || + behandling.type === BehandlingType.TILBAKEKREVING_REVURDERING } featureToggles={featureToggles} fagsak={fagsak} diff --git a/packages/sak-app/src/behandlingsupport/totrinnskontroll/BeslutterModalIndex.spec.tsx b/packages/sak-app/src/behandlingsupport/totrinnskontroll/BeslutterModalIndex.spec.tsx index 9a0a676c58..5304347c1d 100644 --- a/packages/sak-app/src/behandlingsupport/totrinnskontroll/BeslutterModalIndex.spec.tsx +++ b/packages/sak-app/src/behandlingsupport/totrinnskontroll/BeslutterModalIndex.spec.tsx @@ -13,20 +13,9 @@ describe('', () => { const behandling = { id: 1, versjon: 2, - behandlingsresultat: { - type: { - kode: 'IKKE_FASTSATT', - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - }, - }, - type: { - kode: behandlingType.FØRSTEGANGSSØKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, - status: { - kode: behandlingStatus.OPPRETTET, - kodeverk: '', - }, + behandlingsresultat: { type: 'IKKE_FASTSATT' }, + type: behandlingType.FØRSTEGANGSSØKNAD, + status: behandlingStatus.OPPRETTET, } as Behandling; it('skal vise modal når beslutter godkjenner', () => { @@ -37,10 +26,7 @@ describe('', () => { renderWithIntl( , diff --git a/packages/sak-app/src/behandlingsupport/totrinnskontroll/BeslutterModalIndex.tsx b/packages/sak-app/src/behandlingsupport/totrinnskontroll/BeslutterModalIndex.tsx index 2af58a5ce9..5d0a9149f2 100644 --- a/packages/sak-app/src/behandlingsupport/totrinnskontroll/BeslutterModalIndex.tsx +++ b/packages/sak-app/src/behandlingsupport/totrinnskontroll/BeslutterModalIndex.tsx @@ -1,7 +1,7 @@ import React, { useCallback } from 'react'; import { RestApiState } from '@k9-sak-web/rest-api-hooks'; -import { Kodeverk, BehandlingAppKontekst } from '@k9-sak-web/types'; +import { BehandlingAppKontekst } from '@k9-sak-web/types'; import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { FatterVedtakTotrinnskontrollModalSakIndex } from '@fpsak-frontend/sak-totrinnskontroll'; @@ -10,7 +10,7 @@ import { getPathToK9Los } from '../../app/paths'; interface OwnProps { behandling: BehandlingAppKontekst; - fagsakYtelseType: Kodeverk; + fagsakYtelseType: string; allAksjonspunktApproved: boolean; erKlageWithKA: boolean; } diff --git a/packages/sak-app/src/behandlingsupport/totrinnskontroll/TotrinnskontrollIndex.spec.tsx b/packages/sak-app/src/behandlingsupport/totrinnskontroll/TotrinnskontrollIndex.spec.tsx index db6c7f48f8..f8398d5021 100644 --- a/packages/sak-app/src/behandlingsupport/totrinnskontroll/TotrinnskontrollIndex.spec.tsx +++ b/packages/sak-app/src/behandlingsupport/totrinnskontroll/TotrinnskontrollIndex.spec.tsx @@ -1,11 +1,11 @@ import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { renderWithIntlAndReduxForm } from '@fpsak-frontend/utils-test/test-utils'; import { BehandlingAppKontekst, Fagsak } from '@k9-sak-web/types'; import { act, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; +import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import { K9sakApiKeys, requestApi } from '../../data/k9sakApi'; import TotrinnskontrollIndex from './TotrinnskontrollIndex'; @@ -26,30 +26,36 @@ vi.mock('react-router-dom', async () => { }); describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '1', - sakstype: { - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: '', - }, + sakstype: fagsakYtelsesType.FP, person: { aktørId: '123', + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', }, + relasjonsRolleType: '', + status: 'OPPR', + barnFodt: '', + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, }; const alleBehandlinger = [ { id: 1234, versjon: 123, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + type: behandlingType.FORSTEGANGSSOKNAD, opprettet: '‎29.08.‎2017‎ ‎09‎:‎54‎:‎22', - status: { - kode: 'FVED', - kodeverk: 'BEHANDLING_STATUS', - }, + status: 'FVED', toTrinnsBehandling: true, ansvarligSaksbehandler: 'Espen Utvikler', behandlingÅrsaker: [], @@ -93,6 +99,7 @@ describe('', () => { behandlingVersjon={alleBehandlinger[0].versjon} />, ); + expect(screen.queryByRole('dialog')).not.toBeInTheDocument(); await act(async () => { await userEvent.click(screen.getByRole('button', { name: 'Godkjenn vedtaket' })); diff --git a/packages/sak-app/src/behandlingsupport/totrinnskontroll/TotrinnskontrollIndex.tsx b/packages/sak-app/src/behandlingsupport/totrinnskontroll/TotrinnskontrollIndex.tsx index 9437a471a7..1f90d79fef 100644 --- a/packages/sak-app/src/behandlingsupport/totrinnskontroll/TotrinnskontrollIndex.tsx +++ b/packages/sak-app/src/behandlingsupport/totrinnskontroll/TotrinnskontrollIndex.tsx @@ -4,16 +4,15 @@ import { LoadingPanel } from '@fpsak-frontend/shared-components'; import { RestApiState } from '@k9-sak-web/rest-api-hooks'; import { BehandlingAppKontekst, - Fagsak, KlageVurdering, NavAnsatt, TotrinnskontrollSkjermlenkeContext, } from '@k9-sak-web/types'; import React, { useCallback, useState } from 'react'; import { useLocation } from 'react-router-dom'; +import { Fagsak } from '@k9-sak-web/gui/sak/Fagsak.js'; import { createLocationForSkjermlenke } from '../../app/paths'; import { K9sakApiKeys, requestApi, restApiHooks } from '../../data/k9sakApi'; -import { useKodeverk } from '../../data/useKodeverk'; import BeslutterModalIndex from './BeslutterModalIndex'; type Values = { @@ -64,22 +63,20 @@ const TotrinnskontrollIndex = ({ fagsak, alleBehandlinger, behandlingId, behandl const { brukernavn, kanVeilede } = restApiHooks.useGlobalStateRestApiData(K9sakApiKeys.NAV_ANSATT); - const alleKodeverk = useKodeverk(behandling.type); - const { data: totrinnArsaker } = restApiHooks.useRestApi( K9sakApiKeys.TOTRINNSAKSJONSPUNKT_ARSAKER, undefined, { - updateTriggers: [behandlingId, behandling.status.kode], - suspendRequest: behandling.status.kode !== BehandlingStatus.FATTER_VEDTAK, + updateTriggers: [behandlingId, behandling.status], + suspendRequest: behandling.status !== BehandlingStatus.FATTER_VEDTAK, }, ); const { data: totrinnArsakerReadOnly } = restApiHooks.useRestApi( K9sakApiKeys.TOTRINNSAKSJONSPUNKT_ARSAKER_READONLY, undefined, { - updateTriggers: [behandlingId, behandling.status.kode], - suspendRequest: behandling.status.kode !== BehandlingStatus.BEHANDLING_UTREDES, + updateTriggers: [behandlingId, behandling.status], + suspendRequest: behandling.status !== BehandlingStatus.BEHANDLING_UTREDES, }, ); @@ -125,7 +122,6 @@ const TotrinnskontrollIndex = ({ fagsak, alleBehandlinger, behandlingId, behandl location={location} readOnly={brukernavn === behandling.ansvarligSaksbehandler || kanVeilede} onSubmit={onSubmit} - alleKodeverk={alleKodeverk} behandlingKlageVurdering={totrinnsKlageVurdering} createLocationForSkjermlenke={createLocationForSkjermlenke} /> diff --git a/packages/sak-app/src/data/useKodeverk.tsx b/packages/sak-app/src/data/useKodeverk.tsx index 3cbd67e166..318899ac48 100644 --- a/packages/sak-app/src/data/useKodeverk.tsx +++ b/packages/sak-app/src/data/useKodeverk.tsx @@ -7,7 +7,7 @@ import { K9sakApiKeys, restApiHooks } from './k9sakApi'; /** * Hook som henter kodeverk knyttet til behandlingstype */ -export function useKodeverk(behandlingType: Kodeverk): { [key: string]: T[] } { +export function useKodeverk(behandlingType: string): { [key: string]: T[] } { const alleKodeverkK9Sak = restApiHooks.useGlobalStateRestApiData<{ [key: string]: T[] }>(K9sakApiKeys.KODEVERK); const alleKodeverkTilbake = restApiHooks.useGlobalStateRestApiData<{ [key: string]: T[] }>( K9sakApiKeys.KODEVERK_TILBAKE, @@ -15,12 +15,12 @@ export function useKodeverk(behandlingType: Kodeverk): { [k const alleKlageKodeverk = restApiHooks.useGlobalStateRestApiData<{ [key: string]: T[] }>(K9sakApiKeys.KODEVERK_KLAGE); if ( - BehandlingType.TILBAKEKREVING === behandlingType?.kode || - BehandlingType.TILBAKEKREVING_REVURDERING === behandlingType?.kode + BehandlingType.TILBAKEKREVING === behandlingType || + BehandlingType.TILBAKEKREVING_REVURDERING === behandlingType ) { return alleKodeverkTilbake; } - return BehandlingType.KLAGE === behandlingType?.kode ? alleKlageKodeverk : alleKodeverkK9Sak; + return BehandlingType.KLAGE === behandlingType ? alleKlageKodeverk : alleKodeverkK9Sak; } /** diff --git a/packages/sak-app/src/fagsak/FagsakIndex.spec.tsx b/packages/sak-app/src/fagsak/FagsakIndex.spec.tsx index c51881e719..78760b3c5e 100644 --- a/packages/sak-app/src/fagsak/FagsakIndex.spec.tsx +++ b/packages/sak-app/src/fagsak/FagsakIndex.spec.tsx @@ -1,12 +1,14 @@ -import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import React from 'react'; +import { MemoryRouter } from 'react-router'; +import { screen } from '@testing-library/react'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; +import { BehandlingAppKontekst } from '@k9-sak-web/types'; +import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; +import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; + import { renderWithIntlAndReactQueryClient } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; -import React from 'react'; -import { MemoryRouter } from 'react-router'; import * as useTrackRouteParam from '../app/useTrackRouteParam'; import { K9sakApiKeys, requestApi } from '../data/k9sakApi'; import FagsakIndex from './FagsakIndex'; @@ -35,7 +37,7 @@ describe('', () => { ], [kodeverkTyper.BEHANDLING_TYPE]: [ { - kode: behandlingType.FORSTEGANGSSOKNAD, + kode: behandlingType.FØRSTEGANGSSØKNAD, kodeverk: 'BEHANDLING_TYPE', navn: 'Førstegangsbehandling', }, @@ -79,26 +81,15 @@ describe('', () => { }; const fagsak = { saksnummer: 123456, - status: { - kode: fagsakStatus.OPPRETTET, - kodeverk: 'FAGSAK_STATUS', - }, - sakstype: { - kode: fagsakYtelseType.PLEIEPENGER, - kodeverk: 'FAGSAK_YTELSE', - }, + status: fagsakStatus.OPPRETTET, + sakstype: fagsakYtelseType.PLEIEPENGER, }; - const behandling = { + const behandling: BehandlingAppKontekst = { id: 1, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, - status: { - kode: behandlingStatus.AVSLUTTET, - kodeverk: 'BEHANDLING_STATUS', - }, + uuid: '1', + type: behandlingType.FØRSTEGANGSSØKNAD, + status: behandlingStatus.AVSLUTTET, links: [], behandlendeEnhetId: 'test', behandlendeEnhetNavn: 'NAV Viken', @@ -112,16 +103,11 @@ describe('', () => { toTrinnsBehandling: undefined, behandlingÅrsaker: undefined, }; - const behandling2 = { + const behandling2: BehandlingAppKontekst = { id: 2, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, - status: { - kode: behandlingStatus.AVSLUTTET, - kodeverk: 'BEHANDLING_STATUS', - }, + uuid: '2', + type: behandlingType.FØRSTEGANGSSØKNAD, + status: behandlingStatus.AVSLUTTET, links: [], behandlendeEnhetId: 'test', behandlendeEnhetNavn: 'NAV Viken', @@ -135,16 +121,11 @@ describe('', () => { toTrinnsBehandling: undefined, behandlingÅrsaker: undefined, }; - const behandling3 = { + const behandling3: BehandlingAppKontekst = { id: 3, - type: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, - status: { - kode: behandlingStatus.AVSLUTTET, - kodeverk: 'BEHANDLING_STATUS', - }, + uuid: '3', + type: behandlingType.FØRSTEGANGSSØKNAD, + status: behandlingStatus.AVSLUTTET, links: [], behandlendeEnhetId: 'test', behandlendeEnhetNavn: 'NAV Viken', diff --git a/packages/sak-app/src/fagsak/FagsakIndex.tsx b/packages/sak-app/src/fagsak/FagsakIndex.tsx index 826eb6633b..114459578e 100644 --- a/packages/sak-app/src/fagsak/FagsakIndex.tsx +++ b/packages/sak-app/src/fagsak/FagsakIndex.tsx @@ -1,3 +1,8 @@ +import React, { useCallback, useMemo, useState } from 'react'; +import { Navigate, Route, Routes, useLocation } from 'react-router-dom'; +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; + import BehandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import VisittkortSakIndex from '@fpsak-frontend/sak-visittkort'; @@ -12,21 +17,21 @@ import Soknadsperiodestripe from '@k9-sak-web/sak-soknadsperiodestripe'; import { ArbeidsgiverOpplysningerWrapper, BehandlingPerioderårsakMedVilkår, - Fagsak, FagsakPerson, FeatureToggles, - Kodeverk, KodeverkMedNavn, MerknadFraLos, NavAnsatt, Personopplysninger, + Fagsak as FagsakV1, } from '@k9-sak-web/types'; import OvergangFraInfotrygd from '@k9-sak-web/types/src/overgangFraInfotrygd'; import RelatertFagsak from '@k9-sak-web/types/src/relatertFagsak'; -import React, { useCallback, useMemo, useState } from 'react'; -import { Navigate, Route, Routes, useLocation } from 'react-router-dom'; -// eslint-disable-next-line @typescript-eslint/no-unused-vars import { isRequestNotDone } from '@k9-sak-web/rest-api-hooks/src/RestApiState'; +import { useBehandlingContext, BehandlingProvider } from '@k9-sak-web/gui/behandling/index.js'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import { Fagsak } from '@k9-sak-web/gui/sak/Fagsak.js'; + import { behandlingerRoutePath, erBehandlingValgt, @@ -45,21 +50,19 @@ import FagsakGrid from './components/FagsakGrid'; import useHentAlleBehandlinger from './useHentAlleBehandlinger'; import useHentFagsakRettigheter from './useHentFagsakRettigheter'; -const erTilbakekreving = (behandlingType: Kodeverk): boolean => +const erTilbakekreving = (behandlingType: string): boolean => behandlingType && - (BehandlingType.TILBAKEKREVING === behandlingType.kode || - BehandlingType.TILBAKEKREVING_REVURDERING === behandlingType.kode); + (BehandlingType.TILBAKEKREVING === behandlingType || BehandlingType.TILBAKEKREVING_REVURDERING === behandlingType); -const erPleiepengerSyktBarn = (fagsak: Fagsak) => fagsak?.sakstype?.kode === fagsakYtelseType.PLEIEPENGER; -const erPleiepengerLivetsSluttfase = (fagsak: Fagsak) => - fagsak?.sakstype?.kode === fagsakYtelseType.PLEIEPENGER_SLUTTFASE; +const erPleiepengerSyktBarn = (fagsak: Fagsak) => fagsak?.sakstype === fagsakYtelseType.PLEIEPENGER; +const erPleiepengerLivetsSluttfase = (fagsak: Fagsak) => fagsak?.sakstype === fagsakYtelseType.PLEIEPENGER_SLUTTFASE; const erOmsorgspenger = (fagsak: Fagsak) => [ fagsakYtelseType.OMSORGSPENGER, fagsakYtelseType.OMSORGSPENGER_KRONISK_SYKT_BARN, fagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN, fagsakYtelseType.OMSORGSPENGER_MIDLERTIDIG_ALENE, - ].includes(fagsak?.sakstype?.kode); + ].includes(fagsak?.sakstype); /** * FagsakIndex @@ -67,17 +70,11 @@ const erOmsorgspenger = (fagsak: Fagsak) => * Container komponent. Er rot for fagsakdelen av hovedvinduet, og har ansvar å legge valgt saksnummer fra URL-en i staten. */ const FagsakIndex = () => { + const { behandlingId, behandlingVersjon } = useBehandlingContext(); + const [behandlingerTeller, setBehandlingTeller] = useState(0); // eslint-disable-next-line @typescript-eslint/no-unused-vars const [requestPendingMessage, setRequestPendingMessage] = useState(); - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const [behandlingIdOgVersjon, setIdOgVersjon] = useState({ behandlingId: undefined, behandlingVersjon: undefined }); - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const setBehandlingIdOgVersjon = useCallback( - (behandlingId, behandlingVersjon) => setIdOgVersjon({ behandlingId, behandlingVersjon }), - [], - ); - const { behandlingId, behandlingVersjon } = behandlingIdOgVersjon; const oppfriskBehandlinger = useCallback(() => setBehandlingTeller(behandlingerTeller + 1), [behandlingerTeller]); @@ -85,9 +82,15 @@ const FagsakIndex = () => { paramName: 'saksnummer', }); - const alleKodeverk = restApiHooks.useGlobalStateRestApiData<{ [key: string]: [KodeverkMedNavn] }>( + const alleKodeverkK9Sak = restApiHooks.useGlobalStateRestApiData<{ [key: string]: KodeverkMedNavn[] }>( K9sakApiKeys.KODEVERK, ); + const alleKodeverkTilbake = restApiHooks.useGlobalStateRestApiData<{ [key: string]: KodeverkMedNavn[] }>( + K9sakApiKeys.KODEVERK_TILBAKE, + ); + const alleKodeverkKlage = restApiHooks.useGlobalStateRestApiData<{ [key: string]: KodeverkMedNavn[] }>( + K9sakApiKeys.KODEVERK_KLAGE, + ); const erBehandlingEndretFraUndefined = useBehandlingEndret(behandlingId, behandlingVersjon); @@ -100,7 +103,8 @@ const FagsakIndex = () => { }, ); - const { data: fagsak, state: fagsakState } = restApiHooks.useRestApi( + // Midlertidig kombinere gammel og ny Fagsak ts type + const { data: fagsak, state: fagsakState } = restApiHooks.useRestApi( K9sakApiKeys.FETCH_FAGSAK, { saksnummer: selectedSaksnummer }, { @@ -238,99 +242,105 @@ const FagsakIndex = () => { return ( <> - - + + + + } + /> + + } + profileAndNavigationContent={ + + } + supportContent={() => { + if (isRequestNotDone(personopplysningerState)) { + return ; + } + return ( + + ); + }} + visittkortContent={() => { + if (skalIkkeHenteData) { + return null; } - /> - - } - profileAndNavigationContent={ - - } - supportContent={() => { - if (isRequestNotDone(personopplysningerState)) { - return ; - } - - return ( - - ); - }} - visittkortContent={() => { - if (skalIkkeHenteData) { - return null; - } - - if (isRequestNotDone(personopplysningerState)) { - return ; - } - - return ( -
- - {behandling && ( - <> - {showPunsjStripe && } - {showFagsakPåSøkerStripe && ( - + if (isRequestNotDone(personopplysningerState)) { + return ; + } + + return ( +
+ + + {behandling && !erTilbakekreving(behandling.type) && ( + <> + {showPunsjStripe && } + {showFagsakPåSøkerStripe && ( + + )} + )} - - )} - - {showSøknadsperiodestripe && ( - - )} -
- ); - }} - /> + + {showSøknadsperiodestripe && ( + + )} +
+ ); + }} + /> +
+ {requestPendingMessage && } ); diff --git a/packages/sak-app/src/fagsak/sakRettigheterTsType.ts b/packages/sak-app/src/fagsak/sakRettigheterTsType.ts index b6a949881e..6fb9523af0 100644 --- a/packages/sak-app/src/fagsak/sakRettigheterTsType.ts +++ b/packages/sak-app/src/fagsak/sakRettigheterTsType.ts @@ -1,7 +1,5 @@ -import { Kodeverk } from '@k9-sak-web/types'; - type BehandlingOppretting = Readonly<{ - behandlingType: Kodeverk; + behandlingType: string; kanOppretteBehandling: boolean; }>; diff --git a/packages/sak-app/src/fagsakSearch/FagsakSearchIndex.spec.tsx b/packages/sak-app/src/fagsakSearch/FagsakSearchIndex.spec.tsx index b3c5d485e7..e072dffca3 100644 --- a/packages/sak-app/src/fagsakSearch/FagsakSearchIndex.spec.tsx +++ b/packages/sak-app/src/fagsakSearch/FagsakSearchIndex.spec.tsx @@ -5,10 +5,12 @@ import { Provider } from 'react-redux'; import { MemoryRouter } from 'react-router-dom'; import { combineReducers, createStore } from 'redux'; import { reducer as formReducer } from 'redux-form'; - -import { RestApiErrorProvider } from '@k9-sak-web/rest-api-hooks'; import { Fagsak } from '@k9-sak-web/types'; +import { RestApiErrorProvider } from '@k9-sak-web/rest-api-hooks'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import { K9sakApiKeys, requestApi } from '../data/k9sakApi'; import FagsakSearchIndex from './FagsakSearchIndex'; @@ -23,20 +25,29 @@ vi.mock('react-router-dom', async () => { }); describe('', () => { - const fagsak: Partial = { + const fagsak: Fagsak = { saksnummer: '12345', - sakstype: { - kode: 'ES', - kodeverk: 'FAGSAK_YTELSE', - }, - status: { - kode: 'OPPR', - kodeverk: 'FAGSAK_STATUS', - }, + sakstype: 'ES', + status: 'OPPR', barnFodt: '10.10.2017', antallBarn: 1, opprettet: '13‎.‎02‎.‎2017‎ ‎09‎:‎54‎:‎22', dekningsgrad: 100, + relasjonsRolleType: '', + person: { + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', + diskresjonskode: '', + dodsdato: '', + aktørId: '', + }, + endret: '', + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, }; const fagsak2: Partial = { ...fagsak, @@ -74,13 +85,20 @@ describe('', () => { requestApi.mock(K9sakApiKeys.SEARCH_FAGSAK, fagsaker); render( - - - - - - - , + + + + + + + + + , ); expect(await screen.getByTestId('FagsakSearch')).toBeInTheDocument(); @@ -94,7 +112,7 @@ describe('', () => { expect(screen.queryAllByRole('table').length).toBe(1); expect(screen.queryAllByRole('cell', { name: '12345' }).length).toBe(1); - await userEvent.click(screen.getByRole('row', { name: '12345' })); + await userEvent.click(screen.getByRole('cell', { name: '12345' })); expect(mockNavigate.mock.calls[0][0]).toBe('/fagsak/12345/'); }); diff --git a/packages/sak-app/src/fagsakSearch/FagsakSearchIndex.tsx b/packages/sak-app/src/fagsakSearch/FagsakSearchIndex.tsx index 880e2b8a29..d205fb190c 100644 --- a/packages/sak-app/src/fagsakSearch/FagsakSearchIndex.tsx +++ b/packages/sak-app/src/fagsakSearch/FagsakSearchIndex.tsx @@ -18,6 +18,7 @@ const EMPTY_ARRAY = []; * mot server og lagringen av resultatet i klientens state. */ const FagsakSearchIndex = () => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars const alleKodeverk = restApiHooks.useGlobalStateRestApiData<{ [key: string]: [KodeverkMedNavn] }>( K9sakApiKeys.KODEVERK, ); @@ -57,7 +58,6 @@ const FagsakSearchIndex = () => { selectFagsakCallback={(e, saksnummer: string) => goToFagsak(saksnummer)} searchStarted={sokeStatus === RestApiState.LOADING} searchResultAccessDenied={searchResultAccessDenied} - alleKodeverk={alleKodeverk} /> ); }; diff --git a/packages/sak-app/src/fagsakprofile/FagsakProfileIndex.spec.tsx b/packages/sak-app/src/fagsakprofile/FagsakProfileIndex.spec.tsx index dae4c8e6ce..ccf1b275f9 100644 --- a/packages/sak-app/src/fagsakprofile/FagsakProfileIndex.spec.tsx +++ b/packages/sak-app/src/fagsakprofile/FagsakProfileIndex.spec.tsx @@ -6,27 +6,24 @@ import { MemoryRouter } from 'react-router-dom'; import aksjonspunktStatus from '@fpsak-frontend/kodeverk/src/aksjonspunktStatus'; import behandlingResultatType from '@fpsak-frontend/kodeverk/src/behandlingResultatType'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; -import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; +import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import kontrollresultatKode from '@fpsak-frontend/sak-risikoklassifisering/src/kodeverk/kontrollresultatKode'; import { BehandlingAppKontekst, Fagsak } from '@k9-sak-web/types'; import { renderWithIntlAndReactQueryClient } from '@fpsak-frontend/utils-test/test-utils'; import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; import { K9sakApiKeys, requestApi } from '../data/k9sakApi'; import { FagsakProfileIndex } from './FagsakProfileIndex'; const lagRisikoklassifisering = kode => ({ - kontrollresultat: { - kode, - kodeverk: 'Kontrollresultat', - }, + kontrollresultat: kode, medlFaresignaler: undefined, iayFaresignaler: undefined, - status: { - kode: aksjonspunktStatus.UTFORT, - }, + status: aksjonspunktStatus.UTFORT, }); vi.mock('react-router-dom', async () => { @@ -45,16 +42,27 @@ vi.mock('react-router-dom', async () => { }); describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '123', - sakstype: { - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: 'FAGSAK_YTELSE', - }, - status: { - kode: fagsakStatus.OPPRETTET, - kodeverk: 'FAGSAK_STATUS', + sakstype: fagsakYtelsesType.FP, + status: fagsakStatus.OPPRETTET, + person: { + aktørId: '', + erDod: false, + navn: '', + alder: 0, + personnummer: '', + erKvinne: false, + personstatusType: '', }, + relasjonsRolleType: '', + barnFodt: '', + opprettet: '', + endret: '', + antallBarn: 0, + kanRevurderingOpprettes: false, + skalBehandlesAvInfotrygd: false, + dekningsgrad: 0, }; const alleKodeverk = { @@ -91,7 +99,7 @@ describe('', () => { ], [kodeverkTyper.FAGSAK_YTELSE]: [ { - kode: fagsakYtelseType.FORELDREPENGER, + kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE', navn: 'Foreldrepenger', }, @@ -108,14 +116,8 @@ describe('', () => { const behandling: BehandlingAppKontekst = { id: 1, uuid: 'uuid-1', - type: { - kode: behandlingType.FØRSTEGANGSSØKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, - status: { - kode: behandlingStatus.AVSLUTTET, - kodeverk: 'BEHANDLING_STATUS', - }, + type: behandlingType.FØRSTEGANGSSØKNAD, + status: behandlingStatus.AVSLUTTET, links: [], behandlendeEnhetId: 'test', behandlendeEnhetNavn: 'NAV Viken', @@ -135,25 +137,16 @@ describe('', () => { id: 1, uuid: 'uuid-1', behandlingsresultat: { - type: { - kode: behandlingResultatType.AVSLATT, - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - }, + type: behandlingResultatType.AVSLATT, }, }; const revurdering: BehandlingAppKontekst = { ...behandling, id: 2, - type: { - kode: behandlingType.REVURDERING, - kodeverk: 'BEHANDLING_TYPE', - }, + type: behandlingType.REVURDERING, behandlingsresultat: { - type: { - kode: behandlingResultatType.INNVILGET, - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - }, + type: behandlingResultatType.INNVILGET, }, uuid: 'uuid-2', opprettet: '2021-02-01T00:54:25.455', @@ -179,17 +172,24 @@ describe('', () => { requestApi.mock(K9sakApiKeys.LOS_HENTE_MERKNAD, {}); renderWithIntlAndReactQueryClient( - - - - - , + + + + + + + , ); expect(await screen.findByRole('button', { name: 'Behandlingsmeny' })).toBeInTheDocument(); @@ -215,18 +215,25 @@ describe('', () => { requestApi.mock(K9sakApiKeys.LOS_HENTE_MERKNAD, {}); renderWithIntlAndReactQueryClient( - - - - - , + + + + + + + , ); expect(await screen.findByRole('button', { name: 'Behandlingsmeny' })).toBeInTheDocument(); diff --git a/packages/sak-app/src/fagsakprofile/FagsakProfileIndex.tsx b/packages/sak-app/src/fagsakprofile/FagsakProfileIndex.tsx index 1aee5ac38c..4d92b00ac6 100644 --- a/packages/sak-app/src/fagsakprofile/FagsakProfileIndex.tsx +++ b/packages/sak-app/src/fagsakprofile/FagsakProfileIndex.tsx @@ -1,3 +1,7 @@ +import { Location } from 'history'; +import React, { useCallback, useEffect, useState } from 'react'; +import { Navigate, useLocation, useMatch } from 'react-router-dom'; + import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import FagsakProfilSakIndex from '@fpsak-frontend/sak-fagsak-profil'; import { LoadingPanel, requireProps } from '@fpsak-frontend/shared-components'; @@ -8,13 +12,10 @@ import { ArbeidsgiverOpplysningerPerId, BehandlingAppKontekst, Fagsak, - KodeverkMedNavn, Personopplysninger, Risikoklassifisering, } from '@k9-sak-web/types'; -import { Location } from 'history'; -import React, { useCallback, useEffect, useState } from 'react'; -import { Navigate, useLocation, useMatch } from 'react-router-dom'; + import { createLocationForSkjermlenke, getLocationWithDefaultProsessStegAndFakta, @@ -24,7 +25,6 @@ import { import BehandlingRettigheter from '../behandling/behandlingRettigheterTsType'; import BehandlingMenuIndex, { BehandlendeEnheter } from '../behandlingmenu/BehandlingMenuIndex'; import { K9sakApiKeys, requestApi, restApiHooks } from '../data/k9sakApi'; -import { useFpSakKodeverkMedNavn, useGetKodeverkFn } from '../data/useKodeverk'; import SakRettigheter from '../fagsak/sakRettigheterTsType'; import styles from './fagsakProfileIndex.module.css'; import RisikoklassifiseringIndex from './risikoklassifisering/RisikoklassifiseringIndex'; @@ -67,11 +67,6 @@ export const FagsakProfileIndex = ({ const [showAll, setShowAll] = useState(!behandlingId); const toggleShowAll = useCallback(() => setShowAll(!showAll), [showAll]); - const getKodeverkFn = useGetKodeverkFn(); - - const fagsakStatusMedNavn = useFpSakKodeverkMedNavn(fagsak.status); - const fagsakYtelseTypeMedNavn = useFpSakKodeverkMedNavn(fagsak.sakstype); - const { data: risikoAksjonspunkt, state: risikoAksjonspunktState } = restApiHooks.useRestApi( K9sakApiKeys.RISIKO_AKSJONSPUNKT, undefined, @@ -90,7 +85,7 @@ export const FagsakProfileIndex = ({ ); const { data: behandlendeEnheter } = restApiHooks.useRestApi(K9sakApiKeys.BEHANDLENDE_ENHETER, { - ytelseType: fagsak.sakstype.kode, + ytelseType: fagsak.sakstype, }); useEffect(() => { @@ -111,7 +106,7 @@ export const FagsakProfileIndex = ({ ); const skalViseRisikoklassifisering = () => { - const isFagsakPleiepenger = fagsakYtelseTypeMedNavn.kode === fagsakYtelseType.PLEIEPENGER; + const isFagsakPleiepenger = fagsak.sakstype === fagsakYtelseType.PLEIEPENGER; return ( kontrollresultatState === RestApiState.SUCCESS && risikoAksjonspunktState === RestApiState.SUCCESS && @@ -128,8 +123,8 @@ export const FagsakProfileIndex = ({ {harHentetBehandlinger && !shouldRedirectToBehandlinger && ( { if (!fagsakRettigheter || !behandlendeEnheter) { @@ -156,7 +151,6 @@ export const FagsakProfileIndex = ({ getBehandlingLocation={getBehandlingLocation} noExistingBehandlinger={alleBehandlinger.length === 0} behandlingId={behandlingId} - getKodeverkFn={getKodeverkFn} showAll={showAll} toggleShowAll={toggleShowAll} fagsak={fagsak} diff --git a/packages/sak-app/src/fagsakprofile/risikoklassifisering/RisikoklassifiseringIndex.spec.tsx b/packages/sak-app/src/fagsakprofile/risikoklassifisering/RisikoklassifiseringIndex.spec.tsx index 837f6e0ce5..c0ae14b912 100644 --- a/packages/sak-app/src/fagsakprofile/risikoklassifisering/RisikoklassifiseringIndex.spec.tsx +++ b/packages/sak-app/src/fagsakprofile/risikoklassifisering/RisikoklassifiseringIndex.spec.tsx @@ -9,10 +9,7 @@ import { K9sakApiKeys, requestApi } from '../../data/k9sakApi'; import RisikoklassifiseringIndex from './RisikoklassifiseringIndex'; const lagRisikoklassifisering = kode => ({ - kontrollresultat: { - kode, - kodeverk: 'Kontrollresultat', - }, + kontrollresultat: kode, // 'Kontrollresultat' medlFaresignaler: undefined, iayFaresignaler: undefined, }); diff --git a/packages/sak-app/src/fagsakprofile/risikoklassifisering/RisikoklassifiseringIndex.tsx b/packages/sak-app/src/fagsakprofile/risikoklassifisering/RisikoklassifiseringIndex.tsx index 467b27a859..decd55bf36 100644 --- a/packages/sak-app/src/fagsakprofile/risikoklassifisering/RisikoklassifiseringIndex.tsx +++ b/packages/sak-app/src/fagsakprofile/risikoklassifisering/RisikoklassifiseringIndex.tsx @@ -70,10 +70,10 @@ const RisikoklassifiseringIndex = ({ const harRisikoAksjonspunkt = !!risikoAksjonspunkt; useEffect(() => { - if (harRisikoAksjonspunkt && risikoAksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET && !isRiskPanelOpen) { + if (harRisikoAksjonspunkt && risikoAksjonspunkt.status === aksjonspunktStatus.OPPRETTET && !isRiskPanelOpen) { navigate(getRiskPanelLocationCreator(location)(true)); } - if (harRisikoAksjonspunkt && risikoAksjonspunkt.status.kode === aksjonspunktStatus.UTFORT) { + if (harRisikoAksjonspunkt && risikoAksjonspunkt.status === aksjonspunktStatus.UTFORT) { navigate(getRiskPanelLocationCreator(location)(false)); } }, [harRisikoAksjonspunkt, behandlingId, behandlingVersjon]); diff --git a/packages/sak-behandling-velger/package.json b/packages/sak-behandling-velger/package.json index a01f3fef8a..d04627e2fc 100644 --- a/packages/sak-behandling-velger/package.json +++ b/packages/sak-behandling-velger/package.json @@ -8,7 +8,9 @@ "@fpsak-frontend/assets": "1.0.0", "@fpsak-frontend/kodeverk": "1.0.0", "@fpsak-frontend/shared-components": "1.0.0", + "@k9-sak-web/gui": "1.0.0", "@k9-sak-web/konstanter": "1.0.0", + "@k9-sak-web/lib": "1.0.0", "@k9-sak-web/types": "1.0.0", "@tanstack/react-query": "^5.49.2", "classnames": "2.5.1", diff --git a/packages/sak-behandling-velger/src/BehandlingVelgerSakIndex.stories.tsx b/packages/sak-behandling-velger/src/BehandlingVelgerSakIndex.stories.tsx index 5f61b64d35..7457e38784 100644 --- a/packages/sak-behandling-velger/src/BehandlingVelgerSakIndex.stories.tsx +++ b/packages/sak-behandling-velger/src/BehandlingVelgerSakIndex.stories.tsx @@ -1,11 +1,10 @@ /* eslint-disable max-len */ -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import relasjonsRolleType from '@fpsak-frontend/kodeverk/src/relasjonsRolleType'; -import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; -import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; import { Fagsak, Kodeverk } from '@k9-sak-web/types'; import React, { useState } from 'react'; +import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; import BehandlingVelgerSakIndex from './BehandlingVelgerSakIndex'; const behandlinger = [ @@ -26,15 +25,7 @@ const behandlinger = [ behandlingsfristTid: '2022-01-31', behandlingsresultat: { erRevurderingMedUendretUtfall: false, - type: { - kode: 'INNVILGET', - erHenleggelse: false, - behandlingsresultatHenlagt: false, - behandlingsresultatOpphørt: false, - behandlingsresultatIkkeEndret: false, - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - behandlingHenlagt: false, - }, + type: 'INNVILGET', vilkårResultat: { MEDLEMSKAPSVILKÅRET: [ { @@ -95,22 +86,14 @@ const behandlinger = [ }, vedtaksdato: '2021-12-20', }, - behandlingResultatType: { - kode: 'INNVILGET', - erHenleggelse: false, - behandlingsresultatHenlagt: false, - behandlingsresultatOpphørt: false, - behandlingsresultatIkkeEndret: false, - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - behandlingHenlagt: false, - }, + behandlingResultatType: 'INNVILGET', endret: '2021-12-20T09:23:01.248', endretAvBrukernavn: 'vtp', erPaaVent: false, fagsakId: 999951, førsteÅrsak: { erAutomatiskRevurdering: false, - behandlingArsakType: { kode: 'RE-END-INNTEKTSMELD', kodeverk: 'BEHANDLING_AARSAK' }, + behandlingArsakType: 'RE-END-INNTEKTSMELD', manueltOpprettet: false, }, gjeldendeVedtak: true, @@ -148,15 +131,7 @@ const behandlinger = [ behandlingsfristTid: '2022-01-31', behandlingsresultat: { erRevurderingMedUendretUtfall: false, - type: { - kode: 'INNVILGET', - erHenleggelse: false, - behandlingsresultatHenlagt: false, - behandlingsresultatOpphørt: false, - behandlingsresultatIkkeEndret: false, - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - behandlingHenlagt: false, - }, + type: 'INNVILGET', vilkårResultat: { MEDLEMSKAPSVILKÅRET: [ { @@ -217,22 +192,14 @@ const behandlinger = [ }, vedtaksdato: '2021-12-20', }, - behandlingResultatType: { - kode: 'INNVILGET', - erHenleggelse: false, - behandlingsresultatHenlagt: false, - behandlingsresultatOpphørt: false, - behandlingsresultatIkkeEndret: false, - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - behandlingHenlagt: false, - }, + behandlingResultatType: 'INNVILGET', endret: '2021-12-20T09:22:36.118', endretAvBrukernavn: 'vtp', erPaaVent: false, fagsakId: 999951, førsteÅrsak: { erAutomatiskRevurdering: false, - behandlingArsakType: { kode: 'RE-END-INNTEKTSMELD', kodeverk: 'BEHANDLING_AARSAK' }, + behandlingArsakType: 'RE-END-INNTEKTSMELD', manueltOpprettet: false, }, gjeldendeVedtak: false, @@ -252,18 +219,9 @@ const behandlinger = [ const fagsak = { saksnummer: '35425245', - sakstype: { - kode: fagsakYtelsesType.PSB, - kodeverk: 'FAGSAK_YTELSE', - }, - relasjonsRolleType: { - kode: relasjonsRolleType.MOR, - kodeverk: '', - }, - status: { - kode: fagsakStatus.UNDER_BEHANDLING, - kodeverk: 'FAGSAK_STATUS', - }, + sakstype: 'PSB', // FAGSAK_YTELSE + relasjonsRolleType: relasjonsRolleType.MOR, + status: fagsakStatus.UNDER_BEHANDLING, // FAGSAK_STATUS barnFodt: '2020-01-01', opprettet: '2020-01-01', endret: '2020-01-01', diff --git a/packages/sak-behandling-velger/src/BehandlingVelgerSakIndex.tsx b/packages/sak-behandling-velger/src/BehandlingVelgerSakIndex.tsx index d6258d2b20..4c8e84b69a 100644 --- a/packages/sak-behandling-velger/src/BehandlingVelgerSakIndex.tsx +++ b/packages/sak-behandling-velger/src/BehandlingVelgerSakIndex.tsx @@ -1,5 +1,5 @@ import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; -import { BehandlingAppKontekst, Fagsak, Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; +import { BehandlingAppKontekst, Fagsak } from '@k9-sak-web/types'; import { Location } from 'history'; import React from 'react'; import { RawIntlProvider, createIntl, createIntlCache } from 'react-intl'; @@ -22,7 +22,6 @@ interface OwnProps { getBehandlingLocation: (behandlingId: number) => Location; noExistingBehandlinger: boolean; behandlingId?: number; - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn; showAll: boolean; toggleShowAll: () => void; fagsak: Fagsak; @@ -33,7 +32,6 @@ const BehandlingVelgerSakIndex = ({ behandlinger, getBehandlingLocation, noExistingBehandlinger, - getKodeverkFn, behandlingId, showAll, toggleShowAll, @@ -41,10 +39,10 @@ const BehandlingVelgerSakIndex = ({ createLocationForSkjermlenke, }: OwnProps) => { const skalViseGammelBehandlingsvelger = - fagsak.sakstype.kode === fagsakYtelseType.FRISINN || - fagsak.sakstype.kode === fagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN || - fagsak.sakstype.kode === fagsakYtelseType.OMSORGSPENGER_KRONISK_SYKT_BARN || - fagsak.sakstype.kode === fagsakYtelseType.OMSORGSPENGER_MIDLERTIDIG_ALENE; + fagsak.sakstype === fagsakYtelseType.FRISINN || + fagsak.sakstype === fagsakYtelseType.OMSORGSPENGER_ALENE_OM_OMSORGEN || + fagsak.sakstype === fagsakYtelseType.OMSORGSPENGER_KRONISK_SYKT_BARN || + fagsak.sakstype === fagsakYtelseType.OMSORGSPENGER_MIDLERTIDIG_ALENE; return ( {skalViseGammelBehandlingsvelger ? ( @@ -55,17 +53,15 @@ const BehandlingVelgerSakIndex = ({ behandlingId={behandlingId} showAll={showAll} toggleShowAll={toggleShowAll} - getKodeverkFn={getKodeverkFn} /> ) : ( )} diff --git a/packages/sak-behandling-velger/src/BehandlingVelgerSakIndexOld.stories.tsx b/packages/sak-behandling-velger/src/BehandlingVelgerSakIndexOld.stories.tsx index 5cdddf62b3..8b14b44651 100644 --- a/packages/sak-behandling-velger/src/BehandlingVelgerSakIndexOld.stories.tsx +++ b/packages/sak-behandling-velger/src/BehandlingVelgerSakIndexOld.stories.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import relasjonsRolleType from '@fpsak-frontend/kodeverk/src/relasjonsRolleType'; import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; @@ -10,26 +10,14 @@ import { BehandlingAppKontekst, Fagsak, Kodeverk } from '@k9-sak-web/types'; import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; import BehandlingVelgerSakIndex from './BehandlingVelgerSakIndex'; -const BEHANDLING_TYPE_KODEVERK = 'BEHANDLING_TYPE'; -const BEHANDLING_STATUS_KODEVERK = 'BEHANDLING_STATUS'; - const behandlinger: BehandlingAppKontekst[] = [ { id: 1, uuid: 'dummy-uuid-behandling-1', versjon: 2, - type: { - kode: behandlingType.FØRSTEGANGSSØKNAD, - kodeverk: BEHANDLING_TYPE_KODEVERK, - }, - status: { - kode: behandlingStatus.AVSLUTTET, - kodeverk: BEHANDLING_STATUS_KODEVERK, - }, - sprakkode: { - kode: 'NB', - kodeverk: 'SPRAAK_KODE', - }, + type: behandlingType.FØRSTEGANGSSØKNAD, // BEHANDLING_TYPE_KODEVERK + status: behandlingStatus.AVSLUTTET, // BEHANDLING_STATUS_KODEVERK + sprakkode: 'NB', // SPRAAK_KODE opprettet: '2017-08-02T00:54:25.455', avsluttet: '2017-08-03T00:54:25.455', behandlendeEnhetId: '4812', @@ -42,28 +30,16 @@ const behandlinger: BehandlingAppKontekst[] = [ toTrinnsBehandling: false, behandlingÅrsaker: [], behandlingsresultat: { - type: { - kode: 'AVSLÅTT', - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - }, + type: 'AVSLÅTT', }, }, { id: 2, uuid: 'dummy-uuid-behandling-2', versjon: 2, - type: { - kode: behandlingType.FØRSTEGANGSSØKNAD, - kodeverk: BEHANDLING_TYPE_KODEVERK, - }, - status: { - kode: behandlingStatus.OPPRETTET, - kodeverk: BEHANDLING_STATUS_KODEVERK, - }, - sprakkode: { - kode: 'NB', - kodeverk: 'SPRAAK_KODE', - }, + type: behandlingType.FØRSTEGANGSSØKNAD, // BEHANDLING_TYPE_KODEVERK + status: behandlingStatus.OPPRETTET, // BEHANDLING_STATUS_KODEVERK + sprakkode: 'NB', // SPRAAK_KODE opprettet: '2017-08-02T00:54:25.455', avsluttet: '2017-08-03T00:54:25.455', behandlendeEnhetId: '4812', @@ -76,28 +52,16 @@ const behandlinger: BehandlingAppKontekst[] = [ toTrinnsBehandling: false, behandlingÅrsaker: [], behandlingsresultat: { - type: { - kode: 'INNVILGET', - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - }, + type: 'INNVILGET', }, }, { id: 3, uuid: 'dummy-uuid-behandling-3', versjon: 2, - type: { - kode: behandlingType.REVURDERING, - kodeverk: BEHANDLING_TYPE_KODEVERK, - }, - status: { - kode: behandlingStatus.OPPRETTET, - kodeverk: BEHANDLING_STATUS_KODEVERK, - }, - sprakkode: { - kode: 'NB', - kodeverk: 'SPRAAK_KODE', - }, + type: behandlingType.REVURDERING, // BEHANDLING_TYPE_KODEVERK + status: behandlingStatus.OPPRETTET, // BEHANDLING_STATUS_KODEVERK + sprakkode: 'NB', // SPRAAK_KODE opprettet: '2017-08-02T00:54:25.455', behandlendeEnhetId: '4812', behandlendeEnhetNavn: 'NAV Familie- og pensjonsytelser Bergen', @@ -113,18 +77,9 @@ const behandlinger: BehandlingAppKontekst[] = [ id: 4, uuid: 'dummy-uuid-behandling-4', versjon: 2, - type: { - kode: behandlingType.FØRSTEGANGSSØKNAD, - kodeverk: BEHANDLING_TYPE_KODEVERK, - }, - status: { - kode: behandlingStatus.AVSLUTTET, - kodeverk: BEHANDLING_STATUS_KODEVERK, - }, - sprakkode: { - kode: 'NB', - kodeverk: 'SPRAAK_KODE', - }, + type: behandlingType.FØRSTEGANGSSØKNAD, // BEHANDLING_TYPE_KODEVERK + status: behandlingStatus.AVSLUTTET, // BEHANDLING_STATUS_KODEVERK + sprakkode: 'NB', // SPRAAK_KODE opprettet: '2017-08-02T00:54:25.455', avsluttet: '2017-08-03T00:54:25.455', behandlendeEnhetId: '4812', @@ -137,10 +92,7 @@ const behandlinger: BehandlingAppKontekst[] = [ toTrinnsBehandling: false, behandlingÅrsaker: [], behandlingsresultat: { - type: { - kode: 'HENLAGT_SØKNAD_TRUKKET', - kodeverk: 'BEHANDLING_RESULTAT_TYPE', - }, + type: 'HENLAGT_SØKNAD_TRUKKET', }, }, ]; @@ -155,18 +107,9 @@ const locationMock = { const fagsak = { saksnummer: '35425245', - sakstype: { - kode: fagsakYtelsesType.FRISINN, - kodeverk: 'FAGSAK_YTELSE', - }, - relasjonsRolleType: { - kode: relasjonsRolleType.MOR, - kodeverk: '', - }, - status: { - kode: fagsakStatus.UNDER_BEHANDLING, - kodeverk: 'FAGSAK_STATUS', - }, + sakstype: fagsakYtelsesType.FRISINN, // FAGSAK_YTELSE + relasjonsRolleType: relasjonsRolleType.MOR, + status: fagsakStatus.UNDER_BEHANDLING, // FAGSAK_STATUS barnFodt: '2020-01-01', opprettet: '2020-01-01', endret: '2020-01-01', diff --git a/packages/sak-behandling-velger/src/components/BehandlingPicker.spec.tsx b/packages/sak-behandling-velger/src/components/BehandlingPicker.spec.tsx index 1ae12305fa..af66aab3b7 100644 --- a/packages/sak-behandling-velger/src/components/BehandlingPicker.spec.tsx +++ b/packages/sak-behandling-velger/src/components/BehandlingPicker.spec.tsx @@ -1,27 +1,22 @@ import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import relasjonsRolleType from '@fpsak-frontend/kodeverk/src/relasjonsRolleType'; import { renderWithIntlAndReactQueryClient } from '@fpsak-frontend/utils-test/test-utils'; -import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import { BehandlingAppKontekst, Fagsak } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; import React from 'react'; import { MemoryRouter } from 'react-router-dom'; -import messages from '../../i18n/nb_NO.json'; +import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; +import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; import BehandlingVelgerSakIndex from '../BehandlingVelgerSakIndex'; import { sortBehandlinger } from './behandlingVelgerUtils'; +import messages from '../../i18n/nb_NO.json'; describe('', () => { const behandlingTemplate = { versjon: 123, - type: { - kode: '', - kodeverk: '', - }, - status: { - kode: behandlingStatus.AVSLUTTET, - kodeverk: 'BEHANDLING_STATUS', - }, + type: '', + status: behandlingStatus.AVSLUTTET, opprettet: '15.10.2017', behandlendeEnhetId: '1242424', behandlendeEnhetNavn: 'test', @@ -43,18 +38,9 @@ describe('', () => { const fagsak = { saksnummer: '35425245', - sakstype: { - kode: fagsakYtelsesType.PSB, - kodeverk: 'FAGSAK_YTELSE', - }, - relasjonsRolleType: { - kode: relasjonsRolleType.MOR, - kodeverk: '', - }, - status: { - kode: fagsakStatus.UNDER_BEHANDLING, - kodeverk: 'FAGSAK_STATUS', - }, + sakstype: fagsakYtelsesType.PSB, + relasjonsRolleType: relasjonsRolleType.MOR, + status: fagsakStatus.UNDER_BEHANDLING, barnFodt: '2020-01-01', opprettet: '2020-01-01', endret: '2020-01-01', @@ -73,13 +59,13 @@ describe('', () => { }; it('skal vise forklarende tekst når det ikke finnes behandlinger', async () => { + requestApi.mock(K9sakApiKeys.KODEVERK, []); renderWithIntlAndReactQueryClient( locationMock} - getKodeverkFn={vi.fn()} createLocationForSkjermlenke={() => locationMock} fagsak={fagsak} showAll={false} @@ -95,6 +81,7 @@ describe('', () => { }); it('skal vise alle behandlinger', async () => { + requestApi.mock(K9sakApiKeys.KODEVERK, []); const behandlinger = [ { ...behandlingTemplate, @@ -119,7 +106,6 @@ describe('', () => { noExistingBehandlinger={false} behandlinger={behandlinger as BehandlingAppKontekst[]} getBehandlingLocation={() => locationMock} - getKodeverkFn={vi.fn()} createLocationForSkjermlenke={() => locationMock} fagsak={fagsak} showAll={false} @@ -137,6 +123,7 @@ describe('', () => { }); it('skal sortere behandlingene gitt avsluttet og opprettet datoer', () => { + requestApi.mock(K9sakApiKeys.KODEVERK, []); const behandlinger = [ { opprettet: '2019-08-13T13:32:57', @@ -175,6 +162,7 @@ describe('', () => { }); it('skal vise BehandlingSelected dersom en behandling er valgt', async () => { + requestApi.mock(K9sakApiKeys.KODEVERK, []); const behandlinger = [ { ...behandlingTemplate, @@ -209,7 +197,6 @@ describe('', () => { noExistingBehandlinger={false} behandlinger={behandlinger as BehandlingAppKontekst[]} getBehandlingLocation={() => locationMock} - getKodeverkFn={() => ({ navn: 'test', kode: 'test', kodeverk: 'test' })} behandlingId={1} createLocationForSkjermlenke={() => locationMock} fagsak={fagsak} diff --git a/packages/sak-behandling-velger/src/components/BehandlingPicker.tsx b/packages/sak-behandling-velger/src/components/BehandlingPicker.tsx index 130bc7b42e..9eda6bcd80 100644 --- a/packages/sak-behandling-velger/src/components/BehandlingPicker.tsx +++ b/packages/sak-behandling-velger/src/components/BehandlingPicker.tsx @@ -1,45 +1,42 @@ +import React, { ReactElement, useEffect, useMemo, useRef, useState } from 'react'; import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import behandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { BehandlingAppKontekst, Kodeverk, KodeverkMedNavn, PerioderMedBehandlingsId } from '@k9-sak-web/types'; +import { BehandlingAppKontekst, PerioderMedBehandlingsId } from '@k9-sak-web/types'; import { ChevronLeftIcon } from '@navikt/aksel-icons'; import { AddCircle } from '@navikt/ds-icons'; import { BodyShort, Button, Heading } from '@navikt/ds-react'; import { UseQueryResult, useQueries } from '@tanstack/react-query'; import axios from 'axios'; import { Location } from 'history'; -import React, { ReactElement, useEffect, useMemo, useRef, useState } from 'react'; import { FormattedMessage, IntlShape, useIntl } from 'react-intl'; import { NavLink, useNavigate } from 'react-router-dom'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import BehandlingFilter, { automatiskBehandling } from './BehandlingFilter'; import BehandlingPickerItemContent from './BehandlingPickerItemContent'; import BehandlingSelected from './BehandlingSelected'; -import styles from './behandlingPicker.module.css'; import { sortBehandlinger } from './behandlingVelgerUtils'; +import styles from './behandlingPicker.module.css'; + +const getBehandlingNavn = (behandlingTypeKode, intl: IntlShape) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); -const getBehandlingNavn = ( - behandling: BehandlingAppKontekst, - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn, - intl: IntlShape, -) => { if ( - behandling.type.kode === behandlingType.FORSTEGANGSSOKNAD || - behandling.type.kode === behandlingType.KLAGE || - behandling.type.kode === behandlingType.TILBAKEKREVING + [behandlingType.FORSTEGANGSSOKNAD, behandlingType.KLAGE, behandlingType.TILBAKEKREVING].includes(behandlingTypeKode) ) { - return getKodeverkFn(behandling.type, behandling.type).navn; + return kodeverkNavnFraKode(behandlingTypeKode, KodeverkType.BEHANDLING_TYPE); } return intl.formatMessage({ id: 'BehandlingPickerItemContent.BehandlingTypeNavn.Viderebehandling' }); }; const erAutomatiskBehandlet = (behandling: BehandlingAppKontekst) => - !behandling.ansvarligSaksbehandler && behandling.status.kode === behandlingStatus.AVSLUTTET; + !behandling.ansvarligSaksbehandler && behandling.status === behandlingStatus.AVSLUTTET; const renderListItems = ({ behandlinger, getBehandlingLocation, - getKodeverkFn, setValgtBehandlingId, intl, alleSøknadsperioder, @@ -47,12 +44,12 @@ const renderListItems = ({ }: { behandlinger: BehandlingAppKontekst[]; getBehandlingLocation: (behandlingId: number) => Location; - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn; setValgtBehandlingId; intl: IntlShape; alleSøknadsperioder: UseQueryResult[]; activeFilters: string[]; }): ReactElement[] => { + const { kodeverkNavnFraKode } = useKodeverkContext(); const sorterteOgFiltrerteBehandlinger = sortBehandlinger(behandlinger).filter(behandling => { if (activeFilters.length === 0) { return true; @@ -60,7 +57,7 @@ const renderListItems = ({ if (activeFilters.includes(automatiskBehandling)) { return erAutomatiskBehandlet(behandling); } - return activeFilters.includes(behandling.type.kode); + return activeFilters.includes(behandling.type); }); return sorterteOgFiltrerteBehandlinger.map((behandling, index) => ( @@ -71,19 +68,17 @@ const renderListItems = ({ to={getBehandlingLocation(behandling.id)} > periode.data?.id === behandling.id)?.data?.perioder} erFerdigstilt={!!behandling.avsluttet} - erUnntaksløype={behandling.type.kode === behandlingType.UNNTAK} + erUnntaksløype={behandling.type === behandlingType.UNNTAK} index={sorterteOgFiltrerteBehandlinger.length - index} opprettet={behandling.opprettet} avsluttet={behandling.avsluttet} @@ -117,7 +112,6 @@ interface OwnProps { behandlinger: BehandlingAppKontekst[]; getBehandlingLocation: (behandlingId: number) => Location; noExistingBehandlinger: boolean; - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn; behandlingId?: number; createLocationForSkjermlenke: (behandlingLocation: Location, skjermlenkeCode: string) => Location; sakstypeKode: string; @@ -133,13 +127,13 @@ const BehandlingPicker = ({ behandlingId, behandlinger, getBehandlingLocation, - getKodeverkFn, createLocationForSkjermlenke, sakstypeKode, }: OwnProps) => { const navigate = useNavigate(); + const { kodeverkNavnFraKode } = useKodeverkContext(); const finnÅpenBehandling = () => { - const åpenBehandling = behandlinger.find(behandling => behandling.status.kode !== behandlingStatus.AVSLUTTET); + const åpenBehandling = behandlinger.find(behandling => behandling.status !== behandlingStatus.AVSLUTTET); if (åpenBehandling) { navigate(getBehandlingLocation(åpenBehandling.id)); } @@ -208,10 +202,10 @@ const BehandlingPicker = ({ const getFilterListe = () => { const filterListe = []; behandlinger.forEach(behandling => { - if (!filterListe.some(filter => filter.value === behandling.type.kode)) { + if (!filterListe.some(filter => filter.value === behandling.type)) { filterListe.push({ - value: behandling.type.kode, - label: getBehandlingNavn(behandling, getKodeverkFn, intl), + value: behandling.type, + label: getBehandlingNavn(behandling.type, intl), }); } if (erAutomatiskBehandlet(behandling) && !filterListe.some(filter => filter.value === automatiskBehandling)) { @@ -235,7 +229,7 @@ const BehandlingPicker = ({ periode.årsaker.forEach(årsak => { // TODO: try/catch skal ikke være nødvendig etter at backend har lagt inn alle behandlingsårsaker try { - årsaker.push(getKodeverkFn({ kode: årsak, kodeverk: 'ÅRSAK_TIL_VURDERING' }).navn); + årsaker.push(kodeverkNavnFraKode(årsak, KodeverkType.ÅRSAK_TIL_VURDERING)); } catch { årsaker.push(årsak); } @@ -286,7 +280,6 @@ const BehandlingPicker = ({ renderListItems({ behandlinger: behandlingerSomSkalVises, getBehandlingLocation, - getKodeverkFn, setValgtBehandlingId, intl, alleSøknadsperioder: søknadsperioder, @@ -301,15 +294,15 @@ const BehandlingPicker = ({ avsluttetDato={valgtBehandling.avsluttet} behandlingsresultatTypeNavn={ valgtBehandling.behandlingsresultat - ? getKodeverkFn(valgtBehandling.behandlingsresultat.type, valgtBehandling.type).navn + ? kodeverkNavnFraKode(valgtBehandling.behandlingsresultat.type, KodeverkType.BEHANDLING_RESULTAT_TYPE) : undefined } behandlingsresultatTypeKode={ - valgtBehandling.behandlingsresultat ? valgtBehandling.behandlingsresultat.type.kode : undefined + valgtBehandling.behandlingsresultat ? valgtBehandling.behandlingsresultat.type : undefined } behandlingsårsaker={getÅrsaksliste()} - behandlingTypeNavn={getBehandlingNavn(valgtBehandling, getKodeverkFn, intl)} - behandlingTypeKode={valgtBehandling.type.kode} + behandlingTypeNavn={getBehandlingNavn(valgtBehandling.type, intl)} + behandlingTypeKode={valgtBehandling.type} søknadsperioder={søknadsperioder.find(periode => periode.data?.id === valgtBehandling.id)?.data?.perioder} createLocationForSkjermlenke={createLocationForSkjermlenke} sakstypeKode={sakstypeKode} diff --git a/packages/sak-behandling-velger/src/components/BehandlingPickerItem.spec.tsx b/packages/sak-behandling-velger/src/components/BehandlingPickerItem.spec.tsx index 93f9ce75dc..392d5153e0 100644 --- a/packages/sak-behandling-velger/src/components/BehandlingPickerItem.spec.tsx +++ b/packages/sak-behandling-velger/src/components/BehandlingPickerItem.spec.tsx @@ -3,6 +3,10 @@ import { BehandlingAppKontekst } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; import React from 'react'; import { MemoryRouter } from 'react-router-dom'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import behandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import messages from '../../i18n/nb_NO.json'; import BehandlingPickerItem from './BehandlingPickerItem'; @@ -10,14 +14,8 @@ describe('', () => { const behandlingTemplate = { id: 1, versjon: 123, - type: { - kode: '', - kodeverk: '', - }, - status: { - kode: 'FVED', - kodeverk: '', - }, + type: behandlingType.FØRSTEGANGSSØKNAD, + status: behandlingStatus.OPPRETTET, opprettet: '2017-10-15', behandlendeEnhetId: '1242424', behandlendeEnhetNavn: 'test', @@ -39,23 +37,23 @@ describe('', () => { key: 'test', }; - const getKodeverkFn = () => ({ - kode: '', - kodeverk: '', - navn: '', - }); - it('skal vise behandling uten lenke når det kun finnes en behandling og denne er valgt', () => { renderWithIntl( - locationMock} - isActive - showAll - toggleShowAll={() => undefined} - getKodeverkFn={getKodeverkFn} - />, + + locationMock} + isActive + showAll + toggleShowAll={() => undefined} + /> + , { messages }, ); expect(screen.getByText('Behandlingsstatus')).toBeInTheDocument(); @@ -65,17 +63,23 @@ describe('', () => { it('skal vise behandling med lenke når det kun finnes en behandling og denne ikke er valgt', () => { renderWithIntl( - - locationMock} - isActive={false} - showAll - toggleShowAll={() => undefined} - getKodeverkFn={getKodeverkFn} - /> - , + + + locationMock} + isActive={false} + showAll + toggleShowAll={() => undefined} + /> + + , { messages }, ); @@ -83,22 +87,28 @@ describe('', () => { expect(screen.getByText('Resultat')).toBeInTheDocument(); expect( screen.getByRole('link', { - name: /Behandlingsstatus Resultat - Opprettet/g, + name: /Behandlingsstatus Opprettet Resultat/g, }), ).toBeInTheDocument(); }); it('skal vise behandling med knapp for visning av alle behandlinger når ingen behandlinger er valgt og innslag er aktivt', () => { renderWithIntl( - locationMock} - isActive - showAll={false} - toggleShowAll={() => undefined} - getKodeverkFn={getKodeverkFn} - />, + + locationMock} + isActive + showAll={false} + toggleShowAll={() => undefined} + /> + , { messages }, ); diff --git a/packages/sak-behandling-velger/src/components/BehandlingPickerItem.tsx b/packages/sak-behandling-velger/src/components/BehandlingPickerItem.tsx index fb3e0acfb6..5082f8be0e 100644 --- a/packages/sak-behandling-velger/src/components/BehandlingPickerItem.tsx +++ b/packages/sak-behandling-velger/src/components/BehandlingPickerItem.tsx @@ -2,43 +2,43 @@ import { Location } from 'history'; import React, { ReactElement } from 'react'; import { NavLink } from 'react-router-dom'; -import BehandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; -import { BehandlingAppKontekst, Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { BehandlingAppKontekst } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import BehandlingPickerItemContentOld from './BehandlingPickerItemContentOld'; import styles from './behandlingPickerItem.module.css'; -const getContentProps = ( - behandling: BehandlingAppKontekst, - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn, -) => ({ - behandlingId: behandling.id, - behandlingTypeNavn: getKodeverkFn(behandling.type, behandling.type).navn, - behandlingTypeKode: behandling.type.kode, - førsteÅrsak: behandling.førsteÅrsak, - behandlendeEnhetId: behandling.behandlendeEnhetId, - behandlendeEnhetNavn: behandling.behandlendeEnhetNavn, - opprettetDato: behandling.opprettet, - avsluttetDato: behandling.avsluttet, - behandlingsstatus: getKodeverkFn(behandling.status, { kode: BehandlingType.FORSTEGANGSSOKNAD, kodeverk: '' }).navn, - erGjeldendeVedtak: behandling.gjeldendeVedtak, - behandlingsresultatTypeNavn: behandling.behandlingsresultat - ? getKodeverkFn(behandling.behandlingsresultat.type, behandling.type).navn - : undefined, - behandlingsresultatTypeKode: behandling.behandlingsresultat ? behandling.behandlingsresultat.type.kode : undefined, -}); +const getContentProps = (behandling: BehandlingAppKontekst) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); + return { + behandlingId: behandling.id, + behandlingTypeNavn: kodeverkNavnFraKode(behandling.type, KodeverkType.BEHANDLING_TYPE), + behandlingTypeKode: behandling.type, + førsteÅrsak: behandling.førsteÅrsak, + behandlendeEnhetId: behandling.behandlendeEnhetId, + behandlendeEnhetNavn: behandling.behandlendeEnhetNavn, + opprettetDato: behandling.opprettet, + avsluttetDato: behandling.avsluttet, + behandlingsstatus: kodeverkNavnFraKode(behandling.status, KodeverkType.BEHANDLING_STATUS), + erGjeldendeVedtak: behandling.gjeldendeVedtak, + behandlingsresultatTypeNavn: behandling.behandlingsresultat + ? kodeverkNavnFraKode(behandling.behandlingsresultat.type, KodeverkType.BEHANDLING_RESULTAT_TYPE) + : undefined, + behandlingsresultatTypeKode: behandling.behandlingsresultat ? behandling.behandlingsresultat.type : undefined, + }; +}; const renderItemContent = ( behandling: BehandlingAppKontekst, - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn, withChevronDown = false, withChevronUp = false, ): ReactElement => ( ); @@ -46,7 +46,6 @@ const renderToggleShowAllButton = ( toggleShowAll: () => void, behandling: BehandlingAppKontekst, showAll: boolean, - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn, ): ReactElement => ( ); @@ -64,10 +63,9 @@ const renderLinkToBehandling = ( isActive: boolean, toggleShowAll: () => void, showAll: boolean, - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn, ): ReactElement => ( - {renderItemContent(behandling, getKodeverkFn, false, showAll && isActive)} + {renderItemContent(behandling, false, showAll && isActive)} ); @@ -78,7 +76,6 @@ interface OwnProps { isActive: boolean; showAll: boolean; toggleShowAll: () => void; - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn; } const BehandlingPickerItem = ({ @@ -88,16 +85,15 @@ const BehandlingPickerItem = ({ isActive, showAll, toggleShowAll, - getKodeverkFn, }: OwnProps) => { if (onlyOneBehandling && isActive) { - return renderItemContent(behandling, getKodeverkFn); + return renderItemContent(behandling); } if (onlyOneBehandling || showAll) { - return renderLinkToBehandling(getBehandlingLocation, behandling, isActive, toggleShowAll, showAll, getKodeverkFn); + return renderLinkToBehandling(getBehandlingLocation, behandling, isActive, toggleShowAll, showAll); } if (isActive) { - return renderToggleShowAllButton(toggleShowAll, behandling, showAll, getKodeverkFn); + return renderToggleShowAllButton(toggleShowAll, behandling, showAll); } return null; }; diff --git a/packages/sak-behandling-velger/src/components/BehandlingPickerItemContentOld.spec.tsx b/packages/sak-behandling-velger/src/components/BehandlingPickerItemContentOld.spec.tsx index a20d257140..88e24183cb 100644 --- a/packages/sak-behandling-velger/src/components/BehandlingPickerItemContentOld.spec.tsx +++ b/packages/sak-behandling-velger/src/components/BehandlingPickerItemContentOld.spec.tsx @@ -1,6 +1,9 @@ import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; import { screen } from '@testing-library/react'; import React from 'react'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import messages from '../../i18n/nb_NO.json'; import BehandlingPickerItemContent from './BehandlingPickerItemContentOld'; @@ -45,28 +48,32 @@ describe('', () => { it('skal vise årsak for revurdering', () => { const førsteÅrsak = { - behandlingArsakType: { - kode: 'RE-MF', - kodeverk: '', - }, + behandlingArsakType: 'RE-MF', erAutomatiskRevurdering: false, manueltOpprettet: false, }; renderWithIntl( - , + + + , { messages }, ); - expect(screen.getByText('Mangler fødselsdato')).toBeInTheDocument(); + expect(screen.getByText('Manglende informasjon om fødsel i folkeregisteret')).toBeInTheDocument(); }); }); diff --git a/packages/sak-behandling-velger/src/components/BehandlingPickerItemContentOld.tsx b/packages/sak-behandling-velger/src/components/BehandlingPickerItemContentOld.tsx index 64bd5e8b27..bb9d0f71a2 100644 --- a/packages/sak-behandling-velger/src/components/BehandlingPickerItemContentOld.tsx +++ b/packages/sak-behandling-velger/src/components/BehandlingPickerItemContentOld.tsx @@ -1,3 +1,6 @@ +import React, { ReactElement } from 'react'; +import { FormattedMessage } from 'react-intl'; +import classNames from 'classnames'; import chevronDown from '@fpsak-frontend/assets/images/pil_ned.svg'; import chevronUp from '@fpsak-frontend/assets/images/pil_opp.svg'; import stjerneImg from '@fpsak-frontend/assets/images/stjerne.svg'; @@ -13,84 +16,16 @@ import { Tooltip, VerticalSpacer, } from '@fpsak-frontend/shared-components'; -import { BehandlingAppKontekst, Kodeverk } from '@k9-sak-web/types'; +import { BehandlingAppKontekst } from '@k9-sak-web/types'; import { BodyShort, Box, Detail, Label } from '@navikt/ds-react'; -import classNames from 'classnames'; -import React, { ReactElement } from 'react'; -import { FormattedMessage } from 'react-intl'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import styles from './behandlingPickerItemContent.module.css'; -// TODO (TOR) Kva er dette for noko? Desse tekstane burde vel komma fra kodeverket? Ein skal uansett ikkje hardkoda kodane her! -// TODO hente de forksjellige kodeverkene man trenger -const getÅrsak = (årsak: BehandlingAppKontekst['førsteÅrsak']) => { - switch (årsak.behandlingArsakType.kode) { - case 'RE-MF': - case 'RE-MFIP': - return 'Behandlingspunkt.Årsak.ManglerFødselsdato'; - case 'RE-AVAB': - return 'Behandlingspunkt.Årsak.AvvikAntallBarn'; - case 'RE-LOV': - case 'RE-RGLF': - return 'Behandlingspunkt.Årsak.FeilLovanvendelse'; - case 'RE-FEFAKTA': - return 'Behandlingspunkt.Årsak.EndredeOpplysninger'; - case 'RE-PRSSL': - case 'RE-ANNET': - return 'Behandlingspunkt.Årsak.Annet'; - case 'RE-END-FRA-BRUKER': - return 'Behandlingspunkt.Årsak.Søknad'; - case 'RE-END-INNTEKTSMELD': - return 'Behandlingspunkt.Årsak.Inntektsmelding'; - case 'BERØRT-BEHANDLING': - return 'Behandlingspunkt.Årsak.BerørtBehandling'; - case 'KØET-BEHANDLING': - return 'Behandlingspunkt.Årsak.KøetBehandling'; - case 'RE-KLAG-U-INNTK': - case 'RE-KLAG-M-INNTK': - case 'ETTER_KLAGE': - return 'Behandlingspunkt.Årsak.Klage'; - case 'RE-MDL': - return 'Behandlingspunkt.Årsak.OpplysningerMedlemskap'; - case 'RE-OPTJ': - return 'Behandlingspunkt.Årsak.OpplysningerOpptjening'; - case 'RE-FRDLING': - return 'Behandlingspunkt.Årsak.OpplysningerFordeling'; - case 'RE-INNTK': - return 'Behandlingspunkt.Årsak.OpplysningerInntekt'; - case 'RE-DØD': - return 'Behandlingspunkt.Årsak.OpplysningerDød'; - case 'RE-SRTB': - return 'Behandlingspunkt.Årsak.OpplysningerRelasjon'; - case 'RE-FRIST': - return 'Behandlingspunkt.Årsak.OpplysningerSøknadsfrist'; - case 'RE-BER-GRUN': - case 'RE-ENDR-BER-GRUN': - return 'Behandlingspunkt.Årsak.OpplysningerBeregning'; - case 'RE-YTELSE': - case 'RE-TILST-YT-INNVIL': - case 'RE-TILST-YT-OPPH': - return 'Behandlingspunkt.Årsak.OpplysningerAnnenYtelse'; - case 'RE-HENDELSE-FØDSEL': - case 'RE-FØDSEL': - return 'Behandlingspunkt.Årsak.Fødsel'; - case 'RE-HENDELSE-DØD-F': - return 'Behandlingspunkt.Årsak.SøkerDød'; - case 'RE-HENDELSE-DØD-B': - return 'Behandlingspunkt.Årsak.BarnDød'; - case 'RE-HENDELSE-DØDFØD': - return 'Behandlingspunkt.Årsak.Dødfødsel'; - case 'RE-REGISTEROPPL': - return 'Behandlingspunkt.Årsak.NyeRegisteropplysninger'; - default: - return 'Behandlingspunkt.Årsak.Annet'; - } -}; - const tilbakekrevingÅrsakTyperKlage = [behandlingArsakType.RE_KLAGE_KA, behandlingArsakType.RE_KLAGE_NFP]; -const erTilbakekrevingÅrsakKlage = (årsak?: Kodeverk): boolean => - årsak && tilbakekrevingÅrsakTyperKlage.includes(årsak.kode); +const erTilbakekrevingÅrsakKlage = (årsak?: string): boolean => årsak && tilbakekrevingÅrsakTyperKlage.includes(årsak); const renderChevron = (chevron: string, messageId: string): ReactElement => ( {altText => {`${altText}`}} @@ -131,130 +66,134 @@ const BehandlingPickerItemContent = ({ behandlingsresultatTypeNavn, førsteÅrsak, behandlingTypeKode, -}: OwnProps) => ( - - - - - - - {behandlingTypeKode === behandlingType.REVURDERING && førsteÅrsak?.behandlingArsakType && ( - <> - - - - - - - - - )} - {behandlingTypeKode === behandlingType.TILBAKEKREVING_REVURDERING && - erTilbakekrevingÅrsakKlage(førsteÅrsak?.behandlingArsakType) && ( +}: OwnProps) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); + return ( + + + + + + + {behandlingTypeKode === behandlingType.REVURDERING && førsteÅrsak?.behandlingArsakType && ( <> - - + {kodeverkNavnFraKode(førsteÅrsak?.behandlingArsakType, KodeverkType.BEHANDLING_AARSAK)} + {/* */} )} - - {erGjeldendeVedtak && ( - } - alignTooltipLeft - /> - )} - - - {withChevronDown && renderChevron(chevronDown, 'BehandlingPickerItemContent.Open')} - {withChevronUp && renderChevron(chevronUp, 'BehandlingPickerItemContent.Close')} - - - - -
- - - - - - - - - - {behandlingsstatus} - - - - - - - - - - {behandlingsresultatTypeKode ? behandlingsresultatTypeNavn : '-'} - - + {behandlingTypeKode === behandlingType.TILBAKEKREVING_REVURDERING && + erTilbakekrevingÅrsakKlage(førsteÅrsak?.behandlingArsakType) && ( + <> + - + + + + + + + )} + + {erGjeldendeVedtak && ( + } + alignTooltipLeft + /> + )} + + + {withChevronDown && renderChevron(chevronDown, 'BehandlingPickerItemContent.Open')} + {withChevronUp && renderChevron(chevronUp, 'BehandlingPickerItemContent.Close')} + +
+
+ +
- - - - - - - - - - - - - - - - - - - - - - - - - - {avsluttetDato && ( - <> - - - - - - - - - - - )} - - - - - - + + + + + + + + + {behandlingsstatus} + + + + + + + + + + {behandlingsresultatTypeKode ? behandlingsresultatTypeNavn : '-'} + + + + + + + + + + - {behandlendeEnhetId} + - - - - - -
-); + + + + + + + + + + + + + + + + {avsluttetDato && ( + <> + + + + + + + + + + + )} + + + + + + + + {behandlendeEnhetId} + + + + + + + + ); +}; export default BehandlingPickerItemContent; diff --git a/packages/sak-behandling-velger/src/components/BehandlingPickerOld.tsx b/packages/sak-behandling-velger/src/components/BehandlingPickerOld.tsx index f7c8aeca07..8e6122375f 100644 --- a/packages/sak-behandling-velger/src/components/BehandlingPickerOld.tsx +++ b/packages/sak-behandling-velger/src/components/BehandlingPickerOld.tsx @@ -1,8 +1,8 @@ -import { BehandlingAppKontekst, Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; -import { BodyShort } from '@navikt/ds-react'; -import { Location } from 'history'; import React, { ReactElement } from 'react'; +import { Location } from 'history'; import { FormattedMessage } from 'react-intl'; +import { BehandlingAppKontekst } from '@k9-sak-web/types'; +import { BodyShort } from '@navikt/ds-react'; import BehandlingPickerItem from './BehandlingPickerItem'; import styles from './behandlingPickerOld.module.css'; import { sortBehandlinger } from './behandlingVelgerUtils'; @@ -12,7 +12,6 @@ const renderListItems = ( getBehandlingLocation: (behandlingId: number) => Location, showAll: boolean, toggleShowAll: () => void, - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn, behandlingId?: number, ): ReactElement[] => sortBehandlinger(behandlinger) @@ -26,7 +25,6 @@ const renderListItems = ( isActive={behandling.id === behandlingId} showAll={showAll} toggleShowAll={toggleShowAll} - getKodeverkFn={getKodeverkFn} /> )); @@ -38,7 +36,6 @@ interface OwnProps { behandlingId?: number; showAll: boolean; toggleShowAll: () => void; - getKodeverkFn: (kodeverk: Kodeverk, behandlingType?: Kodeverk) => KodeverkMedNavn; } /** @@ -53,7 +50,6 @@ const BehandlingPicker = ({ behandlingId, showAll, toggleShowAll, - getKodeverkFn, }: OwnProps) => (
    {noExistingBehandlinger && ( @@ -62,7 +58,7 @@ const BehandlingPicker = ({ )} {!noExistingBehandlinger && - renderListItems(behandlinger, getBehandlingLocation, showAll, toggleShowAll, getKodeverkFn, behandlingId)} + renderListItems(behandlinger, getBehandlingLocation, showAll, toggleShowAll, behandlingId)}
); diff --git a/packages/sak-dokumenter/src/DokumenterSakIndex.stories.tsx b/packages/sak-dokumenter/src/DokumenterSakIndex.stories.tsx index aff0d086c9..203be329b0 100644 --- a/packages/sak-dokumenter/src/DokumenterSakIndex.stories.tsx +++ b/packages/sak-dokumenter/src/DokumenterSakIndex.stories.tsx @@ -1,7 +1,6 @@ -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import kommunikasjonsretning from '@fpsak-frontend/kodeverk/src/kommunikasjonsretning'; import relasjonsRolleType from '@fpsak-frontend/kodeverk/src/relasjonsRolleType'; -import { fagsakYtelsesType } from '@k9-sak-web/backend/k9sak/kodeverk/FagsakYtelsesType.js'; import { Fagsak } from '@k9-sak-web/types'; import React from 'react'; import DokumenterSakIndex from './DokumenterSakIndex'; @@ -40,18 +39,9 @@ const dokumenter = [ const fagsak = { saksnummer: '35425245', - sakstype: { - kode: fagsakYtelsesType.PSB, - kodeverk: 'FAGSAK_YTELSE', - }, - relasjonsRolleType: { - kode: relasjonsRolleType.MOR, - kodeverk: '', - }, - status: { - kode: fagsakStatus.UNDER_BEHANDLING, - kodeverk: 'FAGSAK_STATUS', - }, + sakstype: 'PSB', // FAGSAK_YTELSE + relasjonsRolleType: relasjonsRolleType.MOR, + status: fagsakStatus.UNDER_BEHANDLING, // FAGSAK_STATUS barnFodt: '2020-01-01', opprettet: '2020-01-01', endret: '2020-01-01', diff --git a/packages/sak-dokumenter/src/DokumenterSakIndex.tsx b/packages/sak-dokumenter/src/DokumenterSakIndex.tsx index 15a6cfc264..f45377ad14 100644 --- a/packages/sak-dokumenter/src/DokumenterSakIndex.tsx +++ b/packages/sak-dokumenter/src/DokumenterSakIndex.tsx @@ -30,7 +30,7 @@ const DokumenterSakIndex = ({ documents, behandlingId, fagsak, saksnummer, behan fagsakPerson={fagsak.person} saksnummer={saksnummer} behandlingUuid={behandlingUuid} - sakstype={fagsak?.sakstype?.kode} + sakstype={fagsak?.sakstype} /> ); diff --git a/packages/sak-fagsak-profil/package.json b/packages/sak-fagsak-profil/package.json index 05f265dac8..0af0626610 100644 --- a/packages/sak-fagsak-profil/package.json +++ b/packages/sak-fagsak-profil/package.json @@ -7,6 +7,8 @@ "dependencies": { "@fpsak-frontend/kodeverk": "1.0.0", "@fpsak-frontend/shared-components": "1.0.0", + "@k9-sak-web/gui": "1.0.0", + "@k9-sak-web/lib": "1.0.0", "@k9-sak-web/types": "1.0.0", "react": "18.3.1", "react-intl": "6.6.8" diff --git a/packages/sak-fagsak-profil/src/FagsakProfilSakIndex.stories.tsx b/packages/sak-fagsak-profil/src/FagsakProfilSakIndex.stories.tsx index 5898cd1aaf..aefdfe52e9 100644 --- a/packages/sak-fagsak-profil/src/FagsakProfilSakIndex.stories.tsx +++ b/packages/sak-fagsak-profil/src/FagsakProfilSakIndex.stories.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import { Button } from '@navikt/ds-react'; import FagsakProfilSakIndex from './FagsakProfilSakIndex'; @@ -10,19 +10,12 @@ export default { component: FagsakProfilSakIndex, }; -const FAGSAK_STATUS_KODEVERK = 'FAGSAK_STATUS'; -const FAGSAK_YTELSE_KODEVERK = 'FAGSAK_YTELSE'; - export const visPanelForValgAvBehandlinger = () => (
} renderBehandlingVelger={() =>
Liste (placeholder)
} dekningsgrad={100} diff --git a/packages/sak-fagsak-profil/src/FagsakProfilSakIndex.tsx b/packages/sak-fagsak-profil/src/FagsakProfilSakIndex.tsx index 09c9d2806d..81f7c0d8f7 100644 --- a/packages/sak-fagsak-profil/src/FagsakProfilSakIndex.tsx +++ b/packages/sak-fagsak-profil/src/FagsakProfilSakIndex.tsx @@ -1,8 +1,6 @@ import React, { ReactNode } from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; - import FagsakProfile from './components/FagsakProfile'; import messages from '../i18n/nb_NO.json'; @@ -18,8 +16,8 @@ const intl = createIntl( interface OwnProps { saksnummer: string; - fagsakYtelseType: KodeverkMedNavn; - fagsakStatus: KodeverkMedNavn; + fagsakYtelseType: string; + fagsakStatus: string; renderBehandlingMeny: () => ReactNode; renderBehandlingVelger: () => ReactNode; dekningsgrad?: number; diff --git a/packages/sak-fagsak-profil/src/components/FagsakProfile.spec.tsx b/packages/sak-fagsak-profil/src/components/FagsakProfile.spec.tsx index 5239b42651..70825e4068 100644 --- a/packages/sak-fagsak-profil/src/components/FagsakProfile.spec.tsx +++ b/packages/sak-fagsak-profil/src/components/FagsakProfile.spec.tsx @@ -1,32 +1,35 @@ -import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; -import { screen } from '@testing-library/react'; import React from 'react'; +import { screen } from '@testing-library/react'; +import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import { intlMock } from '../../i18n/index'; -import messages from '../../i18n/nb_NO.json'; import { FagsakProfile } from './FagsakProfile'; +import messages from '../../i18n/nb_NO.json'; describe('', () => { it('skal vise en fagsak med tilhørende informasjon', () => { - const fagsakYtelseType = { - kode: 'ES', - kodeverk: 'FAGSAK_YTELSE', - navn: 'Engangsstønad', - }; - const status = { - kode: 'OPPR', - kodeverk: 'FAGSAK_STATUS', - navn: 'Opprettet', - }; + const fagsakYtelseType = 'ES'; + const status = 'OPPR'; + renderWithIntl( - , + + + , { messages }, ); @@ -35,26 +38,26 @@ describe('', () => { }); it('skal vise dekningsgrad for foreldrepenger om den eksisterer', () => { - const fagsakYtelseType = { - kode: 'FP', - kodeverk: 'FAGSAK_YTELSE', - navn: 'Foreldrepenger', - }; - const status = { - kode: 'OPPR', - kodeverk: 'FAGSAK_STATUS', - navn: 'Opprettet', - }; + const fagsakYtelseType = 'FP'; + const status = 'OPPR'; + renderWithIntl( - , + + + , { messages }, ); @@ -64,25 +67,25 @@ describe('', () => { }); it('skal ikke vise dekningsgrad for foreldrepenger om den ikke eksisterer', () => { - const fagsakYtelseType = { - kode: 'FP', - kodeverk: 'FAGSAK_YTELSE', - navn: 'Foreldrepenger', - }; - const status = { - kode: 'OPPR', - kodeverk: 'FAGSAK_STATUS', - navn: 'Opprettet', - }; + const fagsakYtelseType = 'FP'; + const status = 'OPPR'; + renderWithIntl( - , + + + , { messages }, ); @@ -92,26 +95,26 @@ describe('', () => { }); it('skal ikke vise ugyldig dekningsgrad for foreldrepenger', () => { - const fagsakYtelseType = { - kode: 'FP', - kodeverk: 'FAGSAK_YTELSE', - navn: 'Foreldrepenger', - }; - const status = { - kode: 'OPPR', - kodeverk: 'FAGSAK_STATUS', - navn: 'Opprettet', - }; + const fagsakYtelseType = 'FP'; + const status = 'OPPR'; + renderWithIntl( - , + + + , { messages }, ); diff --git a/packages/sak-fagsak-profil/src/components/FagsakProfile.tsx b/packages/sak-fagsak-profil/src/components/FagsakProfile.tsx index a75790a070..f914d9a74f 100644 --- a/packages/sak-fagsak-profil/src/components/FagsakProfile.tsx +++ b/packages/sak-fagsak-profil/src/components/FagsakProfile.tsx @@ -1,9 +1,10 @@ import FagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import { FlexColumn, FlexContainer, FlexRow, Tooltip, VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { KodeverkMedNavn } from '@k9-sak-web/types'; import { BodyShort, Heading, Tag } from '@navikt/ds-react'; import React, { ReactNode } from 'react'; import { WrappedComponentProps, injectIntl } from 'react-intl'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; const visSakDekningsgrad = (saksKode: string, dekningsgrad?: number): boolean => { const erForeldrepenger = saksKode === FagsakYtelseType.FORELDREPENGER; @@ -14,8 +15,8 @@ const visSakDekningsgrad = (saksKode: string, dekningsgrad?: number): boolean => interface OwnProps { saksnummer: string; - fagsakYtelseType: KodeverkMedNavn; - fagsakStatus: KodeverkMedNavn; + fagsakYtelseType: string; + fagsakStatus: string; renderBehandlingMeny: () => ReactNode; renderBehandlingVelger: () => ReactNode; dekningsgrad?: number; @@ -34,40 +35,43 @@ export const FagsakProfile = ({ renderBehandlingVelger, dekningsgrad, intl, -}: OwnProps & WrappedComponentProps) => ( - <> - - - - - - - {fagsakYtelseType.navn} - - - {visSakDekningsgrad(fagsakYtelseType.kode, dekningsgrad) && ( +}: OwnProps & WrappedComponentProps) => { + const { kodeverkNavnFraKode } = useKodeverkContext(); + return ( + <> + + + + - - {`${dekningsgrad}%`} - + + {kodeverkNavnFraKode(fagsakYtelseType, KodeverkType.FAGSAK_YTELSE)} + - )} - - - {renderBehandlingMeny()} - - - - - {`${saksnummer} - ${fagsakStatus.navn}`} - - - - {renderBehandlingVelger()} - -); + {visSakDekningsgrad(fagsakYtelseType, dekningsgrad) && ( + + + {`${dekningsgrad}%`} + + + )} + + + {renderBehandlingMeny()} + + + + + {`${saksnummer} - ${kodeverkNavnFraKode(fagsakStatus, KodeverkType.FAGSAK_STATUS)}`} + + + + {renderBehandlingVelger()} + + ); +}; export default injectIntl(FagsakProfile); diff --git a/packages/sak-historikk/src/HistorikkSakIndex.stories.tsx b/packages/sak-historikk/src/HistorikkSakIndex.stories.tsx index b7e0b4fc06..890b9e4f95 100644 --- a/packages/sak-historikk/src/HistorikkSakIndex.stories.tsx +++ b/packages/sak-historikk/src/HistorikkSakIndex.stories.tsx @@ -1,37 +1,23 @@ import React from 'react'; -import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; +import alleKodeverk from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; +import { getKodeverkNavnFraKodeFnMock } from '@k9-sak-web/lib/kodeverk/mocks/kodeverkNavnFraKodeMock.js'; import HistorikkSakIndex from './HistorikkSakIndex'; const history = [ { behandlingId: 999951, - type: { - kode: 'NYE_REGOPPLYSNINGER', - kodeverk: 'HISTORIKKINNSLAG_TYPE', - }, - aktoer: { - kode: 'VL', - kodeverk: 'HISTORIKK_AKTOER', - }, - kjoenn: { - kode: '-', - kodeverk: 'BRUKER_KJOENN', - }, + type: 'NYE_REGOPPLYSNINGER', // 'HISTORIKKINNSLAG_TYPE' + aktoer: 'VL', // 'HISTORIKK_AKTOER' + kjoenn: '-', // 'BRUKER_KJOENN' opprettetAv: 'Srvengangsstonad', opprettetTidspunkt: '2019-09-19T12:16:14.499', dokumentLinks: [], historikkinnslagDeler: [ { - begrunnelse: { - kode: 'SAKSBEH_START_PA_NYTT', - kodeverk: 'HISTORIKK_BEGRUNNELSE_TYPE', - }, + begrunnelse: 'SAKSBEH_START_PA_NYTT', // 'HISTORIKK_BEGRUNNELSE_TYPE' begrunnelseFritekst: null, hendelse: { - navn: { - kode: 'NYE_REGOPPLYSNINGER', - kodeverk: 'HISTORIKKINNSLAG_TYPE', - }, + navn: 'NYE_REGOPPLYSNINGER', // 'HISTORIKKINNSLAG_TYPE' verdi: null, }, opplysninger: null, @@ -48,18 +34,9 @@ const history = [ }, { behandlingId: null, - type: { - kode: 'INNSYN_OPPR', - kodeverk: 'HISTORIKKINNSLAG_TYPE', - }, - aktoer: { - kode: 'SBH', - kodeverk: 'HISTORIKK_AKTOER', - }, - kjoenn: { - kode: '-', - kodeverk: 'BRUKER_KJOENN', - }, + type: 'INNSYN_OPPR', // 'HISTORIKKINNSLAG_TYPE' + aktoer: 'SBH', // 'HISTORIKK_AKTOER' + kjoenn: '-', // 'BRUKER_KJOENN' opprettetAv: 'Z991110', opprettetTidspunkt: '2019-09-18T15:25:31.291', dokumentLinks: [], @@ -68,10 +45,7 @@ const history = [ begrunnelse: null, begrunnelseFritekst: 'Krav om innsyn mottatt 18.09.2019', hendelse: { - navn: { - kode: 'INNSYN_OPPR', - kodeverk: 'HISTORIKKINNSLAG_TYPE', - }, + navn: 'INNSYN_OPPR', // 'HISTORIKKINNSLAG_TYPE' verdi: null, }, opplysninger: null, @@ -88,18 +62,9 @@ const history = [ }, { behandlingId: 999952, - type: { - kode: 'BEH_STARTET', - kodeverk: 'HISTORIKKINNSLAG_TYPE', - }, - aktoer: { - kode: 'SOKER', - kodeverk: 'HISTORIKK_AKTOER', - }, - kjoenn: { - kode: 'K', - kodeverk: 'BRUKER_KJOENN', - }, + type: 'BEH_STARTET', // 'HISTORIKKINNSLAG_TYPE' + aktoer: 'SOKER', // 'HISTORIKK_AKTOER' + kjoenn: 'K', // 'BRUKER_KJOENN' opprettetAv: 'Srvengangsstonad', opprettetTidspunkt: '2019-09-18T13:12:48.874', dokumentLinks: [ @@ -116,10 +81,7 @@ const history = [ begrunnelse: null, begrunnelseFritekst: null, hendelse: { - navn: { - kode: 'BEH_STARTET', - kodeverk: 'HISTORIKKINNSLAG_TYPE', - }, + navn: 'BEH_STARTET', // 'HISTORIKKINNSLAG_TYPE' verdi: null, }, opplysninger: null, @@ -164,9 +126,9 @@ export const visHistorikk = () => ( historikkinnslag={h} saksnummer="2" getBehandlingLocation={() => locationMock} - alleKodeverk={alleKodeverk as any} createLocationForSkjermlenke={() => locationMock} erTilbakekreving={false} + kodeverkNavnFraKodeFn={getKodeverkNavnFraKodeFnMock(alleKodeverk)} /> ))}
diff --git a/packages/sak-historikk/src/HistorikkSakIndex.tsx b/packages/sak-historikk/src/HistorikkSakIndex.tsx index 8c1557046b..34056816e2 100644 --- a/packages/sak-historikk/src/HistorikkSakIndex.tsx +++ b/packages/sak-historikk/src/HistorikkSakIndex.tsx @@ -1,10 +1,8 @@ import React from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; import { Location } from 'history'; - -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; -import { Historikkinnslag, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Historikkinnslag } from '@k9-sak-web/types'; +import { KodeverkNavnFraKodeFnType } from '@k9-sak-web/lib/kodeverk/types.js'; import History from './components/History'; import messages from '../i18n/nb_NO.json'; @@ -23,27 +21,27 @@ interface OwnProps { historikkinnslag: Historikkinnslag; saksnummer?: string; getBehandlingLocation: (behandlingId: number) => Location; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; createLocationForSkjermlenke: (behandlingLocation: Location, skjermlenkeCode: string) => Location; erTilbakekreving: boolean; + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType; } const HistorikkSakIndex = ({ historikkinnslag, saksnummer, getBehandlingLocation, - alleKodeverk, createLocationForSkjermlenke, erTilbakekreving, + kodeverkNavnFraKodeFn, }: OwnProps) => ( ); diff --git a/packages/sak-historikk/src/components/HistorikkMalTsType.ts b/packages/sak-historikk/src/components/HistorikkMalTsType.ts index 86342e84bd..b94cd35e0e 100644 --- a/packages/sak-historikk/src/components/HistorikkMalTsType.ts +++ b/packages/sak-historikk/src/components/HistorikkMalTsType.ts @@ -1,10 +1,11 @@ -import { Historikkinnslag, Kodeverk } from '@k9-sak-web/types'; +import { KodeverkNavnFraKodeFnType } from '@k9-sak-web/lib/kodeverk/types.js'; +import { Historikkinnslag } from '@k9-sak-web/types'; import { Location } from 'history'; interface HistorikkMal { historikkinnslag: Historikkinnslag; behandlingLocation: Location; - getKodeverknavn: (kodeverk: Kodeverk) => string; + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType; createLocationForSkjermlenke: (behandlingLocation: Location, skjermlenkeCode: string) => Location; saksnummer: string; erTilbakekreving: boolean; diff --git a/packages/sak-historikk/src/components/History.tsx b/packages/sak-historikk/src/components/History.tsx index da69404519..25b47e015d 100644 --- a/packages/sak-historikk/src/components/History.tsx +++ b/packages/sak-historikk/src/components/History.tsx @@ -1,8 +1,10 @@ import React from 'react'; import { Location } from 'history'; -import { Historikkinnslag, Kodeverk } from '@k9-sak-web/types'; +import { Historikkinnslag } from '@k9-sak-web/types'; import HistorikkAktor from '@fpsak-frontend/kodeverk/src/historikkAktor'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { KodeverkNavnFraKodeFnType } from '@k9-sak-web/lib/kodeverk/types.js'; import historikkinnslagType from '../kodeverk/historikkinnslagType'; import SnakkebobleContainer from './maler/felles/SnakkebobleContainer'; @@ -21,10 +23,10 @@ import HistorikkMalTypeTilbakekreving from './maler/HistorikkMalTypeTilbakekrevi import HistorikkMalTypeForeldelse from './maler/HistorikkMalTypeForeldelse'; import PlaceholderHistorikkMal from './maler/placeholderHistorikkMal'; -const velgHistorikkMal = (histType: Kodeverk) => { +const velgHistorikkMal = (histType: string) => { // NOSONAR switch ( - histType.kode // NOSONAR + histType // NOSONAR ) { case historikkinnslagType.BEH_GJEN: case historikkinnslagType.KOET_BEH_GJEN: @@ -108,9 +110,9 @@ interface OwnProps { historikkinnslag: Historikkinnslag; saksnummer?: string; getBehandlingLocation: (behandlingId: number) => Location; - getKodeverknavn: (kodeverk: Kodeverk) => string; createLocationForSkjermlenke: (behandlingLocation: Location, skjermlenkeCode: string) => Location; erTilbakekreving: boolean; + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType; } /** @@ -122,19 +124,18 @@ const History = ({ historikkinnslag, saksnummer = '0', getBehandlingLocation, - getKodeverknavn, createLocationForSkjermlenke, erTilbakekreving, + kodeverkNavnFraKodeFn, }: OwnProps) => { const HistorikkMal = velgHistorikkMal(historikkinnslag.type); - const aktorIsVL = historikkinnslag.aktoer.kode === HistorikkAktor.VEDTAKSLOSNINGEN; - const aktorIsSOKER = historikkinnslag.aktoer.kode === HistorikkAktor.SOKER; - const aktorIsArbeidsgiver = historikkinnslag.aktoer.kode === HistorikkAktor.ARBEIDSGIVER; - + const aktorIsVL = historikkinnslag.aktoer === HistorikkAktor.VEDTAKSLOSNINGEN; + const aktorIsSOKER = historikkinnslag.aktoer === HistorikkAktor.SOKER; + const aktorIsArbeidsgiver = historikkinnslag.aktoer === HistorikkAktor.ARBEIDSGIVER; return ( ); diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalType10.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalType10.tsx index 0cdc446b08..6ec7b0597b 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalType10.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalType10.tsx @@ -1,7 +1,8 @@ import React, { ReactNode } from 'react'; import { FormattedMessage, injectIntl, IntlShape, WrappedComponentProps } from 'react-intl'; -import { HistorikkinnslagDel, HistorikkinnslagEndretFelt, Kodeverk } from '@k9-sak-web/types'; +import { HistorikkinnslagDel, HistorikkinnslagEndretFelt } from '@k9-sak-web/types'; +import { KodeverkNavnFraKodeFnType } from '@k9-sak-web/lib/kodeverk/types.js'; import historikkinnslagType from '../../kodeverk/historikkinnslagType'; import historikkEndretFeltTypeCodes from '../../kodeverk/historikkEndretFeltTypeCodes'; @@ -16,23 +17,23 @@ const historikkFromToValues = ( endretFelt: HistorikkinnslagEndretFelt, fieldName: string, intl: IntlShape, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): ReactNode => { - const fromValue = findEndretFeltVerdi(endretFelt, endretFelt.fraVerdi, intl, getKodeverknavn); - const toValue = findEndretFeltVerdi(endretFelt, endretFelt.tilVerdi, intl, getKodeverknavn); + const fromValue = findEndretFeltVerdi(endretFelt, endretFelt.fraVerdi, intl, kodeverkNavnFraKodeFn); + const toValue = findEndretFeltVerdi(endretFelt, endretFelt.tilVerdi, intl, kodeverkNavnFraKodeFn); let messageId = fromValue ? 'Historikk.Template.10.ChangedFromTo' : 'Historikk.Template.10.FieldSetTo'; - if (endretFelt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.UTTAK_PROSENT_UTBETALING.kode && fromValue) { + if (endretFelt.endretFeltNavn === historikkEndretFeltTypeCodes.UTTAK_PROSENT_UTBETALING.kode && fromValue) { messageId = 'Historikk.Template.10.ChangedFromToProsentUtbetaling'; - } else if (endretFelt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.UTTAK_PROSENT_UTBETALING.kode) { + } else if (endretFelt.endretFeltNavn === historikkEndretFeltTypeCodes.UTTAK_PROSENT_UTBETALING.kode) { messageId = 'Historikk.Template.10.ChangedFromToProsentUtbetalingFromNothing'; } else if ( - endretFelt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.UTTAK_PERIODE_RESULTAT_TYPE.kode && + endretFelt.endretFeltNavn === historikkEndretFeltTypeCodes.UTTAK_PERIODE_RESULTAT_TYPE.kode && endretFelt.fraVerdi === 'MANUELL_BEHANDLING' ) { messageId = 'Historikk.Template.10.FieldSetTo'; } else if ( - endretFelt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.UTTAK_PERIODE_RESULTAT_ÅRSAK.kode || - endretFelt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.UTTAK_GRADERING_AVSLAG_ÅRSAK.kode + endretFelt.endretFeltNavn === historikkEndretFeltTypeCodes.UTTAK_PERIODE_RESULTAT_ÅRSAK.kode || + endretFelt.endretFeltNavn === historikkEndretFeltTypeCodes.UTTAK_GRADERING_AVSLAG_ÅRSAK.kode ) { if (endretFelt.tilVerdi === '-') { return ''; @@ -41,7 +42,7 @@ const historikkFromToValues = ( messageId = 'Historikk.Template.10.FieldSetTo'; } } else if ( - endretFelt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.UTTAK_STØNADSKONTOTYPE.kode && + endretFelt.endretFeltNavn === historikkEndretFeltTypeCodes.UTTAK_STØNADSKONTOTYPE.kode && endretFelt.fraVerdi === '-' ) { messageId = 'Historikk.Template.10.FieldSetTo'; @@ -63,11 +64,11 @@ const historikkFromToValues = ( const formatChangedField = ( endretFelt: HistorikkinnslagEndretFelt, intl: IntlShape, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): ReactNode => { const fieldName = findEndretFeltNavn(endretFelt, intl); if ( - endretFelt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.UTTAK_TREKKDAGER.kode && + endretFelt.endretFeltNavn === historikkEndretFeltTypeCodes.UTTAK_TREKKDAGER.kode && typeof endretFelt.fraVerdi === 'number' && typeof endretFelt.tilVerdi === 'number' ) { @@ -91,28 +92,24 @@ const formatChangedField = ( /> ); } - return historikkFromToValues(endretFelt, fieldName, intl, getKodeverknavn); + return historikkFromToValues(endretFelt, fieldName, intl, kodeverkNavnFraKodeFn); }; const finnFomOpplysning = (opplysninger: HistorikkinnslagDel['opplysninger']): string => { - const [found] = opplysninger.filter( - o => o.opplysningType.kode === historikkOpplysningTypeCodes.UTTAK_PERIODE_FOM.kode, - ); + const [found] = opplysninger.filter(o => o.opplysningType === historikkOpplysningTypeCodes.UTTAK_PERIODE_FOM.kode); return found.tilVerdi; }; const finnTomOpplysning = (opplysninger: HistorikkinnslagDel['opplysninger']): string => { - const [found] = opplysninger.filter( - o => o.opplysningType.kode === historikkOpplysningTypeCodes.UTTAK_PERIODE_TOM.kode, - ); + const [found] = opplysninger.filter(o => o.opplysningType === historikkOpplysningTypeCodes.UTTAK_PERIODE_TOM.kode); return found.tilVerdi; }; const sortArray = (endredeFelter: HistorikkinnslagEndretFelt[]): HistorikkinnslagEndretFelt[] => { if (endredeFelter.length > 1) { - const resultatFelt = endredeFelter.filter(e => e.endretFeltNavn.kode === 'UTTAK_PERIODE_RESULTAT_TYPE'); + const resultatFelt = endredeFelter.filter(e => e.endretFeltNavn === 'UTTAK_PERIODE_RESULTAT_TYPE'); if (resultatFelt.length > 0) { - const andreFelt = endredeFelter.filter(e => e.endretFeltNavn.kode !== 'UTTAK_PERIODE_RESULTAT_TYPE'); + const andreFelt = endredeFelter.filter(e => e.endretFeltNavn !== 'UTTAK_PERIODE_RESULTAT_TYPE'); return andreFelt.concat(resultatFelt); } } @@ -126,7 +123,7 @@ const HistorikkMalType10 = ({ intl, historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, saksnummer, }: HistorikkMal & WrappedComponentProps) => { @@ -144,13 +141,13 @@ const HistorikkMalType10 = ({ )} - {historikkinnslagDel.opplysninger && originType.kode === historikkinnslagType.OVST_UTTAK && ( + {historikkinnslagDel.opplysninger && originType === historikkinnslagType.OVST_UTTAK && ( )} - {historikkinnslagDel.opplysninger && originType.kode === historikkinnslagType.FASTSATT_UTTAK && ( + {historikkinnslagDel.opplysninger && originType === historikkinnslagType.FASTSATT_UTTAK && ( ( -
{formatChangedField(endretFelt, intl, getKodeverknavn)}
+
{formatChangedField(endretFelt, intl, kodeverkNavnFraKodeFn)}
))} {historikkinnslagDel.begrunnelseFritekst && } diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalType6.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalType6.tsx index f2b334ecd8..7c523e5b7f 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalType6.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalType6.tsx @@ -1,6 +1,7 @@ -import { HistorikkInnslagOpplysning, Kodeverk } from '@k9-sak-web/types'; +import { HistorikkInnslagOpplysning } from '@k9-sak-web/types'; import { BodyShort, Label } from '@navikt/ds-react'; import React from 'react'; +import { KodeverkNavnFraKodeFnType, KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import HistorikkMal from '../HistorikkMalTsType'; import { findHendelseText } from './felles/historikkUtils'; @@ -9,11 +10,11 @@ import styles from './historikkMalType.module.css'; const formaterOpplysning = ( opplysning: HistorikkInnslagOpplysning, index: number, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ) => (
- {getKodeverknavn(opplysning.opplysningType)}: + {kodeverkNavnFraKodeFn(opplysning.opplysningType, KodeverkType.HISTORIKK_OPPLYSNING_TYPE)}:
); -const HistorikkMalType6 = ({ historikkinnslag, getKodeverknavn }: HistorikkMal) => ( +const HistorikkMalType6 = ({ historikkinnslag, kodeverkNavnFraKodeFn }: HistorikkMal) => ( <> {historikkinnslag.historikkinnslagDeler.map(del => ( -
+
- {del.opplysninger.map((opplysning, index) => formaterOpplysning(opplysning, index, getKodeverknavn))} + {del.opplysninger.map((opplysning, index) => formaterOpplysning(opplysning, index, kodeverkNavnFraKodeFn))}
))} diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalType7.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalType7.tsx index f23949c6d3..0aac69d71b 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalType7.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalType7.tsx @@ -1,7 +1,8 @@ -import { HistorikkinnslagEndretFelt, Kodeverk } from '@k9-sak-web/types'; +import { HistorikkinnslagEndretFelt } from '@k9-sak-web/types'; import { BodyShort, Label } from '@navikt/ds-react'; import React, { ReactNode } from 'react'; import { FormattedMessage, injectIntl, IntlShape, WrappedComponentProps } from 'react-intl'; +import { KodeverkNavnFraKodeFnType, KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import HistorikkMal from '../HistorikkMalTsType'; import BubbleText from './felles/bubbleText'; import HistorikkDokumentLenke from './felles/HistorikkDokumentLenke'; @@ -17,13 +18,13 @@ import Skjermlenke from './felles/Skjermlenke'; const formatChangedField = ( endretFelt: HistorikkinnslagEndretFelt, intl: IntlShape, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): ReactNode => { const fieldName = findEndretFeltNavn(endretFelt, intl); const sub1 = fieldName.substring(0, fieldName.lastIndexOf(';')); const sub2 = fieldName.substring(fieldName.lastIndexOf(';') + 1); - const fromValue = findEndretFeltVerdi(endretFelt, endretFelt.fraVerdi, intl, getKodeverknavn); - const toValue = findEndretFeltVerdi(endretFelt, endretFelt.tilVerdi, intl, getKodeverknavn); + const fromValue = findEndretFeltVerdi(endretFelt, endretFelt.fraVerdi, intl, kodeverkNavnFraKodeFn); + const toValue = findEndretFeltVerdi(endretFelt, endretFelt.tilVerdi, intl, kodeverkNavnFraKodeFn); if (endretFelt.fraVerdi !== null) { return ( @@ -46,7 +47,7 @@ const HistorikkMalType7 = ({ intl, historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, saksnummer, }: HistorikkMal & WrappedComponentProps) => { @@ -64,26 +65,26 @@ const HistorikkMalType7 = ({ )} {historikkinnslagDel.hendelse && ( )} {historikkinnslagDel.resultat && ( )} {historikkinnslagDel.endredeFelter && historikkinnslagDel.endredeFelter.map((endretFelt, i) => ( -
{formatChangedField(endretFelt, intl, getKodeverknavn)}
+
{formatChangedField(endretFelt, intl, kodeverkNavnFraKodeFn)}
))} {historikkinnslagDel.opplysninger && @@ -100,10 +101,14 @@ const HistorikkMalType7 = ({ ({historikkinnslagDel.tema.navnVerdi}) )} {historikkinnslagDel.aarsak && ( - {getKodeverknavn(historikkinnslagDel.aarsak)} + + {kodeverkNavnFraKodeFn(historikkinnslagDel.aarsak, KodeverkType.VENT_AARSAK)} + )} {historikkinnslagDel.begrunnelse && ( - + )} {historikkinnslagDel.begrunnelseFritekst && } {dokumentLinks && diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalType8.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalType8.tsx index d6ef69a44b..f684bcea13 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalType8.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalType8.tsx @@ -1,7 +1,9 @@ -import { HistorikkinnslagEndretFelt, Kodeverk } from '@k9-sak-web/types'; +import { HistorikkinnslagEndretFelt } from '@k9-sak-web/types'; import { BodyShort, Label } from '@navikt/ds-react'; import React, { ReactNode } from 'react'; import { FormattedMessage, injectIntl, IntlShape, WrappedComponentProps } from 'react-intl'; +import { KodeverkNavnFraKodeFnType } from '@k9-sak-web/lib/kodeverk/types.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import HistorikkMal from '../HistorikkMalTsType'; import BubbleText from './felles/bubbleText'; import HistorikkDokumentLenke from './felles/HistorikkDokumentLenke'; @@ -17,11 +19,11 @@ import Skjermlenke from './felles/Skjermlenke'; const formatChangedField = ( endretFelt: HistorikkinnslagEndretFelt, intl: IntlShape, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): ReactNode => { const fieldName = findEndretFeltNavn(endretFelt, intl); - const fromValue = findEndretFeltVerdi(endretFelt, endretFelt.fraVerdi, intl, getKodeverknavn); - const toValue = findEndretFeltVerdi(endretFelt, endretFelt.tilVerdi, intl, getKodeverknavn); + const fromValue = findEndretFeltVerdi(endretFelt, endretFelt.fraVerdi, intl, kodeverkNavnFraKodeFn); + const toValue = findEndretFeltVerdi(endretFelt, endretFelt.tilVerdi, intl, kodeverkNavnFraKodeFn); if (endretFelt.fraVerdi !== null) { return ( @@ -52,7 +54,7 @@ const HistorikkMalType8 = ({ intl, historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, saksnummer, }: HistorikkMal & WrappedComponentProps) => { @@ -70,26 +72,26 @@ const HistorikkMalType8 = ({ )} {historikkinnslagDel.hendelse && ( )} {historikkinnslagDel.resultat && ( )} {historikkinnslagDel.endredeFelter && historikkinnslagDel.endredeFelter.map((endretFelt, i) => ( -
{formatChangedField(endretFelt, intl, getKodeverknavn)}
+
{formatChangedField(endretFelt, intl, kodeverkNavnFraKodeFn)}
))} {historikkinnslagDel.opplysninger && @@ -101,10 +103,14 @@ const HistorikkMalType8 = ({ ))} {historikkinnslagDel.aarsak && ( - {getKodeverknavn(historikkinnslagDel.aarsak)} + + {kodeverkNavnFraKodeFn(historikkinnslagDel.aarsak, KodeverkType.VENT_AARSAK)} + )} {historikkinnslagDel.begrunnelse && ( - + )} {historikkinnslagDel.begrunnelseFritekst && } {dokumentLinks && diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalType9.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalType9.tsx index dbd2f52dd8..dcf5678184 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalType9.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalType9.tsx @@ -2,6 +2,7 @@ import React from 'react'; import { FormattedMessage, injectIntl, WrappedComponentProps } from 'react-intl'; import tilbakekrevingVidereBehandling from '@fpsak-frontend/kodeverk/src/tilbakekrevingVidereBehandling'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import { HistorikkinnslagEndretFelt } from '@k9-sak-web/types'; import historikkinnslagType from '../../kodeverk/historikkinnslagType'; @@ -30,7 +31,7 @@ const HistorikkMalType9 = ({ intl, historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, }: HistorikkMal & WrappedComponentProps) => ( <> @@ -45,26 +46,25 @@ const HistorikkMalType9 = ({ )} - {historikkinnslagDel.endredeFelter && - historikkinnslag.type.kode === historikkinnslagType.OVST_UTTAK_SPLITT && ( - {chunks}, - br:
, - }} - /> - )} + {historikkinnslagDel.endredeFelter && historikkinnslag.type === historikkinnslagType.OVST_UTTAK_SPLITT && ( + {chunks}, + br:
, + }} + /> + )} {historikkinnslagDel.endredeFelter && - historikkinnslag.type.kode === historikkinnslagType.FASTSATT_UTTAK_SPLITT && ( + historikkinnslag.type === historikkinnslagType.FASTSATT_UTTAK_SPLITT && ( )} - {historikkinnslag.type.kode === historikkinnslagType.TILBAKEKR_VIDEREBEHANDLING && + {historikkinnslag.type === historikkinnslagType.TILBAKEKR_VIDEREBEHANDLING && historikkinnslagDel.endredeFelter && historikkinnslagDel.endredeFelter .filter(endretFelt => endretFelt.tilVerdi !== tilbakekrevingVidereBehandling.TILBAKEKR_INNTREKK) @@ -86,15 +86,17 @@ const HistorikkMalType9 = ({ {chunks}, }} />
))} {historikkinnslagDel.begrunnelse && ( - + )} {historikkinnslagDel.begrunnelseFritekst && }
diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalTypeFeilutbetaling.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalTypeFeilutbetaling.tsx index 74120df289..892e85104e 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalTypeFeilutbetaling.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalTypeFeilutbetaling.tsx @@ -3,8 +3,9 @@ import { FormattedMessage } from 'react-intl'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; import { decodeHtmlEntity } from '@fpsak-frontend/utils'; -import { HistorikkinnslagDel, Kodeverk } from '@k9-sak-web/types'; +import { HistorikkinnslagDel } from '@k9-sak-web/types'; import { BodyShort } from '@navikt/ds-react'; +import { KodeverkNavnFraKodeFnType, KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import historikkEndretFeltTypeCodes from '../../kodeverk/historikkEndretFeltTypeCodes'; import historikkOpplysningTypeCodes from '../../kodeverk/historikkOpplysningTypeCodes'; import HistorikkMal from '../HistorikkMalTsType'; @@ -12,37 +13,37 @@ import Skjermlenke from './felles/Skjermlenke'; import BubbleText from './felles/bubbleText'; const finnFomOpplysning = (opplysninger: HistorikkinnslagDel['opplysninger']): string => { - const found = opplysninger.find(o => o.opplysningType.kode === historikkOpplysningTypeCodes.PERIODE_FOM.kode); + const found = opplysninger.find(o => o.opplysningType === historikkOpplysningTypeCodes.PERIODE_FOM.kode); return found.tilVerdi; }; const finnTomOpplysning = (opplysninger: HistorikkinnslagDel['opplysninger']): string => { - const found = opplysninger.find(o => o.opplysningType.kode === historikkOpplysningTypeCodes.PERIODE_TOM.kode); + const found = opplysninger.find(o => o.opplysningType === historikkOpplysningTypeCodes.PERIODE_TOM.kode); return found.tilVerdi; }; const buildEndretFeltText = ( endredeFelter: HistorikkinnslagDel['endredeFelter'], - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): ReactNode => { const årsakFelt = endredeFelter.filter( - felt => felt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.FAKTA_OM_FEILUTBETALING_AARSAK.kode, + felt => felt.endretFeltNavn === historikkEndretFeltTypeCodes.FAKTA_OM_FEILUTBETALING_AARSAK.kode, )[0]; const underÅrsakFelt = endredeFelter.filter( - felt => felt.endretFeltNavn.kode === historikkEndretFeltTypeCodes.FAKTA_OM_FEILUTBETALING_UNDERAARSAK.kode, + felt => felt.endretFeltNavn === historikkEndretFeltTypeCodes.FAKTA_OM_FEILUTBETALING_UNDERAARSAK.kode, )[0]; const underÅrsakFraVerdi = underÅrsakFelt - ? getKodeverknavn({ kode: underÅrsakFelt.fraVerdi as string, kodeverk: underÅrsakFelt.klFraVerdi }) + ? kodeverkNavnFraKodeFn(underÅrsakFelt.fraVerdi as string, underÅrsakFelt.klFraVerdi as KodeverkType) : null; const underÅrsakTilVerdi = underÅrsakFelt - ? getKodeverknavn({ kode: underÅrsakFelt.tilVerdi as string, kodeverk: underÅrsakFelt.klTilVerdi }) + ? kodeverkNavnFraKodeFn(underÅrsakFelt.tilVerdi as string, underÅrsakFelt.klTilVerdi as KodeverkType) : null; const endret = endredeFelter.filter(felt => felt.fraVerdi !== null).length > 0; - const tilVerdiNavn = getKodeverknavn({ kode: årsakFelt.tilVerdi as string, kodeverk: årsakFelt.klTilVerdi }); + const tilVerdiNavn = kodeverkNavnFraKodeFn(årsakFelt.tilVerdi as string, årsakFelt.klTilVerdi as KodeverkType); if (endret) { const årsakVerdi = årsakFelt.fraVerdi ? årsakFelt.fraVerdi : årsakFelt.tilVerdi; - const fraVerdi = `${getKodeverknavn({ kode: årsakVerdi as string, kodeverk: årsakFelt.klFraVerdi })} ${ + const fraVerdi = `${kodeverkNavnFraKodeFn(årsakVerdi as string, årsakFelt.klFraVerdi as KodeverkType)} ${ underÅrsakFraVerdi ? `(${underÅrsakFraVerdi})` : '' }`; const tilVerdi = `${tilVerdiNavn} ${underÅrsakTilVerdi ? `(${underÅrsakTilVerdi})` : ''}`; @@ -65,7 +66,7 @@ const buildEndretFeltText = ( const HistorikkMalTypeFeilutbetaling = ({ historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, }: HistorikkMal) => { const { historikkinnslagDeler } = historikkinnslag; @@ -74,7 +75,7 @@ const HistorikkMalTypeFeilutbetaling = ({ @@ -90,7 +91,7 @@ const HistorikkMalTypeFeilutbetaling = ({ }} /> - {buildEndretFeltText(historikkinnslagDel.endredeFelter, getKodeverknavn)} + {buildEndretFeltText(historikkinnslagDel.endredeFelter, kodeverkNavnFraKodeFn)}
diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalTypeForeldelse.spec.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalTypeForeldelse.spec.tsx index 713bcbfb69..d2914eb31c 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalTypeForeldelse.spec.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalTypeForeldelse.spec.tsx @@ -11,47 +11,36 @@ describe('HistorikkMalTypeForeldelse', () => { it('skal vise alle historikkelement korrekt', () => { const historikkinnslagDeler = [ { - skjermlenke: { - kode: 'FORELDELSE', - }, + skjermlenke: { kode: 'FORELDELSE', navn: 'Foreldelse' }, endredeFelter: [ { - endretFeltNavn: { - kode: 'feltkode', - }, + endretFeltNavn: 'feltkode', fraVerdi: 'gammel verdi', tilVerdi: 'ny verdi', }, { - endretFeltNavn: { - kode: 'Anna feltkode', - }, + endretFeltNavn: 'Anna feltkode', tilVerdi: 'ny verdi 2', }, ], opplysninger: [ { - opplysningType: { - kode: historikkOpplysningTypeCodes.PERIODE_FOM.kode, - kodeverk: '', - }, + opplysningType: historikkOpplysningTypeCodes.PERIODE_FOM.kode, tilVerdi: '10.10.2018', }, { - opplysningType: { - kode: historikkOpplysningTypeCodes.PERIODE_TOM.kode, - tilVerdi: '10.12.2018', - }, + opplysningType: historikkOpplysningTypeCodes.PERIODE_TOM.kode, + tilVerdi: '10.12.2018', }, ], }, ] as HistorikkinnslagDel[]; - const getKodeverknavn = kodeverk => { - if (kodeverk.kode === 'feltkode') { + const kodeverkNavnFraKodeFn = kode => { + if (kode === 'feltkode') { return 'testing'; } - if (kodeverk.kode === 'Anna feltkode') { + if (kode === 'Anna feltkode') { return 'testing 2'; } return ''; @@ -70,7 +59,7 @@ describe('HistorikkMalTypeForeldelse', () => { locationMock} erTilbakekreving={false} saksnummer="123" @@ -80,7 +69,9 @@ describe('HistorikkMalTypeForeldelse', () => { ); expect( - screen.getAllByText((_, element) => element.textContent === 'Manuell vurdering av perioden 10.10.2018-.')[0], + screen.getAllByText( + (_, element) => element.textContent === 'Manuell vurdering av perioden 10.10.2018-10.12.2018.', + )[0], ).toBeInTheDocument(); expect( @@ -90,5 +81,8 @@ describe('HistorikkMalTypeForeldelse', () => { expect( screen.getAllByText((_, element) => element.textContent === 'testing 2 er satt til ny verdi 2.')[0], ).toBeInTheDocument(); + expect( + screen.getAllByText((_, element) => element.textContent === 'testing 2 er satt til ny verdi 2.')[0], + ).toBeInTheDocument(); }); }); diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalTypeForeldelse.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalTypeForeldelse.tsx index 8f48e76705..6ef282d68e 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalTypeForeldelse.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalTypeForeldelse.tsx @@ -3,6 +3,7 @@ import { FormattedMessage } from 'react-intl'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; import { BodyShort } from '@navikt/ds-react'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import historikkOpplysningTypeCodes from '../../kodeverk/historikkOpplysningTypeCodes'; import HistorikkMal from '../HistorikkMalTsType'; import Skjermlenke from './felles/Skjermlenke'; @@ -10,7 +11,7 @@ import Skjermlenke from './felles/Skjermlenke'; export const HistorikkMalTypeForeldelse = ({ historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, }: HistorikkMal) => { const { historikkinnslagDeler } = historikkinnslag; @@ -22,17 +23,17 @@ export const HistorikkMalTypeForeldelse = ({ {historikkinnslagDeler.map(historikkinnslagDel => { const { begrunnelseFritekst, opplysninger, endredeFelter } = historikkinnslagDel; const periodeFom = opplysninger.find( - o => o.opplysningType.kode === historikkOpplysningTypeCodes.PERIODE_FOM.kode, + o => o.opplysningType === historikkOpplysningTypeCodes.PERIODE_FOM.kode, ).tilVerdi; const periodeTom = opplysninger.find( - o => o.opplysningType.kode === historikkOpplysningTypeCodes.PERIODE_TOM.kode, + o => o.opplysningType === historikkOpplysningTypeCodes.PERIODE_TOM.kode, ).tilVerdi; return ( @@ -48,7 +49,7 @@ export const HistorikkMalTypeForeldelse = ({ const { endretFeltNavn, fraVerdi, tilVerdi } = felt; return ( - + {chunks}, diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalTypeTilbakekreving.spec.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalTypeTilbakekreving.spec.tsx index 6cf4480d25..86dd9ec329 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalTypeTilbakekreving.spec.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalTypeTilbakekreving.spec.tsx @@ -12,59 +12,41 @@ describe('HistorikkMalTypeTilbakekreving', () => { it('skal vise alle historikkelement korrekt', () => { const historikkinnslagDeler = [ { - skjermlenke: { - kode: 'TILBAKEKREVING', - }, + skjermlenke: { kode: 'TILBAKEKREVING', navn: 'Tilbakekreving' }, endredeFelter: [ { - endretFeltNavn: { - kode: historikkEndretFeltType.ER_VILKARENE_TILBAKEKREVING_OPPFYLT, - }, + endretFeltNavn: historikkEndretFeltType.ER_VILKARENE_TILBAKEKREVING_OPPFYLT, fraVerdi: 'gammel verdi', tilVerdi: 'ny verdi', }, { - endretFeltNavn: { - kode: 'Anna feltkode', - }, + endretFeltNavn: 'Anna feltkode', tilVerdi: 'ny verdi 2', }, ], opplysninger: [ { - opplysningType: { - kode: historikkOpplysningTypeCodes.PERIODE_FOM.kode, - kodeverk: '', - }, + opplysningType: historikkOpplysningTypeCodes.PERIODE_FOM.kode, tilVerdi: '10.10.2018', }, { - opplysningType: { - kode: historikkOpplysningTypeCodes.PERIODE_TOM.kode, - tilVerdi: '10.12.2018', - }, + opplysningType: historikkOpplysningTypeCodes.PERIODE_TOM.kode, }, { - opplysningType: { - kode: historikkOpplysningTypeCodes.TILBAKEKREVING_OPPFYLT_BEGRUNNELSE.kode, - tilVerdi: 'test', - }, + opplysningType: historikkOpplysningTypeCodes.TILBAKEKREVING_OPPFYLT_BEGRUNNELSE.kode, }, { - opplysningType: { - kode: historikkOpplysningTypeCodes.SÆRLIG_GRUNNER_BEGRUNNELSE.kode, - tilVerdi: 'test', - }, + opplysningType: historikkOpplysningTypeCodes.SÆRLIG_GRUNNER_BEGRUNNELSE.kode, }, ], }, ] as HistorikkinnslagDel[]; - const getKodeverknavn = kodeverk => { - if (kodeverk.kode === historikkEndretFeltType.ER_VILKARENE_TILBAKEKREVING_OPPFYLT) { + const kodeverkNavnFraKodeFn = kode => { + if (kode === historikkEndretFeltType.ER_VILKARENE_TILBAKEKREVING_OPPFYLT) { return 'testing'; } - if (kodeverk.kode === 'Anna feltkode') { + if (kode === 'Anna feltkode') { return 'testing 2'; } return ''; @@ -83,7 +65,7 @@ describe('HistorikkMalTypeTilbakekreving', () => { locationMock} erTilbakekreving={false} saksnummer="123" diff --git a/packages/sak-historikk/src/components/maler/HistorikkMalTypeTilbakekreving.tsx b/packages/sak-historikk/src/components/maler/HistorikkMalTypeTilbakekreving.tsx index dd4b7b08a1..30204821fc 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkMalTypeTilbakekreving.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkMalTypeTilbakekreving.tsx @@ -4,6 +4,7 @@ import { FormattedMessage } from 'react-intl'; import { VerticalSpacer } from '@fpsak-frontend/shared-components'; import { decodeHtmlEntity } from '@fpsak-frontend/utils'; import { BodyShort } from '@navikt/ds-react'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import historikkEndretFeltType from '../../kodeverk/historikkEndretFeltType'; import historikkOpplysningTypeCodes from '../../kodeverk/historikkOpplysningTypeCodes'; import HistorikkMal from '../HistorikkMalTsType'; @@ -12,7 +13,7 @@ import Skjermlenke from './felles/Skjermlenke'; export const HistorikkMalTypeTilbakekreving = ({ historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, }: HistorikkMal) => { const { historikkinnslagDeler } = historikkinnslag; @@ -24,25 +25,25 @@ export const HistorikkMalTypeTilbakekreving = ({ {historikkinnslagDeler.map(historikkinnslagDel => { const { opplysninger, endredeFelter, begrunnelseFritekst } = historikkinnslagDel; const periodeFom = opplysninger.find( - o => o.opplysningType.kode === historikkOpplysningTypeCodes.PERIODE_FOM.kode, + o => o.opplysningType === historikkOpplysningTypeCodes.PERIODE_FOM.kode, ).tilVerdi; const periodeTom = opplysninger.find( - o => o.opplysningType.kode === historikkOpplysningTypeCodes.PERIODE_TOM.kode, + o => o.opplysningType === historikkOpplysningTypeCodes.PERIODE_TOM.kode, ).tilVerdi; const begrunnelse = decodeHtmlEntity( opplysninger.find( - o => o.opplysningType.kode === historikkOpplysningTypeCodes.TILBAKEKREVING_OPPFYLT_BEGRUNNELSE.kode, + o => o.opplysningType === historikkOpplysningTypeCodes.TILBAKEKREVING_OPPFYLT_BEGRUNNELSE.kode, ).tilVerdi, ); const sarligGrunnerBegrunnelseFelt = opplysninger.find( - o => o.opplysningType.kode === historikkOpplysningTypeCodes.SÆRLIG_GRUNNER_BEGRUNNELSE.kode, + o => o.opplysningType === historikkOpplysningTypeCodes.SÆRLIG_GRUNNER_BEGRUNNELSE.kode, ); const sarligGrunnerBegrunnelse = sarligGrunnerBegrunnelseFelt !== undefined @@ -62,22 +63,21 @@ export const HistorikkMalTypeTilbakekreving = ({ endredeFelter.map((felt, index) => { const { endretFeltNavn, fraVerdi, tilVerdi } = felt; - const visBelopTilbakekreves = historikkEndretFeltType.BELOEP_TILBAKEKREVES === endretFeltNavn.kode; - const visProsentverdi = historikkEndretFeltType.ANDEL_TILBAKEKREVES === endretFeltNavn.kode; - const visIleggRenter = historikkEndretFeltType.ILEGG_RENTER === endretFeltNavn.kode; + const visBelopTilbakekreves = historikkEndretFeltType.BELOEP_TILBAKEKREVES === endretFeltNavn; + const visProsentverdi = historikkEndretFeltType.ANDEL_TILBAKEKREVES === endretFeltNavn; + const visIleggRenter = historikkEndretFeltType.ILEGG_RENTER === endretFeltNavn; if ((visBelopTilbakekreves || visProsentverdi || visIleggRenter) && !tilVerdi) { return null; } - const visBegrunnelse = - historikkEndretFeltType.ER_VILKARENE_TILBAKEKREVING_OPPFYLT === endretFeltNavn.kode; + const visBegrunnelse = historikkEndretFeltType.ER_VILKARENE_TILBAKEKREVING_OPPFYLT === endretFeltNavn; const formatertFraVerdi = visProsentverdi && fraVerdi ? `${fraVerdi}%` : fraVerdi; const formatertTilVerdi = visProsentverdi && tilVerdi ? `${tilVerdi}%` : tilVerdi; const visAktsomhetBegrunnelse = begrunnelseFritekst && index === endredeFelter.length - 1; const visSarligGrunnerBegrunnelse = sarligGrunnerBegrunnelse && index === endredeFelter.length - 1; return ( - + {visBegrunnelse && begrunnelse} {visBegrunnelse && } {visAktsomhetBegrunnelse && decodeHtmlEntity(begrunnelseFritekst)} @@ -90,7 +90,7 @@ export const HistorikkMalTypeTilbakekreving = ({ : 'Historikk.Template.Tilbakekreving.FieldSetTo' } values={{ - navn: getKodeverknavn(endretFeltNavn), + navn: kodeverkNavnFraKodeFn(endretFeltNavn, KodeverkType.HISTORIKK_ENDRET_FELT_TYPE), fraVerdi: formatertFraVerdi, tilVerdi: formatertTilVerdi, b: chunks => {chunks}, diff --git a/packages/sak-historikk/src/components/maler/HistorikkmalFelles7og8.tsx b/packages/sak-historikk/src/components/maler/HistorikkmalFelles7og8.tsx index 081415a9b6..5823e298f0 100644 --- a/packages/sak-historikk/src/components/maler/HistorikkmalFelles7og8.tsx +++ b/packages/sak-historikk/src/components/maler/HistorikkmalFelles7og8.tsx @@ -1,6 +1,7 @@ import { BodyShort, Label } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage, injectIntl, WrappedComponentProps } from 'react-intl'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import HistorikkMal from '../HistorikkMalTsType'; import BubbleText from './felles/bubbleText'; import HistorikkDokumentLenke from './felles/HistorikkDokumentLenke'; @@ -12,7 +13,7 @@ const HistorikkMalFelles7og8 = ({ intl, historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, saksnummer, }: HistorikkMal & WrappedComponentProps) => { @@ -28,20 +29,20 @@ const HistorikkMalFelles7og8 = ({ {historikkinnslagDel.hendelse && ( )} {historikkinnslagDel.resultat && ( )} @@ -56,7 +57,9 @@ const HistorikkMalFelles7og8 = ({ ))} {historikkinnslagDel.aarsak && ( - {getKodeverknavn(historikkinnslagDel.aarsak)} + + {kodeverkNavnFraKodeFn(historikkinnslagDel.aarsak, KodeverkType.HISTORIKK_AVKLART_SOEKNADSPERIODE_TYPE)} + )} {historikkinnslagDel.begrunnelse && } {historikkinnslagDel.begrunnelseFritekst && } diff --git a/packages/sak-historikk/src/components/maler/felles/Skjermlenke.tsx b/packages/sak-historikk/src/components/maler/felles/Skjermlenke.tsx index 3889e3ce0b..522fa897e9 100644 --- a/packages/sak-historikk/src/components/maler/felles/Skjermlenke.tsx +++ b/packages/sak-historikk/src/components/maler/felles/Skjermlenke.tsx @@ -1,14 +1,16 @@ -import { Kodeverk } from '@k9-sak-web/types'; import { Label } from '@navikt/ds-react'; import { Location } from 'history'; import React from 'react'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { KodeverkNavnFraKodeFnType } from '@k9-sak-web/lib/kodeverk/types.js'; +import SkjermlenkeTyper from '@k9-sak-web/types/src/totrinnskontroll/SkjermlenkeType'; import { NavLink } from 'react-router-dom'; import { scrollUp } from './historikkUtils'; interface SkjermlenkeProps { - skjermlenke?: Kodeverk; + skjermlenke?: SkjermlenkeTyper; // Kodeverk: se notat ved SkjermlenkeTyper behandlingLocation?: Location; - getKodeverknavn?: (kodeverkObjekt: Kodeverk, undertype?: string) => string; + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType; scrollUpOnClick?: boolean; createLocationForSkjermlenke: (behandlingLocation: Location, skjermlenkeKode: string) => Location; } @@ -16,7 +18,7 @@ interface SkjermlenkeProps { const Skjermlenke = ({ skjermlenke, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, scrollUpOnClick, createLocationForSkjermlenke, }: SkjermlenkeProps) => { @@ -29,7 +31,7 @@ const Skjermlenke = ({ to={createLocationForSkjermlenke(behandlingLocation, skjermlenke.kode)} onClick={scrollUpOnClick && scrollUp} > - {getKodeverknavn(skjermlenke)} + {kodeverkNavnFraKodeFn(skjermlenke.kode, KodeverkType.SKJERMLENKE_TYPE)} ); diff --git a/packages/sak-historikk/src/components/maler/felles/SnakkebobleContainer.spec.tsx b/packages/sak-historikk/src/components/maler/felles/SnakkebobleContainer.spec.tsx index cee37901fb..f22433bb38 100644 --- a/packages/sak-historikk/src/components/maler/felles/SnakkebobleContainer.spec.tsx +++ b/packages/sak-historikk/src/components/maler/felles/SnakkebobleContainer.spec.tsx @@ -10,8 +10,8 @@ import SnakkebobleContainer from './SnakkebobleContainer'; describe('SnakkebobleContainer', () => { it('skal innehalla korrekt type, id og tidpunkt', () => { const opprettetTidspunkt = '2017-12-10'; - const aktoer = { kode: HistorikkAktor.SAKSBEHANDLER, kodeverk: '' }; - const kjoenn = { kode: navBrukerKjonn.KVINNE, kodeverk: '' }; + const aktoer = HistorikkAktor.SAKSBEHANDLER; + const kjoenn = navBrukerKjonn.KVINNE; renderWithIntl( - aktoer.kode !== HistorikkAktor.SOKER && aktoer.kode !== HistorikkAktor.ARBEIDSGIVER; +const pilHøyre = (aktoer: string): boolean => aktoer !== HistorikkAktor.SOKER && aktoer !== HistorikkAktor.ARBEIDSGIVER; const formatDate = (date: string): string => `${date.substring(8, 10)}.${date.substring(5, 7)}.${date.substring(0, 4)} - ${date.substring(11, 16)}`; -const getAvatar = (aktoer: Kodeverk): React.JSX.Element => { +const getAvatar = (aktoer: string): React.JSX.Element => { let avatar; - switch (aktoer.kode) { + switch (aktoer) { case HistorikkAktor.SAKSBEHANDLER: avatar = ; break; @@ -45,9 +43,9 @@ const getAvatar = (aktoer: Kodeverk): React.JSX.Element => { return avatar; }; -const getClassname = (aktoer: Kodeverk): string => { +const getClassname = (aktoer: string): string => { let classname; - switch (aktoer.kode) { + switch (aktoer) { case HistorikkAktor.SAKSBEHANDLER: classname = styles.saksbehandler; break; @@ -73,8 +71,8 @@ const getClassname = (aktoer: Kodeverk): string => { interface OwnProps { dato: string; - aktoer: Kodeverk; - kjoenn?: Kodeverk; + aktoer: string; + kjoenn?: string; rolleNavn?: string; opprettetAv: string; children: React.ReactElement; diff --git a/packages/sak-historikk/src/components/maler/felles/historikkUtils.spec.ts b/packages/sak-historikk/src/components/maler/felles/historikkUtils.spec.ts index 8ef4535916..4421ef89ec 100644 --- a/packages/sak-historikk/src/components/maler/felles/historikkUtils.spec.ts +++ b/packages/sak-historikk/src/components/maler/felles/historikkUtils.spec.ts @@ -1,6 +1,5 @@ -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; import { intlWithMessages } from '@fpsak-frontend/utils-test/intl-test-helper'; +import { getKodeverkNavnFraKodeFnMock } from '@k9-sak-web/lib/kodeverk/mocks/kodeverkNavnFraKodeMock.js'; import messages from '../../../../i18n/nb_NO.json'; import { findResultatText } from './historikkUtils'; @@ -21,6 +20,11 @@ const noenKodeverk = { navn: 'Behandling er hjemsendt', kodeverk: 'HISTORIKK_RESULTAT_TYPE', }, + { + kode: 'FULL_TILBAKEBETALING', + navn: 'Full tilbakebetaling', + kodeverk: 'VEDTAK_RESULTAT_TYPE', + }, ], }; @@ -29,14 +33,14 @@ describe('historikkUtils', () => { const historikkResultatNavn = findResultatText( noenKodeverk.HistorikkResultatType[0].kode, intlMock, - getKodeverknavnFn(noenKodeverk, kodeverkTyper), + getKodeverkNavnFraKodeFnMock(noenKodeverk), ); expect(historikkResultatNavn).toEqual(noenKodeverk.HistorikkResultatType[0].navn); const vedtakResultatNavn = findResultatText( noenKodeverk.VedtakResultatType[0].kode, intlMock, - getKodeverknavnFn(noenKodeverk, kodeverkTyper), + getKodeverkNavnFraKodeFnMock(noenKodeverk), ); expect(vedtakResultatNavn).toEqual(noenKodeverk.VedtakResultatType[0].navn); }); @@ -45,7 +49,7 @@ describe('historikkUtils', () => { const historikkResultatNavn = findResultatText( 'FULL_TILBAKEBETALING', intlMock, - getKodeverknavnFn(noenKodeverk, kodeverkTyper), + getKodeverkNavnFraKodeFnMock(noenKodeverk), ); expect(historikkResultatNavn).toEqual('Full tilbakebetaling'); }); diff --git a/packages/sak-historikk/src/components/maler/felles/historikkUtils.tsx b/packages/sak-historikk/src/components/maler/felles/historikkUtils.tsx index 7ad84e4221..de29afde2f 100644 --- a/packages/sak-historikk/src/components/maler/felles/historikkUtils.tsx +++ b/packages/sak-historikk/src/components/maler/felles/historikkUtils.tsx @@ -1,11 +1,6 @@ import React from 'react'; -import { - HistorikkinnslagDel, - HistorikkInnslagOpplysning, - HistorikkinnslagEndretFelt, - Kodeverk, -} from '@k9-sak-web/types'; - +import { HistorikkinnslagDel, HistorikkInnslagOpplysning, HistorikkinnslagEndretFelt } from '@k9-sak-web/types'; +import { KodeverkNavnFraKodeFnType, KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import { IntlShape } from 'react-intl'; import historikkResultatTypeCodes from '../../../kodeverk/historikkResultatTypeCodes'; import historikkEndretFeltVerdiTypeCodes from '../../../kodeverk/historikkEndretFeltVerdiTypeCodes'; @@ -16,7 +11,7 @@ export const findIdForOpplysningCode = (opplysning: HistorikkInnslagOpplysning): if (!opplysning) { return null; } - const typeKode = opplysning.opplysningType.kode; + const typeKode = opplysning.opplysningType; const opplysningCode = historikkOpplysningTypeCodes[typeKode]; if (!opplysningCode) { return `OpplysningTypeCode ${typeKode} finnes ikke-LEGG DET INN`; @@ -27,19 +22,17 @@ export const findIdForOpplysningCode = (opplysning: HistorikkInnslagOpplysning): export const findResultatText = ( resultat: string, intl: IntlShape, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): string => { - if (!resultat) { - return null; - } + if (!resultat) return null; - const historikkResultatNavn = getKodeverknavn({ kode: resultat, kodeverk: 'HISTORIKK_RESULTAT_TYPE' }); - if (historikkResultatNavn) { + const historikkResultatNavn = kodeverkNavnFraKodeFn(resultat, KodeverkType.HISTORIKK_RESULTAT_TYPE, 'null'); + if (historikkResultatNavn && historikkResultatNavn !== 'null') { return historikkResultatNavn; } - const vedtakResultatNavn = getKodeverknavn({ kode: resultat, kodeverk: 'VEDTAK_RESULTAT_TYPE' }); - if (vedtakResultatNavn) { + const vedtakResultatNavn = kodeverkNavnFraKodeFn(resultat, KodeverkType.VEDTAK_RESULTAT_TYPE, 'null'); + if (vedtakResultatNavn && vedtakResultatNavn !== 'null') { return vedtakResultatNavn; } @@ -54,15 +47,15 @@ export const findResultatText = ( export const findHendelseText = ( hendelse: HistorikkinnslagDel['hendelse'], - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): string => { if (!hendelse) { return undefined; } if (hendelse.verdi === null) { - return getKodeverknavn(hendelse.navn); + return kodeverkNavnFraKodeFn(hendelse.navn, KodeverkType.HISTORIKKINNSLAG_TYPE); } - return `${getKodeverknavn(hendelse.navn)} ${hendelse.verdi}`; + return `${kodeverkNavnFraKodeFn(hendelse.navn, KodeverkType.HISTORIKKINNSLAG_TYPE)} ${hendelse.verdi}`; }; const convertToBoolean = (verdi: boolean): string => (verdi === true ? 'Ja' : 'Nei'); @@ -71,7 +64,7 @@ export const findEndretFeltVerdi = ( endretFelt: HistorikkinnslagEndretFelt, verdi: string | number | boolean, intl: IntlShape, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): string | number => { if (verdi === null) { return null; @@ -80,15 +73,15 @@ export const findEndretFeltVerdi = ( return convertToBoolean(verdi); } if (endretFelt.klTilVerdi !== null) { - const historikkFeltVerdiNavn = getKodeverknavn({ - kode: verdi as string, - kodeverk: 'HISTORIKK_ENDRET_FELT_VERDI_TYPE', - }); + const historikkFeltVerdiNavn = kodeverkNavnFraKodeFn( + verdi as string, + KodeverkType.HISTORIKK_ENDRET_FELT_VERDI_TYPE, + ); if (historikkFeltVerdiNavn) { return historikkFeltVerdiNavn; } - const historikkFeltNavn = getKodeverknavn({ kode: verdi as string, kodeverk: 'HISTORIKK_ENDRET_FELT_TYPE' }); + const historikkFeltNavn = kodeverkNavnFraKodeFn(verdi as string, KodeverkType.HISTORIKK_ENDRET_FELT_TYPE); if (historikkFeltNavn) { return historikkFeltNavn; } @@ -103,7 +96,7 @@ export const findEndretFeltVerdi = ( }; export const findEndretFeltNavn = (endretFelt: HistorikkinnslagEndretFelt, intl: IntlShape): string => { - const navnCode = endretFelt.endretFeltNavn.kode; + const navnCode = endretFelt.endretFeltNavn; const endretFeltNavnType = historikkEndretFeltTypeCodes[navnCode]; if (!endretFeltNavnType) { return `EndretFeltTypeCode ${navnCode} finnes ikke-LEGG DET INN`; diff --git a/packages/sak-historikk/src/components/maler/historikkMalType1.tsx b/packages/sak-historikk/src/components/maler/historikkMalType1.tsx index 01940297da..70d8f29a32 100644 --- a/packages/sak-historikk/src/components/maler/historikkMalType1.tsx +++ b/packages/sak-historikk/src/components/maler/historikkMalType1.tsx @@ -1,4 +1,5 @@ import React from 'react'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import { Label } from '@navikt/ds-react'; import HistorikkMal from '../HistorikkMalTsType'; @@ -6,17 +7,22 @@ import HistorikkDokumentLenke from './felles/HistorikkDokumentLenke'; import BubbleText from './felles/bubbleText'; import { findHendelseText } from './felles/historikkUtils'; -const HistorikkMalType1 = ({ historikkinnslag, getKodeverknavn, saksnummer }: HistorikkMal) => { +const HistorikkMalType1 = ({ historikkinnslag, kodeverkNavnFraKodeFn, saksnummer }: HistorikkMal) => { const { historikkinnslagDeler, dokumentLinks } = historikkinnslag; return ( <> {historikkinnslagDeler[0] && historikkinnslagDeler[0].hendelse && ( )} {historikkinnslagDeler[0]?.begrunnelse && ( - + )} {historikkinnslagDeler[0]?.begrunnelseFritekst && ( diff --git a/packages/sak-historikk/src/components/maler/historikkMalType2.tsx b/packages/sak-historikk/src/components/maler/historikkMalType2.tsx index 185fe4e45c..7b16904ea4 100644 --- a/packages/sak-historikk/src/components/maler/historikkMalType2.tsx +++ b/packages/sak-historikk/src/components/maler/historikkMalType2.tsx @@ -10,7 +10,7 @@ const HistorikkMalType2 = ({ intl, historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, }: HistorikkMal & WrappedComponentProps) => { const { historikkinnslagDeler } = historikkinnslag; @@ -20,20 +20,20 @@ const HistorikkMalType2 = ({ )} {historikkinnslagDeler[0].resultat && historikkinnslagDeler[0].hendelse && ( )} {!historikkinnslagDeler[0].resultat && historikkinnslagDeler[0].hendelse && ( )} diff --git a/packages/sak-historikk/src/components/maler/historikkMalType3.tsx b/packages/sak-historikk/src/components/maler/historikkMalType3.tsx index ec3115f8a7..9c3d4d7391 100644 --- a/packages/sak-historikk/src/components/maler/historikkMalType3.tsx +++ b/packages/sak-historikk/src/components/maler/historikkMalType3.tsx @@ -85,7 +85,7 @@ const HistorikkMalType3 = ({ intl, historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, erTilbakekreving, }: HistorikkMal & WrappedComponentProps) => ( @@ -97,7 +97,7 @@ const HistorikkMalType3 = ({ {historikkinnslagDel.hendelse && ( <> @@ -106,7 +106,7 @@ const HistorikkMalType3 = ({ diff --git a/packages/sak-historikk/src/components/maler/historikkMalType4.tsx b/packages/sak-historikk/src/components/maler/historikkMalType4.tsx index 96f6e3a663..73148cf56c 100644 --- a/packages/sak-historikk/src/components/maler/historikkMalType4.tsx +++ b/packages/sak-historikk/src/components/maler/historikkMalType4.tsx @@ -2,11 +2,12 @@ import { decodeHtmlEntity } from '@fpsak-frontend/utils'; import { BodyShort, Label } from '@navikt/ds-react'; import React from 'react'; import { WrappedComponentProps } from 'react-intl'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; import HistorikkMal from '../HistorikkMalTsType'; import BubbleText from './felles/bubbleText'; import { findHendelseText } from './felles/historikkUtils'; -const HistorikkMalType4 = ({ historikkinnslag, getKodeverknavn }: HistorikkMal & WrappedComponentProps) => ( +const HistorikkMalType4 = ({ historikkinnslag, kodeverkNavnFraKodeFn }: HistorikkMal & WrappedComponentProps) => ( <> {historikkinnslag.historikkinnslagDeler.map((del, delIndex) => (
- {del.aarsak && {getKodeverknavn(del.aarsak)}} - {del.begrunnelse && } + {del.aarsak && ( + {kodeverkNavnFraKodeFn(del.aarsak, KodeverkType.VENT_AARSAK)} + )} + {del.begrunnelse && ( + + )} {del.begrunnelseFritekst && }
))} diff --git a/packages/sak-historikk/src/components/maler/historikkMalType5.tsx b/packages/sak-historikk/src/components/maler/historikkMalType5.tsx index d18d2fa9cf..f2f626ea5c 100644 --- a/packages/sak-historikk/src/components/maler/historikkMalType5.tsx +++ b/packages/sak-historikk/src/components/maler/historikkMalType5.tsx @@ -1,8 +1,9 @@ import { VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { HistorikkinnslagDel, HistorikkinnslagEndretFelt, Kodeverk } from '@k9-sak-web/types'; +import { HistorikkinnslagDel, HistorikkinnslagEndretFelt } from '@k9-sak-web/types'; import { BodyShort, Label } from '@navikt/ds-react'; import React, { ReactNode } from 'react'; import { FormattedMessage, injectIntl, IntlShape, WrappedComponentProps } from 'react-intl'; +import { KodeverkNavnFraKodeFnType, KodeverkType } from '@k9-sak-web/lib/kodeverk/types.js'; import historikkEndretFeltTypeCodes from '../../kodeverk/historikkEndretFeltTypeCodes'; import historikkEndretFeltTypeHeadingCodes from '../../kodeverk/historikkEndretFeltTypeHeadingCodes'; @@ -64,14 +65,14 @@ const lagGjeldendeFraInnslag = (historikkinnslagDel: HistorikkinnslagDel): React const lageElementInnhold = ( historikkDel: HistorikkinnslagDel, intl: IntlShape, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): string[] => { const list = []; if (historikkDel.hendelse) { - list.push(findHendelseText(historikkDel.hendelse, getKodeverknavn)); + list.push(findHendelseText(historikkDel.hendelse, kodeverkNavnFraKodeFn)); } if (historikkDel.resultat) { - list.push(findResultatText(historikkDel.resultat, intl, getKodeverknavn)); + list.push(findResultatText(historikkDel.resultat, intl, kodeverkNavnFraKodeFn)); } return list; }; @@ -79,11 +80,11 @@ const lageElementInnhold = ( const formatChangedField = ( endretFelt: HistorikkinnslagEndretFelt, intl: IntlShape, - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): ReactNode => { const fieldName = findEndretFeltNavn(endretFelt, intl); - const fromValue = findEndretFeltVerdi(endretFelt, endretFelt.fraVerdi, intl, getKodeverknavn); - const toValue = findEndretFeltVerdi(endretFelt, endretFelt.tilVerdi, intl, getKodeverknavn); + const fromValue = findEndretFeltVerdi(endretFelt, endretFelt.fraVerdi, intl, kodeverkNavnFraKodeFn); + const toValue = findEndretFeltVerdi(endretFelt, endretFelt.tilVerdi, intl, kodeverkNavnFraKodeFn); if (endretFelt.fraVerdi !== null) { return ( @@ -113,7 +114,7 @@ const formatChangedField = ( const lagTemaHeadingId = (historikkinnslagDel: HistorikkinnslagDel): ReactNode => { const { tema } = historikkinnslagDel; if (tema) { - const heading = historikkEndretFeltTypeHeadingCodes[tema.endretFeltNavn.kode]; + const heading = historikkEndretFeltTypeHeadingCodes[tema.endretFeltNavn]; if (heading && tema.navnVerdi) { return ( @@ -130,10 +131,12 @@ const lagTemaHeadingId = (historikkinnslagDel: HistorikkinnslagDel): ReactNode = const lagSoeknadsperiode = ( soeknadsperiode: HistorikkinnslagDel['soeknadsperiode'], - getKodeverknavn: (kodeverk: Kodeverk) => string, + kodeverkNavnFraKodeFn: KodeverkNavnFraKodeFnType, ): ReactNode => ( <> - {getKodeverknavn(soeknadsperiode.soeknadsperiodeType)} + + {kodeverkNavnFraKodeFn(soeknadsperiode.soeknadsperiodeType, KodeverkType.HISTORIKK_AVKLART_SOEKNADSPERIODE_TYPE)} + {soeknadsperiode.navnVerdi && ( <>
@@ -149,7 +152,7 @@ const HistorikkMalType5 = ({ intl, historikkinnslag, behandlingLocation, - getKodeverknavn, + kodeverkNavnFraKodeFn, createLocationForSkjermlenke, saksnummer, }: HistorikkMal & WrappedComponentProps) => ( @@ -164,13 +167,13 @@ const HistorikkMalType5 = ({ )} - {lageElementInnhold(historikkinnslagDel, intl, getKodeverknavn).map(tekst => ( + {lageElementInnhold(historikkinnslagDel, intl, kodeverkNavnFraKodeFn).map(tekst => (
- {showHenleggelseFritekst(behandlingType.kode, årsakKode) && ( + {showHenleggelseFritekst(behandlingType, årsakKode) && (
{intl.formatMessage({ id: 'HenleggBehandlingModal.HenleggBehandlingSubmit' })} @@ -225,7 +224,7 @@ export const HenleggBehandlingModalImpl = ({
{showLink && (
- {behandlingType.kode === BehandlingType.KLAGE && ( + {behandlingType === BehandlingType.KLAGE && ( ownProps.behandlingType, ], (arsakKode: string, fritekst: string, type): boolean => { - if (type.kode === BehandlingType.TILBAKEKREVING) { + if (type === BehandlingType.TILBAKEKREVING) { return behandlingResultatType.HENLAGT_FEILOPPRETTET === arsakKode; } - if (type.kode === BehandlingType.TILBAKEKREVING_REVURDERING) { + if (type === BehandlingType.TILBAKEKREVING_REVURDERING) { return behandlingResultatType.HENLAGT_FEILOPPRETTET_MED_BREV === arsakKode && !!fritekst; } diff --git a/packages/sak-meny-marker-behandling/src/MenyMarkerBehanding.spec.tsx b/packages/sak-meny-marker-behandling/src/MenyMarkerBehanding.spec.tsx index 4e145a7247..42cd438651 100644 --- a/packages/sak-meny-marker-behandling/src/MenyMarkerBehanding.spec.tsx +++ b/packages/sak-meny-marker-behandling/src/MenyMarkerBehanding.spec.tsx @@ -1,8 +1,7 @@ -import { render, screen } from '@testing-library/react'; +import { act, render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import React from 'react'; import { K9sakApiKeys, requestApi } from '@k9-sak-web/sak-app/src/data/k9sakApi'; -import { act } from 'react-dom/test-utils'; import MenyMarkerBehandling from './MenyMarkerBehandling'; describe(' { diff --git a/packages/sak-meny-ny-behandling/src/MenyNyBehandlingIndex.spec.tsx b/packages/sak-meny-ny-behandling/src/MenyNyBehandlingIndex.spec.tsx index e9a0f39965..6e15a25879 100644 --- a/packages/sak-meny-ny-behandling/src/MenyNyBehandlingIndex.spec.tsx +++ b/packages/sak-meny-ny-behandling/src/MenyNyBehandlingIndex.spec.tsx @@ -14,34 +14,22 @@ describe('', () => { const behandlingOppretting = [ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, { - behandlingType: { - kode: behandlingType.REVURDERING, - kodeverk: '', - }, + behandlingType: behandlingType.REVURDERING, kanOppretteBehandling: true, }, ]; renderWithIntlAndReduxForm( ', () => { eksternUuid: '2323', saksnummer: '123', behandlingType: behandlingType.FORSTEGANGSSOKNAD, - fagsakYtelseType: { - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: 'FAGSAK_YTELSE_TYPE', - }, + fagsakYtelseType: fagsakYtelseType.FORELDREPENGER, }); expect(lukkModalCallback.mock.calls).toHaveLength(1); diff --git a/packages/sak-meny-ny-behandling/src/MenyNyBehandlingIndex.stories.tsx b/packages/sak-meny-ny-behandling/src/MenyNyBehandlingIndex.stories.tsx index 89ac6063fa..b3a57e49ba 100644 --- a/packages/sak-meny-ny-behandling/src/MenyNyBehandlingIndex.stories.tsx +++ b/packages/sak-meny-ny-behandling/src/MenyNyBehandlingIndex.stories.tsx @@ -46,34 +46,22 @@ const behandlingstyper = [ const behandlingOppretting = [ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, { - behandlingType: { - kode: behandlingType.REVURDERING, - kodeverk: '', - }, + behandlingType: behandlingType.REVURDERING, kanOppretteBehandling: true, }, ]; export const visMenyForÅLageNyBehandling = () => ( ( export const visMenyForÅLageNyTilbakekrevingsbehandling = () => ( intl.formatMessage({ id: 'MenyNyBehandlingIndex.NyForstegangsbehandling' }); interface OwnProps { - ytelseType: Kodeverk; + ytelseType: string; saksnummer: string; behandlingId?: number; behandlingUuid?: string; behandlingVersjon?: number; - behandlingType?: Kodeverk; + behandlingType?: string; lagNyBehandling: (behandlingTypeKode: string, data: any) => void; behandlingstyper: KodeverkMedNavn[]; tilbakekrevingRevurderingArsaker: KodeverkMedNavn[]; diff --git a/packages/sak-meny-ny-behandling/src/components/NyBehandlingModal.spec.tsx b/packages/sak-meny-ny-behandling/src/components/NyBehandlingModal.spec.tsx index 2fce2bc3e3..90c89f7139 100644 --- a/packages/sak-meny-ny-behandling/src/components/NyBehandlingModal.spec.tsx +++ b/packages/sak-meny-ny-behandling/src/components/NyBehandlingModal.spec.tsx @@ -21,10 +21,7 @@ describe('', () => { const submitEventCallback = vi.fn(); const cancelEventCallback = vi.fn(); - const ytelseType = { - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: '', - }; + const ytelseType = fagsakYtelseType.FORELDREPENGER; it('skal rendre komponent korrekt', () => { const behandlingstyper = [ @@ -50,10 +47,7 @@ describe('', () => { submitCallback={vi.fn()} behandlingOppretting={[ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, ]} @@ -98,10 +92,7 @@ describe('', () => { submitCallback={vi.fn()} behandlingOppretting={[ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, ]} @@ -147,10 +138,7 @@ describe('', () => { submitCallback={vi.fn()} behandlingOppretting={[ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, ]} @@ -196,10 +184,7 @@ describe('', () => { submitCallback={vi.fn()} behandlingOppretting={[ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, ]} @@ -241,10 +226,7 @@ describe('', () => { submitCallback={vi.fn()} behandlingOppretting={[ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, ]} @@ -400,24 +382,15 @@ describe('', () => { const behandlingOppretting = [ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, { - behandlingType: { - kode: behandlingType.REVURDERING, - kodeverk: '', - }, + behandlingType: behandlingType.REVURDERING, kanOppretteBehandling: true, }, { - behandlingType: { - kode: behandlingType.KLAGE, - kodeverk: '', - }, + behandlingType: behandlingType.KLAGE, kanOppretteBehandling: true, }, ]; @@ -466,24 +439,15 @@ describe('', () => { const behandlingOppretting = [ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, { - behandlingType: { - kode: behandlingType.REVURDERING, - kodeverk: '', - }, + behandlingType: behandlingType.REVURDERING, kanOppretteBehandling: true, }, { - behandlingType: { - kode: behandlingType.KLAGE, - kodeverk: '', - }, + behandlingType: behandlingType.KLAGE, kanOppretteBehandling: true, }, ]; @@ -532,24 +496,15 @@ describe('', () => { const behandlingOppretting = [ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: false, }, { - behandlingType: { - kode: behandlingType.REVURDERING, - kodeverk: '', - }, + behandlingType: behandlingType.REVURDERING, kanOppretteBehandling: true, }, { - behandlingType: { - kode: behandlingType.KLAGE, - kodeverk: '', - }, + behandlingType: behandlingType.KLAGE, kanOppretteBehandling: true, }, ]; @@ -593,24 +548,15 @@ describe('', () => { const behandlingOppretting = [ { - behandlingType: { - kode: behandlingType.FORSTEGANGSSOKNAD, - kodeverk: '', - }, + behandlingType: behandlingType.FORSTEGANGSSOKNAD, kanOppretteBehandling: true, }, { - behandlingType: { - kode: behandlingType.REVURDERING, - kodeverk: '', - }, + behandlingType: behandlingType.REVURDERING, kanOppretteBehandling: false, }, { - behandlingType: { - kode: behandlingType.KLAGE, - kodeverk: '', - }, + behandlingType: behandlingType.KLAGE, kanOppretteBehandling: true, }, ]; diff --git a/packages/sak-meny-ny-behandling/src/components/NyBehandlingModal.tsx b/packages/sak-meny-ny-behandling/src/components/NyBehandlingModal.tsx index 0469cb62e3..7dd94d9a6b 100644 --- a/packages/sak-meny-ny-behandling/src/components/NyBehandlingModal.tsx +++ b/packages/sak-meny-ny-behandling/src/components/NyBehandlingModal.tsx @@ -4,7 +4,7 @@ import behandlingArsakType from '@fpsak-frontend/kodeverk/src/behandlingArsakTyp import bType from '@fpsak-frontend/kodeverk/src/behandlingType'; import { Image, VerticalSpacer } from '@fpsak-frontend/shared-components'; import { required } from '@fpsak-frontend/utils'; -import { Kodeverk, KodeverkMedNavn } from '@k9-sak-web/types'; +import { KodeverkMedNavn } from '@k9-sak-web/types'; import { Button, HGrid, Label, Modal } from '@navikt/ds-react'; import React, { ReactElement, useEffect } from 'react'; import { FormattedMessage, IntlShape, WrappedComponentProps, injectIntl } from 'react-intl'; @@ -27,7 +27,7 @@ const createOptions = ( }; export type BehandlingOppretting = Readonly<{ - behandlingType: Kodeverk; + behandlingType: string; kanOppretteBehandling: boolean; }>; @@ -38,13 +38,13 @@ export type FormValues = { }; interface PureOwnProps { - ytelseType: Kodeverk; + ytelseType: string; saksnummer: number; cancelEvent: () => void; submitCallback: ( data: { eksternUuid?: string; - fagsakYtelseType: Kodeverk; + fagsakYtelseType: string; } & FormValues, ) => void; behandlingOppretting: BehandlingOppretting[]; @@ -55,7 +55,7 @@ interface PureOwnProps { kanBehandlingOpprettes: boolean; kanRevurderingOpprettes: boolean; }; - behandlingType?: Kodeverk; + behandlingType?: string; behandlingId?: number; behandlingUuid?: string; uuidForSistLukkede?: string; @@ -250,8 +250,7 @@ export const getBehandlingTyper = createSelector( const kanOppretteBehandlingstype = ( behandlingOppretting: BehandlingOppretting[], behandlingTypeKode: string, -): boolean => - behandlingOppretting.some(bo => bo.behandlingType.kode === behandlingTypeKode && bo.kanOppretteBehandling); +): boolean => behandlingOppretting.some(bo => bo.behandlingType === behandlingTypeKode && bo.kanOppretteBehandling); export const getEnabledBehandlingstyper = createSelector( [ @@ -305,8 +304,8 @@ const mapStateToPropsFactory = (initialState, initialOwnProps: PureOwnProps) => valgtBehandlingTypeKode: formValueSelector(formName)(state, 'behandlingType'), erTilbakekreving: ownProps.behandlingType && - (ownProps.behandlingType.kode === bType.TILBAKEKREVING || - ownProps.behandlingType.kode === bType.TILBAKEKREVING_REVURDERING), + (ownProps.behandlingType === bType.TILBAKEKREVING || + ownProps.behandlingType === bType.TILBAKEKREVING_REVURDERING), }); }; diff --git a/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.spec.tsx b/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.spec.tsx index cf78306cb3..24ac69e89b 100644 --- a/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.spec.tsx +++ b/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.spec.tsx @@ -6,8 +6,11 @@ import { Provider } from 'react-redux'; import { MemoryRouter } from 'react-router-dom'; import { combineReducers, createStore } from 'redux'; import { reducer as formReducer } from 'redux-form'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; import venteArsakType from '@fpsak-frontend/kodeverk/src/venteArsakType'; +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import MenySettPaVentIndex from './MenySettPaVentIndex'; vi.mock('react-router-dom', async () => { @@ -20,15 +23,6 @@ vi.mock('react-router-dom', async () => { }; }); -const ventearsaker = [ - { - kode: venteArsakType.UTV_FRIST, - kodeverk: 'VENT_ARSAK_TYPE', - navn: 'Utvid frist', - kanVelges: 'true', - }, -]; - const testDato = add(new Date(), { months: 2, days: 1 }); describe('', () => { @@ -38,16 +32,22 @@ describe('', () => { render( - - - + + + + + , ); diff --git a/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.stories.tsx b/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.stories.tsx index 03bec63cd6..998d452c7b 100644 --- a/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.stories.tsx +++ b/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.stories.tsx @@ -1,4 +1,3 @@ -import venteArsakType from '@fpsak-frontend/kodeverk/src/venteArsakType'; import { action } from '@storybook/addon-actions'; import React from 'react'; import MenySettPaVentIndex from './MenySettPaVentIndex'; @@ -20,18 +19,6 @@ export const visMenyForÅSetteBehandlingPåVent = () => ( behandlingId={1} behandlingVersjon={2} settBehandlingPaVent={promiseAction('button-click')} - ventearsaker={[ - { - kode: venteArsakType.AVV_DOK, - kodeverk: 'VENT_ARSAK_TYPE', - navn: 'Avvent dokumentasjon', - }, - { - kode: venteArsakType.VENT_MANGL_FUNKSJ_SAKSBEHANDLER, - kodeverk: 'VENT_ARSAK_TYPE', - navn: 'Settes på vent av saksbehandler pga. manglende funksjonalitet i løsningen', - }, - ]} lukkModal={action('button-click')} erTilbakekreving={false} /> diff --git a/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.tsx b/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.tsx index 68e36dd955..b6e4079ccf 100644 --- a/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.tsx +++ b/packages/sak-meny-sett-pa-vent/src/MenySettPaVentIndex.tsx @@ -1,6 +1,5 @@ import SettPaVentModalIndex from '@k9-sak-web/modal-sett-pa-vent'; import { goToLos } from '@k9-sak-web/sak-app/src/app/paths'; -import { Venteaarsak } from '@k9-sak-web/types'; import React, { useCallback } from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; import messages from '../i18n/nb_NO.json'; @@ -26,7 +25,6 @@ interface OwnProps { frist: string; ventearsak: string; }) => Promise; - ventearsaker: Venteaarsak[]; lukkModal: () => void; erTilbakekreving: boolean; } @@ -35,7 +33,6 @@ const MenySettPaVentIndex = ({ behandlingId, behandlingVersjon, settBehandlingPaVent, - ventearsaker, lukkModal, erTilbakekreving, }: OwnProps) => { @@ -59,7 +56,6 @@ const MenySettPaVentIndex = ({ showModal submitCallback={submit} cancelEvent={lukkModal} - ventearsaker={ventearsaker} erTilbakekreving={erTilbakekreving} hasManualPaVent /> diff --git a/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.spec.tsx b/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.spec.tsx index d3e56a3b58..f287cd20a9 100644 --- a/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.spec.tsx +++ b/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.spec.tsx @@ -6,10 +6,7 @@ import RisikoklassifiseringSakIndex from './RisikoklassifiseringSakIndex'; import kontrollresultatKode from './kodeverk/kontrollresultatKode'; const lagRisikoklassifisering = kode => ({ - kontrollresultat: { - kode, - kodeverk: 'Kontrollresultat', - }, + kontrollresultat: kode, // Kontrollresultat medlFaresignaler: undefined, iayFaresignaler: undefined, }); diff --git a/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.stories.tsx b/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.stories.tsx index af553c79d3..71120c1ffd 100644 --- a/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.stories.tsx +++ b/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.stories.tsx @@ -57,22 +57,13 @@ export const visPanelForHøyRisikoklassifisering = props => ( behandlingVersjon={1} aksjonspunkt={ { - definisjon: { - kode: aksjonspunktCodes.VURDER_FARESIGNALER, - kodeverk: '', - }, - status: { - kode: aksjonspunktStatus.OPPRETTET, - kodeverk: '', - }, + definisjon: aksjonspunktCodes.VURDER_FARESIGNALER, + status: aksjonspunktStatus.OPPRETTET, begrunnelse: undefined, } as Aksjonspunkt } risikoklassifisering={{ - kontrollresultat: { - kode: kontrollresultatKode.HOY, - kodeverk: '', - }, + kontrollresultat: kontrollresultatKode.HOY, medlFaresignaler: { faresignaler: ['Søker bor hos foreldre'], }, diff --git a/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.tsx b/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.tsx index a42d97c7aa..1b6669623d 100644 --- a/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.tsx +++ b/packages/sak-risikoklassifisering/src/RisikoklassifiseringSakIndex.tsx @@ -24,7 +24,7 @@ const harResultatkode = (resultatkode: string, risikoklassifisering?: Risikoklas if (!risikoklassifisering || !risikoklassifisering.kontrollresultat) { return false; } - return risikoklassifisering.kontrollresultat.kode === resultatkode; + return risikoklassifisering.kontrollresultat === resultatkode; }; interface OwnProps { diff --git a/packages/sak-risikoklassifisering/src/components/AvklarFaresignalerForm.spec.tsx b/packages/sak-risikoklassifisering/src/components/AvklarFaresignalerForm.spec.tsx index d59002afe6..d6f39f639b 100644 --- a/packages/sak-risikoklassifisering/src/components/AvklarFaresignalerForm.spec.tsx +++ b/packages/sak-risikoklassifisering/src/components/AvklarFaresignalerForm.spec.tsx @@ -13,28 +13,16 @@ import { } from './AvklarFaresignalerForm'; const mockAksjonspunkt = (status, begrunnelse) => ({ - definisjon: { - kode: '5095', - kodeverk: '', - }, - status: { - kode: status, - kodeverk: '', - }, + definisjon: '5095', + status, begrunnelse, kanLoses: true, erAktivt: true, }); const mockRisikoklassifisering = kode => ({ - kontrollresultat: { - kode: 'HOY', - kodeverk: 'Kontrollresultat', - }, - faresignalVurdering: { - kode, - kodeverk: 'Faresignalvurdering', - }, + kontrollresultat: 'HOY', // 'Kontrollresultat' + faresignalVurdering: kode, // 'Faresignalvurdering' medlFaresignaler: undefined, iayFaresignaler: undefined, }); diff --git a/packages/sak-risikoklassifisering/src/components/AvklarFaresignalerForm.tsx b/packages/sak-risikoklassifisering/src/components/AvklarFaresignalerForm.tsx index 62f58905ac..41961639c8 100644 --- a/packages/sak-risikoklassifisering/src/components/AvklarFaresignalerForm.tsx +++ b/packages/sak-risikoklassifisering/src/components/AvklarFaresignalerForm.tsx @@ -68,7 +68,7 @@ export const AvklarFaresignalerForm = ({ readOnly, aksjonspunkt, ...formProps }: validate={[required]} isVertical readOnly={readOnly} - isEdited={!isAksjonspunktOpen(aksjonspunkt.status.kode)} + isEdited={!isAksjonspunktOpen(aksjonspunkt.status)} radios={[ { value: true, @@ -105,7 +105,7 @@ export const buildInitialValues = createSelector( if (aksjonspunkt && aksjonspunkt.begrunnelse && risikoklassifisering && risikoklassifisering.faresignalVurdering) { return { [begrunnelseFieldName]: aksjonspunkt.begrunnelse, - [radioFieldName]: risikoklassifisering.faresignalVurdering.kode === faresignalVurdering.INNVIRKNING, + [radioFieldName]: risikoklassifisering.faresignalVurdering === faresignalVurdering.INNVIRKNING, }; } return undefined; diff --git a/packages/sak-risikoklassifisering/src/components/Faresignaler.spec.tsx b/packages/sak-risikoklassifisering/src/components/Faresignaler.spec.tsx index d998f83d26..42fa008a56 100644 --- a/packages/sak-risikoklassifisering/src/components/Faresignaler.spec.tsx +++ b/packages/sak-risikoklassifisering/src/components/Faresignaler.spec.tsx @@ -5,10 +5,7 @@ import messages from '../../i18n/nb_NO.json'; import Faresignaler from './Faresignaler'; const mockRisikoklassifisering = (medlSignaler, iaySignaler) => ({ - kontrollresultat: { - kode: 'HOY', - kodeverk: 'Kontrollresultat', - }, + kontrollresultat: 'HOY', // 'Kontrollresultat' medlFaresignaler: { faresignaler: medlSignaler, }, diff --git a/packages/sak-risikoklassifisering/src/components/HoyRisikoPanel.tsx b/packages/sak-risikoklassifisering/src/components/HoyRisikoPanel.tsx index dd174e9aa8..1244fc2ef3 100644 --- a/packages/sak-risikoklassifisering/src/components/HoyRisikoPanel.tsx +++ b/packages/sak-risikoklassifisering/src/components/HoyRisikoPanel.tsx @@ -30,7 +30,7 @@ const HoyRisikoPanel = ({ submitCallback, }: OwnProps) => ( - {aksjonspunkt && aksjonspunkt.status.kode === aksjonspunktStatus.OPPRETTET && ( + {aksjonspunkt && aksjonspunkt.status === aksjonspunktStatus.OPPRETTET && ( <> diff --git a/packages/sak-sok/src/FagsakSokSakIndex.stories.tsx b/packages/sak-sok/src/FagsakSokSakIndex.stories.tsx index 15bd6165ca..6aa9762a41 100644 --- a/packages/sak-sok/src/FagsakSokSakIndex.stories.tsx +++ b/packages/sak-sok/src/FagsakSokSakIndex.stories.tsx @@ -1,7 +1,7 @@ import { action } from '@storybook/addon-actions'; import React, { useState } from 'react'; -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; import personstatusType from '@fpsak-frontend/kodeverk/src/personstatusType'; import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; diff --git a/packages/sak-sok/src/FagsakSokSakIndex.tsx b/packages/sak-sok/src/FagsakSokSakIndex.tsx index 7d3e30ee8e..17cb751908 100644 --- a/packages/sak-sok/src/FagsakSokSakIndex.tsx +++ b/packages/sak-sok/src/FagsakSokSakIndex.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; -import { Fagsak, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Fagsak } from '@k9-sak-web/types'; import FagsakSearch from './components/FagsakSearch'; import messages from '../i18n/nb_NO.json'; @@ -25,7 +25,6 @@ interface OwnProps { searchResultAccessDenied?: { feilmelding: string; }; - alleKodeverk: { [key: string]: [KodeverkMedNavn] }; } /* @@ -38,7 +37,6 @@ const FagsakSokSakIndex = ({ selectFagsakCallback, searchStarted = false, searchResultAccessDenied, - alleKodeverk, }: OwnProps) => ( ); diff --git a/packages/sak-sok/src/components/FagsakList.spec.tsx b/packages/sak-sok/src/components/FagsakList.spec.tsx index 20247e488b..73228b5b9e 100644 --- a/packages/sak-sok/src/components/FagsakList.spec.tsx +++ b/packages/sak-sok/src/components/FagsakList.spec.tsx @@ -1,53 +1,20 @@ -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; -import fagsakYtelseType from '@fpsak-frontend/kodeverk/src/fagsakYtelseType'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import { renderWithIntl } from '@fpsak-frontend/utils-test/test-utils'; -import { Fagsak, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Fagsak } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; import React from 'react'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; + +import { behandlingType } from "@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js"; import messages from '../../i18n/nb_NO.json'; import FagsakList, { sortFagsaker } from './FagsakList'; -const FAGSAK_STATUS_KODEVERK = 'FAGSAK_STATUS'; -const FAGSAK_YTELSE_KODEVERK = 'FAGSAK_YTELSE'; - -const alleKodeverk = { - [kodeverkTyper.FAGSAK_STATUS]: [ - { - kode: fagsakStatus.UNDER_BEHANDLING, - navn: 'Under behandling', - kodeverk: FAGSAK_STATUS_KODEVERK, - }, - { - kode: fagsakStatus.AVSLUTTET, - navn: 'Avsluttet', - kodeverk: FAGSAK_STATUS_KODEVERK, - }, - ], - [kodeverkTyper.FAGSAK_YTELSE]: [ - { - kode: fagsakYtelseType.ENGANGSSTONAD, - navn: 'Engangsstønad', - kodeverk: FAGSAK_YTELSE_KODEVERK, - }, - ], -}; - describe('', () => { - const fagsak = { + const fagsak: Fagsak = { saksnummer: '12345', - sakstype: { - kode: 'ES', - kodeverk: FAGSAK_YTELSE_KODEVERK, - }, - relasjonsRolleType: { - kode: 'TEST', - kodeverk: '', - }, - status: { - kode: 'UBEH', - kodeverk: FAGSAK_STATUS_KODEVERK, - }, + sakstype: 'ES', // FAGSAK_YTELSE_KODEVERK + relasjonsRolleType: 'TEST', + status: 'UBEH', // FAGSAK_STATUS_KODEVERK barnFodt: null, opprettet: '2019-02-17T13:49:18.645', endret: '2019-02-17T13:49:18.645', @@ -60,11 +27,14 @@ describe('', () => { it('skal vise en tabell med en rad og tilhørende kolonnedata', () => { const clickFunction = vi.fn(); renderWithIntl( - , + + + , { messages }, ); expect(screen.getByText('12345')).toBeInTheDocument(); @@ -75,18 +45,9 @@ describe('', () => { it('skal sortere søkeresultat der avsluttede skal vises sist, mens sist endrede skal vises først', () => { const fagsak2 = { saksnummer: '23456', - sakstype: { - kode: 'ES', - kodeverk: FAGSAK_YTELSE_KODEVERK, - }, - relasjonsRolleType: { - kode: 'TEST', - kodeverk: '', - }, - status: { - kode: 'UBEH', - kodeverk: FAGSAK_STATUS_KODEVERK, - }, + sakstype: 'ES', // FAGSAK_YTELSE_KODEVERK + relasjonsRolleType: 'TEST', + status: 'UBEH', // FAGSAK_STATUS_KODEVERK barnFodt: null, opprettet: '2019-02-18T13:49:18.645', endret: '2019-02-18T13:49:18.645', @@ -95,14 +56,8 @@ describe('', () => { const fagsak3 = { saksnummer: '34567', - sakstype: { - kode: 'ES', - kodeverk: FAGSAK_YTELSE_KODEVERK, - }, - status: { - kode: 'AVSLU', - kodeverk: FAGSAK_STATUS_KODEVERK, - }, + sakstype: 'ES', // FAGSAK_YTELSE_KODEVERK + status: 'AVSLU', // FAGSAK_STATUS_KODEVERK barnFodt: null, opprettet: '2019-02-18T13:49:18.645', endret: '2019-02-18T13:49:18.645', diff --git a/packages/sak-sok/src/components/FagsakList.tsx b/packages/sak-sok/src/components/FagsakList.tsx index 3830782123..593d645e44 100644 --- a/packages/sak-sok/src/components/FagsakList.tsx +++ b/packages/sak-sok/src/components/FagsakList.tsx @@ -1,16 +1,16 @@ -import fagsakStatus from '@fpsak-frontend/kodeverk/src/fagsakStatus'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; -import { getKodeverknavnFn } from '@fpsak-frontend/utils'; -import { Fagsak, KodeverkMedNavn } from '@k9-sak-web/types'; +import { fagsakStatus } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/FagsakStatus.js'; +import { Fagsak } from '@k9-sak-web/types'; import { Table } from '@navikt/ds-react'; import React from 'react'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; import { useIntl } from 'react-intl'; import styles from './fagsakList.module.css'; const headerTextCodes = ['FagsakList.Saksnummer', 'FagsakList.Sakstype', 'FagsakList.Status']; const lagFagsakSortObj = (fagsak: Fagsak) => ({ - avsluttet: fagsak.status.kode === fagsakStatus.AVSLUTTET, + avsluttet: fagsak.status === fagsakStatus.AVSLUTTET, endret: fagsak.endret ? fagsak.endret : fagsak.opprettet, }); @@ -36,7 +36,6 @@ export const sortFagsaker = (fagsaker: Fagsak[]) => interface OwnProps { fagsaker: Fagsak[]; selectFagsakCallback: (e: React.SyntheticEvent, saksnummer: string) => void; - alleKodeverk: { [key: string]: [KodeverkMedNavn] }; } /** @@ -44,9 +43,9 @@ interface OwnProps { * * Presentasjonskomponent. Formaterer fagsak-søkeresultatet for visning i tabell. Sortering av fagsakene blir håndtert her. */ -const FagsakList = ({ fagsaker, selectFagsakCallback, alleKodeverk }: OwnProps) => { +const FagsakList = ({ fagsaker, selectFagsakCallback }: OwnProps) => { const intl = useIntl(); - const getKodeverknavn = getKodeverknavnFn(alleKodeverk, kodeverkTyper); + const { kodeverkNavnFraKode } = useKodeverkContext(); return ( @@ -68,8 +67,8 @@ const FagsakList = ({ fagsaker, selectFagsakCallback, alleKodeverk }: OwnProps) shadeOnHover={false} > {fagsak.saksnummer} - {getKodeverknavn(fagsak.sakstype)} - {getKodeverknavn(fagsak.status)} + {kodeverkNavnFraKode(fagsak.sakstype, KodeverkType.FAGSAK_YTELSE)} + {kodeverkNavnFraKode(fagsak.status, KodeverkType.FAGSAK_STATUS)} ))} diff --git a/packages/sak-sok/src/components/FagsakSearch.spec.tsx b/packages/sak-sok/src/components/FagsakSearch.spec.tsx index 41eedb7cc6..ee4edcbf51 100644 --- a/packages/sak-sok/src/components/FagsakSearch.spec.tsx +++ b/packages/sak-sok/src/components/FagsakSearch.spec.tsx @@ -10,15 +10,9 @@ import FagsakSearch from './FagsakSearch'; describe('', () => { const fagsak: Fagsak = { saksnummer: '12345', - sakstype: { kode: fagsakYtelsesType.FP, kodeverk: 'FAGSAK_YTELSE' }, - relasjonsRolleType: { - kode: 'TEST', - kodeverk: '', - }, - status: { - kode: fagsakStatus.UNDER_BEHANDLING, - kodeverk: 'FAGSAK_STATUS', - }, + sakstype: fagsakYtelsesType.FP, // FAGSAK_YTELSE + relasjonsRolleType: 'TEST', + status: fagsakStatus.UNDER_BEHANDLING, // FAGSAK_STATUS barnFodt: '13‎.‎02‎.‎2017‎', opprettet: '13‎.‎02‎.‎2017‎ ‎09‎:‎54‎:‎22', endret: '13‎.‎02‎.‎2017‎', @@ -31,10 +25,7 @@ describe('', () => { alder: 44, personnummer: '0405198632231', erKvinne: true, - personstatusType: { - kode: 'TEST', - kodeverk: '', - }, + personstatusType: 'TEST', }, dekningsgrad: 100, }; @@ -49,7 +40,6 @@ describe('', () => { searchResultReceived={false} selectFagsakCallback={vi.fn()} searchStarted - alleKodeverk={{}} />, { messages }, ); @@ -65,7 +55,6 @@ describe('', () => { searchResultReceived selectFagsakCallback={vi.fn()} searchStarted - alleKodeverk={{}} />, { messages }, ); @@ -83,7 +72,6 @@ describe('', () => { searchResultReceived selectFagsakCallback={selectFagsakFunction} searchStarted - alleKodeverk={{}} />, { messages }, ); diff --git a/packages/sak-sok/src/components/FagsakSearch.tsx b/packages/sak-sok/src/components/FagsakSearch.tsx index e053f33c75..91359791e8 100644 --- a/packages/sak-sok/src/components/FagsakSearch.tsx +++ b/packages/sak-sok/src/components/FagsakSearch.tsx @@ -1,5 +1,5 @@ import { VerticalSpacer } from '@fpsak-frontend/shared-components'; -import { Fagsak, KodeverkMedNavn } from '@k9-sak-web/types'; +import { Fagsak } from '@k9-sak-web/types'; import { BodyShort } from '@navikt/ds-react'; import React from 'react'; import { FormattedMessage } from 'react-intl'; @@ -18,7 +18,6 @@ interface OwnProps { searchResultAccessDenied?: { feilmelding: string; }; - alleKodeverk: { [key: string]: [KodeverkMedNavn] }; } /** @@ -34,7 +33,6 @@ const FagsakSearch = ({ selectFagsakCallback, searchStarted, searchResultAccessDenied, - alleKodeverk, }: OwnProps) => (
- {fagsaker.length > 1 && ( - - )} + {fagsaker.length > 1 && }
); diff --git a/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.spec.tsx b/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.spec.tsx index a6f72f8fef..773022a829 100644 --- a/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.spec.tsx +++ b/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.spec.tsx @@ -35,13 +35,13 @@ describe('Soknadsperiodestripe skal formatere perioder', () => { periodeMedUtfall: [ { periode: { fom: '2022-01-05', tom: '2022-04-05' }, - utfall: { kode: 'OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'OPPFYLT', // VILKAR_UTFALL_TYPE }, ], forrigeVedtak: [ { periode: { fom: '2022-01-05', tom: '2022-02-05' }, - utfall: { kode: 'OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'OPPFYLT', // 'VILKAR_UTFALL_TYPE' }, ], }; @@ -95,7 +95,7 @@ describe('Soknadsperiodestripe skal formatere perioder', () => { periodeMedUtfall: [ { periode: { fom: '2022-01-05', tom: '2022-02-05' }, - utfall: { kode: 'OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'OPPFYLT', // VILKAR_UTFALL_TYPE' }, ], forrigeVedtak: [], @@ -143,7 +143,7 @@ describe('Soknadsperiodestripe skal formatere perioder', () => { periodeMedUtfall: [ { periode: { fom: '2022-01-05', tom: '2022-04-05' }, - utfall: { kode: 'IKKE_OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'IKKE_OPPFYLT', // VILKAR_UTFALL_TYPE }, ], forrigeVedtak: [], @@ -192,17 +192,17 @@ describe('Soknadsperiodestripe skal ha navigasjon', () => { periodeMedUtfall: [ { periode: { fom: '2022-01-11', tom: '2022-04-11' }, - utfall: { kode: 'IKKE_VURDERT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'IKKE_VURDERT', // VILKAR_UTFALL_TYPE }, ], forrigeVedtak: [ { periode: { fom: '2022-01-11', tom: '2022-02-11' }, - utfall: { kode: 'OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'OPPFYLT', // VILKAR_UTFALL_TYPE }, { periode: { fom: '2022-02-14', tom: '2022-04-11' }, - utfall: { kode: 'IKKE_OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'IKKE_OPPFYLT', // VILKAR_UTFALL_TYPE }, ], }; diff --git a/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.stories.tsx b/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.stories.tsx index adbde386f6..88a9d1a12f 100644 --- a/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.stories.tsx +++ b/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.stories.tsx @@ -44,13 +44,13 @@ const data = { periodeMedUtfall: [ { periode: { fom: '2022-01-05', tom: '2022-04-05' }, - utfall: { kode: 'OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'OPPFYLT', // VILKAR_UTFALL_TYPE }, ], forrigeVedtak: [ { periode: { fom: '2022-01-05', tom: '2022-02-05' }, - utfall: { kode: 'OPPFYLT', kodeverk: 'VILKAR_UTFALL_TYPE' }, + utfall: 'OPPFYLT', // VILKAR_UTFALL_TYPE }, ], }; diff --git a/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.tsx b/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.tsx index 9cd5697aa0..4f5d02e5a5 100644 --- a/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.tsx +++ b/packages/sak-soknadsperiodestripe/src/Soknadsperiodestripe.tsx @@ -35,7 +35,7 @@ const harAllePerioderUtfall = (perioderTilVurdering: Periode[], perioderMedUtfal periodeMedUtfall => new Period(periodeMedUtfall.periode.fom, periodeMedUtfall.periode.tom).covers( new Period(periodeTilVurdering.fom, periodeTilVurdering.tom), - ) && periodeMedUtfall.utfall.kode !== vilkarUtfallType.IKKE_VURDERT, + ) && periodeMedUtfall.utfall !== vilkarUtfallType.IKKE_VURDERT, ), ); } @@ -54,12 +54,11 @@ export const formaterPerioder = (behandlingPerioderMedVilkår: BehandlingPeriode id: `${periode.fom}-${periode.tom}`, fom: new Date(periode.fom), tom: new Date(periode.tom), - className: utfall.kode === vilkarUtfallType.OPPFYLT ? styles.suksess : styles.feil, - status: utfall.kode === vilkarUtfallType.OPPFYLT ? ('suksess' as PeriodStatus) : 'feil', + className: utfall === vilkarUtfallType.OPPFYLT ? styles.suksess : styles.feil, + status: utfall === vilkarUtfallType.OPPFYLT ? ('suksess' as PeriodStatus) : 'feil', }; if (harOverlappMedPeriodeTilVurdering) { - nyPeriode.status = - utfall.kode === vilkarUtfallType.OPPFYLT ? ('suksessRevurder' as PeriodStatus) : 'feilRevurder'; + nyPeriode.status = utfall === vilkarUtfallType.OPPFYLT ? ('suksessRevurder' as PeriodStatus) : 'feilRevurder'; nyPeriode.className = `${styles.advarsel} ${styles.aktivPeriode}`; } return nyPeriode; @@ -85,12 +84,12 @@ export const formaterPerioder = (behandlingPerioderMedVilkår: BehandlingPeriode const overlappendePeriodeMedUtfall = behandlingPerioderMedVilkår.periodeMedUtfall.find( periodeMedUtfall => new Period(periodeMedUtfall.periode.fom, periodeMedUtfall.periode.tom).covers(new Period(fom, tom)) && - periodeMedUtfall.utfall.kode !== vilkarUtfallType.IKKE_VURDERT, + periodeMedUtfall.utfall !== vilkarUtfallType.IKKE_VURDERT, ); const erDelvisInnvilget = behandlingPerioderMedVilkår.periodeMedUtfall.some( periodeMedUtfall => periodeTilVurdering.covers(new Period(periodeMedUtfall.periode.fom, periodeMedUtfall.periode.tom)) && - periodeMedUtfall.utfall.kode === vilkarUtfallType.OPPFYLT, + periodeMedUtfall.utfall === vilkarUtfallType.OPPFYLT, ); const nyPeriode = { id: `${fom}-${tom}`, @@ -101,9 +100,9 @@ export const formaterPerioder = (behandlingPerioderMedVilkår: BehandlingPeriode }; if (overlappendePeriodeMedUtfall) { let utfall = nyPeriode.status; - if (overlappendePeriodeMedUtfall.utfall.kode === vilkarUtfallType.OPPFYLT) { + if (overlappendePeriodeMedUtfall.utfall === vilkarUtfallType.OPPFYLT) { utfall = 'suksess'; - } else if (overlappendePeriodeMedUtfall.utfall.kode === vilkarUtfallType.IKKE_OPPFYLT) { + } else if (overlappendePeriodeMedUtfall.utfall === vilkarUtfallType.IKKE_OPPFYLT) { utfall = 'feil'; } nyPeriode.status = utfall; diff --git a/packages/sak-totrinnskontroll/src/FatterVedtakTotrinnskontrollModalSakIndex.stories.tsx b/packages/sak-totrinnskontroll/src/FatterVedtakTotrinnskontrollModalSakIndex.stories.tsx index 383bb67453..6c9efe9fae 100644 --- a/packages/sak-totrinnskontroll/src/FatterVedtakTotrinnskontrollModalSakIndex.stories.tsx +++ b/packages/sak-totrinnskontroll/src/FatterVedtakTotrinnskontrollModalSakIndex.stories.tsx @@ -14,18 +14,10 @@ export default { const behandling = { id: 1, - status: { - kode: behandlingStatus.FATTER_VEDTAK, - kodeverk: '', - }, - type: { - kode: behandlingType.FØRSTEGANGSSØKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + status: behandlingStatus.FATTER_VEDTAK, + type: behandlingType.FØRSTEGANGSSØKNAD, // BEHANDLING_TYPE behandlingsresultat: { - type: { - kode: behandlingResultatType.OPPHOR, - }, + type: behandlingResultatType.OPPHOR, }, } as Behandling; @@ -34,10 +26,7 @@ export const visModalEtterGodkjenning = () => ( behandling={behandling} closeEvent={action('button-click')} allAksjonspunktApproved - fagsakYtelseType={{ - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: '', - }} + fagsakYtelseType={fagsakYtelseType.FORELDREPENGER} erKlageWithKA={false} harSammeResultatSomOriginalBehandling={false} /> @@ -48,18 +37,12 @@ export const visModalEtterGodkjenningAvKlage = () => ( behandling={ { ...behandling, - type: { - kode: behandlingType.KLAGE, - kodeverk: 'BEHANDLING_TYPE', - }, + type: behandlingType.KLAGE, // BEHANDLING_TYPE, } as Behandling } closeEvent={action('button-click')} allAksjonspunktApproved - fagsakYtelseType={{ - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: '', - }} + fagsakYtelseType={fagsakYtelseType.FORELDREPENGER} erKlageWithKA={false} harSammeResultatSomOriginalBehandling={false} /> @@ -70,10 +53,7 @@ export const visModalEtterTilbakesendingTilSaksbehandler = () => ( behandling={behandling} closeEvent={action('button-click')} allAksjonspunktApproved={false} - fagsakYtelseType={{ - kode: fagsakYtelseType.FORELDREPENGER, - kodeverk: '', - }} + fagsakYtelseType={fagsakYtelseType.FORELDREPENGER} erKlageWithKA={false} harSammeResultatSomOriginalBehandling={false} /> diff --git a/packages/sak-totrinnskontroll/src/FatterVedtakTotrinnskontrollModalSakIndex.tsx b/packages/sak-totrinnskontroll/src/FatterVedtakTotrinnskontrollModalSakIndex.tsx index 44f97b4bd4..6dd7aa8ae2 100644 --- a/packages/sak-totrinnskontroll/src/FatterVedtakTotrinnskontrollModalSakIndex.tsx +++ b/packages/sak-totrinnskontroll/src/FatterVedtakTotrinnskontrollModalSakIndex.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; -import { BehandlingAppKontekst, Kodeverk } from '@k9-sak-web/types'; +import { BehandlingAppKontekst } from '@k9-sak-web/types'; import FatterVedtakApprovalModal from './components/modal/FatterVedtakApprovalModal'; import messages from '../i18n/nb_NO.json'; @@ -19,7 +19,7 @@ interface OwnProps { behandling: BehandlingAppKontekst; closeEvent: () => void; allAksjonspunktApproved: boolean; - fagsakYtelseType: Kodeverk; + fagsakYtelseType: string; erKlageWithKA?: boolean; harSammeResultatSomOriginalBehandling?: boolean; } @@ -39,8 +39,8 @@ const FatterVedtakTotrinnskontrollModalSakIndex = ({ fagsakYtelseType={fagsakYtelseType} erKlageWithKA={erKlageWithKA} behandlingsresultat={behandling.behandlingsresultat} - behandlingStatusKode={behandling.status.kode} - behandlingTypeKode={behandling.type.kode} + behandlingStatusKode={behandling.status} + behandlingTypeKode={behandling.type} harSammeResultatSomOriginalBehandling={harSammeResultatSomOriginalBehandling} /> diff --git a/packages/sak-totrinnskontroll/src/TotrinnskontrollSakIndex.stories.tsx b/packages/sak-totrinnskontroll/src/TotrinnskontrollSakIndex.stories.tsx index 2a104add88..bffefc808e 100644 --- a/packages/sak-totrinnskontroll/src/TotrinnskontrollSakIndex.stories.tsx +++ b/packages/sak-totrinnskontroll/src/TotrinnskontrollSakIndex.stories.tsx @@ -3,12 +3,13 @@ import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/Be import { Behandling, KlageVurdering, TotrinnskontrollAksjonspunkt } from '@k9-sak-web/types'; import { action } from '@storybook/addon-actions'; import React from 'react'; -import alleKodeverk from '@k9-sak-web/gui/storybook/mocks/alleKodeverk.json'; +import { KodeverkProvider } from '@k9-sak-web/gui/kodeverk/index.js'; +import alleKodeverkV2 from '@k9-sak-web/lib/kodeverk/mocks/alleKodeverkV2.json'; import TotrinnskontrollSakIndex from './TotrinnskontrollSakIndex'; const data = [ { - skjermlenkeType: 'FORMKRAV_KLAGE_NFP', + skjermlenkeType: 'FAKTA_OM_ARBEIDSFORHOLD', totrinnskontrollAksjonspunkter: [ { aksjonspunktKode: '5082', @@ -76,8 +77,8 @@ const data = [ { fastsattVarigEndringNaering: null, faktaOmBeregningTilfeller: [ - { kode: 'VURDER_LØNNSENDRING', kodeverk: 'FAKTA_OM_BEREGNING_TILFELLE' }, - { kode: 'VURDER_MOTTAR_YTELSE', kodeverk: 'FAKTA_OM_BEREGNING_TILFELLE' }, + 'VURDER_LØNNSENDRING', // FAKTA_OM_BEREGNING_TILFELLE + 'VURDER_MOTTAR_YTELSE', // FAKTA_OM_BEREGNING_TILFELLE ], skjæringstidspunkt: '2020-01-01', }, @@ -93,7 +94,7 @@ const data = [ const dataReadOnly = [ { - skjermlenkeType: 'FORMKRAV_KLAGE_NFP', + skjermlenkeType: 'FAKTA_OM_VERGE', totrinnskontrollAksjonspunkter: [ { aksjonspunktKode: '5082', @@ -101,16 +102,7 @@ const dataReadOnly = [ beregningDtoer: [], besluttersBegrunnelse: 'asdfa', totrinnskontrollGodkjent: false, - vurderPaNyttArsaker: [ - { - kode: 'FEIL_REGEL', - kodeverk: '', - }, - { - kode: 'FEIL_FAKTA', - kodeverk: '', - }, - ], + vurderPaNyttArsaker: ['FEIL_REGEL', 'FEIL_FAKTA'], uttakPerioder: [], arbeidsforholdDtos: [], }, @@ -129,14 +121,8 @@ const location = { const behandling = { id: 1, versjon: 2, - status: { - kode: behandlingStatus.FATTER_VEDTAK, - kodeverk: '', - }, - type: { - kode: behandlingType.FØRSTEGANGSSØKNAD, - kodeverk: 'BEHANDLING_TYPE', - }, + status: behandlingStatus.FATTER_VEDTAK, + type: behandlingType.FØRSTEGANGSSØKNAD, behandlingÅrsaker: [], toTrinnsBehandling: true, } as Behandling; @@ -147,31 +133,37 @@ export default { }; export const visTotrinnskontrollForBeslutter = props => ( -
- location} - {...props} - /> -
+
+ location} + {...props} + /> +
+ ); visTotrinnskontrollForBeslutter.args = { @@ -179,35 +171,38 @@ visTotrinnskontrollForBeslutter.args = { }; export const visTotrinnskontrollForSaksbehandler = () => ( -
- location} - /> -
+ > + location} + /> + + ); diff --git a/packages/sak-totrinnskontroll/src/TotrinnskontrollSakIndex.tsx b/packages/sak-totrinnskontroll/src/TotrinnskontrollSakIndex.tsx index 3a59b57ae0..1f7b8ffd3e 100644 --- a/packages/sak-totrinnskontroll/src/TotrinnskontrollSakIndex.tsx +++ b/packages/sak-totrinnskontroll/src/TotrinnskontrollSakIndex.tsx @@ -2,19 +2,16 @@ import React, { useCallback, useMemo } from 'react'; import { createIntl, createIntlCache, RawIntlProvider } from 'react-intl'; import { Location } from 'history'; -import kodeverkTyper from '@fpsak-frontend/kodeverk/src/kodeverkTyper'; import BehandlingStatus from '@fpsak-frontend/kodeverk/src/behandlingStatus'; import { skjermlenkeCodes } from '@k9-sak-web/konstanter'; import BehandlingType from '@fpsak-frontend/kodeverk/src/behandlingType'; import vurderPaNyttArsakType from '@fpsak-frontend/kodeverk/src/vurderPaNyttArsakType'; import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import aksjonspunktCodesTilbakekreving from '@fpsak-frontend/kodeverk/src/aksjonspunktCodesTilbakekreving'; -import { - BehandlingAppKontekst, - KodeverkMedNavn, - KlageVurdering, - TotrinnskontrollSkjermlenkeContext, -} from '@k9-sak-web/types'; +import { BehandlingAppKontekst, KlageVurdering, TotrinnskontrollSkjermlenkeContext } from '@k9-sak-web/types'; +import { useKodeverkContext } from '@k9-sak-web/gui/kodeverk/index.js'; +import { KodeverkType } from '@k9-sak-web/lib/kodeverk/types/KodeverkType.js'; +import { KodeverkObject, KodeverkV2 } from '@k9-sak-web/lib/kodeverk/types/KodeverkV2.js'; import TotrinnskontrollBeslutterForm, { FormValues } from './components/TotrinnskontrollBeslutterForm'; import { AksjonspunktGodkjenningData } from './components/AksjonspunktGodkjenningFieldArray'; @@ -60,7 +57,6 @@ interface OwnProps { totrinnskontrollSkjermlenkeContext: TotrinnskontrollSkjermlenkeContext[]; location: Location; behandlingKlageVurdering?: KlageVurdering; - alleKodeverk: { [key: string]: KodeverkMedNavn[] }; readOnly: boolean; onSubmit: (...args: any[]) => any; createLocationForSkjermlenke: (behandlingLocation: Location, skjermlenkeCode: string) => Location; @@ -73,12 +69,11 @@ const TotrinnskontrollSakIndex = ({ readOnly, onSubmit, behandlingKlageVurdering, - alleKodeverk, createLocationForSkjermlenke, }: OwnProps) => { + const { hentKodeverkForKode } = useKodeverkContext(); const erTilbakekreving = - BehandlingType.TILBAKEKREVING === behandling.type.kode || - BehandlingType.TILBAKEKREVING_REVURDERING === behandling.type.kode; + BehandlingType.TILBAKEKREVING === behandling.type || BehandlingType.TILBAKEKREVING_REVURDERING === behandling.type; const submitHandler = useCallback( (values: FormValues) => { @@ -120,10 +115,10 @@ const TotrinnskontrollSakIndex = ({ [location], ); - const erStatusFatterVedtak = behandling.status.kode === BehandlingStatus.FATTER_VEDTAK; - const skjermlenkeTyper = alleKodeverk[kodeverkTyper.SKJERMLENKE_TYPE]; - const arbeidsforholdHandlingTyper = alleKodeverk[kodeverkTyper.ARBEIDSFORHOLD_HANDLING_TYPE]; - const vurderArsaker = alleKodeverk[kodeverkTyper.VURDER_AARSAK]; + const erStatusFatterVedtak = behandling.status === BehandlingStatus.FATTER_VEDTAK; + const skjermlenkeTyper = hentKodeverkForKode(KodeverkType.SKJERMLENKE_TYPE); + const arbeidsforholdHandlingTyper = hentKodeverkForKode(KodeverkType.ARBEIDSFORHOLD_HANDLING_TYPE); + const vurderArsaker = hentKodeverkForKode(KodeverkType.VURDER_AARSAK); return ( @@ -136,8 +131,8 @@ const TotrinnskontrollSakIndex = ({ readOnly={readOnly} onSubmit={submitHandler} behandlingKlageVurdering={behandlingKlageVurdering} - arbeidsforholdHandlingTyper={arbeidsforholdHandlingTyper} - skjermlenkeTyper={skjermlenkeTyper} + arbeidsforholdHandlingTyper={arbeidsforholdHandlingTyper as KodeverkV2[]} + skjermlenkeTyper={skjermlenkeTyper as KodeverkV2[]} erTilbakekreving={erTilbakekreving} lagLenke={lagLenke} /> @@ -148,10 +143,10 @@ const TotrinnskontrollSakIndex = ({ behandlingKlageVurdering={behandlingKlageVurdering} behandlingStatus={behandling.status} erTilbakekreving={erTilbakekreving} - arbeidsforholdHandlingTyper={arbeidsforholdHandlingTyper} - skjermlenkeTyper={skjermlenkeTyper} + arbeidsforholdHandlingTyper={arbeidsforholdHandlingTyper as KodeverkObject[]} + skjermlenkeTyper={skjermlenkeTyper as KodeverkObject[]} lagLenke={lagLenke} - vurderArsaker={vurderArsaker} + vurderArsaker={vurderArsaker as KodeverkObject[]} /> )} diff --git a/packages/sak-totrinnskontroll/src/components/AksjonspunktGodkjenningFieldArray.tsx b/packages/sak-totrinnskontroll/src/components/AksjonspunktGodkjenningFieldArray.tsx index d97273a7fc..dc36360e6e 100644 --- a/packages/sak-totrinnskontroll/src/components/AksjonspunktGodkjenningFieldArray.tsx +++ b/packages/sak-totrinnskontroll/src/components/AksjonspunktGodkjenningFieldArray.tsx @@ -2,7 +2,7 @@ import { CheckboxField, NavFieldGroup, RadioGroupField, TextAreaField } from '@f import aksjonspunktCodes from '@fpsak-frontend/kodeverk/src/aksjonspunktCodes'; import { ArrowBox, FlexColumn, FlexContainer, FlexRow } from '@fpsak-frontend/shared-components'; import { hasValidText, maxLength, minLength, required } from '@fpsak-frontend/utils'; -import { KlageVurdering, Kodeverk, KodeverkMedNavn, TotrinnskontrollSkjermlenkeContext } from '@k9-sak-web/types'; +import { KlageVurdering, TotrinnskontrollSkjermlenkeContext } from '@k9-sak-web/types'; import { BodyShort, Detail } from '@navikt/ds-react'; import * as Sentry from '@sentry/browser'; import { Location } from 'history'; @@ -10,6 +10,7 @@ import React from 'react'; import { FormattedMessage } from 'react-intl'; import { NavLink } from 'react-router-dom'; import { FieldArrayFieldsProps } from 'redux-form'; +import { KodeverkObject } from '@k9-sak-web/lib/kodeverk/types.js'; import getAksjonspunkttekst from './aksjonspunktTekster/aksjonspunktTekstUtleder'; @@ -36,10 +37,10 @@ interface OwnProps { klageKA?: boolean; erForeldrepengerFagsak: boolean; klagebehandlingVurdering?: KlageVurdering; - behandlingStatus: Kodeverk; - arbeidsforholdHandlingTyper: KodeverkMedNavn[]; + behandlingStatus: string; + arbeidsforholdHandlingTyper: KodeverkObject[]; erTilbakekreving: boolean; - skjermlenkeTyper: KodeverkMedNavn[]; + skjermlenkeTyper: KodeverkObject[]; lagLenke: (skjermlenkeCode: string) => Location; } diff --git a/packages/sak-totrinnskontroll/src/components/TotrinnskontrollBeslutterForm.spec.tsx b/packages/sak-totrinnskontroll/src/components/TotrinnskontrollBeslutterForm.spec.tsx index 4bca42d70e..3b62043516 100644 --- a/packages/sak-totrinnskontroll/src/components/TotrinnskontrollBeslutterForm.spec.tsx +++ b/packages/sak-totrinnskontroll/src/components/TotrinnskontrollBeslutterForm.spec.tsx @@ -3,6 +3,7 @@ import { reduxFormPropsMock } from '@fpsak-frontend/utils-test/redux-form-test-h import { Behandling, TotrinnskontrollSkjermlenkeContext } from '@k9-sak-web/types'; import { screen } from '@testing-library/react'; import React from 'react'; +import { behandlingType } from '@k9-sak-web/backend/k9sak/kodeverk/behandling/BehandlingType.js'; import messages from '../../i18n/nb_NO.json'; import { TotrinnskontrollBeslutterForm } from './TotrinnskontrollBeslutterForm'; @@ -19,27 +20,21 @@ describe('', () => { id: 1234, uuid: 'uuid-1234', versjon: 123, - type: { - kode: 'BT-002', - kodeverk: 'BEHANDLING_TYPE', - }, + type: behandlingType.FØRSTEGANGSSØKNAD, opprettet: '‎29.08.‎2017‎ ‎09‎:‎54‎:‎22', - status: { - kode: 'FVED', - kodeverk: '', - }, + status: 'FVED', behandlingHenlagt: false, behandlingPaaVent: false, gjeldendeVedtak: false, links: [], toTrinnsBehandling: true, - sprakkode: { kode: 'NO', kodeverk: 'SPRAAK_KODE' }, + sprakkode: 'NO', // SPRAAK_KODE behandlendeEnhetId: 'XX', behandlendeEnhetNavn: 'YYY', behandlingKoet: false, behandlingÅrsaker: [ { - behandlingArsakType: { kode: '-', kodeverk: '' }, + behandlingArsakType: '-', manueltOpprettet: true, erAutomatiskRevurdering: false, }, diff --git a/packages/sak-totrinnskontroll/src/components/TotrinnskontrollBeslutterForm.tsx b/packages/sak-totrinnskontroll/src/components/TotrinnskontrollBeslutterForm.tsx index 8b93630ff9..964d9086a4 100644 --- a/packages/sak-totrinnskontroll/src/components/TotrinnskontrollBeslutterForm.tsx +++ b/packages/sak-totrinnskontroll/src/components/TotrinnskontrollBeslutterForm.tsx @@ -5,8 +5,6 @@ import { ariaCheck, decodeHtmlEntity, isRequiredMessage } from '@fpsak-frontend/ import { Behandling, KlageVurdering, - Kodeverk, - KodeverkMedNavn, TotrinnskontrollAksjonspunkt, TotrinnskontrollSkjermlenkeContext, } from '@k9-sak-web/types'; @@ -17,6 +15,7 @@ import { FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; import { FieldArray, InjectedFormProps } from 'redux-form'; import { createSelector } from 'reselect'; +import { KodeverkV2, KodeverkObject } from '@k9-sak-web/lib/kodeverk/types.js'; import AksjonspunktGodkjenningFieldArray, { AksjonspunktGodkjenningData } from './AksjonspunktGodkjenningFieldArray'; import styles from './totrinnskontrollBeslutterForm.module.css'; @@ -32,8 +31,8 @@ interface PureOwnProps { behandlingKlageVurdering?: KlageVurdering; readOnly: boolean; erTilbakekreving: boolean; - arbeidsforholdHandlingTyper: KodeverkMedNavn[]; - skjermlenkeTyper: KodeverkMedNavn[]; + arbeidsforholdHandlingTyper: KodeverkV2[]; + skjermlenkeTyper: KodeverkV2[]; lagLenke: (skjermlenkeCode: string) => Location; } @@ -79,11 +78,11 @@ export const TotrinnskontrollBeslutterForm = ({ klagebehandlingVurdering={behandlingKlageVurdering} behandlingStatus={behandling.status} erTilbakekreving={erTilbakekreving} - arbeidsforholdHandlingTyper={arbeidsforholdHandlingTyper} + arbeidsforholdHandlingTyper={arbeidsforholdHandlingTyper as KodeverkObject[]} readOnly={readOnly} klageKA={!!behandlingKlageVurdering?.klageVurderingResultatNK} totrinnskontrollSkjermlenkeContext={totrinnskontrollSkjermlenkeContext} - skjermlenkeTyper={skjermlenkeTyper} + skjermlenkeTyper={skjermlenkeTyper as KodeverkObject[]} lagLenke={lagLenke} />
@@ -140,18 +139,18 @@ const validate = (values: FormValues) => { }; }; -const finnArsaker = (vurderPaNyttArsaker: Kodeverk[]) => +const finnArsaker = (vurderPaNyttArsaker: string[]) => vurderPaNyttArsaker.reduce((acc, arsak) => { - if (arsak.kode === vurderPaNyttArsakType.FEIL_FAKTA) { + if (arsak === vurderPaNyttArsakType.FEIL_FAKTA) { return { ...acc, feilFakta: true }; } - if (arsak.kode === vurderPaNyttArsakType.FEIL_LOV) { + if (arsak === vurderPaNyttArsakType.FEIL_LOV) { return { ...acc, feilLov: true }; } - if (arsak.kode === vurderPaNyttArsakType.FEIL_REGEL) { + if (arsak === vurderPaNyttArsakType.FEIL_REGEL) { return { ...acc, feilRegel: true }; } - if (arsak.kode === vurderPaNyttArsakType.ANNET) { + if (arsak === vurderPaNyttArsakType.ANNET) { return { ...acc, annet: true }; } return {}; diff --git a/packages/sak-totrinnskontroll/src/components/TotrinnskontrollSaksbehandlerPanel.spec.tsx b/packages/sak-totrinnskontroll/src/components/TotrinnskontrollSaksbehandlerPanel.spec.tsx index 1afe62131c..bbda470584 100644 --- a/packages/sak-totrinnskontroll/src/components/TotrinnskontrollSaksbehandlerPanel.spec.tsx +++ b/packages/sak-totrinnskontroll/src/components/TotrinnskontrollSaksbehandlerPanel.spec.tsx @@ -100,10 +100,7 @@ describe('', () => { {aksjonspunkt.vurderPaNyttArsaker.map(item => ( -
+
- {vurderArsaker.find(arsak => item.kode === arsak.kode).navn} + {vurderArsaker.find(arsak => item === arsak.kode).navn}
))}
diff --git a/packages/sak-totrinnskontroll/src/components/aksjonspunktTekster/aksjonspunktTekstUtleder.spec.tsx b/packages/sak-totrinnskontroll/src/components/aksjonspunktTekster/aksjonspunktTekstUtleder.spec.tsx index 0de62d4207..6b4f1d0be5 100644 --- a/packages/sak-totrinnskontroll/src/components/aksjonspunktTekster/aksjonspunktTekstUtleder.spec.tsx +++ b/packages/sak-totrinnskontroll/src/components/aksjonspunktTekster/aksjonspunktTekstUtleder.spec.tsx @@ -18,7 +18,7 @@ const medholdIKlage = { }; const oppheveYtelsesVedtak = { klageVurdering: klageVurderingCodes.OPPHEVE_YTELSESVEDTAK }; const avvistKlage = { klageVurdering: klageVurderingCodes.AVVIS_KLAGE }; -const behandlingStatusFVED = { kode: behandlingStatusCodes.FATTER_VEDTAK, kodeverk: '' }; +const behandlingStatusFVED = behandlingStatusCodes.FATTER_VEDTAK; const stadfesteKlage = { klageVurdering: klageVurderingCodes.STADFESTE_YTELSESVEDTAK }; const arbeidsforholdHandlingTyper = [ @@ -180,7 +180,7 @@ describe('aksjonspunktTekstUtleder', () => { }); it('skal vise korrekt tekst for aksjonspunkt 5080 når søker er i permisjon, skal kun vise tekst om permisjon', () => { const arbeidforholdDto = { - arbeidsforholdHandlingType: { kode: arbeidsforholdHandlingType.BRUK }, + arbeidsforholdHandlingType: arbeidsforholdHandlingType.BRUK, brukPermisjon: true, } as TotrinnskontrollArbeidsforhold; const messages = getFaktaOmArbeidsforholdMessages(arbeidforholdDto, arbeidsforholdHandlingTyper); @@ -189,7 +189,7 @@ describe('aksjonspunktTekstUtleder', () => { }); it('skal vise korrekt tekst for aksjonspunkt 5080 når søker ikke er i permisjon, skal ikke vise tekst for bruk', () => { const arbeidforholdDto = { - arbeidsforholdHandlingType: { kode: arbeidsforholdHandlingType.BRUK }, + arbeidsforholdHandlingType: arbeidsforholdHandlingType.BRUK, brukPermisjon: false, } as TotrinnskontrollArbeidsforhold; const messages = getFaktaOmArbeidsforholdMessages(arbeidforholdDto, arbeidsforholdHandlingTyper); @@ -198,7 +198,7 @@ describe('aksjonspunktTekstUtleder', () => { }); it('skal vise korrekt tekst for aksjonspunkt 5080 når søker ikke er i permisjon sammen med en annen handling som ikke er bruk', () => { const arbeidforholdDto = { - arbeidsforholdHandlingType: { kode: arbeidsforholdHandlingType.BRUK_UTEN_INNTEKTSMELDING }, + arbeidsforholdHandlingType: arbeidsforholdHandlingType.BRUK_UTEN_INNTEKTSMELDING, brukPermisjon: false, } as TotrinnskontrollArbeidsforhold; const messages = getFaktaOmArbeidsforholdMessages(arbeidforholdDto, arbeidsforholdHandlingTyper); @@ -321,8 +321,9 @@ describe('aksjonspunktTekstUtleder', () => { it('skal vise korrekt tekst for aksjonspunkt 5058 vurder tidsbegrenset', () => { const beregningDto = { - faktaOmBeregningTilfeller: [{ kode: faktaOmBeregningTilfelle.VURDER_TIDSBEGRENSET_ARBEIDSFORHOLD }], + faktaOmBeregningTilfeller: [faktaOmBeregningTilfelle.VURDER_TIDSBEGRENSET_ARBEIDSFORHOLD], skjæringstidspunkt: '2022-01-01', + fastsattVarigEndringNaering: false, }; const aksjonspunkt = { aksjonspunktKode: aksjonspunktCodes.VURDER_FAKTA_FOR_ATFL_SN, @@ -348,8 +349,9 @@ describe('aksjonspunktTekstUtleder', () => { }); it('skal vise korrekt tekst for aksjonspunkt 5058 ATFL i samme org', () => { const beregningDto = { - faktaOmBeregningTilfeller: [{ kode: faktaOmBeregningTilfelle.VURDER_AT_OG_FL_I_SAMME_ORGANISASJON }], + faktaOmBeregningTilfeller: [faktaOmBeregningTilfelle.VURDER_AT_OG_FL_I_SAMME_ORGANISASJON], skjæringstidspunkt: '2022-01-01', + fastsattVarigEndringNaering: false, }; const aksjonspunkt = { aksjonspunktKode: aksjonspunktCodes.VURDER_FAKTA_FOR_ATFL_SN, @@ -375,7 +377,7 @@ describe('aksjonspunktTekstUtleder', () => { }); it('skal vise korrekte tekster for kombinasjon av aksjonspunkt 5058', () => { const beregningDto = { - faktaOmBeregningTilfeller: [{ kode: faktaOmBeregningTilfelle.VURDER_TIDSBEGRENSET_ARBEIDSFORHOLD }], + faktaOmBeregningTilfeller: [faktaOmBeregningTilfelle.VURDER_TIDSBEGRENSET_ARBEIDSFORHOLD], skjæringstidspunkt: '2022-01-01', }; const aksjonspunkt = { @@ -409,19 +411,13 @@ describe('aksjonspunktTekstUtleder', () => { navn: 'COLOR LINE CREW AS', organisasjonsnummer: '973135678', arbeidsforholdId: 'e3602f7b-bf36-40d4-8e3a-22333daf664b', - arbeidsforholdHandlingType: { - kode: 'BRUK_UTEN_INNTEKTSMELDING', - kodeverk: 'ARBEIDSFORHOLD_HANDLING_TYPE', - }, + arbeidsforholdHandlingType: 'BRUK_UTEN_INNTEKTSMELDING', }, { navn: 'SESAM AS', organisasjonsnummer: '976037286', arbeidsforholdId: null, - arbeidsforholdHandlingType: { - kode: 'IKKE_BRUK', - kodeverk: 'ARBEIDSFORHOLD_HANDLING_TYPE', - }, + arbeidsforholdHandlingType: 'IKKE_BRUK', }, ]; diff --git a/packages/sak-totrinnskontroll/src/components/aksjonspunktTekster/aksjonspunktTekstUtleder.tsx b/packages/sak-totrinnskontroll/src/components/aksjonspunktTekster/aksjonspunktTekstUtleder.tsx index 274b9442ad..24a078b530 100644 --- a/packages/sak-totrinnskontroll/src/components/aksjonspunktTekster/aksjonspunktTekstUtleder.tsx +++ b/packages/sak-totrinnskontroll/src/components/aksjonspunktTekster/aksjonspunktTekstUtleder.tsx @@ -10,7 +10,6 @@ import klageVurderingOmgjoerCodes from '@fpsak-frontend/kodeverk/src/klageVurder import { VerticalSpacer } from '@fpsak-frontend/shared-components'; import { KlageVurdering, - Kodeverk, KodeverkMedNavn, TotrinnsBeregningDto, TotrinnskontrollAksjonspunkt, @@ -65,7 +64,6 @@ export const getFaktaOmArbeidsforholdMessages = ( arbeidsforholdHandlingTyper: KodeverkMedNavn[], ) => { const formattedMessages = []; - const { kode } = arbeidforholdDto.arbeidsforholdHandlingType; if (arbeidforholdDto.brukPermisjon === true) { formattedMessages.push( , ); - if (kode === arbeidsforholdHandlingType.BRUK) { + if (arbeidforholdDto.arbeidsforholdHandlingType === arbeidsforholdHandlingType.BRUK) { return formattedMessages; } } - const type = arbeidsforholdHandlingTyper.find(t => t.kode === kode); + const type = arbeidsforholdHandlingTyper.find(t => t.kode === arbeidforholdDto.arbeidsforholdHandlingType); const melding = type !== undefined && type !== null ? type.navn : ''; formattedMessages.push( { - const aksjonspunktTextIds = bg.faktaOmBeregningTilfeller.map(({ kode }) => vurderFaktaOmBeregningTotrinnText[kode]); + const aksjonspunktTextIds = bg.faktaOmBeregningTilfeller.map(kode => vurderFaktaOmBeregningTotrinnText[kode]); return ( <>