diff --git a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/grunnlag/Grunnlagstype.kt b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/grunnlag/Grunnlagstype.kt index f140989..01fbccc 100644 --- a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/grunnlag/Grunnlagstype.kt +++ b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/grunnlag/Grunnlagstype.kt @@ -69,4 +69,7 @@ enum class Grunnlagstype { INNHENTET_INNTEKT_BARNETILSYN, INNHENTET_INNTEKT_SMÅBARNSTILLEGG, INNHENTET_INNTEKT_UTVIDETBARNETRYGD, + + // Brukes ifbm Bisys grunnlag + UNNTAK, } diff --git a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/person/Bostatuskode.kt b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/person/Bostatuskode.kt index 61b323e..8a4600a 100644 --- a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/person/Bostatuskode.kt +++ b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/person/Bostatuskode.kt @@ -11,4 +11,9 @@ enum class Bostatuskode { ALENE, DELT_BOSTED, REGNES_IKKE_SOM_BARN, // TODO: Avklar (faglig) om dette skal brukes + + // Følgende verdier brukes til unntakskoder i Bisys som påvirker resultatet av beregning + UNNTAK_HOS_ANDRE, + UNNTAK_ALENE, + UNNTAK_ENSLIG_ASYLSØKER, } diff --git a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/person/Unntakskode.kt b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/person/Unntakskode.kt new file mode 100644 index 0000000..5ce0b3b --- /dev/null +++ b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/person/Unntakskode.kt @@ -0,0 +1,22 @@ +package no.nav.bidrag.domene.enums.person + +import io.swagger.v3.oas.annotations.media.Schema + +@Schema(enumAsRef = true) +enum class Unntakskode(val legacyKode: String) { + ENSLIG_ADOPTANT("EAD"), + EN_FORELDRE_DØD("EFD"), + FARSKAP_IKKE_FASTSLÅTT("FIF"), + HJEMMEL_SATT_MANUELT("MAN"), + ; + + companion object { + fun fraLegacyKode(legacyKode: String): Unntakskode? { + return try { + enumValues().find { it.legacyKode == legacyKode } ?: Unntakskode.valueOf(legacyKode) + } catch (e: Exception) { + null + } + } + } +} diff --git "a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/vedtak/Virkningstidspunkt\303\205rsakstype.kt" "b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/vedtak/Virkningstidspunkt\303\205rsakstype.kt" index 11730e5..80cae3c 100644 --- "a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/vedtak/Virkningstidspunkt\303\205rsakstype.kt" +++ "b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/vedtak/Virkningstidspunkt\303\205rsakstype.kt" @@ -24,4 +24,17 @@ enum class VirkningstidspunktÅrsakstype(val legacyKode: String) { TRE_MÅNEDER_TILBAKE("EF"), TRE_ÅRS_REGELEN("FF"), FRA_MÅNEDEN_ETTER_I_PÅVENTE_AV_BIDRAGSSAK("LF"), + ; + + companion object { + fun fraLegacyKode(legacyKode: String): VirkningstidspunktÅrsakstype? { + return try { + enumValues().find { it.legacyKode == legacyKode } ?: VirkningstidspunktÅrsakstype.valueOf( + legacyKode, + ) + } catch (e: Exception) { + null + } + } + } } diff --git a/bidrag-domene/src/main/resources/kodeverk/visningsnavn/bostatus.yaml b/bidrag-domene/src/main/resources/kodeverk/visningsnavn/bostatus.yaml index 7c08d85..43a9c50 100644 --- a/bidrag-domene/src/main/resources/kodeverk/visningsnavn/bostatus.yaml +++ b/bidrag-domene/src/main/resources/kodeverk/visningsnavn/bostatus.yaml @@ -11,4 +11,10 @@ ALENE: DELT_BOSTED: intern: "Delt bosted" REGNES_IKKE_SOM_BARN: - intern: "Regnes ikke som barn" \ No newline at end of file + intern: "Regnes ikke som barn" +UNNTAK_HOS_ANDRE: + intern: "Unntak - bor hos andre" +UNNTAK_ALENE: + intern: "Unntak - bor alene" +UNNTAK_ENSLIG_ASYLSØKER: + intern: "Unntak - enslig asylsøker" \ No newline at end of file diff --git a/bidrag-domene/src/test/kotlin/no/nav/bidrag/domene/util/VisningsnavnTest.kt b/bidrag-domene/src/test/kotlin/no/nav/bidrag/domene/util/VisningsnavnTest.kt index 4f747e9..969bf93 100644 --- a/bidrag-domene/src/test/kotlin/no/nav/bidrag/domene/util/VisningsnavnTest.kt +++ b/bidrag-domene/src/test/kotlin/no/nav/bidrag/domene/util/VisningsnavnTest.kt @@ -165,7 +165,7 @@ class VisningsnavnTest { @Nested internal inner class ResultatkodeTest { @Test - fun `Skal lage visningsnavn for AVSLAG_PRIVAT_AVTALE_BIDRAG`() { + fun `Skal lage visningsnavn for AVSLAG_PRIVAT_AVTALE_BIDRAG`() { Resultatkode.AVSLAG_PRIVAT_AVTALE_BIDRAG.visningsnavnIntern( Vedtakstype.OPPHØR, ) shouldBe "Opphør på grunn av privat avtale om bidrag" diff --git a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Husstandsmedlem.kt b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Husstandsmedlem.kt index 72a3f83..fa3fdb4 100644 --- a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Husstandsmedlem.kt +++ b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Husstandsmedlem.kt @@ -3,6 +3,7 @@ package no.nav.bidrag.transport.behandling.felles.grunnlag import io.swagger.v3.oas.annotations.media.Schema import no.nav.bidrag.domene.enums.grunnlag.GrunnlagDatakilde import no.nav.bidrag.domene.enums.person.Bostatuskode +import no.nav.bidrag.domene.enums.person.Unntakskode import no.nav.bidrag.domene.tid.Datoperiode import no.nav.bidrag.domene.tid.ÅrMånedsperiode import java.time.LocalDate @@ -29,7 +30,14 @@ data class InnhentetHusstandsmedlem( data class BostatusPeriode( override val periode: ÅrMånedsperiode, val bostatus: Bostatuskode, - @Schema(description = "Referanse til BM eller BP som bosstatus for personen som gjelder") + @Schema(description = "Referanse til BM eller BP som bostatus for personen gjelder for") val relatertTilPart: Grunnlagsreferanse, override val manueltRegistrert: Boolean, ) : GrunnlagPeriodeInnhold + +@Schema(description = "Unntak som ikke påvirker beregningsresultatet for person") +data class Unntak( + val unntak: Unntakskode, + @Schema(description = "Referanse til BM eller BP som unntak for personen gjelder for") + val relatertTilPart: Grunnlagsreferanse, +) : GrunnlagInnhold