Skip to content

Commit 1f3dc41

Browse files
authored
Retter npe ved ignorert opptjening for PILS (#285)
1 parent eb2ab1c commit 1f3dc41

File tree

2 files changed

+27
-10
lines changed

2 files changed

+27
-10
lines changed

soknad/src/main/java/no/nav/k9/søknad/ytelse/pls/v1/PleiepengerLivetsSluttfaseYtelseValidator.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import no.nav.k9.søknad.felles.Feil;
1818
import no.nav.k9.søknad.felles.opptjening.AnnenAktivitet;
1919
import no.nav.k9.søknad.felles.opptjening.Frilanser;
20+
import no.nav.k9.søknad.felles.opptjening.OpptjeningAktivitet;
2021
import no.nav.k9.søknad.felles.opptjening.SelvstendigNæringsdrivende;
2122
import no.nav.k9.søknad.felles.type.Periode;
2223
import no.nav.k9.søknad.ytelse.Ytelse;
@@ -98,18 +99,24 @@ private void validerArbeidstid(PleipengerLivetsSluttfase søknad) throws Valider
9899
}
99100

100101
private void validerOpptjening(PleipengerLivetsSluttfase søknad, List<Feil> feilene) {
101-
List<SelvstendigNæringsdrivende> snAktiviteter = søknad.getOpptjeningAktivitet().getSelvstendigNæringsdrivende();
102-
for (int i = 0; i < snAktiviteter.size(); i++) {
103-
lagTidslinjeMedStøtteForÅpenPeriodeOgValider(snAktiviteter.get(i).getPerioder(), "opptjeningAktivitet.selvstendigNæringsdrivende[" + i + "].perioder");
102+
if (!søknad.skalHaOpplysningOmOpptjeningVedNyPeriode()) {
103+
feilene.add(new Feil("oppgittOpptjening", "påkrevd", "Opplysninger om opptjening må være oppgitt for ny søknadsperiode."));
104104
}
105+
var opptjeningAktivitet = søknad.getOpptjeningAktivitet();
106+
if (opptjeningAktivitet != null) {
107+
List<SelvstendigNæringsdrivende> snAktiviteter = opptjeningAktivitet.getSelvstendigNæringsdrivende();
108+
for (int i = 0; i < snAktiviteter.size(); i++) {
109+
lagTidslinjeMedStøtteForÅpenPeriodeOgValider(snAktiviteter.get(i).getPerioder(), "opptjeningAktivitet.selvstendigNæringsdrivende[" + i + "].perioder");
110+
}
105111

106-
List<AnnenAktivitet> andreAktiviteter = søknad.getOpptjeningAktivitet().getAndreAktiviteter();
107-
for (int i = 0; i < andreAktiviteter.size(); i++) {
108-
validerPerioderIkkeErInvertert(andreAktiviteter.get(i).getPeriode(), "opptjeningAktivitet.andreAktiviteter[" + i + "].perioder", feilene);
109-
}
110-
Frilanser fl = søknad.getOpptjeningAktivitet().getFrilanser();
111-
if (fl != null) {
112-
validerPerioderIkkeErInvertert(new Periode(fl.getStartdato(), fl.getSluttdato()), "opptjeningAktivitet.frilanser.startdato/sluttdato", feilene);
112+
List<AnnenAktivitet> andreAktiviteter = opptjeningAktivitet.getAndreAktiviteter();
113+
for (int i = 0; i < andreAktiviteter.size(); i++) {
114+
validerPerioderIkkeErInvertert(andreAktiviteter.get(i).getPeriode(), "opptjeningAktivitet.andreAktiviteter[" + i + "].perioder", feilene);
115+
}
116+
Frilanser fl = opptjeningAktivitet.getFrilanser();
117+
if (fl != null) {
118+
validerPerioderIkkeErInvertert(new Periode(fl.getStartdato(), fl.getSluttdato()), "opptjeningAktivitet.frilanser.startdato/sluttdato", feilene);
119+
}
113120
}
114121
}
115122

soknad/src/main/java/no/nav/k9/søknad/ytelse/pls/v1/PleipengerLivetsSluttfase.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.Objects;
88

99
import javax.validation.Valid;
10+
import javax.validation.constraints.AssertTrue;
1011
import javax.validation.constraints.NotNull;
1112

1213
import com.fasterxml.jackson.annotation.JsonAutoDetect;
@@ -190,4 +191,13 @@ public PleipengerLivetsSluttfase medUttak(Uttak uttak) {
190191
this.uttak = Objects.requireNonNull(uttak, "uttak");
191192
return this;
192193
}
194+
195+
@AssertTrue
196+
public boolean skalHaOpplysningOmOpptjeningVedNyPeriode() {
197+
if (søknadsperiode != null && !søknadsperiode.isEmpty()) {
198+
return opptjeningAktivitet != null;
199+
}
200+
return true;
201+
}
202+
193203
}

0 commit comments

Comments
 (0)