Skip to content

Commit e813da8

Browse files
fix: første utkast utvidetrett - kronisk sykt barn (#94)
* fix: første utkast utvidetrett - kronisk sykt barn * lagt til basis for midletidig alene ny søknad
1 parent b1f654f commit e813da8

File tree

30 files changed

+869
-133
lines changed

30 files changed

+869
-133
lines changed

ettersendelse/src/main/java/no/nav/k9/ettersendelse/EttersendelseValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ private static void validerMottattDato(ZonedDateTime mottatDato, List<Feil> feil
4747
private static void validerSøker(Søker søker, List<Feil> feil) {
4848
if (søker == null) {
4949
feil.add(new Feil("søker", PÅKREVD, "Søker må settes i ettersendelsen."));
50-
} else if (søker.norskIdentitetsnummer == null) {
50+
} else if (søker.getPersonIdent() == null) {
5151
feil.add(new Feil("søker.norskIdentitetsnummer", PÅKREVD, "Søkers Personnummer/D-nummer må settes i ettersendelsen."));
5252
}
5353
}

soknad-omsorgspenger-utbetaling/src/main/java/no/nav/k9/søknad/omsorgspenger/utbetaling/arbeidstaker/OmsorgspengerUtbetalingSøknadValidator.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
package no.nav.k9.søknad.omsorgspenger.utbetaling.arbeidstaker;
22

3+
import java.util.ArrayList;
4+
import java.util.List;
5+
import java.util.stream.Collectors;
6+
7+
import javax.validation.Validation;
8+
import javax.validation.ValidatorFactory;
9+
310
import no.nav.k9.søknad.SøknadValidator;
411
import no.nav.k9.søknad.felles.Feil;
512
import no.nav.k9.søknad.felles.Versjon;
613
import no.nav.k9.søknad.felles.personopplysninger.Søker;
714

8-
import javax.validation.Validation;
9-
import javax.validation.ValidatorFactory;
10-
import java.util.ArrayList;
11-
import java.util.List;
12-
import java.util.stream.Collectors;
13-
1415
/**
1516
* @deprecated ikke bruk
1617
*/
@@ -34,7 +35,7 @@ private static void validerVersjon(Versjon versjon, List<Feil> feil) {
3435
}
3536

3637
private static void validerSøker(Søker søker, List<Feil> feil) {
37-
if (søker != null && søker.norskIdentitetsnummer == null) {
38+
if (søker != null && søker.getPersonIdent() == null) {
3839
feil.add(new Feil("søker.norskIdentitetsnummer", PÅKREVD, "Søkers Personnummer/D-nummer må settes i søknaden."));
3940
}
4041
}

soknad-omsorgspenger-utbetaling/src/main/java/no/nav/k9/søknad/omsorgspenger/utbetaling/snf/OmsorgspengerUtbetalingSøknadValidator.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
package no.nav.k9.søknad.omsorgspenger.utbetaling.snf;
22

3+
import java.util.ArrayList;
4+
import java.util.List;
5+
import java.util.stream.Collectors;
6+
7+
import javax.validation.Validation;
8+
import javax.validation.ValidatorFactory;
9+
310
import no.nav.k9.søknad.SøknadValidator;
411
import no.nav.k9.søknad.felles.Feil;
512
import no.nav.k9.søknad.felles.Versjon;
613
import no.nav.k9.søknad.felles.aktivitet.Frilanser;
714
import no.nav.k9.søknad.felles.aktivitet.SelvstendigNæringsdrivende;
815
import no.nav.k9.søknad.felles.personopplysninger.Søker;
916

10-
import javax.validation.Validation;
11-
import javax.validation.ValidatorFactory;
12-
import java.util.ArrayList;
13-
import java.util.List;
14-
import java.util.stream.Collectors;
15-
1617
/**
1718
* @deprecated ikke bruk
1819
*/
@@ -37,7 +38,7 @@ private static void validerVersjon(Versjon versjon, List<Feil> feil) {
3738
}
3839

3940
private static void validerSøker(Søker søker, List<Feil> feil) {
40-
if (søker != null && søker.norskIdentitetsnummer == null) {
41+
if (søker != null && søker.getPersonIdent() == null) {
4142
feil.add(new Feil("søker.norskIdentitetsnummer", PÅKREVD, "Søkers Personnummer/D-nummer må settes i søknaden."));
4243
}
4344
}

soknad-omsorgspenger/src/main/java/no/nav/k9/søknad/omsorgspenger/OmsorgspengerSøknadValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ private static void validerMottattDato(ZonedDateTime mottatDato, List<Feil> feil
3939
private static void validerSøker(Søker søker, List<Feil> feil) {
4040
if (søker == null) {
4141
feil.add(new Feil("søker", PÅKREVD, "Søker må settes i søknaden."));
42-
} else if (søker.norskIdentitetsnummer == null) {
42+
} else if (søker.getPersonIdent() == null) {
4343
feil.add(new Feil("søker.norskIdentitetsnummer", PÅKREVD, "Søkers Personnummer/D-nummer må settes i søknaden."));
4444
}
4545
}

soknad/src/main/java/no/nav/k9/søknad/Søknad.java

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@
1212
import com.fasterxml.jackson.annotation.JsonCreator;
1313
import com.fasterxml.jackson.annotation.JsonFormat;
1414
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
15+
import com.fasterxml.jackson.annotation.JsonManagedReference;
1516
import com.fasterxml.jackson.annotation.JsonProperty;
1617
import com.fasterxml.jackson.databind.node.ObjectNode;
1718

1819
import no.nav.k9.søknad.felles.Versjon;
1920
import no.nav.k9.søknad.felles.personopplysninger.Søker;
2021
import no.nav.k9.søknad.felles.type.Person;
22+
import no.nav.k9.søknad.felles.type.Språk;
2123
import no.nav.k9.søknad.felles.type.SøknadId;
2224
import no.nav.k9.søknad.ytelse.Ytelse;
2325

@@ -46,22 +48,41 @@ public class Søknad implements Innsending {
4648
@JsonProperty(value = "søker", required = true)
4749
private Søker søker;
4850

51+
@Valid
52+
@JsonProperty(value = "språk", required = false)
53+
private Språk språk = Språk.NORSK_BOKMÅL;
54+
55+
@JsonManagedReference
4956
@Valid
5057
@NotNull
5158
@JsonProperty(value = "ytelse", required = true)
5259
private Ytelse ytelse;
5360

61+
public Søknad() {
62+
//
63+
}
64+
5465
@JsonCreator
5566
public Søknad(@JsonProperty(value = "søknadId", required = true) @Valid @NotNull SøknadId søknadId,
5667
@JsonProperty(value = "versjon", required = true) @Valid @NotNull Versjon versjon,
5768
@JsonProperty(value = "mottattDato", required = true) @Valid @NotNull ZonedDateTime mottattDato,
5869
@JsonProperty(value = "søker", required = true) @Valid @NotNull Søker søker,
70+
@JsonProperty(value = "språk", required = false) @Valid Språk språk,
5971
@JsonProperty(value = "ytelse", required = true) @Valid @NotNull Ytelse ytelse) {
6072
this.søknadId = søknadId;
6173
this.versjon = versjon;
6274
this.mottattDato = mottattDato;
6375
this.søker = søker;
6476
this.ytelse = ytelse;
77+
this.språk = språk;
78+
}
79+
80+
public Søknad(@JsonProperty(value = "søknadId", required = true) @Valid @NotNull SøknadId søknadId,
81+
@JsonProperty(value = "versjon", required = true) @Valid @NotNull Versjon versjon,
82+
@JsonProperty(value = "mottattDato", required = true) @Valid @NotNull ZonedDateTime mottattDato,
83+
@JsonProperty(value = "søker", required = true) @Valid @NotNull Søker søker,
84+
@JsonProperty(value = "ytelse", required = true) @Valid @NotNull Ytelse ytelse) {
85+
this(søknadId, versjon, mottattDato, søker, Språk.NORSK_BOKMÅL, ytelse);
6586
}
6687

6788
@Override
@@ -87,10 +108,54 @@ public ZonedDateTime getMottattDato() {
87108
return mottattDato;
88109
}
89110

111+
public Språk getSpråk() {
112+
return språk;
113+
}
114+
90115
public void setMottattDato(ZonedDateTime mottattDato) {
91116
this.mottattDato = mottattDato;
92117
}
93118

119+
public Søknad medMottattDato(ZonedDateTime mottattDato) {
120+
this.mottattDato = mottattDato;
121+
return this;
122+
}
123+
124+
public Søknad medSpråk(Språk språk) {
125+
this.språk = språk;
126+
return this;
127+
}
128+
129+
public Søknad medSøknadId(String søknadId) {
130+
this.søknadId = new SøknadId(søknadId);
131+
return this;
132+
}
133+
134+
public Søknad medSøknadId(SøknadId søknadId) {
135+
this.søknadId = søknadId;
136+
return this;
137+
}
138+
139+
public Søknad medVersjon(String versjon) {
140+
this.versjon = new Versjon(versjon);
141+
return this;
142+
}
143+
144+
public Søknad medVersjon(Versjon versjon) {
145+
this.versjon = versjon;
146+
return this;
147+
}
148+
149+
public Søknad medSøker(Søker søker) {
150+
this.søker = søker;
151+
return this;
152+
}
153+
154+
public Søknad medYtelse(Ytelse ytelse) {
155+
this.ytelse = ytelse;
156+
return this;
157+
}
158+
94159
public List<Person> getBerørtePersoner() {
95160
return ytelse == null ? Collections.emptyList() : ytelse.getBerørtePersoner();
96161
}

soknad/src/main/java/no/nav/k9/søknad/Validator.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
package no.nav.k9.søknad;
22

3-
import no.nav.k9.søknad.felles.Feil;
4-
import no.nav.k9.søknad.felles.Versjon;
5-
import no.nav.k9.søknad.felles.personopplysninger.Søker;
6-
7-
import javax.validation.Validation;
8-
import javax.validation.ValidatorFactory;
93
import java.util.ArrayList;
104
import java.util.List;
115
import java.util.stream.Collectors;
126

7+
import javax.validation.Validation;
8+
import javax.validation.ValidatorFactory;
9+
10+
import no.nav.k9.søknad.felles.Feil;
11+
import no.nav.k9.søknad.felles.Versjon;
12+
import no.nav.k9.søknad.felles.personopplysninger.Søker;
13+
1314
public class Validator {
1415
private static final ValidatorFactory VALIDATOR_FACTORY = Validation.buildDefaultValidatorFactory();
1516
protected static final String PÅKREVD = "påkrevd";
@@ -24,7 +25,7 @@ private static void validerVersjon(Versjon versjon, List<Feil> feil) {
2425
}
2526

2627
private static void validerSøker(Søker søker, List<Feil> feil) {
27-
if (søker != null && søker.norskIdentitetsnummer == null) {
28+
if (søker != null && søker.getPersonIdent() == null) {
2829
feil.add(new Feil("søker.norskIdentitetsnummer", PÅKREVD, "Søkers Personnummer/D-nummer må settes i søknaden."));
2930
}
3031
}
Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
package no.nav.k9.søknad.felles;
22

3-
import com.fasterxml.jackson.annotation.JsonCreator;
4-
import com.fasterxml.jackson.annotation.JsonIgnore;
5-
import com.fasterxml.jackson.annotation.JsonValue;
3+
import java.util.Objects;
64

75
import javax.validation.constraints.Pattern;
86
import javax.validation.constraints.Size;
9-
import java.util.Objects;
7+
8+
import com.fasterxml.jackson.annotation.JsonCreator;
9+
import com.fasterxml.jackson.annotation.JsonIgnore;
10+
import com.fasterxml.jackson.annotation.JsonValue;
1011

1112
public class Versjon {
12-
13+
1314
@JsonIgnore
1415
private static final String SEMVER_REGEX = "(\\d+)\\.(\\d+)\\.(\\d+)";
1516

1617
@JsonValue
17-
@Size(max=10)
18+
@Size(max = 10)
1819
@Pattern(regexp = SEMVER_REGEX, message = "'${validatedValue}' matcher ikke tillatt pattern '{regexp}'")
1920
public final String verdi;
2021

21-
private Versjon(String verdi) {
22+
public Versjon(String verdi) {
23+
if (verdi == null || verdi.isBlank()) {
24+
throw new IllegalArgumentException("Kan ikke ha null eller blank versjon");
25+
}
2226
this.verdi = verdi;
2327
}
2428

@@ -34,22 +38,24 @@ public static Versjon of(String verdi) {
3438
public boolean erGyldig() {
3539
return verdi.matches(SEMVER_REGEX);
3640
}
37-
41+
3842
@Override
3943
public boolean equals(Object obj) {
40-
if (obj == this) return true;
41-
if (obj == null || obj.getClass() != this.getClass()) return false;
44+
if (obj == this)
45+
return true;
46+
if (obj == null || obj.getClass() != this.getClass())
47+
return false;
4248
var other = (Versjon) obj;
4349
return Objects.equals(verdi, other.verdi);
4450
}
45-
51+
4652
@Override
4753
public int hashCode() {
4854
return Objects.hash(verdi);
4955
}
50-
56+
5157
@Override
5258
public String toString() {
53-
return getClass().getSimpleName()+"<versjon="+verdi+">";
59+
return getClass().getSimpleName() + "<versjon=" + verdi + ">";
5460
}
5561
}

soknad/src/main/java/no/nav/k9/søknad/felles/aktivitet/ArbeidAktivitet.java

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,26 @@ public class ArbeidAktivitet {
1616
@JsonInclude(value = JsonInclude.Include.NON_EMPTY)
1717
@JsonProperty(value = "selvstendigNæringsdrivende")
1818
@Valid
19-
private final List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende;
19+
private List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende;
2020

2121
@JsonInclude(value = JsonInclude.Include.NON_EMPTY)
2222
@JsonProperty(value = "frilanser")
2323
@Valid
24-
private final Frilanser frilanser;
24+
private Frilanser frilanser;
2525

2626
@Valid
2727
@JsonInclude(value = JsonInclude.Include.NON_EMPTY)
2828
@JsonProperty(value = "arbeidstaker")
2929
private List<Arbeidstaker> arbeidstaker;
3030

31+
public ArbeidAktivitet() {
32+
//
33+
}
34+
3135
@JsonCreator
32-
private ArbeidAktivitet(@JsonProperty(value = "arbeidstaker") @Valid List<Arbeidstaker> arbeidstaker,
33-
@JsonProperty(value = "selvstendigNæringsdrivende") List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende,
34-
@JsonProperty(value = "frilanser") Frilanser frilanser) {
36+
public ArbeidAktivitet(@JsonProperty(value = "arbeidstaker") @Valid List<Arbeidstaker> arbeidstaker,
37+
@JsonProperty(value = "selvstendigNæringsdrivende") List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende,
38+
@JsonProperty(value = "frilanser") Frilanser frilanser) {
3539
this.arbeidstaker = arbeidstaker;
3640
this.selvstendigNæringsdrivende = (selvstendigNæringsdrivende == null) ? emptyList() : unmodifiableList(selvstendigNæringsdrivende);
3741
this.frilanser = frilanser;
@@ -53,6 +57,38 @@ public List<Arbeidstaker> getArbeidstaker() {
5357
return arbeidstaker;
5458
}
5559

60+
public ArbeidAktivitet medSelvstendigNæringsdrivende(List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende) {
61+
if (this.selvstendigNæringsdrivende == null)
62+
this.selvstendigNæringsdrivende = new ArrayList<>();
63+
this.selvstendigNæringsdrivende.addAll(selvstendigNæringsdrivende);
64+
return this;
65+
}
66+
67+
public ArbeidAktivitet medArbeidstaker(Arbeidstaker arbeidstaker) {
68+
if (this.arbeidstaker == null)
69+
this.arbeidstaker = new ArrayList<>();
70+
this.arbeidstaker.add(arbeidstaker);
71+
return this;
72+
}
73+
74+
public ArbeidAktivitet medArbeidstaker(List<Arbeidstaker> arbeidstaker) {
75+
if (this.arbeidstaker == null)
76+
this.arbeidstaker = new ArrayList<>();
77+
this.arbeidstaker.addAll(arbeidstaker);
78+
return this;
79+
}
80+
81+
public ArbeidAktivitet medSelvstendigNæringsdrivende(SelvstendigNæringsdrivende selvstendigNæringsdrivende) {
82+
if (this.selvstendigNæringsdrivende == null)
83+
this.selvstendigNæringsdrivende = new ArrayList<>();
84+
this.selvstendigNæringsdrivende.add(selvstendigNæringsdrivende);
85+
return this;
86+
}
87+
88+
public ArbeidAktivitet medFrilanser(Frilanser frilanser) {
89+
this.frilanser = frilanser;
90+
return this;
91+
}
5692

5793
public static final class Builder {
5894
private List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende = new ArrayList<>();

soknad/src/main/java/no/nav/k9/søknad/felles/aktivitet/Arbeidstaker.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,10 @@
11
package no.nav.k9.søknad.felles.aktivitet;
22

33
import com.fasterxml.jackson.annotation.*;
4-
import com.fasterxml.jackson.annotation.JsonInclude.Include;
54
import no.nav.k9.søknad.felles.type.NorskIdentitetsnummer;
6-
import no.nav.k9.søknad.felles.type.Periode;
75
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.ArbeidstidInfo;
86

97
import javax.validation.Valid;
10-
import javax.validation.constraints.DecimalMax;
11-
import javax.validation.constraints.DecimalMin;
12-
import java.math.BigDecimal;
13-
import java.math.RoundingMode;
14-
import java.time.Duration;
15-
import java.util.HashMap;
16-
import java.util.Map;
17-
18-
import static java.util.Collections.emptyMap;
19-
import static java.util.Collections.unmodifiableMap;
20-
import static no.nav.k9.søknad.felles.type.Periode.Utils.leggTilPeriode;
21-
import static no.nav.k9.søknad.felles.type.Periode.Utils.leggTilPerioder;
228

239
@JsonIgnoreProperties(ignoreUnknown = true)
2410
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)

0 commit comments

Comments
 (0)