Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forenkler beregningen av utbetalingsgrad og trekkdager #359

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

espenwaaga
Copy link
Contributor

No description provided.

@espenwaaga espenwaaga requested a review from a team as a code owner June 21, 2024 12:35
@espenwaaga espenwaaga force-pushed the utbetalingsgrad/trekkdager/opprydding branch from 0a05a6e to 6eeccf9 Compare June 21, 2024 13:38
@espenwaaga espenwaaga requested review from palfi and jolarsen June 21, 2024 13:38
RegelGrunnlag regelGrunnlag,
SaldoUtregning saldoUtregning) {
var aktuellPeriode = fastsettePeriodeGrunnlag.getAktuellPeriode();
FastsettePeriodeGrunnlag grunnlag,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hvorfor ikke beholde fastsettePeriodeGrunnlag ? Så snubler man ikke så lett i grunnlagene :-)

// Vi skal redusere søker i forhold til annenparts uttaksprosent slik at de til sammen har 100% uttaksprosent
// TODO: Sjekke via nare? Nå er det 2 sannheter
var redusertUttaksprosentPgaSamtidigUttakMedSamletUttak100 = SamtidigUttakUtil.kanRedusereUtbetalingsgradForTapende(fastsettePeriodeGrunnlag)
? SamtidigUttaksprosent.HUNDRED.subtract(SamtidigUttakUtil.uttaksprosentAnnenpart(fastsettePeriodeGrunnlag))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hvorfor gå fra en ZERO-konvensjon til en null-konvensjon? Blir det ikke mer if/null-sjekker som eller kunne vært håndtert aritmetisk med add/subtract

.map(k -> oppgittPeriode.kopiMedNyPeriode(oppgittPeriode.getFom(), k.minusDays(1)))
.orElse(oppgittPeriode);

// Vi skal redusere søker i forhold til annenparts uttaksprosent slik at de til sammen har 100% uttaksprosent
// TODO: Sjekke via nare? Nå er det 2 sannheter
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nja. Du har valget mellom at regler + utregning bruker samme util eller at utregning kjenner til regelstrukturen ved å grafse i Evaluation/EvaluationSummary (etter regler med gitt ID).
Hvis det holder med å sjekke hvilken løvnode så kan man se på EvaluationSummary.allOutcomes etter 1 og (kun 1)
Ellers er delegering å foretrekke (dvs utils).

Copy link
Contributor

@jolarsen jolarsen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Det blir litt mye å sette seg inn alt som tas opp i en sleng (i innspurten) - spesielt siden det er flere endringer på en gang - både restrukturering, trekkdager, utbetaling, avklaring av samtidig vs gradering.
Vurder om "grunnlag" er for generelt når det er flere å velge mellom - lesbarhet.
Vurder å ta endringen flere runder:

  • Rydde i parametre som sendes ned - fx ikke sende ned to grunnlag når det man trenger finnes i ett av dem
  • Utbetalingsutregningene, evt med avklaring rundt samtidig samtidg + gradering
  • Evt endring i trekkdager

Vil anbefale å beholde delegering framfor å lete gjennom Evaluations på jakt etter strengkonstanter i ID. Outcomes fra løvnode er greiere.

@espenwaaga espenwaaga force-pushed the utbetalingsgrad/trekkdager/opprydding branch from bfd7017 to 03b72b4 Compare July 3, 2024 08:55
@espenwaaga espenwaaga force-pushed the utbetalingsgrad/trekkdager/opprydding branch from c4fe778 to b1d10cb Compare July 3, 2024 08:57
@palfi palfi removed their request for review August 22, 2024 09:00
private static Trekkdager trekkdagerMedGradering(int trekkdagerUtenGradering, BigDecimal gradertArbeidstidsprosent) {
if (gradertArbeidstidsprosent.compareTo(BigDecimal.valueOf(100)) >= 0) {
return Trekkdager.ZERO;
if (skalUtbetale) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Helt sikker på denne? Finnes noen utsettelser som skal trekke dager.

return SamtidigUttaksprosent.HUNDRED.subtract(annenpartSamtidigUttaksprosent);

var utbetalingsgrad = aktiviteter.stream()
.map(UttakPeriodeAktivitet::getUtbetalingsgrad)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vi bør nok ta en mental refresh-runde på samvirke søkt gradering og søkt samtidig uttak

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants