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

Lagt til validering av input-datoer i PeriodeUtil. Java versjon 21. k… #116

Merged
merged 1 commit into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
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
4 changes: 2 additions & 2 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'
java-version: '21'
distribution: 'temurin'
- uses: actions/cache@v3
with:
path: ~/.m2
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Tilbyr felles dataklasser og util-metoder for håndtering av inntekter, sjablone

| Versjon | Endringstype | Beskrivelse |
|---------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1.0.5 | Endret | Lagt til validering av input-datoer i PeriodeUtil. Java versjon 21. ktlint formattering. |
| 1.0.4 | Endret | Ny versjon av bidrag-domene. Kommentert ut en del kode som gjelder inntektsvalidering. |
| 1.0.3 | Endret | Delvis fjernet bruk av InntektType |
| 1.0.2 | Endret | Liten justering i workflow |
Expand Down
12 changes: 6 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
<properties>

<!-- language -->
<java.version>17</java.version>
<kotlin.version>1.9.0</kotlin.version>
<java.version>21</java.version>
<kotlin.version>1.9.20</kotlin.version>

<!-- build -->
<build-helper-maven.version>3.3.0</build-helper-maven.version>
Expand All @@ -43,7 +43,7 @@

<!-- dependencies -->
<spring-boot.version>3.0.6</spring-boot.version>
<bidrag-domene.version>20231103104652_3baff64</bidrag-domene.version>
<bidrag-domene.version>20231110092737_1f08513</bidrag-domene.version>
</properties>

<distributionManagement>
Expand Down Expand Up @@ -192,9 +192,9 @@
</executions>
<dependencies>
<dependency>
<groupId>com.pinterest</groupId>
<artifactId>ktlint</artifactId>
<version>0.47.1</version>
<groupId>com.pinterest.ktlint</groupId>
<artifactId>ktlint-cli</artifactId>
<version>1.0.1</version>
</dependency>
<!-- additional 3rd party ruleset(s) can be specified here -->
</dependencies>
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/no/nav/bidrag/beregn/felles/bo/Avvik.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ import no.nav.bidrag.domene.enums.Avvikstype

data class Avvik(
val avvikTekst: String,
val avvikType: Avvikstype
val avvikType: Avvikstype,
)
4 changes: 2 additions & 2 deletions src/main/kotlin/no/nav/bidrag/beregn/felles/bo/Periode.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import java.time.temporal.TemporalAdjusters

data class Periode(
var datoFom: LocalDate,
val datoTil: LocalDate?
val datoTil: LocalDate?,
) : PeriodisertGrunnlag {
companion object {
// Juster dato til den første i neste måned (hvis ikke dato er den første i inneværende måned)
Expand All @@ -25,7 +25,7 @@ data class Periode(
return (
(annenPeriode.datoTil == null || datoFom.isBefore(annenPeriode.datoTil)) &&
(datoTil == null || datoTil.isAfter(annenPeriode.datoFom))
)
)
}

// Sjekk om perioden overlapper (datoFom i denne perioden kommer tidligere enn datoTil i forrige periode)
Expand Down
23 changes: 11 additions & 12 deletions src/main/kotlin/no/nav/bidrag/beregn/felles/bo/Sjablon.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,43 @@ import java.math.BigDecimal
data class Sjablon(
val navn: String,
val nokkelListe: List<SjablonNokkel>? = emptyList(),
val innholdListe: List<SjablonInnhold>
val innholdListe: List<SjablonInnhold>,
)

data class SjablonNokkel(
val navn: String,
val verdi: String
val verdi: String,
)

data class SjablonInnhold(
val navn: String,
val verdi: BigDecimal
val verdi: BigDecimal,
)

data class SjablonSingelNokkel(
val navn: String,
val verdi: String,
val innholdListe: List<SjablonInnhold>
val innholdListe: List<SjablonInnhold>,
)

data class SjablonSingelNokkelSingelInnhold(
val navn: String,
val nokkelVerdi: String,
val innholdVerdi: BigDecimal
val innholdVerdi: BigDecimal,
)

data class TrinnvisSkattesats(
val inntektGrense: BigDecimal,
val sats: BigDecimal
val sats: BigDecimal,
)

data class SjablonPeriode(
val sjablonPeriode: Periode,
val sjablon: Sjablon
val sjablon: Sjablon,
) : PeriodisertGrunnlag {

constructor(sjablonPeriode: SjablonPeriode) : this(
sjablonPeriode.sjablonPeriode.justerDatoer(),
sjablonPeriode.sjablon
sjablonPeriode.sjablon,
)

override fun getPeriode(): Periode {
Expand All @@ -53,16 +52,16 @@ data class SjablonPeriode(

data class SjablonPeriodeInnhold(
val sjablonPeriode: Periode,
val sjablonInnhold: List<SjablonInnhold>
val sjablonInnhold: List<SjablonInnhold>,
)

data class SjablonNavnVerdi(
val navn: String,
val verdi: BigDecimal
val verdi: BigDecimal,
)

data class SjablonPeriodeNavnVerdi(
val periode: Periode,
val navn: String,
val verdi: BigDecimal
val verdi: BigDecimal,
)
100 changes: 50 additions & 50 deletions src/main/kotlin/no/nav/bidrag/beregn/felles/dto/CoreDto.kt
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
package no.nav.bidrag.beregn.felles.dto
import java.math.BigDecimal
import java.time.LocalDate
// Felles
data class PeriodeCore(
val datoFom: LocalDate,
val datoTil: LocalDate?
)
data class SjablonPeriodeCore(
val periode: PeriodeCore,
val navn: String,
val nokkelListe: List<SjablonNokkelCore>? = emptyList(),
val innholdListe: List<SjablonInnholdCore>
)
data class SjablonCore(
val navn: String,
val nokkelListe: List<SjablonNokkelCore>? = emptyList(),
val innholdListe: List<SjablonInnholdCore>
)
data class SjablonNokkelCore(
val navn: String,
val verdi: String
)
data class SjablonInnholdCore(
val navn: String,
val verdi: BigDecimal
)
data class SjablonNavnVerdiCore(
val navn: String,
val verdi: BigDecimal
)
data class SjablonResultatGrunnlagCore(
val referanse: String,
val periode: PeriodeCore,
val navn: String,
val verdi: BigDecimal
)
data class AvvikCore(
val avvikTekst: String,
val avvikType: String
)
package no.nav.bidrag.beregn.felles.dto

import java.math.BigDecimal
import java.time.LocalDate

// Felles
data class PeriodeCore(
val datoFom: LocalDate,
val datoTil: LocalDate?,
)

data class SjablonPeriodeCore(
val periode: PeriodeCore,
val navn: String,
val nokkelListe: List<SjablonNokkelCore>? = emptyList(),
val innholdListe: List<SjablonInnholdCore>,
)

data class SjablonCore(
val navn: String,
val nokkelListe: List<SjablonNokkelCore>? = emptyList(),
val innholdListe: List<SjablonInnholdCore>,
)

data class SjablonNokkelCore(
val navn: String,
val verdi: String,
)

data class SjablonInnholdCore(
val navn: String,
val verdi: BigDecimal,
)

data class SjablonNavnVerdiCore(
val navn: String,
val verdi: BigDecimal,
)

data class SjablonResultatGrunnlagCore(
val referanse: String,
val periode: PeriodeCore,
val navn: String,
val verdi: BigDecimal,
)

data class AvvikCore(
val avvikTekst: String,
val avvikType: String,
)
12 changes: 5 additions & 7 deletions src/main/kotlin/no/nav/bidrag/beregn/felles/inntekt/Inntekt.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,16 @@ data class InntektPeriodeGrunnlag(
val type: InntektType,
val belop: BigDecimal,
val deltFordel: Boolean,
val skatteklasse2: Boolean
val skatteklasse2: Boolean,
) : PeriodisertGrunnlag {

constructor(inntektPeriodeGrunnlag: InntektPeriodeGrunnlag) :
this(
referanse = inntektPeriodeGrunnlag.referanse,
inntektPeriode = inntektPeriodeGrunnlag.inntektPeriode.justerDatoer(),
type = inntektPeriodeGrunnlag.type,
belop = inntektPeriodeGrunnlag.belop,
deltFordel = inntektPeriodeGrunnlag.deltFordel,
skatteklasse2 = inntektPeriodeGrunnlag.skatteklasse2
skatteklasse2 = inntektPeriodeGrunnlag.skatteklasse2,
)

override fun getPeriode(): Periode {
Expand All @@ -36,17 +35,16 @@ data class InntektPeriodeGrunnlagUtenInntektType(
val type: String,
val belop: BigDecimal,
val deltFordel: Boolean,
val skatteklasse2: Boolean
val skatteklasse2: Boolean,
) : PeriodisertGrunnlag {

constructor(inntektPeriodeGrunnlag: InntektPeriodeGrunnlagUtenInntektType) :
this(
referanse = inntektPeriodeGrunnlag.referanse,
inntektPeriode = inntektPeriodeGrunnlag.inntektPeriode.justerDatoer(),
type = inntektPeriodeGrunnlag.type,
belop = inntektPeriodeGrunnlag.belop,
deltFordel = inntektPeriodeGrunnlag.deltFordel,
skatteklasse2 = inntektPeriodeGrunnlag.skatteklasse2
skatteklasse2 = inntektPeriodeGrunnlag.skatteklasse2,
)

override fun getPeriode(): Periode {
Expand All @@ -63,5 +61,5 @@ data class PeriodisertInntekt(
val sjablon0031NedreInntektsgrenseBelop: BigDecimal,
val sjablon0039FordelSaerfradragBelop: BigDecimal,
val deltFordel: Boolean,
val skatteklasse2: Boolean
val skatteklasse2: Boolean,
)
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,15 @@ class Periodiserer {
}

// Setter perioder basert på fra- og til-dato
fun finnPerioder(beregnDatoFom: LocalDate, beregnDatoTil: LocalDate): List<Periode> {
val sortertBruddpunktListe = bruddpunkter.stream()
.filter { dato: LocalDate -> dato.isAfter(beregnDatoFom.minusDays(1)) }
.filter { dato: LocalDate -> dato.isBefore(beregnDatoTil.plusDays(1)) }
.sorted().collect(Collectors.toList())
fun finnPerioder(
beregnDatoFom: LocalDate,
beregnDatoTil: LocalDate,
): List<Periode> {
val sortertBruddpunktListe =
bruddpunkter.stream()
.filter { dato: LocalDate -> dato.isAfter(beregnDatoFom.minusDays(1)) }
.filter { dato: LocalDate -> dato.isBefore(beregnDatoTil.plusDays(1)) }
.sorted().collect(Collectors.toList())

val perioder: MutableList<Periode> = ArrayList()
val bruddpunktIt = sortertBruddpunktListe.iterator()
Expand Down
Loading
Loading