Skip to content

Commit

Permalink
Merge branch 'master' into dependabot/maven/dev-deps-6ab2dafd49
Browse files Browse the repository at this point in the history
  • Loading branch information
jolarsen authored Jan 20, 2024
2 parents f4ac208 + 9933bfe commit bb7e596
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
package no.nav.foreldrepenger.vtp.kontrakter.v2;

/*
* Ytvalg fra kodeverkene Loennsbeskrivelse, Næringsinntektbeskrivelse, PensjonEllerTrygdBeskrivelse, YtelseFraOffentligeBeskrivelse
*/
public enum InntektYtelseType {

// Loennsbeskrivelse - Lønn
FASTLØNN(InntektType.LØNNSINNTEKT, "fastloenn"),
FERIEPENGER(InntektType.LØNNSINNTEKT, "feriepenger"),
KOMMUNAL_OMSORGSLØNN_MM(InntektType.LØNNSINNTEKT, "kommunalOmsorgsloennOgFosterhjemsgodtgjoerelse"), // Tilkommet for K9

// YtelseFraOffentligeBeskrivelse - Ytelse utbetalt til person som er arbeidstaker/frilanser/ytelsesmottaker
AAP(InntektType.YTELSE_FRA_OFFENTLIGE, "arbeidsavklaringspenger"),
DAGPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "dagpengerVedArbeidsloeshet"),
DAGPENGER_FISKER_HYRE(InntektType.YTELSE_FRA_OFFENTLIGE, "dagpengerTilFiskerSomBareHarHyre"),
FORELDREPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "foreldrepenger"),
SVANGERSKAPSPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "svangerskapspenger"),
SYKEPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "sykepenger"),
SYKEPENGER_FISKER_HYRE(InntektType.YTELSE_FRA_OFFENTLIGE, "sykepengerTilFiskerSomBareHarHyre"),
OMSORGSPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "omsorgspenger"),
OPPLÆRINGSPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "opplaeringspenger"),
PLEIEPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "pleiepenger"),
OVERGANGSSTØNAD_ENSLIG(InntektType.YTELSE_FRA_OFFENTLIGE, "overgangsstoenadTilEnsligMorEllerFarSomBegynteAaLoepe1April2014EllerSenere"),
VENTELØNN(InntektType.YTELSE_FRA_OFFENTLIGE, "venteloenn"),

FERIEPENGER_FORELDREPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "feriepengerForeldrepenger"),
FERIEPENGER_SVANGERSKAPSPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "feriepengerSvangerskapspenger"),
FERIEPENGER_OMSORGSPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "feriepengerOmsorgspenger"),
FERIEPENGER_OPPLÆRINGSPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "feriepengerOpplaeringspenger"),
FERIEPENGER_PLEIEPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "feriepengerPleiepenger"),
FERIEPENGER_SYKEPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "feriepengerSykepenger"),
FERIEPENGER_SYKEPENGER_FISKER_HYRE(InntektType.YTELSE_FRA_OFFENTLIGE, "feriepengerSykepengerTilFiskerSomBareHarHyre"),
FERIETILLEGG_DAGPENGER(InntektType.YTELSE_FRA_OFFENTLIGE, "ferietilleggDagpengerVedArbeidsloeshet"),
FERIETILLEGG_DAGPENGER_FISKER_HYRE(InntektType.YTELSE_FRA_OFFENTLIGE, "ferietilleggDagpengerTilFiskerSomBareHarHyre"),

// PensjonEllerTrygdBeskrivelse - Annen ytelse utbetalt til person
KVALIFISERINGSSTØNAD(InntektType.PENSJON_ELLER_TRYGD, "kvalifiseringstoenad"),

// Næringsinntektbeskrivelse, Ytelse utbetalt til person som er næringsdrivende, fisker/lott, dagmamma eller jord/skogbruker
FORELDREPENGER_NÆRING(InntektType.NÆRINGSINNTEKT, "foreldrepenger"),
FORELDREPENGER_NÆRING_DAGMAMMA(InntektType.NÆRINGSINNTEKT, "foreldrepengerTilDagmamma"),
FORELDREPENGER_NÆRING_FISKER(InntektType.NÆRINGSINNTEKT, "foreldrepengerTilFisker"),
FORELDREPENGER_NÆRING_JORDBRUK(InntektType.NÆRINGSINNTEKT, "foreldrepengerTilJordOgSkogbrukere"),
SVANGERSKAPSPENGER_NÆRING(InntektType.NÆRINGSINNTEKT, "svangerskapspenger"),
SYKEPENGER_NÆRING(InntektType.NÆRINGSINNTEKT, "sykepenger"),
SYKEPENGER_NÆRING_DAGMAMMA(InntektType.NÆRINGSINNTEKT, "sykepengerTilDagmamma"),
SYKEPENGER_NÆRING_FISKER(InntektType.NÆRINGSINNTEKT, "sykepengerTilFisker"),
SYKEPENGER_NÆRING_JORDBRUK(InntektType.NÆRINGSINNTEKT, "sykepengerTilJordOgSkogbrukere"),
OMSORGSPENGER_NÆRING(InntektType.NÆRINGSINNTEKT, "omsorgspenger"),
OMSORGSPENGER_NÆRING_DAGMAMMA(InntektType.NÆRINGSINNTEKT, "omsorgspengerTilDagmamma"),
OMSORGSPENGER_NÆRING_FISKER(InntektType.NÆRINGSINNTEKT, "omsorgspengerTilFisker"),
OMSORGSPENGER_NÆRING_JORDBRUK(InntektType.NÆRINGSINNTEKT, "omsorgspengerTilJordOgSkogbrukere"),
OPPLÆRINGSPENGER_NÆRING(InntektType.NÆRINGSINNTEKT, "opplaeringspenger"),
PLEIEPENGER_NÆRING(InntektType.NÆRINGSINNTEKT, "pleiepenger"),
PLEIEPENGER_NÆRING_DAGMAMMA(InntektType.NÆRINGSINNTEKT, "pleiepengerTilDagmamma"),
PLEIEPENGER_NÆRING_FISKER(InntektType.NÆRINGSINNTEKT, "pleiepengerTilFisker"),
PLEIEPENGER_NÆRING_JORDBRUK(InntektType.NÆRINGSINNTEKT, "pleiepengerTilJordOgSkogbrukere"),
DAGPENGER_NÆRING(InntektType.NÆRINGSINNTEKT, "dagpengerVedArbeidsloeshet"),
DAGPENGER_NÆRING_FISKER(InntektType.NÆRINGSINNTEKT, "dagpengerTilFisker"),

// Annen ytelse utbetalt til person som er næringsdrivende
ANNET(InntektType.NÆRINGSINNTEKT, "annet"),
VEDERLAG(InntektType.NÆRINGSINNTEKT, "vederlag"),
VEDERLAG_DAGMAMMA(InntektType.NÆRINGSINNTEKT, "vederlagDagmammaIEgetHjem"),
LOTT_KUN_TRYGDEAVGIFT(InntektType.NÆRINGSINNTEKT, "lottKunTrygdeavgift"),
KOMPENSASJON_FOR_TAPT_PERSONINNTEKT(InntektType.NÆRINGSINNTEKT, "kompensasjonForTaptPersoninntekt")
;

private final InntektType inntektType;
private final String beskrivelse; // Finnes i feltet beskrivelse i Inntektskomponentens felt Inntekt . beskrivelse

InntektYtelseType(InntektType inntektType, String offisiellKode) {
this.inntektType = inntektType;
this.beskrivelse = offisiellKode;
}

public InntektType getInntektType() {
return inntektType;
}

public String getBeskrivelse() {
return beskrivelse;
}

public enum InntektType {
LØNNSINNTEKT,
NÆRINGSINNTEKT,
PENSJON_ELLER_TRYGD,
YTELSE_FRA_OFFENTLIGE
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,28 @@ public record InntektsperiodeDto(LocalDate fom,
LocalDate tom,
Integer beløp,
InntektTypeDto inntektType,
InntektYtelseType inntektYtelseType,
InntektFordelDto inntektFordel,
Arbeidsgiver arbeidsgiver) {

public InntektsperiodeDto(LocalDate fom,
LocalDate tom,
Integer beløp,
InntektTypeDto inntektType,
InntektFordelDto inntektFordel,
Arbeidsgiver arbeidsgiver) {
this(fom, tom, beløp, inntektType, null, inntektFordel, arbeidsgiver);
}

public InntektsperiodeDto(LocalDate fom,
LocalDate tom,
Integer beløp,
InntektYtelseType inntektYtelseType,
InntektFordelDto inntektFordel,
Arbeidsgiver arbeidsgiver) {
this(fom, tom, beløp, null, inntektYtelseType, inntektFordel, arbeidsgiver);
}

public enum InntektTypeDto {
LØNNSINNTEKT,
NÆRINGSINNTEKT,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,8 @@ private static List<Inntektsperiode> tilInntektsperioder(List<InntektsperiodeDto
}

private static Inntektsperiode tilInntektsperiode(InntektsperiodeDto i, Map<UUID, BrukerModell> allePersoner) {
return new Inntektsperiode(i.fom(), i.tom(), null, i.beløp(), tilOrgnummer(i.arbeidsgiver()), tilInntektType(i.inntektType()),
tilInntektFordel(i.inntektFordel()), INNTEKTPERIODE_BESKRIVELSE, null, null,
return new Inntektsperiode(i.fom(), i.tom(), null, i.beløp(), tilOrgnummer(i.arbeidsgiver()), tilInntektType(i),
tilInntektFordel(i.inntektFordel()), tilBeskrivelse(i), null, null,
null,
tilPrivatArbeidgiver(i.arbeidsgiver(), allePersoner));
}
Expand All @@ -216,13 +216,32 @@ private static InntektFordel tilInntektFordel(InntektsperiodeDto.InntektFordelDt
};
}

private static InntektType tilInntektType(InntektsperiodeDto.InntektTypeDto inntektTypeDto) {
return switch (inntektTypeDto) {
case LØNNSINNTEKT -> InntektType.LØNNSINNTEKT;
case NÆRINGSINNTEKT -> InntektType.NÆRINGSINNTEKT;
case PENSJON_ELLER_TRYGD -> InntektType.PENSJON_ELLER_TRYGD;
case YTELSE_FRA_OFFENTLIGE -> InntektType.YTELSE_FRA_OFFENTLIGE;
};
private static InntektType tilInntektType(InntektsperiodeDto inntektsperiodeDto) {
if (inntektsperiodeDto.inntektYtelseType() != null) {
return switch (inntektsperiodeDto.inntektYtelseType().getInntektType()) {
case LØNNSINNTEKT -> InntektType.LØNNSINNTEKT;
case NÆRINGSINNTEKT -> InntektType.NÆRINGSINNTEKT;
case PENSJON_ELLER_TRYGD -> InntektType.PENSJON_ELLER_TRYGD;
case YTELSE_FRA_OFFENTLIGE -> InntektType.YTELSE_FRA_OFFENTLIGE;
};
} else if (inntektsperiodeDto.inntektType() != null) {
return switch (inntektsperiodeDto.inntektType()) {
case LØNNSINNTEKT -> InntektType.LØNNSINNTEKT;
case NÆRINGSINNTEKT -> InntektType.NÆRINGSINNTEKT;
case PENSJON_ELLER_TRYGD -> InntektType.PENSJON_ELLER_TRYGD;
case YTELSE_FRA_OFFENTLIGE -> InntektType.YTELSE_FRA_OFFENTLIGE;
};
} else {
return InntektType.LØNNSINNTEKT;
}
}

private static String tilBeskrivelse(InntektsperiodeDto inntektsperiodeDto) {
if (inntektsperiodeDto.inntektYtelseType() != null) {
return inntektsperiodeDto.inntektYtelseType().getBeskrivelse();
} else {
return INNTEKTPERIODE_BESKRIVELSE;
}
}

private static TRexModell tilTrex(InfotrygdDto infotrygd) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import no.nav.foreldrepenger.vtp.kontrakter.v2.FamilierelasjonModellDto;
import no.nav.foreldrepenger.vtp.kontrakter.v2.GeografiskTilknytningDto;
import no.nav.foreldrepenger.vtp.kontrakter.v2.InntektYtelseModellDto;
import no.nav.foreldrepenger.vtp.kontrakter.v2.InntektYtelseType;
import no.nav.foreldrepenger.vtp.kontrakter.v2.InntektkomponentDto;
import no.nav.foreldrepenger.vtp.kontrakter.v2.InntektsperiodeDto;
import no.nav.foreldrepenger.vtp.kontrakter.v2.Kjønn;
Expand Down Expand Up @@ -52,8 +53,8 @@ void roundtripTestAvOpprettingAvTestcenario() {
null,
null,
new InntektkomponentDto(
List.of(new InntektsperiodeDto(LocalDate.now(), null, 2000, InntektsperiodeDto.InntektTypeDto.LØNNSINNTEKT,
InntektsperiodeDto.InntektFordelDto.KONTANTYTELSE, new PrivatArbeidsgiver(privateAG)))),
List.of(new InntektsperiodeDto(LocalDate.now(), null, 2000,
InntektYtelseType.FASTLØNN, InntektsperiodeDto.InntektFordelDto.KONTANTYTELSE, new PrivatArbeidsgiver(privateAG)))),
null,
null,
null))
Expand All @@ -64,8 +65,8 @@ InntektsperiodeDto.InntektFordelDto.KONTANTYTELSE, new PrivatArbeidsgiver(privat
null,
null,
new InntektkomponentDto(
List.of(new InntektsperiodeDto(LocalDate.now(), null, 2000, InntektsperiodeDto.InntektTypeDto.LØNNSINNTEKT,
InntektsperiodeDto.InntektFordelDto.KONTANTYTELSE, new OrganisasjonDto(new Orgnummer("99999999"), null)))),
List.of(new InntektsperiodeDto(LocalDate.now(), null, 2000,
InntektYtelseType.FASTLØNN, InntektsperiodeDto.InntektFordelDto.KONTANTYTELSE, new OrganisasjonDto(new Orgnummer("99999999"), null)))),
null,
null,
null))
Expand Down

0 comments on commit bb7e596

Please sign in to comment.