1
1
package no .nav .foreldrepenger .abakus .registerdata ;
2
2
3
3
import java .time .LocalDate ;
4
- import java .util .Comparator ;
5
4
import java .util .List ;
6
5
import java .util .Optional ;
7
6
8
7
import no .nav .abakus .iaygrunnlag .kodeverk .Fagsystem ;
9
8
import no .nav .foreldrepenger .abakus .domene .iay .InntektArbeidYtelseAggregatBuilder ;
10
9
import no .nav .foreldrepenger .abakus .domene .iay .YtelseBuilder ;
11
- import no .nav .foreldrepenger .abakus .domene .iay .YtelseGrunnlag ;
12
- import no .nav .foreldrepenger .abakus .domene .iay .YtelseGrunnlagBuilder ;
13
- import no .nav .foreldrepenger .abakus .domene .iay .YtelseStørrelseBuilder ;
14
10
import no .nav .foreldrepenger .abakus .felles .jpa .IntervallEntitet ;
15
11
import no .nav .foreldrepenger .abakus .kobling .Kobling ;
12
+ import no .nav .foreldrepenger .abakus .registerdata .infotrygd .InfotrygdgrunnlagYtelseMapper ;
16
13
import no .nav .foreldrepenger .abakus .registerdata .ytelse .arena .MeldekortUtbetalingsgrunnlagMeldekort ;
17
14
import no .nav .foreldrepenger .abakus .registerdata .ytelse .arena .MeldekortUtbetalingsgrunnlagSak ;
18
- import no .nav .foreldrepenger .abakus .registerdata .ytelse .infotrygd .dto .InfotrygdYtelseAnvist ;
19
15
import no .nav .foreldrepenger .abakus .registerdata .ytelse .infotrygd .dto .InfotrygdYtelseGrunnlag ;
20
16
import no .nav .foreldrepenger .abakus .typer .AktørId ;
21
- import no .nav .foreldrepenger .abakus .typer .OrgNummer ;
22
- import no .nav .foreldrepenger .abakus .typer .OrganisasjonsNummerValidator ;
23
17
import no .nav .foreldrepenger .abakus .typer .PersonIdent ;
24
18
import no .nav .foreldrepenger .abakus .typer .Saksnummer ;
25
- import no .nav .foreldrepenger .abakus .vedtak .domene .VedtakYtelseRepository ;
26
19
27
20
public class YtelseRegisterInnhenting {
28
21
private final InnhentingSamletTjeneste innhentingSamletTjeneste ;
@@ -49,7 +42,7 @@ void byggYtelser(Kobling behandling, AktørId aktørId, PersonIdent ident, Inter
49
42
}
50
43
51
44
List <InfotrygdYtelseGrunnlag > alleGrunnlag = innhentingSamletTjeneste .innhentInfotrygdGrunnlag (ident , opplysningsPeriode );
52
- alleGrunnlag .forEach (grunnlag -> oversettInfotrygdYtelseGrunnlagTilYtelse (aktørYtelseBuilder , grunnlag ));
45
+ alleGrunnlag .forEach (grunnlag -> InfotrygdgrunnlagYtelseMapper . oversettInfotrygdYtelseGrunnlagTilYtelse (aktørYtelseBuilder , grunnlag ));
53
46
54
47
List <InfotrygdYtelseGrunnlag > ghosts = innhentingSamletTjeneste .innhentSpokelseGrunnlag (ident , opplysningsPeriode );
55
48
ghosts .forEach (grunnlag -> oversettSpokelseYtelseGrunnlagTilYtelse (aktørYtelseBuilder , grunnlag ));
@@ -62,26 +55,6 @@ void byggYtelser(Kobling behandling, AktørId aktørId, PersonIdent ident, Inter
62
55
inntektArbeidYtelseAggregatBuilder .leggTilAktørYtelse (aktørYtelseBuilder );
63
56
}
64
57
65
-
66
- private void oversettInfotrygdYtelseGrunnlagTilYtelse (InntektArbeidYtelseAggregatBuilder .AktørYtelseBuilder aktørYtelseBuilder , InfotrygdYtelseGrunnlag grunnlag ) {
67
- IntervallEntitet periode = utledPeriodeNårTomMuligFørFom (grunnlag .getVedtaksPeriodeFom (), grunnlag .getVedtaksPeriodeTom ());
68
- var tidligsteAnvist = grunnlag .getUtbetaltePerioder ().stream ().map (InfotrygdYtelseAnvist ::getUtbetaltFom ).min (Comparator .naturalOrder ());
69
- YtelseBuilder ytelseBuilder = aktørYtelseBuilder .getYtelselseBuilderForType (Fagsystem .INFOTRYGD , grunnlag .getYtelseType (),
70
- grunnlag .getTemaUnderkategori (), periode , tidligsteAnvist )
71
- .medBehandlingsTema (grunnlag .getTemaUnderkategori ())
72
- .medVedtattTidspunkt (grunnlag .getVedtattTidspunkt ())
73
- .medStatus (grunnlag .getYtelseStatus ());
74
- grunnlag .getUtbetaltePerioder ().forEach (vedtak -> {
75
- final IntervallEntitet intervall = utledPeriodeNårTomMuligFørFom (vedtak .getUtbetaltFom (), vedtak .getUtbetaltTom ());
76
- ytelseBuilder .leggtilYtelseAnvist (ytelseBuilder .getAnvistBuilder ()
77
- .medAnvistPeriode (intervall )
78
- .medUtbetalingsgradProsent (vedtak .getUtbetalingsgrad ())
79
- .build ());
80
- });
81
- ytelseBuilder .medYtelseGrunnlag (oversettYtelseArbeid (grunnlag , ytelseBuilder .getGrunnlagBuilder ()));
82
- aktørYtelseBuilder .leggTilYtelse (ytelseBuilder );
83
- }
84
-
85
58
private void oversettSpokelseYtelseGrunnlagTilYtelse (InntektArbeidYtelseAggregatBuilder .AktørYtelseBuilder aktørYtelseBuilder , InfotrygdYtelseGrunnlag grunnlag ) {
86
59
IntervallEntitet periode = utledPeriodeNårTomMuligFørFom (grunnlag .getVedtaksPeriodeFom (), grunnlag .getVedtaksPeriodeTom ());
87
60
var saksnummer = new Saksnummer (grunnlag .getVedtaksreferanse ());
@@ -100,26 +73,6 @@ private void oversettSpokelseYtelseGrunnlagTilYtelse(InntektArbeidYtelseAggregat
100
73
aktørYtelseBuilder .leggTilYtelse (ytelseBuilder );
101
74
}
102
75
103
- private YtelseGrunnlag oversettYtelseArbeid (InfotrygdYtelseGrunnlag grunnlag , YtelseGrunnlagBuilder grunnlagBuilder ) {
104
- grunnlagBuilder .medDekningsgradProsent (grunnlag .getDekningsgrad ());
105
- grunnlagBuilder .medGraderingProsent (grunnlag .getGradering ());
106
- grunnlagBuilder .medOpprinneligIdentdato (grunnlag .getOpprinneligIdentdato ());
107
- grunnlagBuilder .medArbeidskategori (grunnlag .getKategori ());
108
- grunnlagBuilder .tilbakestillStørrelse ();
109
- grunnlag .getArbeidsforhold ().forEach (arbeid -> {
110
- final YtelseStørrelseBuilder ysBuilder = grunnlagBuilder .getStørrelseBuilder ();
111
- ysBuilder .medBeløp (arbeid .getInntekt ())
112
- .medHyppighet (arbeid .getInntektperiode ())
113
- .medErRefusjon (arbeid .getRefusjon ());
114
- if (OrganisasjonsNummerValidator .erGyldig (arbeid .getOrgnr ())) {
115
- ysBuilder .medVirksomhet (new OrgNummer (arbeid .getOrgnr ()));
116
- }
117
- // Her er plass til bool refusjon
118
- grunnlagBuilder .medYtelseStørrelse (ysBuilder .build ());
119
- });
120
- return grunnlagBuilder .build ();
121
- }
122
-
123
76
private void oversettMeldekortUtbetalingsgrunnlagTilYtelse (InntektArbeidYtelseAggregatBuilder .AktørYtelseBuilder aktørYtelseBuilder ,
124
77
MeldekortUtbetalingsgrunnlagSak ytelse ) {
125
78
Optional <LocalDate > førsteMeldekortFom = finnFørsteMeldekortFom (ytelse );
0 commit comments