Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PL-7060 Nye klasser AfpPrivatLivsvarig og AfpOffentligLivsvarig, samt… #26

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,90 +12,81 @@ import java.io.Serializable
* Superklasse for alle ytelser, Grunnpensjon, Sertillegg, AfpTillegg osv. For
* alle ytelser gjelder at brutto - netto = fradrag.
*/
abstract class Ytelseskomponent : Serializable {
abstract class Ytelseskomponent(
/**
* Brutto beløp.
*/
open var brutto = 0
var brutto: Int = 0,

/**
* Netto beløp.
*/
open var netto = 0
var netto: Int = 0,

/**
* Fradraget: brutto - netto
*/
var fradrag = 0
var fradrag: Int = 0,

/**
* Ikke avrundet beløp, gjelder for hele året.
*/
var bruttoPerAr = 0.0
var bruttoPerAr: Double = 0.0,

/**
* årlig netto utbetalt sum.
*/
var nettoPerAr = 0.0
var nettoPerAr: Double = 0.0,

/**
* Ytelsens fradrag per år.
*/
var fradragPerAr = 0.0
var fradragPerAr: Double = 0.0,

/**
* Type ytelse, verdi fra kodeverk.
*/
var ytelsekomponentType: YtelsekomponentTypeCti? = null
var ytelsekomponentType: YtelsekomponentTypeCti? = null,

/**
* Liste av merknader.
*/
var merknadListe: MutableList<Merknad> = mutableListOf()
var merknadListe: MutableList<Merknad> = mutableListOf(),

/**
* Indikerer hvilken beregningsformel som ble brukt.
*/
var formelKode: FormelKodeCti? = null
var formelKode: FormelKodeCti? = null,

/**
* Informasjon om regulering av ytelsen.
*/
var reguleringsInformasjon: ReguleringsInformasjon? = null
var reguleringsInformasjon: ReguleringsInformasjon? = null,

/**
* Angir om ytelseskomponenten går til utbetaling eller tilbakekreving.
* Settes ikke i PREG, men mappes slik at vi ikke mister den ved kall til regeltjenester som returnerer kopier av innsendt ytelseskomponent (f.eks. faktoromregning).
*/
var fradragsTransaksjon = false
var fradragsTransaksjon: Boolean = false,

/**
* Angir om ytelseskomponenten er opphørt.
* Settes ikke i PREG, men mappes slik at vi ikke mister den ved kall til regeltjenester som returnerer kopier av innsendt ytelseskomponent (f.eks. faktoromregning).
*/
var opphort = false
var opphort: Boolean = false,

/**
* Angir sakentypen ytelseskomponenten er knyttet til.
* Settes ikke i PREG, men mappes slik at vi ikke mister den ved kall til regeltjenester som returnerer kopier av innsendt ytelseskomponent (f.eks. faktoromregning).
*/
var sakType: SakTypeCti? = null
var sakType: SakTypeCti? = null,

) : Serializable {

/**
* Copy Constructor
*
* @param ytelseskomponent a `Ytelseskomponent` object
*/

val isIFormelProvider: Boolean
/**
* Angir om ytelseskomponenten implementerer interfacet IFormelProvider.
* Dette dekker opp for mangel i Blaze Advisor som ikke kan sjekke om en klasse er et interface.
*/
get() = this is IFormelProvider

constructor()
constructor(ytelseskomponent: Ytelseskomponent) {
constructor(ytelseskomponent: Ytelseskomponent) : this() {
brutto = ytelseskomponent.brutto
netto = ytelseskomponent.netto
fradrag = ytelseskomponent.fradrag
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,54 @@
package no.nav.pensjon.regler.domain.beregning2011

import no.nav.pensjon.regler.domain.Merknad
import no.nav.pensjon.regler.domain.beregning.Ytelseskomponent
import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import no.nav.pensjon.regler.domain.kode.SakTypeCti
import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti

open class AfpLivsvarig : Ytelseskomponent() {
var justeringsbelop = 0
var afpProsentgrad = 0.0
var afpForholdstall = 0.0

init {
formelKode = FormelKodeCti("AFPx")
ytelsekomponentType = YtelsekomponentTypeCti("AFP_LIVSVARIG")
}

abstract class AfpLivsvarig(
/** super Ytelseskomponent*/
brutto: Int = 0,
netto: Int = 0,
fradrag: Int = 0,
bruttoPerAr: Double = 0.0,
nettoPerAr: Double = 0.0,
fradragPerAr: Double = 0.0,
ytelsekomponentType: YtelsekomponentTypeCti,
merknadListe: MutableList<Merknad> = mutableListOf(),
fradragsTransaksjon: Boolean = false,
opphort: Boolean = false,
sakType: SakTypeCti? = null,
formelKode: FormelKodeCti? = FormelKodeCti("AFPx"),
reguleringsInformasjon: ReguleringsInformasjon? = null
) : Ytelseskomponent(
brutto = brutto,
netto = netto,
fradrag = fradrag,
bruttoPerAr = bruttoPerAr,
nettoPerAr = nettoPerAr,
fradragPerAr = fradragPerAr,
ytelsekomponentType = ytelsekomponentType,
merknadListe = merknadListe,
fradragsTransaksjon = fradragsTransaksjon,
opphort = opphort,
sakType = sakType,
formelKode = formelKode,
reguleringsInformasjon = reguleringsInformasjon
) {
constructor(afpLivsvarig: AfpLivsvarig) : this(
brutto = afpLivsvarig.brutto,
netto = afpLivsvarig.netto,
fradrag = afpLivsvarig.fradrag,
bruttoPerAr = afpLivsvarig.bruttoPerAr,
nettoPerAr = afpLivsvarig.nettoPerAr,
fradragPerAr = afpLivsvarig.fradragPerAr,
ytelsekomponentType = afpLivsvarig.ytelsekomponentType!!,
merknadListe = afpLivsvarig.merknadListe.toMutableList(),
fradragsTransaksjon = afpLivsvarig.fradragsTransaksjon,
opphort = afpLivsvarig.opphort,
sakType = afpLivsvarig.sakType,
formelKode = afpLivsvarig.formelKode,
reguleringsInformasjon = afpLivsvarig.reguleringsInformasjon
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package no.nav.pensjon.regler.domain.beregning2011

import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti
import java.time.LocalDate

class AfpOffentligLivsvarig : AfpLivsvarig {
var sistRegulert: LocalDate? = null

constructor() : super(
ytelsekomponentType = YtelsekomponentTypeCti("AFP_OFFENTLIG_LIVSVARIG"),
formelKode = FormelKodeCti("AFPx")
)

constructor(afpOffentligLivsvarig: AfpOffentligLivsvarig) : super(afpOffentligLivsvarig) {
sistRegulert = afpOffentligLivsvarig.sistRegulert
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package no.nav.pensjon.regler.domain.beregning2011

import no.nav.pensjon.regler.domain.kode.FormelKodeCti
import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti

class AfpPrivatLivsvarig : AfpLivsvarig {
var justeringsbelop: Int = 0
var afpProsentgrad: Double = 0.0
var afpForholdstall: Double = 0.0


constructor() : super(
ytelsekomponentType = YtelsekomponentTypeCti("AFP_PRIVAT_LIVSVARIG"),
formelKode = FormelKodeCti("AFPx")
)

constructor(o: AfpPrivatLivsvarig) : super(o) {
afpForholdstall = o.afpForholdstall
afpProsentgrad = o.afpProsentgrad
justeringsbelop = o.justeringsbelop
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,10 @@ package no.nav.pensjon.regler.domain.beregning2011

import no.nav.pensjon.regler.domain.kode.YtelsekomponentTypeCti

class FremskrevetAfpLivsvarig : AfpLivsvarig(), Regulering {
class FremskrevetAfpLivsvarig : AfpLivsvarig(ytelsekomponentType = YtelsekomponentTypeCti("FREM_AFP_LIVSVARIG")),
Regulering {
override var reguleringsfaktor = 0.0
override var gap = 0
var gjennomsnittligUttaksgradSisteAr = 0.0

init {
ytelsekomponentType = YtelsekomponentTypeCti("FREM_AFP_LIVSVARIG")
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.AfpPrivatLivsvarig
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.InfoPavirkendeYtelse
import no.nav.pensjon.regler.domain.krav.Kravhode
Expand All @@ -15,5 +15,5 @@ class BeregnAlderspensjon2011ForsteUttakRequest {
var virkTom: Date? = null
var forholdstallUtvalg: ForholdstallUtvalg? = null
var ektefellenMottarPensjon = false
var afpLivsvarig: AfpLivsvarig? = null
var afpPrivatLivsvarig: AfpPrivatLivsvarig? = null
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.AfpPrivatLivsvarig
import no.nav.pensjon.regler.domain.grunnlag.DelingstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.GarantitilleggsbeholdningGrunnlag
Expand All @@ -17,6 +17,6 @@ class BeregnAlderspensjon2016ForsteUttakRequest {
var forholdstallUtvalg: ForholdstallUtvalg? = null
var delingstallUtvalg: DelingstallUtvalg? = null
var epsMottarPensjon = false
var afpLivsvarig: AfpLivsvarig? = null
var afpPrivatLivsvarig: AfpPrivatLivsvarig? = null
var garantitilleggsbeholdningGrunnlag: GarantitilleggsbeholdningGrunnlag? = null
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.AfpPrivatLivsvarig
import no.nav.pensjon.regler.domain.grunnlag.DelingstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.GarantitilleggsbeholdningGrunnlag
Expand All @@ -17,6 +17,6 @@ class BeregnAlderspensjon2025ForsteUttakRequest {
var forholdstallUtvalg: ForholdstallUtvalg? = null
var delingstallUtvalg: DelingstallUtvalg? = null
var epsMottarPensjon = false
var afpLivsvarig: AfpLivsvarig? = null
var afpPrivatLivsvarig: AfpPrivatLivsvarig? = null
var garantitilleggsbeholdningGrunnlag: GarantitilleggsbeholdningGrunnlag? = null
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning.Beregning
import no.nav.pensjon.regler.domain.beregning2011.AbstraktBeregningsResultat
import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.BeregningsresultatUforetrygd
import no.nav.pensjon.regler.domain.beregning2011.SisteAldersberegning2011
import no.nav.pensjon.regler.domain.beregning2011.*
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
import no.nav.pensjon.regler.domain.krav.Kravhode
import no.nav.pensjon.regler.domain.vedtak.VilkarsVedtak
Expand All @@ -29,7 +26,7 @@ class BeregnInstitusjonsoppholdRequest {
var bruker1BeregningsresultatUforetrygd: BeregningsresultatUforetrygd? = null

/* Informasjon om afpPrivatberegning for bruker1. Kun påkrevd dersom bruker1 har AfpPrivat. */
var bruker1afpLivsvarig: AfpLivsvarig? = null
var bruker1afpLivsvarig: AfpPrivatLivsvarig? = null

// bruker2 beregning1967
var bruker2Beregning: Beregning? = null
Expand All @@ -44,5 +41,5 @@ class BeregnInstitusjonsoppholdRequest {
var bruker2SisteAldersberegning2011: SisteAldersberegning2011? = null

/* Informasjon om afpPrivatberegning for bruker2. Kun påkrevd dersom bruker2 har AfpPrivat. */
var bruker2afpLivsvarig: AfpLivsvarig? = null
var bruker2afpLivsvarig: AfpPrivatLivsvarig? = null
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning.Beregning
import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.AfpPrivatLivsvarig
import no.nav.pensjon.regler.domain.grunnlag.InfoPavirkendeYtelse
import no.nav.pensjon.regler.domain.krav.Kravhode
import no.nav.pensjon.regler.domain.vedtak.VilkarsVedtak
Expand All @@ -14,5 +14,5 @@ class KonverterAP1967TilAP2011Request {
var beregning: Beregning? = null
var virkFom: Date? = null
var epsMottarPensjon = false
var afpLivsvarig: AfpLivsvarig? = null
var afpPrivatLivsvarig: AfpPrivatLivsvarig? = null
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning2011.AbstraktBeregningsResultat
import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.AfpPrivatLivsvarig
import no.nav.pensjon.regler.domain.grunnlag.DelingstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.Uttaksgrad
Expand All @@ -10,7 +10,7 @@ import java.util.*
class RegulerBeregning2011Request {
var virkFom: Date? = null
var beregningsResultat: AbstraktBeregningsResultat? = null
var afpLivsvarig: AfpLivsvarig? = null
var afpPrivatLivsvarig: AfpPrivatLivsvarig? = null
var uttaksgradListe: ArrayList<Uttaksgrad> = ArrayList()
var fodselsdato: Date? = null
var forholdstallUtvalg: ForholdstallUtvalg? = null
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.AfpPrivatLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.SisteAldersberegning2011
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.InfoPavirkendeYtelse
Expand All @@ -17,5 +17,5 @@ class RevurderingAlderspensjon2011Request() {
var virkFom: Date? = null
var virkTom: Date? = null
var forrigeAldersBeregning: SisteAldersberegning2011? = null
var afpLivsvarig: AfpLivsvarig? = null
var afpPrivatLivsvarig: AfpPrivatLivsvarig? = null
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.AfpPrivatLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.SisteAldersberegning2016
import no.nav.pensjon.regler.domain.grunnlag.DelingstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
Expand All @@ -19,7 +19,7 @@ class RevurderingAlderspensjon2016Request {
var delingstallUtvalg: DelingstallUtvalg? = null
var virkFom: Date? = null
var forrigeAldersBeregning: SisteAldersberegning2016? = null
var afpLivsvarig: AfpLivsvarig? = null
var afpPrivatLivsvarig: AfpPrivatLivsvarig? = null

/**
* Grunnlag for beregning av garantitilleggsbeholdning.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.pensjon.regler.to

import no.nav.pensjon.regler.domain.beregning2011.AfpLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.AfpPrivatLivsvarig
import no.nav.pensjon.regler.domain.beregning2011.SisteAldersberegning2011
import no.nav.pensjon.regler.domain.grunnlag.DelingstallUtvalg
import no.nav.pensjon.regler.domain.grunnlag.ForholdstallUtvalg
Expand All @@ -19,6 +19,6 @@ class RevurderingAlderspensjon2025Request {
var delingstallUtvalg: DelingstallUtvalg? = null
var virkFom: Date? = null
var sisteAldersBeregning2011: SisteAldersberegning2011? = null
var afpLivsvarig: AfpLivsvarig? = null
var afpPrivatLivsvarig: AfpPrivatLivsvarig? = null
var garantitilleggsbeholdningGrunnlag: GarantitilleggsbeholdningGrunnlag? = null
}
Loading
Loading