Skip to content

Commit 54d9cf1

Browse files
authored
Tillate oppdatering av vedtak med andeler (#1685)
1 parent c8cefb9 commit 54d9cf1

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

domenetjenester/vedtak/src/main/java/no/nav/foreldrepenger/abakus/vedtak/domene/VedtakYtelseRepository.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public VedtakYtelseBuilder opprettBuilderFor(AktørId aktørId, Saksnummer saksn
4848
public void lagre(VedtakYtelseBuilder builder) {
4949
var ytelse = builder.build();
5050
Optional<VedtakYtelse> vedtakYtelse = hentYtelseFor(ytelse.getAktør(), ytelse.getSaksnummer(), ytelse.getKilde(), ytelse.getYtelseType());
51-
if (builder.erOppdatering() && vedtakYtelse.isPresent()) {
51+
if (vedtakYtelse.isPresent() && (builder.erOppdatering() || manglerEksisterendeVedtakAndeler(vedtakYtelse.get(), ytelse))) {
5252
// Deaktiver eksisterende innslag
5353
VedtakYtelse ytelseEntitet = vedtakYtelse.get();
5454
ytelseEntitet.setAktiv(false);
@@ -69,6 +69,13 @@ public void lagre(VedtakYtelseBuilder builder) {
6969
}
7070
}
7171

72+
// Lagrer vedtak med samme vedtakstidspunkt dersom ny har andeler og gammel mangler andeler
73+
private boolean manglerEksisterendeVedtakAndeler(VedtakYtelse eksisterende, VedtakYtelse ny) {
74+
var eksisterendeHarAndeler = eksisterende.getYtelseAnvist().stream().anyMatch(a -> !a.getAndeler().isEmpty());
75+
var nyHarAndeler = ny.getYtelseAnvist().stream().anyMatch(a -> !a.getAndeler().isEmpty());
76+
return eksisterende.getVedtattTidspunkt().equals(ny.getVedtattTidspunkt()) && nyHarAndeler && !eksisterendeHarAndeler;
77+
}
78+
7279
private Optional<VedtakYtelse> hentYtelseFor(AktørId aktørId, Saksnummer saksnummer, Fagsystem fagsystem, YtelseType ytelseType) {
7380
Objects.requireNonNull(aktørId, "aktørId");
7481
Objects.requireNonNull(saksnummer, "saksnummer");

0 commit comments

Comments
 (0)