Skip to content

Commit 60d50f7

Browse files
authored
Legger til info om UkjentArbeidsforhold i DataBruktTilUtledning. (#361)
1 parent fb4e1ad commit 60d50f7

File tree

6 files changed

+153
-11
lines changed

6 files changed

+153
-11
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package no.nav.k9.søknad.ytelse.psb.v1;
2+
3+
public enum ArbeiderIPeriodenSvar {
4+
SOM_VANLIG,
5+
REDUSERT,
6+
HELT_FRAVÆR
7+
}

soknad/src/main/java/no/nav/k9/søknad/ytelse/psb/v1/DataBruktTilUtledning.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.fasterxml.jackson.annotation.JsonProperty;
77

88
import javax.validation.Valid;
9+
import java.util.List;
910

1011
@JsonIgnoreProperties(ignoreUnknown = true)
1112
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@@ -36,21 +37,27 @@ public class DataBruktTilUtledning {
3637
@Valid
3738
private Boolean bekrefterPeriodeOver8Uker;
3839

40+
@JsonProperty(value = "ukjenteArbeidsforhold")
41+
@Valid
42+
private List<UkjentArbeidsforhold> ukjenteArbeidsforhold;
3943

4044
@JsonCreator
4145
public DataBruktTilUtledning(@JsonProperty(value = "harForståttRettigheterOgPlikter") @Valid Boolean harForståttRettigheterOgPlikter,
4246
@JsonProperty(value = "harBekreftetOpplysninger") @Valid Boolean harBekreftetOpplysninger,
4347
@JsonProperty(value = "samtidigHjemme") @Valid Boolean samtidigHjemme,
4448
@JsonProperty(value = "harMedsøker") @Valid Boolean harMedsøker,
4549
@JsonProperty(value = "soknadDialogCommitSha") @Valid String soknadDialogCommitSha,
46-
@JsonProperty(value = "bekrefterPeriodeOver8Uker") @Valid Boolean bekrefterPeriodeOver8Uker) {
50+
@JsonProperty(value = "bekrefterPeriodeOver8Uker") @Valid Boolean bekrefterPeriodeOver8Uker,
51+
@JsonProperty(value = "ukjenteArbeidsforhold") @Valid List<UkjentArbeidsforhold> ukjenteArbeidsforhold
52+
) {
4753

4854
this.harForståttRettigheterOgPlikter = harForståttRettigheterOgPlikter;
4955
this.harBekreftetOpplysninger = harBekreftetOpplysninger;
5056
this.samtidigHjemme = samtidigHjemme;
5157
this.harMedsøker = harMedsøker;
5258
this.soknadDialogCommitSha = soknadDialogCommitSha;
5359
this.bekrefterPeriodeOver8Uker = bekrefterPeriodeOver8Uker;
60+
this.ukjenteArbeidsforhold = ukjenteArbeidsforhold;
5461
}
5562

5663
public DataBruktTilUtledning() {
@@ -109,4 +116,13 @@ public DataBruktTilUtledning medBekrefterPeriodeOver8Uker(Boolean bekrefterPerio
109116
this.bekrefterPeriodeOver8Uker = bekrefterPeriodeOver8Uker;
110117
return this;
111118
}
119+
120+
public List<UkjentArbeidsforhold> getUkjenteArbeidsforhold() {
121+
return ukjenteArbeidsforhold;
122+
}
123+
124+
public DataBruktTilUtledning medUkjenteArbeidsforhold(List<UkjentArbeidsforhold> ukjenteArbeidsforhold) {
125+
this.ukjenteArbeidsforhold = ukjenteArbeidsforhold;
126+
return this;
127+
}
112128
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package no.nav.k9.søknad.ytelse.psb.v1;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import org.hibernate.validator.constraints.time.DurationMax;
5+
import org.hibernate.validator.constraints.time.DurationMin;
6+
7+
import javax.validation.Valid;
8+
import javax.validation.constraints.NotNull;
9+
import java.time.Duration;
10+
11+
public class NormalArbeidstid {
12+
@JsonProperty(value = "timerPerUke", required = true)
13+
@DurationMin(hours = 0, minutes = 1, message = "[ugyldigVerdi] Må være større enn 0.")
14+
@DurationMax(hours = 40, message = "[ugyldigVerdi] Må være lavere eller lik 40 timer.")
15+
@NotNull
16+
@Valid
17+
private Duration timerPerUke;
18+
19+
public NormalArbeidstid(@JsonProperty(value = "timerPerUke", required = true) @Valid Duration timerPerUke) {
20+
this.timerPerUke = timerPerUke;
21+
}
22+
23+
public NormalArbeidstid() {
24+
}
25+
26+
public Duration getTimerPerUke() {
27+
return timerPerUke;
28+
}
29+
30+
public NormalArbeidstid medTimerPerUke(Duration timerPerUke) {
31+
this.timerPerUke = timerPerUke;
32+
return this;
33+
}
34+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
package no.nav.k9.søknad.ytelse.psb.v1;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import no.nav.k9.søknad.felles.type.Organisasjonsnummer;
5+
6+
import javax.validation.Valid;
7+
8+
public class UkjentArbeidsforhold {
9+
@JsonProperty(value = "organisasjonsnummer", required = true)
10+
@Valid
11+
private Organisasjonsnummer organisasjonsnummer;
12+
13+
@JsonProperty(value = "erAnsatt", required = true)
14+
@Valid
15+
private Boolean erAnsatt;
16+
17+
@JsonProperty(value = "normalarbeidstid")
18+
@Valid
19+
private NormalArbeidstid normalarbeidstid;
20+
21+
@JsonProperty(value = "arbeiderIPerioden")
22+
@Valid
23+
private ArbeiderIPeriodenSvar arbeiderIPerioden;
24+
25+
public UkjentArbeidsforhold(
26+
@JsonProperty(value = "organisasjonsnummer", required = true) @Valid Organisasjonsnummer organisasjonsnummer,
27+
@JsonProperty(value = "erAnsatt", required = true) @Valid Boolean erAnsatt,
28+
@JsonProperty(value = "normalarbeidstid") @Valid NormalArbeidstid normalarbeidstid,
29+
@JsonProperty(value = "arbeiderIPerioden") @Valid ArbeiderIPeriodenSvar arbeiderIPerioden
30+
) {
31+
this.organisasjonsnummer = organisasjonsnummer;
32+
this.erAnsatt = erAnsatt;
33+
this.normalarbeidstid = normalarbeidstid;
34+
this.arbeiderIPerioden = arbeiderIPerioden;
35+
}
36+
37+
public UkjentArbeidsforhold() {
38+
}
39+
40+
public Organisasjonsnummer getOrganisasjonsnummer() {
41+
return organisasjonsnummer;
42+
}
43+
44+
public UkjentArbeidsforhold medOrganisasjonsnummer(Organisasjonsnummer organisasjonsnummer) {
45+
this.organisasjonsnummer = organisasjonsnummer;
46+
return this;
47+
}
48+
49+
public boolean isErAnsatt() {
50+
return erAnsatt;
51+
}
52+
53+
public UkjentArbeidsforhold medErAnsatt(Boolean erAnsatt) {
54+
this.erAnsatt = erAnsatt;
55+
return this;
56+
}
57+
58+
public NormalArbeidstid getNormalarbeidstid() {
59+
return normalarbeidstid;
60+
}
61+
62+
public UkjentArbeidsforhold medNormalarbeidstid(NormalArbeidstid normalarbeidstid) {
63+
this.normalarbeidstid = normalarbeidstid;
64+
return this;
65+
}
66+
67+
public ArbeiderIPeriodenSvar getArbeiderIPerioden() {
68+
return arbeiderIPerioden;
69+
}
70+
71+
public UkjentArbeidsforhold medArbeiderIPerioden(ArbeiderIPeriodenSvar arbeiderIPerioden) {
72+
this.arbeiderIPerioden = arbeiderIPerioden;
73+
return this;
74+
}
75+
}

soknad/src/test/java/no/nav/k9/søknad/ytelse/psb/YtelseEksempel.java

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

33
import java.time.Duration;
4+
import java.util.Arrays;
45
import java.util.HashMap;
56
import java.util.List;
67

@@ -11,14 +12,7 @@
1112
import no.nav.k9.søknad.felles.type.Landkode;
1213
import no.nav.k9.søknad.felles.type.Organisasjonsnummer;
1314
import no.nav.k9.søknad.felles.type.Periode;
14-
import no.nav.k9.søknad.ytelse.psb.v1.Beredskap;
15-
import no.nav.k9.søknad.ytelse.psb.v1.DataBruktTilUtledning;
16-
import no.nav.k9.søknad.ytelse.psb.v1.InfoFraPunsj;
17-
import no.nav.k9.søknad.ytelse.psb.v1.LovbestemtFerie;
18-
import no.nav.k9.søknad.ytelse.psb.v1.Nattevåk;
19-
import no.nav.k9.søknad.ytelse.psb.v1.Omsorg;
20-
import no.nav.k9.søknad.ytelse.psb.v1.PleiepengerSyktBarn;
21-
import no.nav.k9.søknad.ytelse.psb.v1.Uttak;
15+
import no.nav.k9.søknad.ytelse.psb.v1.*;
2216
import no.nav.k9.søknad.ytelse.psb.v1.Uttak.UttakPeriodeInfo;
2317
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.Arbeidstaker;
2418
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.Arbeidstid;
@@ -39,7 +33,13 @@ public class YtelseEksempel {
3933

4034
public static PleiepengerSyktBarn komplettYtelseMedSøknadsperiode(Periode søknadsperiode, Periode lovbestemtFeriePeriode, Periode utenlandsperiode, Periode bostedperiode) {
4135
var søknadInfo = new DataBruktTilUtledning(true, true,
42-
false, false, "abc-123", true);
36+
false, false, "abc-123", true, Arrays.asList(
37+
new UkjentArbeidsforhold()
38+
.medOrganisasjonsnummer(Organisasjonsnummer.of("888888888"))
39+
.medErAnsatt(true)
40+
.medNormalarbeidstid(new NormalArbeidstid().medTimerPerUke(Duration.ofHours(7).plusMinutes(30)))
41+
.medArbeiderIPerioden(ArbeiderIPeriodenSvar.SOM_VANLIG)
42+
));
4343
var infoFraPunsj = new InfoFraPunsj()
4444
.medSøknadenInneholderInfomasjonSomIkkeKanPunsjes(false);
4545

soknad/src/test/resources/ytelse/psb/komplett-søknad.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,17 @@
2121
"samtidigHjemme" : false,
2222
"harMedsøker" : false,
2323
"soknadDialogCommitSha": "abc-123",
24-
"bekrefterPeriodeOver8Uker" : true
24+
"bekrefterPeriodeOver8Uker" : true,
25+
"ukjenteArbeidsforhold": [
26+
{
27+
"organisasjonsnummer": "888888888",
28+
"erAnsatt": true,
29+
"normalarbeidstid": {
30+
"timerPerUke": "PT37H30M"
31+
},
32+
"arbeiderIPerioden": "SOM_VANLIG"
33+
}
34+
]
2535
},
2636
"infoFraPunsj" : {
2737
"søknadenInneholderInfomasjonSomIkkeKanPunsjes" : false,

0 commit comments

Comments
 (0)