Skip to content

Commit

Permalink
Støtte innvilgelses brev uten innvilget uttaksperioder (#2435)
Browse files Browse the repository at this point in the history
  • Loading branch information
palfi authored Oct 20, 2023
1 parent 48dbe39 commit 318e7d7
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
import no.nav.foreldrepenger.fpformidling.kodeverk.kodeverdi.DokumentMalTypeKode;
import no.nav.foreldrepenger.fpformidling.personopplysning.RelasjonsRolleType;
import no.nav.foreldrepenger.fpformidling.søknad.Søknad;
import no.nav.foreldrepenger.fpformidling.typer.Saksnummer;
import no.nav.foreldrepenger.fpformidling.uttak.fp.ForeldrepengerUttak;
import no.nav.foreldrepenger.fpformidling.uttak.fp.PeriodeResultatÅrsak;
import no.nav.foreldrepenger.fpformidling.uttak.fp.Saldoer;
Expand Down Expand Up @@ -115,7 +114,6 @@ public ForeldrepengerInnvilgelseDokumentdata mapTilDokumentdata(DokumentFelles d

var utbetalingsperioder = UtbetalingsperiodeMapper.mapUtbetalingsperioder(tilkjentYtelseForeldrepenger.getPerioder(), uttakResultatPerioder,
beregningsgrunnlag.getBeregningsgrunnlagPerioder(), språkkode);
guardBareUtsettelser(utbetalingsperioder);
var konsekvensForInnvilgetYtelse = mapKonsekvensForInnvilgetYtelse(behandling.getBehandlingsresultat().getKonsekvenserForYtelsen());
var erInnvilgetRevurdering = erInnvilgetRevurdering(behandling);
var dagsats = finnDagsats(tilkjentYtelseForeldrepenger);
Expand Down Expand Up @@ -181,7 +179,7 @@ public ForeldrepengerInnvilgelseDokumentdata mapTilDokumentdata(DokumentFelles d

finnSisteDagAvSistePeriode(uttakResultatPerioder).ifPresent(
dato -> dokumentdataBuilder.medSisteDagAvSistePeriode(formaterDato(dato, språkkode)));
dokumentdataBuilder.medUtbetalingFom(formaterDato(finnUtbetalingFom(utbetalingsperioder, dokumentFelles.getSaksnummer()), språkkode));
finnUtbetalingFom(utbetalingsperioder).ifPresent(dato -> dokumentdataBuilder.medUtbetalingFom(formaterDato(dato, språkkode)));
finnStønadsperiodeFom(utbetalingsperioder).ifPresent(dato -> dokumentdataBuilder.medStønadsperiodeFom(formaterDato(dato, språkkode)));
finnStønadsperiodeTom(utbetalingsperioder).ifPresent(dato -> dokumentdataBuilder.medStønadsperiodeTom(formaterDato(dato, språkkode)));

Expand All @@ -200,18 +198,12 @@ public ForeldrepengerInnvilgelseDokumentdata mapTilDokumentdata(DokumentFelles d
return dokumentdataBuilder.build();
}

private LocalDate finnUtbetalingFom(List<Utbetalingsperiode> utbetalingsperioder, Saksnummer saksnummer) {
private Optional<LocalDate> finnUtbetalingFom(List<Utbetalingsperiode> utbetalingsperioder) {
//Denne kan være optional hvis saksbehandler overstyrer uttak og avslår alle perioder i en revurdering. Eks sak 152211741
return utbetalingsperioder.stream()
.filter(p -> p.getPeriodeDagsats() > 0)
.map(Utbetalingsperiode::getPeriodeFom)
.min(LocalDate::compareTo)
.orElseThrow(() -> new IllegalArgumentException("Forventer minst en periode med utbetaling for innvilgelsebrev " + saksnummer));
}

private void guardBareUtsettelser(List<Utbetalingsperiode> utbetalingsperioder) {
if (utbetalingsperioder.stream().allMatch(p -> p.getÅrsak().erUtsettelseÅrsak())) {
throw new IllegalStateException("Innvilgelsebrev støtter ikke bare utsettelser");
}
.min(LocalDate::compareTo);
}

private static int disponibleDagerUtenAktivitetskrav(Saldoer saldoer) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ public class Årsak {
List.of("4058", "4059"), List.of("4061", "4062", "4063", "4064", "4065", "4115", "4116", "4117"),
List.of("4066", "4067", "4068", "4069", "4070", "4088", "4089"), List.of("4080", "4501"), List.of("4084", "4085"), List.of("4094", "4502"));

private static final List<String> UTSETTELSE_ÅRSAKER = List.of("2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019");
private static final List<String> GRADERING_ÅRSAKER = List.of("2030", "2031", "2032", "2033", "2034", "2035", "2038");
private static final List<String> OVERFØRING_ÅRSAKER = List.of("2020", "2021", "2022", "2023");

Expand Down Expand Up @@ -62,10 +61,6 @@ public static boolean erRegnetSomLike(Årsak årsak1, Årsak årsak2) {
return NON_EQUAL_KODER_SOM_LIKEVEL_OPPFYLLER_MERGE.stream().anyMatch(k -> k.containsAll(Set.of(årsak1.getKode(), årsak2.getKode())));
}

public boolean erUtsettelseÅrsak() {
return UTSETTELSE_ÅRSAKER.contains(kode);
}

public boolean erGraderingÅrsak() {
return GRADERING_ÅRSAKER.contains(kode);
}
Expand Down

0 comments on commit 318e7d7

Please sign in to comment.