Skip to content

Commit

Permalink
Merge pull request #114 from navikt/feature/ny-grunnlagsstruktur
Browse files Browse the repository at this point in the history
Tatt inn ny versjon av bidrag-domene
  • Loading branch information
LarsOttoHaugen authored Nov 3, 2023
2 parents 2c84a73 + fae5cb4 commit bd44589
Show file tree
Hide file tree
Showing 9 changed files with 376 additions and 634 deletions.
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

<!-- dependencies -->
<spring-boot.version>3.0.6</spring-boot.version>
<bidrag-domain.version>20230914102523_8f6d6ef</bidrag-domain.version>
<bidrag-domene.version>20231103104652_3baff64</bidrag-domene.version>
</properties>

<distributionManagement>
Expand Down Expand Up @@ -74,8 +74,8 @@
<dependencies>
<dependency>
<groupId>no.nav.bidrag</groupId>
<artifactId>bidrag-domain</artifactId>
<version>${bidrag-domain.version}</version>
<artifactId>bidrag-domene</artifactId>
<version>${bidrag-domene.version}</version>
</dependency>

<dependency>
Expand Down
4 changes: 2 additions & 2 deletions src/main/kotlin/no/nav/bidrag/beregn/felles/bo/Avvik.kt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package no.nav.bidrag.beregn.felles.bo

import no.nav.bidrag.domain.enums.AvvikType
import no.nav.bidrag.domene.enums.Avvikstype

data class Avvik(
val avvikTekst: String,
val avvikType: AvvikType
val avvikType: Avvikstype
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package no.nav.bidrag.beregn.felles.inntekt

import no.nav.bidrag.beregn.felles.bo.Periode
import no.nav.bidrag.beregn.felles.bo.PeriodisertGrunnlag
import no.nav.bidrag.domain.enums.InntektType
import no.nav.bidrag.domene.enums.InntektType
import java.math.BigDecimal

data class InntektPeriodeGrunnlag(
Expand Down
341 changes: 174 additions & 167 deletions src/main/kotlin/no/nav/bidrag/beregn/felles/util/InntektUtil.kt

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions src/main/kotlin/no/nav/bidrag/beregn/felles/util/PeriodeUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package no.nav.bidrag.beregn.felles.util

import no.nav.bidrag.beregn.felles.bo.Avvik
import no.nav.bidrag.beregn.felles.bo.Periode
import no.nav.bidrag.domain.enums.AvvikType
import no.nav.bidrag.domene.enums.Avvikstype
import java.time.LocalDate

object PeriodeUtil {
Expand Down Expand Up @@ -41,28 +41,28 @@ object PeriodeUtil {
if (sjekkOverlapp && it.overlapper(forrigePeriode)) {
val feilmelding = "Overlappende perioder i " + dataElement + ": datoTil=" + forrigePeriode!!.datoTil + ", datoFom=" +
it.datoFom
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = AvvikType.PERIODER_OVERLAPPER))
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = Avvikstype.PERIODER_OVERLAPPER))
}

// Sjekk om det er opphold mellom perioder
if (sjekkOpphold && it.harOpphold(forrigePeriode)) {
val feilmelding = "Opphold mellom perioder i " + dataElement + ": datoTil=" + forrigePeriode!!.datoTil + ", datoFom=" +
it.datoFom
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = AvvikType.PERIODER_HAR_OPPHOLD))
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = Avvikstype.PERIODER_HAR_OPPHOLD))
}

// Sjekk om dato er null
if (sjekkNull && indeks != periodeListe.size && it.datoTil == null) {
val feilmelding = "datoTil kan ikke være null i " + dataElement + ": datoFom=" + it.datoFom +
", datoTil=" + it.datoTil
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = AvvikType.NULL_VERDI_I_DATO))
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = Avvikstype.NULL_VERDI_I_DATO))
}

// Sjekk om dato fra er etter dato til
if (!it.datoTilErEtterDatoFom()) {
val feilmelding = "datoTil må være etter datoFom i " + dataElement + ": datoFom=" + it.datoFom +
", datoTil=" + it.datoTil
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = AvvikType.DATO_FOM_ETTER_DATO_TIL))
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = Avvikstype.DATO_FOM_ETTER_DATO_TIL))
}

forrigePeriode = Periode(datoFom = it.datoFom, datoTil = it.datoTil)
Expand All @@ -76,13 +76,13 @@ object PeriodeUtil {
fun validerBeregnPeriodeInput(beregnDatoFra: LocalDate?, beregnDatoTil: LocalDate?): List<Avvik> {
val avvikListe = mutableListOf<Avvik>()
if (beregnDatoFra == null) {
avvikListe.add(Avvik("beregnDatoFra kan ikke være null", AvvikType.NULL_VERDI_I_DATO))
avvikListe.add(Avvik("beregnDatoFra kan ikke være null", Avvikstype.NULL_VERDI_I_DATO))
}
if (beregnDatoTil == null) {
avvikListe.add(Avvik("beregnDatoTil kan ikke være null", AvvikType.NULL_VERDI_I_DATO))
avvikListe.add(Avvik("beregnDatoTil kan ikke være null", Avvikstype.NULL_VERDI_I_DATO))
}
if (!Periode(beregnDatoFra!!, beregnDatoTil).datoTilErEtterDatoFom()) {
avvikListe.add(Avvik("beregnDatoTil må være etter beregnDatoFra", AvvikType.DATO_FOM_ETTER_DATO_TIL))
avvikListe.add(Avvik("beregnDatoTil må være etter beregnDatoFra", Avvikstype.DATO_FOM_ETTER_DATO_TIL))
}
return avvikListe
}
Expand All @@ -103,15 +103,15 @@ object PeriodeUtil {
val startDatoIPeriodeListe = periodeListe.first().datoFom
if (startDatoIPeriodeListe.isAfter(beregnDatoFra)) {
val feilmelding = "Første dato i $dataElement ($startDatoIPeriodeListe) er etter beregnDatoFra ($beregnDatoFra)"
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = AvvikType.PERIODE_MANGLER_DATA))
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = Avvikstype.PERIODE_MANGLER_DATA))
}

// Sjekk at siste dato i periodelisten ikke er før slutt-dato i perioden det skal beregnes for
val sluttDatoPeriodeListe = periodeListe.map { it.datoTil }.sortedWith(nullsLast(naturalOrder())).toList()
val sluttDatoIPeriodeListe = sluttDatoPeriodeListe[sluttDatoPeriodeListe.size - 1]
if (sluttDatoIPeriodeListe != null && sluttDatoIPeriodeListe.isBefore(beregnDatoTil)) {
val feilmelding = "Siste dato i $dataElement ($sluttDatoIPeriodeListe) er før beregnDatoTil ($beregnDatoTil)"
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = AvvikType.PERIODE_MANGLER_DATA))
avvikListe.add(Avvik(avvikTekst = feilmelding, avvikType = Avvikstype.PERIODE_MANGLER_DATA))
}
return avvikListe
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ import no.nav.bidrag.beregn.felles.bo.SjablonNokkel
import no.nav.bidrag.beregn.felles.bo.SjablonSingelNokkel
import no.nav.bidrag.beregn.felles.bo.SjablonSingelNokkelSingelInnhold
import no.nav.bidrag.beregn.felles.bo.TrinnvisSkattesats
import no.nav.bidrag.domain.enums.sjablon.SjablonInnholdNavn
import no.nav.bidrag.domain.enums.sjablon.SjablonNavn
import no.nav.bidrag.domain.enums.sjablon.SjablonNokkelNavn
import no.nav.bidrag.domain.enums.sjablon.SjablonTallNavn
import no.nav.bidrag.domene.enums.sjablon.SjablonInnholdNavn
import no.nav.bidrag.domene.enums.sjablon.SjablonNavn
import no.nav.bidrag.domene.enums.sjablon.SjablonNokkelNavn
import no.nav.bidrag.domene.enums.sjablon.SjablonTallNavn
import java.math.BigDecimal
import java.util.Comparator.comparing
import java.util.stream.Stream
Expand Down
Loading

0 comments on commit bd44589

Please sign in to comment.