From 870c7399a4c572af02f00ebe34e2cd2b361bdd4b Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Thu, 16 Jan 2025 11:25:44 +0100
Subject: [PATCH 01/31] Utvide Arbeidsgiver med ansattPerioder
---
.../api/__tests__/fetchInitialData.test.ts | 100 ++++++++++++++----
.../api/endpoints/arbeidsgivereEndpoint.ts | 24 +----
.../ArbeidsaktivitetBlockHeader.tsx | 13 ---
.../src/app/i18n/appMessages.ts | 2 -
.../src/app/types/Arbeidsgiver.ts | 5 +-
.../utils/__tests__/getSakFromK9Sak.test.ts | 41 ++++---
.../src/app/utils/getSakFromK9Sak.ts | 40 +++++--
.../utils/getSakOgArbeidsgivereDebugInfo.ts | 3 +-
.../src/app/utils/initialDataUtils.ts | 30 +++++-
.../getDataBruktTilUtledning.test.ts" | 4 +-
.../app/utils/ukjentArbeidsforholdUtils.ts | 20 ++--
.../arbeidsgiver-mock.ts | 6 ++
.../src/storybook/data/arbeidsgivereMock.ts | 4 +-
.../src/storybook/data/sakMock.ts | 8 +-
14 files changed, 204 insertions(+), 96 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts b/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
index 95474f10c9..ebf62f0695 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
@@ -1,25 +1,85 @@
-import { ISODateRangeToDateRange, dateToISODate } from '@navikt/sif-common-utils';
-import { getPeriodeForArbeidsgiverOppslag } from '../../utils/initialDataUtils';
+import { ISODateRangeToDateRange, ISODateToDate, dateToISODate } from '@navikt/sif-common-utils';
+import {
+ getArbeidsgivereFromArbeidsgiverOrganisasjoner,
+ getPeriodeForArbeidsgiverOppslag,
+} from '../../utils/initialDataUtils';
+import { Arbeidsgivere } from '@navikt/sif-common-api';
+import { Arbeidsgiver } from '../../types';
-describe('getPeriodeForArbeidsgiverOppslag', () => {
- const endringsperiode = ISODateRangeToDateRange('2022-05-01/2022-10-01');
+describe('initialDataUtils', () => {
+ describe('getPeriodeForArbeidsgiverOppslag', () => {
+ const endringsperiode = ISODateRangeToDateRange('2022-05-01/2022-10-01');
- it('returnerer minste dateRange ut fra maks endringsperiode og samletSøknadsperiode', () => {
- const samletSøknadsperiode = ISODateRangeToDateRange('2022-06-01/2022-09-01');
- const result = getPeriodeForArbeidsgiverOppslag(samletSøknadsperiode, endringsperiode);
- expect(result).toBeDefined();
- if (result) {
- expect(dateToISODate(result.from)).toEqual('2022-06-01');
- expect(dateToISODate(result.to)).toEqual('2022-09-01');
- }
+ it('returnerer minste dateRange ut fra maks endringsperiode og samletSøknadsperiode', () => {
+ const samletSøknadsperiode = ISODateRangeToDateRange('2022-06-01/2022-09-01');
+ const result = getPeriodeForArbeidsgiverOppslag(samletSøknadsperiode, endringsperiode);
+ expect(result).toBeDefined();
+ if (result) {
+ expect(dateToISODate(result.from)).toEqual('2022-06-01');
+ expect(dateToISODate(result.to)).toEqual('2022-09-01');
+ }
+ });
+ it('returnerer endringsperiode hvis samletSøknadsperiode går utover endringsperiode', () => {
+ const samletSøknadsperiode = ISODateRangeToDateRange('2021-01-01/2023-01-01');
+ const result = getPeriodeForArbeidsgiverOppslag(samletSøknadsperiode, endringsperiode);
+ expect(result).toBeDefined();
+ if (result) {
+ expect(dateToISODate(result.from)).toEqual('2022-05-01');
+ expect(dateToISODate(result.to)).toEqual('2022-10-01');
+ }
+ });
});
- it('returnerer endringsperiode hvis samletSøknadsperiode går utover endringsperiode', () => {
- const samletSøknadsperiode = ISODateRangeToDateRange('2021-01-01/2023-01-01');
- const result = getPeriodeForArbeidsgiverOppslag(samletSøknadsperiode, endringsperiode);
- expect(result).toBeDefined();
- if (result) {
- expect(dateToISODate(result.from)).toEqual('2022-05-01');
- expect(dateToISODate(result.to)).toEqual('2022-10-01');
- }
+
+ describe('getArbeidsgivereFromArbeidsgiverOrganisasjoner', () => {
+ it('oppretter ansettelsesperiode riktig når bruker har ett ansettelsesforhold hos én arbeidsgiver', () => {
+ const respons: Arbeidsgivere = {
+ organisasjoner: [
+ {
+ navn: 'a',
+ organisasjonsnummer: '123',
+ ansattFom: ISODateToDate('2022-01-01'),
+ ansattTom: ISODateToDate('2022-02-01'),
+ },
+ ],
+ };
+ const expectedResult: Arbeidsgiver[] = [
+ {
+ key: 'a_123',
+ navn: 'a',
+ organisasjonsnummer: '123',
+ ansettelsesperioder: [{ from: ISODateToDate('2022-01-01'), to: ISODateToDate('2022-02-01') }],
+ },
+ ];
+ expect(getArbeidsgivereFromArbeidsgiverOrganisasjoner(respons.organisasjoner)).toEqual(expectedResult);
+ });
+ it('oppretter ansettelsesperioder riktig når bruker har to ansettelsesforhold hos samme arbeidsgiver', () => {
+ const respons: Arbeidsgivere = {
+ organisasjoner: [
+ {
+ navn: 'a',
+ organisasjonsnummer: '123',
+ ansattFom: ISODateToDate('2022-01-01'),
+ ansattTom: ISODateToDate('2022-02-01'),
+ },
+ {
+ navn: 'a',
+ organisasjonsnummer: '123',
+ ansattFom: ISODateToDate('2022-02-15'),
+ },
+ ],
+ };
+ const expectedResult: Arbeidsgiver[] = [
+ {
+ key: 'a_123',
+ navn: 'a',
+ organisasjonsnummer: '123',
+ ansettelsesperioder: [
+ { from: ISODateToDate('2022-01-01'), to: ISODateToDate('2022-02-01') },
+ { from: ISODateToDate('2022-02-15') },
+ ],
+ },
+ ];
+ expect(getArbeidsgivereFromArbeidsgiverOrganisasjoner(respons.organisasjoner)).toEqual(expectedResult);
+ });
});
});
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
index 2833c6dc48..3007777318 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
@@ -1,16 +1,12 @@
-import { DateRange, dateToISODate, ISODate, ISODateToDate } from '@navikt/sif-common-utils';
+import { ArbeidsgiverOrganisasjon } from '@navikt/sif-common-api';
+import { DateRange, dateToISODate } from '@navikt/sif-common-utils';
import { Arbeidsgiver } from '@types';
+import { getArbeidsgivereFromArbeidsgiverOrganisasjoner } from '../../utils/initialDataUtils';
import api from '../api';
import { ApiEndpointPsb } from './';
-import { getArbeidsgiverKey } from '../../utils/arbeidsgiverUtils';
type AAregArbeidsgiver = {
- organisasjoner?: Array<{
- organisasjonsnummer: string;
- navn: string;
- ansattFom?: ISODate;
- ansattTom?: ISODate;
- }>;
+ organisasjoner?: ArbeidsgiverOrganisasjon[];
};
export const arbeidsgivereEndpoint = {
@@ -21,17 +17,7 @@ export const arbeidsgivereEndpoint = {
ApiEndpointPsb.arbeidsgiver,
`ytelse=endringsmelding-pleiepenger&fra_og_med=${dateToISODate(from)}&til_og_med=${dateToISODate(to)}`,
);
- const aaArbeidsgivere: Arbeidsgiver[] = [];
- (data.organisasjoner || []).forEach((a) => {
- aaArbeidsgivere.push({
- key: getArbeidsgiverKey(a.organisasjonsnummer),
- organisasjonsnummer: a.organisasjonsnummer,
- navn: a.navn,
- ansattFom: a.ansattFom ? ISODateToDate(a.ansattFom) : undefined,
- ansattTom: a.ansattTom ? ISODateToDate(a.ansattTom) : undefined,
- });
- });
- return Promise.resolve(aaArbeidsgivere);
+ return Promise.resolve(getArbeidsgivereFromArbeidsgiverOrganisasjoner(data.organisasjoner || []));
} catch (error) {
return Promise.reject(error);
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
index f1acdf6ead..23877cdc62 100644
--- a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
@@ -2,7 +2,6 @@ import { BodyLong, Heading } from '@navikt/ds-react';
import React from 'react';
import { Office1 } from '@navikt/ds-icons';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { dateFormatter } from '@navikt/sif-common-utils';
import { ArbeidsaktivitetType, Arbeidsgiver } from '@types';
import { AppText } from '../../i18n';
import EndretTag from '../tags/EndretTag';
@@ -44,18 +43,6 @@ const ArbeidsaktivitetBlockHeader: React.FunctionComponent = ({
values={{ orgnr: arbeidsgiver.organisasjonsnummer }}
/>
- {arbeidsgiver.ansattFom && (
-
- )}
- {arbeidsgiver.ansattTom && (
-
- )}
) : undefined}
{(endret || erUkjentAktivitet) && (
diff --git a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
index cec102af43..ede4dd0293 100644
--- a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
@@ -29,8 +29,6 @@ const nb = {
'arbeidsaktivitetBlockHeader.nyttArbeidsforhold': 'Nytt arbeidsforhold',
'arbeidsaktivitetBlockHeader.arbeidsgiver.orgnummer': 'Organisasjonsnummer: {orgnr}',
- 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattFom': 'Ansatt: {dato}.',
- 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattTom': ' Sluttdato: {dato}.',
'ikkeAnsattMelding.tekst':
'Er du feilregistrert eller du har sluttet i dette arbeidsforholdet før perioden du søkte pleiepenger, må du be arbeidsgiveren om å sende en ny A-melding med sluttdato. Dette gjør de enten via eget lønns- og personalsystem, eller via Altinn.',
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Arbeidsgiver.ts b/apps/endringsmelding-pleiepenger/src/app/types/Arbeidsgiver.ts
index 9eb45da42f..6ecbfcd2e1 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Arbeidsgiver.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/Arbeidsgiver.ts
@@ -1,7 +1,8 @@
+import { MaybeDateRange } from '@navikt/sif-common-utils';
+
export interface Arbeidsgiver {
key: string /** orgnummer prefixet med a_ */;
organisasjonsnummer: string;
navn: string;
- ansattFom?: Date;
- ansattTom?: Date;
+ ansettelsesperioder: MaybeDateRange[];
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
index 148b9a39c1..aca240e691 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
@@ -38,14 +38,14 @@ describe('getSakFromK9Sak', () => {
const endringsperiode: DateRange = { from: ISODateToDate(isoFrom), to: ISODateToDate(isoTo) };
it('beholder uendret endringsperiode hvis bruker er fortsatt ansatt', () => {
const result = getEndringsperiodeForArbeidsgiver(endringsperiode, {
- ansattTom: undefined,
+ ansettelsesperioder: [{ to: undefined }],
} as Arbeidsgiver);
expect(dateToISODate(result.from)).toEqual(isoFrom);
expect(dateToISODate(result.to)).toEqual(isoTo);
});
it('justerer endringsperiode hvis sluttdato er før endringsperiode sluttdato', () => {
const result = getEndringsperiodeForArbeidsgiver(endringsperiode, {
- ansattTom: ISODateToDate(isoSluttdato),
+ ansettelsesperioder: [{ to: ISODateToDate(isoSluttdato) }],
} as Arbeidsgiver);
expect(dateToISODate(result.from)).toEqual(isoFrom);
expect(dateToISODate(result.to)).toEqual(isoSluttdato);
@@ -291,7 +291,7 @@ describe('getSakFromK9Sak', () => {
ISODateRangeToDateRange('2020-04-01/2020-05-01'),
];
const arbeidsgiver: Arbeidsgiver = {
- ansattFom: ISODateToDate('2019-01-01'),
+ ansettelsesperioder: [{ from: ISODateToDate('2019-01-01') }],
} as Arbeidsgiver;
describe('uten ansattTom', () => {
@@ -301,7 +301,9 @@ describe('getSakFromK9Sak', () => {
it('returnerer true når ansattFom er mellom to søknadsperiode', () => {
expect(
erArbeidsgiverInnenforSøknadsperioder(
- { ansattFom: ISODateToDate('2020-02-03') } as Arbeidsgiver,
+ {
+ ansettelsesperioder: [{ from: ISODateToDate('2020-02-03') }],
+ } as Arbeidsgiver,
søknadsperioder,
),
).toBeTruthy();
@@ -309,7 +311,9 @@ describe('getSakFromK9Sak', () => {
it('returnerer true når ansattFom er i en søknadsperiode', () => {
expect(
erArbeidsgiverInnenforSøknadsperioder(
- { ansattFom: ISODateToDate('2020-03-02') } as Arbeidsgiver,
+ {
+ ansettelsesperioder: [{ from: ISODateToDate('2020-03-02') }],
+ } as Arbeidsgiver,
søknadsperioder,
),
).toBeTruthy();
@@ -317,7 +321,9 @@ describe('getSakFromK9Sak', () => {
it('returnerer false når ansattFom er etter søknadsperiode', () => {
expect(
erArbeidsgiverInnenforSøknadsperioder(
- { ansattFom: ISODateToDate('2020-05-02') } as Arbeidsgiver,
+ {
+ ansettelsesperioder: [{ from: ISODateToDate('2020-05-02') }],
+ } as Arbeidsgiver,
søknadsperioder,
),
).toBeFalsy();
@@ -328,8 +334,9 @@ describe('getSakFromK9Sak', () => {
expect(
erArbeidsgiverInnenforSøknadsperioder(
{
- ansattFom: ISODateToDate('2019-01-01'),
- ansattTom: ISODateToDate('2023-01-01'),
+ ansettelsesperioder: [
+ { from: ISODateToDate('2019-01-01'), to: ISODateToDate('2023-01-01') },
+ ],
} as Arbeidsgiver,
søknadsperioder,
),
@@ -339,8 +346,9 @@ describe('getSakFromK9Sak', () => {
expect(
erArbeidsgiverInnenforSøknadsperioder(
{
- ansattFom: ISODateToDate('2019-01-01'),
- ansattTom: ISODateToDate('2020-03-01'),
+ ansettelsesperioder: [
+ { from: ISODateToDate('2019-01-01'), to: ISODateToDate('2020-03-01') },
+ ],
} as Arbeidsgiver,
søknadsperioder,
),
@@ -350,8 +358,12 @@ describe('getSakFromK9Sak', () => {
expect(
erArbeidsgiverInnenforSøknadsperioder(
{
- ansattFom: ISODateToDate('2019-01-01'),
- ansattTom: ISODateToDate('2019-12-31'),
+ ansettelsesperioder: [
+ {
+ from: ISODateToDate('2019-01-01'),
+ to: ISODateToDate('2019-12-31'),
+ },
+ ],
} as Arbeidsgiver,
søknadsperioder,
),
@@ -361,8 +373,9 @@ describe('getSakFromK9Sak', () => {
expect(
erArbeidsgiverInnenforSøknadsperioder(
{
- ansattFom: ISODateToDate('2020-03-01'),
- ansattTom: ISODateToDate('2020-03-02'),
+ ansettelsesperioder: [
+ { from: ISODateToDate('2020-03-01'), to: ISODateToDate('2020-03-02') },
+ ],
} as Arbeidsgiver,
søknadsperioder,
),
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index 575af27f71..f223711e29 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -14,7 +14,9 @@ import {
ISODateRangeToDateRange,
ISODateToDate,
joinAdjacentDateRanges,
+ MaybeDateRange,
numberDurationAsDuration,
+ sortMaybeDateRange,
} from '@navikt/sif-common-utils';
import {
Arbeidsaktivitet,
@@ -162,9 +164,11 @@ const getEndringsperiodeForArbeidsgiver = (
tillattEndringsperiode: DateRange,
arbeidsgiver: Arbeidsgiver,
): DateRange => {
+ const { ansettelsesperioder } = arbeidsgiver;
+ const sisteAnsattTom = ansettelsesperioder.sort(sortMaybeDateRange).reverse()[0]?.to;
return {
...tillattEndringsperiode,
- to: arbeidsgiver.ansattTom || tillattEndringsperiode.to,
+ to: sisteAnsattTom || tillattEndringsperiode.to,
};
};
@@ -395,6 +399,7 @@ const getPerioderMedArbeidstid = (
arbeidstidPeriodeMap: K9SakArbeidstidPeriodeMap,
tillattEndringsperiode: DateRange,
): PeriodeMedArbeidstid[] => {
+ /** TODO - filtrere ut perioder hvor en ikke er ansatt? */
const perioder = trimArbeidstidTilTillattEndringsperiode(arbeidstidPeriodeMap, tillattEndringsperiode);
return grupperArbeidstidPerioder(perioder).map((gruppertPeriode) => {
@@ -537,24 +542,41 @@ const getArbeidsaktivitetSelvstendigNæringsdrivende = (
};
/**
- * Sjekker om ansatt-periode hos arbeidsgiver er innenfor søknadsperioder
+ * Sjekker om en er ansatt hos arbeidsgiver innenfor søknadsperioder
* @param arbeidsgiver
* @param søknadsperioder
* @returns boolean
*/
const erArbeidsgiverInnenforSøknadsperioder = (arbeidsgiver: Arbeidsgiver, søknadsperioder: DateRange[]): boolean => {
+ const { ansettelsesperioder = [] } = arbeidsgiver;
+ return ansettelsesperioder.some((ansettelsesperiode) =>
+ erAnsattPeriodeInnenforSøknadsperioder(ansettelsesperiode, søknadsperioder),
+ );
+};
+
+/**
+ * Sjekker om ansatt-periode hos arbeidsgiver er innenfor søknadsperioder
+ * @param arbeidsgiver
+ * @param søknadsperioder
+ * @returns boolean
+ */
+const erAnsattPeriodeInnenforSøknadsperioder = (
+ ansettelsesperiode: MaybeDateRange,
+ søknadsperioder: DateRange[],
+): boolean => {
const sisteSøknadsdag = getLastDateInDateRanges(søknadsperioder);
- if (!arbeidsgiver.ansattFom || !sisteSøknadsdag) {
+
+ if (!ansettelsesperiode.from || !sisteSøknadsdag) {
return false;
}
- if (!arbeidsgiver.ansattTom) {
- return dayjs(arbeidsgiver.ansattFom).isSameOrBefore(sisteSøknadsdag);
+ if (!ansettelsesperiode.to) {
+ return dayjs(ansettelsesperiode.from).isSameOrBefore(sisteSøknadsdag);
}
- const ansattPeriode: DateRange = {
- from: arbeidsgiver.ansattFom,
- to: arbeidsgiver.ansattTom || sisteSøknadsdag,
+ const periode: DateRange = {
+ from: ansettelsesperiode.from,
+ to: ansettelsesperiode.to || sisteSøknadsdag,
};
- return søknadsperioder.some((søknadsperiode) => dateRangesCollide([søknadsperiode, ansattPeriode]));
+ return søknadsperioder.some((søknadsperiode) => dateRangesCollide([søknadsperiode, periode]));
};
/**
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
index b255e616a1..d0749dfccf 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
@@ -41,8 +41,7 @@ const maskSak = (sak: Sak) => {
const maskArbeidsgivere = (arbeidsgivere: Arbeidsgiver[]) => {
return arbeidsgivere.map((a) => ({
- ansattFom: a.ansattFom,
- ansattTom: a.ansattTom,
+ ansettelsesperioder: a.ansettelsesperioder,
a: maskString(a.key),
}));
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
index 7943fbf04f..08fbd560fa 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
@@ -1,5 +1,8 @@
-import { DateRange } from '@navikt/sif-common-utils';
+import { ArbeidsgiverOrganisasjon } from '@navikt/sif-common-api';
+import { DateRange, MaybeDateRange } from '@navikt/sif-common-utils';
import dayjs from 'dayjs';
+import { Arbeidsgiver } from '../types';
+import { getArbeidsgiverKey } from './arbeidsgiverUtils';
export const getPeriodeForArbeidsgiverOppslag = (
dateRangeAlleSaker: DateRange,
@@ -14,3 +17,28 @@ export const getPeriodeForArbeidsgiverOppslag = (
}
return dateRange;
};
+
+export const getArbeidsgivereFromArbeidsgiverOrganisasjoner = (
+ organisasjoner: ArbeidsgiverOrganisasjon[],
+): Arbeidsgiver[] => {
+ const aaArbeidsgivereMap = new Map();
+ (organisasjoner || []).forEach((a) => {
+ const ansettelsesperiode: MaybeDateRange = {
+ from: a.ansattFom ? a.ansattFom : undefined,
+ to: a.ansattTom ? a.ansattTom : undefined,
+ };
+
+ if (aaArbeidsgivereMap.has(a.organisasjonsnummer)) {
+ aaArbeidsgivereMap.get(a.organisasjonsnummer)!.ansettelsesperioder!.push(ansettelsesperiode);
+ } else {
+ aaArbeidsgivereMap.set(a.organisasjonsnummer, {
+ key: getArbeidsgiverKey(a.organisasjonsnummer),
+ organisasjonsnummer: a.organisasjonsnummer,
+ navn: a.navn,
+ ansettelsesperioder: [ansettelsesperiode],
+ });
+ }
+ });
+
+ return Array.from(aaArbeidsgivereMap.values());
+};
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
index de4e266a2d..cbebd99adf 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
@@ -36,7 +36,7 @@ describe('getUkjentArbeidsforholdApiDataFromSøknadsdata', () => {
organisasjonsnummer: '123',
key: 'a_123',
navn: 'Arbeidsgibvernavn',
- ansattFom: ISODateToDate('2001-01-01'),
+ ansettelsesperioder: [{ from: ISODateToDate('2001-01-01') }],
},
];
const arbeidstid: ArbeidstidSøknadsdata = {
@@ -62,7 +62,7 @@ describe('mapArbeidsforholdToArbeidsforholdApiData', () => {
organisasjonsnummer: '123',
key: 'a_123',
navn: 'Arbeidsgibvernavn',
- ansattFom: ISODateToDate('2001-01-01'),
+ ansettelsesperioder: [{ from: ISODateToDate('2001-01-01') }],
};
it('returnerer riktig hvis en ikke er ansatt i arbeidsforholdet', () => {
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
index 9e07727350..d25424318b 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
@@ -30,6 +30,7 @@ export const getSøknadsperioderForUkjentArbeidsforhold = (
ansattTom: Date | undefined,
): DateRange[] => {
const alleSøknadsperioder: DateRange = getDateRangeFromDateRanges(søknadsperioder);
+ /** TODO - sjekke denne opp mot flere ansattelsesperioder */
const ansettelsesperiode = {
from: ansattFom || alleSøknadsperioder.from,
to: ansattTom || alleSøknadsperioder.to,
@@ -39,15 +40,22 @@ export const getSøknadsperioderForUkjentArbeidsforhold = (
export const getPerioderMedArbeidstidForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
- { ansattFom, ansattTom }: Arbeidsgiver,
+ { ansettelsesperioder }: Arbeidsgiver,
normalarbeidstidPerUke: Duration,
faktiskArbeidstidPerUke: Duration | undefined,
): PeriodeMedArbeidstid[] => {
- const søknadsperioderForArbeidsforhold = getSøknadsperioderForUkjentArbeidsforhold(
- søknadsperioder,
- ansattFom,
- ansattTom,
- );
+ if (ansettelsesperioder.length === 0) {
+ return [];
+ }
+ /** TODO - håndtere flere ansettelsesperioder */
+ const søknadsperioderForArbeidsforhold =
+ ansettelsesperioder.length === 1
+ ? getSøknadsperioderForUkjentArbeidsforhold(
+ søknadsperioder,
+ ansettelsesperioder[0].from,
+ ansettelsesperioder[0].to,
+ )
+ : [];
const perioderMedArbeidstid: PeriodeMedArbeidstid[] = [];
const arbeidstidPerDag: ArbeidstidPerDag = {
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts
index 74e2a56eec..06302bf1db 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts
@@ -4,6 +4,12 @@ export default {
organisasjonsnummer: '947064649',
navn: 'Norsk bedrift AS',
ansattFom: '2003-01-16',
+ ansattTom: '2022-12-31',
+ },
+ {
+ organisasjonsnummer: '947064649',
+ navn: 'Norsk bedrift AS',
+ ansattFom: '2024-02-01',
ansattTom: null,
},
],
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
index 5c987052fa..0f248c2032 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
@@ -5,12 +5,12 @@ export const arbeidsgivereMock: Arbeidsgiver[] = [
key: 'a_805824352',
navn: 'Dykkert svømmeutstyr',
organisasjonsnummer: '805824352',
- ansattFom: new Date('2008-10-01'),
+ ansettelsesperioder: [{ from: new Date('2008-10-01') }],
},
{
key: 'a_839942907',
navn: 'Flaks og fly',
organisasjonsnummer: '839942907',
- ansattFom: new Date('2008-10-01'),
+ ansettelsesperioder: [{ from: new Date('2008-10-01') }],
},
];
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
index 1a32ad2d86..037818806f 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
@@ -9,13 +9,13 @@ export const sakMock: Sak = {
key: 'a_947064642',
organisasjonsnummer: '947064642',
navn: 'IKKE-I-SAK-AS 1',
- ansattFom: new Date('2023-02-01T00:00:00.000Z'),
+ ansettelsesperioder: [{ from: new Date('2023-02-01T00:00:00.000Z') }],
},
{
key: 'a_947064643',
organisasjonsnummer: '947064643',
navn: 'IKKE-I-SAK-AS 2',
- ansattFom: new Date('2023-02-01T00:00:00.000Z'),
+ ansettelsesperioder: [{ from: new Date('2023-02-01T00:00:00.000Z') }],
},
],
harArbeidsgivereIkkeISak: false,
@@ -49,7 +49,7 @@ export const sakMock: Sak = {
key: 'a_839942907',
organisasjonsnummer: '839942907',
navn: 'HÅRREISENDE FRISØR',
- ansattFom: new Date('2002-05-09T00:00:00.000Z'),
+ ansettelsesperioder: [{ from: new Date('2002-05-09T00:00:00.000Z') }],
},
type: ArbeidsaktivitetType.arbeidstaker,
navn: 'HÅRREISENDE FRISØR',
@@ -1030,7 +1030,7 @@ export const sakMock: Sak = {
key: 'a_839942907',
organisasjonsnummer: '839942907',
navn: 'HÅRREISENDE FRISØR',
- ansattFom: new Date('2002-05-09T00:00:00.000Z'),
+ ansettelsesperioder: [{ from: new Date('2002-05-09T00:00:00.000Z') }],
},
type: ArbeidsaktivitetType.arbeidstaker,
navn: 'HÅRREISENDE FRISØR',
From f86b55f85e2625313d4d3aebec265665be00988e Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Thu, 16 Jan 2025 11:28:18 +0100
Subject: [PATCH 02/31] Rename Arbeidsgiver pga strukturendring
---
.../api/__tests__/fetchInitialData.test.ts | 6 ++--
.../api/endpoints/arbeidsgivereEndpoint.ts | 4 +--
.../src/app/api/fetchInitialData.ts | 6 ++--
.../ArbeidsaktivitetBlock.tsx | 4 +--
.../ArbeidsaktivitetBlockHeader.tsx | 4 +--
.../app/hooks/useS\303\270knadInitialData.ts" | 4 +--
.../app/hooks/useS\303\270knadsdataStatus.ts" | 8 ++---
.../ArbeidstidArbeidstakerOppsummering.tsx" | 4 +--
.../oppsummering/ArbeidstidOppsummering.tsx" | 4 +--
.../UkjentArbeidsforholdForm.tsx" | 11 +++++--
.../ukjentArbeidsforholdStepUtils.ts" | 8 ++---
...eidsgiver.ts => ArbeidsgiverForEndring.ts} | 2 +-
.../src/app/types/Sak.ts | 6 ++--
.../app/types/S\303\270knadContextState.ts" | 4 +--
.../src/app/types/index.ts | 2 +-
.../utils/__tests__/getSakFromK9Sak.test.ts | 29 +++++++++++--------
.../utils/__tests__/tilgangskontroll.test.ts | 8 ++---
.../src/app/utils/getSakFromK9Sak.ts | 17 ++++++-----
.../utils/getSakOgArbeidsgivereDebugInfo.ts | 6 ++--
.../src/app/utils/initialDataUtils.ts | 6 ++--
.../src/app/utils/k9SakUtils.ts | 4 +--
.../getDataBruktTilUtledning.test.ts" | 6 ++--
.../getApiDataFromS\303\270knadsdata.ts" | 4 +--
...rbeidstidApiDataFromS\303\270knadsdata.ts" | 4 +--
.../getDataBruktTilUtledning.ts" | 8 ++---
.../src/app/utils/tilgangskontroll.ts | 4 +--
.../app/utils/ukjentArbeidsforholdUtils.ts | 8 ++---
.../src/storybook/data/arbeidsgivereMock.ts | 4 +--
28 files changed, 99 insertions(+), 86 deletions(-)
rename apps/endringsmelding-pleiepenger/src/app/types/{Arbeidsgiver.ts => ArbeidsgiverForEndring.ts} (83%)
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts b/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
index ebf62f0695..485015d804 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
@@ -4,7 +4,7 @@ import {
getPeriodeForArbeidsgiverOppslag,
} from '../../utils/initialDataUtils';
import { Arbeidsgivere } from '@navikt/sif-common-api';
-import { Arbeidsgiver } from '../../types';
+import { ArbeidsgiverForEndring } from '../../types';
describe('initialDataUtils', () => {
describe('getPeriodeForArbeidsgiverOppslag', () => {
@@ -42,7 +42,7 @@ describe('initialDataUtils', () => {
},
],
};
- const expectedResult: Arbeidsgiver[] = [
+ const expectedResult: ArbeidsgiverForEndring[] = [
{
key: 'a_123',
navn: 'a',
@@ -68,7 +68,7 @@ describe('initialDataUtils', () => {
},
],
};
- const expectedResult: Arbeidsgiver[] = [
+ const expectedResult: ArbeidsgiverForEndring[] = [
{
key: 'a_123',
navn: 'a',
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
index 3007777318..4446469b72 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
@@ -1,6 +1,6 @@
import { ArbeidsgiverOrganisasjon } from '@navikt/sif-common-api';
import { DateRange, dateToISODate } from '@navikt/sif-common-utils';
-import { Arbeidsgiver } from '@types';
+import { ArbeidsgiverForEndring } from '@types';
import { getArbeidsgivereFromArbeidsgiverOrganisasjoner } from '../../utils/initialDataUtils';
import api from '../api';
import { ApiEndpointPsb } from './';
@@ -10,7 +10,7 @@ type AAregArbeidsgiver = {
};
export const arbeidsgivereEndpoint = {
- fetch: async (periode: DateRange): Promise => {
+ fetch: async (periode: DateRange): Promise => {
try {
const { from, to } = periode;
const { data } = await api.psb.get(
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts b/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
index cdbf370e65..b9731e31e4 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
@@ -2,7 +2,7 @@ import { isForbidden, isUnauthorized } from '@navikt/sif-common-core-ds/src/util
import { getMaybeEnv } from '@navikt/sif-common-env';
import { DateRange, dateRangeUtils } from '@navikt/sif-common-utils';
import {
- Arbeidsgiver,
+ ArbeidsgiverForEndring,
IngenTilgangÅrsak,
isK9Sak,
isUgyldigK9SakFormat,
@@ -32,7 +32,7 @@ export const fetchInitialData = async (
søker: Søker;
k9saker: K9Sak[];
antallSakerFørEndringsperiode: number;
- arbeidsgivere: Arbeidsgiver[];
+ arbeidsgivere: ArbeidsgiverForEndring[];
lagretSøknadState?: SøknadStatePersistence;
}> => {
const [søker, k9sakerResult] = await Promise.all([søkerEndpoint.fetch(), sakerEndpoint.fetch()]);
@@ -53,7 +53,7 @@ export const fetchInitialData = async (
try {
let k9saker: K9Sak[];
- let arbeidsgivere: Arbeidsgiver[];
+ let arbeidsgivere: ArbeidsgiverForEndring[];
const sakerInnenforEndringsperiode = k9sakerResult.k9Saker;
const sakerFørEndringsperiode = k9sakerResult.eldreSaker;
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlock.tsx b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlock.tsx
index bd7888cc93..ab9490e51e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlock.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlock.tsx
@@ -1,12 +1,12 @@
import { ExpansionCard, Panel } from '@navikt/ds-react';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { ArbeidsaktivitetType, Arbeidsgiver } from '@types';
+import { ArbeidsaktivitetType, ArbeidsgiverForEndring } from '@types';
import ArbeidsaktivitetBlockHeader from './ArbeidsaktivitetBlockHeader';
interface Props {
navn: string;
type: ArbeidsaktivitetType;
- arbeidsgiver?: Arbeidsgiver;
+ arbeidsgiver?: ArbeidsgiverForEndring;
endret?: { tekst: string };
erUkjent?: boolean;
renderAsExpansionCard?: boolean;
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
index 23877cdc62..a82b1344f6 100644
--- a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
@@ -2,7 +2,7 @@ import { BodyLong, Heading } from '@navikt/ds-react';
import React from 'react';
import { Office1 } from '@navikt/ds-icons';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { ArbeidsaktivitetType, Arbeidsgiver } from '@types';
+import { ArbeidsaktivitetType, ArbeidsgiverForEndring } from '@types';
import { AppText } from '../../i18n';
import EndretTag from '../tags/EndretTag';
import NyTag from '../tags/NyTag';
@@ -10,7 +10,7 @@ import './arbeidsaktivitetBlockHeader.scss';
interface Props {
navn: string;
- arbeidsgiver?: Arbeidsgiver;
+ arbeidsgiver?: ArbeidsgiverForEndring;
type: ArbeidsaktivitetType;
erUkjentAktivitet?: boolean;
endret?: {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadInitialData.ts" "b/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadInitialData.ts"
index 31b1fc9d06..dd87dbffda 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadInitialData.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadInitialData.ts"
@@ -3,7 +3,7 @@ import { getMaybeEnv } from '@navikt/sif-common-env';
import { useEffectOnce } from '@navikt/sif-common-hooks';
import { DateRange } from '@navikt/sif-common-utils';
import {
- Arbeidsgiver,
+ ArbeidsgiverForEndring,
IngenTilgangÅrsak,
K9Sak,
RequestStatus,
@@ -47,7 +47,7 @@ const prepInitialData = (
søker: Søker;
k9saker: K9Sak[];
antallSakerFørEndringsperiode: number;
- arbeidsgivere: Arbeidsgiver[];
+ arbeidsgivere: ArbeidsgiverForEndring[];
lagretSøknadState?: SøknadStatePersistence;
},
tillattEndringsperiode: DateRange,
diff --git "a/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadsdataStatus.ts" "b/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadsdataStatus.ts"
index f965424539..b7a391b682 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadsdataStatus.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadsdataStatus.ts"
@@ -3,7 +3,7 @@ import isEqual from 'react-fast-compare';
import { useSøknadContext } from '@hooks';
import { useEffectOnce } from '@navikt/sif-common-hooks';
import { SoknadStepsConfig } from '@navikt/sif-common-soknad-ds';
-import { Arbeidsgiver, Søknadsdata } from '@types';
+import { ArbeidsgiverForEndring, Søknadsdata } from '@types';
import { StepFormValues } from '../søknad/config/StepFormValues';
import { StepId } from '../søknad/config/StepId';
import { useStepFormValuesContext } from '../søknad/context/StepFormValuesContext';
@@ -18,7 +18,7 @@ const getPrecedingSteps = (currentStepIndex: number, stepConfig: SoknadStepsConf
const getStepSøknadsdataFromStepFormValues = (
step: StepId,
stepFormValues: StepFormValues,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
) => {
const formValues = stepFormValues[step];
if (!formValues) {
@@ -39,7 +39,7 @@ const isStepFormValuesAndStepSøknadsdataValid = (
step: StepId,
stepFormValues: StepFormValues,
søknadsdata: Søknadsdata,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
): boolean => {
if (stepFormValues[step]) {
const stepSøknadsdata = søknadsdata[step];
@@ -54,7 +54,7 @@ const isStepFormValuesAndStepSøknadsdataValid = (
export const useSøknadsdataStatus = (
stepId: StepId,
stepConfig: SoknadStepsConfig,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
) => {
const [invalidSteps, setInvalidSteps] = useState([]);
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
index 6bca966541..e22add7330 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
@@ -1,6 +1,6 @@
import { Heading } from '@navikt/ds-react';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { ArbeiderIPeriodenSvar, Arbeidsgiver, ArbeidstakerApiData } from '@types';
+import { ArbeiderIPeriodenSvar, ArbeidsgiverForEndring, ArbeidstakerApiData } from '@types';
import { AppText } from '../../../i18n';
import ArbeidstidUker from '../../../modules/arbeidstid-uker/ArbeidstidUker';
import { ArbeiderIPeriodenSvarIntlKey } from '../arbeidstid/arbeidsaktivitet-form-part/components/ArbeiderIPeriodenSpørsmål';
@@ -8,7 +8,7 @@ import { oppsummeringStepUtils } from './oppsummeringStepUtils';
type Props = {
arbeidstaker: ArbeidstakerApiData;
- arbeidsgivere: Arbeidsgiver[];
+ arbeidsgivere: ArbeidsgiverForEndring[];
arbeidstidKolonneTittel?: string;
};
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
index e52d946d4c..4af25ab5fc 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
@@ -1,7 +1,7 @@
import { Heading } from '@navikt/ds-react';
import React from 'react';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { Arbeidsgiver, ArbeidstidApiData } from '@types';
+import { ArbeidsgiverForEndring, ArbeidstidApiData } from '@types';
import ArbeidstidUker from '../../../modules/arbeidstid-uker/ArbeidstidUker';
import ArbeidstidArbeidstakerOppsummering from './ArbeidstidArbeidstakerOppsummering';
import { oppsummeringStepUtils } from './oppsummeringStepUtils';
@@ -9,7 +9,7 @@ import { AppText, useAppIntl } from '../../../i18n';
interface Props {
arbeidstid: ArbeidstidApiData;
- arbeidsgivere: Arbeidsgiver[];
+ arbeidsgivere: ArbeidsgiverForEndring[];
}
const ArbeidstidOppsummering: React.FunctionComponent = ({ arbeidstid, arbeidsgivere }) => {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/UkjentArbeidsforholdForm.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/UkjentArbeidsforholdForm.tsx"
index 1519ff65d1..f44ba927aa 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/UkjentArbeidsforholdForm.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/UkjentArbeidsforholdForm.tsx"
@@ -10,7 +10,12 @@ import {
YesOrNo,
} from '@navikt/sif-common-formik-ds';
import getIntlFormErrorHandler from '@navikt/sif-common-formik-ds/src/validation/intlFormErrorHandler';
-import { ArbeidsaktivitetType, Arbeidsgiver, SøknadContextState, UkjentArbeidsforholdSøknadsdata } from '@types';
+import {
+ ArbeidsaktivitetType,
+ ArbeidsgiverForEndring,
+ SøknadContextState,
+ UkjentArbeidsforholdSøknadsdata,
+} from '@types';
import ArbeidsaktivitetBlock from '../../../components/arbeidsaktivitet-block/ArbeidsaktivitetBlock';
import IkkeAnsattMelding from '../../../components/ikke-ansatt-melding/IkkeAnsattMelding';
import InfoNormalarbeidstid from '../../../components/info-normalarbeidstid/InfoNormalarbeidstid';
@@ -58,8 +63,8 @@ const { FormikWrapper, Form } = getTypedFormComponents<
>();
interface Props {
- arbeidsgivere: Arbeidsgiver[];
- arbeidsgivereIkkeISak: Arbeidsgiver[];
+ arbeidsgivere: ArbeidsgiverForEndring[];
+ arbeidsgivereIkkeISak: ArbeidsgiverForEndring[];
ukjentArbeidsforholdSøknadsdata?: UkjentArbeidsforholdSøknadsdata;
stepId: StepId;
goBack?: () => void;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/ukjentArbeidsforholdStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/ukjentArbeidsforholdStepUtils.ts"
index 27387a64e8..cfc5ede6b1 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/ukjentArbeidsforholdStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/ukjentArbeidsforholdStepUtils.ts"
@@ -1,7 +1,7 @@
import { getNumberFromNumberInputValue, IntlErrorObject, YesOrNo } from '@navikt/sif-common-formik-ds';
import { getNumberValidator, getYesOrNoValidator } from '@navikt/sif-common-formik-ds/src/validation';
import { decimalDurationToDuration, durationToDecimalDuration } from '@navikt/sif-common-utils';
-import { Arbeidsforhold, Arbeidsgiver, UkjentArbeidsforholdSøknadsdata } from '@types';
+import { Arbeidsforhold, ArbeidsgiverForEndring, UkjentArbeidsforholdSøknadsdata } from '@types';
import {
UkjentArbeidsforholdFormValues,
UkjentArbeidsgiverFormField,
@@ -25,7 +25,7 @@ const arbeidsforholdSøknadsdataToFormValues = (
const ukjentArbeidsgiverFormValuesToSøknadsdata = (
formValues: UkjentArbeidsforholdArbeidsgiverFormValues,
- arbeidsgiver?: Arbeidsgiver,
+ arbeidsgiver?: ArbeidsgiverForEndring,
): Arbeidsforhold | undefined => {
if (!arbeidsgiver) {
return undefined;
@@ -54,7 +54,7 @@ const ukjentArbeidsgiverFormValuesToSøknadsdata = (
export const getUkjentArbeidsforholdStepInitialValues = (
ukjentArbeidsforholdSøknadsdata: UkjentArbeidsforholdSøknadsdata | undefined,
formValues: UkjentArbeidsforholdFormValues | undefined,
- arbeidsgivereIkkeISak: Arbeidsgiver[],
+ arbeidsgivereIkkeISak: ArbeidsgiverForEndring[],
): UkjentArbeidsforholdFormValues => {
if (formValues) {
return formValues;
@@ -79,7 +79,7 @@ export const getUkjentArbeidsforholdStepInitialValues = (
export const getUkjentArbeidsforholdSøknadsdataFromFormValues = (
values: UkjentArbeidsforholdFormValues,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
): UkjentArbeidsforholdSøknadsdata => {
const arbeidsforhold: Arbeidsforhold[] = [];
Object.keys(values.arbeidsforhold).forEach((key) => {
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Arbeidsgiver.ts b/apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverForEndring.ts
similarity index 83%
rename from apps/endringsmelding-pleiepenger/src/app/types/Arbeidsgiver.ts
rename to apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverForEndring.ts
index 6ecbfcd2e1..8bf8e909aa 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Arbeidsgiver.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverForEndring.ts
@@ -1,6 +1,6 @@
import { MaybeDateRange } from '@navikt/sif-common-utils';
-export interface Arbeidsgiver {
+export interface ArbeidsgiverForEndring {
key: string /** orgnummer prefixet med a_ */;
organisasjonsnummer: string;
navn: string;
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
index 4394a04670..6d7b2ed88c 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
@@ -1,6 +1,6 @@
import { DateRange, Duration, ISODate, ISODateRangeMap } from '@navikt/sif-common-utils';
import { FeriedagMap } from '../søknad/steps/lovbestemt-ferie/LovbestemtFerieStep';
-import { Arbeidsgiver } from './Arbeidsgiver';
+import { ArbeidsgiverForEndring } from './ArbeidsgiverForEndring';
import { K9SakBarn } from './K9Sak';
export interface Sak {
@@ -9,7 +9,7 @@ export interface Sak {
/** Settes til true hvis det finnes en arbeidsgiver som ikke har arbeidstid i sak */
harArbeidsgivereIkkeISak: boolean;
/** Alle arbeidsgivere som ikke finnes i sak, men som finnes i Aa-reg */
- arbeidsgivereIkkeISak: Arbeidsgiver[];
+ arbeidsgivereIkkeISak: ArbeidsgiverForEndring[];
/** Alle aktiviteter som ikke har arbeidsgiver i AA-reg */
arbeidsaktivitetMedUkjentArbeidsgiver: ArbeidsaktivitetUkjentArbeidsgiver[];
/** Alle arbeidsaktiviteter i sak. Arbeidsgivere flates ut og legges sammen med evt. frilans og selvstendig */
@@ -81,7 +81,7 @@ interface ArbeidsaktivitetBase {
export interface ArbeidsaktivitetArbeidstaker extends ArbeidsaktivitetBase {
type: ArbeidsaktivitetType.arbeidstaker;
- arbeidsgiver: Arbeidsgiver;
+ arbeidsgiver: ArbeidsgiverForEndring;
erUkjentArbeidsforhold: boolean;
}
export interface ArbeidsaktivitetUkjentArbeidsgiver {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/types/S\303\270knadContextState.ts" "b/apps/endringsmelding-pleiepenger/src/app/types/S\303\270knadContextState.ts"
index 1ea6986245..d605fbfabe 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/types/S\303\270knadContextState.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/types/S\303\270knadContextState.ts"
@@ -1,7 +1,7 @@
import { DateRange } from '@navikt/sif-common-utils';
import { StepId } from '../søknad/config/StepId';
import { SøknadRoutes } from '../søknad/config/SøknadRoutes';
-import { Arbeidsgiver } from './Arbeidsgiver';
+import { ArbeidsgiverForEndring } from './ArbeidsgiverForEndring';
import { K9Sak } from './K9Sak';
import { Sak } from './Sak';
import { Søker } from './Søker';
@@ -15,7 +15,7 @@ export interface SøknadContextState {
k9saker: K9Sak[];
sak: Sak;
tillattEndringsperiode: DateRange;
- arbeidsgivere: Arbeidsgiver[];
+ arbeidsgivere: ArbeidsgiverForEndring[];
søknadsdata: Søknadsdata;
søknadRoute?: SøknadRoutes;
endringsmeldingSendt?: boolean;
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/index.ts b/apps/endringsmelding-pleiepenger/src/app/types/index.ts
index 71882538d3..be188ef5d8 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/index.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/index.ts
@@ -1,7 +1,7 @@
export * from './ArbeiderIPeriodenSvar';
export * from './Arbeidsforhold';
export * from './ArbeidstidEndring';
-export * from './Arbeidsgiver';
+export * from './ArbeidsgiverForEndring';
export * from './ArbeidsgiverIkkeFunnetError';
export * from './ArbeidstidSøknadsdata';
export * from './EndringType';
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
index aca240e691..7595682e22 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
@@ -9,7 +9,12 @@ import {
ISODuration,
ISODurationToDuration,
} from '@navikt/sif-common-utils';
-import { Arbeidsgiver, ArbeidstidEnkeltdagMap, FaktiskOgNormalArbeidstid, K9SakArbeidstidPeriodeMap } from '@types';
+import {
+ ArbeidsgiverForEndring,
+ ArbeidstidEnkeltdagMap,
+ FaktiskOgNormalArbeidstid,
+ K9SakArbeidstidPeriodeMap,
+} from '@types';
import { _getSakFromK9Sak } from '../getSakFromK9Sak';
const {
@@ -39,14 +44,14 @@ describe('getSakFromK9Sak', () => {
it('beholder uendret endringsperiode hvis bruker er fortsatt ansatt', () => {
const result = getEndringsperiodeForArbeidsgiver(endringsperiode, {
ansettelsesperioder: [{ to: undefined }],
- } as Arbeidsgiver);
+ } as ArbeidsgiverForEndring);
expect(dateToISODate(result.from)).toEqual(isoFrom);
expect(dateToISODate(result.to)).toEqual(isoTo);
});
it('justerer endringsperiode hvis sluttdato er før endringsperiode sluttdato', () => {
const result = getEndringsperiodeForArbeidsgiver(endringsperiode, {
ansettelsesperioder: [{ to: ISODateToDate(isoSluttdato) }],
- } as Arbeidsgiver);
+ } as ArbeidsgiverForEndring);
expect(dateToISODate(result.from)).toEqual(isoFrom);
expect(dateToISODate(result.to)).toEqual(isoSluttdato);
});
@@ -290,9 +295,9 @@ describe('getSakFromK9Sak', () => {
ISODateRangeToDateRange('2020-01-01/2020-02-01'),
ISODateRangeToDateRange('2020-04-01/2020-05-01'),
];
- const arbeidsgiver: Arbeidsgiver = {
+ const arbeidsgiver: ArbeidsgiverForEndring = {
ansettelsesperioder: [{ from: ISODateToDate('2019-01-01') }],
- } as Arbeidsgiver;
+ } as ArbeidsgiverForEndring;
describe('uten ansattTom', () => {
it('returnerer true når ansattFom er før søknadsperiode', () => {
@@ -303,7 +308,7 @@ describe('getSakFromK9Sak', () => {
erArbeidsgiverInnenforSøknadsperioder(
{
ansettelsesperioder: [{ from: ISODateToDate('2020-02-03') }],
- } as Arbeidsgiver,
+ } as ArbeidsgiverForEndring,
søknadsperioder,
),
).toBeTruthy();
@@ -313,7 +318,7 @@ describe('getSakFromK9Sak', () => {
erArbeidsgiverInnenforSøknadsperioder(
{
ansettelsesperioder: [{ from: ISODateToDate('2020-03-02') }],
- } as Arbeidsgiver,
+ } as ArbeidsgiverForEndring,
søknadsperioder,
),
).toBeTruthy();
@@ -323,7 +328,7 @@ describe('getSakFromK9Sak', () => {
erArbeidsgiverInnenforSøknadsperioder(
{
ansettelsesperioder: [{ from: ISODateToDate('2020-05-02') }],
- } as Arbeidsgiver,
+ } as ArbeidsgiverForEndring,
søknadsperioder,
),
).toBeFalsy();
@@ -337,7 +342,7 @@ describe('getSakFromK9Sak', () => {
ansettelsesperioder: [
{ from: ISODateToDate('2019-01-01'), to: ISODateToDate('2023-01-01') },
],
- } as Arbeidsgiver,
+ } as ArbeidsgiverForEndring,
søknadsperioder,
),
).toBeTruthy();
@@ -349,7 +354,7 @@ describe('getSakFromK9Sak', () => {
ansettelsesperioder: [
{ from: ISODateToDate('2019-01-01'), to: ISODateToDate('2020-03-01') },
],
- } as Arbeidsgiver,
+ } as ArbeidsgiverForEndring,
søknadsperioder,
),
).toBeTruthy();
@@ -364,7 +369,7 @@ describe('getSakFromK9Sak', () => {
to: ISODateToDate('2019-12-31'),
},
],
- } as Arbeidsgiver,
+ } as ArbeidsgiverForEndring,
søknadsperioder,
),
).toBeFalsy();
@@ -376,7 +381,7 @@ describe('getSakFromK9Sak', () => {
ansettelsesperioder: [
{ from: ISODateToDate('2020-03-01'), to: ISODateToDate('2020-03-02') },
],
- } as Arbeidsgiver,
+ } as ArbeidsgiverForEndring,
søknadsperioder,
),
).toBeFalsy();
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
index 6f151cf20c..13574c001a 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
@@ -1,11 +1,11 @@
import { DateRange, ISODateRangeToDateRange, ISODurationToDuration } from '@navikt/sif-common-utils';
-import { Arbeidsgiver, K9SakArbeidstaker, K9SakArbeidstidPeriodeMap } from '@types';
+import { ArbeidsgiverForEndring, K9SakArbeidstaker, K9SakArbeidstidPeriodeMap } from '@types';
import { tilgangskontroll, tilgangskontrollUtils } from '../tilgangskontroll';
import { vi } from 'vitest';
-const arbeidsgiver1: Arbeidsgiver = { key: 'a_1', organisasjonsnummer: '1' } as Arbeidsgiver;
-const arbeidsgiver2: Arbeidsgiver = { key: 'a_2', organisasjonsnummer: '2' } as Arbeidsgiver;
-const arbeidsgiver3: Arbeidsgiver = { key: 'a_3', organisasjonsnummer: '3' } as Arbeidsgiver;
+const arbeidsgiver1: ArbeidsgiverForEndring = { key: 'a_1', organisasjonsnummer: '1' } as ArbeidsgiverForEndring;
+const arbeidsgiver2: ArbeidsgiverForEndring = { key: 'a_2', organisasjonsnummer: '2' } as ArbeidsgiverForEndring;
+const arbeidsgiver3: ArbeidsgiverForEndring = { key: 'a_3', organisasjonsnummer: '3' } as ArbeidsgiverForEndring;
const arbeidstaker1: K9SakArbeidstaker = { organisasjonsnummer: '1' } as K9SakArbeidstaker;
const arbeidstaker2: K9SakArbeidstaker = { organisasjonsnummer: '2' } as K9SakArbeidstaker;
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index f223711e29..ba9d50d284 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -25,7 +25,7 @@ import {
ArbeidsaktivitetFrilanser,
ArbeidsaktivitetSelvstendigNæringsdrivende,
ArbeidsaktivitetType,
- Arbeidsgiver,
+ ArbeidsgiverForEndring,
ArbeidsgiverIkkeFunnetError,
ArbeidstidEnkeltdagMap,
Arbeidsuke,
@@ -64,7 +64,7 @@ interface _PeriodisertK9FormatArbeidstidPerioder {
*/
export const getSakFromK9Sak = (
k9sak: K9Sak,
- alleArbeidsgivere: Arbeidsgiver[],
+ alleArbeidsgivere: ArbeidsgiverForEndring[],
tillattEndringsperiode: DateRange,
): Sak => {
const { arbeidstakerList, frilanserArbeidstidInfo, selvstendigNæringsdrivendeArbeidstidInfo } =
@@ -137,7 +137,7 @@ export const getSakFromK9Sak = (
/** Henter utk9SakArbeidstakere med arbeidsgiver funnet i AA-reg */
export const getArbeidsaktiviteterMedKjentArbeidsgiver = (
k9SakArbeidstakere: K9SakArbeidstaker[],
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
) => {
return k9SakArbeidstakere.filter((a) =>
arbeidsgivere.some((arbg) => arbg.organisasjonsnummer === a.organisasjonsnummer),
@@ -147,7 +147,7 @@ export const getArbeidsaktiviteterMedKjentArbeidsgiver = (
/** Henter utk9SakArbeidstakere hvor arbeidsgiver IKKE er funnet i AA-reg */
export const getArbeidsaktiviteterMedUkjentArbeidsgiver = (
k9SakArbeidstakere: K9SakArbeidstaker[],
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
) => {
return k9SakArbeidstakere.filter(
(a) => arbeidsgivere.some((arbg) => arbg.organisasjonsnummer === a.organisasjonsnummer) === false,
@@ -162,7 +162,7 @@ export const getArbeidsaktiviteterMedUkjentArbeidsgiver = (
*/
const getEndringsperiodeForArbeidsgiver = (
tillattEndringsperiode: DateRange,
- arbeidsgiver: Arbeidsgiver,
+ arbeidsgiver: ArbeidsgiverForEndring,
): DateRange => {
const { ansettelsesperioder } = arbeidsgiver;
const sisteAnsattTom = ansettelsesperioder.sort(sortMaybeDateRange).reverse()[0]?.to;
@@ -474,7 +474,7 @@ const getArbeidsaktivitetPerioderPart = (
*/
const getArbeidsaktivitetArbeidstaker = (
arbeidstaker: K9SakArbeidstaker,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
endringsperiode: DateRange,
): ArbeidsaktivitetArbeidstaker => {
const {
@@ -547,7 +547,10 @@ const getArbeidsaktivitetSelvstendigNæringsdrivende = (
* @param søknadsperioder
* @returns boolean
*/
-const erArbeidsgiverInnenforSøknadsperioder = (arbeidsgiver: Arbeidsgiver, søknadsperioder: DateRange[]): boolean => {
+const erArbeidsgiverInnenforSøknadsperioder = (
+ arbeidsgiver: ArbeidsgiverForEndring,
+ søknadsperioder: DateRange[],
+): boolean => {
const { ansettelsesperioder = [] } = arbeidsgiver;
return ansettelsesperioder.some((ansettelsesperiode) =>
erAnsattPeriodeInnenforSøknadsperioder(ansettelsesperiode, søknadsperioder),
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
index d0749dfccf..ffbc751382 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
@@ -1,5 +1,5 @@
import { DateRange } from '@navikt/sif-common-utils';
-import { Arbeidsgiver, K9Sak, K9SakArbeidstaker, Sak } from '@types';
+import { ArbeidsgiverForEndring, K9Sak, K9SakArbeidstaker, Sak } from '@types';
import { maskString } from './maskString';
const maskK9Arbeidstaker = (k9Arbeidstaker: K9SakArbeidstaker) => {
@@ -39,7 +39,7 @@ const maskSak = (sak: Sak) => {
};
};
-const maskArbeidsgivere = (arbeidsgivere: Arbeidsgiver[]) => {
+const maskArbeidsgivere = (arbeidsgivere: ArbeidsgiverForEndring[]) => {
return arbeidsgivere.map((a) => ({
ansettelsesperioder: a.ansettelsesperioder,
a: maskString(a.key),
@@ -49,7 +49,7 @@ const maskArbeidsgivere = (arbeidsgivere: Arbeidsgiver[]) => {
export const getSakOgArbeidsgivereDebugInfo = (
k9sak: K9Sak,
sak: Sak,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
endringsperiode: DateRange,
) => {
return {
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
index 08fbd560fa..64ab82b52b 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
@@ -1,7 +1,7 @@
import { ArbeidsgiverOrganisasjon } from '@navikt/sif-common-api';
import { DateRange, MaybeDateRange } from '@navikt/sif-common-utils';
import dayjs from 'dayjs';
-import { Arbeidsgiver } from '../types';
+import { ArbeidsgiverForEndring } from '../types';
import { getArbeidsgiverKey } from './arbeidsgiverUtils';
export const getPeriodeForArbeidsgiverOppslag = (
@@ -20,8 +20,8 @@ export const getPeriodeForArbeidsgiverOppslag = (
export const getArbeidsgivereFromArbeidsgiverOrganisasjoner = (
organisasjoner: ArbeidsgiverOrganisasjon[],
-): Arbeidsgiver[] => {
- const aaArbeidsgivereMap = new Map();
+): ArbeidsgiverForEndring[] => {
+ const aaArbeidsgivereMap = new Map();
(organisasjoner || []).forEach((a) => {
const ansettelsesperiode: MaybeDateRange = {
from: a.ansattFom ? a.ansattFom : undefined,
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/k9SakUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/k9SakUtils.ts
index 7ca7be4b32..c105f5492f 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/k9SakUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/k9SakUtils.ts
@@ -1,5 +1,5 @@
import { DateRange, dateRangeUtils, getDateRangeFromDateRanges } from '@navikt/sif-common-utils';
-import { Arbeidsgiver, K9Sak, K9SakArbeidstaker } from '@types';
+import { ArbeidsgiverForEndring, K9Sak, K9SakArbeidstaker } from '@types';
import dayjs from 'dayjs';
import isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
@@ -15,7 +15,7 @@ export const getSamletDateRangeForK9Saker = (saker: K9Sak[]): DateRange | undefi
};
export const finnesArbeidsgiverIK9Sak = (
- arbeidsgiver: Arbeidsgiver,
+ arbeidsgiver: ArbeidsgiverForEndring,
arbeidsgivereISak: K9SakArbeidstaker[],
): boolean => {
return arbeidsgivereISak.some(
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
index cbebd99adf..def865c127 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
@@ -2,7 +2,7 @@ import { ISODateToDate } from '@navikt/sif-common-utils';
import {
ArbeiderIPeriodenSvar,
ArbeidsforholdAktivt,
- Arbeidsgiver,
+ ArbeidsgiverForEndring,
ArbeidstidSøknadsdata,
TimerEllerProsent,
} from '../../../types';
@@ -31,7 +31,7 @@ describe('getDataBruktTilUtledningAnnetData', () => {
});
describe('getUkjentArbeidsforholdApiDataFromSøknadsdata', () => {
- const arbeidsgivere: Arbeidsgiver[] = [
+ const arbeidsgivere: ArbeidsgiverForEndring[] = [
{
organisasjonsnummer: '123',
key: 'a_123',
@@ -58,7 +58,7 @@ describe('getUkjentArbeidsforholdApiDataFromSøknadsdata', () => {
});
describe('mapArbeidsforholdToArbeidsforholdApiData', () => {
- const arbeidsgiver: Arbeidsgiver = {
+ const arbeidsgiver: ArbeidsgiverForEndring = {
organisasjonsnummer: '123',
key: 'a_123',
navn: 'Arbeidsgibvernavn',
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
index ce5651523a..3afa5e880c 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
@@ -1,5 +1,5 @@
import { dateToISODate } from '@navikt/sif-common-utils';
-import { Arbeidsgiver, Sak, SøknadApiData, Søknadsdata, ValgteEndringer } from '@types';
+import { ArbeidsgiverForEndring, Sak, SøknadApiData, Søknadsdata, ValgteEndringer } from '@types';
import { getArbeidstidApiDataFromSøknadsdata } from './getArbeidstidApiDataFromSøknadsdata';
import { getDataBruktTilUtledningAnnetDataApiData, getDataBruktTilUtledningApiData } from './getDataBruktTilUtledning';
import { getLovbestemtFerieApiDataFromSøknadsdata } from './getLovbestemtFerieApiDataFraSøknadsdata';
@@ -9,7 +9,7 @@ export const getApiDataFromSøknadsdata = (
søknadsdata: Søknadsdata,
sak: Sak,
valgteEndringer: ValgteEndringer,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
): SøknadApiData | undefined => {
const { id, arbeidstid, lovbestemtFerie, ukjentArbeidsforhold } = søknadsdata;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
index 1b0f52d18d..8ebee9ad13 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
@@ -13,7 +13,7 @@ import {
Arbeidsaktiviteter,
ArbeidsaktivitetType,
ArbeiderIPeriodenSvar,
- Arbeidsgiver,
+ ArbeidsgiverForEndring,
ArbeidstakerApiData,
ArbeidstidApiData,
ArbeidstidEndring,
@@ -98,7 +98,7 @@ export const getArbeidstidApiDataFromSøknadsdata = (
søknadsperioder: DateRange[],
arbeidsaktivitetEndring: ArbeidstidArbeidsaktivitetMap,
arbeidsaktiviteter: Arbeidsaktiviteter,
- arbeidsgivereIkkeISak: Arbeidsgiver[],
+ arbeidsgivereIkkeISak: ArbeidsgiverForEndring[],
ukjentArbeidsforhold?: UkjentArbeidsforholdSøknadsdata,
): ArbeidstidApiData => {
const frilansAktivitetEndring = arbeidsaktivitetEndring[ArbeidsaktivitetType.frilanser]?.endringer;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getDataBruktTilUtledning.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getDataBruktTilUtledning.ts"
index 9d89b43b0f..4107f48fa3 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getDataBruktTilUtledning.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getDataBruktTilUtledning.ts"
@@ -2,7 +2,7 @@ import { durationToISODuration } from '@navikt/sif-common-utils';
import {
ArbeiderIPeriodenSvar,
Arbeidsforhold,
- Arbeidsgiver,
+ ArbeidsgiverForEndring,
ArbeidstidSøknadsdata,
DataBruktTilUtledningApiData,
DataBruktTilUtledningApiDataAnnetData as DataBruktTilUtledningAnnetDataApiData,
@@ -15,7 +15,7 @@ import { getOrgNummerFromArbeidsgiverKey } from '../arbeidsgiverUtils';
export const getDataBruktTilUtledningApiData = (
ukjentArbeidsforhold: UkjentArbeidsforholdSøknadsdata | undefined,
arbeidstid: ArbeidstidSøknadsdata | undefined,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
): DataBruktTilUtledningApiData => {
return {
ukjenteArbeidsforhold: getUkjentArbeidsforholdApiDataFromSøknadsdata(
@@ -35,7 +35,7 @@ export const getDataBruktTilUtledningAnnetDataApiData = (
export const mapArbeidsforholdToArbeidsforholdApiData = (
arbeidsforhold: Arbeidsforhold,
- arbeidsgiver: Arbeidsgiver,
+ arbeidsgiver: ArbeidsgiverForEndring,
arbeiderIPerioden?: ArbeiderIPeriodenSvar,
): UkjentArbeidsforholdApiData => {
const organisasjonsnummer = getOrgNummerFromArbeidsgiverKey(arbeidsforhold.arbeidsgiverKey);
@@ -63,7 +63,7 @@ export const mapArbeidsforholdToArbeidsforholdApiData = (
export const getUkjentArbeidsforholdApiDataFromSøknadsdata = (
ukjenteArbeidsforhold: Arbeidsforhold[] | undefined,
arbeidstid: ArbeidstidSøknadsdata | undefined,
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
): UkjentArbeidsforholdApiData[] => {
if (ukjenteArbeidsforhold === undefined) {
return [];
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
index c6e621285e..59ee6b82bf 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
@@ -1,6 +1,6 @@
import { DateRange, durationToDecimalDuration } from '@navikt/sif-common-utils';
import {
- Arbeidsgiver,
+ ArbeidsgiverForEndring,
IngenTilgangÅrsak,
K9Sak,
K9SakArbeidstaker,
@@ -92,7 +92,7 @@ const getIngenTilgangMeta = (arbeidstid: K9SakArbeidstid): IngenTilgangMeta => {
};
const harArbeidsgiverUtenArbeidsaktivitet = (
- arbeidsgivere: Arbeidsgiver[],
+ arbeidsgivere: ArbeidsgiverForEndring[],
k9SakArbeidstaker: K9SakArbeidstaker[] = [],
): boolean => {
return arbeidsgivere.some((arbeidsgiver) => {
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
index d25424318b..440c3072c1 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
@@ -13,7 +13,7 @@ import {
Arbeidsaktivitet,
ArbeidsaktivitetType,
ArbeidsforholdAktivt,
- Arbeidsgiver,
+ ArbeidsgiverForEndring,
ArbeidstidEnkeltdagMap,
ArbeidstidPerDag,
ArbeidsukeMap,
@@ -40,7 +40,7 @@ export const getSøknadsperioderForUkjentArbeidsforhold = (
export const getPerioderMedArbeidstidForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
- { ansettelsesperioder }: Arbeidsgiver,
+ { ansettelsesperioder }: ArbeidsgiverForEndring,
normalarbeidstidPerUke: Duration,
faktiskArbeidstidPerUke: Duration | undefined,
): PeriodeMedArbeidstid[] => {
@@ -97,7 +97,7 @@ export const getFaktiskArbeidstidPerUkeForUkjentArbeidsforhold = (
export const getArbeidsaktivitetForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
- arbeidsgiver: Arbeidsgiver,
+ arbeidsgiver: ArbeidsgiverForEndring,
arbeidsforhold: ArbeidsforholdAktivt,
arbeiderIPerioden?: ArbeiderIPeriodenSvar,
): Arbeidsaktivitet => {
@@ -123,7 +123,7 @@ export const getArbeidsaktivitetForUkjentArbeidsforhold = (
export const getArbeidsaktiviteterForUkjenteArbeidsforhold = (
søknadsperioder: DateRange[],
- arbeidsgivereIkkeISak: Arbeidsgiver[],
+ arbeidsgivereIkkeISak: ArbeidsgiverForEndring[],
arbeidsaktivitetFormValues: ArbeidsaktivitetFormValuesMap,
ukjentArbeidsforhold?: UkjentArbeidsforholdSøknadsdata,
): Arbeidsaktivitet[] => {
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
index 0f248c2032..1acc5be1af 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
@@ -1,6 +1,6 @@
-import { Arbeidsgiver } from '../../app/types/Arbeidsgiver';
+import { ArbeidsgiverForEndring } from '../../app/types/ArbeidsgiverForEndring';
-export const arbeidsgivereMock: Arbeidsgiver[] = [
+export const arbeidsgivereMock: ArbeidsgiverForEndring[] = [
{
key: 'a_805824352',
navn: 'Dykkert svømmeutstyr',
From 19f30628ce5a20b876619495505dc4e5d1562ff0 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Thu, 16 Jan 2025 15:08:02 +0100
Subject: [PATCH 03/31] Vise ansettelsesperioder
---
.../api/endpoints/arbeidsgivereEndpoint.ts | 2 +-
.../AnsettelsesperioderInfo.tsx | 53 +++++++++++++++++++
.../ArbeidsaktivitetBlockHeader.tsx | 8 +--
.../src/app/i18n/appMessages.ts | 3 ++
4 files changed, 62 insertions(+), 4 deletions(-)
create mode 100644 apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/AnsettelsesperioderInfo.tsx
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
index 4446469b72..094ae49a73 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
@@ -15,7 +15,7 @@ export const arbeidsgivereEndpoint = {
const { from, to } = periode;
const { data } = await api.psb.get(
ApiEndpointPsb.arbeidsgiver,
- `ytelse=endringsmelding-pleiepenger&fra_og_med=${dateToISODate(from)}&til_og_med=${dateToISODate(to)}`,
+ `ytelse=endringsmelding-pleiepenger&fra_og_med=${dateToISODate(from)}&til_og_med=${dateToISODate(to)}&inkluder_ansettelsesperioder=true`,
);
return Promise.resolve(getArbeidsgivereFromArbeidsgiverOrganisasjoner(data.organisasjoner || []));
} catch (error) {
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/AnsettelsesperioderInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/AnsettelsesperioderInfo.tsx
new file mode 100644
index 0000000000..af4a01df44
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/AnsettelsesperioderInfo.tsx
@@ -0,0 +1,53 @@
+import { dateFormatter, MaybeDateRange, sortMaybeDateRange } from '@navikt/sif-common-utils';
+import { AppText, useAppIntl } from '../../i18n';
+import { Box, List } from '@navikt/ds-react';
+import ExpandableInfo from '@navikt/sif-common-core-ds/src/components/expandable-info/ExpandableInfo';
+
+interface Props {
+ ansettelsesperioder: MaybeDateRange[];
+}
+
+const Ansettelsesperiode = ({ periode }: { periode: MaybeDateRange }) => {
+ return (
+ <>
+ {periode.from && (
+
+ )}
+ {periode.to && (
+
+ )}
+ >
+ );
+};
+
+const AnsettelsesperioderInfo = ({ ansettelsesperioder }: Props) => {
+ const { text } = useAppIntl();
+ return ansettelsesperioder.length === 1 ? (
+
+ ) : (
+
+
+
+ {ansettelsesperioder
+ .sort(sortMaybeDateRange)
+ .reverse()
+ .map((periode, index) => {
+ return (
+
+
+
+ );
+ })}
+
+
+
+ );
+};
+
+export default AnsettelsesperioderInfo;
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
index a82b1344f6..401ed80b31 100644
--- a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
@@ -1,4 +1,4 @@
-import { BodyLong, Heading } from '@navikt/ds-react';
+import { BodyLong, Box, Heading } from '@navikt/ds-react';
import React from 'react';
import { Office1 } from '@navikt/ds-icons';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
@@ -7,6 +7,7 @@ import { AppText } from '../../i18n';
import EndretTag from '../tags/EndretTag';
import NyTag from '../tags/NyTag';
import './arbeidsaktivitetBlockHeader.scss';
+import AnsettelsesperioderInfo from './AnsettelsesperioderInfo';
interface Props {
navn: string;
@@ -37,12 +38,13 @@ const ArbeidsaktivitetBlockHeader: React.FunctionComponent = ({
{type === ArbeidsaktivitetType.arbeidstaker && arbeidsgiver !== undefined ? (
-
+
-
+
+
) : undefined}
{(endret || erUkjentAktivitet) && (
diff --git a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
index ede4dd0293..76293bc7d1 100644
--- a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
@@ -29,6 +29,9 @@ const nb = {
'arbeidsaktivitetBlockHeader.nyttArbeidsforhold': 'Nytt arbeidsforhold',
'arbeidsaktivitetBlockHeader.arbeidsgiver.orgnummer': 'Organisasjonsnummer: {orgnr}',
+ 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansettelsesperioder': 'Ansettelsesperioder',
+ 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattFom': 'Ansatt: {dato}.',
+ 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattTom': ': Sluttdato: {dato}.',
'ikkeAnsattMelding.tekst':
'Er du feilregistrert eller du har sluttet i dette arbeidsforholdet før perioden du søkte pleiepenger, må du be arbeidsgiveren om å sende en ny A-melding med sluttdato. Dette gjør de enten via eget lønns- og personalsystem, eller via Altinn.',
From 9d00d2d062f95767c9245b19efd6aaece7202a97 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 17 Jan 2025 10:20:41 +0100
Subject: [PATCH 04/31] Trim dager til kun ansatt-dager
---
.../api/__tests__/fetchInitialData.test.ts | 57 +++++++------
.../api/endpoints/arbeidsgivereEndpoint.ts | 14 +++-
.../src/app/utils/getSakFromK9Sak.ts | 80 +++++++++++++++++--
.../src/app/utils/initialDataUtils.ts | 10 +--
.../en-arbeidsgiver-en-periode/sak-mock.ts | 36 +--------
.../arbeidsgiver-mock.ts | 12 +++
6 files changed, 128 insertions(+), 81 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts b/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
index 485015d804..4a6da07973 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
@@ -1,10 +1,10 @@
-import { ISODateRangeToDateRange, ISODateToDate, dateToISODate } from '@navikt/sif-common-utils';
+import { dateToISODate, ISODateRangeToDateRange, ISODateToDate } from '@navikt/sif-common-utils';
+import { ArbeidsgiverForEndring } from '../../types';
import {
getArbeidsgivereFromArbeidsgiverOrganisasjoner,
getPeriodeForArbeidsgiverOppslag,
} from '../../utils/initialDataUtils';
-import { Arbeidsgivere } from '@navikt/sif-common-api';
-import { ArbeidsgiverForEndring } from '../../types';
+import { AARegArbeidsgiverOrganisasjon } from '../endpoints/arbeidsgivereEndpoint';
describe('initialDataUtils', () => {
describe('getPeriodeForArbeidsgiverOppslag', () => {
@@ -32,16 +32,15 @@ describe('initialDataUtils', () => {
describe('getArbeidsgivereFromArbeidsgiverOrganisasjoner', () => {
it('oppretter ansettelsesperiode riktig når bruker har ett ansettelsesforhold hos én arbeidsgiver', () => {
- const respons: Arbeidsgivere = {
- organisasjoner: [
- {
- navn: 'a',
- organisasjonsnummer: '123',
- ansattFom: ISODateToDate('2022-01-01'),
- ansattTom: ISODateToDate('2022-02-01'),
- },
- ],
- };
+ const organisasjoner: AARegArbeidsgiverOrganisasjon[] = [
+ {
+ navn: 'a',
+ organisasjonsnummer: '123',
+ ansattFom: '2022-01-01',
+ ansattTom: '2022-02-01',
+ },
+ ];
+
const expectedResult: ArbeidsgiverForEndring[] = [
{
key: 'a_123',
@@ -50,24 +49,22 @@ describe('initialDataUtils', () => {
ansettelsesperioder: [{ from: ISODateToDate('2022-01-01'), to: ISODateToDate('2022-02-01') }],
},
];
- expect(getArbeidsgivereFromArbeidsgiverOrganisasjoner(respons.organisasjoner)).toEqual(expectedResult);
+ expect(getArbeidsgivereFromArbeidsgiverOrganisasjoner(organisasjoner)).toEqual(expectedResult);
});
it('oppretter ansettelsesperioder riktig når bruker har to ansettelsesforhold hos samme arbeidsgiver', () => {
- const respons: Arbeidsgivere = {
- organisasjoner: [
- {
- navn: 'a',
- organisasjonsnummer: '123',
- ansattFom: ISODateToDate('2022-01-01'),
- ansattTom: ISODateToDate('2022-02-01'),
- },
- {
- navn: 'a',
- organisasjonsnummer: '123',
- ansattFom: ISODateToDate('2022-02-15'),
- },
- ],
- };
+ const organisasjoner: AARegArbeidsgiverOrganisasjon[] = [
+ {
+ navn: 'a',
+ organisasjonsnummer: '123',
+ ansattFom: '2022-01-01',
+ ansattTom: '2022-02-01',
+ },
+ {
+ navn: 'a',
+ organisasjonsnummer: '123',
+ ansattFom: '2022-02-15',
+ },
+ ];
const expectedResult: ArbeidsgiverForEndring[] = [
{
key: 'a_123',
@@ -79,7 +76,7 @@ describe('initialDataUtils', () => {
],
},
];
- expect(getArbeidsgivereFromArbeidsgiverOrganisasjoner(respons.organisasjoner)).toEqual(expectedResult);
+ expect(getArbeidsgivereFromArbeidsgiverOrganisasjoner(organisasjoner)).toEqual(expectedResult);
});
});
});
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
index 094ae49a73..671a16fa14 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
@@ -1,12 +1,18 @@
-import { ArbeidsgiverOrganisasjon } from '@navikt/sif-common-api';
-import { DateRange, dateToISODate } from '@navikt/sif-common-utils';
+import { DateRange, dateToISODate, ISODate } from '@navikt/sif-common-utils';
import { ArbeidsgiverForEndring } from '@types';
import { getArbeidsgivereFromArbeidsgiverOrganisasjoner } from '../../utils/initialDataUtils';
import api from '../api';
import { ApiEndpointPsb } from './';
-type AAregArbeidsgiver = {
- organisasjoner?: ArbeidsgiverOrganisasjon[];
+export type AAregArbeidsgiver = {
+ organisasjoner?: AARegArbeidsgiverOrganisasjon[];
+};
+
+export type AARegArbeidsgiverOrganisasjon = {
+ organisasjonsnummer: string;
+ navn: string;
+ ansattFom?: ISODate;
+ ansattTom?: ISODate;
};
export const arbeidsgivereEndpoint = {
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index ba9d50d284..de576bfd80 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -11,6 +11,7 @@ import {
getIsoWeekDateRangeForDate,
getLastDateInDateRanges,
isDateInDateRange,
+ isDateInDateRanges,
ISODateRangeToDateRange,
ISODateToDate,
joinAdjacentDateRanges,
@@ -138,7 +139,7 @@ export const getSakFromK9Sak = (
export const getArbeidsaktiviteterMedKjentArbeidsgiver = (
k9SakArbeidstakere: K9SakArbeidstaker[],
arbeidsgivere: ArbeidsgiverForEndring[],
-) => {
+): K9SakArbeidstaker[] => {
return k9SakArbeidstakere.filter((a) =>
arbeidsgivere.some((arbg) => arbg.organisasjonsnummer === a.organisasjonsnummer),
);
@@ -199,6 +200,33 @@ const trimArbeidstidTilTillattEndringsperiode = (
return perioder;
};
+// /**
+// * Fjerner arbeidstid fra @K9SakArbeidstidPeriodeMap som ikke er en del av ansettelsesperioder
+// * @param arbeidstidPeriodeMap
+// * @param ansettelsesperioder
+// * @returns
+// */
+// const trimArbeidstidTilAnsettelsesperioder = (
+// arbeidstidPeriodeMap: K9SakArbeidstidPeriodeMap,
+// _ansettelsesperioder: MaybeDateRange[],
+// ): K9SakArbeidstidPeriodeMap => {
+// const perioder: K9SakArbeidstidPeriodeMap = {};
+// Object.keys(arbeidstidPeriodeMap).forEach(() => {
+// // const { from, to } = ISODateRangeToDateRange(key);
+// // if (dateRangesCollide([{ from, to }, tillattEndringsperiode], true) === false) {
+// // return; // Er ikke innenfor gyldig tidsrom
+// // }
+// // const førsteDato = tillattEndringsperiode.from;
+// // const sisteDato = tillattEndringsperiode.to;
+// // const dateRangeToUse: DateRange = {
+// // from: dayjs(from).isBefore(førsteDato, 'day') ? førsteDato : from,
+// // to: dayjs(to).isAfter(sisteDato, 'day') ? sisteDato : to,
+// // };
+// // perioder[dateRangeToISODateRange(dateRangeToUse)] = arbeidstidPeriodeMap[key];
+// });
+// return perioder;
+// };
+
/**
* Finner alle arbeidstidPerioder innenfor et tidsrom
* @param dateRange
@@ -398,15 +426,22 @@ const getArbeidsukerFromEnkeltdager = (enkeltdager: ArbeidstidEnkeltdagMap): Arb
const getPerioderMedArbeidstid = (
arbeidstidPeriodeMap: K9SakArbeidstidPeriodeMap,
tillattEndringsperiode: DateRange,
+ ansettelsesperioder: MaybeDateRange[],
): PeriodeMedArbeidstid[] => {
- /** TODO - filtrere ut perioder hvor en ikke er ansatt? */
const perioder = trimArbeidstidTilTillattEndringsperiode(arbeidstidPeriodeMap, tillattEndringsperiode);
return grupperArbeidstidPerioder(perioder).map((gruppertPeriode) => {
const enkeltdagerIPeriode = getArbeidstidEnkeltdagMapFromPerioder(gruppertPeriode.arbeidstidPerioder);
- const arbeidsuker = getArbeidsukerMapFromArbeidsuker(getArbeidsukerFromEnkeltdager(enkeltdagerIPeriode));
+ const arbeidsdagerSomKanEndres = getArbeidsdagerInneforEndringsperiodeOgAnsettelsesperioder(
+ enkeltdagerIPeriode,
+ tillattEndringsperiode,
+ ansettelsesperioder,
+ );
+ const uker = getArbeidsukerFromEnkeltdager(arbeidsdagerSomKanEndres);
+ const periodeSomKanEndres: DateRange = { from: uker[0].periode.from, to: uker[uker.length - 1].periode.to };
+ const arbeidsuker = getArbeidsukerMapFromArbeidsuker(uker);
const periode: PeriodeMedArbeidstid = {
- ...gruppertPeriode.periode,
+ ...periodeSomKanEndres,
arbeidsuker,
};
return periode;
@@ -454,12 +489,14 @@ const harPerioderEtterEndringsperiode = (
const getArbeidsaktivitetPerioderPart = (
arbeidstidPerioder: K9SakArbeidstidPeriodeMap,
endringsperiode: DateRange,
+ ansettelsesperioder: MaybeDateRange[],
): Pick<
Arbeidsaktivitet,
'perioderMedArbeidstid' | 'harPerioderEtterTillattEndringsperiode' | 'harPerioderFørTillattEndringsperiode'
> => {
+ console.log(ansettelsesperioder);
return {
- perioderMedArbeidstid: getPerioderMedArbeidstid(arbeidstidPerioder, endringsperiode),
+ perioderMedArbeidstid: getPerioderMedArbeidstid(arbeidstidPerioder, endringsperiode, ansettelsesperioder),
harPerioderFørTillattEndringsperiode: harPerioderFørEndringsperiode(arbeidstidPerioder, endringsperiode),
harPerioderEtterTillattEndringsperiode: harPerioderEtterEndringsperiode(arbeidstidPerioder, endringsperiode),
};
@@ -497,7 +534,11 @@ const getArbeidsaktivitetArbeidstaker = (
type: ArbeidsaktivitetType.arbeidstaker,
navn: arbeidsgiver.navn,
erUkjentArbeidsforhold: false,
- ...getArbeidsaktivitetPerioderPart(perioder, endringsperiodeForArbeidsgiver),
+ // ansettelsesperioderInnenforEndringsperiode: arbeidsgiver.ansettelsesperioder.map((a) => ({
+ // from: a.from || endringsperiode.from,
+ // to: a.to || endringsperiode.to,
+ // })),
+ ...getArbeidsaktivitetPerioderPart(perioder, endringsperiodeForArbeidsgiver, arbeidsgiver.ansettelsesperioder),
};
};
@@ -516,7 +557,7 @@ const getArbeidsaktivitetFrilanser = (
key: ArbeidsaktivitetType.frilanser,
type: ArbeidsaktivitetType.frilanser,
navn: 'Frilanser',
- ...getArbeidsaktivitetPerioderPart(frilanserArbeidstidInfo.perioder, endringsperiode),
+ ...getArbeidsaktivitetPerioderPart(frilanserArbeidstidInfo.perioder, endringsperiode, []),
}
: undefined;
};
@@ -536,7 +577,11 @@ const getArbeidsaktivitetSelvstendigNæringsdrivende = (
key: ArbeidsaktivitetType.selvstendigNæringsdrivende,
type: ArbeidsaktivitetType.selvstendigNæringsdrivende,
navn: 'Selvstendig næringsdrivende',
- ...getArbeidsaktivitetPerioderPart(selvstendigNæringsdrivendeArbeidstidInfo.perioder, endringsperiode),
+ ...getArbeidsaktivitetPerioderPart(
+ selvstendigNæringsdrivendeArbeidstidInfo.perioder,
+ endringsperiode,
+ [],
+ ),
}
: undefined;
};
@@ -629,3 +674,22 @@ export const _getSakFromK9Sak = {
grupperArbeidstidPerioder,
trimArbeidstidTilTillattEndringsperiode,
};
+
+const getArbeidsdagerInneforEndringsperiodeOgAnsettelsesperioder = (
+ arbeidsdager: ArbeidstidEnkeltdagMap,
+ tillattEndringsperiode: DateRange,
+ ansettelsesperioder: MaybeDateRange[],
+) => {
+ const arbeidsdagerInnenforPerioder: ArbeidstidEnkeltdagMap = {};
+ const ansettelsesperiodeDateRanges = ansettelsesperioder.map((a) => ({
+ from: a.from || tillattEndringsperiode.from,
+ to: a.to || tillattEndringsperiode.to,
+ }));
+ for (const [dato, info] of Object.entries(arbeidsdager)) {
+ const d = ISODateToDate(dato);
+ if (isDateInDateRange(d, tillattEndringsperiode) && isDateInDateRanges(d, ansettelsesperiodeDateRanges)) {
+ arbeidsdagerInnenforPerioder[dato] = info;
+ }
+ }
+ return arbeidsdagerInnenforPerioder;
+};
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
index 64ab82b52b..a249c3c1f6 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
@@ -1,8 +1,8 @@
-import { ArbeidsgiverOrganisasjon } from '@navikt/sif-common-api';
-import { DateRange, MaybeDateRange } from '@navikt/sif-common-utils';
+import { DateRange, ISODateToDate, MaybeDateRange } from '@navikt/sif-common-utils';
import dayjs from 'dayjs';
import { ArbeidsgiverForEndring } from '../types';
import { getArbeidsgiverKey } from './arbeidsgiverUtils';
+import { AARegArbeidsgiverOrganisasjon } from '../api/endpoints/arbeidsgivereEndpoint';
export const getPeriodeForArbeidsgiverOppslag = (
dateRangeAlleSaker: DateRange,
@@ -19,13 +19,13 @@ export const getPeriodeForArbeidsgiverOppslag = (
};
export const getArbeidsgivereFromArbeidsgiverOrganisasjoner = (
- organisasjoner: ArbeidsgiverOrganisasjon[],
+ organisasjoner: AARegArbeidsgiverOrganisasjon[],
): ArbeidsgiverForEndring[] => {
const aaArbeidsgivereMap = new Map();
(organisasjoner || []).forEach((a) => {
const ansettelsesperiode: MaybeDateRange = {
- from: a.ansattFom ? a.ansattFom : undefined,
- to: a.ansattTom ? a.ansattTom : undefined,
+ from: a.ansattFom ? ISODateToDate(a.ansattFom) : undefined,
+ to: a.ansattTom ? ISODateToDate(a.ansattTom) : undefined,
};
if (aaArbeidsgivereMap.has(a.organisasjonsnummer)) {
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/sak-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/sak-mock.ts
index 8b2cc9fe4d..a869081fc8 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/sak-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/sak-mock.ts
@@ -56,43 +56,11 @@ export default [
organisasjonsnummer: '947064649',
arbeidstidInfo: {
perioder: {
- '2022-12-01/2022-12-02': {
+ '2020-12-01/2023-12-31': {
jobberNormaltTimerPerDag: 'PT8H',
faktiskArbeidTimerPerDag: 'PT4H32M24S',
},
- '2022-12-05/2022-12-09': {
- jobberNormaltTimerPerDag: 'PT8H',
- faktiskArbeidTimerPerDag: 'PT4H32M24S',
- },
- '2022-12-12/2022-12-16': {
- jobberNormaltTimerPerDag: 'PT8H',
- faktiskArbeidTimerPerDag: 'PT4H32M24S',
- },
- '2022-12-19/2022-12-23': {
- jobberNormaltTimerPerDag: 'PT8H',
- faktiskArbeidTimerPerDag: 'PT4H32M24S',
- },
- '2022-12-26/2022-12-30': {
- jobberNormaltTimerPerDag: 'PT8H',
- faktiskArbeidTimerPerDag: 'PT4H32M24S',
- },
- '2023-01-02/2023-01-06': {
- jobberNormaltTimerPerDag: 'PT8H',
- faktiskArbeidTimerPerDag: 'PT4H32M24S',
- },
- '2023-01-09/2023-01-13': {
- jobberNormaltTimerPerDag: 'PT8H',
- faktiskArbeidTimerPerDag: 'PT4H32M24S',
- },
- '2023-01-16/2023-01-20': {
- jobberNormaltTimerPerDag: 'PT8H',
- faktiskArbeidTimerPerDag: 'PT4H32M24S',
- },
- '2023-01-23/2023-01-27': {
- jobberNormaltTimerPerDag: 'PT8H',
- faktiskArbeidTimerPerDag: 'PT4H32M24S',
- },
- '2023-01-30/2024-05-31': {
+ '2024-02-01/2024-03-01': {
jobberNormaltTimerPerDag: 'PT8H',
faktiskArbeidTimerPerDag: 'PT4H32M24S',
},
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
index 74e2a56eec..b292f8957d 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
@@ -4,6 +4,18 @@ export default {
organisasjonsnummer: '947064649',
navn: 'Norsk bedrift AS',
ansattFom: '2003-01-16',
+ ansattTom: '2022-11-01',
+ },
+ {
+ organisasjonsnummer: '947064649',
+ navn: 'Norsk bedrift AS',
+ ansattFom: '2022-12-05',
+ ansattTom: '2022-12-06',
+ },
+ {
+ organisasjonsnummer: '947064649',
+ navn: 'Norsk bedrift AS',
+ ansattFom: '2022-12-08',
ansattTom: null,
},
],
From 4b32b980db1e8bfc1634829e6946e8f0490dc734 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 17 Jan 2025 12:28:56 +0100
Subject: [PATCH 05/31] Melding om at en ikke er ansastt alle dager
---
.../ArbeidstidUker.stories.tsx | 18 ++++
.../arbeidstid-uker/ArbeidstidUker.tsx | 12 ++-
.../arbeidstid-uker/arbeidstidUker.scss | 2 +-
.../components/ArbeidstidUkeListe.tsx | 1 +
.../components/ArbeidstidUkeTabell.tsx | 10 +-
.../arbeidstid-uker/components/UkeInfo.tsx | 30 ------
.../components/UkeInfoTooltip.tsx | 52 ++++++++++
.../arbeidstid-uker/components/UkeTags.tsx | 11 ++-
.../types/ArbeidstidUkerItem.ts | 1 +
.../EndreArbeidstidForm.tsx | 6 +-
.../steps/arbeidstid/ArbeidstidForm.tsx" | 3 +-
.../arbeidsaktivitetUtils.ts" | 3 +-
.../components/ArbeidsaktivitetContent.tsx" | 1 +
.../ArbeidstidArbeidstakerOppsummering.tsx" | 1 +
.../oppsummering/ArbeidstidOppsummering.tsx" | 2 +
.../oppsummering/oppsummeringStepUtils.ts" | 1 +
.../src/app/types/Sak.ts | 2 +
.../src/app/utils/arbeidsukeUtils.ts | 82 ++++++++--------
.../src/app/utils/getSakFromK9Sak.ts | 97 +++++++++++++------
.../getApiDataFromS\303\270knadsdata.ts" | 2 +
...rbeidstidApiDataFromS\303\270knadsdata.ts" | 2 +
.../app/utils/ukjentArbeidsforholdUtils.ts | 17 +++-
.../src/mocks/data/app/arbeidsukerMockData.ts | 1 +
.../src/storybook/data/sakMock.ts | 36 +++++++
.../sif-common-utils/src/dateRangeUtils.ts | 8 ++
25 files changed, 289 insertions(+), 112 deletions(-)
delete mode 100644 apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfo.tsx
create mode 100644 apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
index 3f6f9c3e26..3b3ad7ef05 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
@@ -26,6 +26,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: false,
antallDagerMedArbeidstid: 2,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: true,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -54,6 +55,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -82,6 +84,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -110,6 +113,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -138,6 +142,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -166,6 +171,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -194,6 +200,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -222,6 +229,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -250,6 +258,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -278,6 +287,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -306,6 +316,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -334,6 +345,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -362,6 +374,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -390,6 +403,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -418,6 +432,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -446,6 +461,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -474,6 +490,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -502,6 +519,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
+ arbeidsdagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
index 5c8785768c..66f1a9b7fe 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
@@ -21,6 +21,7 @@ interface Props {
paginering?: {
antall: number;
};
+ arbeidsgivernavn: string;
arbeidstidKolonneTittel?: string;
triggerResetValgCounter?: number;
visEndringSomOpprinnelig?: boolean;
@@ -35,7 +36,7 @@ const ArbeidstidUker: React.FunctionComponent = ({
arbeidstidKolonneTittel,
triggerResetValgCounter,
visEndringSomOpprinnelig,
-
+ arbeidsgivernavn,
onEndreUker,
}) => {
const { text, intl } = useAppIntl();
@@ -57,6 +58,9 @@ const ArbeidstidUker: React.FunctionComponent = ({
const renderCompactTable = useMediaQuery({ minWidth: 736 }) === false && renderAsList === false;
const korteUker = visibleItems.filter((i) => i.erKortUke).map((uke) => uke.periode);
+ const ukerMedDagerIkkeAnsatt = visibleItems
+ .filter((i) => i.arbeidsdagerIkkeAnsatt.length > 0)
+ .map((uke) => uke.periode);
const ukerMedFerie = visibleItems
.filter((i) => i.ferie && i.ferie?.dagerMedFerie.length > 0)
.map((uke) => uke.periode);
@@ -103,7 +107,10 @@ const ArbeidstidUker: React.FunctionComponent = ({
setItemsAreSelectable(checked);
}}
ukerKanVelges={itemsAreSelectable}
- visKorteUkerMelding={itemsAreSelectable && (ukerMedFerie.length > 0 || korteUker.length > 0)}
+ visKorteUkerMelding={
+ itemsAreSelectable &&
+ (ukerMedFerie.length > 0 || korteUker.length > 0 || ukerMedDagerIkkeAnsatt.length > 0)
+ }
/>
) : undefined;
@@ -166,6 +173,7 @@ const ArbeidstidUker: React.FunctionComponent = ({
{renderEndreUkerHeader()}
= ({
erKortUke={uke.erKortUke}
dagerMedFerie={uke.ferie?.dagerMedFerie}
dagerMedFjernetFerie={uke.ferie?.dagerMedFjernetFerie}
+ arbeidsdagerIkkeAnsatt={uke.arbeidsdagerIkkeAnsatt}
/>
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
index 18eb0d55f4..0e4b8bcb81 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
@@ -9,11 +9,12 @@ import { SelectableListType } from '../../../hooks/useSelectableList';
import { AppText, useAppIntl } from '../../../i18n';
import { ArbeidstidUkerItem } from '../types/ArbeidstidUkerItem';
import ArbeidstidUkeInfo from './ArbeidstidUkeInfo';
-import UkeInfoIkon from './UkeInfo';
+import UkeInfoTooltip from './UkeInfoTooltip';
import UkeTags from './UkeTags';
import VelgArbeidsukeItem from './VelgArbeidsukeItem';
interface Props {
+ arbeidsgivernavn: string;
uker: ArbeidstidUkerItem[];
selectableList: SelectableListType;
visEndringSomOpprinnelig?: boolean;
@@ -29,6 +30,7 @@ const ArbeidstidUkeTabell: React.FunctionComponent = ({
selectableList,
arbeidstidKolonneTittel,
renderCompactTable,
+ arbeidsgivernavn,
renderEditButton,
}) => {
const { text, intl } = useAppIntl();
@@ -150,6 +152,7 @@ const ArbeidstidUkeTabell: React.FunctionComponent = ({
dagerMedFerie={uke.ferie?.dagerMedFerie}
dagerMedFjernetFerie={uke.ferie?.dagerMedFjernetFerie}
erKortUke={uke.erKortUke}
+ arbeidsdagerIkkeAnsatt={uke.arbeidsdagerIkkeAnsatt}
/>
)}
@@ -173,12 +176,15 @@ const ArbeidstidUkeTabell: React.FunctionComponent = ({
)}
- {uke.erKortUke && }
+ {(uke.erKortUke || uke.arbeidsdagerIkkeAnsatt.length > 0) && (
+
+ )}
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfo.tsx
deleted file mode 100644
index 73233391e2..0000000000
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfo.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Tooltip } from '@navikt/ds-react';
-import React from 'react';
-import { InformationColored } from '@navikt/ds-icons';
-import { dateFormatter, DateRange } from '@navikt/sif-common-utils';
-import { ArbeidstidUkerItem } from '../types/ArbeidstidUkerItem';
-
-interface Props {
- uke: ArbeidstidUkerItem;
-}
-
-const UkeInfoIkon: React.FunctionComponent = ({ uke }) => {
- return (
-
-
-
-
-
- );
-};
-
-const getDagerPeriode = ({ from, to }: DateRange, visDato = true): string => {
- const fra = visDato ? dateFormatter.dayDateMonthYear(from) : dateFormatter.day(from);
- const til = visDato ? dateFormatter.dayDateMonthYear(to) : dateFormatter.day(to);
- if (fra === til) {
- return fra;
- }
- return `${fra} til ${til}`;
-};
-
-export default UkeInfoIkon;
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
new file mode 100644
index 0000000000..b7c7b4806c
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
@@ -0,0 +1,52 @@
+import { BodyShort, Box, HelpText, Tooltip, VStack } from '@navikt/ds-react';
+import React from 'react';
+import { InformationColored } from '@navikt/ds-icons';
+import { dateFormatter, DateRange } from '@navikt/sif-common-utils';
+import { ArbeidstidUkerItem } from '../types/ArbeidstidUkerItem';
+
+interface Props {
+ uke: ArbeidstidUkerItem;
+ arbeidsgivernavn: string;
+}
+
+const UkeInfoTooltip: React.FunctionComponent = ({ uke, arbeidsgivernavn }) => {
+ const { arbeidsdagerIkkeAnsatt, erKortUke } = uke;
+ if (erKortUke && arbeidsdagerIkkeAnsatt.length === 0) {
+ return (
+
+
+
+
+
+ );
+ }
+ if (!erKortUke && arbeidsdagerIkkeAnsatt.length > 0) {
+ const dager = arbeidsdagerIkkeAnsatt.map((d) => dateFormatter.day(d));
+ const info = (
+
+
+ Kort uke - du er ikke registrert som ansatt alle dagene denne uken. Dager du ikke registrert som
+ ansatt er: {dager.join(',')}.
+
+
+ Hvis dette ikke stemmer, må du ta kontakt med arbeidsgiveren din, {arbeidsgivernavn}.
+
+ );
+ return (
+
+ {info}
+
+ );
+ }
+};
+
+const getDagerPeriode = ({ from, to }: DateRange, visDato = true): string => {
+ const fra = visDato ? dateFormatter.dayDateMonthYear(from) : dateFormatter.day(from);
+ const til = visDato ? dateFormatter.dayDateMonthYear(to) : dateFormatter.day(to);
+ if (fra === til) {
+ return fra;
+ }
+ return `${fra} til ${til}`;
+};
+
+export default UkeInfoTooltip;
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
index 1a0c285879..338b050eac 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
@@ -8,12 +8,19 @@ interface Props {
erKortUke?: boolean;
dagerMedFerie: Date[] | undefined;
dagerMedFjernetFerie?: Date[] | undefined;
+ arbeidsdagerIkkeAnsatt: Date[] | undefined;
visDagNavn?: boolean;
}
-const UkeTags = ({ dagerMedFerie = [], dagerMedFjernetFerie = [], visDagNavn, erKortUke }: Props) => {
+const UkeTags = ({
+ dagerMedFerie = [],
+ dagerMedFjernetFerie = [],
+ visDagNavn,
+ erKortUke,
+ arbeidsdagerIkkeAnsatt = [],
+}: Props) => {
const tags: React.ReactNode[] = [];
- if (erKortUke) {
+ if (erKortUke || arbeidsdagerIkkeAnsatt.length > 0) {
tags.push();
}
if (dagerMedFerie?.length > 0) {
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
index 727f26f4bf..d2f2b7b5a6 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
@@ -8,6 +8,7 @@ export interface ArbeidstidUkerItem {
periode: DateRange;
antallDagerMedArbeidstid: number;
erKortUke: boolean;
+ arbeidsdagerIkkeAnsatt: Date[];
harFeriedager?: boolean;
harFjernetFeriedager?: boolean;
ferie?: {
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
index b457e8cc9b..b90d3f02a1 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
@@ -280,7 +280,11 @@ const getUkerOgÅrBeskrivelse = (
{getArbeidstidSpørsmålDescription(arbeidsuker[0], intl.locale)}
{dagerMedFerie.length > 0 && (
-
+
)}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
index 72bc7495f5..e46f1543a0 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
@@ -6,7 +6,7 @@ import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
import { getTypedFormComponents, ValidationError } from '@navikt/sif-common-formik-ds';
import getIntlFormErrorHandler from '@navikt/sif-common-formik-ds/src/validation/intlFormErrorHandler';
import { ArbeiderIPeriodenSvar, ArbeidsaktivitetType, ArbeidstidEndringMap, SøknadContextState } from '@types';
-import { getArbeidsaktiviteterForUkjenteArbeidsforhold } from '@utils';
+import { getArbeidsaktiviteterForUkjenteArbeidsforhold, getEndringsdato, getTillattEndringsperiode } from '@utils';
import { AppText } from '../../../i18n';
import { getLenker } from '../../../lenker';
import PersistStepFormValues from '../../../modules/persist-step-form-values/PersistStepFormValues';
@@ -106,6 +106,7 @@ const ArbeidstidForm: React.FunctionComponent = ({ goBack }) => {
sak.søknadsperioder,
sak.arbeidsgivereIkkeISak,
aktiviteterValuesMap,
+ getTillattEndringsperiode(getEndringsdato()),
søknadsdata.ukjentArbeidsforhold,
),
...getAktiviteterSomSkalEndres(sak.arbeidsaktiviteter),
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
index 6ec9652256..a783551b83 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
@@ -37,9 +37,10 @@ const arbeidsukeToArbeidstidUkerItem = (
isoDateRange: arbeidsuke.isoDateRange,
periode: arbeidsuke.periode,
kanEndres: durationUtils.durationIsGreatherThanZero(arbeidsuke.normalt.uke),
- kanVelges: !erKortUke && dagerMedFerie.length === 0,
+ kanVelges: !erKortUke && dagerMedFerie.length === 0 && arbeidsuke.arbeidsdagerIkkeAnsatt.length === 0,
antallDagerMedArbeidstid: arbeidsuke.antallDagerMedArbeidstid,
erKortUke,
+ arbeidsdagerIkkeAnsatt: arbeidsuke.arbeidsdagerIkkeAnsatt || [],
harFeriedager: dagerMedFerie && dagerMedFerie.length > 0,
harFjernetFeriedager: dagerMedFjernetFerie && dagerMedFjernetFerie.length > 0,
ferie: {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
index 7218d4b50a..3fdfffab33 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
@@ -73,6 +73,7 @@ const ArbeidsaktivitetContent: React.FunctionComponent = ({
)}
visEndringSomOpprinnelig={erNyArbeidsgiver}
triggerResetValgCounter={resetUkerTabellCounter}
+ arbeidsgivernavn={arbeidsaktivitet.navn}
onEndreUker={(uker: ArbeidstidUkerItem[]) => {
setArbeidsukerForEndring(uker.map((uke) => periode.arbeidsuker[uke.isoDateRange]));
}}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
index e22add7330..aa12481821 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
@@ -40,6 +40,7 @@ const ArbeidstidArbeidstakerOppsummering = ({ arbeidsgivere, arbeidstaker, arbei
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
index 4af25ab5fc..3cfc6bc614 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
@@ -47,6 +47,7 @@ const ArbeidstidOppsummering: React.FunctionComponent = ({ arbeidstid, ar
<>
@@ -63,6 +64,7 @@ const ArbeidstidOppsummering: React.FunctionComponent = ({ arbeidstid, ar
listItems={oppsummeringStepUtils.getArbeidstidUkerItems(
selvstendigNæringsdrivendeArbeidstidInfo.perioder,
)}
+ arbeidsgivernavn="Selvstendig næringsdrivende"
arbeidstidKolonneTittel={arbeidstidKolonneTittel}
/>
>
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
index 4a0a25cfa1..2d04e93f0e 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
@@ -61,6 +61,7 @@ const getArbeidsukeListItemFromArbeidstidPeriodeApiData = (
periode,
antallDagerMedArbeidstid,
erKortUke: erKortArbeidsuke(periode),
+ arbeidsdagerIkkeAnsatt: [], //TODO
opprinnelig: {
normalt: getTimerPerUkeFraTimerPerDag(
ISODurationToDuration(_opprinneligNormaltPerDag),
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
index 6d7b2ed88c..70405d8685 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
@@ -62,6 +62,7 @@ export interface Arbeidsuke {
faktisk?: ArbeidsukeTimer;
normalt: ArbeidsukeTimer;
antallDagerMedArbeidstid: number;
+ arbeidsdagerIkkeAnsatt: Date[];
}
export type ArbeidsukeMap = ISODateRangeMap;
@@ -77,6 +78,7 @@ interface ArbeidsaktivitetBase {
perioderMedArbeidstid: PeriodeMedArbeidstid[];
harPerioderFørTillattEndringsperiode: boolean;
harPerioderEtterTillattEndringsperiode: boolean;
+ ansettelsesperioderInnenforEndringsperiode: DateRange[];
}
export interface ArbeidsaktivitetArbeidstaker extends ArbeidsaktivitetBase {
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/arbeidsukeUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/arbeidsukeUtils.ts
index c81148c065..60928167e7 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/arbeidsukeUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/arbeidsukeUtils.ts
@@ -1,16 +1,12 @@
import {
dateFormatter,
DateRange,
- dateRangeToISODateRange,
durationToISODuration,
- durationUtils,
getDatesInDateRange,
ISODate,
- numberDurationAsDuration,
} from '@navikt/sif-common-utils';
-import { ArbeidstidEnkeltdagMap, Arbeidsuke, ArbeidsukeTimer } from '@types';
+import { ArbeidstidEnkeltdagMap, Arbeidsuke } from '@types';
import dayjs from 'dayjs';
-import { beregnSnittTimerPerDag } from './beregnUtils';
export const sorterArbeidsuker = (a1: Arbeidsuke, a2: Arbeidsuke): number => {
return dayjs(a1.periode.from).isBefore(a2.periode.from) ? -1 : 1;
@@ -57,42 +53,42 @@ export const getDagerFraEnkeltdagMap = (arbeidstidEnkeltdager: ArbeidstidEnkeltd
return Object.keys(arbeidstidEnkeltdager).sort();
};
-/**
- * Mapper periode og enkeltdager med arbeid om til Arbeidsuke. Summerer tid per dag om til timer per uke
- * @param periode DateRange for uken
- * @param arbeidstidEnkeltdagerIUken Enkeltdager med arbeidstid innenfor uken
- * @returns Arbeidsuke
- */
-export const getArbeidsukeFromEnkeltdagerIUken = (
- uke: DateRange,
- arbeidstidEnkeltdagerIUken: ArbeidstidEnkeltdagMap,
-): Arbeidsuke => {
- const dagerSøktFor = Object.keys(arbeidstidEnkeltdagerIUken);
- const antallDagerMedArbeidstid = dagerSøktFor.length;
- const normalt = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].normalt);
- const normaltSummertHeleUken = numberDurationAsDuration(durationUtils.summarizeDurations(normalt));
- const faktiskEnkeltdager = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].faktisk);
- const harFaktiskArbeidstid = faktiskEnkeltdager.some((f) => f !== undefined);
- const faktiskSummertHeleUken = harFaktiskArbeidstid
- ? numberDurationAsDuration(durationUtils.summarizeDurations(faktiskEnkeltdager))
- : undefined;
- const faktisk: ArbeidsukeTimer | undefined = faktiskSummertHeleUken
- ? {
- uke: faktiskSummertHeleUken,
- dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerMedArbeidstid),
- }
- : undefined;
+// /**
+// * Mapper periode og enkeltdager med arbeid om til Arbeidsuke. Summerer tid per dag om til timer per uke
+// * @param periode DateRange for uken
+// * @param arbeidstidEnkeltdagerIUken Enkeltdager med arbeidstid innenfor uken
+// * @returns Arbeidsuke
+// */
+// export const getArbeidsukeFromEnkeltdagerIUken = (
+// uke: DateRange,
+// arbeidstidEnkeltdagerIUken: ArbeidstidEnkeltdagMap,
+// ): Arbeidsuke => {
+// const dagerSøktFor = Object.keys(arbeidstidEnkeltdagerIUken);
+// const antallDagerMedArbeidstid = dagerSøktFor.length;
+// const normalt = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].normalt);
+// const normaltSummertHeleUken = numberDurationAsDuration(durationUtils.summarizeDurations(normalt));
+// const faktiskEnkeltdager = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].faktisk);
+// const harFaktiskArbeidstid = faktiskEnkeltdager.some((f) => f !== undefined);
+// const faktiskSummertHeleUken = harFaktiskArbeidstid
+// ? numberDurationAsDuration(durationUtils.summarizeDurations(faktiskEnkeltdager))
+// : undefined;
+// const faktisk: ArbeidsukeTimer | undefined = faktiskSummertHeleUken
+// ? {
+// uke: faktiskSummertHeleUken,
+// dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerMedArbeidstid),
+// }
+// : undefined;
- const arbeidsuke: Arbeidsuke = {
- isoDateRange: dateRangeToISODateRange(uke),
- periode: uke,
- arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
- faktisk,
- normalt: {
- uke: normaltSummertHeleUken,
- dag: beregnSnittTimerPerDag(normaltSummertHeleUken, antallDagerMedArbeidstid),
- },
- antallDagerMedArbeidstid: dagerSøktFor.length,
- };
- return arbeidsuke;
-};
+// const arbeidsuke: Arbeidsuke = {
+// isoDateRange: dateRangeToISODateRange(uke),
+// periode: uke,
+// arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
+// faktisk,
+// normalt: {
+// uke: normaltSummertHeleUken,
+// dag: beregnSnittTimerPerDag(normaltSummertHeleUken, antallDagerMedArbeidstid),
+// },
+// antallDagerMedArbeidstid: dagerSøktFor.length,
+// };
+// return arbeidsuke;
+// };
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index de576bfd80..61005b8c75 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -12,6 +12,7 @@ import {
getLastDateInDateRanges,
isDateInDateRange,
isDateInDateRanges,
+ isDateWeekDay,
ISODateRangeToDateRange,
ISODateToDate,
joinAdjacentDateRanges,
@@ -314,15 +315,25 @@ const fjernArbeidstidEnkeltdagerUtenforPeriode = (
return enkeltdagerMap;
};
+const getUkedagerIkkeAnsattIPeriode = (periode: DateRange, ansettelsesperioder?: DateRange[]): Date[] => {
+ if (!ansettelsesperioder) {
+ return [];
+ }
+ return getDatesInDateRange(periode)
+ .filter(isDateWeekDay)
+ .filter((d) => !isDateInDateRanges(d, ansettelsesperioder));
+};
+
/**
* Mapper periode og enkeltdager med arbeid om til Arbeidsuke. Summerer tid per dag om til timer per uke
* @param periode DateRange for uken
* @param arbeidstidEnkeltdagerIUken Enkeltdager med arbeidstid
* @returns Arbeidsuke
*/
-const getArbeidsukeFromEnkeltdagerIUken = (
+export const getArbeidsukeFromEnkeltdagerIUken = (
periode: DateRange,
arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap,
+ ansettelsesperioder?: DateRange[],
): Arbeidsuke => {
const arbeidstidEnkeltdagerIUken = fjernArbeidstidEnkeltdagerUtenforPeriode(periode, arbeidstidEnkeltdager);
const dagerSøktFor = Object.keys(arbeidstidEnkeltdagerIUken);
@@ -336,6 +347,7 @@ const getArbeidsukeFromEnkeltdagerIUken = (
isoDateRange: dateRangeToISODateRange(periode),
periode: periode,
arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
+ arbeidsdagerIkkeAnsatt: getUkedagerIkkeAnsattIPeriode(periode, ansettelsesperioder),
faktisk: {
uke: faktiskSummertHeleUken,
dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerMedArbeidstid),
@@ -379,7 +391,10 @@ const setArbeidsukeSluttdatoTilSisteDagSøktFor = (arbeidsuke: Arbeidsuke): Arbe
* @param enkeltdager
* @returns Array av arbeidsuker
*/
-const getArbeidsukerFromEnkeltdager = (enkeltdager: ArbeidstidEnkeltdagMap): Arbeidsuke[] => {
+const getArbeidsukerFromEnkeltdager = (
+ enkeltdager: ArbeidstidEnkeltdagMap,
+ ansettelsesperioder?: DateRange[],
+): Arbeidsuke[] => {
const ukerMap: {
[key: string]: {
dagerMap: ArbeidstidEnkeltdagMap;
@@ -408,12 +423,16 @@ const getArbeidsukerFromEnkeltdager = (enkeltdager: ArbeidstidEnkeltdagMap): Arb
const arbeidsuker = Object.keys(ukerMap).map((isoDateRange) => {
const uke = ISODateRangeToDateRange(isoDateRange);
const dager = ukerMap[isoDateRange].dagerMap;
- return getArbeidsukeFromEnkeltdagerIUken(uke, dager);
+ return getArbeidsukeFromEnkeltdagerIUken(uke, dager, ansettelsesperioder);
});
/** Juster start og sluttdato til første og siste dag søkt for (dag med arbeidstid) */
- arbeidsuker[0] = setArbeidsukeStartdatoTilFørsteDagSøktFor(arbeidsuker[0]);
- arbeidsuker[arbeidsuker.length - 1] = setArbeidsukeSluttdatoTilSisteDagSøktFor(arbeidsuker[arbeidsuker.length - 1]);
+ if (arbeidsuker.length > 0) {
+ arbeidsuker[0] = setArbeidsukeStartdatoTilFørsteDagSøktFor(arbeidsuker[0]);
+ arbeidsuker[arbeidsuker.length - 1] = setArbeidsukeSluttdatoTilSisteDagSøktFor(
+ arbeidsuker[arbeidsuker.length - 1],
+ );
+ }
return arbeidsuker;
};
@@ -426,7 +445,7 @@ const getArbeidsukerFromEnkeltdager = (enkeltdager: ArbeidstidEnkeltdagMap): Arb
const getPerioderMedArbeidstid = (
arbeidstidPeriodeMap: K9SakArbeidstidPeriodeMap,
tillattEndringsperiode: DateRange,
- ansettelsesperioder: MaybeDateRange[],
+ ansettelsesperioderInnenforEndringsperiode: DateRange[],
): PeriodeMedArbeidstid[] => {
const perioder = trimArbeidstidTilTillattEndringsperiode(arbeidstidPeriodeMap, tillattEndringsperiode);
@@ -435,9 +454,12 @@ const getPerioderMedArbeidstid = (
const arbeidsdagerSomKanEndres = getArbeidsdagerInneforEndringsperiodeOgAnsettelsesperioder(
enkeltdagerIPeriode,
tillattEndringsperiode,
- ansettelsesperioder,
+ ansettelsesperioderInnenforEndringsperiode,
+ );
+ const uker = getArbeidsukerFromEnkeltdager(
+ arbeidsdagerSomKanEndres,
+ ansettelsesperioderInnenforEndringsperiode,
);
- const uker = getArbeidsukerFromEnkeltdager(arbeidsdagerSomKanEndres);
const periodeSomKanEndres: DateRange = { from: uker[0].periode.from, to: uker[uker.length - 1].periode.to };
const arbeidsuker = getArbeidsukerMapFromArbeidsuker(uker);
const periode: PeriodeMedArbeidstid = {
@@ -489,14 +511,17 @@ const harPerioderEtterEndringsperiode = (
const getArbeidsaktivitetPerioderPart = (
arbeidstidPerioder: K9SakArbeidstidPeriodeMap,
endringsperiode: DateRange,
- ansettelsesperioder: MaybeDateRange[],
+ ansettelsesperioderInnenforEndringsperiode: DateRange[],
): Pick<
Arbeidsaktivitet,
'perioderMedArbeidstid' | 'harPerioderEtterTillattEndringsperiode' | 'harPerioderFørTillattEndringsperiode'
> => {
- console.log(ansettelsesperioder);
return {
- perioderMedArbeidstid: getPerioderMedArbeidstid(arbeidstidPerioder, endringsperiode, ansettelsesperioder),
+ perioderMedArbeidstid: getPerioderMedArbeidstid(
+ arbeidstidPerioder,
+ endringsperiode,
+ ansettelsesperioderInnenforEndringsperiode,
+ ),
harPerioderFørTillattEndringsperiode: harPerioderFørEndringsperiode(arbeidstidPerioder, endringsperiode),
harPerioderEtterTillattEndringsperiode: harPerioderEtterEndringsperiode(arbeidstidPerioder, endringsperiode),
};
@@ -528,20 +553,39 @@ const getArbeidsaktivitetArbeidstaker = (
throw error;
}
const endringsperiodeForArbeidsgiver = getEndringsperiodeForArbeidsgiver(endringsperiode, arbeidsgiver);
+ const ansettelsesperioderInnenforEndringsperiode = ensureAnsettelsesperioderIsValidDateRange(
+ arbeidsgiver.ansettelsesperioder,
+ endringsperiode,
+ );
return {
key: arbeidsgiver.key,
arbeidsgiver,
type: ArbeidsaktivitetType.arbeidstaker,
navn: arbeidsgiver.navn,
erUkjentArbeidsforhold: false,
- // ansettelsesperioderInnenforEndringsperiode: arbeidsgiver.ansettelsesperioder.map((a) => ({
- // from: a.from || endringsperiode.from,
- // to: a.to || endringsperiode.to,
- // })),
- ...getArbeidsaktivitetPerioderPart(perioder, endringsperiodeForArbeidsgiver, arbeidsgiver.ansettelsesperioder),
+ ansettelsesperioderInnenforEndringsperiode,
+ ...getArbeidsaktivitetPerioderPart(
+ perioder,
+ endringsperiodeForArbeidsgiver,
+ ansettelsesperioderInnenforEndringsperiode,
+ ),
};
};
+/** Går gjennom og endrer ansettelsesperioder til gyldig DateRange
+ * Bruker tillattEndringsperiode som erstatning hvis ansettelsesperiode mangler daga
+ */
+
+const ensureAnsettelsesperioderIsValidDateRange = (
+ ansettelsesperioder: MaybeDateRange[],
+ endringsperiode: DateRange,
+): DateRange[] => {
+ return ansettelsesperioder.map((a) => ({
+ from: a.from || endringsperiode.from,
+ to: a.to || endringsperiode.to,
+ }));
+};
+
/**
*
* @param frilanserArbeidstidInfo
@@ -557,7 +601,8 @@ const getArbeidsaktivitetFrilanser = (
key: ArbeidsaktivitetType.frilanser,
type: ArbeidsaktivitetType.frilanser,
navn: 'Frilanser',
- ...getArbeidsaktivitetPerioderPart(frilanserArbeidstidInfo.perioder, endringsperiode, []),
+ ansettelsesperioderInnenforEndringsperiode: [endringsperiode], // TODO
+ ...getArbeidsaktivitetPerioderPart(frilanserArbeidstidInfo.perioder, endringsperiode, [endringsperiode]),
}
: undefined;
};
@@ -577,11 +622,10 @@ const getArbeidsaktivitetSelvstendigNæringsdrivende = (
key: ArbeidsaktivitetType.selvstendigNæringsdrivende,
type: ArbeidsaktivitetType.selvstendigNæringsdrivende,
navn: 'Selvstendig næringsdrivende',
- ...getArbeidsaktivitetPerioderPart(
- selvstendigNæringsdrivendeArbeidstidInfo.perioder,
+ ansettelsesperioderInnenforEndringsperiode: [], // TODO
+ ...getArbeidsaktivitetPerioderPart(selvstendigNæringsdrivendeArbeidstidInfo.perioder, endringsperiode, [
endringsperiode,
- [],
- ),
+ ]),
}
: undefined;
};
@@ -678,16 +722,15 @@ export const _getSakFromK9Sak = {
const getArbeidsdagerInneforEndringsperiodeOgAnsettelsesperioder = (
arbeidsdager: ArbeidstidEnkeltdagMap,
tillattEndringsperiode: DateRange,
- ansettelsesperioder: MaybeDateRange[],
+ ansettelsesperioderInnenforEndringsperiode: DateRange[],
) => {
const arbeidsdagerInnenforPerioder: ArbeidstidEnkeltdagMap = {};
- const ansettelsesperiodeDateRanges = ansettelsesperioder.map((a) => ({
- from: a.from || tillattEndringsperiode.from,
- to: a.to || tillattEndringsperiode.to,
- }));
for (const [dato, info] of Object.entries(arbeidsdager)) {
const d = ISODateToDate(dato);
- if (isDateInDateRange(d, tillattEndringsperiode) && isDateInDateRanges(d, ansettelsesperiodeDateRanges)) {
+ if (
+ isDateInDateRange(d, tillattEndringsperiode) &&
+ isDateInDateRanges(d, ansettelsesperioderInnenforEndringsperiode)
+ ) {
arbeidsdagerInnenforPerioder[dato] = info;
}
}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
index 3afa5e880c..4d57233f78 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
@@ -3,6 +3,7 @@ import { ArbeidsgiverForEndring, Sak, SøknadApiData, Søknadsdata, ValgteEndrin
import { getArbeidstidApiDataFromSøknadsdata } from './getArbeidstidApiDataFromSøknadsdata';
import { getDataBruktTilUtledningAnnetDataApiData, getDataBruktTilUtledningApiData } from './getDataBruktTilUtledning';
import { getLovbestemtFerieApiDataFromSøknadsdata } from './getLovbestemtFerieApiDataFraSøknadsdata';
+import { getEndringsdato, getTillattEndringsperiode } from '../endringsperiode';
export const getApiDataFromSøknadsdata = (
søkerNorskIdent: string,
@@ -31,6 +32,7 @@ export const getApiDataFromSøknadsdata = (
lovbestemtFerie: lovbestemtFerie ? getLovbestemtFerieApiDataFromSøknadsdata(lovbestemtFerie) : undefined,
arbeidstid: arbeidstid
? getArbeidstidApiDataFromSøknadsdata(
+ getTillattEndringsperiode(getEndringsdato()),
sak.søknadsperioder,
arbeidstid.arbeidsaktivitet,
sak.arbeidsaktiviteter,
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
index 8ebee9ad13..33ebc86017 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
@@ -95,6 +95,7 @@ const getArbeidsaktivitetArbeidstidInfo = (
};
export const getArbeidstidApiDataFromSøknadsdata = (
+ endringsperiode: DateRange,
søknadsperioder: DateRange[],
arbeidsaktivitetEndring: ArbeidstidArbeidsaktivitetMap,
arbeidsaktiviteter: Arbeidsaktiviteter,
@@ -148,6 +149,7 @@ export const getArbeidstidApiDataFromSøknadsdata = (
søknadsperioder,
arbeidsgiver,
arbeidsforhold,
+ endringsperiode,
);
const arbeidsuker = getArbeidsukerIArbeidsaktivitet(arbeidsaktivitet);
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
index 440c3072c1..d4f55202d1 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
@@ -3,6 +3,7 @@ import {
dateRangeToISODateRange,
dateToISODate,
Duration,
+ ensureDateRange,
getDateRangeFromDateRanges,
getDateRangesWithinDateRange,
getDatesInDateRange,
@@ -21,8 +22,10 @@ import {
UkjentArbeidsforholdSøknadsdata,
} from '@types';
import { ArbeidsaktivitetFormValuesMap } from '../søknad/steps/arbeidstid/ArbeidstidForm';
-import { getArbeidsukeFromEnkeltdagerIUken } from './arbeidsukeUtils';
+// import { getArbeidsukeFromEnkeltdagerIUken } from './arbeidsukeUtils';
import { beregnSnittTimerPerDag } from './beregnUtils';
+import { getArbeidsukeFromEnkeltdagerIUken } from './getSakFromK9Sak';
+import { getEndringsdato, getTillattEndringsperiode } from './endringsperiode';
export const getSøknadsperioderForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
@@ -70,7 +73,11 @@ export const getPerioderMedArbeidstidForUkjentArbeidsforhold = (
getDatesInDateRange(uke, true).forEach((date) => {
enkeldagerMap[dateToISODate(date)] = arbeidstidPerDag;
});
- arbeidsuker[dateRangeToISODateRange(uke)] = getArbeidsukeFromEnkeltdagerIUken(uke, enkeldagerMap);
+ arbeidsuker[dateRangeToISODateRange(uke)] = getArbeidsukeFromEnkeltdagerIUken(
+ uke,
+ enkeldagerMap,
+ [getTillattEndringsperiode(getEndringsdato())], // TODO - fikses når andre todos i denne er tatt
+ );
});
perioderMedArbeidstid.push({
arbeidsuker,
@@ -99,6 +106,7 @@ export const getArbeidsaktivitetForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
arbeidsgiver: ArbeidsgiverForEndring,
arbeidsforhold: ArbeidsforholdAktivt,
+ endringsperiode: DateRange,
arbeiderIPerioden?: ArbeiderIPeriodenSvar,
): Arbeidsaktivitet => {
const faktiskArbeidstid = getFaktiskArbeidstidPerUkeForUkjentArbeidsforhold(arbeidsforhold, arbeiderIPerioden);
@@ -111,6 +119,9 @@ export const getArbeidsaktivitetForUkjentArbeidsforhold = (
navn: arbeidsgiver.navn,
harPerioderEtterTillattEndringsperiode: false,
harPerioderFørTillattEndringsperiode: false,
+ ansettelsesperioderInnenforEndringsperiode: arbeidsgiver.ansettelsesperioder.map((periode) =>
+ ensureDateRange(periode, endringsperiode),
+ ),
perioderMedArbeidstid: getPerioderMedArbeidstidForUkjentArbeidsforhold(
søknadsperioder,
arbeidsgiver,
@@ -125,6 +136,7 @@ export const getArbeidsaktiviteterForUkjenteArbeidsforhold = (
søknadsperioder: DateRange[],
arbeidsgivereIkkeISak: ArbeidsgiverForEndring[],
arbeidsaktivitetFormValues: ArbeidsaktivitetFormValuesMap,
+ endringsperiode: DateRange,
ukjentArbeidsforhold?: UkjentArbeidsforholdSøknadsdata,
): Arbeidsaktivitet[] => {
const aktiviteter: Arbeidsaktivitet[] = [];
@@ -142,6 +154,7 @@ export const getArbeidsaktiviteterForUkjenteArbeidsforhold = (
søknadsperioder,
arbeidsgiver,
arbeidsforhold,
+ endringsperiode,
arbeiderIPerioden,
),
);
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
index a82e19841e..723c66dc9e 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
@@ -33,6 +33,7 @@ const getMockArbeidsuke = (
isoDateRange,
periode,
arbeidstidEnkeltdager,
+ arbeidsdagerIkkeAnsatt: [],
normalt: {
uke: decimalDurationToDuration(durationToDecimalDuration(normaltPerDag) * antallDagerMedArbeidstid),
dag: normaltPerDag,
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
index 037818806f..9ec6a8b6b6 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
@@ -54,6 +54,9 @@ export const sakMock: Sak = {
type: ArbeidsaktivitetType.arbeidstaker,
navn: 'HÅRREISENDE FRISØR',
erUkjentArbeidsforhold: false,
+ ansettelsesperioderInnenforEndringsperiode: [
+ { from: new Date('2002-05-09T00:00:00.000Z'), to: new Date('2025-05-09T00:00:00.000Z') },
+ ],
perioderMedArbeidstid: [
{
from: new Date('2024-02-26T00:00:00.000Z'),
@@ -65,6 +68,7 @@ export const sakMock: Sak = {
from: new Date('2024-02-26T00:00:00.000Z'),
to: new Date('2024-02-29T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-02-26': {
faktisk: {
@@ -141,6 +145,7 @@ export const sakMock: Sak = {
from: new Date('2024-03-25T00:00:00.000Z'),
to: new Date('2024-03-31T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-03-25': {
faktisk: {
@@ -221,6 +226,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-01T00:00:00.000Z'),
to: new Date('2024-04-07T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-01': {
faktisk: {
@@ -301,6 +307,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-14T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -381,6 +388,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-15T00:00:00.000Z'),
to: new Date('2024-04-21T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-15': {
faktisk: {
@@ -461,6 +469,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-22T00:00:00.000Z'),
to: new Date('2024-04-28T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-22': {
faktisk: {
@@ -541,6 +550,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-29T00:00:00.000Z'),
to: new Date('2024-05-05T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-29': {
faktisk: {
@@ -621,6 +631,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-06T00:00:00.000Z'),
to: new Date('2024-05-12T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-06': {
faktisk: {
@@ -701,6 +712,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-13T00:00:00.000Z'),
to: new Date('2024-05-19T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-13': {
faktisk: {
@@ -781,6 +793,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-20T00:00:00.000Z'),
to: new Date('2024-05-26T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-20': {
faktisk: {
@@ -861,6 +874,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-27T00:00:00.000Z'),
to: new Date('2024-05-31T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-27': {
faktisk: {
@@ -946,6 +960,9 @@ export const sakMock: Sak = {
key: 'selvstendigNæringsdrivende',
type: ArbeidsaktivitetType.selvstendigNæringsdrivende,
navn: 'Selvstendig næringsdrivende',
+ ansettelsesperioderInnenforEndringsperiode: [
+ { from: new Date('2024-04-08T00:00:00.000Z'), to: new Date('2024-04-09T00:00:00.000Z') },
+ ],
perioderMedArbeidstid: [
{
from: new Date('2024-04-08T00:00:00.000Z'),
@@ -957,6 +974,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-09T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -1035,6 +1053,9 @@ export const sakMock: Sak = {
type: ArbeidsaktivitetType.arbeidstaker,
navn: 'HÅRREISENDE FRISØR',
erUkjentArbeidsforhold: false,
+ ansettelsesperioderInnenforEndringsperiode: [
+ { from: new Date('2002-05-09T00:00:00.000Z'), to: new Date('2025-05-09T00:00:00.000Z') },
+ ],
perioderMedArbeidstid: [
{
from: new Date('2024-02-26T00:00:00.000Z'),
@@ -1046,6 +1067,7 @@ export const sakMock: Sak = {
from: new Date('2024-02-26T00:00:00.000Z'),
to: new Date('2024-02-29T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-02-26': {
faktisk: {
@@ -1122,6 +1144,7 @@ export const sakMock: Sak = {
from: new Date('2024-03-25T00:00:00.000Z'),
to: new Date('2024-03-31T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-03-25': {
faktisk: {
@@ -1202,6 +1225,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-01T00:00:00.000Z'),
to: new Date('2024-04-07T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-01': {
faktisk: {
@@ -1282,6 +1306,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-14T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -1362,6 +1387,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-15T00:00:00.000Z'),
to: new Date('2024-04-21T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-15': {
faktisk: {
@@ -1442,6 +1468,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-22T00:00:00.000Z'),
to: new Date('2024-04-28T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-22': {
faktisk: {
@@ -1522,6 +1549,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-29T00:00:00.000Z'),
to: new Date('2024-05-05T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-29': {
faktisk: {
@@ -1602,6 +1630,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-06T00:00:00.000Z'),
to: new Date('2024-05-12T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-06': {
faktisk: {
@@ -1682,6 +1711,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-13T00:00:00.000Z'),
to: new Date('2024-05-19T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-13': {
faktisk: {
@@ -1762,6 +1792,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-20T00:00:00.000Z'),
to: new Date('2024-05-26T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-20': {
faktisk: {
@@ -1842,6 +1873,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-27T00:00:00.000Z'),
to: new Date('2024-05-31T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-27': {
faktisk: {
@@ -1926,6 +1958,9 @@ export const sakMock: Sak = {
key: 'selvstendigNæringsdrivende',
type: ArbeidsaktivitetType.selvstendigNæringsdrivende,
navn: 'Selvstendig næringsdrivende',
+ ansettelsesperioderInnenforEndringsperiode: [
+ { from: new Date('2024-04-08T00:00:00.000Z'), to: new Date('2024-04-09T00:00:00.000Z') },
+ ],
perioderMedArbeidstid: [
{
from: new Date('2024-04-08T00:00:00.000Z'),
@@ -1937,6 +1972,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-09T00:00:00.000Z'),
},
+ arbeidsdagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
diff --git a/packages/sif-common-utils/src/dateRangeUtils.ts b/packages/sif-common-utils/src/dateRangeUtils.ts
index 0a289f4a48..b0cceb3584 100644
--- a/packages/sif-common-utils/src/dateRangeUtils.ts
+++ b/packages/sif-common-utils/src/dateRangeUtils.ts
@@ -743,6 +743,13 @@ export const getFirstDateInDateRanges = (dateRanges: DateRange[]): Date | undefi
return dates[0];
};
+export const ensureDateRange = (maybeDateRange: MaybeDateRange, fallbackDateRange: DateRange): DateRange => {
+ return {
+ from: maybeDateRange.from || fallbackDateRange.from,
+ to: maybeDateRange.to || fallbackDateRange.to,
+ };
+};
+
// const dateRangeDifference = (range1: DateRange[], range2: DateRange[]): DateRange[] {
// const difference: DateRange[] = [];
// range1.forEach((r1) => {
@@ -763,6 +770,7 @@ export const dateRangeUtils = {
dateRangeIsAdjacentToDateRange,
dateRangesCollide,
dateRangeToISODateRange,
+ ensureDateRange,
datesCollideWithDateRanges,
getDateRangeFromDates,
getDateRangeFromDateRanges,
From 8051c862b250164b1733c72c011e5240adb7cb83 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 17 Jan 2025 16:01:07 +0100
Subject: [PATCH 06/31] dagerIkkeAnsatt
---
.../ArbeidstidUker.stories.tsx | 36 +++++++-------
.../arbeidstid-uker/ArbeidstidUker.tsx | 4 +-
.../components/ArbeidstidUkeListe.tsx | 2 +-
.../components/ArbeidstidUkeTabell.tsx | 6 +--
.../components/UkeInfoTooltip.tsx | 2 +-
.../types/ArbeidstidUkerItem.ts | 2 +-
.../EndreArbeidstidForm.tsx | 2 +-
.../arbeidsaktivitetUtils.ts" | 4 +-
.../oppsummering/oppsummeringStepUtils.ts" | 2 +-
.../src/app/types/Sak.ts | 2 +-
.../src/app/utils/getSakFromK9Sak.ts | 9 ++--
.../src/mocks/data/app/arbeidsukerMockData.ts | 2 +-
.../src/storybook/data/sakMock.ts | 48 +++++++++----------
13 files changed, 58 insertions(+), 63 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
index 3b3ad7ef05..516151d64a 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
@@ -26,7 +26,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: false,
antallDagerMedArbeidstid: 2,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: true,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -55,7 +55,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -84,7 +84,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -113,7 +113,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -142,7 +142,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -171,7 +171,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -200,7 +200,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -229,7 +229,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -258,7 +258,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -287,7 +287,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -316,7 +316,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -345,7 +345,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -374,7 +374,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -403,7 +403,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -432,7 +432,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -461,7 +461,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -490,7 +490,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -519,7 +519,7 @@ export const Default: Story = {
kanEndres: true,
kanVelges: true,
antallDagerMedArbeidstid: 5,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
index 66f1a9b7fe..2d9abfcf1e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
@@ -58,9 +58,7 @@ const ArbeidstidUker: React.FunctionComponent = ({
const renderCompactTable = useMediaQuery({ minWidth: 736 }) === false && renderAsList === false;
const korteUker = visibleItems.filter((i) => i.erKortUke).map((uke) => uke.periode);
- const ukerMedDagerIkkeAnsatt = visibleItems
- .filter((i) => i.arbeidsdagerIkkeAnsatt.length > 0)
- .map((uke) => uke.periode);
+ const ukerMedDagerIkkeAnsatt = visibleItems.filter((i) => i.dagerIkkeAnsatt.length > 0).map((uke) => uke.periode);
const ukerMedFerie = visibleItems
.filter((i) => i.ferie && i.ferie?.dagerMedFerie.length > 0)
.map((uke) => uke.periode);
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
index 9fddfb86b6..cb3eefcbe5 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
@@ -59,7 +59,7 @@ const ArbeidstidUkeListe: React.FunctionComponent = ({
erKortUke={uke.erKortUke}
dagerMedFerie={uke.ferie?.dagerMedFerie}
dagerMedFjernetFerie={uke.ferie?.dagerMedFjernetFerie}
- arbeidsdagerIkkeAnsatt={uke.arbeidsdagerIkkeAnsatt}
+ arbeidsdagerIkkeAnsatt={uke.dagerIkkeAnsatt}
/>
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
index 0e4b8bcb81..34ebf22bc7 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
@@ -152,7 +152,7 @@ const ArbeidstidUkeTabell: React.FunctionComponent = ({
dagerMedFerie={uke.ferie?.dagerMedFerie}
dagerMedFjernetFerie={uke.ferie?.dagerMedFjernetFerie}
erKortUke={uke.erKortUke}
- arbeidsdagerIkkeAnsatt={uke.arbeidsdagerIkkeAnsatt}
+ arbeidsdagerIkkeAnsatt={uke.dagerIkkeAnsatt}
/>
)}
@@ -176,13 +176,13 @@ const ArbeidstidUkeTabell: React.FunctionComponent = ({
)}
- {(uke.erKortUke || uke.arbeidsdagerIkkeAnsatt.length > 0) && (
+ {(uke.erKortUke || uke.dagerIkkeAnsatt.length > 0) && (
)}
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
index b7c7b4806c..66e50ed6ca 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
@@ -10,7 +10,7 @@ interface Props {
}
const UkeInfoTooltip: React.FunctionComponent = ({ uke, arbeidsgivernavn }) => {
- const { arbeidsdagerIkkeAnsatt, erKortUke } = uke;
+ const { dagerIkkeAnsatt: arbeidsdagerIkkeAnsatt, erKortUke } = uke;
if (erKortUke && arbeidsdagerIkkeAnsatt.length === 0) {
return (
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
index d2f2b7b5a6..0eda26d99c 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
@@ -8,7 +8,7 @@ export interface ArbeidstidUkerItem {
periode: DateRange;
antallDagerMedArbeidstid: number;
erKortUke: boolean;
- arbeidsdagerIkkeAnsatt: Date[];
+ dagerIkkeAnsatt: Date[];
harFeriedager?: boolean;
harFjernetFeriedager?: boolean;
ferie?: {
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
index b90d3f02a1..2e068cde6f 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
@@ -283,7 +283,7 @@ const getUkerOgÅrBeskrivelse = (
)}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
index a783551b83..eabd8d7c36 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
@@ -37,10 +37,10 @@ const arbeidsukeToArbeidstidUkerItem = (
isoDateRange: arbeidsuke.isoDateRange,
periode: arbeidsuke.periode,
kanEndres: durationUtils.durationIsGreatherThanZero(arbeidsuke.normalt.uke),
- kanVelges: !erKortUke && dagerMedFerie.length === 0 && arbeidsuke.arbeidsdagerIkkeAnsatt.length === 0,
+ kanVelges: !erKortUke && dagerMedFerie.length === 0 && arbeidsuke.dagerIkkeAnsatt.length === 0,
antallDagerMedArbeidstid: arbeidsuke.antallDagerMedArbeidstid,
erKortUke,
- arbeidsdagerIkkeAnsatt: arbeidsuke.arbeidsdagerIkkeAnsatt || [],
+ dagerIkkeAnsatt: arbeidsuke.dagerIkkeAnsatt || [],
harFeriedager: dagerMedFerie && dagerMedFerie.length > 0,
harFjernetFeriedager: dagerMedFjernetFerie && dagerMedFjernetFerie.length > 0,
ferie: {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
index 2d04e93f0e..cfe2c820e6 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
@@ -61,7 +61,7 @@ const getArbeidsukeListItemFromArbeidstidPeriodeApiData = (
periode,
antallDagerMedArbeidstid,
erKortUke: erKortArbeidsuke(periode),
- arbeidsdagerIkkeAnsatt: [], //TODO
+ dagerIkkeAnsatt: [], //TODO
opprinnelig: {
normalt: getTimerPerUkeFraTimerPerDag(
ISODurationToDuration(_opprinneligNormaltPerDag),
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
index 70405d8685..88f6ff114a 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
@@ -62,7 +62,7 @@ export interface Arbeidsuke {
faktisk?: ArbeidsukeTimer;
normalt: ArbeidsukeTimer;
antallDagerMedArbeidstid: number;
- arbeidsdagerIkkeAnsatt: Date[];
+ dagerIkkeAnsatt: Date[];
}
export type ArbeidsukeMap = ISODateRangeMap;
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index 61005b8c75..6dcca9096e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -12,7 +12,6 @@ import {
getLastDateInDateRanges,
isDateInDateRange,
isDateInDateRanges,
- isDateWeekDay,
ISODateRangeToDateRange,
ISODateToDate,
joinAdjacentDateRanges,
@@ -315,13 +314,11 @@ const fjernArbeidstidEnkeltdagerUtenforPeriode = (
return enkeltdagerMap;
};
-const getUkedagerIkkeAnsattIPeriode = (periode: DateRange, ansettelsesperioder?: DateRange[]): Date[] => {
+const getDagerIkkeAnsattIPeriode = (periode: DateRange, ansettelsesperioder?: DateRange[]): Date[] => {
if (!ansettelsesperioder) {
return [];
}
- return getDatesInDateRange(periode)
- .filter(isDateWeekDay)
- .filter((d) => !isDateInDateRanges(d, ansettelsesperioder));
+ return getDatesInDateRange(periode).filter((d) => !isDateInDateRanges(d, ansettelsesperioder));
};
/**
@@ -347,7 +344,7 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
isoDateRange: dateRangeToISODateRange(periode),
periode: periode,
arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
- arbeidsdagerIkkeAnsatt: getUkedagerIkkeAnsattIPeriode(periode, ansettelsesperioder),
+ dagerIkkeAnsatt: getDagerIkkeAnsattIPeriode(periode, ansettelsesperioder),
faktisk: {
uke: faktiskSummertHeleUken,
dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerMedArbeidstid),
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
index 723c66dc9e..09afb64e40 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
@@ -33,7 +33,7 @@ const getMockArbeidsuke = (
isoDateRange,
periode,
arbeidstidEnkeltdager,
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
normalt: {
uke: decimalDurationToDuration(durationToDecimalDuration(normaltPerDag) * antallDagerMedArbeidstid),
dag: normaltPerDag,
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
index 9ec6a8b6b6..93db5e06cb 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
@@ -68,7 +68,7 @@ export const sakMock: Sak = {
from: new Date('2024-02-26T00:00:00.000Z'),
to: new Date('2024-02-29T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-02-26': {
faktisk: {
@@ -145,7 +145,7 @@ export const sakMock: Sak = {
from: new Date('2024-03-25T00:00:00.000Z'),
to: new Date('2024-03-31T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-03-25': {
faktisk: {
@@ -226,7 +226,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-01T00:00:00.000Z'),
to: new Date('2024-04-07T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-01': {
faktisk: {
@@ -307,7 +307,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-14T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -388,7 +388,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-15T00:00:00.000Z'),
to: new Date('2024-04-21T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-15': {
faktisk: {
@@ -469,7 +469,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-22T00:00:00.000Z'),
to: new Date('2024-04-28T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-22': {
faktisk: {
@@ -550,7 +550,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-29T00:00:00.000Z'),
to: new Date('2024-05-05T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-29': {
faktisk: {
@@ -631,7 +631,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-06T00:00:00.000Z'),
to: new Date('2024-05-12T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-06': {
faktisk: {
@@ -712,7 +712,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-13T00:00:00.000Z'),
to: new Date('2024-05-19T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-13': {
faktisk: {
@@ -793,7 +793,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-20T00:00:00.000Z'),
to: new Date('2024-05-26T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-20': {
faktisk: {
@@ -874,7 +874,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-27T00:00:00.000Z'),
to: new Date('2024-05-31T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-27': {
faktisk: {
@@ -974,7 +974,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-09T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -1067,7 +1067,7 @@ export const sakMock: Sak = {
from: new Date('2024-02-26T00:00:00.000Z'),
to: new Date('2024-02-29T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-02-26': {
faktisk: {
@@ -1144,7 +1144,7 @@ export const sakMock: Sak = {
from: new Date('2024-03-25T00:00:00.000Z'),
to: new Date('2024-03-31T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-03-25': {
faktisk: {
@@ -1225,7 +1225,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-01T00:00:00.000Z'),
to: new Date('2024-04-07T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-01': {
faktisk: {
@@ -1306,7 +1306,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-14T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -1387,7 +1387,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-15T00:00:00.000Z'),
to: new Date('2024-04-21T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-15': {
faktisk: {
@@ -1468,7 +1468,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-22T00:00:00.000Z'),
to: new Date('2024-04-28T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-22': {
faktisk: {
@@ -1549,7 +1549,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-29T00:00:00.000Z'),
to: new Date('2024-05-05T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-29': {
faktisk: {
@@ -1630,7 +1630,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-06T00:00:00.000Z'),
to: new Date('2024-05-12T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-06': {
faktisk: {
@@ -1711,7 +1711,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-13T00:00:00.000Z'),
to: new Date('2024-05-19T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-13': {
faktisk: {
@@ -1792,7 +1792,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-20T00:00:00.000Z'),
to: new Date('2024-05-26T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-20': {
faktisk: {
@@ -1873,7 +1873,7 @@ export const sakMock: Sak = {
from: new Date('2024-05-27T00:00:00.000Z'),
to: new Date('2024-05-31T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-05-27': {
faktisk: {
@@ -1972,7 +1972,7 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-09T00:00:00.000Z'),
},
- arbeidsdagerIkkeAnsatt: [],
+ dagerIkkeAnsatt: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
From 37bd790be72f7555c87b08510f278c3fa0481459 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 17 Jan 2025 16:31:08 +0100
Subject: [PATCH 07/31] Info i EndreArbeidstidForm
---
.../components/KortUkeEllerIkkeAnsattInfo.tsx | 64 +++++++++++++++++++
.../components/UkeInfoTooltip.tsx | 7 +-
.../EndreArbeidstidForm.tsx | 22 +++----
.../components/ArbeidsaktivitetContent.tsx" | 1 +
4 files changed, 77 insertions(+), 17 deletions(-)
create mode 100644 apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo.tsx
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo.tsx
new file mode 100644
index 0000000000..653e24efeb
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo.tsx
@@ -0,0 +1,64 @@
+import { Alert, Box, VStack } from '@navikt/ds-react';
+import { erKortArbeidsuke, getDagerTekst } from '../../../utils';
+import { Arbeidsuke } from '../../../types';
+import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
+import { AppText } from '../../../i18n';
+import { dateFormatter } from '@navikt/sif-common-utils';
+
+interface Props {
+ arbeidsuke: Arbeidsuke;
+ arbeidsgivernavn: string;
+}
+
+const KortUkeInfo = ({ arbeidsuke }: { arbeidsuke: Arbeidsuke }) => (
+
+
+
+);
+
+const IkkeAnsattInfo = ({ arbeidsuke, arbeidsgivernavn }: { arbeidsuke: Arbeidsuke; arbeidsgivernavn: string }) => (
+
+
+ Kort uke - du er ikke registrert som ansatt hos {arbeidsgivernavn} alle dagene denne uken. Dager du ikke er
+ registrert som ansatt er:{' '}
+ {arbeidsuke.dagerIkkeAnsatt.map((d) => dateFormatter.dayDateShortMonth(d)).join(',')}.
+
+ Hvis dette ikke stemmer, må du ta kontakt med {arbeidsgivernavn}.
+
+);
+
+const KortUkeEllerIkkeAnsattInformasjon = ({ arbeidsuke, arbeidsgivernavn }: Props) => {
+ const gjelderKortUke = erKortArbeidsuke(arbeidsuke.periode);
+
+ if (gjelderKortUke && arbeidsuke.dagerIkkeAnsatt.length === 0) {
+ return (
+
+
+
+ );
+ }
+ if (!gjelderKortUke && arbeidsuke.dagerIkkeAnsatt.length > 0) {
+ return (
+
+
+
+
+
+ );
+ }
+ if (gjelderKortUke && arbeidsuke.dagerIkkeAnsatt.length > 0) {
+ return (
+
+
+
+
+
+
+
+
+ );
+ }
+ return null;
+};
+
+export default KortUkeEllerIkkeAnsattInformasjon;
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
index 66e50ed6ca..34c193e794 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
@@ -25,11 +25,10 @@ const UkeInfoTooltip: React.FunctionComponent = ({ uke, arbeidsgivernavn
const info = (
- Kort uke - du er ikke registrert som ansatt alle dagene denne uken. Dager du ikke registrert som
- ansatt er: {dager.join(',')}.
+ Kort uke - du er ikke registrert som ansatt hos {arbeidsgivernavn} alle dagene denne uken. Dager du
+ ikke registrert som ansatt er: {dager.join(',')}.
-
- Hvis dette ikke stemmer, må du ta kontakt med arbeidsgiveren din, {arbeidsgivernavn}.
+ Hvis dette ikke stemmer, må du ta kontakt med {arbeidsgivernavn}.
);
return (
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
index 2e068cde6f..3578e29c20 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
@@ -25,6 +25,7 @@ import UkeTags from '../arbeidstid-uker/components/UkeTags';
import { getArbeidstidSpørsmålDescription, getArbeidsukerPerÅr } from './endreArbeidstidFormUtils';
import { getEndreArbeidstidIntlValues } from './endreArbeidstidIntlValues';
import './endreArbeidstidForm.scss';
+import KortUkeEllerIkkeAnsattInformasjon from '../arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo';
type EndreArbeidstidData = {
perioder: DateRange[];
@@ -35,6 +36,7 @@ export interface EndreArbeidstidFormProps {
arbeidsuker: Arbeidsuke[];
lovbestemtFerie?: LovbestemtFerieSøknadsdata;
endring?: ArbeidstidEndring;
+ arbeidsgivernavn: string;
onSubmit: (data: EndreArbeidstidData) => void;
onCancel: () => void;
}
@@ -61,6 +63,7 @@ const EndreArbeidstidForm: React.FunctionComponent = (
arbeidsuker,
lovbestemtFerie,
endring,
+ arbeidsgivernavn,
onCancel,
onSubmit,
}) => {
@@ -107,8 +110,6 @@ const EndreArbeidstidForm: React.FunctionComponent = (
? getFeriedagerIUke(lovbestemtFerie.feriedagerMeta.datoerFjernet, arbeidsuker[0].periode, true)
: [];
- const gjelderKortUke = arbeidsuker.length === 1 && erKortArbeidsuke(arbeidsuker[0].periode);
-
const getMaksTimer = () => {
const antallDager = arbeidsuker.length === 1 ? arbeidsuker[0].antallDagerMedArbeidstid : 7;
return 24 * antallDager;
@@ -155,7 +156,6 @@ const EndreArbeidstidForm: React.FunctionComponent = (
-
{dagerMedFjernetFerie && dagerMedFjernetFerie.length > 0 && (
@@ -198,16 +198,12 @@ const EndreArbeidstidForm: React.FunctionComponent = (
- {gjelderKortUke && (
-
-
-
-
-
- )}
+ {arbeidsuker.length === 1 ? (
+
+ ) : null}
{timerEllerProsent === TimerEllerProsent.PROSENT && (
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
index 3fdfffab33..da33340e9a 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
@@ -173,6 +173,7 @@ const ArbeidsaktivitetContent: React.FunctionComponent = ({
isVisible={arbeidsukerForEndring !== undefined}
onClose={() => setArbeidsukerForEndring(undefined)}>
Date: Mon, 20 Jan 2025 08:18:12 +0100
Subject: [PATCH 08/31] Cleanup
---
.../src/app/utils/arbeidsukeUtils.ts | 40 -------------------
1 file changed, 40 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/arbeidsukeUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/arbeidsukeUtils.ts
index 60928167e7..24f2442f21 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/arbeidsukeUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/arbeidsukeUtils.ts
@@ -52,43 +52,3 @@ export const arbeidsukerHarLikNormaltidPerDag = (arbeidsuker: Arbeidsuke[]): boo
export const getDagerFraEnkeltdagMap = (arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap): ISODate[] => {
return Object.keys(arbeidstidEnkeltdager).sort();
};
-
-// /**
-// * Mapper periode og enkeltdager med arbeid om til Arbeidsuke. Summerer tid per dag om til timer per uke
-// * @param periode DateRange for uken
-// * @param arbeidstidEnkeltdagerIUken Enkeltdager med arbeidstid innenfor uken
-// * @returns Arbeidsuke
-// */
-// export const getArbeidsukeFromEnkeltdagerIUken = (
-// uke: DateRange,
-// arbeidstidEnkeltdagerIUken: ArbeidstidEnkeltdagMap,
-// ): Arbeidsuke => {
-// const dagerSøktFor = Object.keys(arbeidstidEnkeltdagerIUken);
-// const antallDagerMedArbeidstid = dagerSøktFor.length;
-// const normalt = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].normalt);
-// const normaltSummertHeleUken = numberDurationAsDuration(durationUtils.summarizeDurations(normalt));
-// const faktiskEnkeltdager = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].faktisk);
-// const harFaktiskArbeidstid = faktiskEnkeltdager.some((f) => f !== undefined);
-// const faktiskSummertHeleUken = harFaktiskArbeidstid
-// ? numberDurationAsDuration(durationUtils.summarizeDurations(faktiskEnkeltdager))
-// : undefined;
-// const faktisk: ArbeidsukeTimer | undefined = faktiskSummertHeleUken
-// ? {
-// uke: faktiskSummertHeleUken,
-// dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerMedArbeidstid),
-// }
-// : undefined;
-
-// const arbeidsuke: Arbeidsuke = {
-// isoDateRange: dateRangeToISODateRange(uke),
-// periode: uke,
-// arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
-// faktisk,
-// normalt: {
-// uke: normaltSummertHeleUken,
-// dag: beregnSnittTimerPerDag(normaltSummertHeleUken, antallDagerMedArbeidstid),
-// },
-// antallDagerMedArbeidstid: dagerSøktFor.length,
-// };
-// return arbeidsuke;
-// };
From 3c0e99b02bdf6481491060380fba7df7dc654f09 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Mon, 20 Jan 2025 11:23:23 +0100
Subject: [PATCH 09/31] stash
---
.../ArbeidstidUker.stories.tsx | 54 +++++---------
.../components/ArbeidstidUkeInfo.tsx | 2 +-
.../components/ArbeidstidUkeInfoListe.tsx | 2 +-
.../EndreArbeidstidForm.tsx | 2 +-
.../endreArbeidstidFormUtils.ts | 8 +--
.../arbeidsaktivitetUtils.ts" | 6 +-
.../steps/arbeidstid/arbeidstidStepUtils.ts" | 2 +-
.../oppsummering/oppsummeringStepUtils.ts" | 19 ++---
.../src/app/types/Sak.ts | 3 +-
.../utils/__tests__/getSakFromK9Sak.test.ts | 14 ++--
.../src/app/utils/beregnUtils.ts | 10 +--
.../src/app/utils/getSakFromK9Sak.ts | 36 ++--------
...rbeidstidApiDataFromS\303\270knadsdata.ts" | 20 +++---
.../src/mocks/data/app/arbeidsukerMockData.ts | 13 ++--
.../src/storybook/data/sakMock.ts | 72 ++++++++++++-------
15 files changed, 115 insertions(+), 148 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
index 516151d64a..7b77914b1f 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
@@ -25,8 +25,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: false,
- antallDagerMedArbeidstid: 2,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 2,
erKortUke: true,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -54,8 +53,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -83,8 +81,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -112,8 +109,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -141,8 +137,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -170,8 +165,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -199,8 +193,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -228,8 +221,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -257,8 +249,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -286,8 +277,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -315,8 +305,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -344,8 +333,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -373,8 +361,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -402,8 +389,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -431,8 +417,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -460,8 +445,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -489,8 +473,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -518,8 +501,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerMedArbeidstid: 5,
- dagerIkkeAnsatt: [],
+ antallDagerSøktFor: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
index 65e7c44da2..4b85612c96 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
@@ -44,7 +44,7 @@ const ArbeidstidUkeInfo: React.FunctionComponent = ({ uke, medLabels = fa
);
}
const { faktisk, endretProsent } = uke.endret;
- const erEndringGyldig = erTimerGyldigInnenforAntallDager(faktisk, uke.antallDagerMedArbeidstid);
+ const erEndringGyldig = erTimerGyldigInnenforAntallDager(faktisk, uke.antallDagerSøktFor);
return (
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
index 356866027b..eb7d576e6e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
@@ -50,7 +50,7 @@ const ArbeidstidUkeInfoListe: React.FunctionComponent
= ({ uke, visEndrin
const erEndret = erArbeidstidUkeItemEndret(uke);
- const erEndringGyldig = erTimerGyldigInnenforAntallDager(uke.endret.faktisk, uke.antallDagerMedArbeidstid);
+ const erEndringGyldig = erTimerGyldigInnenforAntallDager(uke.endret.faktisk, uke.antallDagerSøktFor);
return (
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
index 3578e29c20..2932f3a94e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
@@ -111,7 +111,7 @@ const EndreArbeidstidForm: React.FunctionComponent = (
: [];
const getMaksTimer = () => {
- const antallDager = arbeidsuker.length === 1 ? arbeidsuker[0].antallDagerMedArbeidstid : 7;
+ const antallDager = arbeidsuker.length === 1 ? arbeidsuker[0].antallDagerSøktFor : 7;
return 24 * antallDager;
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/endreArbeidstidFormUtils.ts b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/endreArbeidstidFormUtils.ts
index 69b3825acd..381547c881 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/endreArbeidstidFormUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/endreArbeidstidFormUtils.ts
@@ -50,7 +50,7 @@ export const getUkerForEndring = (arbeidsuker: Arbeidsuke[]): UkerForEndringType
const sisteUke = arbeidsuker[arbeidsuker.length - 1];
if (arbeidsuker.length === 2) {
/** Begge uker er komplette uker */
- if (førsteUke.antallDagerMedArbeidstid + sisteUke.antallDagerMedArbeidstid === 10) {
+ if (førsteUke.antallDagerSøktFor + sisteUke.antallDagerSøktFor === 10) {
return {
spørOmSnittUker: true,
};
@@ -62,7 +62,7 @@ export const getUkerForEndring = (arbeidsuker: Arbeidsuke[]): UkerForEndringType
}
/** Bare fulle uker */
- const antallIkkeFulleUker = arbeidsuker.filter((uke) => uke.antallDagerMedArbeidstid !== 5).length;
+ const antallIkkeFulleUker = arbeidsuker.filter((uke) => uke.antallDagerSøktFor !== 5).length;
if (antallIkkeFulleUker === 0) {
return {
spørOmSnittUker: true,
@@ -76,8 +76,8 @@ export const getUkerForEndring = (arbeidsuker: Arbeidsuke[]): UkerForEndringType
};
}
- const spørOmFørsteUke = arbeidsuker[0].antallDagerMedArbeidstid < 5;
- const spørOmSisteUke = arbeidsuker[arbeidsuker.length - 1].antallDagerMedArbeidstid < 5;
+ const spørOmFørsteUke = arbeidsuker[0].antallDagerSøktFor < 5;
+ const spørOmSisteUke = arbeidsuker[arbeidsuker.length - 1].antallDagerSøktFor < 5;
return {
spørOmSnittUker: true,
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
index eabd8d7c36..578108da54 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
@@ -38,7 +38,7 @@ const arbeidsukeToArbeidstidUkerItem = (
periode: arbeidsuke.periode,
kanEndres: durationUtils.durationIsGreatherThanZero(arbeidsuke.normalt.uke),
kanVelges: !erKortUke && dagerMedFerie.length === 0 && arbeidsuke.dagerIkkeAnsatt.length === 0,
- antallDagerMedArbeidstid: arbeidsuke.antallDagerMedArbeidstid,
+ antallDagerSøktFor: arbeidsuke.antallDagerSøktFor,
erKortUke,
dagerIkkeAnsatt: arbeidsuke.dagerIkkeAnsatt || [],
harFeriedager: dagerMedFerie && dagerMedFerie.length > 0,
@@ -57,9 +57,9 @@ const arbeidsukeToArbeidstidUkerItem = (
beregnEndretFaktiskArbeidstidPerDag(
arbeidsuke.normalt.uke,
endring,
- arbeidsuke.antallDagerMedArbeidstid,
+ arbeidsuke.antallDagerSøktFor,
),
- arbeidsuke.antallDagerMedArbeidstid,
+ arbeidsuke.antallDagerSøktFor,
),
endretProsent: endring.type === TimerEllerProsent.PROSENT ? endring.prosent : undefined,
}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidstidStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidstidStepUtils.ts"
index 7ed6f778c0..3cbe570281 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidstidStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidstidStepUtils.ts"
@@ -73,7 +73,7 @@ export const cleanupArbeidsaktivitetEndringer = (
const endretArbeidstid = beregnEndretArbeidstidForUke(
endring,
opprinnelig.normalt.uke,
- opprinnelig.antallDagerMedArbeidstid,
+ opprinnelig.antallDagerSøktFor,
);
if (!durationsAreEqual(endretArbeidstid, opprinnelig.faktisk?.uke)) {
cleanedEndringer[key] = endring;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
index cfe2c820e6..5534769440 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
@@ -51,7 +51,7 @@ const getArbeidsukeListItemFromArbeidstidPeriodeApiData = (
isoDateRange: ISODateRange,
): ArbeidstidUkerItem => {
const periode = ISODateRangeToDateRange(isoDateRange);
- const antallDagerMedArbeidstid = getDatesInDateRange(periode).length;
+ const antallDagerSøktFor = getDatesInDateRange(periode).length;
const arbeidsuke: ArbeidstidUkerItem = {
id: isoDateRange,
@@ -59,26 +59,17 @@ const getArbeidsukeListItemFromArbeidstidPeriodeApiData = (
kanVelges: false,
isoDateRange,
periode,
- antallDagerMedArbeidstid,
+ antallDagerSøktFor,
erKortUke: erKortArbeidsuke(periode),
dagerIkkeAnsatt: [], //TODO
opprinnelig: {
- normalt: getTimerPerUkeFraTimerPerDag(
- ISODurationToDuration(_opprinneligNormaltPerDag),
- antallDagerMedArbeidstid,
- ),
+ normalt: getTimerPerUkeFraTimerPerDag(ISODurationToDuration(_opprinneligNormaltPerDag), antallDagerSøktFor),
faktisk: _opprinneligFaktiskPerDag
- ? getTimerPerUkeFraTimerPerDag(
- ISODurationToDuration(_opprinneligFaktiskPerDag),
- antallDagerMedArbeidstid,
- )
+ ? getTimerPerUkeFraTimerPerDag(ISODurationToDuration(_opprinneligFaktiskPerDag), antallDagerSøktFor)
: undefined,
},
endret: {
- faktisk: getTimerPerUkeFraTimerPerDag(
- ISODurationToDuration(faktiskArbeidTimerPerDag),
- antallDagerMedArbeidstid,
- ),
+ faktisk: getTimerPerUkeFraTimerPerDag(ISODurationToDuration(faktiskArbeidTimerPerDag), antallDagerSøktFor),
endretProsent: _endretProsent,
},
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
index 88f6ff114a..ef4cac9d6d 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
@@ -61,7 +61,8 @@ export interface Arbeidsuke {
arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap;
faktisk?: ArbeidsukeTimer;
normalt: ArbeidsukeTimer;
- antallDagerMedArbeidstid: number;
+ antallDagerSøktFor: number;
+ dagerSøktFor: Date[];
dagerIkkeAnsatt: Date[];
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
index 7595682e22..ae8e5b5aaa 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
@@ -222,14 +222,14 @@ describe('getSakFromK9Sak', () => {
expect(result.length).toEqual(1);
const uke = result[0];
expect(dateRangeToISODateRange(uke.periode)).toEqual('2022-01-03/2022-01-03');
- expect(uke.antallDagerMedArbeidstid).toEqual(1);
+ expect(uke.antallDagerSøktFor).toEqual(1);
});
it('returnerer riktig for dager som går over én hel uke', () => {
const result = getArbeidsukerFromEnkeltdager(helUke);
expect(result.length).toEqual(1);
const uke = result[0];
expect(dateRangeToISODateRange(uke.periode)).toEqual('2022-01-03/2022-01-07');
- expect(uke.antallDagerMedArbeidstid).toEqual(5);
+ expect(uke.antallDagerSøktFor).toEqual(5);
});
it('returnerer riktig for dager som går mer enn én uker', () => {
const result = getArbeidsukerFromEnkeltdager(flereUker);
@@ -238,8 +238,8 @@ describe('getSakFromK9Sak', () => {
const uke2 = result[1];
expect(dateRangeToISODateRange(uke1.periode)).toEqual('2022-01-03/2022-01-09');
expect(dateRangeToISODateRange(uke2.periode)).toEqual('2022-01-10/2022-01-11');
- expect(uke1.antallDagerMedArbeidstid).toEqual(5);
- expect(uke2.antallDagerMedArbeidstid).toEqual(2);
+ expect(uke1.antallDagerSøktFor).toEqual(5);
+ expect(uke2.antallDagerSøktFor).toEqual(2);
});
});
@@ -264,7 +264,7 @@ describe('getSakFromK9Sak', () => {
it('returnerer riktig for én enkeltdag', () => {
const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, enkeltdag);
- expect(uke.antallDagerMedArbeidstid).toEqual(1);
+ expect(uke.antallDagerSøktFor).toEqual(1);
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.normalt.dag)).toEqual(durationToISODuration(arbeidstid.normalt));
@@ -273,7 +273,7 @@ describe('getSakFromK9Sak', () => {
it('fjerner dager som ikke er innenfor uken', () => {
const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, helUke);
- expect(uke.antallDagerMedArbeidstid).toEqual(1);
+ expect(uke.antallDagerSøktFor).toEqual(1);
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.normalt.dag)).toEqual(durationToISODuration(arbeidstid.normalt));
@@ -282,7 +282,7 @@ describe('getSakFromK9Sak', () => {
it('returnerer riktig for én uke', () => {
const uke = getArbeidsukeFromEnkeltdagerIUken(periodeHelUke, helUke);
- expect(uke.antallDagerMedArbeidstid).toEqual(5);
+ expect(uke.antallDagerSøktFor).toEqual(5);
expect(uke.isoDateRange).toEqual(dateRangeToISODateRange(periodeHelUke));
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual('PT10H0M');
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/beregnUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/beregnUtils.ts
index 66fc437af1..8e037f34d9 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/beregnUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/beregnUtils.ts
@@ -4,11 +4,11 @@ import { ArbeidstidEndring, TimerEllerProsent } from '@types';
export const beregnEndretArbeidstidForUke = (
endring: ArbeidstidEndring,
normaltidPerUke: Duration,
- antallDagerMedArbeidstid: number,
+ antallDagerSøktFor: number,
): Duration => {
return getTimerPerUkeFraTimerPerDag(
- beregnEndretFaktiskArbeidstidPerDag(normaltidPerUke, endring, antallDagerMedArbeidstid),
- antallDagerMedArbeidstid,
+ beregnEndretFaktiskArbeidstidPerDag(normaltidPerUke, endring, antallDagerSøktFor),
+ antallDagerSøktFor,
);
};
@@ -37,8 +37,8 @@ export const summerTimerPerDag = (timerPerDag: Duration, antallDager: number): D
return decimalDurationToDuration(durationToDecimalDuration(timerPerDag) * antallDager);
};
-export const getTimerPerUkeFraTimerPerDag = (tidPerDag: Duration, antallDagerMedArbeidstid: number): Duration => {
- return summerTimerPerDag(tidPerDag, antallDagerMedArbeidstid);
+export const getTimerPerUkeFraTimerPerDag = (tidPerDag: Duration, antallDagerSøktFor: number): Duration => {
+ return summerTimerPerDag(tidPerDag, antallDagerSøktFor);
};
/**
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index 6dcca9096e..aa1e4b43ea 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -200,33 +200,6 @@ const trimArbeidstidTilTillattEndringsperiode = (
return perioder;
};
-// /**
-// * Fjerner arbeidstid fra @K9SakArbeidstidPeriodeMap som ikke er en del av ansettelsesperioder
-// * @param arbeidstidPeriodeMap
-// * @param ansettelsesperioder
-// * @returns
-// */
-// const trimArbeidstidTilAnsettelsesperioder = (
-// arbeidstidPeriodeMap: K9SakArbeidstidPeriodeMap,
-// _ansettelsesperioder: MaybeDateRange[],
-// ): K9SakArbeidstidPeriodeMap => {
-// const perioder: K9SakArbeidstidPeriodeMap = {};
-// Object.keys(arbeidstidPeriodeMap).forEach(() => {
-// // const { from, to } = ISODateRangeToDateRange(key);
-// // if (dateRangesCollide([{ from, to }, tillattEndringsperiode], true) === false) {
-// // return; // Er ikke innenfor gyldig tidsrom
-// // }
-// // const førsteDato = tillattEndringsperiode.from;
-// // const sisteDato = tillattEndringsperiode.to;
-// // const dateRangeToUse: DateRange = {
-// // from: dayjs(from).isBefore(førsteDato, 'day') ? førsteDato : from,
-// // to: dayjs(to).isAfter(sisteDato, 'day') ? sisteDato : to,
-// // };
-// // perioder[dateRangeToISODateRange(dateRangeToUse)] = arbeidstidPeriodeMap[key];
-// });
-// return perioder;
-// };
-
/**
* Finner alle arbeidstidPerioder innenfor et tidsrom
* @param dateRange
@@ -334,7 +307,7 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
): Arbeidsuke => {
const arbeidstidEnkeltdagerIUken = fjernArbeidstidEnkeltdagerUtenforPeriode(periode, arbeidstidEnkeltdager);
const dagerSøktFor = Object.keys(arbeidstidEnkeltdagerIUken);
- const antallDagerMedArbeidstid = dagerSøktFor.length;
+ const antallDagerSøktFor = dagerSøktFor.length;
const faktisk = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].faktisk);
const normalt = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].normalt);
const normaltSummertHeleUken = numberDurationAsDuration(durationUtils.summarizeDurations(normalt));
@@ -344,16 +317,17 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
isoDateRange: dateRangeToISODateRange(periode),
periode: periode,
arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
+ dagerSøktFor: dagerSøktFor.map(ISODateToDate),
dagerIkkeAnsatt: getDagerIkkeAnsattIPeriode(periode, ansettelsesperioder),
+ antallDagerSøktFor: dagerSøktFor.length,
faktisk: {
uke: faktiskSummertHeleUken,
- dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerMedArbeidstid),
+ dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerSøktFor),
},
normalt: {
uke: normaltSummertHeleUken,
- dag: beregnSnittTimerPerDag(normaltSummertHeleUken, antallDagerMedArbeidstid),
+ dag: beregnSnittTimerPerDag(normaltSummertHeleUken, antallDagerSøktFor),
},
- antallDagerMedArbeidstid: dagerSøktFor.length,
};
return arbeidsuke;
};
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
index 33ebc86017..67b6513130 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
@@ -48,20 +48,20 @@ const getEndretArbeidstid = (
): ArbeidstidPeriodeApiDataMap => {
const perioderMedEndretArbeidstid: ArbeidstidPeriodeApiDataMap = {};
- const endringKeys = Object.keys(endringUkeMap).sort();
+ const endringUkeKeys = Object.keys(endringUkeMap).sort();
- endringKeys.forEach((isoDateRange) => {
+ endringUkeKeys.forEach((isoDateRange) => {
const endring = endringUkeMap[isoDateRange];
const arbeidsuker = getAlleArbeidsukerIPerioder(arbeidsaktivitet.perioderMedArbeidstid);
const arbeidsuke = arbeidsuker[isoDateRange];
const dagerSøktFor = getDagerFraEnkeltdagMap(arbeidsuke.arbeidstidEnkeltdager);
- const { antallDagerMedArbeidstid } = arbeidsuke;
+ const { antallDagerSøktFor } = arbeidsuke;
- const jobberNormaltTimerPerDag = beregnSnittTimerPerDag(arbeidsuke.normalt.uke, antallDagerMedArbeidstid);
+ const jobberNormaltTimerPerDag = beregnSnittTimerPerDag(arbeidsuke.normalt.uke, antallDagerSøktFor);
const faktiskArbeidTimerPerDag = beregnEndretFaktiskArbeidstidPerDag(
arbeidsuke.normalt.uke,
endring,
- antallDagerMedArbeidstid,
+ antallDagerSøktFor,
);
/** Splitt opp hvis det er enkeltdager i uken */
@@ -168,7 +168,7 @@ export const getArbeidstidApiDataFromSøknadsdata = (
const jobberNormaltTimerPerDag = beregnSnittTimerPerDag(
arbeidsuke.normalt.uke,
- arbeidsuke.antallDagerMedArbeidstid,
+ arbeidsuke.antallDagerSøktFor,
);
/** Splitt opp hvis det er enkeltdager i uken */
@@ -216,18 +216,14 @@ export const getArbeidstidApiDataFromSøknadsdata = (
export const getFaktiskArbeidTimerPerDagForUkjentArbeidsforhold = (
arbeiderIPerioden: ArbeiderIPeriodenSvar,
- arbeidsuke: Pick,
+ arbeidsuke: Pick,
endring?: ArbeidstidEndring,
): Duration => {
if (!endring && arbeiderIPerioden === ArbeiderIPeriodenSvar.redusert) {
throw 'Faktisk arbeidstid mangler for redusert arbeidsforhold';
}
if (endring) {
- return beregnEndretFaktiskArbeidstidPerDag(
- arbeidsuke.normalt.uke,
- endring,
- arbeidsuke.antallDagerMedArbeidstid,
- );
+ return beregnEndretFaktiskArbeidstidPerDag(arbeidsuke.normalt.uke, endring, arbeidsuke.antallDagerSøktFor);
}
return arbeiderIPerioden === ArbeiderIPeriodenSvar.heltFravær
? {
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
index 09afb64e40..7a30e42e91 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
@@ -7,6 +7,7 @@ import {
getDatesInDateRange,
ISODateRange,
ISODateRangeToDateRange,
+ ISODateToDate,
} from '@navikt/sif-common-utils';
import { ArbeidstidEnkeltdagMap, Arbeidsuke } from '@types';
@@ -15,10 +16,7 @@ const getMockArbeidsuke = (
normaltPerDag: Duration = { hours: '7', minutes: '30' },
faktiskPerDag: Duration = { hours: '2', minutes: '0' },
): Arbeidsuke => {
- const antallDagerMedArbeidstid = dateRangeUtils.getNumberOfDaysInDateRange(
- ISODateRangeToDateRange(isoDateRange),
- true,
- );
+ const antallDagerSøktFor = dateRangeUtils.getNumberOfDaysInDateRange(ISODateRangeToDateRange(isoDateRange), true);
const periode = ISODateRangeToDateRange(isoDateRange);
const dagerSøktFor = getDatesInDateRange(periode, true).map((d) => dateToISODate(d)); // Alle dager i perioden
const arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap = {};
@@ -34,15 +32,16 @@ const getMockArbeidsuke = (
periode,
arbeidstidEnkeltdager,
dagerIkkeAnsatt: [],
+ dagerSøktFor: dagerSøktFor.map(ISODateToDate),
normalt: {
- uke: decimalDurationToDuration(durationToDecimalDuration(normaltPerDag) * antallDagerMedArbeidstid),
+ uke: decimalDurationToDuration(durationToDecimalDuration(normaltPerDag) * antallDagerSøktFor),
dag: normaltPerDag,
},
faktisk: {
- uke: decimalDurationToDuration(durationToDecimalDuration(faktiskPerDag) * antallDagerMedArbeidstid),
+ uke: decimalDurationToDuration(durationToDecimalDuration(faktiskPerDag) * antallDagerSøktFor),
dag: faktiskPerDag,
},
- antallDagerMedArbeidstid,
+ antallDagerSøktFor,
};
};
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
index 93db5e06cb..eb711736ba 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
@@ -69,6 +69,7 @@ export const sakMock: Sak = {
to: new Date('2024-02-29T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-02-26': {
faktisk: {
@@ -131,7 +132,7 @@ export const sakMock: Sak = {
minutes: '0',
},
},
- antallDagerMedArbeidstid: 4,
+ antallDagerSøktFor: 4,
},
},
},
@@ -146,6 +147,7 @@ export const sakMock: Sak = {
to: new Date('2024-03-31T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-03-25': {
faktisk: {
@@ -218,7 +220,7 @@ export const sakMock: Sak = {
minutes: '24',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-01/2024-04-07': {
isoDateRange: '2024-04-01/2024-04-07',
@@ -227,6 +229,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-07T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-01': {
faktisk: {
@@ -299,7 +302,7 @@ export const sakMock: Sak = {
minutes: '0',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-08/2024-04-14': {
isoDateRange: '2024-04-08/2024-04-14',
@@ -308,6 +311,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-14T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -380,7 +384,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-15/2024-04-21': {
isoDateRange: '2024-04-15/2024-04-21',
@@ -389,6 +393,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-21T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-15': {
faktisk: {
@@ -461,7 +466,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-22/2024-04-28': {
isoDateRange: '2024-04-22/2024-04-28',
@@ -470,6 +475,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-28T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-22': {
faktisk: {
@@ -542,7 +548,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-29/2024-05-05': {
isoDateRange: '2024-04-29/2024-05-05',
@@ -551,6 +557,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-05T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-29': {
faktisk: {
@@ -623,7 +630,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-05-06/2024-05-12': {
isoDateRange: '2024-05-06/2024-05-12',
@@ -632,6 +639,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-12T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-06': {
faktisk: {
@@ -704,7 +712,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-05-13/2024-05-19': {
isoDateRange: '2024-05-13/2024-05-19',
@@ -713,6 +721,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-19T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-13': {
faktisk: {
@@ -785,7 +794,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-05-20/2024-05-26': {
isoDateRange: '2024-05-20/2024-05-26',
@@ -794,6 +803,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-26T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-20': {
faktisk: {
@@ -866,7 +876,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-05-27/2024-05-31': {
isoDateRange: '2024-05-27/2024-05-31',
@@ -875,6 +885,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-31T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-27': {
faktisk: {
@@ -947,7 +958,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
},
},
@@ -975,6 +986,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-09T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -1017,7 +1029,7 @@ export const sakMock: Sak = {
minutes: '48',
},
},
- antallDagerMedArbeidstid: 2,
+ antallDagerSøktFor: 2,
},
},
},
@@ -1068,6 +1080,7 @@ export const sakMock: Sak = {
to: new Date('2024-02-29T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-02-26': {
faktisk: {
@@ -1130,7 +1143,7 @@ export const sakMock: Sak = {
minutes: '0',
},
},
- antallDagerMedArbeidstid: 4,
+ antallDagerSøktFor: 4,
},
},
},
@@ -1145,6 +1158,7 @@ export const sakMock: Sak = {
to: new Date('2024-03-31T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-03-25': {
faktisk: {
@@ -1217,7 +1231,7 @@ export const sakMock: Sak = {
minutes: '24',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-01/2024-04-07': {
isoDateRange: '2024-04-01/2024-04-07',
@@ -1226,6 +1240,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-07T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-01': {
faktisk: {
@@ -1298,7 +1313,7 @@ export const sakMock: Sak = {
minutes: '0',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-08/2024-04-14': {
isoDateRange: '2024-04-08/2024-04-14',
@@ -1307,6 +1322,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-14T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -1379,7 +1395,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-15/2024-04-21': {
isoDateRange: '2024-04-15/2024-04-21',
@@ -1388,6 +1404,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-21T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-15': {
faktisk: {
@@ -1460,7 +1477,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-22/2024-04-28': {
isoDateRange: '2024-04-22/2024-04-28',
@@ -1469,6 +1486,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-28T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-22': {
faktisk: {
@@ -1541,7 +1559,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-04-29/2024-05-05': {
isoDateRange: '2024-04-29/2024-05-05',
@@ -1550,6 +1568,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-05T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-29': {
faktisk: {
@@ -1622,7 +1641,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-05-06/2024-05-12': {
isoDateRange: '2024-05-06/2024-05-12',
@@ -1631,6 +1650,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-12T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-06': {
faktisk: {
@@ -1703,7 +1723,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-05-13/2024-05-19': {
isoDateRange: '2024-05-13/2024-05-19',
@@ -1712,6 +1732,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-19T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-13': {
faktisk: {
@@ -1784,7 +1805,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-05-20/2024-05-26': {
isoDateRange: '2024-05-20/2024-05-26',
@@ -1793,6 +1814,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-26T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-20': {
faktisk: {
@@ -1865,7 +1887,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
'2024-05-27/2024-05-31': {
isoDateRange: '2024-05-27/2024-05-31',
@@ -1874,6 +1896,7 @@ export const sakMock: Sak = {
to: new Date('2024-05-31T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-27': {
faktisk: {
@@ -1946,7 +1969,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerMedArbeidstid: 5,
+ antallDagerSøktFor: 5,
},
},
},
@@ -1973,6 +1996,7 @@ export const sakMock: Sak = {
to: new Date('2024-04-09T00:00:00.000Z'),
},
dagerIkkeAnsatt: [],
+ dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
faktisk: {
@@ -2015,7 +2039,7 @@ export const sakMock: Sak = {
minutes: '48',
},
},
- antallDagerMedArbeidstid: 2,
+ antallDagerSøktFor: 2,
},
},
},
From 745e9a0e5ddf660685b4593c00e235822f85c708 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Mon, 20 Jan 2025 11:45:12 +0100
Subject: [PATCH 10/31] =?UTF-8?q?Fjerne=20ikkeAnsatt=20kode=20p=C3=A5=20uk?=
=?UTF-8?q?e?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../arbeidstid-uker/ArbeidstidUker.tsx | 6 +-
.../components/ArbeidstidUkeListe.tsx | 1 -
.../components/ArbeidstidUkeTabell.tsx | 7 +-
.../components/KortUkeEllerIkkeAnsattInfo.tsx | 64 -------------------
.../components/KortUkeInfo.tsx | 16 +++++
.../components/UkeInfoTooltip.tsx | 26 ++------
.../arbeidstid-uker/components/UkeTags.tsx | 12 +---
.../types/ArbeidstidUkerItem.ts | 3 +-
.../EndreArbeidstidForm.tsx | 16 ++---
.../arbeidsaktivitetUtils.ts" | 3 +-
.../oppsummering/oppsummeringStepUtils.ts" | 1 -
11 files changed, 32 insertions(+), 123 deletions(-)
delete mode 100644 apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo.tsx
create mode 100644 apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeInfo.tsx
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
index 2d9abfcf1e..f8dcbfa1e7 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
@@ -58,7 +58,6 @@ const ArbeidstidUker: React.FunctionComponent = ({
const renderCompactTable = useMediaQuery({ minWidth: 736 }) === false && renderAsList === false;
const korteUker = visibleItems.filter((i) => i.erKortUke).map((uke) => uke.periode);
- const ukerMedDagerIkkeAnsatt = visibleItems.filter((i) => i.dagerIkkeAnsatt.length > 0).map((uke) => uke.periode);
const ukerMedFerie = visibleItems
.filter((i) => i.ferie && i.ferie?.dagerMedFerie.length > 0)
.map((uke) => uke.periode);
@@ -105,10 +104,7 @@ const ArbeidstidUker: React.FunctionComponent = ({
setItemsAreSelectable(checked);
}}
ukerKanVelges={itemsAreSelectable}
- visKorteUkerMelding={
- itemsAreSelectable &&
- (ukerMedFerie.length > 0 || korteUker.length > 0 || ukerMedDagerIkkeAnsatt.length > 0)
- }
+ visKorteUkerMelding={itemsAreSelectable && (ukerMedFerie.length > 0 || korteUker.length > 0)}
/>
) : undefined;
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
index cb3eefcbe5..28e654f6f7 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
@@ -59,7 +59,6 @@ const ArbeidstidUkeListe: React.FunctionComponent = ({
erKortUke={uke.erKortUke}
dagerMedFerie={uke.ferie?.dagerMedFerie}
dagerMedFjernetFerie={uke.ferie?.dagerMedFjernetFerie}
- arbeidsdagerIkkeAnsatt={uke.dagerIkkeAnsatt}
/>
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
index 34ebf22bc7..478c20f69b 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeTabell.tsx
@@ -30,7 +30,6 @@ const ArbeidstidUkeTabell: React.FunctionComponent = ({
selectableList,
arbeidstidKolonneTittel,
renderCompactTable,
- arbeidsgivernavn,
renderEditButton,
}) => {
const { text, intl } = useAppIntl();
@@ -152,7 +151,6 @@ const ArbeidstidUkeTabell: React.FunctionComponent = ({
dagerMedFerie={uke.ferie?.dagerMedFerie}
dagerMedFjernetFerie={uke.ferie?.dagerMedFjernetFerie}
erKortUke={uke.erKortUke}
- arbeidsdagerIkkeAnsatt={uke.dagerIkkeAnsatt}
/>
)}
@@ -176,15 +174,12 @@ const ArbeidstidUkeTabell: React.FunctionComponent = ({
)}
- {(uke.erKortUke || uke.dagerIkkeAnsatt.length > 0) && (
-
- )}
+ {uke.erKortUke && }
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo.tsx
deleted file mode 100644
index 653e24efeb..0000000000
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Alert, Box, VStack } from '@navikt/ds-react';
-import { erKortArbeidsuke, getDagerTekst } from '../../../utils';
-import { Arbeidsuke } from '../../../types';
-import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { AppText } from '../../../i18n';
-import { dateFormatter } from '@navikt/sif-common-utils';
-
-interface Props {
- arbeidsuke: Arbeidsuke;
- arbeidsgivernavn: string;
-}
-
-const KortUkeInfo = ({ arbeidsuke }: { arbeidsuke: Arbeidsuke }) => (
-
-
-
-);
-
-const IkkeAnsattInfo = ({ arbeidsuke, arbeidsgivernavn }: { arbeidsuke: Arbeidsuke; arbeidsgivernavn: string }) => (
-
-
- Kort uke - du er ikke registrert som ansatt hos {arbeidsgivernavn} alle dagene denne uken. Dager du ikke er
- registrert som ansatt er:{' '}
- {arbeidsuke.dagerIkkeAnsatt.map((d) => dateFormatter.dayDateShortMonth(d)).join(',')}.
-
- Hvis dette ikke stemmer, må du ta kontakt med {arbeidsgivernavn}.
-
-);
-
-const KortUkeEllerIkkeAnsattInformasjon = ({ arbeidsuke, arbeidsgivernavn }: Props) => {
- const gjelderKortUke = erKortArbeidsuke(arbeidsuke.periode);
-
- if (gjelderKortUke && arbeidsuke.dagerIkkeAnsatt.length === 0) {
- return (
-
-
-
- );
- }
- if (!gjelderKortUke && arbeidsuke.dagerIkkeAnsatt.length > 0) {
- return (
-
-
-
-
-
- );
- }
- if (gjelderKortUke && arbeidsuke.dagerIkkeAnsatt.length > 0) {
- return (
-
-
-
-
-
-
-
-
- );
- }
- return null;
-};
-
-export default KortUkeEllerIkkeAnsattInformasjon;
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeInfo.tsx
new file mode 100644
index 0000000000..45da893352
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/KortUkeInfo.tsx
@@ -0,0 +1,16 @@
+import { Box } from '@navikt/ds-react';
+import { getDagerTekst } from '../../../utils';
+import { Arbeidsuke } from '../../../types';
+import { AppText } from '../../../i18n';
+
+interface Props {
+ arbeidsuke: Arbeidsuke;
+}
+
+const KortUkeInfo = ({ arbeidsuke }: Props) => (
+
+
+
+);
+
+export default KortUkeInfo;
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
index 34c193e794..07072d1244 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeInfoTooltip.tsx
@@ -1,4 +1,4 @@
-import { BodyShort, Box, HelpText, Tooltip, VStack } from '@navikt/ds-react';
+import { Tooltip } from '@navikt/ds-react';
import React from 'react';
import { InformationColored } from '@navikt/ds-icons';
import { dateFormatter, DateRange } from '@navikt/sif-common-utils';
@@ -6,12 +6,11 @@ import { ArbeidstidUkerItem } from '../types/ArbeidstidUkerItem';
interface Props {
uke: ArbeidstidUkerItem;
- arbeidsgivernavn: string;
}
-const UkeInfoTooltip: React.FunctionComponent = ({ uke, arbeidsgivernavn }) => {
- const { dagerIkkeAnsatt: arbeidsdagerIkkeAnsatt, erKortUke } = uke;
- if (erKortUke && arbeidsdagerIkkeAnsatt.length === 0) {
+const UkeInfoTooltip: React.FunctionComponent = ({ uke }) => {
+ const { erKortUke } = uke;
+ if (erKortUke) {
return (
@@ -20,23 +19,6 @@ const UkeInfoTooltip: React.FunctionComponent = ({ uke, arbeidsgivernavn
);
}
- if (!erKortUke && arbeidsdagerIkkeAnsatt.length > 0) {
- const dager = arbeidsdagerIkkeAnsatt.map((d) => dateFormatter.day(d));
- const info = (
-
-
- Kort uke - du er ikke registrert som ansatt hos {arbeidsgivernavn} alle dagene denne uken. Dager du
- ikke registrert som ansatt er: {dager.join(',')}.
-
- Hvis dette ikke stemmer, må du ta kontakt med {arbeidsgivernavn}.
-
- );
- return (
-
- {info}
-
- );
- }
};
const getDagerPeriode = ({ from, to }: DateRange, visDato = true): string => {
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
index 338b050eac..45cc7349f2 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
@@ -8,19 +8,13 @@ interface Props {
erKortUke?: boolean;
dagerMedFerie: Date[] | undefined;
dagerMedFjernetFerie?: Date[] | undefined;
- arbeidsdagerIkkeAnsatt: Date[] | undefined;
+
visDagNavn?: boolean;
}
-const UkeTags = ({
- dagerMedFerie = [],
- dagerMedFjernetFerie = [],
- visDagNavn,
- erKortUke,
- arbeidsdagerIkkeAnsatt = [],
-}: Props) => {
+const UkeTags = ({ dagerMedFerie = [], dagerMedFjernetFerie = [], visDagNavn, erKortUke }: Props) => {
const tags: React.ReactNode[] = [];
- if (erKortUke || arbeidsdagerIkkeAnsatt.length > 0) {
+ if (erKortUke) {
tags.push();
}
if (dagerMedFerie?.length > 0) {
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
index 0eda26d99c..980766084c 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
@@ -6,9 +6,8 @@ export interface ArbeidstidUkerItem {
kanVelges: boolean;
isoDateRange: ISODateRange;
periode: DateRange;
- antallDagerMedArbeidstid: number;
+ antallDagerSøktFor: number;
erKortUke: boolean;
- dagerIkkeAnsatt: Date[];
harFeriedager?: boolean;
harFjernetFeriedager?: boolean;
ferie?: {
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
index 2932f3a94e..0d243e06aa 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
@@ -25,7 +25,7 @@ import UkeTags from '../arbeidstid-uker/components/UkeTags';
import { getArbeidstidSpørsmålDescription, getArbeidsukerPerÅr } from './endreArbeidstidFormUtils';
import { getEndreArbeidstidIntlValues } from './endreArbeidstidIntlValues';
import './endreArbeidstidForm.scss';
-import KortUkeEllerIkkeAnsattInformasjon from '../arbeidstid-uker/components/KortUkeEllerIkkeAnsattInfo';
+import KortUkeInfo from '../arbeidstid-uker/components/KortUkeInfo';
type EndreArbeidstidData = {
perioder: DateRange[];
@@ -63,7 +63,6 @@ const EndreArbeidstidForm: React.FunctionComponent = (
arbeidsuker,
lovbestemtFerie,
endring,
- arbeidsgivernavn,
onCancel,
onSubmit,
}) => {
@@ -199,10 +198,9 @@ const EndreArbeidstidForm: React.FunctionComponent = (
{arbeidsuker.length === 1 ? (
-
+
+
+
) : null}
@@ -276,11 +274,7 @@ const getUkerOgÅrBeskrivelse = (
{getArbeidstidSpørsmålDescription(arbeidsuker[0], intl.locale)}
{dagerMedFerie.length > 0 && (
-
+
)}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
index 578108da54..b5385573d2 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
@@ -37,10 +37,9 @@ const arbeidsukeToArbeidstidUkerItem = (
isoDateRange: arbeidsuke.isoDateRange,
periode: arbeidsuke.periode,
kanEndres: durationUtils.durationIsGreatherThanZero(arbeidsuke.normalt.uke),
- kanVelges: !erKortUke && dagerMedFerie.length === 0 && arbeidsuke.dagerIkkeAnsatt.length === 0,
+ kanVelges: !erKortUke && dagerMedFerie.length === 0,
antallDagerSøktFor: arbeidsuke.antallDagerSøktFor,
erKortUke,
- dagerIkkeAnsatt: arbeidsuke.dagerIkkeAnsatt || [],
harFeriedager: dagerMedFerie && dagerMedFerie.length > 0,
harFjernetFeriedager: dagerMedFjernetFerie && dagerMedFjernetFerie.length > 0,
ferie: {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
index 5534769440..9f23a23f24 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
@@ -61,7 +61,6 @@ const getArbeidsukeListItemFromArbeidstidPeriodeApiData = (
periode,
antallDagerSøktFor,
erKortUke: erKortArbeidsuke(periode),
- dagerIkkeAnsatt: [], //TODO
opprinnelig: {
normalt: getTimerPerUkeFraTimerPerDag(ISODurationToDuration(_opprinneligNormaltPerDag), antallDagerSøktFor),
faktisk: _opprinneligFaktiskPerDag
From b7eda068d4509985712cb1594c0c980c5e362ae8 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Tue, 21 Jan 2025 08:17:06 +0100
Subject: [PATCH 11/31] Stoppe brukere med 2 ansettelser samme uke
---
.../src/app/api/fetchInitialData.ts | 11 +++-
.../src/app/i18n/appMessages.ts | 2 +
.../components/ArbeidstidUkeInfo.tsx | 6 +-
.../components/ArbeidstidUkeInfoListe.tsx | 4 +-
.../pages/ingen-tilgang/IngenTilgangPage.tsx | 9 +++
.../app/types/IngenTilgang\303\205rsak.ts" | 1 +
.../utils/__tests__/tilgangskontroll.test.ts | 33 ++++++++++-
.../src/app/utils/tilgangskontroll.ts | 56 ++++++++++++++++++-
8 files changed, 112 insertions(+), 10 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts b/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
index b9731e31e4..eb214ce87e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
@@ -76,7 +76,7 @@ export const fetchInitialData = async (
})
.then((result) => {
arbeidsgivere = result;
- return kontrollerTilgang(k9saker, tillattEndringsperiode);
+ return kontrollerTilgang(k9saker, tillattEndringsperiode, arbeidsgivere);
})
.then(() => hentOgKontrollerLagretSøknadState(søker, k9saker))
.then((lagretSøknadState) => {
@@ -152,8 +152,13 @@ const kontrollerSaker = (
return Promise.resolve({ k9saker, dateRangeAlleSaker });
};
-const kontrollerTilgang = async (k9saker: K9Sak[], tillattEndringsperiode: DateRange): Promise => {
- const resultat = tilgangskontroll(k9saker, tillattEndringsperiode);
+const kontrollerTilgang = async (
+ k9saker: K9Sak[],
+ tillattEndringsperiode: DateRange,
+ arbeidsgivere: ArbeidsgiverForEndring[],
+): Promise => {
+ const resultat = tilgangskontroll(k9saker, tillattEndringsperiode, arbeidsgivere);
+
if (resultat.kanBrukeSøknad) {
return Promise.resolve(true);
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
index 76293bc7d1..66f97d79b4 100644
--- a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
@@ -100,6 +100,8 @@ const nb = {
'Du kan ikke bruke denne tjenesten fordi siste søknadsperiode gikk ut for mer enn enn {ANTALL_MÅNEDER_TILLATT_FOR_ENDRING} måneder siden. Du kan melde fra om endring i tjenesten {SkrivTilOssLink}, eller sende oss en ny søknad.',
'ingenTilgangPage.utenforEndringsperiode.2':
'Hvis du mener at dette ikke stemmer, er det fint at du sender en melding til oss {SkrivTilOssLink}.',
+ 'ingenTilgangPage.slutterOgStarterInneforSammeUke':
+ 'Vi ser at du har to ansettelsesforhold hos samme arbeidsgiver som slutter og starter samme uke. Da kan du desverre ikke bruke denne løsningen for å melde fra om endringer.',
'kvitteringPage.pageTitle': 'Endringsmelding er mottatt',
'kvitteringPage.title': 'Melding om endring er lagt til saken din',
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
index 4b85612c96..bbb4827f39 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
@@ -33,7 +33,11 @@ const ArbeidstidUkeInfo: React.FunctionComponent = ({ uke, medLabels = fa
const { endretProsent } = uke.endret;
return (
<>
- {medLabels && Arbeidstimer:}
+ {medLabels && (
+
+ Arbeidstimer:
+
+ )}
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
index eb7d576e6e..d921d77c0a 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
@@ -74,12 +74,12 @@ const ArbeidstidUkeInfoListe: React.FunctionComponent = ({ uke, visEndrin
)}
>
{erEndret && (
-
+
Endret fra
{uke.opprinnelig.faktisk && }
-
+
)}
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
index 1790f82dab..b0066ac953 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
@@ -88,6 +88,15 @@ const getÅrsakMelding = (årsak: IngenTilgangÅrsak) => {
{skrivTilOssGenerell}
);
+ case IngenTilgangÅrsak.harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke:
+ return (
+
+
+
+
+ {skrivTilOssGenerell}
+
+ );
case IngenTilgangÅrsak.søknadsperioderUtenforTillattEndringsperiode:
return (
diff --git "a/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts" "b/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
index dd30569002..ba61aa4f4a 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
@@ -6,4 +6,5 @@ export enum IngenTilgangÅrsak {
'harIngenPerioder' = 'harIngenPerioder',
'harArbeidsgiverUtenArbeidsaktivitet' = 'harArbeidsgiverUtenArbeidsaktivitet',
'harArbeidstidSomSelvstendigNæringsdrivende' = 'harArbeidstidSomSelvstendigNæringsdrivende',
+ 'harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke' = 'harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke',
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
index 13574c001a..5644177ef7 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
@@ -29,11 +29,11 @@ describe('tilgangskontroll', () => {
const tillattEndringsperiode = ISODateRangeToDateRange('2022-01-01/2023-03-01');
it('stopper ved ingen sak', () => {
- const result = tilgangskontroll([], tillattEndringsperiode);
+ const result = tilgangskontroll([], tillattEndringsperiode, []);
expect(result.kanBrukeSøknad).toBeFalsy();
});
it('stopper hvis bruker har flere enn én sak', () => {
- const result = tilgangskontroll([true, false] as any, tillattEndringsperiode);
+ const result = tilgangskontroll([true, false] as any, tillattEndringsperiode, []);
expect(result.kanBrukeSøknad).toBeFalsy();
});
});
@@ -146,3 +146,32 @@ describe('ingenTilgangMeta', () => {
expect(result.erSN).toBeTruthy();
});
});
+
+describe('slutterOgStarterHosArbeidsgiverSammeUke', () => {
+ const uke2: DateRange = ISODateRangeToDateRange('2025-01-06/2025-01-12');
+ const uke4: DateRange = ISODateRangeToDateRange('2025-01-20/2025-01-26');
+ const uke3ManOns: DateRange = ISODateRangeToDateRange('2025-01-13/2025-01-15');
+ const uke3TorFre: DateRange = ISODateRangeToDateRange('2025-01-16/2025-01-17');
+ const uke3FreSøn: DateRange = ISODateRangeToDateRange('2025-01-17/2025-01-19');
+
+ it('returnerer false hvis det ikke er noen ansettelsesperiode', () => {
+ expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([])).toBeFalsy();
+ });
+ it('returnerer false hvis det bare er én ansettelsesperiode', () => {
+ expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2])).toBeFalsy();
+ });
+ it('returnerer false hvis det to ansettelsesperiode med én uke mellom', () => {
+ expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2, uke4])).toBeFalsy();
+ });
+ it('returnerer false hvis det to ansettelsesperiode med er sammenhengende', () => {
+ expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke3ManOns, uke3TorFre])).toBeFalsy();
+ });
+ it('returnerer true hvis to perioder slutter og starter innenfor samme uke men med opphold', () => {
+ expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke3ManOns, uke3FreSøn])).toBeTruthy();
+ });
+ it('returnerer true hvis to det er mange perioder usortert og noen slutter og starter innenfor samme uke men med opphold', () => {
+ expect(
+ tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2, uke4, uke3ManOns, uke3FreSøn]),
+ ).toBeTruthy();
+ });
+});
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
index 59ee6b82bf..d19dd0e861 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
@@ -1,4 +1,4 @@
-import { DateRange, durationToDecimalDuration } from '@navikt/sif-common-utils';
+import { DateRange, durationToDecimalDuration, ensureDateRange, sortDateRange } from '@navikt/sif-common-utils';
import {
ArbeidsgiverForEndring,
IngenTilgangÅrsak,
@@ -26,7 +26,11 @@ type TilgangTillatt = {
export type TilgangKontrollResultat = TilgangNektet | TilgangTillatt;
-export const tilgangskontroll = (saker: K9Sak[], tillattEndringsperiode: DateRange): TilgangKontrollResultat => {
+export const tilgangskontroll = (
+ saker: K9Sak[],
+ tillattEndringsperiode: DateRange,
+ arbeidsgivere: ArbeidsgiverForEndring[],
+): TilgangKontrollResultat => {
/** Har ingen saker */
if (saker.length === 0) {
return {
@@ -57,6 +61,11 @@ export const tilgangskontroll = (saker: K9Sak[], tillattEndringsperiode: DateRan
ingenTilgangÅrsak.push(IngenTilgangÅrsak.harArbeidstidSomSelvstendigNæringsdrivende);
}
+ /** Bruker har ansettelsperioder hos samme arbeidsgiver som starter og stopper samme uke, med opphold mellom */
+ if (harAnsettelsesforholdSomStarterOgSlutterSammeUkeMedOpphold(sak, tillattEndringsperiode, arbeidsgivere)) {
+ ingenTilgangÅrsak.push(IngenTilgangÅrsak.harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke);
+ }
+
if (ingenTilgangÅrsak.length > 0) {
return {
kanBrukeSøknad: false,
@@ -114,8 +123,51 @@ const harSøknadsperiodeInnenforTillattEndringsperiode = (
: false;
};
+const harAnsettelsesforholdSomStarterOgSlutterSammeUkeMedOpphold = (
+ sak: K9Sak,
+ tillatEndringsperiode: DateRange,
+ arbeidsgivere: ArbeidsgiverForEndring[],
+): boolean => {
+ const orgnrISak = (sak.ytelse.arbeidstid.arbeidstakerList || []).map((a) => a.organisasjonsnummer);
+ return arbeidsgivere
+ .filter((a) => orgnrISak.includes(a.organisasjonsnummer))
+ .some((arbeidsgiver) => {
+ const ansettelserInnenforEndringsperiode = arbeidsgiver.ansettelsesperioder.map((d) =>
+ ensureDateRange(d, tillatEndringsperiode),
+ );
+ return perioderSlutterOgStarterSammeUkeMedOpphold(ansettelserInnenforEndringsperiode);
+ });
+};
+
+/**
+ * Går gjennom array for å se om det er perioder som slutter og starter innenfor samme
+ * uke, og hvor det er opphold på en dag mellom periodene.
+ * @param ansettelsesperioder DateRange
+ * @returns boolean
+ */
+const perioderSlutterOgStarterSammeUkeMedOpphold = (ansettelsesperioder: DateRange[]) => {
+ return ansettelsesperioder.sort(sortDateRange).some((periode, index) => {
+ if (index === 0) {
+ return false;
+ }
+ const forrigePeriode = ansettelsesperioder[index - 1];
+
+ /** Slutter og starter periodene innenfor samme uke */
+ if (!dayjs(periode.from).isSame(dayjs(forrigePeriode.to), 'isoWeek')) {
+ return false;
+ }
+ /** Periodene er sammenhengende */
+ if (dayjs(periode.from).diff(forrigePeriode.to, 'day') === 1) {
+ return false;
+ }
+
+ return true;
+ });
+};
+
export const tilgangskontrollUtils = {
getIngenTilgangMeta,
harArbeidsgiverUtenArbeidsaktivitet,
harSøknadsperiodeInnenforTillattEndringsperiode,
+ slutterOgStarterHosArbeidsgiverSammeUke: perioderSlutterOgStarterSammeUkeMedOpphold,
};
From 4ed9b5448efe5084e76031d3e7532d2846442033 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Tue, 21 Jan 2025 08:24:23 +0100
Subject: [PATCH 12/31] Revert renaming av prop
---
.../src/app/i18n/appMessages.ts | 2 +-
.../ArbeidstidUker.stories.tsx | 36 +++++++++----------
.../arbeidstid-uker/arbeidstidUker.scss | 1 -
.../components/ArbeidstidUkeInfo.tsx | 2 +-
.../components/ArbeidstidUkeInfoListe.tsx | 2 +-
.../types/ArbeidstidUkerItem.ts | 2 +-
.../EndreArbeidstidForm.tsx | 2 +-
.../endreArbeidstidFormUtils.ts | 8 ++---
.../arbeidsaktivitetUtils.ts" | 6 ++--
.../steps/arbeidstid/arbeidstidStepUtils.ts" | 2 +-
.../oppsummering/oppsummeringStepUtils.ts" | 19 +++++++---
.../src/app/types/Sak.ts | 2 +-
.../utils/__tests__/getSakFromK9Sak.test.ts | 14 ++++----
.../src/app/utils/beregnUtils.ts | 10 +++---
.../src/app/utils/getSakFromK9Sak.ts | 8 ++---
...rbeidstidApiDataFromS\303\270knadsdata.ts" | 16 +++++----
.../src/mocks/data/app/arbeidsukerMockData.ts | 11 +++---
17 files changed, 79 insertions(+), 64 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
index 66f97d79b4..2c9285914a 100644
--- a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
@@ -31,7 +31,7 @@ const nb = {
'arbeidsaktivitetBlockHeader.arbeidsgiver.orgnummer': 'Organisasjonsnummer: {orgnr}',
'arbeidsaktivitetBlockHeader.arbeidsgiver.ansettelsesperioder': 'Ansettelsesperioder',
'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattFom': 'Ansatt: {dato}.',
- 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattTom': ': Sluttdato: {dato}.',
+ 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattTom': ' Sluttdato: {dato}.',
'ikkeAnsattMelding.tekst':
'Er du feilregistrert eller du har sluttet i dette arbeidsforholdet før perioden du søkte pleiepenger, må du be arbeidsgiveren om å sende en ny A-melding med sluttdato. Dette gjør de enten via eget lønns- og personalsystem, eller via Altinn.',
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
index 7b77914b1f..3f6f9c3e26 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.stories.tsx
@@ -25,7 +25,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: false,
- antallDagerSøktFor: 2,
+ antallDagerMedArbeidstid: 2,
erKortUke: true,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -53,7 +53,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -81,7 +81,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -109,7 +109,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -137,7 +137,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -165,7 +165,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -193,7 +193,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -221,7 +221,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -249,7 +249,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -277,7 +277,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -305,7 +305,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -333,7 +333,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -361,7 +361,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -389,7 +389,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -417,7 +417,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -445,7 +445,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -473,7 +473,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
@@ -501,7 +501,7 @@ export const Default: Story = {
},
kanEndres: true,
kanVelges: true,
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
erKortUke: false,
harFeriedager: false,
harFjernetFeriedager: false,
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/arbeidstidUker.scss b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/arbeidstidUker.scss
index e381abe256..9512a5dd9a 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/arbeidstidUker.scss
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/arbeidstidUker.scss
@@ -21,7 +21,6 @@
}
&__info {
font-size: 1.4rem;
- // white-space: nowrap;
svg {
margin: 0 0.25rem;
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
index bbb4827f39..d860efa8dc 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfo.tsx
@@ -48,7 +48,7 @@ const ArbeidstidUkeInfo: React.FunctionComponent = ({ uke, medLabels = fa
);
}
const { faktisk, endretProsent } = uke.endret;
- const erEndringGyldig = erTimerGyldigInnenforAntallDager(faktisk, uke.antallDagerSøktFor);
+ const erEndringGyldig = erTimerGyldigInnenforAntallDager(faktisk, uke.antallDagerMedArbeidstid);
return (
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
index d921d77c0a..4db0e0d012 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeInfoListe.tsx
@@ -50,7 +50,7 @@ const ArbeidstidUkeInfoListe: React.FunctionComponent
= ({ uke, visEndrin
const erEndret = erArbeidstidUkeItemEndret(uke);
- const erEndringGyldig = erTimerGyldigInnenforAntallDager(uke.endret.faktisk, uke.antallDagerSøktFor);
+ const erEndringGyldig = erTimerGyldigInnenforAntallDager(uke.endret.faktisk, uke.antallDagerMedArbeidstid);
return (
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
index 980766084c..727f26f4bf 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/types/ArbeidstidUkerItem.ts
@@ -6,7 +6,7 @@ export interface ArbeidstidUkerItem {
kanVelges: boolean;
isoDateRange: ISODateRange;
periode: DateRange;
- antallDagerSøktFor: number;
+ antallDagerMedArbeidstid: number;
erKortUke: boolean;
harFeriedager?: boolean;
harFjernetFeriedager?: boolean;
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
index 0d243e06aa..5f7cb3271d 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
@@ -110,7 +110,7 @@ const EndreArbeidstidForm: React.FunctionComponent = (
: [];
const getMaksTimer = () => {
- const antallDager = arbeidsuker.length === 1 ? arbeidsuker[0].antallDagerSøktFor : 7;
+ const antallDager = arbeidsuker.length === 1 ? arbeidsuker[0].antallDagerMedArbeidstid : 7;
return 24 * antallDager;
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/endreArbeidstidFormUtils.ts b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/endreArbeidstidFormUtils.ts
index 381547c881..69b3825acd 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/endreArbeidstidFormUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/endreArbeidstidFormUtils.ts
@@ -50,7 +50,7 @@ export const getUkerForEndring = (arbeidsuker: Arbeidsuke[]): UkerForEndringType
const sisteUke = arbeidsuker[arbeidsuker.length - 1];
if (arbeidsuker.length === 2) {
/** Begge uker er komplette uker */
- if (førsteUke.antallDagerSøktFor + sisteUke.antallDagerSøktFor === 10) {
+ if (førsteUke.antallDagerMedArbeidstid + sisteUke.antallDagerMedArbeidstid === 10) {
return {
spørOmSnittUker: true,
};
@@ -62,7 +62,7 @@ export const getUkerForEndring = (arbeidsuker: Arbeidsuke[]): UkerForEndringType
}
/** Bare fulle uker */
- const antallIkkeFulleUker = arbeidsuker.filter((uke) => uke.antallDagerSøktFor !== 5).length;
+ const antallIkkeFulleUker = arbeidsuker.filter((uke) => uke.antallDagerMedArbeidstid !== 5).length;
if (antallIkkeFulleUker === 0) {
return {
spørOmSnittUker: true,
@@ -76,8 +76,8 @@ export const getUkerForEndring = (arbeidsuker: Arbeidsuke[]): UkerForEndringType
};
}
- const spørOmFørsteUke = arbeidsuker[0].antallDagerSøktFor < 5;
- const spørOmSisteUke = arbeidsuker[arbeidsuker.length - 1].antallDagerSøktFor < 5;
+ const spørOmFørsteUke = arbeidsuker[0].antallDagerMedArbeidstid < 5;
+ const spørOmSisteUke = arbeidsuker[arbeidsuker.length - 1].antallDagerMedArbeidstid < 5;
return {
spørOmSnittUker: true,
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
index b5385573d2..6ec9652256 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/arbeidsaktivitetUtils.ts"
@@ -38,7 +38,7 @@ const arbeidsukeToArbeidstidUkerItem = (
periode: arbeidsuke.periode,
kanEndres: durationUtils.durationIsGreatherThanZero(arbeidsuke.normalt.uke),
kanVelges: !erKortUke && dagerMedFerie.length === 0,
- antallDagerSøktFor: arbeidsuke.antallDagerSøktFor,
+ antallDagerMedArbeidstid: arbeidsuke.antallDagerMedArbeidstid,
erKortUke,
harFeriedager: dagerMedFerie && dagerMedFerie.length > 0,
harFjernetFeriedager: dagerMedFjernetFerie && dagerMedFjernetFerie.length > 0,
@@ -56,9 +56,9 @@ const arbeidsukeToArbeidstidUkerItem = (
beregnEndretFaktiskArbeidstidPerDag(
arbeidsuke.normalt.uke,
endring,
- arbeidsuke.antallDagerSøktFor,
+ arbeidsuke.antallDagerMedArbeidstid,
),
- arbeidsuke.antallDagerSøktFor,
+ arbeidsuke.antallDagerMedArbeidstid,
),
endretProsent: endring.type === TimerEllerProsent.PROSENT ? endring.prosent : undefined,
}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidstidStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidstidStepUtils.ts"
index 3cbe570281..7ed6f778c0 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidstidStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidstidStepUtils.ts"
@@ -73,7 +73,7 @@ export const cleanupArbeidsaktivitetEndringer = (
const endretArbeidstid = beregnEndretArbeidstidForUke(
endring,
opprinnelig.normalt.uke,
- opprinnelig.antallDagerSøktFor,
+ opprinnelig.antallDagerMedArbeidstid,
);
if (!durationsAreEqual(endretArbeidstid, opprinnelig.faktisk?.uke)) {
cleanedEndringer[key] = endring;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
index 9f23a23f24..4a0a25cfa1 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/oppsummeringStepUtils.ts"
@@ -51,7 +51,7 @@ const getArbeidsukeListItemFromArbeidstidPeriodeApiData = (
isoDateRange: ISODateRange,
): ArbeidstidUkerItem => {
const periode = ISODateRangeToDateRange(isoDateRange);
- const antallDagerSøktFor = getDatesInDateRange(periode).length;
+ const antallDagerMedArbeidstid = getDatesInDateRange(periode).length;
const arbeidsuke: ArbeidstidUkerItem = {
id: isoDateRange,
@@ -59,16 +59,25 @@ const getArbeidsukeListItemFromArbeidstidPeriodeApiData = (
kanVelges: false,
isoDateRange,
periode,
- antallDagerSøktFor,
+ antallDagerMedArbeidstid,
erKortUke: erKortArbeidsuke(periode),
opprinnelig: {
- normalt: getTimerPerUkeFraTimerPerDag(ISODurationToDuration(_opprinneligNormaltPerDag), antallDagerSøktFor),
+ normalt: getTimerPerUkeFraTimerPerDag(
+ ISODurationToDuration(_opprinneligNormaltPerDag),
+ antallDagerMedArbeidstid,
+ ),
faktisk: _opprinneligFaktiskPerDag
- ? getTimerPerUkeFraTimerPerDag(ISODurationToDuration(_opprinneligFaktiskPerDag), antallDagerSøktFor)
+ ? getTimerPerUkeFraTimerPerDag(
+ ISODurationToDuration(_opprinneligFaktiskPerDag),
+ antallDagerMedArbeidstid,
+ )
: undefined,
},
endret: {
- faktisk: getTimerPerUkeFraTimerPerDag(ISODurationToDuration(faktiskArbeidTimerPerDag), antallDagerSøktFor),
+ faktisk: getTimerPerUkeFraTimerPerDag(
+ ISODurationToDuration(faktiskArbeidTimerPerDag),
+ antallDagerMedArbeidstid,
+ ),
endretProsent: _endretProsent,
},
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
index ef4cac9d6d..3874576ec5 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
@@ -61,7 +61,7 @@ export interface Arbeidsuke {
arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap;
faktisk?: ArbeidsukeTimer;
normalt: ArbeidsukeTimer;
- antallDagerSøktFor: number;
+ antallDagerMedArbeidstid: number;
dagerSøktFor: Date[];
dagerIkkeAnsatt: Date[];
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
index ae8e5b5aaa..7595682e22 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
@@ -222,14 +222,14 @@ describe('getSakFromK9Sak', () => {
expect(result.length).toEqual(1);
const uke = result[0];
expect(dateRangeToISODateRange(uke.periode)).toEqual('2022-01-03/2022-01-03');
- expect(uke.antallDagerSøktFor).toEqual(1);
+ expect(uke.antallDagerMedArbeidstid).toEqual(1);
});
it('returnerer riktig for dager som går over én hel uke', () => {
const result = getArbeidsukerFromEnkeltdager(helUke);
expect(result.length).toEqual(1);
const uke = result[0];
expect(dateRangeToISODateRange(uke.periode)).toEqual('2022-01-03/2022-01-07');
- expect(uke.antallDagerSøktFor).toEqual(5);
+ expect(uke.antallDagerMedArbeidstid).toEqual(5);
});
it('returnerer riktig for dager som går mer enn én uker', () => {
const result = getArbeidsukerFromEnkeltdager(flereUker);
@@ -238,8 +238,8 @@ describe('getSakFromK9Sak', () => {
const uke2 = result[1];
expect(dateRangeToISODateRange(uke1.periode)).toEqual('2022-01-03/2022-01-09');
expect(dateRangeToISODateRange(uke2.periode)).toEqual('2022-01-10/2022-01-11');
- expect(uke1.antallDagerSøktFor).toEqual(5);
- expect(uke2.antallDagerSøktFor).toEqual(2);
+ expect(uke1.antallDagerMedArbeidstid).toEqual(5);
+ expect(uke2.antallDagerMedArbeidstid).toEqual(2);
});
});
@@ -264,7 +264,7 @@ describe('getSakFromK9Sak', () => {
it('returnerer riktig for én enkeltdag', () => {
const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, enkeltdag);
- expect(uke.antallDagerSøktFor).toEqual(1);
+ expect(uke.antallDagerMedArbeidstid).toEqual(1);
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.normalt.dag)).toEqual(durationToISODuration(arbeidstid.normalt));
@@ -273,7 +273,7 @@ describe('getSakFromK9Sak', () => {
it('fjerner dager som ikke er innenfor uken', () => {
const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, helUke);
- expect(uke.antallDagerSøktFor).toEqual(1);
+ expect(uke.antallDagerMedArbeidstid).toEqual(1);
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.normalt.dag)).toEqual(durationToISODuration(arbeidstid.normalt));
@@ -282,7 +282,7 @@ describe('getSakFromK9Sak', () => {
it('returnerer riktig for én uke', () => {
const uke = getArbeidsukeFromEnkeltdagerIUken(periodeHelUke, helUke);
- expect(uke.antallDagerSøktFor).toEqual(5);
+ expect(uke.antallDagerMedArbeidstid).toEqual(5);
expect(uke.isoDateRange).toEqual(dateRangeToISODateRange(periodeHelUke));
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual('PT10H0M');
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/beregnUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/beregnUtils.ts
index 8e037f34d9..66fc437af1 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/beregnUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/beregnUtils.ts
@@ -4,11 +4,11 @@ import { ArbeidstidEndring, TimerEllerProsent } from '@types';
export const beregnEndretArbeidstidForUke = (
endring: ArbeidstidEndring,
normaltidPerUke: Duration,
- antallDagerSøktFor: number,
+ antallDagerMedArbeidstid: number,
): Duration => {
return getTimerPerUkeFraTimerPerDag(
- beregnEndretFaktiskArbeidstidPerDag(normaltidPerUke, endring, antallDagerSøktFor),
- antallDagerSøktFor,
+ beregnEndretFaktiskArbeidstidPerDag(normaltidPerUke, endring, antallDagerMedArbeidstid),
+ antallDagerMedArbeidstid,
);
};
@@ -37,8 +37,8 @@ export const summerTimerPerDag = (timerPerDag: Duration, antallDager: number): D
return decimalDurationToDuration(durationToDecimalDuration(timerPerDag) * antallDager);
};
-export const getTimerPerUkeFraTimerPerDag = (tidPerDag: Duration, antallDagerSøktFor: number): Duration => {
- return summerTimerPerDag(tidPerDag, antallDagerSøktFor);
+export const getTimerPerUkeFraTimerPerDag = (tidPerDag: Duration, antallDagerMedArbeidstid: number): Duration => {
+ return summerTimerPerDag(tidPerDag, antallDagerMedArbeidstid);
};
/**
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index aa1e4b43ea..fc56c4f770 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -307,7 +307,7 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
): Arbeidsuke => {
const arbeidstidEnkeltdagerIUken = fjernArbeidstidEnkeltdagerUtenforPeriode(periode, arbeidstidEnkeltdager);
const dagerSøktFor = Object.keys(arbeidstidEnkeltdagerIUken);
- const antallDagerSøktFor = dagerSøktFor.length;
+ const antallDagerMedArbeidstid = dagerSøktFor.length;
const faktisk = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].faktisk);
const normalt = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].normalt);
const normaltSummertHeleUken = numberDurationAsDuration(durationUtils.summarizeDurations(normalt));
@@ -319,14 +319,14 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
dagerSøktFor: dagerSøktFor.map(ISODateToDate),
dagerIkkeAnsatt: getDagerIkkeAnsattIPeriode(periode, ansettelsesperioder),
- antallDagerSøktFor: dagerSøktFor.length,
+ antallDagerMedArbeidstid: dagerSøktFor.length,
faktisk: {
uke: faktiskSummertHeleUken,
- dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerSøktFor),
+ dag: beregnSnittTimerPerDag(faktiskSummertHeleUken, antallDagerMedArbeidstid),
},
normalt: {
uke: normaltSummertHeleUken,
- dag: beregnSnittTimerPerDag(normaltSummertHeleUken, antallDagerSøktFor),
+ dag: beregnSnittTimerPerDag(normaltSummertHeleUken, antallDagerMedArbeidstid),
},
};
return arbeidsuke;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
index 67b6513130..47168fb4b2 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
@@ -55,13 +55,13 @@ const getEndretArbeidstid = (
const arbeidsuker = getAlleArbeidsukerIPerioder(arbeidsaktivitet.perioderMedArbeidstid);
const arbeidsuke = arbeidsuker[isoDateRange];
const dagerSøktFor = getDagerFraEnkeltdagMap(arbeidsuke.arbeidstidEnkeltdager);
- const { antallDagerSøktFor } = arbeidsuke;
+ const { antallDagerMedArbeidstid } = arbeidsuke;
- const jobberNormaltTimerPerDag = beregnSnittTimerPerDag(arbeidsuke.normalt.uke, antallDagerSøktFor);
+ const jobberNormaltTimerPerDag = beregnSnittTimerPerDag(arbeidsuke.normalt.uke, antallDagerMedArbeidstid);
const faktiskArbeidTimerPerDag = beregnEndretFaktiskArbeidstidPerDag(
arbeidsuke.normalt.uke,
endring,
- antallDagerSøktFor,
+ antallDagerMedArbeidstid,
);
/** Splitt opp hvis det er enkeltdager i uken */
@@ -168,7 +168,7 @@ export const getArbeidstidApiDataFromSøknadsdata = (
const jobberNormaltTimerPerDag = beregnSnittTimerPerDag(
arbeidsuke.normalt.uke,
- arbeidsuke.antallDagerSøktFor,
+ arbeidsuke.antallDagerMedArbeidstid,
);
/** Splitt opp hvis det er enkeltdager i uken */
@@ -216,14 +216,18 @@ export const getArbeidstidApiDataFromSøknadsdata = (
export const getFaktiskArbeidTimerPerDagForUkjentArbeidsforhold = (
arbeiderIPerioden: ArbeiderIPeriodenSvar,
- arbeidsuke: Pick,
+ arbeidsuke: Pick,
endring?: ArbeidstidEndring,
): Duration => {
if (!endring && arbeiderIPerioden === ArbeiderIPeriodenSvar.redusert) {
throw 'Faktisk arbeidstid mangler for redusert arbeidsforhold';
}
if (endring) {
- return beregnEndretFaktiskArbeidstidPerDag(arbeidsuke.normalt.uke, endring, arbeidsuke.antallDagerSøktFor);
+ return beregnEndretFaktiskArbeidstidPerDag(
+ arbeidsuke.normalt.uke,
+ endring,
+ arbeidsuke.antallDagerMedArbeidstid,
+ );
}
return arbeiderIPerioden === ArbeiderIPeriodenSvar.heltFravær
? {
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
index 7a30e42e91..7bd992fdfe 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
@@ -16,7 +16,10 @@ const getMockArbeidsuke = (
normaltPerDag: Duration = { hours: '7', minutes: '30' },
faktiskPerDag: Duration = { hours: '2', minutes: '0' },
): Arbeidsuke => {
- const antallDagerSøktFor = dateRangeUtils.getNumberOfDaysInDateRange(ISODateRangeToDateRange(isoDateRange), true);
+ const antallDagerMedArbeidstid = dateRangeUtils.getNumberOfDaysInDateRange(
+ ISODateRangeToDateRange(isoDateRange),
+ true,
+ );
const periode = ISODateRangeToDateRange(isoDateRange);
const dagerSøktFor = getDatesInDateRange(periode, true).map((d) => dateToISODate(d)); // Alle dager i perioden
const arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap = {};
@@ -34,14 +37,14 @@ const getMockArbeidsuke = (
dagerIkkeAnsatt: [],
dagerSøktFor: dagerSøktFor.map(ISODateToDate),
normalt: {
- uke: decimalDurationToDuration(durationToDecimalDuration(normaltPerDag) * antallDagerSøktFor),
+ uke: decimalDurationToDuration(durationToDecimalDuration(normaltPerDag) * antallDagerMedArbeidstid),
dag: normaltPerDag,
},
faktisk: {
- uke: decimalDurationToDuration(durationToDecimalDuration(faktiskPerDag) * antallDagerSøktFor),
+ uke: decimalDurationToDuration(durationToDecimalDuration(faktiskPerDag) * antallDagerMedArbeidstid),
dag: faktiskPerDag,
},
- antallDagerSøktFor,
+ antallDagerMedArbeidstid,
};
};
From fe0d48477603b95347a2c8c01a266fc7855a83c5 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Tue, 21 Jan 2025 08:28:18 +0100
Subject: [PATCH 13/31] Cleanup
---
.../arbeidstid-uker/ArbeidstidUker.tsx | 3 --
.../components/ArbeidstidUkeTabell.tsx | 1 -
.../components/ArbeidsaktivitetContent.tsx" | 1 -
.../ArbeidstidArbeidstakerOppsummering.tsx" | 1 -
.../oppsummering/ArbeidstidOppsummering.tsx" | 2 -
.../src/storybook/data/sakMock.ts | 48 +++++++++----------
6 files changed, 24 insertions(+), 32 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
index f8dcbfa1e7..feec86b2bb 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/ArbeidstidUker.tsx
@@ -21,7 +21,6 @@ interface Props {
paginering?: {
antall: number;
};
- arbeidsgivernavn: string;
arbeidstidKolonneTittel?: string;
triggerResetValgCounter?: number;
visEndringSomOpprinnelig?: boolean;
@@ -36,7 +35,6 @@ const ArbeidstidUker: React.FunctionComponent = ({
arbeidstidKolonneTittel,
triggerResetValgCounter,
visEndringSomOpprinnelig,
- arbeidsgivernavn,
onEndreUker,
}) => {
const { text, intl } = useAppIntl();
@@ -167,7 +165,6 @@ const ArbeidstidUker: React.FunctionComponent = ({
{renderEndreUkerHeader()}
;
visEndringSomOpprinnelig?: boolean;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
index da33340e9a..2b42844513 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
@@ -73,7 +73,6 @@ const ArbeidsaktivitetContent: React.FunctionComponent = ({
)}
visEndringSomOpprinnelig={erNyArbeidsgiver}
triggerResetValgCounter={resetUkerTabellCounter}
- arbeidsgivernavn={arbeidsaktivitet.navn}
onEndreUker={(uker: ArbeidstidUkerItem[]) => {
setArbeidsukerForEndring(uker.map((uke) => periode.arbeidsuker[uke.isoDateRange]));
}}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
index aa12481821..e22add7330 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
@@ -40,7 +40,6 @@ const ArbeidstidArbeidstakerOppsummering = ({ arbeidsgivere, arbeidstaker, arbei
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
index 3cfc6bc614..4af25ab5fc 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
@@ -47,7 +47,6 @@ const ArbeidstidOppsummering: React.FunctionComponent = ({ arbeidstid, ar
<>
@@ -64,7 +63,6 @@ const ArbeidstidOppsummering: React.FunctionComponent = ({ arbeidstid, ar
listItems={oppsummeringStepUtils.getArbeidstidUkerItems(
selvstendigNæringsdrivendeArbeidstidInfo.perioder,
)}
- arbeidsgivernavn="Selvstendig næringsdrivende"
arbeidstidKolonneTittel={arbeidstidKolonneTittel}
/>
>
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
index eb711736ba..c90f3d7db8 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
@@ -132,7 +132,7 @@ export const sakMock: Sak = {
minutes: '0',
},
},
- antallDagerSøktFor: 4,
+ antallDagerMedArbeidstid: 4,
},
},
},
@@ -220,7 +220,7 @@ export const sakMock: Sak = {
minutes: '24',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-01/2024-04-07': {
isoDateRange: '2024-04-01/2024-04-07',
@@ -302,7 +302,7 @@ export const sakMock: Sak = {
minutes: '0',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-08/2024-04-14': {
isoDateRange: '2024-04-08/2024-04-14',
@@ -384,7 +384,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-15/2024-04-21': {
isoDateRange: '2024-04-15/2024-04-21',
@@ -466,7 +466,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-22/2024-04-28': {
isoDateRange: '2024-04-22/2024-04-28',
@@ -548,7 +548,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-29/2024-05-05': {
isoDateRange: '2024-04-29/2024-05-05',
@@ -630,7 +630,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-05-06/2024-05-12': {
isoDateRange: '2024-05-06/2024-05-12',
@@ -712,7 +712,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-05-13/2024-05-19': {
isoDateRange: '2024-05-13/2024-05-19',
@@ -794,7 +794,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-05-20/2024-05-26': {
isoDateRange: '2024-05-20/2024-05-26',
@@ -876,7 +876,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-05-27/2024-05-31': {
isoDateRange: '2024-05-27/2024-05-31',
@@ -958,7 +958,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
},
},
@@ -1029,7 +1029,7 @@ export const sakMock: Sak = {
minutes: '48',
},
},
- antallDagerSøktFor: 2,
+ antallDagerMedArbeidstid: 2,
},
},
},
@@ -1143,7 +1143,7 @@ export const sakMock: Sak = {
minutes: '0',
},
},
- antallDagerSøktFor: 4,
+ antallDagerMedArbeidstid: 4,
},
},
},
@@ -1231,7 +1231,7 @@ export const sakMock: Sak = {
minutes: '24',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-01/2024-04-07': {
isoDateRange: '2024-04-01/2024-04-07',
@@ -1313,7 +1313,7 @@ export const sakMock: Sak = {
minutes: '0',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-08/2024-04-14': {
isoDateRange: '2024-04-08/2024-04-14',
@@ -1395,7 +1395,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-15/2024-04-21': {
isoDateRange: '2024-04-15/2024-04-21',
@@ -1477,7 +1477,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-22/2024-04-28': {
isoDateRange: '2024-04-22/2024-04-28',
@@ -1559,7 +1559,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-04-29/2024-05-05': {
isoDateRange: '2024-04-29/2024-05-05',
@@ -1641,7 +1641,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-05-06/2024-05-12': {
isoDateRange: '2024-05-06/2024-05-12',
@@ -1723,7 +1723,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-05-13/2024-05-19': {
isoDateRange: '2024-05-13/2024-05-19',
@@ -1805,7 +1805,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-05-20/2024-05-26': {
isoDateRange: '2024-05-20/2024-05-26',
@@ -1887,7 +1887,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
'2024-05-27/2024-05-31': {
isoDateRange: '2024-05-27/2024-05-31',
@@ -1969,7 +1969,7 @@ export const sakMock: Sak = {
minutes: '30',
},
},
- antallDagerSøktFor: 5,
+ antallDagerMedArbeidstid: 5,
},
},
},
@@ -2039,7 +2039,7 @@ export const sakMock: Sak = {
minutes: '48',
},
},
- antallDagerSøktFor: 2,
+ antallDagerMedArbeidstid: 2,
},
},
},
From bcb88791f5a3605c6838a2a0e3b4fbb7059a134d Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Tue, 21 Jan 2025 08:29:55 +0100
Subject: [PATCH 14/31] Mer cleanup
---
.../src/app/modules/arbeidstid-uker/components/UkeTags.tsx | 1 -
.../app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx | 3 +--
.../components/ArbeidsaktivitetContent.tsx" | 1 -
3 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
index 45cc7349f2..1a0c285879 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
@@ -8,7 +8,6 @@ interface Props {
erKortUke?: boolean;
dagerMedFerie: Date[] | undefined;
dagerMedFjernetFerie?: Date[] | undefined;
-
visDagNavn?: boolean;
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
index 5f7cb3271d..5180247a8b 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
@@ -21,11 +21,11 @@ import {
import dayjs from 'dayjs';
import { AppIntlShape, AppText, useAppIntl } from '../../i18n';
import actionsCreator from '../../søknad/context/action/actionCreator';
+import KortUkeInfo from '../arbeidstid-uker/components/KortUkeInfo';
import UkeTags from '../arbeidstid-uker/components/UkeTags';
import { getArbeidstidSpørsmålDescription, getArbeidsukerPerÅr } from './endreArbeidstidFormUtils';
import { getEndreArbeidstidIntlValues } from './endreArbeidstidIntlValues';
import './endreArbeidstidForm.scss';
-import KortUkeInfo from '../arbeidstid-uker/components/KortUkeInfo';
type EndreArbeidstidData = {
perioder: DateRange[];
@@ -36,7 +36,6 @@ export interface EndreArbeidstidFormProps {
arbeidsuker: Arbeidsuke[];
lovbestemtFerie?: LovbestemtFerieSøknadsdata;
endring?: ArbeidstidEndring;
- arbeidsgivernavn: string;
onSubmit: (data: EndreArbeidstidData) => void;
onCancel: () => void;
}
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
index 2b42844513..7218d4b50a 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetContent.tsx"
@@ -172,7 +172,6 @@ const ArbeidsaktivitetContent: React.FunctionComponent = ({
isVisible={arbeidsukerForEndring !== undefined}
onClose={() => setArbeidsukerForEndring(undefined)}>
Date: Tue, 21 Jan 2025 09:18:44 +0100
Subject: [PATCH 15/31] stash
---
.../en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts | 7 -------
1 file changed, 7 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
index b292f8957d..e3e2fe1ecd 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
@@ -10,13 +10,6 @@ export default {
organisasjonsnummer: '947064649',
navn: 'Norsk bedrift AS',
ansattFom: '2022-12-05',
- ansattTom: '2022-12-06',
- },
- {
- organisasjonsnummer: '947064649',
- navn: 'Norsk bedrift AS',
- ansattFom: '2022-12-08',
- ansattTom: null,
},
],
privateArbeidsgivere: null,
From 186e44c6074d3247d82152aec541b1fa26b2758b Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Wed, 22 Jan 2025 08:06:40 +0100
Subject: [PATCH 16/31] Test
---
.../en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts | 6 ------
1 file changed, 6 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts
index 06302bf1db..74e2a56eec 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/arbeidsgiver-mock.ts
@@ -4,12 +4,6 @@ export default {
organisasjonsnummer: '947064649',
navn: 'Norsk bedrift AS',
ansattFom: '2003-01-16',
- ansattTom: '2022-12-31',
- },
- {
- organisasjonsnummer: '947064649',
- navn: 'Norsk bedrift AS',
- ansattFom: '2024-02-01',
ansattTom: null,
},
],
From 99fe8a46e7557a28327eaf44beda0987835450b8 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Wed, 22 Jan 2025 08:41:32 +0100
Subject: [PATCH 17/31] Revert endring i mock-data
---
.../en-arbeidsgiver-en-periode/sak-mock.ts | 36 +++++++++++++++++--
.../arbeidsgiver-mock.ts | 6 ----
2 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/sak-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/sak-mock.ts
index a869081fc8..8b2cc9fe4d 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/sak-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-en-periode/sak-mock.ts
@@ -56,11 +56,43 @@ export default [
organisasjonsnummer: '947064649',
arbeidstidInfo: {
perioder: {
- '2020-12-01/2023-12-31': {
+ '2022-12-01/2022-12-02': {
jobberNormaltTimerPerDag: 'PT8H',
faktiskArbeidTimerPerDag: 'PT4H32M24S',
},
- '2024-02-01/2024-03-01': {
+ '2022-12-05/2022-12-09': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-12/2022-12-16': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-19/2022-12-23': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-26/2022-12-30': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-02/2023-01-06': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-09/2023-01-13': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-16/2023-01-20': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-23/2023-01-27': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-30/2024-05-31': {
jobberNormaltTimerPerDag: 'PT8H',
faktiskArbeidTimerPerDag: 'PT4H32M24S',
},
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
index e3e2fe1ecd..d96164a10d 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-perioder/arbeidsgiver-mock.ts
@@ -4,12 +4,6 @@ export default {
organisasjonsnummer: '947064649',
navn: 'Norsk bedrift AS',
ansattFom: '2003-01-16',
- ansattTom: '2022-11-01',
- },
- {
- organisasjonsnummer: '947064649',
- navn: 'Norsk bedrift AS',
- ansattFom: '2022-12-05',
},
],
privateArbeidsgivere: null,
From f99afc37b6432656359988e26d8e6ef727e034c4 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Wed, 22 Jan 2025 08:56:00 +0100
Subject: [PATCH 18/31] Test for nytt scenario
---
.../ikke-tilgang/ikke-tilgang-melding.spec.ts | 11 ++
.../src/app/dev/scenarioer.ts | 3 +-
.../IngenTilgangPage.stories.tsx | 8 ++
.../pages/ingen-tilgang/IngenTilgangPage.tsx | 4 +-
.../app/types/IngenTilgang\303\205rsak.ts" | 2 +-
.../src/app/utils/tilgangskontroll.ts | 2 +-
...idsgiverToAnsettelserSammeUkeMedOpphold.ts | 10 ++
.../arbeidsgiver-mock.ts | 18 +++
.../sak-mock.ts | 114 ++++++++++++++++++
.../s\303\270ker-mock.ts" | 9 ++
.../src/mocks/data/scenario/index.ts | 2 +
11 files changed, 178 insertions(+), 5 deletions(-)
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/EnArbeidsgiverToAnsettelserSammeUkeMedOpphold.ts
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/arbeidsgiver-mock.ts
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/sak-mock.ts
create mode 100644 "apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/s\303\270ker-mock.ts"
diff --git a/apps/endringsmelding-pleiepenger/e2e/playwright/tests/ikke-tilgang/ikke-tilgang-melding.spec.ts b/apps/endringsmelding-pleiepenger/e2e/playwright/tests/ikke-tilgang/ikke-tilgang-melding.spec.ts
index 0fa1f0c999..73dd801c87 100644
--- a/apps/endringsmelding-pleiepenger/e2e/playwright/tests/ikke-tilgang/ikke-tilgang-melding.spec.ts
+++ b/apps/endringsmelding-pleiepenger/e2e/playwright/tests/ikke-tilgang/ikke-tilgang-melding.spec.ts
@@ -34,3 +34,14 @@ test('Er selvstendig næringsdrivende', async ({ page }) => {
await expect(page.getByText('Hei Nora')).toBeVisible();
await expect(page.getByTestId('erSN')).toBeVisible();
});
+
+test('Har en arbeidsgiver med to ansettelsesforhold som slutter og starter samme uke med opphold', async ({ page }) => {
+ await routeUtils.resumeFromRoute(
+ page,
+ SøknadRoutes.VELKOMMEN,
+ 'en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold',
+ );
+ await expect(page).toHaveTitle('Ingen tilgang - Endringsmelding for pleiepenger sykt barn');
+ await expect(page.getByText('Hei Nora')).toBeVisible();
+ await expect(page.getByTestId('enArbeidsgiverToAnsettelserSammeUkeMedOpphold')).toBeVisible();
+});
diff --git a/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts b/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
index 4fc96bd1c9..9f2313af7f 100644
--- a/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
@@ -10,7 +10,8 @@ export type ScenarioType =
| 'flere-saker'
| 'ingen-sak'
| 'arbeidsaktivitet-uten-arbeidsgiver'
- | 'ugyldig-k9-format';
+ | 'ugyldig-k9-format'
+ | 'en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold';
export interface Scenario {
name: string;
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
index 01f0a2f200..c4eaa5317b 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
@@ -52,6 +52,14 @@ export const IngenSak: Story = {
},
};
+export const EnArbeidsgiverToAnsettelserSammeUkeMedOpphold: Story = {
+ name: 'enArbeidsgiverToAnsettelserSammeUkeMedOpphold',
+ args: {
+ søker,
+ årsak: [IngenTilgangÅrsak.enArbeidsgiverToAnsettelserSammeUkeMedOpphold],
+ },
+};
+
export const MerEnnEnSak: Story = {
name: 'harMerEnnEnSak',
args: {
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
index b0066ac953..fa7042f8f5 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
@@ -88,9 +88,9 @@ const getÅrsakMelding = (årsak: IngenTilgangÅrsak) => {
{skrivTilOssGenerell}
);
- case IngenTilgangÅrsak.harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke:
+ case IngenTilgangÅrsak.enArbeidsgiverToAnsettelserSammeUkeMedOpphold:
return (
-
+
diff --git "a/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts" "b/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
index ba61aa4f4a..f5b337c825 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
@@ -6,5 +6,5 @@ export enum IngenTilgangÅrsak {
'harIngenPerioder' = 'harIngenPerioder',
'harArbeidsgiverUtenArbeidsaktivitet' = 'harArbeidsgiverUtenArbeidsaktivitet',
'harArbeidstidSomSelvstendigNæringsdrivende' = 'harArbeidstidSomSelvstendigNæringsdrivende',
- 'harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke' = 'harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke',
+ 'enArbeidsgiverToAnsettelserSammeUkeMedOpphold' = 'harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke',
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
index d19dd0e861..65bb10a36c 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
@@ -63,7 +63,7 @@ export const tilgangskontroll = (
/** Bruker har ansettelsperioder hos samme arbeidsgiver som starter og stopper samme uke, med opphold mellom */
if (harAnsettelsesforholdSomStarterOgSlutterSammeUkeMedOpphold(sak, tillattEndringsperiode, arbeidsgivere)) {
- ingenTilgangÅrsak.push(IngenTilgangÅrsak.harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke);
+ ingenTilgangÅrsak.push(IngenTilgangÅrsak.enArbeidsgiverToAnsettelserSammeUkeMedOpphold);
}
if (ingenTilgangÅrsak.length > 0) {
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/EnArbeidsgiverToAnsettelserSammeUkeMedOpphold.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/EnArbeidsgiverToAnsettelserSammeUkeMedOpphold.ts
new file mode 100644
index 0000000000..64031f82f0
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/EnArbeidsgiverToAnsettelserSammeUkeMedOpphold.ts
@@ -0,0 +1,10 @@
+import { ScenarioData } from '..';
+import arbeidsgiver from './arbeidsgiver-mock';
+import sak from './sak-mock';
+import søker from './søker-mock';
+
+export const EnArbeidsgiverToAnsettelserSammeUkeMedOpphold: ScenarioData = {
+ sak,
+ arbeidsgiver,
+ søker,
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/arbeidsgiver-mock.ts
new file mode 100644
index 0000000000..a148bdd78a
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/arbeidsgiver-mock.ts
@@ -0,0 +1,18 @@
+export default {
+ organisasjoner: [
+ {
+ organisasjonsnummer: '947064649',
+ navn: 'Norsk bedrift AS',
+ ansattFom: '2003-01-16',
+ ansattTom: '2022-01-11',
+ },
+ {
+ organisasjonsnummer: '947064649',
+ navn: 'Norsk bedrift AS',
+ ansattFom: '2022-01-13',
+ ansattTom: null,
+ },
+ ],
+ privateArbeidsgivere: null,
+ frilansoppdrag: null,
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/sak-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/sak-mock.ts
new file mode 100644
index 0000000000..8b2cc9fe4d
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/sak-mock.ts
@@ -0,0 +1,114 @@
+export default [
+ {
+ barn: {
+ fødselsdato: '2017-03-03',
+ fornavn: 'NORA',
+ mellomnavn: null,
+ etternavn: 'Nordmann',
+ aktørId: '2559652436225',
+ identitetsnummer: '03831799748',
+ },
+ søknad: {
+ søknadId: 'generert',
+ versjon: '1.0.0.',
+ mottattDato: '2023-01-18T08:13:37.525Z',
+ søker: { norskIdentitetsnummer: '00000000000' },
+ ytelse: {
+ type: 'PLEIEPENGER_SYKT_BARN',
+ barn: { norskIdentitetsnummer: '00000000000', fødselsdato: null },
+ søknadsperiode: ['2022-12-01/2024-05-31'],
+ endringsperiode: [],
+ trekkKravPerioder: [],
+ opptjeningAktivitet: {},
+ dataBruktTilUtledning: null,
+ infoFraPunsj: null,
+ bosteder: { perioder: {}, perioderSomSkalSlettes: {} },
+ utenlandsopphold: {
+ perioder: {
+ '2018-12-30/2019-10-20': {
+ land: 'DNK',
+ årsak: 'barnetInnlagtIHelseinstitusjonForNorskOffentligRegning',
+ },
+ },
+ },
+ beredskap: { perioder: {}, perioderSomSkalSlettes: {} },
+ nattevåk: { perioder: {}, perioderSomSkalSlettes: {} },
+ tilsynsordning: {
+ perioder: {
+ '2022-12-01/2023-01-31': { etablertTilsynTimerPerDag: 'PT8H' },
+ '2023-02-14/2023-03-16': { etablertTilsynTimerPerDag: 'PT8H' },
+ },
+ },
+ lovbestemtFerie: {
+ perioder: {
+ '2023-01-01/2023-01-10': {
+ skalHaFerie: true,
+ },
+ '2023-01-12/2023-01-15': {
+ skalHaFerie: false,
+ },
+ },
+ },
+ arbeidstid: {
+ arbeidstakerList: [
+ {
+ norskIdentitetsnummer: null,
+ organisasjonsnummer: '947064649',
+ arbeidstidInfo: {
+ perioder: {
+ '2022-12-01/2022-12-02': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-05/2022-12-09': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-12/2022-12-16': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-19/2022-12-23': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-26/2022-12-30': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-02/2023-01-06': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-09/2023-01-13': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-16/2023-01-20': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-23/2023-01-27': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-30/2024-05-31': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ },
+ },
+ },
+ ],
+ frilanserArbeidstidInfo: {},
+ selvstendigNæringsdrivendeArbeidstidInfo: {},
+ },
+ uttak: { perioder: {} },
+ omsorg: { relasjonTilBarnet: null, beskrivelseAvOmsorgsrollen: null },
+ },
+ språk: 'nb',
+ journalposter: [],
+ begrunnelseForInnsending: { tekst: null },
+ },
+ },
+];
diff --git "a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/s\303\270ker-mock.ts" "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/s\303\270ker-mock.ts"
new file mode 100644
index 0000000000..b80d44748e
--- /dev/null
+++ "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/s\303\270ker-mock.ts"
@@ -0,0 +1,9 @@
+export default {
+ aktørId: '2486083225079',
+ fødselsdato: '1987-10-09',
+ fødselsnummer: '09908799647',
+ fornavn: 'NORA',
+ mellomnavn: null,
+ etternavn: 'Etternavn',
+ myndig: true,
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
index d07e3ca605..e8db73ac11 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
@@ -10,6 +10,7 @@ import { FlereSaker } from './flere-saker/FlereSaker';
import { IngenSak } from './ingen-sak/IngenSak';
import { SelvstendigNæringsdrivende } from './selvstendig-næringsdrivende/SelvstendigNæringsdrivende';
import { UgyldigK9Format } from './ugyldig-k9-format/UgyldigK9Format';
+import { EnArbeidsgiverToAnsettelserSammeUkeMedOpphold } from './en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/EnArbeidsgiverToAnsettelserSammeUkeMedOpphold';
type ScenarioMap = {
[key: string]: ScenarioData;
@@ -27,6 +28,7 @@ export const mockData: ScenarioMap = {
['arbeidsgiver-ikke-i-sak']: ArbeidsgiverIkkeISak,
['arbeidsaktivitet-uten-arbeidsgiver']: ArbeidsaktivitetUtenArbeidsgiver,
['ugyldig-k9-format']: UgyldigK9Format,
+ ['en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold']: EnArbeidsgiverToAnsettelserSammeUkeMedOpphold,
};
export interface ScenarioData {
From e3ae5ee1e6f9e9b73d109882c50ab6313de9578b Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Wed, 22 Jan 2025 18:50:49 +0100
Subject: [PATCH 19/31] rename ArbeidsgiverMedAnsettelseperioder
---
.../api/__tests__/fetchInitialData.test.ts | 6 ++---
.../api/endpoints/arbeidsgivereEndpoint.ts | 4 ++--
.../src/app/api/fetchInitialData.ts | 8 +++----
.../ArbeidsaktivitetBlock.tsx | 4 ++--
.../ArbeidsaktivitetBlockHeader.tsx | 4 ++--
.../app/hooks/useS\303\270knadInitialData.ts" | 4 ++--
.../app/hooks/useS\303\270knadsdataStatus.ts" | 8 +++----
.../ArbeidstidArbeidstakerOppsummering.tsx" | 4 ++--
.../oppsummering/ArbeidstidOppsummering.tsx" | 4 ++--
.../UkjentArbeidsforholdForm.tsx" | 6 ++---
.../ukjentArbeidsforholdStepUtils.ts" | 8 +++----
...s => ArbeidsgiverMedAnsettelseperioder.ts} | 2 +-
.../src/app/types/Sak.ts | 6 ++---
.../app/types/S\303\270knadContextState.ts" | 4 ++--
.../src/app/types/index.ts | 2 +-
.../utils/__tests__/getSakFromK9Sak.test.ts | 24 +++++++++----------
.../utils/__tests__/tilgangskontroll.test.ts | 17 +++++++++----
.../src/app/utils/getSakFromK9Sak.ts | 14 +++++------
.../utils/getSakOgArbeidsgivereDebugInfo.ts | 6 ++---
.../src/app/utils/initialDataUtils.ts | 6 ++---
.../src/app/utils/k9SakUtils.ts | 4 ++--
.../getDataBruktTilUtledning.test.ts" | 6 ++---
.../getApiDataFromS\303\270knadsdata.ts" | 4 ++--
...rbeidstidApiDataFromS\303\270knadsdata.ts" | 4 ++--
.../getDataBruktTilUtledning.ts" | 8 +++----
.../src/app/utils/tilgangskontroll.ts | 8 +++----
.../app/utils/ukjentArbeidsforholdUtils.ts | 8 +++----
.../src/storybook/data/arbeidsgivereMock.ts | 4 ++--
28 files changed, 98 insertions(+), 89 deletions(-)
rename apps/endringsmelding-pleiepenger/src/app/types/{ArbeidsgiverForEndring.ts => ArbeidsgiverMedAnsettelseperioder.ts} (79%)
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts b/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
index 4a6da07973..c01d3c8f47 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/__tests__/fetchInitialData.test.ts
@@ -1,5 +1,5 @@
import { dateToISODate, ISODateRangeToDateRange, ISODateToDate } from '@navikt/sif-common-utils';
-import { ArbeidsgiverForEndring } from '../../types';
+import { ArbeidsgiverMedAnsettelseperioder } from '../../types';
import {
getArbeidsgivereFromArbeidsgiverOrganisasjoner,
getPeriodeForArbeidsgiverOppslag,
@@ -41,7 +41,7 @@ describe('initialDataUtils', () => {
},
];
- const expectedResult: ArbeidsgiverForEndring[] = [
+ const expectedResult: ArbeidsgiverMedAnsettelseperioder[] = [
{
key: 'a_123',
navn: 'a',
@@ -65,7 +65,7 @@ describe('initialDataUtils', () => {
ansattFom: '2022-02-15',
},
];
- const expectedResult: ArbeidsgiverForEndring[] = [
+ const expectedResult: ArbeidsgiverMedAnsettelseperioder[] = [
{
key: 'a_123',
navn: 'a',
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
index 671a16fa14..b1364cbf9c 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
@@ -1,5 +1,5 @@
import { DateRange, dateToISODate, ISODate } from '@navikt/sif-common-utils';
-import { ArbeidsgiverForEndring } from '@types';
+import { ArbeidsgiverMedAnsettelseperioder } from '@types';
import { getArbeidsgivereFromArbeidsgiverOrganisasjoner } from '../../utils/initialDataUtils';
import api from '../api';
import { ApiEndpointPsb } from './';
@@ -16,7 +16,7 @@ export type AARegArbeidsgiverOrganisasjon = {
};
export const arbeidsgivereEndpoint = {
- fetch: async (periode: DateRange): Promise => {
+ fetch: async (periode: DateRange): Promise => {
try {
const { from, to } = periode;
const { data } = await api.psb.get(
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts b/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
index eb214ce87e..acdb60e1e5 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/fetchInitialData.ts
@@ -2,7 +2,7 @@ import { isForbidden, isUnauthorized } from '@navikt/sif-common-core-ds/src/util
import { getMaybeEnv } from '@navikt/sif-common-env';
import { DateRange, dateRangeUtils } from '@navikt/sif-common-utils';
import {
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
IngenTilgangÅrsak,
isK9Sak,
isUgyldigK9SakFormat,
@@ -32,7 +32,7 @@ export const fetchInitialData = async (
søker: Søker;
k9saker: K9Sak[];
antallSakerFørEndringsperiode: number;
- arbeidsgivere: ArbeidsgiverForEndring[];
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[];
lagretSøknadState?: SøknadStatePersistence;
}> => {
const [søker, k9sakerResult] = await Promise.all([søkerEndpoint.fetch(), sakerEndpoint.fetch()]);
@@ -53,7 +53,7 @@ export const fetchInitialData = async (
try {
let k9saker: K9Sak[];
- let arbeidsgivere: ArbeidsgiverForEndring[];
+ let arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[];
const sakerInnenforEndringsperiode = k9sakerResult.k9Saker;
const sakerFørEndringsperiode = k9sakerResult.eldreSaker;
@@ -155,7 +155,7 @@ const kontrollerSaker = (
const kontrollerTilgang = async (
k9saker: K9Sak[],
tillattEndringsperiode: DateRange,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): Promise => {
const resultat = tilgangskontroll(k9saker, tillattEndringsperiode, arbeidsgivere);
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlock.tsx b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlock.tsx
index ab9490e51e..b9ad6fd155 100644
--- a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlock.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlock.tsx
@@ -1,12 +1,12 @@
import { ExpansionCard, Panel } from '@navikt/ds-react';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { ArbeidsaktivitetType, ArbeidsgiverForEndring } from '@types';
+import { ArbeidsaktivitetType, ArbeidsgiverMedAnsettelseperioder } from '@types';
import ArbeidsaktivitetBlockHeader from './ArbeidsaktivitetBlockHeader';
interface Props {
navn: string;
type: ArbeidsaktivitetType;
- arbeidsgiver?: ArbeidsgiverForEndring;
+ arbeidsgiver?: ArbeidsgiverMedAnsettelseperioder;
endret?: { tekst: string };
erUkjent?: boolean;
renderAsExpansionCard?: boolean;
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
index 401ed80b31..68e481ecf8 100644
--- a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/ArbeidsaktivitetBlockHeader.tsx
@@ -2,7 +2,7 @@ import { BodyLong, Box, Heading } from '@navikt/ds-react';
import React from 'react';
import { Office1 } from '@navikt/ds-icons';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { ArbeidsaktivitetType, ArbeidsgiverForEndring } from '@types';
+import { ArbeidsaktivitetType, ArbeidsgiverMedAnsettelseperioder } from '@types';
import { AppText } from '../../i18n';
import EndretTag from '../tags/EndretTag';
import NyTag from '../tags/NyTag';
@@ -11,7 +11,7 @@ import AnsettelsesperioderInfo from './AnsettelsesperioderInfo';
interface Props {
navn: string;
- arbeidsgiver?: ArbeidsgiverForEndring;
+ arbeidsgiver?: ArbeidsgiverMedAnsettelseperioder;
type: ArbeidsaktivitetType;
erUkjentAktivitet?: boolean;
endret?: {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadInitialData.ts" "b/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadInitialData.ts"
index dd87dbffda..aca2acc62c 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadInitialData.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadInitialData.ts"
@@ -3,7 +3,7 @@ import { getMaybeEnv } from '@navikt/sif-common-env';
import { useEffectOnce } from '@navikt/sif-common-hooks';
import { DateRange } from '@navikt/sif-common-utils';
import {
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
IngenTilgangÅrsak,
K9Sak,
RequestStatus,
@@ -47,7 +47,7 @@ const prepInitialData = (
søker: Søker;
k9saker: K9Sak[];
antallSakerFørEndringsperiode: number;
- arbeidsgivere: ArbeidsgiverForEndring[];
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[];
lagretSøknadState?: SøknadStatePersistence;
},
tillattEndringsperiode: DateRange,
diff --git "a/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadsdataStatus.ts" "b/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadsdataStatus.ts"
index b7a391b682..461e6cc7f9 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadsdataStatus.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/hooks/useS\303\270knadsdataStatus.ts"
@@ -3,7 +3,7 @@ import isEqual from 'react-fast-compare';
import { useSøknadContext } from '@hooks';
import { useEffectOnce } from '@navikt/sif-common-hooks';
import { SoknadStepsConfig } from '@navikt/sif-common-soknad-ds';
-import { ArbeidsgiverForEndring, Søknadsdata } from '@types';
+import { ArbeidsgiverMedAnsettelseperioder, Søknadsdata } from '@types';
import { StepFormValues } from '../søknad/config/StepFormValues';
import { StepId } from '../søknad/config/StepId';
import { useStepFormValuesContext } from '../søknad/context/StepFormValuesContext';
@@ -18,7 +18,7 @@ const getPrecedingSteps = (currentStepIndex: number, stepConfig: SoknadStepsConf
const getStepSøknadsdataFromStepFormValues = (
step: StepId,
stepFormValues: StepFormValues,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
) => {
const formValues = stepFormValues[step];
if (!formValues) {
@@ -39,7 +39,7 @@ const isStepFormValuesAndStepSøknadsdataValid = (
step: StepId,
stepFormValues: StepFormValues,
søknadsdata: Søknadsdata,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): boolean => {
if (stepFormValues[step]) {
const stepSøknadsdata = søknadsdata[step];
@@ -54,7 +54,7 @@ const isStepFormValuesAndStepSøknadsdataValid = (
export const useSøknadsdataStatus = (
stepId: StepId,
stepConfig: SoknadStepsConfig,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
) => {
const [invalidSteps, setInvalidSteps] = useState([]);
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
index e22add7330..e6a5ccc18e 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidArbeidstakerOppsummering.tsx"
@@ -1,6 +1,6 @@
import { Heading } from '@navikt/ds-react';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { ArbeiderIPeriodenSvar, ArbeidsgiverForEndring, ArbeidstakerApiData } from '@types';
+import { ArbeiderIPeriodenSvar, ArbeidsgiverMedAnsettelseperioder, ArbeidstakerApiData } from '@types';
import { AppText } from '../../../i18n';
import ArbeidstidUker from '../../../modules/arbeidstid-uker/ArbeidstidUker';
import { ArbeiderIPeriodenSvarIntlKey } from '../arbeidstid/arbeidsaktivitet-form-part/components/ArbeiderIPeriodenSpørsmål';
@@ -8,7 +8,7 @@ import { oppsummeringStepUtils } from './oppsummeringStepUtils';
type Props = {
arbeidstaker: ArbeidstakerApiData;
- arbeidsgivere: ArbeidsgiverForEndring[];
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[];
arbeidstidKolonneTittel?: string;
};
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
index 4af25ab5fc..a4ae1d6a2c 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/oppsummering/ArbeidstidOppsummering.tsx"
@@ -1,7 +1,7 @@
import { Heading } from '@navikt/ds-react';
import React from 'react';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { ArbeidsgiverForEndring, ArbeidstidApiData } from '@types';
+import { ArbeidsgiverMedAnsettelseperioder, ArbeidstidApiData } from '@types';
import ArbeidstidUker from '../../../modules/arbeidstid-uker/ArbeidstidUker';
import ArbeidstidArbeidstakerOppsummering from './ArbeidstidArbeidstakerOppsummering';
import { oppsummeringStepUtils } from './oppsummeringStepUtils';
@@ -9,7 +9,7 @@ import { AppText, useAppIntl } from '../../../i18n';
interface Props {
arbeidstid: ArbeidstidApiData;
- arbeidsgivere: ArbeidsgiverForEndring[];
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[];
}
const ArbeidstidOppsummering: React.FunctionComponent = ({ arbeidstid, arbeidsgivere }) => {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/UkjentArbeidsforholdForm.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/UkjentArbeidsforholdForm.tsx"
index f44ba927aa..9df972a9ca 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/UkjentArbeidsforholdForm.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/UkjentArbeidsforholdForm.tsx"
@@ -12,7 +12,7 @@ import {
import getIntlFormErrorHandler from '@navikt/sif-common-formik-ds/src/validation/intlFormErrorHandler';
import {
ArbeidsaktivitetType,
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
SøknadContextState,
UkjentArbeidsforholdSøknadsdata,
} from '@types';
@@ -63,8 +63,8 @@ const { FormikWrapper, Form } = getTypedFormComponents<
>();
interface Props {
- arbeidsgivere: ArbeidsgiverForEndring[];
- arbeidsgivereIkkeISak: ArbeidsgiverForEndring[];
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[];
+ arbeidsgivereIkkeISak: ArbeidsgiverMedAnsettelseperioder[];
ukjentArbeidsforholdSøknadsdata?: UkjentArbeidsforholdSøknadsdata;
stepId: StepId;
goBack?: () => void;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/ukjentArbeidsforholdStepUtils.ts" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/ukjentArbeidsforholdStepUtils.ts"
index cfc5ede6b1..38bdb5959c 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/ukjentArbeidsforholdStepUtils.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/ukjent-arbeidsforhold/ukjentArbeidsforholdStepUtils.ts"
@@ -1,7 +1,7 @@
import { getNumberFromNumberInputValue, IntlErrorObject, YesOrNo } from '@navikt/sif-common-formik-ds';
import { getNumberValidator, getYesOrNoValidator } from '@navikt/sif-common-formik-ds/src/validation';
import { decimalDurationToDuration, durationToDecimalDuration } from '@navikt/sif-common-utils';
-import { Arbeidsforhold, ArbeidsgiverForEndring, UkjentArbeidsforholdSøknadsdata } from '@types';
+import { Arbeidsforhold, ArbeidsgiverMedAnsettelseperioder, UkjentArbeidsforholdSøknadsdata } from '@types';
import {
UkjentArbeidsforholdFormValues,
UkjentArbeidsgiverFormField,
@@ -25,7 +25,7 @@ const arbeidsforholdSøknadsdataToFormValues = (
const ukjentArbeidsgiverFormValuesToSøknadsdata = (
formValues: UkjentArbeidsforholdArbeidsgiverFormValues,
- arbeidsgiver?: ArbeidsgiverForEndring,
+ arbeidsgiver?: ArbeidsgiverMedAnsettelseperioder,
): Arbeidsforhold | undefined => {
if (!arbeidsgiver) {
return undefined;
@@ -54,7 +54,7 @@ const ukjentArbeidsgiverFormValuesToSøknadsdata = (
export const getUkjentArbeidsforholdStepInitialValues = (
ukjentArbeidsforholdSøknadsdata: UkjentArbeidsforholdSøknadsdata | undefined,
formValues: UkjentArbeidsforholdFormValues | undefined,
- arbeidsgivereIkkeISak: ArbeidsgiverForEndring[],
+ arbeidsgivereIkkeISak: ArbeidsgiverMedAnsettelseperioder[],
): UkjentArbeidsforholdFormValues => {
if (formValues) {
return formValues;
@@ -79,7 +79,7 @@ export const getUkjentArbeidsforholdStepInitialValues = (
export const getUkjentArbeidsforholdSøknadsdataFromFormValues = (
values: UkjentArbeidsforholdFormValues,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): UkjentArbeidsforholdSøknadsdata => {
const arbeidsforhold: Arbeidsforhold[] = [];
Object.keys(values.arbeidsforhold).forEach((key) => {
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverForEndring.ts b/apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverMedAnsettelseperioder.ts
similarity index 79%
rename from apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverForEndring.ts
rename to apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverMedAnsettelseperioder.ts
index 8bf8e909aa..4831b5f9ad 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverForEndring.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/ArbeidsgiverMedAnsettelseperioder.ts
@@ -1,6 +1,6 @@
import { MaybeDateRange } from '@navikt/sif-common-utils';
-export interface ArbeidsgiverForEndring {
+export interface ArbeidsgiverMedAnsettelseperioder {
key: string /** orgnummer prefixet med a_ */;
organisasjonsnummer: string;
navn: string;
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
index 3874576ec5..bc6beb1a64 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
@@ -1,6 +1,6 @@
import { DateRange, Duration, ISODate, ISODateRangeMap } from '@navikt/sif-common-utils';
import { FeriedagMap } from '../søknad/steps/lovbestemt-ferie/LovbestemtFerieStep';
-import { ArbeidsgiverForEndring } from './ArbeidsgiverForEndring';
+import { ArbeidsgiverMedAnsettelseperioder } from './ArbeidsgiverMedAnsettelseperioder';
import { K9SakBarn } from './K9Sak';
export interface Sak {
@@ -9,7 +9,7 @@ export interface Sak {
/** Settes til true hvis det finnes en arbeidsgiver som ikke har arbeidstid i sak */
harArbeidsgivereIkkeISak: boolean;
/** Alle arbeidsgivere som ikke finnes i sak, men som finnes i Aa-reg */
- arbeidsgivereIkkeISak: ArbeidsgiverForEndring[];
+ arbeidsgivereIkkeISak: ArbeidsgiverMedAnsettelseperioder[];
/** Alle aktiviteter som ikke har arbeidsgiver i AA-reg */
arbeidsaktivitetMedUkjentArbeidsgiver: ArbeidsaktivitetUkjentArbeidsgiver[];
/** Alle arbeidsaktiviteter i sak. Arbeidsgivere flates ut og legges sammen med evt. frilans og selvstendig */
@@ -84,7 +84,7 @@ interface ArbeidsaktivitetBase {
export interface ArbeidsaktivitetArbeidstaker extends ArbeidsaktivitetBase {
type: ArbeidsaktivitetType.arbeidstaker;
- arbeidsgiver: ArbeidsgiverForEndring;
+ arbeidsgiver: ArbeidsgiverMedAnsettelseperioder;
erUkjentArbeidsforhold: boolean;
}
export interface ArbeidsaktivitetUkjentArbeidsgiver {
diff --git "a/apps/endringsmelding-pleiepenger/src/app/types/S\303\270knadContextState.ts" "b/apps/endringsmelding-pleiepenger/src/app/types/S\303\270knadContextState.ts"
index d605fbfabe..963b1588d7 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/types/S\303\270knadContextState.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/types/S\303\270knadContextState.ts"
@@ -1,7 +1,7 @@
import { DateRange } from '@navikt/sif-common-utils';
import { StepId } from '../søknad/config/StepId';
import { SøknadRoutes } from '../søknad/config/SøknadRoutes';
-import { ArbeidsgiverForEndring } from './ArbeidsgiverForEndring';
+import { ArbeidsgiverMedAnsettelseperioder } from './ArbeidsgiverMedAnsettelseperioder';
import { K9Sak } from './K9Sak';
import { Sak } from './Sak';
import { Søker } from './Søker';
@@ -15,7 +15,7 @@ export interface SøknadContextState {
k9saker: K9Sak[];
sak: Sak;
tillattEndringsperiode: DateRange;
- arbeidsgivere: ArbeidsgiverForEndring[];
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[];
søknadsdata: Søknadsdata;
søknadRoute?: SøknadRoutes;
endringsmeldingSendt?: boolean;
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/index.ts b/apps/endringsmelding-pleiepenger/src/app/types/index.ts
index be188ef5d8..0c2d8e138f 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/index.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/index.ts
@@ -1,7 +1,7 @@
export * from './ArbeiderIPeriodenSvar';
export * from './Arbeidsforhold';
export * from './ArbeidstidEndring';
-export * from './ArbeidsgiverForEndring';
+export * from './ArbeidsgiverMedAnsettelseperioder';
export * from './ArbeidsgiverIkkeFunnetError';
export * from './ArbeidstidSøknadsdata';
export * from './EndringType';
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
index 7595682e22..8f412940a9 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
@@ -10,7 +10,7 @@ import {
ISODurationToDuration,
} from '@navikt/sif-common-utils';
import {
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
ArbeidstidEnkeltdagMap,
FaktiskOgNormalArbeidstid,
K9SakArbeidstidPeriodeMap,
@@ -44,14 +44,14 @@ describe('getSakFromK9Sak', () => {
it('beholder uendret endringsperiode hvis bruker er fortsatt ansatt', () => {
const result = getEndringsperiodeForArbeidsgiver(endringsperiode, {
ansettelsesperioder: [{ to: undefined }],
- } as ArbeidsgiverForEndring);
+ } as ArbeidsgiverMedAnsettelseperioder);
expect(dateToISODate(result.from)).toEqual(isoFrom);
expect(dateToISODate(result.to)).toEqual(isoTo);
});
it('justerer endringsperiode hvis sluttdato er før endringsperiode sluttdato', () => {
const result = getEndringsperiodeForArbeidsgiver(endringsperiode, {
ansettelsesperioder: [{ to: ISODateToDate(isoSluttdato) }],
- } as ArbeidsgiverForEndring);
+ } as ArbeidsgiverMedAnsettelseperioder);
expect(dateToISODate(result.from)).toEqual(isoFrom);
expect(dateToISODate(result.to)).toEqual(isoSluttdato);
});
@@ -295,9 +295,9 @@ describe('getSakFromK9Sak', () => {
ISODateRangeToDateRange('2020-01-01/2020-02-01'),
ISODateRangeToDateRange('2020-04-01/2020-05-01'),
];
- const arbeidsgiver: ArbeidsgiverForEndring = {
+ const arbeidsgiver: ArbeidsgiverMedAnsettelseperioder = {
ansettelsesperioder: [{ from: ISODateToDate('2019-01-01') }],
- } as ArbeidsgiverForEndring;
+ } as ArbeidsgiverMedAnsettelseperioder;
describe('uten ansattTom', () => {
it('returnerer true når ansattFom er før søknadsperiode', () => {
@@ -308,7 +308,7 @@ describe('getSakFromK9Sak', () => {
erArbeidsgiverInnenforSøknadsperioder(
{
ansettelsesperioder: [{ from: ISODateToDate('2020-02-03') }],
- } as ArbeidsgiverForEndring,
+ } as ArbeidsgiverMedAnsettelseperioder,
søknadsperioder,
),
).toBeTruthy();
@@ -318,7 +318,7 @@ describe('getSakFromK9Sak', () => {
erArbeidsgiverInnenforSøknadsperioder(
{
ansettelsesperioder: [{ from: ISODateToDate('2020-03-02') }],
- } as ArbeidsgiverForEndring,
+ } as ArbeidsgiverMedAnsettelseperioder,
søknadsperioder,
),
).toBeTruthy();
@@ -328,7 +328,7 @@ describe('getSakFromK9Sak', () => {
erArbeidsgiverInnenforSøknadsperioder(
{
ansettelsesperioder: [{ from: ISODateToDate('2020-05-02') }],
- } as ArbeidsgiverForEndring,
+ } as ArbeidsgiverMedAnsettelseperioder,
søknadsperioder,
),
).toBeFalsy();
@@ -342,7 +342,7 @@ describe('getSakFromK9Sak', () => {
ansettelsesperioder: [
{ from: ISODateToDate('2019-01-01'), to: ISODateToDate('2023-01-01') },
],
- } as ArbeidsgiverForEndring,
+ } as ArbeidsgiverMedAnsettelseperioder,
søknadsperioder,
),
).toBeTruthy();
@@ -354,7 +354,7 @@ describe('getSakFromK9Sak', () => {
ansettelsesperioder: [
{ from: ISODateToDate('2019-01-01'), to: ISODateToDate('2020-03-01') },
],
- } as ArbeidsgiverForEndring,
+ } as ArbeidsgiverMedAnsettelseperioder,
søknadsperioder,
),
).toBeTruthy();
@@ -369,7 +369,7 @@ describe('getSakFromK9Sak', () => {
to: ISODateToDate('2019-12-31'),
},
],
- } as ArbeidsgiverForEndring,
+ } as ArbeidsgiverMedAnsettelseperioder,
søknadsperioder,
),
).toBeFalsy();
@@ -381,7 +381,7 @@ describe('getSakFromK9Sak', () => {
ansettelsesperioder: [
{ from: ISODateToDate('2020-03-01'), to: ISODateToDate('2020-03-02') },
],
- } as ArbeidsgiverForEndring,
+ } as ArbeidsgiverMedAnsettelseperioder,
søknadsperioder,
),
).toBeFalsy();
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
index 5644177ef7..9696ca11e9 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
@@ -1,11 +1,20 @@
import { DateRange, ISODateRangeToDateRange, ISODurationToDuration } from '@navikt/sif-common-utils';
-import { ArbeidsgiverForEndring, K9SakArbeidstaker, K9SakArbeidstidPeriodeMap } from '@types';
+import { ArbeidsgiverMedAnsettelseperioder, K9SakArbeidstaker, K9SakArbeidstidPeriodeMap } from '@types';
import { tilgangskontroll, tilgangskontrollUtils } from '../tilgangskontroll';
import { vi } from 'vitest';
-const arbeidsgiver1: ArbeidsgiverForEndring = { key: 'a_1', organisasjonsnummer: '1' } as ArbeidsgiverForEndring;
-const arbeidsgiver2: ArbeidsgiverForEndring = { key: 'a_2', organisasjonsnummer: '2' } as ArbeidsgiverForEndring;
-const arbeidsgiver3: ArbeidsgiverForEndring = { key: 'a_3', organisasjonsnummer: '3' } as ArbeidsgiverForEndring;
+const arbeidsgiver1: ArbeidsgiverMedAnsettelseperioder = {
+ key: 'a_1',
+ organisasjonsnummer: '1',
+} as ArbeidsgiverMedAnsettelseperioder;
+const arbeidsgiver2: ArbeidsgiverMedAnsettelseperioder = {
+ key: 'a_2',
+ organisasjonsnummer: '2',
+} as ArbeidsgiverMedAnsettelseperioder;
+const arbeidsgiver3: ArbeidsgiverMedAnsettelseperioder = {
+ key: 'a_3',
+ organisasjonsnummer: '3',
+} as ArbeidsgiverMedAnsettelseperioder;
const arbeidstaker1: K9SakArbeidstaker = { organisasjonsnummer: '1' } as K9SakArbeidstaker;
const arbeidstaker2: K9SakArbeidstaker = { organisasjonsnummer: '2' } as K9SakArbeidstaker;
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index fc56c4f770..a7c813467f 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -26,7 +26,7 @@ import {
ArbeidsaktivitetFrilanser,
ArbeidsaktivitetSelvstendigNæringsdrivende,
ArbeidsaktivitetType,
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
ArbeidsgiverIkkeFunnetError,
ArbeidstidEnkeltdagMap,
Arbeidsuke,
@@ -65,7 +65,7 @@ interface _PeriodisertK9FormatArbeidstidPerioder {
*/
export const getSakFromK9Sak = (
k9sak: K9Sak,
- alleArbeidsgivere: ArbeidsgiverForEndring[],
+ alleArbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
tillattEndringsperiode: DateRange,
): Sak => {
const { arbeidstakerList, frilanserArbeidstidInfo, selvstendigNæringsdrivendeArbeidstidInfo } =
@@ -138,7 +138,7 @@ export const getSakFromK9Sak = (
/** Henter utk9SakArbeidstakere med arbeidsgiver funnet i AA-reg */
export const getArbeidsaktiviteterMedKjentArbeidsgiver = (
k9SakArbeidstakere: K9SakArbeidstaker[],
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): K9SakArbeidstaker[] => {
return k9SakArbeidstakere.filter((a) =>
arbeidsgivere.some((arbg) => arbg.organisasjonsnummer === a.organisasjonsnummer),
@@ -148,7 +148,7 @@ export const getArbeidsaktiviteterMedKjentArbeidsgiver = (
/** Henter utk9SakArbeidstakere hvor arbeidsgiver IKKE er funnet i AA-reg */
export const getArbeidsaktiviteterMedUkjentArbeidsgiver = (
k9SakArbeidstakere: K9SakArbeidstaker[],
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
) => {
return k9SakArbeidstakere.filter(
(a) => arbeidsgivere.some((arbg) => arbg.organisasjonsnummer === a.organisasjonsnummer) === false,
@@ -163,7 +163,7 @@ export const getArbeidsaktiviteterMedUkjentArbeidsgiver = (
*/
const getEndringsperiodeForArbeidsgiver = (
tillattEndringsperiode: DateRange,
- arbeidsgiver: ArbeidsgiverForEndring,
+ arbeidsgiver: ArbeidsgiverMedAnsettelseperioder,
): DateRange => {
const { ansettelsesperioder } = arbeidsgiver;
const sisteAnsattTom = ansettelsesperioder.sort(sortMaybeDateRange).reverse()[0]?.to;
@@ -507,7 +507,7 @@ const getArbeidsaktivitetPerioderPart = (
*/
const getArbeidsaktivitetArbeidstaker = (
arbeidstaker: K9SakArbeidstaker,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
endringsperiode: DateRange,
): ArbeidsaktivitetArbeidstaker => {
const {
@@ -608,7 +608,7 @@ const getArbeidsaktivitetSelvstendigNæringsdrivende = (
* @returns boolean
*/
const erArbeidsgiverInnenforSøknadsperioder = (
- arbeidsgiver: ArbeidsgiverForEndring,
+ arbeidsgiver: ArbeidsgiverMedAnsettelseperioder,
søknadsperioder: DateRange[],
): boolean => {
const { ansettelsesperioder = [] } = arbeidsgiver;
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
index ffbc751382..cd7fc5a92b 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakOgArbeidsgivereDebugInfo.ts
@@ -1,5 +1,5 @@
import { DateRange } from '@navikt/sif-common-utils';
-import { ArbeidsgiverForEndring, K9Sak, K9SakArbeidstaker, Sak } from '@types';
+import { ArbeidsgiverMedAnsettelseperioder, K9Sak, K9SakArbeidstaker, Sak } from '@types';
import { maskString } from './maskString';
const maskK9Arbeidstaker = (k9Arbeidstaker: K9SakArbeidstaker) => {
@@ -39,7 +39,7 @@ const maskSak = (sak: Sak) => {
};
};
-const maskArbeidsgivere = (arbeidsgivere: ArbeidsgiverForEndring[]) => {
+const maskArbeidsgivere = (arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[]) => {
return arbeidsgivere.map((a) => ({
ansettelsesperioder: a.ansettelsesperioder,
a: maskString(a.key),
@@ -49,7 +49,7 @@ const maskArbeidsgivere = (arbeidsgivere: ArbeidsgiverForEndring[]) => {
export const getSakOgArbeidsgivereDebugInfo = (
k9sak: K9Sak,
sak: Sak,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
endringsperiode: DateRange,
) => {
return {
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
index a249c3c1f6..fd3034e9fe 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/initialDataUtils.ts
@@ -1,6 +1,6 @@
import { DateRange, ISODateToDate, MaybeDateRange } from '@navikt/sif-common-utils';
import dayjs from 'dayjs';
-import { ArbeidsgiverForEndring } from '../types';
+import { ArbeidsgiverMedAnsettelseperioder } from '../types';
import { getArbeidsgiverKey } from './arbeidsgiverUtils';
import { AARegArbeidsgiverOrganisasjon } from '../api/endpoints/arbeidsgivereEndpoint';
@@ -20,8 +20,8 @@ export const getPeriodeForArbeidsgiverOppslag = (
export const getArbeidsgivereFromArbeidsgiverOrganisasjoner = (
organisasjoner: AARegArbeidsgiverOrganisasjon[],
-): ArbeidsgiverForEndring[] => {
- const aaArbeidsgivereMap = new Map();
+): ArbeidsgiverMedAnsettelseperioder[] => {
+ const aaArbeidsgivereMap = new Map();
(organisasjoner || []).forEach((a) => {
const ansettelsesperiode: MaybeDateRange = {
from: a.ansattFom ? ISODateToDate(a.ansattFom) : undefined,
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/k9SakUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/k9SakUtils.ts
index c105f5492f..88ced6093d 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/k9SakUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/k9SakUtils.ts
@@ -1,5 +1,5 @@
import { DateRange, dateRangeUtils, getDateRangeFromDateRanges } from '@navikt/sif-common-utils';
-import { ArbeidsgiverForEndring, K9Sak, K9SakArbeidstaker } from '@types';
+import { ArbeidsgiverMedAnsettelseperioder, K9Sak, K9SakArbeidstaker } from '@types';
import dayjs from 'dayjs';
import isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
@@ -15,7 +15,7 @@ export const getSamletDateRangeForK9Saker = (saker: K9Sak[]): DateRange | undefi
};
export const finnesArbeidsgiverIK9Sak = (
- arbeidsgiver: ArbeidsgiverForEndring,
+ arbeidsgiver: ArbeidsgiverMedAnsettelseperioder,
arbeidsgivereISak: K9SakArbeidstaker[],
): boolean => {
return arbeidsgivereISak.some(
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
index def865c127..4e21bf310f 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/__tests__/getDataBruktTilUtledning.test.ts"
@@ -2,7 +2,7 @@ import { ISODateToDate } from '@navikt/sif-common-utils';
import {
ArbeiderIPeriodenSvar,
ArbeidsforholdAktivt,
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
ArbeidstidSøknadsdata,
TimerEllerProsent,
} from '../../../types';
@@ -31,7 +31,7 @@ describe('getDataBruktTilUtledningAnnetData', () => {
});
describe('getUkjentArbeidsforholdApiDataFromSøknadsdata', () => {
- const arbeidsgivere: ArbeidsgiverForEndring[] = [
+ const arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[] = [
{
organisasjonsnummer: '123',
key: 'a_123',
@@ -58,7 +58,7 @@ describe('getUkjentArbeidsforholdApiDataFromSøknadsdata', () => {
});
describe('mapArbeidsforholdToArbeidsforholdApiData', () => {
- const arbeidsgiver: ArbeidsgiverForEndring = {
+ const arbeidsgiver: ArbeidsgiverMedAnsettelseperioder = {
organisasjonsnummer: '123',
key: 'a_123',
navn: 'Arbeidsgibvernavn',
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
index 4d57233f78..a351d43ce2 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getApiDataFromS\303\270knadsdata.ts"
@@ -1,5 +1,5 @@
import { dateToISODate } from '@navikt/sif-common-utils';
-import { ArbeidsgiverForEndring, Sak, SøknadApiData, Søknadsdata, ValgteEndringer } from '@types';
+import { ArbeidsgiverMedAnsettelseperioder, Sak, SøknadApiData, Søknadsdata, ValgteEndringer } from '@types';
import { getArbeidstidApiDataFromSøknadsdata } from './getArbeidstidApiDataFromSøknadsdata';
import { getDataBruktTilUtledningAnnetDataApiData, getDataBruktTilUtledningApiData } from './getDataBruktTilUtledning';
import { getLovbestemtFerieApiDataFromSøknadsdata } from './getLovbestemtFerieApiDataFraSøknadsdata';
@@ -10,7 +10,7 @@ export const getApiDataFromSøknadsdata = (
søknadsdata: Søknadsdata,
sak: Sak,
valgteEndringer: ValgteEndringer,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): SøknadApiData | undefined => {
const { id, arbeidstid, lovbestemtFerie, ukjentArbeidsforhold } = søknadsdata;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
index 47168fb4b2..319fd37e8a 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getArbeidstidApiDataFromS\303\270knadsdata.ts"
@@ -13,7 +13,7 @@ import {
Arbeidsaktiviteter,
ArbeidsaktivitetType,
ArbeiderIPeriodenSvar,
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
ArbeidstakerApiData,
ArbeidstidApiData,
ArbeidstidEndring,
@@ -99,7 +99,7 @@ export const getArbeidstidApiDataFromSøknadsdata = (
søknadsperioder: DateRange[],
arbeidsaktivitetEndring: ArbeidstidArbeidsaktivitetMap,
arbeidsaktiviteter: Arbeidsaktiviteter,
- arbeidsgivereIkkeISak: ArbeidsgiverForEndring[],
+ arbeidsgivereIkkeISak: ArbeidsgiverMedAnsettelseperioder[],
ukjentArbeidsforhold?: UkjentArbeidsforholdSøknadsdata,
): ArbeidstidApiData => {
const frilansAktivitetEndring = arbeidsaktivitetEndring[ArbeidsaktivitetType.frilanser]?.endringer;
diff --git "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getDataBruktTilUtledning.ts" "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getDataBruktTilUtledning.ts"
index 4107f48fa3..e1adc0c196 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getDataBruktTilUtledning.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/utils/s\303\270knadsdataToApiData/getDataBruktTilUtledning.ts"
@@ -2,7 +2,7 @@ import { durationToISODuration } from '@navikt/sif-common-utils';
import {
ArbeiderIPeriodenSvar,
Arbeidsforhold,
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
ArbeidstidSøknadsdata,
DataBruktTilUtledningApiData,
DataBruktTilUtledningApiDataAnnetData as DataBruktTilUtledningAnnetDataApiData,
@@ -15,7 +15,7 @@ import { getOrgNummerFromArbeidsgiverKey } from '../arbeidsgiverUtils';
export const getDataBruktTilUtledningApiData = (
ukjentArbeidsforhold: UkjentArbeidsforholdSøknadsdata | undefined,
arbeidstid: ArbeidstidSøknadsdata | undefined,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): DataBruktTilUtledningApiData => {
return {
ukjenteArbeidsforhold: getUkjentArbeidsforholdApiDataFromSøknadsdata(
@@ -35,7 +35,7 @@ export const getDataBruktTilUtledningAnnetDataApiData = (
export const mapArbeidsforholdToArbeidsforholdApiData = (
arbeidsforhold: Arbeidsforhold,
- arbeidsgiver: ArbeidsgiverForEndring,
+ arbeidsgiver: ArbeidsgiverMedAnsettelseperioder,
arbeiderIPerioden?: ArbeiderIPeriodenSvar,
): UkjentArbeidsforholdApiData => {
const organisasjonsnummer = getOrgNummerFromArbeidsgiverKey(arbeidsforhold.arbeidsgiverKey);
@@ -63,7 +63,7 @@ export const mapArbeidsforholdToArbeidsforholdApiData = (
export const getUkjentArbeidsforholdApiDataFromSøknadsdata = (
ukjenteArbeidsforhold: Arbeidsforhold[] | undefined,
arbeidstid: ArbeidstidSøknadsdata | undefined,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): UkjentArbeidsforholdApiData[] => {
if (ukjenteArbeidsforhold === undefined) {
return [];
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
index 65bb10a36c..17bc1d1291 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
@@ -1,6 +1,6 @@
import { DateRange, durationToDecimalDuration, ensureDateRange, sortDateRange } from '@navikt/sif-common-utils';
import {
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
IngenTilgangÅrsak,
K9Sak,
K9SakArbeidstaker,
@@ -29,7 +29,7 @@ export type TilgangKontrollResultat = TilgangNektet | TilgangTillatt;
export const tilgangskontroll = (
saker: K9Sak[],
tillattEndringsperiode: DateRange,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): TilgangKontrollResultat => {
/** Har ingen saker */
if (saker.length === 0) {
@@ -101,7 +101,7 @@ const getIngenTilgangMeta = (arbeidstid: K9SakArbeidstid): IngenTilgangMeta => {
};
const harArbeidsgiverUtenArbeidsaktivitet = (
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
k9SakArbeidstaker: K9SakArbeidstaker[] = [],
): boolean => {
return arbeidsgivere.some((arbeidsgiver) => {
@@ -126,7 +126,7 @@ const harSøknadsperiodeInnenforTillattEndringsperiode = (
const harAnsettelsesforholdSomStarterOgSlutterSammeUkeMedOpphold = (
sak: K9Sak,
tillatEndringsperiode: DateRange,
- arbeidsgivere: ArbeidsgiverForEndring[],
+ arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): boolean => {
const orgnrISak = (sak.ytelse.arbeidstid.arbeidstakerList || []).map((a) => a.organisasjonsnummer);
return arbeidsgivere
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
index d4f55202d1..47256c8b53 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
@@ -14,7 +14,7 @@ import {
Arbeidsaktivitet,
ArbeidsaktivitetType,
ArbeidsforholdAktivt,
- ArbeidsgiverForEndring,
+ ArbeidsgiverMedAnsettelseperioder,
ArbeidstidEnkeltdagMap,
ArbeidstidPerDag,
ArbeidsukeMap,
@@ -43,7 +43,7 @@ export const getSøknadsperioderForUkjentArbeidsforhold = (
export const getPerioderMedArbeidstidForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
- { ansettelsesperioder }: ArbeidsgiverForEndring,
+ { ansettelsesperioder }: ArbeidsgiverMedAnsettelseperioder,
normalarbeidstidPerUke: Duration,
faktiskArbeidstidPerUke: Duration | undefined,
): PeriodeMedArbeidstid[] => {
@@ -104,7 +104,7 @@ export const getFaktiskArbeidstidPerUkeForUkjentArbeidsforhold = (
export const getArbeidsaktivitetForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
- arbeidsgiver: ArbeidsgiverForEndring,
+ arbeidsgiver: ArbeidsgiverMedAnsettelseperioder,
arbeidsforhold: ArbeidsforholdAktivt,
endringsperiode: DateRange,
arbeiderIPerioden?: ArbeiderIPeriodenSvar,
@@ -134,7 +134,7 @@ export const getArbeidsaktivitetForUkjentArbeidsforhold = (
export const getArbeidsaktiviteterForUkjenteArbeidsforhold = (
søknadsperioder: DateRange[],
- arbeidsgivereIkkeISak: ArbeidsgiverForEndring[],
+ arbeidsgivereIkkeISak: ArbeidsgiverMedAnsettelseperioder[],
arbeidsaktivitetFormValues: ArbeidsaktivitetFormValuesMap,
endringsperiode: DateRange,
ukjentArbeidsforhold?: UkjentArbeidsforholdSøknadsdata,
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
index 1acc5be1af..d75de02677 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/arbeidsgivereMock.ts
@@ -1,6 +1,6 @@
-import { ArbeidsgiverForEndring } from '../../app/types/ArbeidsgiverForEndring';
+import { ArbeidsgiverMedAnsettelseperioder } from '../../app/types/ArbeidsgiverMedAnsettelseperioder';
-export const arbeidsgivereMock: ArbeidsgiverForEndring[] = [
+export const arbeidsgivereMock: ArbeidsgiverMedAnsettelseperioder[] = [
{
key: 'a_805824352',
navn: 'Dykkert svømmeutstyr',
From 8ac09868a1a0cf04a3a72008fe48ac8c50c917e5 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Wed, 22 Jan 2025 18:57:12 +0100
Subject: [PATCH 20/31] Revert endring
---
.../app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
index 5180247a8b..b3353fac70 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/endre-arbeidstid-form/EndreArbeidstidForm.tsx
@@ -108,6 +108,8 @@ const EndreArbeidstidForm: React.FunctionComponent = (
? getFeriedagerIUke(lovbestemtFerie.feriedagerMeta.datoerFjernet, arbeidsuker[0].periode, true)
: [];
+ const gjelderKortUke = arbeidsuker.length === 1 && erKortArbeidsuke(arbeidsuker[0].periode);
+
const getMaksTimer = () => {
const antallDager = arbeidsuker.length === 1 ? arbeidsuker[0].antallDagerMedArbeidstid : 7;
return 24 * antallDager;
@@ -196,7 +198,7 @@ const EndreArbeidstidForm: React.FunctionComponent = (
- {arbeidsuker.length === 1 ? (
+ {gjelderKortUke ? (
From 55062659321025f414e5c67025b8b19240a748e4 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Wed, 22 Jan 2025 21:16:28 +0100
Subject: [PATCH 21/31] Scenario - flere ansettelser uten opphold
---
.../src/app/dev/scenarioer.ts | 13 +-
.../src/app/utils/getSakFromK9Sak.ts | 4 +-
...dsgiverToAnsettelserSammeUkeUtenOpphold.ts | 10 ++
.../arbeidsgiver-mock.ts | 18 +++
.../sak-mock.ts | 114 ++++++++++++++++++
.../s\303\270ker-mock.ts" | 9 ++
.../src/mocks/data/scenario/index.ts | 4 +-
7 files changed, 168 insertions(+), 4 deletions(-)
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/EnArbeidsgiverToAnsettelserSammeUkeUtenOpphold.ts
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/arbeidsgiver-mock.ts
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/sak-mock.ts
create mode 100644 "apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/s\303\270ker-mock.ts"
diff --git a/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts b/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
index 9f2313af7f..0b3dc463b9 100644
--- a/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
@@ -11,7 +11,8 @@ export type ScenarioType =
| 'ingen-sak'
| 'arbeidsaktivitet-uten-arbeidsgiver'
| 'ugyldig-k9-format'
- | 'en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold';
+ | 'en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold'
+ | 'en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold';
export interface Scenario {
name: string;
@@ -81,6 +82,16 @@ export const scenarioer: Scenario[] = [
value: 'ugyldig-k9-format',
harTilgang: false,
},
+ {
+ name: 'Arbeidsgiver med to ansettelser samme uke med opphold',
+ value: 'en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold',
+ harTilgang: false,
+ },
+ {
+ name: 'Arbeidsgiver med to ansettelser samme uke uten opphold',
+ value: 'en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold',
+ harTilgang: true,
+ },
];
export const defaultScenario = scenarioer[0];
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index a7c813467f..7dbd8156b7 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -572,7 +572,7 @@ const getArbeidsaktivitetFrilanser = (
key: ArbeidsaktivitetType.frilanser,
type: ArbeidsaktivitetType.frilanser,
navn: 'Frilanser',
- ansettelsesperioderInnenforEndringsperiode: [endringsperiode], // TODO
+ ansettelsesperioderInnenforEndringsperiode: [], // Brukes ikke for frilanser
...getArbeidsaktivitetPerioderPart(frilanserArbeidstidInfo.perioder, endringsperiode, [endringsperiode]),
}
: undefined;
@@ -593,7 +593,7 @@ const getArbeidsaktivitetSelvstendigNæringsdrivende = (
key: ArbeidsaktivitetType.selvstendigNæringsdrivende,
type: ArbeidsaktivitetType.selvstendigNæringsdrivende,
navn: 'Selvstendig næringsdrivende',
- ansettelsesperioderInnenforEndringsperiode: [], // TODO
+ ansettelsesperioderInnenforEndringsperiode: [], // Brukes ikke for SN
...getArbeidsaktivitetPerioderPart(selvstendigNæringsdrivendeArbeidstidInfo.perioder, endringsperiode, [
endringsperiode,
]),
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/EnArbeidsgiverToAnsettelserSammeUkeUtenOpphold.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/EnArbeidsgiverToAnsettelserSammeUkeUtenOpphold.ts
new file mode 100644
index 0000000000..579142c282
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/EnArbeidsgiverToAnsettelserSammeUkeUtenOpphold.ts
@@ -0,0 +1,10 @@
+import { ScenarioData } from '..';
+import arbeidsgiver from './arbeidsgiver-mock';
+import sak from './sak-mock';
+import søker from './søker-mock';
+
+export const EnArbeidsgiverToAnsettelserSammeUkeUtenOpphold: ScenarioData = {
+ sak,
+ arbeidsgiver,
+ søker,
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/arbeidsgiver-mock.ts
new file mode 100644
index 0000000000..0406ca9316
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/arbeidsgiver-mock.ts
@@ -0,0 +1,18 @@
+export default {
+ organisasjoner: [
+ {
+ organisasjonsnummer: '947064649',
+ navn: 'Norsk bedrift AS',
+ ansattFom: '2003-01-16',
+ ansattTom: '2022-01-11',
+ },
+ {
+ organisasjonsnummer: '947064649',
+ navn: 'Norsk bedrift AS',
+ ansattFom: '2022-01-12',
+ ansattTom: null,
+ },
+ ],
+ privateArbeidsgivere: null,
+ frilansoppdrag: null,
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/sak-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/sak-mock.ts
new file mode 100644
index 0000000000..8b2cc9fe4d
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/sak-mock.ts
@@ -0,0 +1,114 @@
+export default [
+ {
+ barn: {
+ fødselsdato: '2017-03-03',
+ fornavn: 'NORA',
+ mellomnavn: null,
+ etternavn: 'Nordmann',
+ aktørId: '2559652436225',
+ identitetsnummer: '03831799748',
+ },
+ søknad: {
+ søknadId: 'generert',
+ versjon: '1.0.0.',
+ mottattDato: '2023-01-18T08:13:37.525Z',
+ søker: { norskIdentitetsnummer: '00000000000' },
+ ytelse: {
+ type: 'PLEIEPENGER_SYKT_BARN',
+ barn: { norskIdentitetsnummer: '00000000000', fødselsdato: null },
+ søknadsperiode: ['2022-12-01/2024-05-31'],
+ endringsperiode: [],
+ trekkKravPerioder: [],
+ opptjeningAktivitet: {},
+ dataBruktTilUtledning: null,
+ infoFraPunsj: null,
+ bosteder: { perioder: {}, perioderSomSkalSlettes: {} },
+ utenlandsopphold: {
+ perioder: {
+ '2018-12-30/2019-10-20': {
+ land: 'DNK',
+ årsak: 'barnetInnlagtIHelseinstitusjonForNorskOffentligRegning',
+ },
+ },
+ },
+ beredskap: { perioder: {}, perioderSomSkalSlettes: {} },
+ nattevåk: { perioder: {}, perioderSomSkalSlettes: {} },
+ tilsynsordning: {
+ perioder: {
+ '2022-12-01/2023-01-31': { etablertTilsynTimerPerDag: 'PT8H' },
+ '2023-02-14/2023-03-16': { etablertTilsynTimerPerDag: 'PT8H' },
+ },
+ },
+ lovbestemtFerie: {
+ perioder: {
+ '2023-01-01/2023-01-10': {
+ skalHaFerie: true,
+ },
+ '2023-01-12/2023-01-15': {
+ skalHaFerie: false,
+ },
+ },
+ },
+ arbeidstid: {
+ arbeidstakerList: [
+ {
+ norskIdentitetsnummer: null,
+ organisasjonsnummer: '947064649',
+ arbeidstidInfo: {
+ perioder: {
+ '2022-12-01/2022-12-02': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-05/2022-12-09': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-12/2022-12-16': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-19/2022-12-23': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2022-12-26/2022-12-30': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-02/2023-01-06': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-09/2023-01-13': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-16/2023-01-20': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-23/2023-01-27': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ '2023-01-30/2024-05-31': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT4H32M24S',
+ },
+ },
+ },
+ },
+ ],
+ frilanserArbeidstidInfo: {},
+ selvstendigNæringsdrivendeArbeidstidInfo: {},
+ },
+ uttak: { perioder: {} },
+ omsorg: { relasjonTilBarnet: null, beskrivelseAvOmsorgsrollen: null },
+ },
+ språk: 'nb',
+ journalposter: [],
+ begrunnelseForInnsending: { tekst: null },
+ },
+ },
+];
diff --git "a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/s\303\270ker-mock.ts" "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/s\303\270ker-mock.ts"
new file mode 100644
index 0000000000..b80d44748e
--- /dev/null
+++ "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/s\303\270ker-mock.ts"
@@ -0,0 +1,9 @@
+export default {
+ aktørId: '2486083225079',
+ fødselsdato: '1987-10-09',
+ fødselsnummer: '09908799647',
+ fornavn: 'NORA',
+ mellomnavn: null,
+ etternavn: 'Etternavn',
+ myndig: true,
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
index e8db73ac11..a0677bebd5 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
@@ -5,12 +5,13 @@ import { ArbeidsgiverOgFrilanser } from './arbeidsgiver-og-frilanser/Arbeidsgive
import { ArbeidsgivereOgFrilanser } from './arbeidsgivere-og-frilanser/ArbeidsgivereOgFrilanser';
import { Debug } from './debug/Debug';
import { EnArbeidsgiverEnPeriode } from './en-arbeidsgiver-en-periode/EnArbeidsgiverEnPeriode';
+import { EnArbeidsgiverToAnsettelserSammeUkeMedOpphold } from './en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/EnArbeidsgiverToAnsettelserSammeUkeMedOpphold';
+import { EnArbeidsgiverToAnsettelserSammeUkeUtenOpphold } from './en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/EnArbeidsgiverToAnsettelserSammeUkeUtenOpphold';
import { EnArbeidsgiverToPerioder } from './en-arbeidsgiver-to-perioder/EnArbeidsgiverToPerioder';
import { FlereSaker } from './flere-saker/FlereSaker';
import { IngenSak } from './ingen-sak/IngenSak';
import { SelvstendigNæringsdrivende } from './selvstendig-næringsdrivende/SelvstendigNæringsdrivende';
import { UgyldigK9Format } from './ugyldig-k9-format/UgyldigK9Format';
-import { EnArbeidsgiverToAnsettelserSammeUkeMedOpphold } from './en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold/EnArbeidsgiverToAnsettelserSammeUkeMedOpphold';
type ScenarioMap = {
[key: string]: ScenarioData;
@@ -29,6 +30,7 @@ export const mockData: ScenarioMap = {
['arbeidsaktivitet-uten-arbeidsgiver']: ArbeidsaktivitetUtenArbeidsgiver,
['ugyldig-k9-format']: UgyldigK9Format,
['en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold']: EnArbeidsgiverToAnsettelserSammeUkeMedOpphold,
+ ['en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold']: EnArbeidsgiverToAnsettelserSammeUkeUtenOpphold,
};
export interface ScenarioData {
From e20e9feb97f6082379f79406f89ede8af30e53e3 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Thu, 23 Jan 2025 08:18:56 +0100
Subject: [PATCH 22/31] Sperre tilgang for ukjente arbeidsgivere med flere
ansettelsesforhold
---
.../src/app/i18n/appMessages.ts | 7 ++-
.../IngenTilgangPage.stories.tsx | 4 +-
.../pages/ingen-tilgang/IngenTilgangPage.tsx | 6 +-
.../app/pages/kvittering/KvitteringPage.tsx | 6 +-
.../BehandlingAvPersonopplysningerContent.tsx | 2 +-
.../src/app/pages/velkommen/VelkommenPage.tsx | 5 +-
.../steps/arbeidstid/ArbeidstidForm.tsx" | 4 +-
.../app/types/IngenTilgang\303\205rsak.ts" | 2 +-
.../utils/__tests__/tilgangskontroll.test.ts | 58 +++++++++++++------
...ils.ts => ukjentArbeidsgiverUtils.test.ts} | 3 +-
.../src/app/utils/tilgangskontroll.ts | 21 +++++--
.../app/utils/ukjentArbeidsforholdUtils.ts | 39 +++++++------
.../arbeidsgiver-mock.ts | 3 +-
13 files changed, 102 insertions(+), 58 deletions(-)
rename apps/endringsmelding-pleiepenger/src/app/utils/__tests__/{ukjentArbeidsgiverUtils.ts => ukjentArbeidsgiverUtils.test.ts} (93%)
diff --git a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
index 2c9285914a..8117d9f302 100644
--- a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
@@ -88,9 +88,10 @@ const nb = {
'Hvis du har søkt om pleiepenger for en periode frem i tid, eller for barn som ikke er folkeregistrert på deg, kan det ta tid før du kan bruke endringsmeldingen. Du kan foreløpig melde endringer i pleiepengesaken din via {SkrivTilOssLink}.',
'ingenTilgangPage.harIngenSak.3':
'Hvis du ønsker at en av våre veiledere skal undersøke hvorfor du ikke kan bruke endringsmeldingen, kan du kontakte oss på telefon 55 55 33 33.',
- 'ingenTilgangPage.harArbeidsgiverUtenArbeidsaktivitet.1':
- 'Du kan ikke bruke denne tjenesten. Dette er fordi vi har funnet et arbeidsforhold på deg, som ikke er registrert i pleiepengesaken din. Du må derfor sende en ny søknad, slik at saken og utbetalingene dine blir riktige.',
- 'ingenTilgangPage.harArbeidsgiverUtenArbeidsaktivitet.2':
+ 'ingenTilgangPage.harFlereAnsettelsesforholdHosUkjentArbeidsgiver.1':
+ 'Du kan ikke bruke denne tjenesten. Dette er fordi vi har funnet arbeidsforhold på deg som ikke er registrert i pleiepengesaken din, og hvor du har flere ansettelsesforhold. Du må derfor sende en ny søknad, slik at saken og utbetalingene dine blir riktige.',
+
+ 'ingenTilgangPage.harFlereAnsettelsesforholdHosUkjentArbeidsgiver.2':
'Hvis du mener at dette ikke stemmer, er det fint at du sender en melding til oss {SkrivTilOssLink}.',
'ingenTilgangPage.harArbeidstidSomSelvstendigNæringsdrivende.1':
'Du kan ikke bruke denne tjenesten per i dag. Dette er fordi tjenesten foreløpig ikke kan ta imot endringer fra selvstendig næringsdrivende. Vi jobber for å få det til, og selvstendig næringsdrivende blir også tilbudt denne tjenesten på et senere tidspunkt.',
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
index c4eaa5317b..97eb66b97b 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
@@ -21,10 +21,10 @@ export default meta;
type Story = StoryObj;
export const Default: Story = {
- name: 'harArbeidsgiverUtenArbeidsaktivitet',
+ name: 'harFlereAnsettelsesforholdHosUkjentArbeidsgiver',
args: {
søker,
- årsak: [IngenTilgangÅrsak.harArbeidsgiverUtenArbeidsaktivitet],
+ årsak: [IngenTilgangÅrsak.harFlereAnsettelsesforholdHosUkjentArbeidsgiver],
},
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
index fa7042f8f5..7cc7741ae6 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
@@ -56,15 +56,15 @@ const getÅrsakMelding = (årsak: IngenTilgangÅrsak) => {
);
- case IngenTilgangÅrsak.harArbeidsgiverUtenArbeidsaktivitet:
+ case IngenTilgangÅrsak.harFlereAnsettelsesforholdHosUkjentArbeidsgiver:
return (
-
+
}}
/>
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/kvittering/KvitteringPage.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/kvittering/KvitteringPage.tsx
index 90644d12a3..0ddfaabfe6 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/kvittering/KvitteringPage.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/kvittering/KvitteringPage.tsx
@@ -23,7 +23,11 @@ const KvitteringPage = ({ onUnmount }: Props) => {
{children},
+ Lenke: (children) => (
+
+ {children}
+
+ ),
}}
/>
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/BehandlingAvPersonopplysningerContent.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/BehandlingAvPersonopplysningerContent.tsx
index 4ae61fca85..49c8ecee24 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/BehandlingAvPersonopplysningerContent.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/BehandlingAvPersonopplysningerContent.tsx
@@ -47,7 +47,7 @@ const BehandlingAvPersonopplysningerContent: React.FunctionComponent = () => {
id="personopplysninger.5"
values={{
Link: (children) => (
-
+
{children}
),
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/VelkommenPage.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/VelkommenPage.tsx
index 02d0a89c13..50225da40e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/VelkommenPage.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/VelkommenPage.tsx
@@ -51,7 +51,10 @@ const VelkommenPage = () => {
{barnetsNavn}, samletSøknadsperiodeTekst }}
+ values={{
+ barnetsNavn: {barnetsNavn},
+ samletSøknadsperiodeTekst,
+ }}
/>
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
index e46f1543a0..d048ebc1e7 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
@@ -120,7 +120,9 @@ const ArbeidstidForm: React.FunctionComponent = ({ goBack }) => {
id="arbeidstidStep.ingenArbeidsaktiviteter"
values={{
Lenke: (txt: string) => (
- {txt}
+
+ {txt}
+
),
}}
/>
diff --git "a/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts" "b/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
index f5b337c825..afeb2b4c75 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
@@ -4,7 +4,7 @@ export enum IngenTilgangÅrsak {
'søknadsperioderUtenforTillattEndringsperiode' = 'søknadsperioderUtenforTillattEndringsperiode',
'harMerEnnEnSak' = 'harMerEnnEnSak',
'harIngenPerioder' = 'harIngenPerioder',
- 'harArbeidsgiverUtenArbeidsaktivitet' = 'harArbeidsgiverUtenArbeidsaktivitet',
'harArbeidstidSomSelvstendigNæringsdrivende' = 'harArbeidstidSomSelvstendigNæringsdrivende',
'enArbeidsgiverToAnsettelserSammeUkeMedOpphold' = 'harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke',
+ 'harFlereAnsettelsesforholdHosUkjentArbeidsgiver' = 'harFlereAnsettelsesforholdHosUkjentArbeidsgiver',
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
index 9696ca11e9..85c46f6eb7 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
@@ -3,17 +3,29 @@ import { ArbeidsgiverMedAnsettelseperioder, K9SakArbeidstaker, K9SakArbeidstidPe
import { tilgangskontroll, tilgangskontrollUtils } from '../tilgangskontroll';
import { vi } from 'vitest';
+const ansettelsesperioder: DateRange[] = [ISODateRangeToDateRange('2022-01-01/2023-03-01')];
+
const arbeidsgiver1: ArbeidsgiverMedAnsettelseperioder = {
key: 'a_1',
+ navn: 'a_1',
+ ansettelsesperioder,
organisasjonsnummer: '1',
-} as ArbeidsgiverMedAnsettelseperioder;
+};
const arbeidsgiver2: ArbeidsgiverMedAnsettelseperioder = {
key: 'a_2',
+ navn: 'a_2',
+ ansettelsesperioder,
organisasjonsnummer: '2',
-} as ArbeidsgiverMedAnsettelseperioder;
-const arbeidsgiver3: ArbeidsgiverMedAnsettelseperioder = {
- key: 'a_3',
- organisasjonsnummer: '3',
+};
+
+const arbeidsgiverFlereAnsettelsesperioder: ArbeidsgiverMedAnsettelseperioder = {
+ key: 'a_4',
+ navn: 'a_4',
+ ansettelsesperioder: [
+ ISODateRangeToDateRange('2022-01-01/2023-02-01'),
+ ISODateRangeToDateRange('2023-02-01/2023-03-01'),
+ ],
+ organisasjonsnummer: '4',
} as ArbeidsgiverMedAnsettelseperioder;
const arbeidstaker1: K9SakArbeidstaker = { organisasjonsnummer: '1' } as K9SakArbeidstaker;
@@ -47,32 +59,40 @@ describe('tilgangskontroll', () => {
});
});
-describe('harArbeidsgiverUtenArbeidstakerK9Sak', () => {
- it('returnerer true hvis arbeidsgiver ikke har arbeidsaktivitet i sak', () => {
- const result = tilgangskontrollUtils.harArbeidsgiverUtenArbeidsaktivitet(
- [arbeidsgiver3],
+describe('harFlereAnsettelsesforholdHosUkjentArbeidsgiver', () => {
+ /** TODO - oppdatere */
+ it('returnerer true hvis arbeidsgiver ikke har arbeidsaktivitet i sak og har flere ansettelseperioder', () => {
+ const result = tilgangskontrollUtils.harFlereAnsettelsesforholdHosUkjentArbeidsgiver(
+ [arbeidsgiverFlereAnsettelsesperioder],
[arbeidstaker1, arbeidstaker2],
);
expect(result).toBeTruthy();
});
it('returnerer false hvis alle arbeidsgivere har arbeidsaktivitet i sak', () => {
- const result = tilgangskontrollUtils.harArbeidsgiverUtenArbeidsaktivitet(
+ const result = tilgangskontrollUtils.harFlereAnsettelsesforholdHosUkjentArbeidsgiver(
[arbeidsgiver1, arbeidsgiver2],
[arbeidstaker1, arbeidstaker2],
);
expect(result).toBeFalsy();
});
+ it('returnerer true hvis arbeidsgiver ikke har arbeidsaktivitet i sak men har kun én ansettelseperiode', () => {
+ const result = tilgangskontrollUtils.harFlereAnsettelsesforholdHosUkjentArbeidsgiver(
+ [arbeidsgiver1],
+ [arbeidstaker1],
+ );
+ expect(result).toBeFalsy();
+ });
});
describe('harSakSøknadsperiodeInnenforTillattEndringsperiode', () => {
- const tillatEndringsperiode = ISODateRangeToDateRange('2022-01-02/2022-02-01');
+ const tillattEndringsperiode = ISODateRangeToDateRange('2022-01-02/2022-02-01');
const søknadsperiodeUtenfor: DateRange = ISODateRangeToDateRange('2022-01-01/2022-01-01');
const søknadsperiodeInnenfor: DateRange = ISODateRangeToDateRange('2022-01-02/2022-02-01');
it('returnerer true hvis søknadsperioder er innenfor tillatt endringsperiode', () => {
const result = tilgangskontrollUtils.harSøknadsperiodeInnenforTillattEndringsperiode(
søknadsperiodeInnenfor,
- tillatEndringsperiode,
+ tillattEndringsperiode,
);
expect(result).toBeTruthy();
});
@@ -80,7 +100,7 @@ describe('harSakSøknadsperiodeInnenforTillattEndringsperiode', () => {
it('returnerer false hvis søknadsperioder er før tillatt endringsperiode', () => {
const result = tilgangskontrollUtils.harSøknadsperiodeInnenforTillattEndringsperiode(
søknadsperiodeUtenfor,
- tillatEndringsperiode,
+ tillattEndringsperiode,
);
expect(result).toBeFalsy();
});
@@ -164,23 +184,23 @@ describe('slutterOgStarterHosArbeidsgiverSammeUke', () => {
const uke3FreSøn: DateRange = ISODateRangeToDateRange('2025-01-17/2025-01-19');
it('returnerer false hvis det ikke er noen ansettelsesperiode', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([])).toBeFalsy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([])).toBeFalsy();
});
it('returnerer false hvis det bare er én ansettelsesperiode', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2])).toBeFalsy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke2])).toBeFalsy();
});
it('returnerer false hvis det to ansettelsesperiode med én uke mellom', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2, uke4])).toBeFalsy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke2, uke4])).toBeFalsy();
});
it('returnerer false hvis det to ansettelsesperiode med er sammenhengende', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke3ManOns, uke3TorFre])).toBeFalsy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke3ManOns, uke3TorFre])).toBeFalsy();
});
it('returnerer true hvis to perioder slutter og starter innenfor samme uke men med opphold', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke3ManOns, uke3FreSøn])).toBeTruthy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke3ManOns, uke3FreSøn])).toBeTruthy();
});
it('returnerer true hvis to det er mange perioder usortert og noen slutter og starter innenfor samme uke men med opphold', () => {
expect(
- tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2, uke4, uke3ManOns, uke3FreSøn]),
+ tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke2, uke4, uke3ManOns, uke3FreSøn]),
).toBeTruthy();
});
});
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.test.ts
similarity index 93%
rename from apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.ts
rename to apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.test.ts
index 7f4fb3d1ec..e38a0d8c9f 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.test.ts
@@ -1,5 +1,4 @@
-import { DateRange } from '@navikt/sif-common-formik-ds';
-import { dateToISODate, ISODate, ISODateRangeToDateRange, ISODateToDate } from '@navikt/sif-common-utils';
+import { DateRange, dateToISODate, ISODate, ISODateRangeToDateRange, ISODateToDate } from '@navikt/sif-common-utils';
import { getSøknadsperioderForUkjentArbeidsforhold } from '../ukjentArbeidsforholdUtils';
describe('ukjentArbeidsforholdUtils', () => {
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
index 17bc1d1291..68c819c4fa 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
@@ -66,6 +66,11 @@ export const tilgangskontroll = (
ingenTilgangÅrsak.push(IngenTilgangÅrsak.enArbeidsgiverToAnsettelserSammeUkeMedOpphold);
}
+ /** Bruker har flere ansettelsperioder hos ukjent arbeidsgiver */
+ if (harFlereAnsettelsesforholdHosUkjentArbeidsgiver(arbeidsgivere, sak.ytelse.arbeidstid.arbeidstakerList)) {
+ ingenTilgangÅrsak.push(IngenTilgangÅrsak.harFlereAnsettelsesforholdHosUkjentArbeidsgiver);
+ }
+
if (ingenTilgangÅrsak.length > 0) {
return {
kanBrukeSøknad: false,
@@ -100,12 +105,16 @@ const getIngenTilgangMeta = (arbeidstid: K9SakArbeidstid): IngenTilgangMeta => {
};
};
-const harArbeidsgiverUtenArbeidsaktivitet = (
+const harFlereAnsettelsesforholdHosUkjentArbeidsgiver = (
arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
k9SakArbeidstaker: K9SakArbeidstaker[] = [],
): boolean => {
return arbeidsgivere.some((arbeidsgiver) => {
- return finnesArbeidsgiverIK9Sak(arbeidsgiver, k9SakArbeidstaker) === false;
+ const erUkjentArbeidsgiver = finnesArbeidsgiverIK9Sak(arbeidsgiver, k9SakArbeidstaker) === false;
+ if (!erUkjentArbeidsgiver) {
+ return false;
+ }
+ return arbeidsgiver.ansettelsesperioder.length > 1;
});
};
@@ -125,7 +134,7 @@ const harSøknadsperiodeInnenforTillattEndringsperiode = (
const harAnsettelsesforholdSomStarterOgSlutterSammeUkeMedOpphold = (
sak: K9Sak,
- tillatEndringsperiode: DateRange,
+ tillattEndringsperiode: DateRange,
arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): boolean => {
const orgnrISak = (sak.ytelse.arbeidstid.arbeidstakerList || []).map((a) => a.organisasjonsnummer);
@@ -133,7 +142,7 @@ const harAnsettelsesforholdSomStarterOgSlutterSammeUkeMedOpphold = (
.filter((a) => orgnrISak.includes(a.organisasjonsnummer))
.some((arbeidsgiver) => {
const ansettelserInnenforEndringsperiode = arbeidsgiver.ansettelsesperioder.map((d) =>
- ensureDateRange(d, tillatEndringsperiode),
+ ensureDateRange(d, tillattEndringsperiode),
);
return perioderSlutterOgStarterSammeUkeMedOpphold(ansettelserInnenforEndringsperiode);
});
@@ -167,7 +176,7 @@ const perioderSlutterOgStarterSammeUkeMedOpphold = (ansettelsesperioder: DateRan
export const tilgangskontrollUtils = {
getIngenTilgangMeta,
- harArbeidsgiverUtenArbeidsaktivitet,
harSøknadsperiodeInnenforTillattEndringsperiode,
- slutterOgStarterHosArbeidsgiverSammeUke: perioderSlutterOgStarterSammeUkeMedOpphold,
+ harFlereAnsettelsesforholdHosUkjentArbeidsgiver,
+ perioderSlutterOgStarterSammeUkeMedOpphold,
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
index 47256c8b53..cc839b1414 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
@@ -43,22 +43,16 @@ export const getSøknadsperioderForUkjentArbeidsforhold = (
export const getPerioderMedArbeidstidForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
- { ansettelsesperioder }: ArbeidsgiverMedAnsettelseperioder,
+ ansettelsesperiode: DateRange,
normalarbeidstidPerUke: Duration,
faktiskArbeidstidPerUke: Duration | undefined,
): PeriodeMedArbeidstid[] => {
- if (ansettelsesperioder.length === 0) {
- return [];
- }
- /** TODO - håndtere flere ansettelsesperioder */
- const søknadsperioderForArbeidsforhold =
- ansettelsesperioder.length === 1
- ? getSøknadsperioderForUkjentArbeidsforhold(
- søknadsperioder,
- ansettelsesperioder[0].from,
- ansettelsesperioder[0].to,
- )
- : [];
+ const søknadsperioderForArbeidsforhold = getSøknadsperioderForUkjentArbeidsforhold(
+ søknadsperioder,
+ ansettelsesperiode.from,
+ ansettelsesperiode.to,
+ );
+
const perioderMedArbeidstid: PeriodeMedArbeidstid[] = [];
const arbeidstidPerDag: ArbeidstidPerDag = {
@@ -102,6 +96,15 @@ export const getFaktiskArbeidstidPerUkeForUkjentArbeidsforhold = (
}
};
+/**
+ * Henter ut Arbeidsaktiviet for ukjent arbeidsforhold
+ * @param søknadsperioder Alle perioder som er søkt for
+ * @param arbeidsgiver Arbeidsgiveren det gjelder som ikke er registrert i sak
+ * @param arbeidsforhold Arbeidsforhold utledet tidligere - holder om en er ansatt eller ikke, og evt. normalarbeidstid. Hentes på eget steg
+ * @param endringsperiode tidsrommet som en kan gjøre endringer i
+ * @param arbeiderIPerioden om bruker sier en arbeider, arbeider delvis eller arbeider ikke i perioden
+ * @returns Arbeidsaktivitet
+ */
export const getArbeidsaktivitetForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
arbeidsgiver: ArbeidsgiverMedAnsettelseperioder,
@@ -110,6 +113,10 @@ export const getArbeidsaktivitetForUkjentArbeidsforhold = (
arbeiderIPerioden?: ArbeiderIPeriodenSvar,
): Arbeidsaktivitet => {
const faktiskArbeidstid = getFaktiskArbeidstidPerUkeForUkjentArbeidsforhold(arbeidsforhold, arbeiderIPerioden);
+ if (arbeidsgiver.ansettelsesperioder.length !== 1) {
+ throw 'Ukjent arbeidsforhold kan kun ha en ansettelsesperiode';
+ }
+ const ansettelsesperiode = ensureDateRange(arbeidsgiver.ansettelsesperioder[0], endringsperiode);
const aktivitet: Arbeidsaktivitet = {
key: arbeidsgiver.key,
@@ -119,12 +126,10 @@ export const getArbeidsaktivitetForUkjentArbeidsforhold = (
navn: arbeidsgiver.navn,
harPerioderEtterTillattEndringsperiode: false,
harPerioderFørTillattEndringsperiode: false,
- ansettelsesperioderInnenforEndringsperiode: arbeidsgiver.ansettelsesperioder.map((periode) =>
- ensureDateRange(periode, endringsperiode),
- ),
+ ansettelsesperioderInnenforEndringsperiode: [ansettelsesperiode],
perioderMedArbeidstid: getPerioderMedArbeidstidForUkjentArbeidsforhold(
søknadsperioder,
- arbeidsgiver,
+ ansettelsesperiode,
arbeidsforhold.normalarbeidstid.timerPerUke,
faktiskArbeidstid,
),
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak/arbeidsgiver-mock.ts
index d1f2d8394d..f6bd367a8b 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak/arbeidsgiver-mock.ts
@@ -2,7 +2,8 @@ export default {
organisasjoner: [
{ navn: 'Dykkert svømmeutstyr', organisasjonsnummer: '947064649', ansattFom: '2008-10-01' },
{ navn: 'Vinge flyfly', organisasjonsnummer: '947064640', ansattFom: '2008-10-01' },
- { navn: 'IKKE-I-SAK-AS 1', organisasjonsnummer: '947064642', ansattFom: '2023-02-01' },
+ { navn: 'IKKE-I-SAK-AS 1', organisasjonsnummer: '947064642', ansattFom: '2023-02-05', ansattTom: '2023-04-05' },
+ { navn: 'IKKE-I-SAK-AS 1', organisasjonsnummer: '947064642', ansattFom: '2023-04-06' },
{ navn: 'IKKE-I-SAK-AS 2', organisasjonsnummer: '947064643', ansattFom: '2023-02-01' },
],
};
From 9a2ca6d17f506ce51712a6394258636edd158e38 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Thu, 23 Jan 2025 08:26:53 +0100
Subject: [PATCH 23/31] Sperre tilgang for ukjente arbeidsgivere med flere
ansettelsesforhold
---
.../src/app/dev/scenarioer.ts | 8 +-
.../src/app/i18n/appMessages.ts | 7 +-
.../IngenTilgangPage.stories.tsx | 4 +-
.../pages/ingen-tilgang/IngenTilgangPage.tsx | 19 +-
.../app/pages/kvittering/KvitteringPage.tsx | 6 +-
.../BehandlingAvPersonopplysningerContent.tsx | 2 +-
.../src/app/pages/velkommen/VelkommenPage.tsx | 5 +-
.../steps/arbeidstid/ArbeidstidForm.tsx" | 4 +-
.../ArbeidsaktivitetUtenforPeriodeInfo.tsx" | 2 +-
.../app/types/IngenTilgang\303\205rsak.ts" | 2 +-
.../utils/__tests__/tilgangskontroll.test.ts | 58 ++-
...ils.ts => ukjentArbeidsgiverUtils.test.ts} | 3 +-
.../src/app/utils/tilgangskontroll.ts | 21 +-
.../app/utils/ukjentArbeidsforholdUtils.ts | 39 +-
.../ArbeidsgiverIkkeISakFlereAnsettelser.ts | 10 +
.../arbeidsgiver-mock.ts | 8 +
.../sak-mock.ts | 343 ++++++++++++++++++
.../s\303\270ker-mock.ts" | 8 +
.../arbeidsgiver-mock.ts | 2 +-
.../src/mocks/data/scenario/index.ts | 6 +-
20 files changed, 486 insertions(+), 71 deletions(-)
rename apps/endringsmelding-pleiepenger/src/app/utils/__tests__/{ukjentArbeidsgiverUtils.ts => ukjentArbeidsgiverUtils.test.ts} (93%)
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/ArbeidsgiverIkkeISakFlereAnsettelser.ts
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/arbeidsgiver-mock.ts
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/sak-mock.ts
create mode 100644 "apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/s\303\270ker-mock.ts"
diff --git a/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts b/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
index 0b3dc463b9..6212ec3757 100644
--- a/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/dev/scenarioer.ts
@@ -4,7 +4,7 @@ export type ScenarioType =
| 'arbeidsgiver-og-frilanser'
| 'arbeidsgivere-og-frilanser'
| 'arbeidsgiver-ikke-i-sak'
- | 'flere-saker-kun-en-aktiv'
+ | 'arbeidsgiver-ikke-i-sak-flere-ansettelser'
| 'debug'
| 'selvstendig-næringsdrivende'
| 'flere-saker'
@@ -48,9 +48,9 @@ export const scenarioer: Scenario[] = [
harTilgang: true,
},
{
- name: 'Flere saker, kun én aktiv',
- value: 'flere-saker-kun-en-aktiv',
- harTilgang: true,
+ name: 'Arbeidsgiver som ikke er i sak med flere ansettelser',
+ value: 'arbeidsgiver-ikke-i-sak-flere-ansettelser',
+ harTilgang: false,
},
{
name: 'Selvstendig næringsdrivende',
diff --git a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
index 2c9285914a..8117d9f302 100644
--- a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
@@ -88,9 +88,10 @@ const nb = {
'Hvis du har søkt om pleiepenger for en periode frem i tid, eller for barn som ikke er folkeregistrert på deg, kan det ta tid før du kan bruke endringsmeldingen. Du kan foreløpig melde endringer i pleiepengesaken din via {SkrivTilOssLink}.',
'ingenTilgangPage.harIngenSak.3':
'Hvis du ønsker at en av våre veiledere skal undersøke hvorfor du ikke kan bruke endringsmeldingen, kan du kontakte oss på telefon 55 55 33 33.',
- 'ingenTilgangPage.harArbeidsgiverUtenArbeidsaktivitet.1':
- 'Du kan ikke bruke denne tjenesten. Dette er fordi vi har funnet et arbeidsforhold på deg, som ikke er registrert i pleiepengesaken din. Du må derfor sende en ny søknad, slik at saken og utbetalingene dine blir riktige.',
- 'ingenTilgangPage.harArbeidsgiverUtenArbeidsaktivitet.2':
+ 'ingenTilgangPage.harFlereAnsettelsesforholdHosUkjentArbeidsgiver.1':
+ 'Du kan ikke bruke denne tjenesten. Dette er fordi vi har funnet arbeidsforhold på deg som ikke er registrert i pleiepengesaken din, og hvor du har flere ansettelsesforhold. Du må derfor sende en ny søknad, slik at saken og utbetalingene dine blir riktige.',
+
+ 'ingenTilgangPage.harFlereAnsettelsesforholdHosUkjentArbeidsgiver.2':
'Hvis du mener at dette ikke stemmer, er det fint at du sender en melding til oss {SkrivTilOssLink}.',
'ingenTilgangPage.harArbeidstidSomSelvstendigNæringsdrivende.1':
'Du kan ikke bruke denne tjenesten per i dag. Dette er fordi tjenesten foreløpig ikke kan ta imot endringer fra selvstendig næringsdrivende. Vi jobber for å få det til, og selvstendig næringsdrivende blir også tilbudt denne tjenesten på et senere tidspunkt.',
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
index c4eaa5317b..97eb66b97b 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.stories.tsx
@@ -21,10 +21,10 @@ export default meta;
type Story = StoryObj;
export const Default: Story = {
- name: 'harArbeidsgiverUtenArbeidsaktivitet',
+ name: 'harFlereAnsettelsesforholdHosUkjentArbeidsgiver',
args: {
søker,
- årsak: [IngenTilgangÅrsak.harArbeidsgiverUtenArbeidsaktivitet],
+ årsak: [IngenTilgangÅrsak.harFlereAnsettelsesforholdHosUkjentArbeidsgiver],
},
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
index fa7042f8f5..7056a6c826 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/ingen-tilgang/IngenTilgangPage.tsx
@@ -23,7 +23,7 @@ const getÅrsakMelding = (årsak: IngenTilgangÅrsak) => {
,
+ SkrivTilOssLink: ,
}}
/>
);
@@ -48,7 +48,7 @@ const getÅrsakMelding = (årsak: IngenTilgangÅrsak) => {
}}
+ values={{ SkrivTilOssLink: }}
/>
@@ -56,16 +56,16 @@ const getÅrsakMelding = (årsak: IngenTilgangÅrsak) => {
);
- case IngenTilgangÅrsak.harArbeidsgiverUtenArbeidsaktivitet:
+ case IngenTilgangÅrsak.harFlereAnsettelsesforholdHosUkjentArbeidsgiver:
return (
-
+
}}
+ id="ingenTilgangPage.harFlereAnsettelsesforholdHosUkjentArbeidsgiver.2"
+ values={{ SkrivTilOssLink: }}
/>
@@ -103,13 +103,16 @@ const getÅrsakMelding = (årsak: IngenTilgangÅrsak) => {
}}
+ values={{
+ ANTALL_MÅNEDER_TILLATT_FOR_ENDRING,
+ SkrivTilOssLink: ,
+ }}
/>
}}
+ values={{ SkrivTilOssLink: }}
/>
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/kvittering/KvitteringPage.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/kvittering/KvitteringPage.tsx
index 90644d12a3..0ddfaabfe6 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/kvittering/KvitteringPage.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/kvittering/KvitteringPage.tsx
@@ -23,7 +23,11 @@ const KvitteringPage = ({ onUnmount }: Props) => {
{children},
+ Lenke: (children) => (
+
+ {children}
+
+ ),
}}
/>
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/BehandlingAvPersonopplysningerContent.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/BehandlingAvPersonopplysningerContent.tsx
index 4ae61fca85..49c8ecee24 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/BehandlingAvPersonopplysningerContent.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/BehandlingAvPersonopplysningerContent.tsx
@@ -47,7 +47,7 @@ const BehandlingAvPersonopplysningerContent: React.FunctionComponent = () => {
id="personopplysninger.5"
values={{
Link: (children) => (
-
+
{children}
),
diff --git a/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/VelkommenPage.tsx b/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/VelkommenPage.tsx
index 02d0a89c13..50225da40e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/VelkommenPage.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/pages/velkommen/VelkommenPage.tsx
@@ -51,7 +51,10 @@ const VelkommenPage = () => {
{barnetsNavn}, samletSøknadsperiodeTekst }}
+ values={{
+ barnetsNavn: {barnetsNavn},
+ samletSøknadsperiodeTekst,
+ }}
/>
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
index e46f1543a0..d048ebc1e7 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/ArbeidstidForm.tsx"
@@ -120,7 +120,9 @@ const ArbeidstidForm: React.FunctionComponent = ({ goBack }) => {
id="arbeidstidStep.ingenArbeidsaktiviteter"
values={{
Lenke: (txt: string) => (
- {txt}
+
+ {txt}
+
),
}}
/>
diff --git "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetUtenforPeriodeInfo.tsx" "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetUtenforPeriodeInfo.tsx"
index c21923640e..57c4b9e175 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetUtenforPeriodeInfo.tsx"
+++ "b/apps/endringsmelding-pleiepenger/src/app/s\303\270knad/steps/arbeidstid/arbeidsaktivitet-form-part/components/ArbeidsaktivitetUtenforPeriodeInfo.tsx"
@@ -20,7 +20,7 @@ const ArbeidsaktivitetUtenforPeriodeInfo: React.FunctionComponent = ({
const intlValues = {
førDato: dateFormatter.full(tillattEndringsperiode.from),
etterDato: dateFormatter.full(tillattEndringsperiode.to),
- skrivTilOssLink: ,
+ skrivTilOssLink: ,
};
return (
diff --git "a/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts" "b/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
index f5b337c825..afeb2b4c75 100644
--- "a/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/app/types/IngenTilgang\303\205rsak.ts"
@@ -4,7 +4,7 @@ export enum IngenTilgangÅrsak {
'søknadsperioderUtenforTillattEndringsperiode' = 'søknadsperioderUtenforTillattEndringsperiode',
'harMerEnnEnSak' = 'harMerEnnEnSak',
'harIngenPerioder' = 'harIngenPerioder',
- 'harArbeidsgiverUtenArbeidsaktivitet' = 'harArbeidsgiverUtenArbeidsaktivitet',
'harArbeidstidSomSelvstendigNæringsdrivende' = 'harArbeidstidSomSelvstendigNæringsdrivende',
'enArbeidsgiverToAnsettelserSammeUkeMedOpphold' = 'harAnsettelsesforholdSomSlutterOgStarterInneforSammeUke',
+ 'harFlereAnsettelsesforholdHosUkjentArbeidsgiver' = 'harFlereAnsettelsesforholdHosUkjentArbeidsgiver',
}
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
index 9696ca11e9..85c46f6eb7 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/tilgangskontroll.test.ts
@@ -3,17 +3,29 @@ import { ArbeidsgiverMedAnsettelseperioder, K9SakArbeidstaker, K9SakArbeidstidPe
import { tilgangskontroll, tilgangskontrollUtils } from '../tilgangskontroll';
import { vi } from 'vitest';
+const ansettelsesperioder: DateRange[] = [ISODateRangeToDateRange('2022-01-01/2023-03-01')];
+
const arbeidsgiver1: ArbeidsgiverMedAnsettelseperioder = {
key: 'a_1',
+ navn: 'a_1',
+ ansettelsesperioder,
organisasjonsnummer: '1',
-} as ArbeidsgiverMedAnsettelseperioder;
+};
const arbeidsgiver2: ArbeidsgiverMedAnsettelseperioder = {
key: 'a_2',
+ navn: 'a_2',
+ ansettelsesperioder,
organisasjonsnummer: '2',
-} as ArbeidsgiverMedAnsettelseperioder;
-const arbeidsgiver3: ArbeidsgiverMedAnsettelseperioder = {
- key: 'a_3',
- organisasjonsnummer: '3',
+};
+
+const arbeidsgiverFlereAnsettelsesperioder: ArbeidsgiverMedAnsettelseperioder = {
+ key: 'a_4',
+ navn: 'a_4',
+ ansettelsesperioder: [
+ ISODateRangeToDateRange('2022-01-01/2023-02-01'),
+ ISODateRangeToDateRange('2023-02-01/2023-03-01'),
+ ],
+ organisasjonsnummer: '4',
} as ArbeidsgiverMedAnsettelseperioder;
const arbeidstaker1: K9SakArbeidstaker = { organisasjonsnummer: '1' } as K9SakArbeidstaker;
@@ -47,32 +59,40 @@ describe('tilgangskontroll', () => {
});
});
-describe('harArbeidsgiverUtenArbeidstakerK9Sak', () => {
- it('returnerer true hvis arbeidsgiver ikke har arbeidsaktivitet i sak', () => {
- const result = tilgangskontrollUtils.harArbeidsgiverUtenArbeidsaktivitet(
- [arbeidsgiver3],
+describe('harFlereAnsettelsesforholdHosUkjentArbeidsgiver', () => {
+ /** TODO - oppdatere */
+ it('returnerer true hvis arbeidsgiver ikke har arbeidsaktivitet i sak og har flere ansettelseperioder', () => {
+ const result = tilgangskontrollUtils.harFlereAnsettelsesforholdHosUkjentArbeidsgiver(
+ [arbeidsgiverFlereAnsettelsesperioder],
[arbeidstaker1, arbeidstaker2],
);
expect(result).toBeTruthy();
});
it('returnerer false hvis alle arbeidsgivere har arbeidsaktivitet i sak', () => {
- const result = tilgangskontrollUtils.harArbeidsgiverUtenArbeidsaktivitet(
+ const result = tilgangskontrollUtils.harFlereAnsettelsesforholdHosUkjentArbeidsgiver(
[arbeidsgiver1, arbeidsgiver2],
[arbeidstaker1, arbeidstaker2],
);
expect(result).toBeFalsy();
});
+ it('returnerer true hvis arbeidsgiver ikke har arbeidsaktivitet i sak men har kun én ansettelseperiode', () => {
+ const result = tilgangskontrollUtils.harFlereAnsettelsesforholdHosUkjentArbeidsgiver(
+ [arbeidsgiver1],
+ [arbeidstaker1],
+ );
+ expect(result).toBeFalsy();
+ });
});
describe('harSakSøknadsperiodeInnenforTillattEndringsperiode', () => {
- const tillatEndringsperiode = ISODateRangeToDateRange('2022-01-02/2022-02-01');
+ const tillattEndringsperiode = ISODateRangeToDateRange('2022-01-02/2022-02-01');
const søknadsperiodeUtenfor: DateRange = ISODateRangeToDateRange('2022-01-01/2022-01-01');
const søknadsperiodeInnenfor: DateRange = ISODateRangeToDateRange('2022-01-02/2022-02-01');
it('returnerer true hvis søknadsperioder er innenfor tillatt endringsperiode', () => {
const result = tilgangskontrollUtils.harSøknadsperiodeInnenforTillattEndringsperiode(
søknadsperiodeInnenfor,
- tillatEndringsperiode,
+ tillattEndringsperiode,
);
expect(result).toBeTruthy();
});
@@ -80,7 +100,7 @@ describe('harSakSøknadsperiodeInnenforTillattEndringsperiode', () => {
it('returnerer false hvis søknadsperioder er før tillatt endringsperiode', () => {
const result = tilgangskontrollUtils.harSøknadsperiodeInnenforTillattEndringsperiode(
søknadsperiodeUtenfor,
- tillatEndringsperiode,
+ tillattEndringsperiode,
);
expect(result).toBeFalsy();
});
@@ -164,23 +184,23 @@ describe('slutterOgStarterHosArbeidsgiverSammeUke', () => {
const uke3FreSøn: DateRange = ISODateRangeToDateRange('2025-01-17/2025-01-19');
it('returnerer false hvis det ikke er noen ansettelsesperiode', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([])).toBeFalsy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([])).toBeFalsy();
});
it('returnerer false hvis det bare er én ansettelsesperiode', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2])).toBeFalsy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke2])).toBeFalsy();
});
it('returnerer false hvis det to ansettelsesperiode med én uke mellom', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2, uke4])).toBeFalsy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke2, uke4])).toBeFalsy();
});
it('returnerer false hvis det to ansettelsesperiode med er sammenhengende', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke3ManOns, uke3TorFre])).toBeFalsy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke3ManOns, uke3TorFre])).toBeFalsy();
});
it('returnerer true hvis to perioder slutter og starter innenfor samme uke men med opphold', () => {
- expect(tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke3ManOns, uke3FreSøn])).toBeTruthy();
+ expect(tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke3ManOns, uke3FreSøn])).toBeTruthy();
});
it('returnerer true hvis to det er mange perioder usortert og noen slutter og starter innenfor samme uke men med opphold', () => {
expect(
- tilgangskontrollUtils.slutterOgStarterHosArbeidsgiverSammeUke([uke2, uke4, uke3ManOns, uke3FreSøn]),
+ tilgangskontrollUtils.perioderSlutterOgStarterSammeUkeMedOpphold([uke2, uke4, uke3ManOns, uke3FreSøn]),
).toBeTruthy();
});
});
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.test.ts
similarity index 93%
rename from apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.ts
rename to apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.test.ts
index 7f4fb3d1ec..e38a0d8c9f 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/ukjentArbeidsgiverUtils.test.ts
@@ -1,5 +1,4 @@
-import { DateRange } from '@navikt/sif-common-formik-ds';
-import { dateToISODate, ISODate, ISODateRangeToDateRange, ISODateToDate } from '@navikt/sif-common-utils';
+import { DateRange, dateToISODate, ISODate, ISODateRangeToDateRange, ISODateToDate } from '@navikt/sif-common-utils';
import { getSøknadsperioderForUkjentArbeidsforhold } from '../ukjentArbeidsforholdUtils';
describe('ukjentArbeidsforholdUtils', () => {
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
index 17bc1d1291..68c819c4fa 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/tilgangskontroll.ts
@@ -66,6 +66,11 @@ export const tilgangskontroll = (
ingenTilgangÅrsak.push(IngenTilgangÅrsak.enArbeidsgiverToAnsettelserSammeUkeMedOpphold);
}
+ /** Bruker har flere ansettelsperioder hos ukjent arbeidsgiver */
+ if (harFlereAnsettelsesforholdHosUkjentArbeidsgiver(arbeidsgivere, sak.ytelse.arbeidstid.arbeidstakerList)) {
+ ingenTilgangÅrsak.push(IngenTilgangÅrsak.harFlereAnsettelsesforholdHosUkjentArbeidsgiver);
+ }
+
if (ingenTilgangÅrsak.length > 0) {
return {
kanBrukeSøknad: false,
@@ -100,12 +105,16 @@ const getIngenTilgangMeta = (arbeidstid: K9SakArbeidstid): IngenTilgangMeta => {
};
};
-const harArbeidsgiverUtenArbeidsaktivitet = (
+const harFlereAnsettelsesforholdHosUkjentArbeidsgiver = (
arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
k9SakArbeidstaker: K9SakArbeidstaker[] = [],
): boolean => {
return arbeidsgivere.some((arbeidsgiver) => {
- return finnesArbeidsgiverIK9Sak(arbeidsgiver, k9SakArbeidstaker) === false;
+ const erUkjentArbeidsgiver = finnesArbeidsgiverIK9Sak(arbeidsgiver, k9SakArbeidstaker) === false;
+ if (!erUkjentArbeidsgiver) {
+ return false;
+ }
+ return arbeidsgiver.ansettelsesperioder.length > 1;
});
};
@@ -125,7 +134,7 @@ const harSøknadsperiodeInnenforTillattEndringsperiode = (
const harAnsettelsesforholdSomStarterOgSlutterSammeUkeMedOpphold = (
sak: K9Sak,
- tillatEndringsperiode: DateRange,
+ tillattEndringsperiode: DateRange,
arbeidsgivere: ArbeidsgiverMedAnsettelseperioder[],
): boolean => {
const orgnrISak = (sak.ytelse.arbeidstid.arbeidstakerList || []).map((a) => a.organisasjonsnummer);
@@ -133,7 +142,7 @@ const harAnsettelsesforholdSomStarterOgSlutterSammeUkeMedOpphold = (
.filter((a) => orgnrISak.includes(a.organisasjonsnummer))
.some((arbeidsgiver) => {
const ansettelserInnenforEndringsperiode = arbeidsgiver.ansettelsesperioder.map((d) =>
- ensureDateRange(d, tillatEndringsperiode),
+ ensureDateRange(d, tillattEndringsperiode),
);
return perioderSlutterOgStarterSammeUkeMedOpphold(ansettelserInnenforEndringsperiode);
});
@@ -167,7 +176,7 @@ const perioderSlutterOgStarterSammeUkeMedOpphold = (ansettelsesperioder: DateRan
export const tilgangskontrollUtils = {
getIngenTilgangMeta,
- harArbeidsgiverUtenArbeidsaktivitet,
harSøknadsperiodeInnenforTillattEndringsperiode,
- slutterOgStarterHosArbeidsgiverSammeUke: perioderSlutterOgStarterSammeUkeMedOpphold,
+ harFlereAnsettelsesforholdHosUkjentArbeidsgiver,
+ perioderSlutterOgStarterSammeUkeMedOpphold,
};
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
index 47256c8b53..cc839b1414 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
@@ -43,22 +43,16 @@ export const getSøknadsperioderForUkjentArbeidsforhold = (
export const getPerioderMedArbeidstidForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
- { ansettelsesperioder }: ArbeidsgiverMedAnsettelseperioder,
+ ansettelsesperiode: DateRange,
normalarbeidstidPerUke: Duration,
faktiskArbeidstidPerUke: Duration | undefined,
): PeriodeMedArbeidstid[] => {
- if (ansettelsesperioder.length === 0) {
- return [];
- }
- /** TODO - håndtere flere ansettelsesperioder */
- const søknadsperioderForArbeidsforhold =
- ansettelsesperioder.length === 1
- ? getSøknadsperioderForUkjentArbeidsforhold(
- søknadsperioder,
- ansettelsesperioder[0].from,
- ansettelsesperioder[0].to,
- )
- : [];
+ const søknadsperioderForArbeidsforhold = getSøknadsperioderForUkjentArbeidsforhold(
+ søknadsperioder,
+ ansettelsesperiode.from,
+ ansettelsesperiode.to,
+ );
+
const perioderMedArbeidstid: PeriodeMedArbeidstid[] = [];
const arbeidstidPerDag: ArbeidstidPerDag = {
@@ -102,6 +96,15 @@ export const getFaktiskArbeidstidPerUkeForUkjentArbeidsforhold = (
}
};
+/**
+ * Henter ut Arbeidsaktiviet for ukjent arbeidsforhold
+ * @param søknadsperioder Alle perioder som er søkt for
+ * @param arbeidsgiver Arbeidsgiveren det gjelder som ikke er registrert i sak
+ * @param arbeidsforhold Arbeidsforhold utledet tidligere - holder om en er ansatt eller ikke, og evt. normalarbeidstid. Hentes på eget steg
+ * @param endringsperiode tidsrommet som en kan gjøre endringer i
+ * @param arbeiderIPerioden om bruker sier en arbeider, arbeider delvis eller arbeider ikke i perioden
+ * @returns Arbeidsaktivitet
+ */
export const getArbeidsaktivitetForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
arbeidsgiver: ArbeidsgiverMedAnsettelseperioder,
@@ -110,6 +113,10 @@ export const getArbeidsaktivitetForUkjentArbeidsforhold = (
arbeiderIPerioden?: ArbeiderIPeriodenSvar,
): Arbeidsaktivitet => {
const faktiskArbeidstid = getFaktiskArbeidstidPerUkeForUkjentArbeidsforhold(arbeidsforhold, arbeiderIPerioden);
+ if (arbeidsgiver.ansettelsesperioder.length !== 1) {
+ throw 'Ukjent arbeidsforhold kan kun ha en ansettelsesperiode';
+ }
+ const ansettelsesperiode = ensureDateRange(arbeidsgiver.ansettelsesperioder[0], endringsperiode);
const aktivitet: Arbeidsaktivitet = {
key: arbeidsgiver.key,
@@ -119,12 +126,10 @@ export const getArbeidsaktivitetForUkjentArbeidsforhold = (
navn: arbeidsgiver.navn,
harPerioderEtterTillattEndringsperiode: false,
harPerioderFørTillattEndringsperiode: false,
- ansettelsesperioderInnenforEndringsperiode: arbeidsgiver.ansettelsesperioder.map((periode) =>
- ensureDateRange(periode, endringsperiode),
- ),
+ ansettelsesperioderInnenforEndringsperiode: [ansettelsesperiode],
perioderMedArbeidstid: getPerioderMedArbeidstidForUkjentArbeidsforhold(
søknadsperioder,
- arbeidsgiver,
+ ansettelsesperiode,
arbeidsforhold.normalarbeidstid.timerPerUke,
faktiskArbeidstid,
),
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/ArbeidsgiverIkkeISakFlereAnsettelser.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/ArbeidsgiverIkkeISakFlereAnsettelser.ts
new file mode 100644
index 0000000000..acb4dd2797
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/ArbeidsgiverIkkeISakFlereAnsettelser.ts
@@ -0,0 +1,10 @@
+import { ScenarioData } from '..';
+import arbeidsgiver from './arbeidsgiver-mock';
+import sak from './sak-mock';
+import søker from './søker-mock';
+
+export const ArbeidsgiverIkkeISakFlereAnsettelser: ScenarioData = {
+ sak,
+ arbeidsgiver,
+ søker,
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/arbeidsgiver-mock.ts
new file mode 100644
index 0000000000..a45b295c82
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/arbeidsgiver-mock.ts
@@ -0,0 +1,8 @@
+export default {
+ organisasjoner: [
+ { navn: 'Dykkert svømmeutstyr', organisasjonsnummer: '947064649', ansattFom: '2008-10-01' },
+ { navn: 'Vinge flyfly', organisasjonsnummer: '947064640', ansattFom: '2008-10-01' },
+ { navn: 'IKKE-I-SAK-AS 1', organisasjonsnummer: '947064642', ansattFom: '2023-02-05', ansattTom: '2023-04-05' },
+ { navn: 'IKKE-I-SAK-AS 1', organisasjonsnummer: '947064642', ansattFom: '2023-04-06' },
+ ],
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/sak-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/sak-mock.ts
new file mode 100644
index 0000000000..5f9c1a3f8f
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/sak-mock.ts
@@ -0,0 +1,343 @@
+export default [
+ {
+ barn: {
+ fødselsdato: '2017-03-03',
+ fornavn: 'NORA',
+ mellomnavn: null,
+ etternavn: 'Nordmann',
+ aktørId: '2559652436225',
+ identitetsnummer: '03831799748',
+ },
+ søknad: {
+ søknadId: 'generert',
+ versjon: '1.0.0.',
+ mottattDato: '2023-01-18T08:13:37.525Z',
+ søker: { norskIdentitetsnummer: '00000000000' },
+ ytelse: {
+ type: 'PLEIEPENGER_SYKT_BARN',
+ barn: { norskIdentitetsnummer: '00000000000', fødselsdato: null },
+ søknadsperiode: ['2022-01-01/2024-09-31'],
+ endringsperiode: [],
+ trekkKravPerioder: [],
+ opptjeningAktivitet: {},
+ dataBruktTilUtledning: null,
+ infoFraPunsj: null,
+ bosteder: { perioder: {}, perioderSomSkalSlettes: {} },
+ utenlandsopphold: { perioder: {}, perioderSomSkalSlettes: {} },
+ beredskap: { perioder: {}, perioderSomSkalSlettes: {} },
+ nattevåk: { perioder: {}, perioderSomSkalSlettes: {} },
+ tilsynsordning: {
+ perioder: {
+ '2022-12-01/2023-01-31': { etablertTilsynTimerPerDag: 'PT8H' },
+ '2023-02-14/2023-03-16': { etablertTilsynTimerPerDag: 'PT8H' },
+ },
+ },
+ lovbestemtFerie: {
+ perioder: {
+ '2023-01-12/2023-01-15': {
+ skalHaFerie: false,
+ },
+ },
+ },
+ arbeidstid: {
+ arbeidstakerList: [
+ {
+ norskIdentitetsnummer: null,
+ organisasjonsnummer: '947064649',
+ arbeidstidInfo: {
+ perioder: {
+ '2022-01-01/2022-03-25': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-03-28/2022-04-01': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-04-04/2022-04-08': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-04-11/2022-04-15': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-04-18/2022-04-22': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-04-25/2022-04-29': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-05-02/2022-05-06': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-05-09/2022-05-13': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-05-16/2022-05-20': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-05-23/2022-05-27': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-05-30/2022-06-03': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-06-06/2022-06-10': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-06-13/2022-06-17': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-06-20/2022-06-24': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-06-27/2022-06-30': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-07-01/2022-07-01': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-07-04/2022-07-07': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-07-08/2022-07-08': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-07-11/2022-07-14': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-07-15/2022-07-15': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-07-18/2022-07-21': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-07-22/2022-07-22': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-07-25/2022-07-28': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-07-29/2022-07-29': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-08-01/2022-08-04': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-08-05/2022-08-05': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-08-08/2022-08-11': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-08-12/2022-08-12': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-08-15/2022-08-18': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-08-19/2022-08-19': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-08-22/2022-08-25': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-08-26/2022-08-26': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-08-29/2022-08-31': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-09-01/2022-09-01': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2022-09-02/2022-09-02': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT4H30M',
+ },
+ '2022-09-05/2022-09-05': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-09-06/2022-09-06': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT2H30M',
+ },
+ '2022-09-07/2022-09-08': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-09-09/2022-09-09': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT5H',
+ },
+ '2022-09-12/2022-09-13': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-09-14/2022-09-14': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT4H',
+ },
+ '2022-09-15/2022-09-15': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT3H30M',
+ },
+ '2022-09-16/2022-09-16': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-09-19/2022-09-22': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-09-23/2022-09-23': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-09-26/2022-09-29': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2022-09-30/2022-09-30': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT7H30M',
+ },
+ '2022-10-03/2024-12-30': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ },
+ },
+ },
+ {
+ norskIdentitetsnummer: null,
+ organisasjonsnummer: '947064640',
+ arbeidstidInfo: {
+ perioder: {
+ '2022-09-01/2022-09-30': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2022-10-03/2022-12-30': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2023-01-01/2023-01-15': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ '2023-01-16/2023-03-12': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT4H30M',
+ },
+ '2023-03-13/2023-09-31': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT1H30M',
+ },
+ },
+ },
+ },
+ ],
+ frilanserArbeidstidInfo: {
+ perioder: {
+ '2022-06-25/2022-12-31': {
+ jobberNormaltTimerPerDag: 'PT0S',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2023-01-02/2023-01-06': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2023-01-09/2023-01-13': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2023-01-16/2023-01-20': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2023-01-23/2023-01-27': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2023-01-30/2023-02-03': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2023-02-06/2023-02-10': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2023-02-13/2023-02-17': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2023-02-20/2023-02-24': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2023-02-27/2023-03-03': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2023-03-06/2023-03-10': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT3H',
+ },
+ '2023-03-13/2023-03-17': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2023-03-20/2023-03-24': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2023-03-27/2023-09-31': {
+ jobberNormaltTimerPerDag: 'PT3H',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ },
+ },
+ selvstendigNæringsdrivendeArbeidstidInfo: {},
+ },
+ uttak: { perioder: {} },
+ omsorg: { relasjonTilBarnet: null, beskrivelseAvOmsorgsrollen: null },
+ },
+ språk: 'nb',
+ journalposter: [],
+ begrunnelseForInnsending: { tekst: null },
+ },
+ },
+];
diff --git "a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/s\303\270ker-mock.ts" "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/s\303\270ker-mock.ts"
new file mode 100644
index 0000000000..2dd3e1c484
--- /dev/null
+++ "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak-flere-ansettelser/s\303\270ker-mock.ts"
@@ -0,0 +1,8 @@
+export default {
+ aktørId: '234',
+ fødselsnummer: '30086421581',
+ fødselsdato: '2001-02-01',
+ fornavn: 'NORA',
+ mellomnavn: null,
+ etternavn: 'KRONJUVEL',
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak/arbeidsgiver-mock.ts
index d1f2d8394d..767079758f 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/arbeidsgiver-ikke-i-sak/arbeidsgiver-mock.ts
@@ -2,7 +2,7 @@ export default {
organisasjoner: [
{ navn: 'Dykkert svømmeutstyr', organisasjonsnummer: '947064649', ansattFom: '2008-10-01' },
{ navn: 'Vinge flyfly', organisasjonsnummer: '947064640', ansattFom: '2008-10-01' },
- { navn: 'IKKE-I-SAK-AS 1', organisasjonsnummer: '947064642', ansattFom: '2023-02-01' },
+ { navn: 'IKKE-I-SAK-AS 1', organisasjonsnummer: '947064642', ansattFom: '2023-02-05' },
{ navn: 'IKKE-I-SAK-AS 2', organisasjonsnummer: '947064643', ansattFom: '2023-02-01' },
],
};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
index a0677bebd5..834fc633e5 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/index.ts
@@ -1,5 +1,6 @@
import { ScenarioType } from '../../../app/dev/scenarioer';
import { ArbeidsaktivitetUtenArbeidsgiver } from './arbeidsaktivitet-uten-arbeidsgiver/ArbeidsaktivitetUtenArbeidsgiver';
+import { ArbeidsgiverIkkeISakFlereAnsettelser } from './arbeidsgiver-ikke-i-sak-flere-ansettelser/ArbeidsgiverIkkeISakFlereAnsettelser';
import { ArbeidsgiverIkkeISak } from './arbeidsgiver-ikke-i-sak/ArbeidsgiverIkkeISak';
import { ArbeidsgiverOgFrilanser } from './arbeidsgiver-og-frilanser/ArbeidsgiverOgFrilanser';
import { ArbeidsgivereOgFrilanser } from './arbeidsgivere-og-frilanser/ArbeidsgivereOgFrilanser';
@@ -13,9 +14,7 @@ import { IngenSak } from './ingen-sak/IngenSak';
import { SelvstendigNæringsdrivende } from './selvstendig-næringsdrivende/SelvstendigNæringsdrivende';
import { UgyldigK9Format } from './ugyldig-k9-format/UgyldigK9Format';
-type ScenarioMap = {
- [key: string]: ScenarioData;
-};
+type ScenarioMap = Record;
export const mockData: ScenarioMap = {
['en-arbeidsgiver-en-periode']: EnArbeidsgiverEnPeriode,
@@ -27,6 +26,7 @@ export const mockData: ScenarioMap = {
['ingen-sak']: IngenSak,
['debug']: Debug,
['arbeidsgiver-ikke-i-sak']: ArbeidsgiverIkkeISak,
+ ['arbeidsgiver-ikke-i-sak-flere-ansettelser']: ArbeidsgiverIkkeISakFlereAnsettelser,
['arbeidsaktivitet-uten-arbeidsgiver']: ArbeidsaktivitetUtenArbeidsgiver,
['ugyldig-k9-format']: UgyldigK9Format,
['en-arbeidsgiver-to-ansettelser-samme-uke-med-opphold']: EnArbeidsgiverToAnsettelserSammeUkeMedOpphold,
From 34438a826e5555e249501ed70c90009e9d949a75 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Thu, 23 Jan 2025 11:57:29 +0100
Subject: [PATCH 24/31] =?UTF-8?q?Beholde=20s=C3=B8ndag=20trimArbeidsukePer?=
=?UTF-8?q?iodeTilDagerS=C3=B8ktFor=20for=20uker=20midt=20i?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/app/utils/getSakFromK9Sak.ts | 46 +++++++++----------
.../arbeidsgiver-mock.ts | 4 +-
2 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index 7dbd8156b7..1a67205da9 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -296,16 +296,17 @@ const getDagerIkkeAnsattIPeriode = (periode: DateRange, ansettelsesperioder?: Da
/**
* Mapper periode og enkeltdager med arbeid om til Arbeidsuke. Summerer tid per dag om til timer per uke
- * @param periode DateRange for uken
+ * @param uke DateRange for uken
* @param arbeidstidEnkeltdagerIUken Enkeltdager med arbeidstid
* @returns Arbeidsuke
*/
export const getArbeidsukeFromEnkeltdagerIUken = (
- periode: DateRange,
+ uke: DateRange,
arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap,
ansettelsesperioder?: DateRange[],
): Arbeidsuke => {
- const arbeidstidEnkeltdagerIUken = fjernArbeidstidEnkeltdagerUtenforPeriode(periode, arbeidstidEnkeltdager);
+ /** Forsikre seg om at ingen enkeltdager er utenfor uken */
+ const arbeidstidEnkeltdagerIUken = fjernArbeidstidEnkeltdagerUtenforPeriode(uke, arbeidstidEnkeltdager);
const dagerSøktFor = Object.keys(arbeidstidEnkeltdagerIUken);
const antallDagerMedArbeidstid = dagerSøktFor.length;
const faktisk = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].faktisk);
@@ -314,11 +315,11 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
const faktiskSummertHeleUken = numberDurationAsDuration(durationUtils.summarizeDurations(faktisk));
const arbeidsuke: Arbeidsuke = {
- isoDateRange: dateRangeToISODateRange(periode),
- periode: periode,
+ isoDateRange: dateRangeToISODateRange(uke),
+ periode: uke,
arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
dagerSøktFor: dagerSøktFor.map(ISODateToDate),
- dagerIkkeAnsatt: getDagerIkkeAnsattIPeriode(periode, ansettelsesperioder),
+ dagerIkkeAnsatt: getDagerIkkeAnsattIPeriode(uke, ansettelsesperioder),
antallDagerMedArbeidstid: dagerSøktFor.length,
faktisk: {
uke: faktiskSummertHeleUken,
@@ -332,28 +333,26 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
return arbeidsuke;
};
-const setArbeidsukeStartdatoTilFørsteDagSøktFor = (arbeidsuke: Arbeidsuke): Arbeidsuke => {
- const dagerSøktFor = getDagerFraEnkeltdagMap(arbeidsuke.arbeidstidEnkeltdager);
- const periode: DateRange = { ...arbeidsuke.periode, from: ISODateToDate(dagerSøktFor[0]) };
- return {
- ...arbeidsuke,
- periode,
- isoDateRange: dateRangeToISODateRange(periode),
- };
-};
-
-const setArbeidsukeSluttdatoTilSisteDagSøktFor = (arbeidsuke: Arbeidsuke): Arbeidsuke => {
+/** Fjerner dager det ikke er søkt for i en arbeidsuke. Men inkluderer lørdag og søndag */
+const trimArbeidsukePeriodeTilDagerSøktForEllerHelUke = (
+ arbeidsuke: Arbeidsuke,
+ erSisteUkeIPeriode: boolean,
+): Arbeidsuke => {
const dagerSøktFor = getDagerFraEnkeltdagMap(arbeidsuke.arbeidstidEnkeltdager);
const periode: DateRange = {
- ...arbeidsuke.periode,
+ from: ISODateToDate(dagerSøktFor[0]),
to: ISODateToDate(dagerSøktFor[dagerSøktFor.length - 1]),
};
+ if (!erSisteUkeIPeriode && dayjs(periode.to).isoWeekday() === 5) {
+ periode.to = dayjs(periode.to).endOf('isoWeek').toDate();
+ }
return {
...arbeidsuke,
periode,
isoDateRange: dateRangeToISODateRange(periode),
};
};
+
/**
* Grupperer arbeidsdager inn i uker
* Hver uke er hele uker, inklusiv helg, med unntak av første og siste uke som
@@ -398,11 +397,12 @@ const getArbeidsukerFromEnkeltdager = (
});
/** Juster start og sluttdato til første og siste dag søkt for (dag med arbeidstid) */
- if (arbeidsuker.length > 0) {
- arbeidsuker[0] = setArbeidsukeStartdatoTilFørsteDagSøktFor(arbeidsuker[0]);
- arbeidsuker[arbeidsuker.length - 1] = setArbeidsukeSluttdatoTilSisteDagSøktFor(
- arbeidsuker[arbeidsuker.length - 1],
- );
+ const antallUker = arbeidsuker.length;
+ if (antallUker > 0) {
+ arbeidsuker.forEach((arbeidsuke, index) => {
+ const erSisteUke = index === antallUker - 1;
+ arbeidsuker[index] = trimArbeidsukePeriodeTilDagerSøktForEllerHelUke(arbeidsuke, erSisteUke);
+ });
}
return arbeidsuker;
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/arbeidsgiver-mock.ts
index 0406ca9316..049ad63a0c 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/en-arbeidsgiver-to-ansettelser-samme-uke-uten-opphold/arbeidsgiver-mock.ts
@@ -4,12 +4,12 @@ export default {
organisasjonsnummer: '947064649',
navn: 'Norsk bedrift AS',
ansattFom: '2003-01-16',
- ansattTom: '2022-01-11',
+ ansattTom: '2022-12-05',
},
{
organisasjonsnummer: '947064649',
navn: 'Norsk bedrift AS',
- ansattFom: '2022-01-12',
+ ansattFom: '2023-01-01',
ansattTom: null,
},
],
From c82f499a3e4270de4443b673e67f0fcb0a31e8d8 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Thu, 23 Jan 2025 14:53:47 +0100
Subject: [PATCH 25/31] Fjerne tomme uker for ukjent arbeidsforhold
---
.../tests/utfylling/ny-arbeidsgiver.spec.ts | 3 ++-
.../src/app/utils/ukjentArbeidsforholdUtils.ts | 12 +++++++-----
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/e2e/playwright/tests/utfylling/ny-arbeidsgiver.spec.ts b/apps/endringsmelding-pleiepenger/e2e/playwright/tests/utfylling/ny-arbeidsgiver.spec.ts
index 616dbe610f..2f677d5fcd 100644
--- a/apps/endringsmelding-pleiepenger/e2e/playwright/tests/utfylling/ny-arbeidsgiver.spec.ts
+++ b/apps/endringsmelding-pleiepenger/e2e/playwright/tests/utfylling/ny-arbeidsgiver.spec.ts
@@ -40,7 +40,8 @@ test('test', async ({ page }) => {
await page.getByTestId('timer-verdi').click();
await page.getByTestId('timer-verdi').fill('5');
await page.getByRole('button', { name: 'Ok' }).click();
- await page.getByLabel('Endre uke 5 (01.02.2023 - 05.').click();
+ await page.getByLabel('Endre uke 6 (06.02').first().click();
+ await page.getByTestId('toggle-timer').click();
await page.getByTestId('timer-verdi').click();
await page.getByTestId('timer-verdi').fill('5');
await page.getByRole('button', { name: 'Ok' }).click();
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
index cc839b1414..278559dc87 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
@@ -67,11 +67,13 @@ export const getPerioderMedArbeidstidForUkjentArbeidsforhold = (
getDatesInDateRange(uke, true).forEach((date) => {
enkeldagerMap[dateToISODate(date)] = arbeidstidPerDag;
});
- arbeidsuker[dateRangeToISODateRange(uke)] = getArbeidsukeFromEnkeltdagerIUken(
- uke,
- enkeldagerMap,
- [getTillattEndringsperiode(getEndringsdato())], // TODO - fikses når andre todos i denne er tatt
- );
+ if (Object.keys(enkeldagerMap).length > 0) {
+ arbeidsuker[dateRangeToISODateRange(uke)] = getArbeidsukeFromEnkeltdagerIUken(
+ uke,
+ enkeldagerMap,
+ [getTillattEndringsperiode(getEndringsdato())], // TODO - fikses når andre todos i denne er tatt
+ );
+ }
});
perioderMedArbeidstid.push({
arbeidsuker,
From e7ef8a49955ab0f60a89f403668ae8ac9aeeef6e Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Thu, 23 Jan 2025 21:30:38 +0100
Subject: [PATCH 26/31] =?UTF-8?q?Sette=20p=C3=A5=20param=20for=20=C3=A5=20?=
=?UTF-8?q?hente=20alle=20ansettelser?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/app/api/endpoints/arbeidsgivereEndpoint.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
index b1364cbf9c..2b3cb39dbb 100644
--- a/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/api/endpoints/arbeidsgivereEndpoint.ts
@@ -21,7 +21,7 @@ export const arbeidsgivereEndpoint = {
const { from, to } = periode;
const { data } = await api.psb.get(
ApiEndpointPsb.arbeidsgiver,
- `ytelse=endringsmelding-pleiepenger&fra_og_med=${dateToISODate(from)}&til_og_med=${dateToISODate(to)}&inkluder_ansettelsesperioder=true`,
+ `ytelse=endringsmelding-pleiepenger&fra_og_med=${dateToISODate(from)}&til_og_med=${dateToISODate(to)}&inkluderAlleAnsettelsesperioder=true`,
);
return Promise.resolve(getArbeidsgivereFromArbeidsgiverOrganisasjoner(data.organisasjoner || []));
} catch (error) {
From 70dbdcfac19a8c37e691b4fa6d9c753e83bdd616 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 24 Jan 2025 09:04:14 +0100
Subject: [PATCH 27/31] debug-scenario
---
.../data/scenario/debug/arbeidsgiver-mock.ts | 9 +-
.../src/mocks/data/scenario/debug/sak-mock.ts | 46 +++++---
.../data/scenario/debug/s\303\270ker-mock.ts" | 11 +-
.../IkkeAnsattMandagMidt.ts | 10 ++
.../arbeidsgiver-mock.ts | 9 ++
.../ikke-ansatt-mandag-midt-i/sak-mock.ts | 104 ++++++++++++++++++
.../s\303\270ker-mock.ts" | 8 ++
7 files changed, 172 insertions(+), 25 deletions(-)
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/IkkeAnsattMandagMidt.ts
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/arbeidsgiver-mock.ts
create mode 100644 apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/sak-mock.ts
create mode 100644 "apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/s\303\270ker-mock.ts"
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/arbeidsgiver-mock.ts
index a5c1abb86b..fa57994070 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/arbeidsgiver-mock.ts
@@ -1,5 +1,8 @@
export default {
- organisasjoner: [],
- privateArbeidsgivere: null,
- frilansoppdrag: null,
+ frilansoppdrag: [],
+ organisasjoner: [
+ { ansattFom: '2005-01-09', ansattTom: '2024-11-30', navn: 'SAUEFABRIKK', organisasjonsnummer: '896929119' },
+ { ansattFom: '2024-12-03', ansattTom: null, navn: 'SAUEFABRIKK', organisasjonsnummer: '896929119' },
+ ],
+ privateArbeidsgivere: [],
};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/sak-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/sak-mock.ts
index b341db01ac..23b0466153 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/sak-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/sak-mock.ts
@@ -1,28 +1,28 @@
export default [
{
barn: {
- fødselsdato: '2008-07-27',
- fornavn: 'RAVGUL',
+ fødselsdato: '2023-01-24',
+ fornavn: 'GEOMETRISK',
mellomnavn: null,
- etternavn: 'LØVETANN',
- aktørId: '2175638020356',
- identitetsnummer: '27870899799',
+ etternavn: 'RIST',
+ aktørId: '2487158514882',
+ identitetsnummer: '24412358038',
},
søknad: {
søknadId: 'generert',
versjon: '1.0.0',
- mottattDato: '2024-12-10T08:47:11.929Z',
+ mottattDato: '2025-01-24T07:51:23.794Z',
søker: {
norskIdentitetsnummer: '00000000000',
},
- språk: null,
+ språk: 'nb',
ytelse: {
type: 'PLEIEPENGER_SYKT_BARN',
barn: {
norskIdentitetsnummer: '00000000000',
fødselsdato: null,
},
- søknadsperiode: ['2024-12-03/2024-12-05'],
+ søknadsperiode: ['2024-11-01/2025-02-28'],
endringsperiode: [],
trekkKravPerioder: [],
opptjeningAktivitet: {},
@@ -47,23 +47,37 @@ export default [
},
tilsynsordning: {
perioder: {
- '2024-12-03/2024-12-05': {
+ '2024-11-01/2025-02-28': {
etablertTilsynTimerPerDag: 'PT0S',
},
},
},
lovbestemtFerie: {
- perioder: {
- '2024-12-04/2024-12-05': {
- skalHaFerie: false,
- },
- },
+ perioder: {},
},
arbeidstid: {
- arbeidstakerList: [],
+ arbeidstakerList: [
+ {
+ norskIdentitetsnummer: null,
+ organisasjonsnummer: '896929119',
+ organisasjonsnavn: null,
+ arbeidstidInfo: {
+ perioder: {
+ '2024-11-01/2024-11-30': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2024-12-01/2025-02-28': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ },
+ },
+ },
+ ],
frilanserArbeidstidInfo: {
perioder: {
- '2024-12-03/2024-12-05': {
+ '2024-11-01/2025-02-28': {
jobberNormaltTimerPerDag: 'PT0S',
faktiskArbeidTimerPerDag: 'PT0S',
},
diff --git "a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/s\303\270ker-mock.ts" "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/s\303\270ker-mock.ts"
index b80d44748e..0921da2df9 100644
--- "a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/s\303\270ker-mock.ts"
+++ "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/s\303\270ker-mock.ts"
@@ -1,9 +1,8 @@
export default {
- aktørId: '2486083225079',
- fødselsdato: '1987-10-09',
- fødselsnummer: '09908799647',
- fornavn: 'NORA',
+ aktørId: '2912771641580',
+ etternavn: 'FJORD',
+ fornavn: 'TØFF',
+ fødselsdato: '1983-05-26',
+ fødselsnummer: '26458341337',
mellomnavn: null,
- etternavn: 'Etternavn',
- myndig: true,
};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/IkkeAnsattMandagMidt.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/IkkeAnsattMandagMidt.ts
new file mode 100644
index 0000000000..01172f41fa
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/IkkeAnsattMandagMidt.ts
@@ -0,0 +1,10 @@
+import { ScenarioData } from '../../';
+import arbeidsgiver from './arbeidsgiver-mock';
+import sak from './sak-mock';
+import søker from './søker-mock';
+
+export const IkkeAnsattMandagMidtI: ScenarioData = {
+ sak,
+ arbeidsgiver,
+ søker,
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/arbeidsgiver-mock.ts
new file mode 100644
index 0000000000..ec99dc2658
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/arbeidsgiver-mock.ts
@@ -0,0 +1,9 @@
+/** Første periode viser tom søndag 3.11, selv om en slutter før 1.11 */
+export default {
+ frilansoppdrag: [],
+ organisasjoner: [
+ { ansattFom: '2005-01-09', ansattTom: '2024-11-01', navn: 'SAUEFABRIKK', organisasjonsnummer: '896929119' },
+ { ansattFom: '2024-12-05', ansattTom: null, navn: 'SAUEFABRIKK', organisasjonsnummer: '896929119' },
+ ],
+ privateArbeidsgivere: [],
+};
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/sak-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/sak-mock.ts
new file mode 100644
index 0000000000..23b0466153
--- /dev/null
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/sak-mock.ts
@@ -0,0 +1,104 @@
+export default [
+ {
+ barn: {
+ fødselsdato: '2023-01-24',
+ fornavn: 'GEOMETRISK',
+ mellomnavn: null,
+ etternavn: 'RIST',
+ aktørId: '2487158514882',
+ identitetsnummer: '24412358038',
+ },
+ søknad: {
+ søknadId: 'generert',
+ versjon: '1.0.0',
+ mottattDato: '2025-01-24T07:51:23.794Z',
+ søker: {
+ norskIdentitetsnummer: '00000000000',
+ },
+ språk: 'nb',
+ ytelse: {
+ type: 'PLEIEPENGER_SYKT_BARN',
+ barn: {
+ norskIdentitetsnummer: '00000000000',
+ fødselsdato: null,
+ },
+ søknadsperiode: ['2024-11-01/2025-02-28'],
+ endringsperiode: [],
+ trekkKravPerioder: [],
+ opptjeningAktivitet: {},
+ dataBruktTilUtledning: null,
+ annetDataBruktTilUtledning: null,
+ infoFraPunsj: null,
+ bosteder: {
+ perioder: {},
+ perioderSomSkalSlettes: {},
+ },
+ utenlandsopphold: {
+ perioder: {},
+ perioderSomSkalSlettes: {},
+ },
+ beredskap: {
+ perioder: {},
+ perioderSomSkalSlettes: {},
+ },
+ nattevåk: {
+ perioder: {},
+ perioderSomSkalSlettes: {},
+ },
+ tilsynsordning: {
+ perioder: {
+ '2024-11-01/2025-02-28': {
+ etablertTilsynTimerPerDag: 'PT0S',
+ },
+ },
+ },
+ lovbestemtFerie: {
+ perioder: {},
+ },
+ arbeidstid: {
+ arbeidstakerList: [
+ {
+ norskIdentitetsnummer: null,
+ organisasjonsnummer: '896929119',
+ organisasjonsnavn: null,
+ arbeidstidInfo: {
+ perioder: {
+ '2024-11-01/2024-11-30': {
+ jobberNormaltTimerPerDag: 'PT7H30M',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ '2024-12-01/2025-02-28': {
+ jobberNormaltTimerPerDag: 'PT8H',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ },
+ },
+ },
+ ],
+ frilanserArbeidstidInfo: {
+ perioder: {
+ '2024-11-01/2025-02-28': {
+ jobberNormaltTimerPerDag: 'PT0S',
+ faktiskArbeidTimerPerDag: 'PT0S',
+ },
+ },
+ },
+ selvstendigNæringsdrivendeArbeidstidInfo: null,
+ },
+ uttak: {
+ perioder: {},
+ },
+ omsorg: {
+ relasjonTilBarnet: null,
+ beskrivelseAvOmsorgsrollen: null,
+ },
+ erSammenMedBarnet: null,
+ },
+ journalposter: [],
+ begrunnelseForInnsending: {
+ tekst: null,
+ },
+ kildesystem: null,
+ },
+ },
+];
diff --git "a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/s\303\270ker-mock.ts" "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/s\303\270ker-mock.ts"
new file mode 100644
index 0000000000..0921da2df9
--- /dev/null
+++ "b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/opphold/ikke-ansatt-mandag-midt-i/s\303\270ker-mock.ts"
@@ -0,0 +1,8 @@
+export default {
+ aktørId: '2912771641580',
+ etternavn: 'FJORD',
+ fornavn: 'TØFF',
+ fødselsdato: '1983-05-26',
+ fødselsnummer: '26458341337',
+ mellomnavn: null,
+};
From 5e2cf8e427457ea08ce80f01749ac14b89ae7d23 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 24 Jan 2025 09:56:35 +0100
Subject: [PATCH 28/31] Bugfix - korte ned uker til dager en er ansatt
---
.../utils/__tests__/getSakFromK9Sak.test.ts | 18 +++++---
.../src/app/utils/getSakFromK9Sak.ts | 45 ++++++++++++++-----
.../data/scenario/debug/arbeidsgiver-mock.ts | 4 +-
3 files changed, 48 insertions(+), 19 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
index 8f412940a9..792a45e0b1 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
@@ -193,6 +193,9 @@ describe('getSakFromK9Sak', () => {
});
describe('getArbeidsukerFromEnkeltdager', () => {
+ const ansettelsesperioder: DateRange[] = [
+ { from: ISODateToDate('2022-01-01'), to: ISODateToDate('2023-01-31') },
+ ];
const arbeidstid: FaktiskOgNormalArbeidstid = {
faktisk: faktiskArbeidTimerPerDag,
normalt: jobberNormaltTimerPerDag,
@@ -218,21 +221,21 @@ describe('getSakFromK9Sak', () => {
};
it('returnerer riktig for én enkeltdag', () => {
- const result = getArbeidsukerFromEnkeltdager(enkeltdag);
+ const result = getArbeidsukerFromEnkeltdager(enkeltdag, ansettelsesperioder);
expect(result.length).toEqual(1);
const uke = result[0];
expect(dateRangeToISODateRange(uke.periode)).toEqual('2022-01-03/2022-01-03');
expect(uke.antallDagerMedArbeidstid).toEqual(1);
});
it('returnerer riktig for dager som går over én hel uke', () => {
- const result = getArbeidsukerFromEnkeltdager(helUke);
+ const result = getArbeidsukerFromEnkeltdager(helUke, ansettelsesperioder);
expect(result.length).toEqual(1);
const uke = result[0];
expect(dateRangeToISODateRange(uke.periode)).toEqual('2022-01-03/2022-01-07');
expect(uke.antallDagerMedArbeidstid).toEqual(5);
});
it('returnerer riktig for dager som går mer enn én uker', () => {
- const result = getArbeidsukerFromEnkeltdager(flereUker);
+ const result = getArbeidsukerFromEnkeltdager(flereUker, ansettelsesperioder);
expect(result.length).toEqual(2);
const uke1 = result[0];
const uke2 = result[1];
@@ -244,6 +247,9 @@ describe('getSakFromK9Sak', () => {
});
describe('getArbeidsukeFromEnkeltdagerIUken', () => {
+ const ansettelsesperioder: DateRange[] = [
+ { from: ISODateToDate('2022-01-01'), to: ISODateToDate('2023-01-31') },
+ ];
const periodeEnDag: DateRange = ISODateRangeToDateRange('2022-01-03/2022-01-03');
const periodeHelUke: DateRange = ISODateRangeToDateRange('2022-01-03/2022-01-07');
@@ -263,7 +269,7 @@ describe('getSakFromK9Sak', () => {
};
it('returnerer riktig for én enkeltdag', () => {
- const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, enkeltdag);
+ const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, enkeltdag, ansettelsesperioder);
expect(uke.antallDagerMedArbeidstid).toEqual(1);
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual(durationToISODuration(arbeidstid.faktisk));
@@ -272,7 +278,7 @@ describe('getSakFromK9Sak', () => {
});
it('fjerner dager som ikke er innenfor uken', () => {
- const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, helUke);
+ const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, helUke, ansettelsesperioder);
expect(uke.antallDagerMedArbeidstid).toEqual(1);
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual(durationToISODuration(arbeidstid.faktisk));
@@ -281,7 +287,7 @@ describe('getSakFromK9Sak', () => {
});
it('returnerer riktig for én uke', () => {
- const uke = getArbeidsukeFromEnkeltdagerIUken(periodeHelUke, helUke);
+ const uke = getArbeidsukeFromEnkeltdagerIUken(periodeHelUke, helUke, ansettelsesperioder);
expect(uke.antallDagerMedArbeidstid).toEqual(5);
expect(uke.isoDateRange).toEqual(dateRangeToISODateRange(periodeHelUke));
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index 1a67205da9..aa930f5ace 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -296,17 +296,17 @@ const getDagerIkkeAnsattIPeriode = (periode: DateRange, ansettelsesperioder?: Da
/**
* Mapper periode og enkeltdager med arbeid om til Arbeidsuke. Summerer tid per dag om til timer per uke
- * @param uke DateRange for uken
+ * @param ansattUke DateRange for uken, justert ned til perioden en er ansatt
* @param arbeidstidEnkeltdagerIUken Enkeltdager med arbeidstid
* @returns Arbeidsuke
*/
export const getArbeidsukeFromEnkeltdagerIUken = (
- uke: DateRange,
+ ansattUke: DateRange,
arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap,
- ansettelsesperioder?: DateRange[],
+ ansettelsesperioder: DateRange[],
): Arbeidsuke => {
/** Forsikre seg om at ingen enkeltdager er utenfor uken */
- const arbeidstidEnkeltdagerIUken = fjernArbeidstidEnkeltdagerUtenforPeriode(uke, arbeidstidEnkeltdager);
+ const arbeidstidEnkeltdagerIUken = fjernArbeidstidEnkeltdagerUtenforPeriode(ansattUke, arbeidstidEnkeltdager);
const dagerSøktFor = Object.keys(arbeidstidEnkeltdagerIUken);
const antallDagerMedArbeidstid = dagerSøktFor.length;
const faktisk = dagerSøktFor.map((key) => arbeidstidEnkeltdagerIUken[key].faktisk);
@@ -315,11 +315,11 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
const faktiskSummertHeleUken = numberDurationAsDuration(durationUtils.summarizeDurations(faktisk));
const arbeidsuke: Arbeidsuke = {
- isoDateRange: dateRangeToISODateRange(uke),
- periode: uke,
+ isoDateRange: dateRangeToISODateRange(ansattUke),
+ periode: ansattUke,
arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
dagerSøktFor: dagerSøktFor.map(ISODateToDate),
- dagerIkkeAnsatt: getDagerIkkeAnsattIPeriode(uke, ansettelsesperioder),
+ dagerIkkeAnsatt: getDagerIkkeAnsattIPeriode(ansattUke, ansettelsesperioder),
antallDagerMedArbeidstid: dagerSøktFor.length,
faktisk: {
uke: faktiskSummertHeleUken,
@@ -337,6 +337,7 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
const trimArbeidsukePeriodeTilDagerSøktForEllerHelUke = (
arbeidsuke: Arbeidsuke,
erSisteUkeIPeriode: boolean,
+ ansettelsesperioder: DateRange[],
): Arbeidsuke => {
const dagerSøktFor = getDagerFraEnkeltdagMap(arbeidsuke.arbeidstidEnkeltdager);
const periode: DateRange = {
@@ -344,7 +345,15 @@ const trimArbeidsukePeriodeTilDagerSøktForEllerHelUke = (
to: ISODateToDate(dagerSøktFor[dagerSøktFor.length - 1]),
};
if (!erSisteUkeIPeriode && dayjs(periode.to).isoWeekday() === 5) {
- periode.to = dayjs(periode.to).endOf('isoWeek').toDate();
+ const søndag = dayjs(periode.to).add(2, 'day').toDate();
+ const lørdag = dayjs(periode.to).add(1, 'day').toDate();
+ if (isDateInDateRanges(søndag, ansettelsesperioder)) {
+ // Kontroller om en er ansatt søndag
+ periode.to = søndag;
+ } else if (isDateInDateRanges(lørdag, ansettelsesperioder)) {
+ // Kontroller om en er ansatt lørdag
+ periode.to = lørdag;
+ }
}
return {
...arbeidsuke,
@@ -363,7 +372,7 @@ const trimArbeidsukePeriodeTilDagerSøktForEllerHelUke = (
*/
const getArbeidsukerFromEnkeltdager = (
enkeltdager: ArbeidstidEnkeltdagMap,
- ansettelsesperioder?: DateRange[],
+ ansettelsesperioder: DateRange[],
): Arbeidsuke[] => {
const ukerMap: {
[key: string]: {
@@ -377,7 +386,17 @@ const getArbeidsukerFromEnkeltdager = (
const { faktisk, normalt } = enkeltdager[isoDate];
/** Midlertidig nøkkel som tar hele uken */
- const isoDateRange = dateRangeToISODateRange(getIsoWeekDateRangeForDate(date));
+ const uke = getIsoWeekDateRangeForDate(date);
+ /** Litt tungvindt måte å fjerne dager på, men virker frem til hele løsningen tar bedre høyde for ansettelsesperioder */
+ const dagerAnsattIUken = getDatesInDateRange(uke).filter((d) => isDateInDateRanges(d, ansettelsesperioder));
+ if (dagerAnsattIUken.length === 0) {
+ throw new Error('Dag utenfor ansettelsesperiode');
+ }
+ const ansattUke: DateRange = {
+ from: dagerAnsattIUken[0],
+ to: dagerAnsattIUken[dagerAnsattIUken.length - 1],
+ };
+ const isoDateRange = dateRangeToISODateRange(ansattUke);
if (ukerMap[isoDateRange] === undefined) {
ukerMap[isoDateRange] = {
dagerMap: {},
@@ -401,7 +420,11 @@ const getArbeidsukerFromEnkeltdager = (
if (antallUker > 0) {
arbeidsuker.forEach((arbeidsuke, index) => {
const erSisteUke = index === antallUker - 1;
- arbeidsuker[index] = trimArbeidsukePeriodeTilDagerSøktForEllerHelUke(arbeidsuke, erSisteUke);
+ arbeidsuker[index] = trimArbeidsukePeriodeTilDagerSøktForEllerHelUke(
+ arbeidsuke,
+ erSisteUke,
+ ansettelsesperioder,
+ );
});
}
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/arbeidsgiver-mock.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/arbeidsgiver-mock.ts
index fa57994070..f1f6838bf5 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/arbeidsgiver-mock.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/scenario/debug/arbeidsgiver-mock.ts
@@ -1,8 +1,8 @@
export default {
frilansoppdrag: [],
organisasjoner: [
- { ansattFom: '2005-01-09', ansattTom: '2024-11-30', navn: 'SAUEFABRIKK', organisasjonsnummer: '896929119' },
- { ansattFom: '2024-12-03', ansattTom: null, navn: 'SAUEFABRIKK', organisasjonsnummer: '896929119' },
+ { ansattFom: '2005-01-09', ansattTom: '2024-11-01', navn: 'SAUEFABRIKK', organisasjonsnummer: '896929119' },
+ { ansattFom: '2024-12-12', ansattTom: null, navn: 'SAUEFABRIKK', organisasjonsnummer: '896929119' },
],
privateArbeidsgivere: [],
};
From 8b8fe8ee05a8dd6adbfd3e112aade0d89b7893ca Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 24 Jan 2025 10:09:11 +0100
Subject: [PATCH 29/31] Fjerne ubrukt dagerIkkeAnsatt
---
.../src/app/types/Sak.ts | 1 -
.../utils/__tests__/getSakFromK9Sak.test.ts | 9 +++----
.../src/app/utils/getSakFromK9Sak.ts | 5 ++--
.../app/utils/ukjentArbeidsforholdUtils.ts | 7 +-----
.../src/mocks/data/app/arbeidsukerMockData.ts | 1 -
.../src/storybook/data/sakMock.ts | 24 -------------------
6 files changed, 6 insertions(+), 41 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
index bc6beb1a64..a46f6d7073 100644
--- a/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/types/Sak.ts
@@ -63,7 +63,6 @@ export interface Arbeidsuke {
normalt: ArbeidsukeTimer;
antallDagerMedArbeidstid: number;
dagerSøktFor: Date[];
- dagerIkkeAnsatt: Date[];
}
export type ArbeidsukeMap = ISODateRangeMap;
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
index 792a45e0b1..c1b771f634 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/__tests__/getSakFromK9Sak.test.ts
@@ -247,9 +247,6 @@ describe('getSakFromK9Sak', () => {
});
describe('getArbeidsukeFromEnkeltdagerIUken', () => {
- const ansettelsesperioder: DateRange[] = [
- { from: ISODateToDate('2022-01-01'), to: ISODateToDate('2023-01-31') },
- ];
const periodeEnDag: DateRange = ISODateRangeToDateRange('2022-01-03/2022-01-03');
const periodeHelUke: DateRange = ISODateRangeToDateRange('2022-01-03/2022-01-07');
@@ -269,7 +266,7 @@ describe('getSakFromK9Sak', () => {
};
it('returnerer riktig for én enkeltdag', () => {
- const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, enkeltdag, ansettelsesperioder);
+ const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, enkeltdag);
expect(uke.antallDagerMedArbeidstid).toEqual(1);
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual(durationToISODuration(arbeidstid.faktisk));
@@ -278,7 +275,7 @@ describe('getSakFromK9Sak', () => {
});
it('fjerner dager som ikke er innenfor uken', () => {
- const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, helUke, ansettelsesperioder);
+ const uke = getArbeidsukeFromEnkeltdagerIUken(periodeEnDag, helUke);
expect(uke.antallDagerMedArbeidstid).toEqual(1);
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
expect(durationToISODuration(uke.faktisk!.uke)).toEqual(durationToISODuration(arbeidstid.faktisk));
@@ -287,7 +284,7 @@ describe('getSakFromK9Sak', () => {
});
it('returnerer riktig for én uke', () => {
- const uke = getArbeidsukeFromEnkeltdagerIUken(periodeHelUke, helUke, ansettelsesperioder);
+ const uke = getArbeidsukeFromEnkeltdagerIUken(periodeHelUke, helUke);
expect(uke.antallDagerMedArbeidstid).toEqual(5);
expect(uke.isoDateRange).toEqual(dateRangeToISODateRange(periodeHelUke));
expect(durationToISODuration(uke.faktisk!.dag)).toEqual(durationToISODuration(arbeidstid.faktisk));
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
index aa930f5ace..7ea66bbf6e 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/getSakFromK9Sak.ts
@@ -303,7 +303,6 @@ const getDagerIkkeAnsattIPeriode = (periode: DateRange, ansettelsesperioder?: Da
export const getArbeidsukeFromEnkeltdagerIUken = (
ansattUke: DateRange,
arbeidstidEnkeltdager: ArbeidstidEnkeltdagMap,
- ansettelsesperioder: DateRange[],
): Arbeidsuke => {
/** Forsikre seg om at ingen enkeltdager er utenfor uken */
const arbeidstidEnkeltdagerIUken = fjernArbeidstidEnkeltdagerUtenforPeriode(ansattUke, arbeidstidEnkeltdager);
@@ -319,7 +318,6 @@ export const getArbeidsukeFromEnkeltdagerIUken = (
periode: ansattUke,
arbeidstidEnkeltdager: arbeidstidEnkeltdagerIUken,
dagerSøktFor: dagerSøktFor.map(ISODateToDate),
- dagerIkkeAnsatt: getDagerIkkeAnsattIPeriode(ansattUke, ansettelsesperioder),
antallDagerMedArbeidstid: dagerSøktFor.length,
faktisk: {
uke: faktiskSummertHeleUken,
@@ -412,7 +410,7 @@ const getArbeidsukerFromEnkeltdager = (
const arbeidsuker = Object.keys(ukerMap).map((isoDateRange) => {
const uke = ISODateRangeToDateRange(isoDateRange);
const dager = ukerMap[isoDateRange].dagerMap;
- return getArbeidsukeFromEnkeltdagerIUken(uke, dager, ansettelsesperioder);
+ return getArbeidsukeFromEnkeltdagerIUken(uke, dager);
});
/** Juster start og sluttdato til første og siste dag søkt for (dag med arbeidstid) */
@@ -711,6 +709,7 @@ export const _getSakFromK9Sak = {
getArbeidsukeFromEnkeltdagerIUken,
grupperArbeidstidPerioder,
trimArbeidstidTilTillattEndringsperiode,
+ getDagerIkkeAnsattIPeriode,
};
const getArbeidsdagerInneforEndringsperiodeOgAnsettelsesperioder = (
diff --git a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
index 278559dc87..c34c7c5399 100644
--- a/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/utils/ukjentArbeidsforholdUtils.ts
@@ -25,7 +25,6 @@ import { ArbeidsaktivitetFormValuesMap } from '../søknad/steps/arbeidstid/Arbei
// import { getArbeidsukeFromEnkeltdagerIUken } from './arbeidsukeUtils';
import { beregnSnittTimerPerDag } from './beregnUtils';
import { getArbeidsukeFromEnkeltdagerIUken } from './getSakFromK9Sak';
-import { getEndringsdato, getTillattEndringsperiode } from './endringsperiode';
export const getSøknadsperioderForUkjentArbeidsforhold = (
søknadsperioder: DateRange[],
@@ -68,11 +67,7 @@ export const getPerioderMedArbeidstidForUkjentArbeidsforhold = (
enkeldagerMap[dateToISODate(date)] = arbeidstidPerDag;
});
if (Object.keys(enkeldagerMap).length > 0) {
- arbeidsuker[dateRangeToISODateRange(uke)] = getArbeidsukeFromEnkeltdagerIUken(
- uke,
- enkeldagerMap,
- [getTillattEndringsperiode(getEndringsdato())], // TODO - fikses når andre todos i denne er tatt
- );
+ arbeidsuker[dateRangeToISODateRange(uke)] = getArbeidsukeFromEnkeltdagerIUken(uke, enkeldagerMap);
}
});
perioderMedArbeidstid.push({
diff --git a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
index 7bd992fdfe..2891baf704 100644
--- a/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
+++ b/apps/endringsmelding-pleiepenger/src/mocks/data/app/arbeidsukerMockData.ts
@@ -34,7 +34,6 @@ const getMockArbeidsuke = (
isoDateRange,
periode,
arbeidstidEnkeltdager,
- dagerIkkeAnsatt: [],
dagerSøktFor: dagerSøktFor.map(ISODateToDate),
normalt: {
uke: decimalDurationToDuration(durationToDecimalDuration(normaltPerDag) * antallDagerMedArbeidstid),
diff --git a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
index c90f3d7db8..f781c87b5f 100644
--- a/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
+++ b/apps/endringsmelding-pleiepenger/src/storybook/data/sakMock.ts
@@ -68,7 +68,6 @@ export const sakMock: Sak = {
from: new Date('2024-02-26T00:00:00.000Z'),
to: new Date('2024-02-29T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-02-26': {
@@ -146,7 +145,6 @@ export const sakMock: Sak = {
from: new Date('2024-03-25T00:00:00.000Z'),
to: new Date('2024-03-31T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-03-25': {
@@ -228,7 +226,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-01T00:00:00.000Z'),
to: new Date('2024-04-07T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-01': {
@@ -310,7 +307,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-14T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
@@ -392,7 +388,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-15T00:00:00.000Z'),
to: new Date('2024-04-21T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-15': {
@@ -474,7 +469,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-22T00:00:00.000Z'),
to: new Date('2024-04-28T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-22': {
@@ -556,7 +550,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-29T00:00:00.000Z'),
to: new Date('2024-05-05T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-29': {
@@ -638,7 +631,6 @@ export const sakMock: Sak = {
from: new Date('2024-05-06T00:00:00.000Z'),
to: new Date('2024-05-12T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-06': {
@@ -720,7 +712,6 @@ export const sakMock: Sak = {
from: new Date('2024-05-13T00:00:00.000Z'),
to: new Date('2024-05-19T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-13': {
@@ -802,7 +793,6 @@ export const sakMock: Sak = {
from: new Date('2024-05-20T00:00:00.000Z'),
to: new Date('2024-05-26T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-20': {
@@ -884,7 +874,6 @@ export const sakMock: Sak = {
from: new Date('2024-05-27T00:00:00.000Z'),
to: new Date('2024-05-31T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-27': {
@@ -985,7 +974,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-09T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
@@ -1079,7 +1067,6 @@ export const sakMock: Sak = {
from: new Date('2024-02-26T00:00:00.000Z'),
to: new Date('2024-02-29T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-02-26': {
@@ -1157,7 +1144,6 @@ export const sakMock: Sak = {
from: new Date('2024-03-25T00:00:00.000Z'),
to: new Date('2024-03-31T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-03-25': {
@@ -1239,7 +1225,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-01T00:00:00.000Z'),
to: new Date('2024-04-07T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-01': {
@@ -1321,7 +1306,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-14T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
@@ -1403,7 +1387,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-15T00:00:00.000Z'),
to: new Date('2024-04-21T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-15': {
@@ -1485,7 +1468,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-22T00:00:00.000Z'),
to: new Date('2024-04-28T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-22': {
@@ -1567,7 +1549,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-29T00:00:00.000Z'),
to: new Date('2024-05-05T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-29': {
@@ -1649,7 +1630,6 @@ export const sakMock: Sak = {
from: new Date('2024-05-06T00:00:00.000Z'),
to: new Date('2024-05-12T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-06': {
@@ -1731,7 +1711,6 @@ export const sakMock: Sak = {
from: new Date('2024-05-13T00:00:00.000Z'),
to: new Date('2024-05-19T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-13': {
@@ -1813,7 +1792,6 @@ export const sakMock: Sak = {
from: new Date('2024-05-20T00:00:00.000Z'),
to: new Date('2024-05-26T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-20': {
@@ -1895,7 +1873,6 @@ export const sakMock: Sak = {
from: new Date('2024-05-27T00:00:00.000Z'),
to: new Date('2024-05-31T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-05-27': {
@@ -1995,7 +1972,6 @@ export const sakMock: Sak = {
from: new Date('2024-04-08T00:00:00.000Z'),
to: new Date('2024-04-09T00:00:00.000Z'),
},
- dagerIkkeAnsatt: [],
dagerSøktFor: [],
arbeidstidEnkeltdager: {
'2024-04-08': {
From 6b80f894bddd6cba8e44d4f821a370c8753038c2 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 24 Jan 2025 10:21:45 +0100
Subject: [PATCH 30/31] Korrigere ansettelseperioder tekst
---
.../AnsettelsesperioderInfo.tsx | 44 ++++++++++++-------
.../src/app/i18n/appMessages.ts | 3 +-
2 files changed, 30 insertions(+), 17 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/AnsettelsesperioderInfo.tsx b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/AnsettelsesperioderInfo.tsx
index af4a01df44..2b93bb2288 100644
--- a/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/AnsettelsesperioderInfo.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/components/arbeidsaktivitet-block/AnsettelsesperioderInfo.tsx
@@ -8,22 +8,34 @@ interface Props {
}
const Ansettelsesperiode = ({ periode }: { periode: MaybeDateRange }) => {
- return (
- <>
- {periode.from && (
-
- )}
- {periode.to && (
-
- )}
- >
- );
+ if (periode.from === undefined && periode.to === undefined) {
+ return null;
+ }
+ if (periode.from && periode.to) {
+ return (
+
+ );
+ }
+ if (periode.from) {
+ return (
+
+ );
+ }
+ if (periode.to) {
+ return (
+
+ );
+ }
+ return null;
};
const AnsettelsesperioderInfo = ({ ansettelsesperioder }: Props) => {
diff --git a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
index 8117d9f302..167b03f514 100644
--- a/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
+++ b/apps/endringsmelding-pleiepenger/src/app/i18n/appMessages.ts
@@ -30,7 +30,8 @@ const nb = {
'arbeidsaktivitetBlockHeader.nyttArbeidsforhold': 'Nytt arbeidsforhold',
'arbeidsaktivitetBlockHeader.arbeidsgiver.orgnummer': 'Organisasjonsnummer: {orgnr}',
'arbeidsaktivitetBlockHeader.arbeidsgiver.ansettelsesperioder': 'Ansettelsesperioder',
- 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattFom': 'Ansatt: {dato}.',
+ 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattFomTom': 'Ansatt: {fom} - {tom}.',
+ 'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattFom': 'Ansatt: {dato} - pågående',
'arbeidsaktivitetBlockHeader.arbeidsgiver.ansattTom': ' Sluttdato: {dato}.',
'ikkeAnsattMelding.tekst':
From b28b3847669f6201a0a52e8a067201705bee5b86 Mon Sep 17 00:00:00 2001
From: frodehansen2
Date: Fri, 24 Jan 2025 13:02:59 +0100
Subject: [PATCH 31/31] =?UTF-8?q?Tooltip=20p=C3=A5=20KortUke=20tag?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/app/components/tags/KortUkeTag.tsx | 15 ++++++++++++---
.../components/ArbeidstidUkeListe.tsx | 13 +++++++++----
.../components/ArbeidstidUkeTabell.tsx | 10 ++++------
.../arbeidstid-uker/components/UkeInfoTooltip.tsx | 4 +++-
.../arbeidstid-uker/components/UkeTags.tsx | 7 ++++---
5 files changed, 32 insertions(+), 17 deletions(-)
diff --git a/apps/endringsmelding-pleiepenger/src/app/components/tags/KortUkeTag.tsx b/apps/endringsmelding-pleiepenger/src/app/components/tags/KortUkeTag.tsx
index 5da7782372..d41e34b2fc 100644
--- a/apps/endringsmelding-pleiepenger/src/app/components/tags/KortUkeTag.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/components/tags/KortUkeTag.tsx
@@ -1,18 +1,27 @@
-import { Tag, TagProps } from '@navikt/ds-react';
+import { Tag, TagProps, Tooltip } from '@navikt/ds-react';
import React from 'react';
import { useAppIntl } from '../../i18n';
interface Props extends Omit {
children?: React.ReactNode;
+ tooltip?: string;
}
-const KortUkeTag: React.FunctionComponent = ({ children, ...rest }) => {
+const KortUkeTag: React.FunctionComponent = ({ children, tooltip, ...rest }) => {
const { text } = useAppIntl();
- return (
+
+ const tag = (
{children || text('tags.kortUke')}
);
+ return tooltip ? (
+ <>
+ {tag}
+ >
+ ) : (
+ tag
+ );
};
export default KortUkeTag;
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
index 28e654f6f7..c2fa3e32d8 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/ArbeidstidUkeListe.tsx
@@ -1,7 +1,7 @@
-import { BodyShort, Heading } from '@navikt/ds-react';
+import { BodyShort, Box, Heading, HStack } from '@navikt/ds-react';
import React, { ReactElement } from 'react';
import Block from '@navikt/sif-common-core-ds/src/atoms/block/Block';
-import { dateFormatter } from '@navikt/sif-common-utils';
+import { getDateRangeText } from '@navikt/sif-common-utils';
import dayjs from 'dayjs';
import { SelectableListType } from '../../../hooks/useSelectableList';
import { AppText } from '../../../i18n';
@@ -9,6 +9,8 @@ import { ArbeidstidUkerItem } from '../types/ArbeidstidUkerItem';
import ArbeidstidUkeInfoListe from './ArbeidstidUkeInfoListe';
import UkeTags from './UkeTags';
import VelgArbeidsukeItem from './VelgArbeidsukeItem';
+import { useIntl } from 'react-intl';
+import { getKortUkeTooltipText } from './UkeInfoTooltip';
interface Props {
uker: ArbeidstidUkerItem[];
@@ -23,6 +25,7 @@ const ArbeidstidUkeListe: React.FunctionComponent = ({
selectableList,
renderEditButton,
}) => {
+ const intl = useIntl();
const {
isItemSelected,
setItemSelected,
@@ -52,10 +55,12 @@ const ArbeidstidUkeListe: React.FunctionComponent = ({
- {dateFormatter.compact(uke.periode.from)} - {` `}
- {dateFormatter.compact(uke.periode.to)}
+
+ {getDateRangeText(uke.periode, intl.locale)}
+
= ({
-
- {dateFormatter.compact(uke.periode.from)} - {` `}
- {dateFormatter.compact(uke.periode.to)}
-
+
{getDateRangeText(uke.periode, intl.locale)}
@@ -147,6 +144,7 @@ const ArbeidstidUkeTabell: React.FunctionComponent
= ({
{(uke.harFeriedager || uke.harFjernetFeriedager || uke.erKortUke) && (
`Kort uke - ${getDagerPeriode(periode, false)}`;
+
const UkeInfoTooltip: React.FunctionComponent = ({ uke }) => {
const { erKortUke } = uke;
if (erKortUke) {
return (
-
+
diff --git a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
index 1a0c285879..a88ea04ee1 100644
--- a/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
+++ b/apps/endringsmelding-pleiepenger/src/app/modules/arbeidstid-uker/components/UkeTags.tsx
@@ -5,16 +5,17 @@ import KortUkeTag from '../../../components/tags/KortUkeTag';
import TagsContainer from '../../../components/tags/tags-container/TagsContainer';
interface Props {
+ kortUkeTooltip?: string;
erKortUke?: boolean;
dagerMedFerie: Date[] | undefined;
dagerMedFjernetFerie?: Date[] | undefined;
visDagNavn?: boolean;
}
-const UkeTags = ({ dagerMedFerie = [], dagerMedFjernetFerie = [], visDagNavn, erKortUke }: Props) => {
+const UkeTags = ({ dagerMedFerie = [], dagerMedFjernetFerie = [], visDagNavn, erKortUke, kortUkeTooltip }: Props) => {
const tags: React.ReactNode[] = [];
if (erKortUke) {
- tags.push();
+ tags.push();
}
if (dagerMedFerie?.length > 0) {
tags.push(
@@ -39,7 +40,7 @@ const UkeTags = ({ dagerMedFerie = [], dagerMedFjernetFerie = [], visDagNavn, er
return (
<>
- {erKortUke && }
+ {erKortUke && }
{dagerMedFerie?.length > 0 && (
{visDagNavn