Skip to content

Commit 936a44d

Browse files
lagt tilbake arbeidstaker i felles (#125)
1 parent 42d2e9e commit 936a44d

File tree

3 files changed

+113
-6
lines changed

3 files changed

+113
-6
lines changed
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 java.util.List;
4+
5+
import javax.validation.Valid;
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.Feil;
13+
import no.nav.k9.søknad.felles.type.NorskIdentitetsnummer;
14+
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.ArbeidstidInfo;
15+
16+
@JsonIgnoreProperties(ignoreUnknown = true)
17+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
18+
19+
public class Arbeidstaker {
20+
21+
@JsonProperty(value = "norskIdentitetsnummer")
22+
@Valid
23+
private NorskIdentitetsnummer norskIdentitetsnummer;
24+
25+
@JsonProperty(value = "organisasjonsnummer")
26+
@Valid
27+
private Organisasjonsnummer organisasjonsnummer;
28+
29+
@JsonCreator
30+
public Arbeidstaker(@JsonProperty(value = "norskIdentitetsnummer") @Valid NorskIdentitetsnummer norskIdentitetsnummer,
31+
@JsonProperty(value = "organisasjonsnummer") @Valid Organisasjonsnummer organisasjonsnummer) {
32+
this.norskIdentitetsnummer = norskIdentitetsnummer;
33+
this.organisasjonsnummer = organisasjonsnummer;
34+
}
35+
36+
public Arbeidstaker() {
37+
38+
}
39+
protected boolean erEntydigPåID() {
40+
return this.norskIdentitetsnummer != null && this.organisasjonsnummer != null;
41+
}
42+
43+
protected boolean manglerIkkeID() {
44+
return (this.norskIdentitetsnummer == null && this.organisasjonsnummer == null);
45+
}
46+
47+
public void valider(String felt, List<Feil> feilList) {
48+
if(erEntydigPåID()) {
49+
feilList.add(new Feil(felt, "illegalArgument", "Ikke entydig ID på Arbeidsgiver, må oppgi enten norskIdentitetsnummer eller organisasjonsnummer."));
50+
}
51+
if (manglerIkkeID()) {
52+
feilList.add(new Feil(felt, "illegalArgument", "Mangler ID på Arbeidsgiver, må oppgi en av norskIdentitetsnummer eller organisasjonsnummer."));
53+
}
54+
}
55+
56+
public NorskIdentitetsnummer getNorskIdentitetsnummer() {
57+
return norskIdentitetsnummer;
58+
}
59+
60+
public void setNorskIdentitetsnummer(NorskIdentitetsnummer norskIdentitetsnummer) {
61+
this.norskIdentitetsnummer = norskIdentitetsnummer;
62+
}
63+
64+
public Organisasjonsnummer getOrganisasjonsnummer() {
65+
return organisasjonsnummer;
66+
}
67+
68+
public void setOrganisasjonsnummer(Organisasjonsnummer organisasjonsnummer) {
69+
this.organisasjonsnummer = organisasjonsnummer;
70+
}
71+
}

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

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,20 @@ public class OpptjeningAktivitet {
2323
@Valid
2424
private Frilanser frilanser;
2525

26+
@Valid
27+
@JsonInclude(value = JsonInclude.Include.NON_EMPTY)
28+
@JsonProperty(value = "arbeidstaker")
29+
private List<Arbeidstaker> arbeidstaker;
30+
2631
public OpptjeningAktivitet() {
2732
//
2833
}
2934

3035
@JsonCreator
31-
public OpptjeningAktivitet(@JsonProperty(value = "selvstendigNæringsdrivende") List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende,
32-
@JsonProperty(value = "frilanser") Frilanser frilanser) {
36+
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) {
39+
this.arbeidstaker = arbeidstaker;
3340
this.selvstendigNæringsdrivende = (selvstendigNæringsdrivende == null) ? emptyList() : unmodifiableList(selvstendigNæringsdrivende);
3441
this.frilanser = frilanser;
3542
}
@@ -47,6 +54,10 @@ public Frilanser getFrilanser() {
4754
return frilanser;
4855
}
4956

57+
public List<Arbeidstaker> getArbeidstaker() {
58+
return arbeidstaker;
59+
}
60+
5061
public OpptjeningAktivitet medSelvstendigNæringsdrivende(List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende) {
5162
if (this.selvstendigNæringsdrivende == null)
5263
this.selvstendigNæringsdrivende = new ArrayList<>();
@@ -66,10 +77,25 @@ public OpptjeningAktivitet medFrilanser(Frilanser frilanser) {
6677
return this;
6778
}
6879

80+
public OpptjeningAktivitet medArbeidstaker(Arbeidstaker arbeidstaker) {
81+
if (this.arbeidstaker == null)
82+
this.arbeidstaker = new ArrayList<>();
83+
this.arbeidstaker.add(arbeidstaker);
84+
return this;
85+
}
86+
87+
public OpptjeningAktivitet medArbeidstaker(List<Arbeidstaker> arbeidstaker) {
88+
if (this.arbeidstaker == null)
89+
this.arbeidstaker = new ArrayList<>();
90+
this.arbeidstaker.addAll(arbeidstaker);
91+
return this;
92+
}
93+
6994
@Deprecated
7095
public static final class Builder {
7196
private List<SelvstendigNæringsdrivende> selvstendigNæringsdrivende = new ArrayList<>();
7297
private Frilanser frilanser;
98+
private List<Arbeidstaker> arbeidstaker = new ArrayList<>();
7399

74100
private Builder() {
75101
}
@@ -79,6 +105,16 @@ private Builder() {
79105
return this;
80106
}
81107

108+
public Builder arbeidstaker(Arbeidstaker arbeidstaker) {
109+
this.arbeidstaker.add(arbeidstaker);
110+
return this;
111+
}
112+
113+
public Builder arbeidstaker(List<Arbeidstaker> arbeidstaker) {
114+
this.arbeidstaker.addAll(arbeidstaker);
115+
return this;
116+
}
117+
82118
public Builder selvstendigNæringsdrivende(SelvstendigNæringsdrivende selvstendigNæringsdrivende) {
83119
this.selvstendigNæringsdrivende.add(selvstendigNæringsdrivende);
84120
return this;
@@ -90,7 +126,7 @@ public Builder frilanser(Frilanser frilanser) {
90126
}
91127

92128
public OpptjeningAktivitet build() {
93-
return new OpptjeningAktivitet(selvstendigNæringsdrivende, frilanser);
129+
return new OpptjeningAktivitet(arbeidstaker, selvstendigNæringsdrivende, frilanser);
94130
}
95131
}
96132
}

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
@@ -38,7 +38,7 @@ class OmsorgspengerUtbetalingValidatorTest {
3838
/*@Test // TODO: 24/03/2021 Bør aktiveres senere når søknadsdialogen er prodsatt med frilanser.sluttdato feltet.
3939
void gitt_frilanser_ikke_jobber_lenger_og_sluttdato_er_null_forvent_valideringsfeil() {
4040
var søknad = TestUtils.minimumSøknad().medAktivitet(
41-
new OpptjeningAktivitet(null,
41+
new OpptjeningAktivitet(null, null,
4242
new Frilanser()
4343
.medStartDato(LocalDate.now().minusDays(10))
4444
.medSluttDato(null)
@@ -51,7 +51,7 @@ void gitt_frilanser_ikke_jobber_lenger_og_sluttdato_er_null_forvent_valideringsf
5151
@Test
5252
void gitt_frilanser_startdato_er_etter_sluttdato_forvent_valideringsfeil() {
5353
var søknad = TestUtils.minimumSøknad().medAktivitet(
54-
new OpptjeningAktivitet(null,
54+
new OpptjeningAktivitet(null, null,
5555
new Frilanser()
5656
.medStartDato(LocalDate.now().plusDays(1))
5757
.medSluttDato(LocalDate.now())
@@ -106,7 +106,7 @@ private static String jsonFromFile(String filename) {
106106
static OmsorgspengerUtbetaling minimumSøknad() {
107107
return new OmsorgspengerUtbetaling(
108108
null,
109-
new OpptjeningAktivitet(null, null),
109+
new OpptjeningAktivitet(null,null, null),
110110
List.of(
111111
new FraværPeriode(
112112
null,

0 commit comments

Comments
 (0)