Skip to content

Commit f373338

Browse files
authored
Legger til nytt felt ansettelsePeriode til Arbeidstaker (#169)
1 parent 03241d2 commit f373338

File tree

3 files changed

+117
-10
lines changed

3 files changed

+117
-10
lines changed

soknad/src/main/java/no/nav/k9/søknad/felles/opptjening/OpptjeningAktivitet.java

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
package no.nav.k9.søknad.felles.opptjening;
22

3-
import com.fasterxml.jackson.annotation.*;
3+
import static java.util.Collections.emptyList;
4+
import static java.util.Collections.unmodifiableList;
45

5-
import javax.validation.Valid;
66
import java.util.ArrayList;
77
import java.util.List;
88

9-
import static java.util.Collections.emptyList;
10-
import static java.util.Collections.unmodifiableList;
9+
import javax.validation.Valid;
10+
11+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
12+
import com.fasterxml.jackson.annotation.JsonCreator;
13+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
14+
import com.fasterxml.jackson.annotation.JsonInclude;
15+
import com.fasterxml.jackson.annotation.JsonProperty;
1116

1217
@JsonIgnoreProperties(ignoreUnknown = true)
1318
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@@ -28,17 +33,24 @@ public class OpptjeningAktivitet {
2833
@JsonProperty(value = "arbeidstaker")
2934
private List<Arbeidstaker> arbeidstaker;
3035

36+
@Valid
37+
@JsonInclude(value = JsonInclude.Include.NON_EMPTY)
38+
@JsonProperty(value = "utenlandskeArbeidsforhold")
39+
private List<UtenlandskArbeidsforhold> utenlandskeArbeidsforhold;
40+
3141
public OpptjeningAktivitet() {
3242
//
3343
}
3444

3545
@JsonCreator
3646
public OpptjeningAktivitet(@JsonProperty(value = "arbeidstaker") @Valid List<Arbeidstaker> arbeidstaker,
37-
@JsonProperty(value = "selvstendigNæringsdrivende") List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende,
38-
@JsonProperty(value = "frilanser") Frilanser frilanser) {
47+
@JsonProperty(value = "selvstendigNæringsdrivende") @Valid List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende,
48+
@JsonProperty(value = "frilanser") @Valid Frilanser frilanser,
49+
@JsonProperty(value = "utenlandskeArbeidsforhold") List<UtenlandskArbeidsforhold> utenlandskeArbeidsforhold) {
3950
this.arbeidstaker = arbeidstaker;
4051
this.selvstendigNæringsdrivende = (selvstendigNæringsdrivende == null) ? emptyList() : unmodifiableList(selvstendigNæringsdrivende);
4152
this.frilanser = frilanser;
53+
this.utenlandskeArbeidsforhold = utenlandskeArbeidsforhold;
4254
}
4355

4456
@Deprecated
@@ -91,11 +103,30 @@ public OpptjeningAktivitet medArbeidstaker(List<Arbeidstaker> arbeidstaker) {
91103
return this;
92104
}
93105

106+
public List<UtenlandskArbeidsforhold> getUtenlandskeArbeidsforhold() {
107+
return utenlandskeArbeidsforhold;
108+
}
109+
110+
public OpptjeningAktivitet medUtenlandskArbeidsforhold(UtenlandskArbeidsforhold utenlandskArbeidsforhold) {
111+
if (this.utenlandskeArbeidsforhold == null)
112+
this.utenlandskeArbeidsforhold = new ArrayList<>();
113+
this.utenlandskeArbeidsforhold.add(utenlandskArbeidsforhold);
114+
return this;
115+
}
116+
117+
public OpptjeningAktivitet medUtenlandskeArbeidsforhold(List<UtenlandskArbeidsforhold> utenlandskeArbeidsforhold) {
118+
if (this.utenlandskeArbeidsforhold == null)
119+
this.utenlandskeArbeidsforhold = new ArrayList<>();
120+
this.utenlandskeArbeidsforhold.addAll(utenlandskeArbeidsforhold);
121+
return this;
122+
}
123+
94124
@Deprecated
95125
public static final class Builder {
96126
private List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende = new ArrayList<>();
97127
private Frilanser frilanser;
98128
private List<Arbeidstaker> arbeidstaker = new ArrayList<>();
129+
private List<UtenlandskArbeidsforhold> utenlandskeArbeidsforhold = new ArrayList<>();
99130

100131
private Builder() {
101132
}
@@ -115,6 +146,11 @@ public Builder arbeidstaker(List<Arbeidstaker> arbeidstaker) {
115146
return this;
116147
}
117148

149+
public Builder utenlandskeArbeidsforhold(List<UtenlandskArbeidsforhold> utenlandskeArbeidsforhold) {
150+
this.utenlandskeArbeidsforhold.addAll(utenlandskeArbeidsforhold);
151+
return this;
152+
}
153+
118154
public Builder selvstendigNæringsdrivende(SelvstendigNæringsdrivende selvstendigNæringsdrivende) {
119155
this.selvstendigNæringsdrivende.add(selvstendigNæringsdrivende);
120156
return this;
@@ -126,7 +162,7 @@ public Builder frilanser(Frilanser frilanser) {
126162
}
127163

128164
public OpptjeningAktivitet build() {
129-
return new OpptjeningAktivitet(arbeidstaker, selvstendigNæringsdrivende, frilanser);
165+
return new OpptjeningAktivitet(arbeidstaker, selvstendigNæringsdrivende, frilanser, utenlandskeArbeidsforhold);
130166
}
131167
}
132168
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
package no.nav.k9.søknad.felles.opptjening;
2+
3+
import javax.validation.Valid;
4+
import javax.validation.constraints.NotNull;
5+
import javax.validation.constraints.Pattern;
6+
7+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
8+
import com.fasterxml.jackson.annotation.JsonCreator;
9+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
10+
import com.fasterxml.jackson.annotation.JsonProperty;
11+
12+
import no.nav.k9.søknad.felles.type.Landkode;
13+
import no.nav.k9.søknad.felles.type.Periode;
14+
15+
@JsonIgnoreProperties(ignoreUnknown = true)
16+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
17+
18+
public class UtenlandskArbeidsforhold {
19+
20+
@JsonProperty("ansettelsePeriode")
21+
@Valid
22+
@NotNull
23+
private Periode ansettelsePeriode;
24+
25+
@JsonProperty(value = "land", required = true)
26+
@Valid
27+
@NotNull
28+
private Landkode land;
29+
30+
@JsonProperty(value = "arbeidsgiversnavn")
31+
@Pattern(regexp = "^[\\p{Graph}\\p{Space}\\p{Sc}\\p{L}\\p{M}\\p{N}]+$", message = "'${validatedValue}' matcher ikke tillatt pattern '{regexp}'")
32+
private String arbeidsgiversnavn;
33+
34+
35+
@JsonCreator
36+
public UtenlandskArbeidsforhold(@JsonProperty(value = "ansettelsePeriode") @Valid @NotNull Periode ansettelsePeriode,
37+
@JsonProperty(value = "land") @Valid @NotNull Landkode land,
38+
@JsonProperty(value = "arbeidsgiversnavn") String arbeidsgiversnavn
39+
) {
40+
this.ansettelsePeriode = ansettelsePeriode;
41+
this.land = land;
42+
this.arbeidsgiversnavn = arbeidsgiversnavn;
43+
}
44+
45+
public UtenlandskArbeidsforhold() {
46+
}
47+
48+
public Periode getAnsettelsePeriode() {
49+
return ansettelsePeriode;
50+
}
51+
52+
public void setAnsettelsePeriode(Periode ansettelsePeriode) {
53+
this.ansettelsePeriode = ansettelsePeriode;
54+
}
55+
56+
public Landkode getLand() {
57+
return land;
58+
}
59+
60+
public void setLand(Landkode land) {
61+
this.land = land;
62+
}
63+
64+
public String getArbeidsgiversnavn() {
65+
return arbeidsgiversnavn;
66+
}
67+
68+
public void setArbeidsgiversnavn(String arbeidsgiversnavn) {
69+
this.arbeidsgiversnavn = arbeidsgiversnavn;
70+
}
71+
}

soknad/src/test/java/no/nav/k9/søknad/ytelse/omsorgspenger/v1/OmsorgspengerUtbetalingValidatorTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
import java.nio.file.Path;
88
import java.util.List;
99

10-
import no.nav.k9.søknad.felles.fravær.AktivitetFravær;
1110
import org.junit.jupiter.api.Test;
1211

1312
import no.nav.k9.søknad.Søknad;
1413
import no.nav.k9.søknad.ValideringsFeil;
1514
import no.nav.k9.søknad.felles.Feil;
16-
import no.nav.k9.søknad.felles.opptjening.OpptjeningAktivitet;
15+
import no.nav.k9.søknad.felles.fravær.AktivitetFravær;
1716
import no.nav.k9.søknad.felles.fravær.FraværPeriode;
1817
import no.nav.k9.søknad.felles.fravær.FraværÅrsak;
18+
import no.nav.k9.søknad.felles.opptjening.OpptjeningAktivitet;
1919
import no.nav.k9.søknad.ytelse.Ytelse;
2020
import no.nav.k9.søknad.ytelse.YtelseValidator;
2121

@@ -105,7 +105,7 @@ private static String jsonFromFile(String filename) {
105105
static OmsorgspengerUtbetaling minimumSøknad() {
106106
return new OmsorgspengerUtbetaling(
107107
null,
108-
new OpptjeningAktivitet(null,null, null),
108+
new OpptjeningAktivitet(null,null, null, null),
109109
List.of(
110110
new FraværPeriode(
111111
null,

0 commit comments

Comments
 (0)