17
17
import no .nav .ung .sak .behandlingslager .behandling .Behandling ;
18
18
import no .nav .ung .sak .behandlingslager .tilkjentytelse .TilkjentYtelseRepository ;
19
19
import no .nav .ung .sak .behandlingslager .tilkjentytelse .TilkjentYtelseVerdi ;
20
- import no .nav .ung .sak .behandlingslager .ytelse .UngdomsytelseGrunnlagRepository ;
21
- import no .nav .ung .sak .behandlingslager .ytelse .sats .UngdomsytelseSatser ;
22
20
import no .nav .ung .sak .formidling .template .TemplateType ;
23
21
import no .nav .ung .sak .formidling .template .dto .EndringRapportertInntektDto ;
24
22
import no .nav .ung .sak .formidling .template .dto .felles .PeriodeDto ;
@@ -32,7 +30,6 @@ public class EndringRapportertInntektInnholdBygger implements VedtaksbrevInnhold
32
30
33
31
private final TilkjentYtelseRepository tilkjentYtelseRepository ;
34
32
private final RapportertInntektMapper rapportertInntektMapper ;
35
- private final UngdomsytelseGrunnlagRepository ungdomsytelseGrunnlagRepository ;
36
33
37
34
//TODO hente fra et annet sted?
38
35
public static final BigDecimal REDUKSJONS_FAKTOR = BigDecimal .valueOf (0.66 );
@@ -42,11 +39,9 @@ public class EndringRapportertInntektInnholdBygger implements VedtaksbrevInnhold
42
39
@ Inject
43
40
public EndringRapportertInntektInnholdBygger (
44
41
TilkjentYtelseRepository tilkjentYtelseRepository ,
45
- RapportertInntektMapper rapportertInntektMapper ,
46
- UngdomsytelseGrunnlagRepository ungdomsytelseGrunnlagRepository ) {
42
+ RapportertInntektMapper rapportertInntektMapper ) {
47
43
this .tilkjentYtelseRepository = tilkjentYtelseRepository ;
48
44
this .rapportertInntektMapper = rapportertInntektMapper ;
49
- this .ungdomsytelseGrunnlagRepository = ungdomsytelseGrunnlagRepository ;
50
45
}
51
46
52
47
@ Override
@@ -60,18 +55,9 @@ public TemplateInnholdResultat bygg(Behandling behandling, LocalDateTimeline<Det
60
55
throw new IllegalStateException ("Fant ingen tilkjent ytelse i perioden" + resultatTidslinje .getLocalDateIntervals ());
61
56
}
62
57
63
-
64
58
var rapporteInntekterTidslinje = rapportertInntektMapper .map (behandling .getId ());
65
- var satsTidslinje = ungdomsytelseGrunnlagRepository .hentGrunnlag (behandling .getId ())
66
- .orElseThrow (() -> new IllegalStateException ("Mangler grunnlag" ))
67
- .getSatsTidslinje ();
68
-
69
- var satsOgInntektTidslinje = rapporteInntekterTidslinje .combine (satsTidslinje ,
70
- EndringRapportertInntektInnholdBygger ::lagSatsOgRapportertInntektTidslinje ,
71
- LocalDateTimeline .JoinStyle .LEFT_JOIN );
72
59
73
-
74
- var dtoTidslinje = relevantTilkjentYtelse .combine (satsOgInntektTidslinje ,
60
+ var dtoTidslinje = relevantTilkjentYtelse .combine (rapporteInntekterTidslinje ,
75
61
EndringRapportertInntektInnholdBygger ::mapTilTemplateDto ,
76
62
LocalDateTimeline .JoinStyle .LEFT_JOIN );
77
63
@@ -84,42 +70,24 @@ public TemplateInnholdResultat bygg(Behandling behandling, LocalDateTimeline<Det
84
70
);
85
71
}
86
72
87
- private static LocalDateSegment <OpprinnligSatsOgRapportertInntekt > lagSatsOgRapportertInntektTidslinje (
88
- LocalDateInterval p , LocalDateSegment <RapporterteInntekter > lhs , LocalDateSegment <UngdomsytelseSatser > rhs ) {
89
- var rapportertInntektSum = lhs .getValue ().getRapporterteInntekter ().stream ()
90
- .map (RapportertInntekt ::beløp ).reduce (BigDecimal .ZERO , BigDecimal ::add );
91
-
92
- Objects .requireNonNull (rhs , "Sats kan ikke være null for periode=%s med rapportert inntekt=%s" .formatted (p .toString (), rapportertInntektSum .toPlainString ()));
93
- var sats = rhs .getValue ();
94
-
95
- return new LocalDateSegment <>(p , new OpprinnligSatsOgRapportertInntekt (sats .dagsats (), rapportertInntektSum ));
96
- }
97
-
98
73
private static LocalDateSegment <EndringRapportertInntektDto > mapTilTemplateDto (
99
- LocalDateInterval p , LocalDateSegment <TilkjentYtelseVerdi > lhs , LocalDateSegment <OpprinnligSatsOgRapportertInntekt > rhs ) {
74
+ LocalDateInterval p , LocalDateSegment <TilkjentYtelseVerdi > lhs , LocalDateSegment <RapporterteInntekter > rhs ) {
100
75
var ty = lhs .getValue ();
101
76
102
77
Objects .requireNonNull (rhs , "Mangler sats og rapportert inntekt for periode %s for tilkjent ytelse %s"
103
78
.formatted (p .toString (), ty .toString ()));
104
79
105
- var satsOgInntekt = rhs .getValue ();
80
+ var rapportertInntektSum = rhs .getValue ().getRapporterteInntekter ().stream ()
81
+ .map (RapportertInntekt ::beløp ).reduce (BigDecimal .ZERO , BigDecimal ::add );
106
82
107
83
return new LocalDateSegment <>(p ,
108
84
new EndringRapportertInntektDto (
109
85
new PeriodeDto (p .getFomDato (), p .getTomDato ()),
110
- satsOgInntekt . rapportertInntekt ( ).longValue (),
86
+ rapportertInntektSum . setScale ( 0 , RoundingMode . HALF_UP ).longValue (),
111
87
ty .redusertBeløp ().setScale (0 , RoundingMode .HALF_UP ).longValue (),
112
- REDUSJON_PROSENT ,
113
- ty .reduksjon ().setScale (0 , RoundingMode .HALF_UP ).longValue (),
114
- satsOgInntekt .opprinnligSats ().setScale (0 , RoundingMode .HALF_UP ).longValue (),
115
- ty .dagsats ().setScale (0 , RoundingMode .HALF_UP ).longValue ()
88
+ REDUSJON_PROSENT
116
89
)
117
90
);
118
91
}
119
92
120
- /**
121
- * Brukt for å kombinere flere tidslinjer
122
- */
123
- private record OpprinnligSatsOgRapportertInntekt (BigDecimal opprinnligSats , BigDecimal rapportertInntekt ) {
124
- }
125
93
}
0 commit comments