-
Notifications
You must be signed in to change notification settings - Fork 2
/
AMeldingInntektDto.kt
62 lines (53 loc) · 1.6 KB
/
AMeldingInntektDto.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package no.nav.familie.ef.sak.amelding
import java.time.LocalDate
import java.time.YearMonth
data class AMeldingInntektDto(
val inntektPerVirksomhet: List<InntektForVirksomhetDto>,
val avvik: List<String>,
)
data class InntektForVirksomhetDto(
val identifikator: String,
val navn: String,
val inntektPerMåned: Map<YearMonth, InntektPerMånedDto>,
)
data class InntektPerMånedDto(
val totalbeløp: Int,
val inntekt: List<InntektDto>,
)
/**
* beskrivelse hentes fra kodeverk
* (InntektType -> Navn på kodeverk)
* Lønnsinntekt -> Loennsbeskrivelse
* Næringsinntekt -> Naeringsinntektsbeskrivelse
* Pensjon eller trygd -> PensjonEllerTrygdeBeskrivelse
* Ytelse fra offentlig -> YtelseFraOffentligeBeskrivelse
*
* kategori hentes fra kodeverk - EDAGTilleggsinfoKategorier
*/
data class InntektDto(
val beløp: Int,
val beskrivelse: String?,
val fordel: Fordel,
val type: InntektType,
val kategori: String?,
val opptjeningsland: String? = null,
val opptjeningsperiodeFom: LocalDate? = null,
val opptjeningsperiodeTom: LocalDate? = null,
)
enum class InntektType {
LØNNSINNTEKT,
NÆRINGSINNTEKT,
PENSJON_ELLER_TRYGD,
YTELSE_FRA_OFFENTLIGE,
}
enum class Fordel(val verdi: String) {
KONTANTYTELSE("kontantytelse"),
NATURALYTELSE("naturalytelse"),
UTGIFTSGODTGJØRELSE("utgiftsgodtgjoerelse"),
;
companion object {
val map = values().associateBy { it.verdi }
fun fraVerdi(verdi: String): Fordel = map[verdi]
?: error("Finner ikke mapping for $verdi i ${Fordel::class.java.simpleName}")
}
}