Skip to content

Commit 67aeac6

Browse files
authoredMar 30, 2022
VedtakFattet uten relasjon til IAY-kodeverk (#1855)
1 parent bcd50ba commit 67aeac6

File tree

11 files changed

+253
-393
lines changed

11 files changed

+253
-393
lines changed
 

‎domenetjenester/vedtak/src/main/java/no/nav/foreldrepenger/abakus/vedtak/extract/v1/ExtractFromYtelseV1.java

+23-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package no.nav.foreldrepenger.abakus.vedtak.extract.v1;
22

3-
import java.util.Optional;
43
import java.util.UUID;
54

65
import javax.enterprise.context.ApplicationScoped;
@@ -44,8 +43,8 @@ public ExtractFromYtelseV1(VedtakYtelseRepository repository) {
4443

4544
@Override
4645
public VedtakYtelseBuilder extractFrom(YtelseV1 ytelse) {
47-
Fagsystem fagsystem = Optional.ofNullable(ytelse.getKildesystem()).map(this::mapKildesystem).orElseGet(ytelse::getFagsystem);
48-
no.nav.abakus.iaygrunnlag.kodeverk.YtelseType ytelseType = getYtelseType(ytelse.getType(), ytelse.getYtelse());
46+
Fagsystem fagsystem = mapKildesystem(ytelse.getKildesystem());
47+
no.nav.abakus.iaygrunnlag.kodeverk.YtelseType ytelseType = getYtelseType(ytelse.getYtelse());
4948
Saksnummer saksnummer = new Saksnummer(ytelse.getSaksnummer());
5049
AktørId aktørId = new AktørId(ytelse.getAktør().getVerdi());
5150

@@ -57,7 +56,7 @@ public VedtakYtelseBuilder extractFrom(YtelseV1 ytelse) {
5756
.medKilde(fagsystem)
5857
.medYtelseType(ytelseType)
5958
.medPeriode(mapTilEntitet(ytelse.getPeriode()))
60-
.medStatus(mapStatus(ytelse.getStatus(), ytelse.getYtelseStatus()))
59+
.medStatus(mapStatus(ytelse.getYtelseStatus()))
6160
.medTilleggsopplysninger(ytelse.getTilleggsopplysninger())
6261
.tilbakestillAnvisteYtelser();
6362

@@ -78,7 +77,7 @@ private void mapAnvisning(VedtakYtelseBuilder builder, Anvisning anv) {
7877

7978
private VedtakYtelseAndelBuilder mapFordeling(AnvistAndel andel) {
8079
return VedtakYtelseAndelBuilder.ny()
81-
.medInntektskategori(mapInntektsklasse(andel.getInntektskategori(), andel.getInntektklasse()))
80+
.medInntektskategori(mapInntektsklasse(andel.getInntektklasse()))
8281
.medDagsats(andel.getDagsats().getVerdi())
8382
.medUtbetalingsgrad(andel.getUtbetalingsgrad().getVerdi())
8483
.medRefusjonsgrad(andel.getRefusjonsgrad().getVerdi())
@@ -93,9 +92,9 @@ private Fagsystem mapKildesystem(Kildesystem kildesystem) {
9392
};
9493
}
9594

96-
private YtelseStatus mapStatus(YtelseStatus ytelseStatus, Status status) {
95+
private YtelseStatus mapStatus(Status status) {
9796
if (status == null) {
98-
return ytelseStatus != null ? ytelseStatus : YtelseStatus.UDEFINERT;
97+
return YtelseStatus.UDEFINERT;
9998
}
10099
return switch (status) {
101100
case UNDER_BEHANDLING -> YtelseStatus.UNDER_BEHANDLING;
@@ -116,9 +115,9 @@ private IntervallEntitet mapTilEntitet(Periode periode) {
116115
return IntervallEntitet.fraOgMedTilOgMed(periode.getFom(), periode.getTom());
117116
}
118117

119-
private YtelseType getYtelseType(YtelseType kodeverk, Ytelser ytelse) {
118+
private YtelseType getYtelseType(Ytelser ytelse) {
120119
if (ytelse == null) {
121-
return kodeverk != null ? kodeverk : YtelseType.UDEFINERT;
120+
return YtelseType.UDEFINERT;
122121
}
123122
return switch (ytelse) {
124123
case PLEIEPENGER_SYKT_BARN -> YtelseType.PLEIEPENGER_SYKT_BARN;
@@ -134,12 +133,23 @@ private YtelseType getYtelseType(YtelseType kodeverk, Ytelser ytelse) {
134133
};
135134
}
136135

137-
private Inntektskategori mapInntektsklasse(Inntektskategori inntektskategori, Inntektklasse inntektklasse) {
136+
private Inntektskategori mapInntektsklasse(Inntektklasse inntektklasse) {
138137
if (inntektklasse == null) {
139-
return inntektskategori != null ? inntektskategori : Inntektskategori.UDEFINERT;
138+
return Inntektskategori.UDEFINERT;
140139
}
141-
return AnvistAndel.fraInntektklasse(inntektklasse);
142-
140+
return switch (inntektklasse) {
141+
case ARBEIDSTAKER -> Inntektskategori.ARBEIDSTAKER;
142+
case ARBEIDSTAKER_UTEN_FERIEPENGER -> Inntektskategori.ARBEIDSTAKER_UTEN_FERIEPENGER;
143+
case FRILANSER -> Inntektskategori.FRILANSER;
144+
case SELVSTENDIG_NÆRINGSDRIVENDE -> Inntektskategori.SELVSTENDIG_NÆRINGSDRIVENDE;
145+
case DAGPENGER -> Inntektskategori.DAGPENGER;
146+
case ARBEIDSAVKLARINGSPENGER -> Inntektskategori.ARBEIDSAVKLARINGSPENGER;
147+
case MARITIM -> Inntektskategori.SJØMANN;
148+
case DAGMAMMA -> Inntektskategori.DAGMAMMA;
149+
case JORDBRUKER -> Inntektskategori.JORDBRUKER;
150+
case FISKER -> Inntektskategori.FISKER;
151+
default -> Inntektskategori.UDEFINERT;
152+
};
143153
}
144154

145155
}

‎domenetjenester/vedtak/src/main/java/no/nav/foreldrepenger/abakus/vedtak/tjeneste/EksternDelingAvYtelserRestTjeneste.java

+19-4
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import no.nav.abakus.iaygrunnlag.AktørIdPersonident;
2929
import no.nav.abakus.iaygrunnlag.Organisasjon;
3030
import no.nav.abakus.iaygrunnlag.kodeverk.Fagsystem;
31+
import no.nav.abakus.iaygrunnlag.kodeverk.Inntektskategori;
3132
import no.nav.abakus.iaygrunnlag.kodeverk.YtelseStatus;
3233
import no.nav.abakus.iaygrunnlag.kodeverk.YtelseType;
3334
import no.nav.abakus.iaygrunnlag.request.HentBrukersK9YtelserIPeriodeRequest;
@@ -42,6 +43,7 @@
4243
import no.nav.abakus.vedtak.ytelse.v1.YtelseV1;
4344
import no.nav.abakus.vedtak.ytelse.v1.anvisning.Anvisning;
4445
import no.nav.abakus.vedtak.ytelse.v1.anvisning.AnvistAndel;
46+
import no.nav.abakus.vedtak.ytelse.v1.anvisning.Inntektklasse;
4547
import no.nav.foreldrepenger.abakus.aktor.AktørTjeneste;
4648
import no.nav.foreldrepenger.abakus.felles.jpa.IntervallEntitet;
4749
import no.nav.foreldrepenger.abakus.typer.AktørId;
@@ -161,13 +163,10 @@ private Ytelse mapLagretVedtakTilYtelse(VedtakYtelse vedtak) {
161163
aktør.setVerdi(vedtak.getAktør().getId());
162164
ytelse.setAktør(aktør);
163165
ytelse.setVedtattTidspunkt(vedtak.getVedtattTidspunkt());
164-
ytelse.setType(vedtak.getYtelseType());
165166
ytelse.setYtelse(mapYtelser(vedtak.getYtelseType()));
166167
ytelse.setSaksnummer(vedtak.getSaksnummer().getVerdi());
167168
ytelse.setVedtakReferanse(vedtak.getVedtakReferanse().toString());
168-
ytelse.setStatus(vedtak.getStatus());
169169
ytelse.setYtelseStatus(mapStatus(vedtak.getStatus()));
170-
ytelse.setFagsystem(vedtak.getKilde());
171170
ytelse.setKildesystem(mapKildesystem(vedtak.getKilde()));
172171
ytelse.setTilleggsopplysninger(vedtak.getTilleggsopplysninger());
173172
var periode = new Periode();
@@ -200,7 +199,7 @@ private List<AnvistAndel> mapAndeler(YtelseAnvist anvist) {
200199
new Desimaltall(a.getDagsats().getVerdi()),
201200
a.getUtbetalingsgradProsent() == null ? null : new Desimaltall(a.getUtbetalingsgradProsent().getVerdi()),
202201
a.getRefusjonsgradProsent() == null ? null : new Desimaltall(a.getRefusjonsgradProsent().getVerdi()),
203-
a.getInntektskategori()
202+
fraInntektskategori(a.getInntektskategori())
204203
)).collect(Collectors.toList());
205204
}
206205

@@ -237,6 +236,22 @@ private Ytelser mapYtelser(YtelseType kodeverk) {
237236
};
238237
}
239238

239+
private static Inntektklasse fraInntektskategori(Inntektskategori inntektskategori) {
240+
return switch (inntektskategori) {
241+
case ARBEIDSTAKER -> Inntektklasse.ARBEIDSTAKER;
242+
case ARBEIDSTAKER_UTEN_FERIEPENGER -> Inntektklasse.ARBEIDSTAKER_UTEN_FERIEPENGER;
243+
case FRILANSER -> Inntektklasse.FRILANSER;
244+
case SELVSTENDIG_NÆRINGSDRIVENDE -> Inntektklasse.SELVSTENDIG_NÆRINGSDRIVENDE;
245+
case DAGPENGER -> Inntektklasse.DAGPENGER;
246+
case ARBEIDSAVKLARINGSPENGER -> Inntektklasse.ARBEIDSAVKLARINGSPENGER;
247+
case SJØMANN -> Inntektklasse.MARITIM;
248+
case DAGMAMMA -> Inntektklasse.DAGMAMMA;
249+
case JORDBRUKER -> Inntektklasse.JORDBRUKER;
250+
case FISKER -> Inntektklasse.FISKER;
251+
default -> Inntektklasse.INGEN;
252+
};
253+
}
254+
240255
public static class HentBrukersYtelserIPeriodeRequestAbacDataSupplier implements Function<Object, AbacDataAttributter> {
241256

242257
public HentBrukersYtelserIPeriodeRequestAbacDataSupplier() {

‎domenetjenester/vedtak/src/main/java/no/nav/foreldrepenger/abakus/vedtak/tjeneste/YtelseRestTjeneste.java

+38-24
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
package no.nav.foreldrepenger.abakus.vedtak.tjeneste;
22

3+
import static no.nav.foreldrepenger.abakus.felles.sikkerhet.AbakusBeskyttetRessursAttributt.VEDTAK;
4+
import static no.nav.vedtak.sikkerhet.abac.BeskyttetRessursActionAttributt.READ;
5+
6+
import java.time.LocalDate;
7+
import java.util.ArrayList;
8+
import java.util.List;
9+
import java.util.Set;
10+
import java.util.function.Function;
11+
import java.util.stream.Collectors;
12+
13+
import javax.enterprise.context.ApplicationScoped;
14+
import javax.inject.Inject;
15+
import javax.transaction.Transactional;
16+
import javax.validation.Valid;
17+
import javax.validation.constraints.NotNull;
18+
import javax.ws.rs.Consumes;
19+
import javax.ws.rs.POST;
20+
import javax.ws.rs.Path;
21+
import javax.ws.rs.Produces;
22+
import javax.ws.rs.core.MediaType;
23+
324
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
425
import io.swagger.v3.oas.annotations.Operation;
526
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -39,26 +60,6 @@
3960
import no.nav.vedtak.sikkerhet.abac.StandardAbacAttributtType;
4061
import no.nav.vedtak.sikkerhet.abac.TilpassetAbacAttributt;
4162

42-
import javax.enterprise.context.ApplicationScoped;
43-
import javax.inject.Inject;
44-
import javax.transaction.Transactional;
45-
import javax.validation.Valid;
46-
import javax.validation.constraints.NotNull;
47-
import javax.ws.rs.Consumes;
48-
import javax.ws.rs.POST;
49-
import javax.ws.rs.Path;
50-
import javax.ws.rs.Produces;
51-
import javax.ws.rs.core.MediaType;
52-
import java.time.LocalDate;
53-
import java.util.ArrayList;
54-
import java.util.List;
55-
import java.util.Set;
56-
import java.util.function.Function;
57-
import java.util.stream.Collectors;
58-
59-
import static no.nav.foreldrepenger.abakus.felles.sikkerhet.AbakusBeskyttetRessursAttributt.VEDTAK;
60-
import static no.nav.vedtak.sikkerhet.abac.BeskyttetRessursActionAttributt.READ;
61-
6263
@OpenAPIDefinition(tags = @Tag(name = "ytelse"))
6364
@Path("/ytelse/v1")
6465
@ApplicationScoped
@@ -165,13 +166,10 @@ private Ytelse mapLagretVedtakTilYtelse(VedtakYtelse vedtak) {
165166
aktør.setVerdi(vedtak.getAktør().getId());
166167
ytelse.setAktør(aktør);
167168
ytelse.setVedtattTidspunkt(vedtak.getVedtattTidspunkt());
168-
ytelse.setType(vedtak.getYtelseType());
169169
ytelse.setYtelse(mapYtelser(vedtak.getYtelseType()));
170170
ytelse.setSaksnummer(vedtak.getSaksnummer().getVerdi());
171171
ytelse.setVedtakReferanse(vedtak.getVedtakReferanse().toString());
172-
ytelse.setStatus(vedtak.getStatus());
173172
ytelse.setYtelseStatus(mapStatus(vedtak.getStatus()));
174-
ytelse.setFagsystem(vedtak.getKilde());
175173
ytelse.setKildesystem(mapKildesystem(vedtak.getKilde()));
176174
ytelse.setTilleggsopplysninger(vedtak.getTilleggsopplysninger());
177175
var periode = new Periode();
@@ -204,7 +202,7 @@ private List<AnvistAndel> mapAndeler(YtelseAnvist anvist) {
204202
new Desimaltall(a.getDagsats().getVerdi()),
205203
a.getUtbetalingsgradProsent() == null ? null : new Desimaltall(a.getUtbetalingsgradProsent().getVerdi()),
206204
a.getRefusjonsgradProsent() == null ? null : new Desimaltall(a.getRefusjonsgradProsent().getVerdi()),
207-
a.getInntektskategori()
205+
fraInntektskategori(a.getInntektskategori())
208206
)).collect(Collectors.toList());
209207
}
210208

@@ -241,6 +239,22 @@ private Ytelser mapYtelser(YtelseType kodeverk) {
241239
};
242240
}
243241

242+
private static Inntektklasse fraInntektskategori(Inntektskategori inntektskategori) {
243+
return switch (inntektskategori) {
244+
case ARBEIDSTAKER -> Inntektklasse.ARBEIDSTAKER;
245+
case ARBEIDSTAKER_UTEN_FERIEPENGER -> Inntektklasse.ARBEIDSTAKER_UTEN_FERIEPENGER;
246+
case FRILANSER -> Inntektklasse.FRILANSER;
247+
case SELVSTENDIG_NÆRINGSDRIVENDE -> Inntektklasse.SELVSTENDIG_NÆRINGSDRIVENDE;
248+
case DAGPENGER -> Inntektklasse.DAGPENGER;
249+
case ARBEIDSAVKLARINGSPENGER -> Inntektklasse.ARBEIDSAVKLARINGSPENGER;
250+
case SJØMANN -> Inntektklasse.MARITIM;
251+
case DAGMAMMA -> Inntektklasse.DAGMAMMA;
252+
case JORDBRUKER -> Inntektklasse.JORDBRUKER;
253+
case FISKER -> Inntektklasse.FISKER;
254+
default -> Inntektklasse.INGEN;
255+
};
256+
}
257+
244258
public static class AbacDataSupplier implements Function<Object, AbacDataAttributter> {
245259
@Override
246260
public AbacDataAttributter apply(Object obj) {

0 commit comments

Comments
 (0)
Please sign in to comment.