Skip to content

Commit

Permalink
✨ Kan strekke pølser som ikke er sammenhengende med tidligere periode
Browse files Browse the repository at this point in the history
* Pølsestrekking var begrenset til første periode på
skjæringstidspunktet, men det må også være mulig å strekke pølser
som ikke er sammenhengende med forrige periode, selvom
skjæringstidspunktet er det samme

Co-authored-by: Trine Linderud <[email protected]>
  • Loading branch information
elitho and trinelinderud committed Dec 18, 2024
1 parent 4e46aaf commit 9f65199
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 8 deletions.
17 changes: 17 additions & 0 deletions src/routes/saksbilde/historikk/mapping.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,23 @@ export const getFørstePeriodeForSkjæringstidspunkt = (
.pop()
: undefined;

export const kanStrekkes = (
periode: BeregnetPeriodeFragment | UberegnetPeriodeFragment,
arbeidsgiver: ArbeidsgiverFragment,
): boolean => {
const erFørstePeriodePåSkjæringstidspunkt =
getFørstePeriodeForSkjæringstidspunkt(periode.skjaeringstidspunkt, arbeidsgiver)?.id === periode.id;

const sistePeriodeFørAktivPeriode = arbeidsgiver.generasjoner[0]?.perioder.filter((p) =>
dayjs(p.tom).isBefore(periode.fom),
)[0];

const tidligerePeriodeErIkkeSammenhengende =
sistePeriodeFørAktivPeriode && dayjs(sistePeriodeFørAktivPeriode.tom).add(1, 'day').isBefore(periode.fom);

return (erFørstePeriodePåSkjæringstidspunkt || tidligerePeriodeErIkkeSammenhengende) ?? false;
};

const getSisteVurdertePeriodeForSkjæringstidspunktet = (
skjæringstidspunkt: DateString,
arbeidsgiver: ArbeidsgiverFragment,
Expand Down
7 changes: 2 additions & 5 deletions src/routes/saksbilde/utbetaling/OverstyrbarUtbetaling.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
UberegnetPeriodeFragment,
Utbetalingstatus,
} from '@io/graphql';
import { getFørstePeriodeForSkjæringstidspunkt } from '@saksbilde/historikk/mapping';
import { kanStrekkes } from '@saksbilde/historikk/mapping';
import { OverstyringToolBar } from '@saksbilde/utbetaling/OverstyringToolBar';
import { DagtypeModal } from '@saksbilde/utbetaling/utbetalingstabell/DagtypeModal';
import { UtbetalingHeader } from '@saksbilde/utbetaling/utbetalingstabell/UtbetalingHeader';
Expand Down Expand Up @@ -259,9 +259,6 @@ export const OverstyrbarUtbetaling = ({
const periodeFom = Array.from(alleDager.values())[0];
if (periodeFom == undefined) return <></>;

const erFørstePeriodePåSkjæringstidspunkt =
getFørstePeriodeForSkjæringstidspunkt(periode.skjaeringstidspunkt, arbeidsgiver)?.id === periode.id;

const erRevurdering = isBeregnetPeriode(periode) && periode.utbetaling.status === Utbetalingstatus.Utbetalt;
return (
<article
Expand All @@ -283,7 +280,7 @@ export const OverstyrbarUtbetaling = ({
toggleOverstyring={toggleOverstyring}
onSubmitPølsestrekk={onSubmitPølsestrekk}
setVisDagtypeModal={() => setVisDagtypeModal(true)}
erFørstePeriodePåSkjæringstidspunkt={erFørstePeriodePåSkjæringstidspunkt}
kanStrekkes={kanStrekkes(periode, arbeidsgiver)}
periodeFom={periodeFom.dato}
erRevurdering={erRevurdering}
/>
Expand Down
6 changes: 3 additions & 3 deletions src/routes/saksbilde/utbetaling/OverstyringToolBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ interface OverstyringToolBarProps {
toggleOverstyring: () => void;
onSubmitPølsestrekk: (dagerLagtTil: Map<string, Utbetalingstabelldag>) => void;
setVisDagtypeModal: () => void;
erFørstePeriodePåSkjæringstidspunkt: boolean;
kanStrekkes: boolean;
periodeFom: DateString;
erRevurdering: boolean;
}
Expand All @@ -20,7 +20,7 @@ export const OverstyringToolBar = ({
toggleOverstyring,
onSubmitPølsestrekk,
setVisDagtypeModal,
erFørstePeriodePåSkjæringstidspunkt,
kanStrekkes,
periodeFom,
erRevurdering,
}: OverstyringToolBarProps) => {
Expand All @@ -42,7 +42,7 @@ export const OverstyringToolBar = ({
Avbryt
</Button>
</HStack>
{erFørstePeriodePåSkjæringstidspunkt && !visLeggTilDagerForm && (
{kanStrekkes && !visLeggTilDagerForm && (
<Button size="xsmall" variant="tertiary" onClick={() => setVisLeggTilDagerForm(true)}>
+ Legg til dager i tabellen
</Button>
Expand Down

0 comments on commit 9f65199

Please sign in to comment.