Skip to content

Commit

Permalink
Lagt til enum verdier for resultatkoder og årsakstype (#57)
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 authored Feb 2, 2024
1 parent 94d8d0b commit a5e04bb
Show file tree
Hide file tree
Showing 16 changed files with 519 additions and 115 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
package no.nav.bidrag.domene.enums.beregning

enum class Resultatkode(val legacyKode: String, vararg val type: ResultatkodeType) {
BARNET_ER_SELVFORSØRGET("", ResultatkodeType.BARNEBIDRAG, ResultatkodeType.SÆRTILSKUDD),

// Resultat av beregning av barnebidrag, angir at det må gjøres en forholdsmessig fordeling
BEGRENSET_EVNE_FLERE_SAKER_UTFØR_FORHOLDSMESSIG_FORDELING("", ResultatkodeType.BARNEBIDRAG),

// Beregnet bidrag er større enn forskuddsats, settes lik forskuddssats
BEGRENSET_REVURDERING("", ResultatkodeType.BARNEBIDRAG),

// Barnet har delt bosted og BPs andel av U er under 50%, bidrag skal ikke beregnes
BIDRAG_IKKE_BEREGNET_DELT_BOSTED("", ResultatkodeType.BARNEBIDRAG),

// Bidrag redusert pga ikke full evne
BIDRAG_REDUSERT_AV_EVNE("", ResultatkodeType.BARNEBIDRAG),

// Maks 25% av inntekt
BIDRAG_REDUSERT_TIL_25_PROSENT_AV_INNTEKT("", ResultatkodeType.BARNEBIDRAG),

// BarnetilleggBP er høyere enn beregnet bidrag
BIDRAG_SATT_TIL_BARNETILLEGG_BP("", ResultatkodeType.BARNEBIDRAG),

// Barnebidrag settes likt barnetillegg fra forsvaret
BIDRAG_SATT_TIL_BARNETILLEGG_FORSVARET("", ResultatkodeType.BARNEBIDRAG),

// Beregnet bidrag er lavere enn underholdskostnad minus barnetilleggBM
BIDRAG_SATT_TIL_UNDERHOLDSKOSTNAD_MINUS_BARNETILLEGG_BM("", ResultatkodeType.BARNEBIDRAG),

// Barnet bor like mye hos begge foreldre
DELT_BOSTED("", ResultatkodeType.BARNEBIDRAG),

// Beregning av forholdsmessig fordeling er utført og det er beregnet nytt bidragsbeløp
FORHOLDSMESSIG_FORDELING_BIDRAGSBELØP_ENDRET("", ResultatkodeType.BARNEBIDRAG),

// Beregning av forholdsmessig fordeling er utført og det er ingen endringer på bidragsbeløp
FORHOLDSMESSIG_FORDELING_INGEN_ENDRING("", ResultatkodeType.BARNEBIDRAG),

// BP har 0.- i bidragsevne, bidrag satt til 0.-
INGEN_EVNE("", ResultatkodeType.BARNEBIDRAG),

// Kostnadsberegnet bidrag
KOSTNADSBEREGNET_BIDRAG("", ResultatkodeType.BARNEBIDRAG),

REDUSERT_FORSKUDD_50_PROSENT("50", ResultatkodeType.FORSKUDD),
ORDINÆRT_FORSKUDD_75_PROSENT("75", ResultatkodeType.FORSKUDD),
FORHØYET_FORSKUDD_100_PROSENT("100", ResultatkodeType.FORSKUDD),
FORHØYET_FORSKUDD_11_ÅR_125_PROSENT("125", ResultatkodeType.FORSKUDD),

// Resultat av beregning av særtilskudd
SÆRTILSKUDD_INNVILGET("VS", ResultatkodeType.SÆRTILSKUDD),

// Resultat av beregning av særtilskudd
SÆRTILSKUDD_IKKE_FULL_BIDRAGSEVNE("6MB", ResultatkodeType.SÆRTILSKUDD),

AVSLAG("A", ResultatkodeType.AVSLAG),
AVSLAG2("AA", ResultatkodeType.AVSLAG),
PÅ_GRUNN_AV_BARNEPENSJON("ABA", ResultatkodeType.AVSLAG),

BARNETS_EKTESKAP("OBE", ResultatkodeType.OPPHØR),
BARNETS_INNTEKT("OBI", ResultatkodeType.OPPHØR),
PÅ_GRUNN_AV_YTELSE_FRA_FOLKETRYGDEN("OFT", ResultatkodeType.OPPHØR),
FULLT_UNDERHOLDT_AV_OFFENTLIG("OFU", ResultatkodeType.OPPHØR),
IKKE_OMSORG("OIO", ResultatkodeType.OPPHØR),
IKKE_OPPHOLD_I_RIKET("OIR", ResultatkodeType.OPPHØR),
MANGLENDE_DOKUMENTASJON("OMD", ResultatkodeType.OPPHØR),
PÅ_GRUNN_AV_SAMMENFLYTTING("OSA", ResultatkodeType.OPPHØR),
OPPHOLD_I_UTLANDET("OUT", ResultatkodeType.OPPHØR),
UTENLANDSK_YTELSE("OUY", ResultatkodeType.OPPHØR),

;

companion object {
fun fraKode(kode: String): Resultatkode? {
return try {
enumValues<Resultatkode>().find { it.legacyKode == kode } ?: Resultatkode.valueOf(kode)
} catch (e: Exception) {
null
}
}

fun alleMedType(type: ResultatkodeType): List<Resultatkode> {
return try {
enumValues<Resultatkode>().filter { it.type.contains(type) }
} catch (e: Exception) {
emptyList()
}
}
}

enum class ResultatkodeType {
AVSLAG,
OPPHØR,
FORSKUDD,
BARNEBIDRAG,
SÆRTILSKUDD,
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.bidrag.domene.enums.beregning

@Deprecated("", replaceWith = ReplaceWith("Resultatkode"))
enum class ResultatkodeBarnebidrag {
BARNET_ER_SELVFORSØRGET, // Barnet er selvforsørget

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.bidrag.domene.enums.beregning

@Deprecated("", replaceWith = ReplaceWith("Resultatkode"))
enum class ResultatkodeForskudd(val legacyKode: String) {
AVSLAG("A"),
REDUSERT_FORSKUDD_50_PROSENT("50"),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.bidrag.domene.enums.beregning

@Deprecated("", replaceWith = ReplaceWith("Resultatkode"))
enum class ResultatkodeSærtilskudd(val kode: String) {
BARNET_ER_SELVFORSØRGET("5SF"), // Barnet er selvforsørget
SÆRTILSKUDD_INNVILGET("VS"), // Resultat av beregning av særtilskudd
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@file:Suppress("unused")

package no.nav.bidrag.domene.enums.grunnlag

import io.swagger.v3.oas.annotations.media.Schema
Expand Down Expand Up @@ -43,15 +45,26 @@ enum class Grunnlagstype {
FORHOLDSMESSIG_FORDELING,
SLUTTBEREGNING_BBM,
KLAGE_STATISTIKK,
PERSON,

BOSTATUS_PERIODE,
SØKNAD,
SIVILSTAND_PERIODE,
VIRKNINGSDATO,
VIRKNINGSTIDSPUNKT,
NOTAT,

@Deprecated("Bruk de spesifikke grunnlagstypene som starter med PERSON_ i stedet")
PERSON,
PERSON_BIDRAGSMOTTAKER,
PERSON_BIDRAGSPLIKTIG,
PERSON_REELL_MOTTAKER,
PERSON_SØKNADSBARN,
PERSON_HUSSTANDSMEDLEM,

INNTEKT_RAPPORTERING_PERIODE,

// Inntekt som er beregnet av bidrag-inntekt
BEREGNET_INNTEKT,

INNHENTET_HUSSTANDSMEDLEM_PERIODE,
INNHENTET_SIVILSTAND_PERIODE,
INNHENTET_ARBEIDSFORHOLD_PERIODE,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
@file:Suppress("unused")

package no.nav.bidrag.domene.enums.vedtak

import io.swagger.v3.oas.annotations.media.Schema

@Schema(enumAsRef = true, name = "Årsakstype")
enum class VirkningstidspunktÅrsakstype(val legacyKode: String) {
ANNET("SF"),
ENDRING_3_MÅNEDER_TILBAKE("NF"),
ENDRING_3_ÅRS_REGELEN("OF"),
FRA_BARNETS_FØDSEL("AF"),
FRA_BARNETS_FLYTTEMÅNED("CF"),
FRA_KRAVFREMSETTELSE("DF"),
FRA_MÅNED_ETTER_INNTEKTEN_ØKTE("LF"),
FRA_OPPHOLDSTILLATELSE("GF"),
FRA_SØKNADSTIDSPUNKT("HF"),
FRA_SAMLIVSBRUDD("BF"),
FRA_SAMME_MÅNED_SOM_INNTEKTEN_BLE_REDUSERT("KF"),
PRIVAT_AVTALE("PA"),
REVURDERING_MÅNEDEN_ETTER("QF"),
SØKNADSTIDSPUNKT_ENDRING("MF"),
TIDLIGERE_FEILAKTIG_AVSLAG("PF"),
TRE_MÅNEDER_TILBAKE("EF"),
TRE_ÅRS_REGELEN("FF"),
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory
import com.fasterxml.jackson.module.kotlin.readValue
import com.fasterxml.jackson.module.kotlin.registerKotlinModule
import no.nav.bidrag.domene.enums.beregning.Resultatkode
import no.nav.bidrag.domene.enums.beregning.ResultatkodeBarnebidrag
import no.nav.bidrag.domene.enums.beregning.ResultatkodeForskudd
import no.nav.bidrag.domene.enums.beregning.ResultatkodeSærtilskudd
import no.nav.bidrag.domene.enums.diverse.Språk
import no.nav.bidrag.domene.enums.inntekt.Inntektsrapportering
import no.nav.bidrag.domene.enums.person.Bostatuskode
import no.nav.bidrag.domene.enums.person.Sivilstandskode
import no.nav.bidrag.domene.enums.vedtak.VirkningstidspunktÅrsakstype
import java.net.URL

typealias VisningsnavnKodeMap = Map<String, Visningsnavn>
Expand All @@ -35,11 +37,19 @@ val Inntektsrapportering.visningsnavn get() = lastVisningsnavnFraFil("inntekttyp

fun Inntektsrapportering.visningsnavnInternrstall: Int?) = "${visningsnavn.intern} $årstall".trim()

val VirkningstidspunktÅrsakstype.visningsnavn get() = lastVisningsnavnFraFil("årsak.yaml")[name] ?: visningsnavnMangler(name)
val Sivilstandskode.visningsnavn get() = lastVisningsnavnFraFil("sivilstand.yaml")[name] ?: visningsnavnMangler(name)
val Bostatuskode.visningsnavn get() = lastVisningsnavnFraFil("bostatus.yaml")[name] ?: visningsnavnMangler(name)
val ResultatkodeForskudd.visningsnavn get() = lastVisningsnavnFraFil("resultat.yaml", "FORSKUDD")[name] ?: visningsnavnMangler(name)
val ResultatkodeBarnebidrag.visningsnavn get() = lastVisningsnavnFraFil("resultat.yaml", "BARNEBIDRAG")[name] ?: visningsnavnMangler(name)
val ResultatkodeSærtilskudd.visningsnavn get() = lastVisningsnavnFraFil("resultat.yaml", "SÆRTILSKUDD")[name] ?: visningsnavnMangler(name)
val ResultatkodeForskudd.visningsnavn get() =
lastVisningsnavnFraFil("resultatDeprecated.yaml", "FORSKUDD")[name]
?: visningsnavnMangler(name)
val ResultatkodeBarnebidrag.visningsnavn get() =
lastVisningsnavnFraFil("resultatDeprecated.yaml", "BARNEBIDRAG")[name]
?: visningsnavnMangler(name)
val ResultatkodeSærtilskudd.visningsnavn get() =
lastVisningsnavnFraFil("resultatDeprecated.yaml", "SÆRTILSKUDD")[name]
?: visningsnavnMangler(name)
val Resultatkode.visningsnavn get() = lastVisningsnavnFraFil("resultat.yaml")[name] ?: visningsnavnMangler(name)

private fun lastVisningsnavnFraFil(
filnavn: String,
Expand Down
Loading

0 comments on commit a5e04bb

Please sign in to comment.