Skip to content

Commit

Permalink
Legger til info om UkjentArbeidsforhold i DataBruktTilUtledning. (#361)
Browse files Browse the repository at this point in the history
  • Loading branch information
ramrock93 authored May 24, 2023
1 parent fb4e1ad commit 60d50f7
Show file tree
Hide file tree
Showing 6 changed files with 153 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package no.nav.k9.søknad.ytelse.psb.v1;

public enum ArbeiderIPeriodenSvar {
SOM_VANLIG,
REDUSERT,
HELT_FRAVÆR
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.fasterxml.jackson.annotation.JsonProperty;

import javax.validation.Valid;
import java.util.List;

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

@JsonProperty(value = "ukjenteArbeidsforhold")
@Valid
private List<UkjentArbeidsforhold> ukjenteArbeidsforhold;

@JsonCreator
public DataBruktTilUtledning(@JsonProperty(value = "harForståttRettigheterOgPlikter") @Valid Boolean harForståttRettigheterOgPlikter,
@JsonProperty(value = "harBekreftetOpplysninger") @Valid Boolean harBekreftetOpplysninger,
@JsonProperty(value = "samtidigHjemme") @Valid Boolean samtidigHjemme,
@JsonProperty(value = "harMedsøker") @Valid Boolean harMedsøker,
@JsonProperty(value = "soknadDialogCommitSha") @Valid String soknadDialogCommitSha,
@JsonProperty(value = "bekrefterPeriodeOver8Uker") @Valid Boolean bekrefterPeriodeOver8Uker) {
@JsonProperty(value = "bekrefterPeriodeOver8Uker") @Valid Boolean bekrefterPeriodeOver8Uker,
@JsonProperty(value = "ukjenteArbeidsforhold") @Valid List<UkjentArbeidsforhold> ukjenteArbeidsforhold
) {

this.harForståttRettigheterOgPlikter = harForståttRettigheterOgPlikter;
this.harBekreftetOpplysninger = harBekreftetOpplysninger;
this.samtidigHjemme = samtidigHjemme;
this.harMedsøker = harMedsøker;
this.soknadDialogCommitSha = soknadDialogCommitSha;
this.bekrefterPeriodeOver8Uker = bekrefterPeriodeOver8Uker;
this.ukjenteArbeidsforhold = ukjenteArbeidsforhold;
}

public DataBruktTilUtledning() {
Expand Down Expand Up @@ -109,4 +116,13 @@ public DataBruktTilUtledning medBekrefterPeriodeOver8Uker(Boolean bekrefterPerio
this.bekrefterPeriodeOver8Uker = bekrefterPeriodeOver8Uker;
return this;
}

public List<UkjentArbeidsforhold> getUkjenteArbeidsforhold() {
return ukjenteArbeidsforhold;
}

public DataBruktTilUtledning medUkjenteArbeidsforhold(List<UkjentArbeidsforhold> ukjenteArbeidsforhold) {
this.ukjenteArbeidsforhold = ukjenteArbeidsforhold;
return this;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package no.nav.k9.søknad.ytelse.psb.v1;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.hibernate.validator.constraints.time.DurationMax;
import org.hibernate.validator.constraints.time.DurationMin;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.time.Duration;

public class NormalArbeidstid {
@JsonProperty(value = "timerPerUke", required = true)
@DurationMin(hours = 0, minutes = 1, message = "[ugyldigVerdi] Må være større enn 0.")
@DurationMax(hours = 40, message = "[ugyldigVerdi] Må være lavere eller lik 40 timer.")
@NotNull
@Valid
private Duration timerPerUke;

public NormalArbeidstid(@JsonProperty(value = "timerPerUke", required = true) @Valid Duration timerPerUke) {
this.timerPerUke = timerPerUke;
}

public NormalArbeidstid() {
}

public Duration getTimerPerUke() {
return timerPerUke;
}

public NormalArbeidstid medTimerPerUke(Duration timerPerUke) {
this.timerPerUke = timerPerUke;
return this;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package no.nav.k9.søknad.ytelse.psb.v1;

import com.fasterxml.jackson.annotation.JsonProperty;
import no.nav.k9.søknad.felles.type.Organisasjonsnummer;

import javax.validation.Valid;

public class UkjentArbeidsforhold {
@JsonProperty(value = "organisasjonsnummer", required = true)
@Valid
private Organisasjonsnummer organisasjonsnummer;

@JsonProperty(value = "erAnsatt", required = true)
@Valid
private Boolean erAnsatt;

@JsonProperty(value = "normalarbeidstid")
@Valid
private NormalArbeidstid normalarbeidstid;

@JsonProperty(value = "arbeiderIPerioden")
@Valid
private ArbeiderIPeriodenSvar arbeiderIPerioden;

public UkjentArbeidsforhold(
@JsonProperty(value = "organisasjonsnummer", required = true) @Valid Organisasjonsnummer organisasjonsnummer,
@JsonProperty(value = "erAnsatt", required = true) @Valid Boolean erAnsatt,
@JsonProperty(value = "normalarbeidstid") @Valid NormalArbeidstid normalarbeidstid,
@JsonProperty(value = "arbeiderIPerioden") @Valid ArbeiderIPeriodenSvar arbeiderIPerioden
) {
this.organisasjonsnummer = organisasjonsnummer;
this.erAnsatt = erAnsatt;
this.normalarbeidstid = normalarbeidstid;
this.arbeiderIPerioden = arbeiderIPerioden;
}

public UkjentArbeidsforhold() {
}

public Organisasjonsnummer getOrganisasjonsnummer() {
return organisasjonsnummer;
}

public UkjentArbeidsforhold medOrganisasjonsnummer(Organisasjonsnummer organisasjonsnummer) {
this.organisasjonsnummer = organisasjonsnummer;
return this;
}

public boolean isErAnsatt() {
return erAnsatt;
}

public UkjentArbeidsforhold medErAnsatt(Boolean erAnsatt) {
this.erAnsatt = erAnsatt;
return this;
}

public NormalArbeidstid getNormalarbeidstid() {
return normalarbeidstid;
}

public UkjentArbeidsforhold medNormalarbeidstid(NormalArbeidstid normalarbeidstid) {
this.normalarbeidstid = normalarbeidstid;
return this;
}

public ArbeiderIPeriodenSvar getArbeiderIPerioden() {
return arbeiderIPerioden;
}

public UkjentArbeidsforhold medArbeiderIPerioden(ArbeiderIPeriodenSvar arbeiderIPerioden) {
this.arbeiderIPerioden = arbeiderIPerioden;
return this;
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package no.nav.k9.søknad.ytelse.psb;

import java.time.Duration;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

Expand All @@ -11,14 +12,7 @@
import no.nav.k9.søknad.felles.type.Landkode;
import no.nav.k9.søknad.felles.type.Organisasjonsnummer;
import no.nav.k9.søknad.felles.type.Periode;
import no.nav.k9.søknad.ytelse.psb.v1.Beredskap;
import no.nav.k9.søknad.ytelse.psb.v1.DataBruktTilUtledning;
import no.nav.k9.søknad.ytelse.psb.v1.InfoFraPunsj;
import no.nav.k9.søknad.ytelse.psb.v1.LovbestemtFerie;
import no.nav.k9.søknad.ytelse.psb.v1.Nattevåk;
import no.nav.k9.søknad.ytelse.psb.v1.Omsorg;
import no.nav.k9.søknad.ytelse.psb.v1.PleiepengerSyktBarn;
import no.nav.k9.søknad.ytelse.psb.v1.Uttak;
import no.nav.k9.søknad.ytelse.psb.v1.*;
import no.nav.k9.søknad.ytelse.psb.v1.Uttak.UttakPeriodeInfo;
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.Arbeidstaker;
import no.nav.k9.søknad.ytelse.psb.v1.arbeidstid.Arbeidstid;
Expand All @@ -39,7 +33,13 @@ public class YtelseEksempel {

public static PleiepengerSyktBarn komplettYtelseMedSøknadsperiode(Periode søknadsperiode, Periode lovbestemtFeriePeriode, Periode utenlandsperiode, Periode bostedperiode) {
var søknadInfo = new DataBruktTilUtledning(true, true,
false, false, "abc-123", true);
false, false, "abc-123", true, Arrays.asList(
new UkjentArbeidsforhold()
.medOrganisasjonsnummer(Organisasjonsnummer.of("888888888"))
.medErAnsatt(true)
.medNormalarbeidstid(new NormalArbeidstid().medTimerPerUke(Duration.ofHours(7).plusMinutes(30)))
.medArbeiderIPerioden(ArbeiderIPeriodenSvar.SOM_VANLIG)
));
var infoFraPunsj = new InfoFraPunsj()
.medSøknadenInneholderInfomasjonSomIkkeKanPunsjes(false);

Expand Down
12 changes: 11 additions & 1 deletion soknad/src/test/resources/ytelse/psb/komplett-søknad.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,17 @@
"samtidigHjemme" : false,
"harMedsøker" : false,
"soknadDialogCommitSha": "abc-123",
"bekrefterPeriodeOver8Uker" : true
"bekrefterPeriodeOver8Uker" : true,
"ukjenteArbeidsforhold": [
{
"organisasjonsnummer": "888888888",
"erAnsatt": true,
"normalarbeidstid": {
"timerPerUke": "PT37H30M"
},
"arbeiderIPerioden": "SOM_VANLIG"
}
]
},
"infoFraPunsj" : {
"søknadenInneholderInfomasjonSomIkkeKanPunsjes" : false,
Expand Down

0 comments on commit 60d50f7

Please sign in to comment.