@@ -102,7 +102,7 @@ private static LocalDateTimeline<Set<RapportertInntekt>> finnRegisterInntektTids
102
102
}
103
103
104
104
private static LocalDateTimeline <Set <RapportertInntekt >> finnRegisterinntektForPeriode (Map <InntektType , List <Inntektspost >> grupperteInntekter , LocalDateInterval intervall ) {
105
- final var inntekterForPeriode = getInntekterForPeriode ();
105
+ final var inntekterForPeriode = new HashSet < RapportertInntekt > ();
106
106
107
107
final var overlappendeArbeidsinntekter = finnOverlappendeInntekterForType (intervall , grupperteInntekter , InntektType .ARBEIDSTAKER_ELLER_FRILANSER );
108
108
@@ -126,10 +126,6 @@ private static LocalDateTimeline<Set<RapportertInntekt>> finnRegisterinntektForP
126
126
return tidslinjeForPeriode ;
127
127
}
128
128
129
- private static HashSet <RapportertInntekt > getInntekterForPeriode () {
130
- return new HashSet <RapportertInntekt >();
131
- }
132
-
133
129
private static void validerBrukersRapporterteInntekterTidslinje (LocalDateTimeline <Set <RapportertInntekt >> brukersRapporterteInntekter , LocalDateTimeline <Boolean > ytelseTidslinje ) {
134
130
final var perioderUtenforYtelsesperioder = brukersRapporterteInntekter .getLocalDateIntervals ().stream ()
135
131
.filter (it -> ytelseTidslinje .getLocalDateIntervals ().stream ().noneMatch (it ::equals ))
@@ -143,7 +139,7 @@ private static void validerBrukersRapporterteInntekterTidslinje(LocalDateTimelin
143
139
144
140
private static LocalDateTimeline <RapporterteInntekter > kombinerTidslinjer (LocalDateTimeline <Set <RapportertInntekt >> brukersRapporterteInntekter , LocalDateTimeline <Set <RapportertInntekt >> registerTidslinje ) {
145
141
return brukersRapporterteInntekter .crossJoin (registerTidslinje , (di , bruker , register ) -> {
146
- final var rapporterteInntekter = new RapporterteInntekter (bruker . getValue (), register .getValue ());
142
+ final var rapporterteInntekter = new RapporterteInntekter (bruker == null ? Set . of () : bruker . getValue (), register == null ? Set . of () : register .getValue ());
147
143
return new LocalDateSegment <>(di , rapporterteInntekter );
148
144
});
149
145
}
@@ -160,15 +156,11 @@ private static LocalDateTimeline<RapporterteInntekter> kombinerTidslinjer(LocalD
160
156
}
161
157
162
158
private static List <Inntektspost > finnOverlappendeInntekterForType (LocalDateInterval intervall , Map <InntektType , List <Inntektspost >> grupperteInntekter , InntektType inntektType ) {
163
- return grupperteInntekter .get (inntektType )
159
+ return grupperteInntekter .getOrDefault (inntektType , List . of () )
164
160
.stream ().filter (it -> intervall .overlaps (new LocalDateInterval (it .getPeriode ().getFomDato (), it .getPeriode ().getTomDato ())))
165
161
.toList ();
166
162
}
167
163
168
- private static boolean overlapperDelvis (LocalDateInterval intervall , DatoIntervallEntitet inntektsperiode ) {
169
- return inntektsperiode .getFomDato ().isBefore (intervall .getFomDato ()) && inntektsperiode .getTomDato ().isAfter (intervall .getFomDato ());
170
- }
171
-
172
164
private InntektType mapTilInntektType (Inntektspost it ) {
173
165
if (it .getInntektspostType ().equals (InntektspostType .LØNN )) {
174
166
return InntektType .ARBEIDSTAKER_ELLER_FRILANSER ;
0 commit comments