Skip to content

Commit 4c850ef

Browse files
authored
Merge pull request #716 from navikt/Legge_17_og_17_1_i_egen_flyt
Lagt regel 17 og 17.1 i egen flyt.
2 parents ec99d16 + 060b0f1 commit 4c850ef

File tree

10 files changed

+84
-15
lines changed

10 files changed

+84
-15
lines changed

src/main/kotlin/no/nav/medlemskap/regler/common/RegelId.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ enum class RegelId(val identifikator: String, val avklaring: String, val neiBegr
9191
REGEL_STATSBORGERSKAP("STATSBORGERSKAP", "Er statsborgerskap avklart?"),
9292
REGEL_TREDJELANDSBORGER_FAMILIE("TREDJELANDSBORGER-FAMILIE", "Er tredjelandsborgers familie EØS medlem?"),
9393
REGEL_BOSATT("BOSATT", "Er det avklart om bruker bor i Norge?"),
94-
REGEL_BRUKERGRUPPE("BRUKERGRUPPE", "Er det avklart om brukeren er har en brukerGruppe eller ikke?"),
9594
REGEL_DOED("DOED", "Er det avklart om brukeren er død eller ikke?"),
9695
REGEL_REQUEST_VALIDERING("Validering", "Er input-dataene gyldige?"),
9796
REGEL_OVERSTYRING("OVERSTYRING", "Er overstyringsregler avklart?"),
@@ -100,7 +99,10 @@ enum class RegelId(val identifikator: String, val avklaring: String, val neiBegr
10099
REGEL_HOVEDSAKLIG_ARBEIDSTAKER("Hovedsaklig arbeidstaker", "Er arbeidstaker i hovedsak arbeidstaker?"),
101100
REGEL_OPPHOLDSTILLATELSE("Oppholdstillatelse", "Har bruker gyldig oppholdstillatelse?"),
102101
REGEL_UTENLANDSFORHOLD("Utenlandsforhold", "Finnes det utenlandsforhold i noen av arbeidsforholdene?"),
103-
REGEL_PERMISJONER("Permisjoner", "Finnes det permisjoner i noen av arbeidsforholdene?")
102+
REGEL_PERMISJONER("Permisjoner", "Finnes det permisjoner i noen av arbeidsforholdene?"),
103+
REGEL_BRUKERGRUPPE("BRUKERGRUPPE", "Har bruker arbeidsforhold?"),
104+
REGEL_BRUKERGRUPPESELVSTENDIG("BRUKERGRUPPESELVSTENDIG", "Er det avklart om brukeren er har en brukerGruppe eller ikke?")
105+
104106

105107
;
106108

src/main/kotlin/no/nav/medlemskap/regler/v1/Hovedregler.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import no.nav.medlemskap.regler.common.Resultat
1313
import no.nav.medlemskap.regler.common.Resultat.Companion.finnÅrsaker
1414
import no.nav.medlemskap.regler.common.Svar
1515
import no.nav.medlemskap.regler.common.Svar.*
16+
import no.nav.medlemskap.regler.v1.brukergruppe.ReglerForBrukerGruppe
1617
import no.nav.medlemskap.regler.v1.regelflyt.arbeid.ReglerForPermisjoner
1718
import no.nav.medlemskap.regler.v1.regelflyt.arbeid.ReglerForUtenlandsforhold
1819

@@ -139,6 +140,7 @@ class Hovedregler(private val datagrunnlag: Datagrunnlag, val brukerGrupeResulta
139140
private fun kjørFellesRegler(): List<Resultat> {
140141
val fellesRegler = listOf(
141142
ReglerForDoedsfall.fraDatagrunnlag(datagrunnlag),
143+
ReglerForBrukerGruppe.fraDatagrunnlag(datagrunnlag),
142144
ReglerForFellesArbeidsforhold.fraDatagrunnlag(datagrunnlag),
143145
ReglerForPermisjoner.fraDatagrunnlag(datagrunnlag),
144146
ReglerForUtenlandsforhold.fraDatagrunnlag(datagrunnlag),

src/main/kotlin/no/nav/medlemskap/regler/v1/ReglerForFellesArbeidsforhold.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class ReglerForFellesArbeidsforhold(
6666
hvisNei = HarBrukerSammenhengendeArbeidsforholdRegelFlyt
6767
)
6868

69-
val ErBrukerFrilanserFlyt = lagRegelflyt(
69+
/* val ErBrukerFrilanserFlyt = lagRegelflyt(
7070
regel = hentRegel(REGEL_17_1),
7171
hvisJa = konklusjonUavklart(ytelse, REGEL_FELLES_ARBEIDSFORHOLD),
7272
hvisNei = HarPermitteringSiste12MånederFlyt
@@ -77,9 +77,9 @@ class ReglerForFellesArbeidsforhold(
7777
regel = hentRegel(REGEL_17),
7878
hvisJa = ErBrukerFrilanserFlyt,
7979
hvisNei = konklusjonUavklart(ytelse, REGEL_FELLES_ARBEIDSFORHOLD)
80-
)
80+
) */
8181

82-
return HarBrukerArbeidsforholdFlyt
82+
return HarPermitteringSiste12MånederFlyt
8383
}
8484

8585
companion object {

src/main/kotlin/no/nav/medlemskap/regler/v1/ReglerService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import no.nav.medlemskap.regler.common.RegelId
55
import no.nav.medlemskap.regler.common.Resultat
66
import no.nav.medlemskap.regler.common.Svar
77

8-
import no.nav.medlemskap.regler.v1.brukergruppe.ReglerForBrukerGruppe
8+
import no.nav.medlemskap.regler.v1.brukergruppe.ReglerForBrukerGruppeSelvstendigNearingsdrivende
99
import no.nav.medlemskap.selvstendignaringsdrivende.HovedreglerForSelvstendigNaringsdrivende
1010

1111
object ReglerService {
@@ -19,7 +19,7 @@ object ReglerService {
1919
}
2020

2121
fun kjørReglerv2(datagrunnlag: Datagrunnlag): Resultat {
22-
val brukerGruppRegelkjøring = ReglerForBrukerGruppe.fraDatagrunnlag(datagrunnlag).kjørHovedflyt()
22+
val brukerGruppRegelkjøring = ReglerForBrukerGruppeSelvstendigNearingsdrivende.fraDatagrunnlag(datagrunnlag).kjørHovedflyt()
2323
when (avklarBrukerGruppe(brukerGruppRegelkjøring)){
2424
BrukerGruppe.Arbeidstager -> return kjørRegler(datagrunnlag,brukerGruppRegelkjøring)
2525
BrukerGruppe.Selvstendig_næringsdrivende -> return kjørReglerForSelvstendigNæringsdrivende(datagrunnlag,brukerGruppRegelkjøring)

src/main/kotlin/no/nav/medlemskap/regler/v1/brukergruppe/ReglerForBrukerGruppe.kt

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ package no.nav.medlemskap.regler.v1.brukergruppe
33
import no.nav.medlemskap.domene.Datagrunnlag
44
import no.nav.medlemskap.domene.Ytelse
55
import no.nav.medlemskap.regler.common.RegelId
6+
import no.nav.medlemskap.regler.common.RegelId.*
67
import no.nav.medlemskap.regler.common.Regelflyt
8+
import no.nav.medlemskap.regler.common.Regelflyt.Companion.konklusjonJa
9+
import no.nav.medlemskap.regler.common.Regelflyt.Companion.konklusjonUavklart
710
import no.nav.medlemskap.regler.common.Regelflyt.Companion.regelflytJa
811
import no.nav.medlemskap.regler.common.Regler
912
import no.nav.medlemskap.regler.common.Svar
@@ -16,14 +19,22 @@ class ReglerForBrukerGruppe(
1619
) : Regler(ytelse, regelFactory, overstyrteRegler) {
1720

1821
override fun hentHovedflyt(): Regelflyt {
19-
val harBrukerArbeidsforhold = lagRegelflyt(
20-
regel = hentRegel(RegelId.REGEL_17),
21-
hvisJa = regelflytJa(ytelse, RegelId.REGEL_BRUKERGRUPPE),
22-
hvisNei = regelflytJa(ytelse, RegelId.REGEL_BRUKERGRUPPE)
22+
val ErBrukerFrilanserFlyt = lagRegelflyt(
23+
regel = hentRegel(REGEL_17_1),
24+
hvisJa = konklusjonUavklart(ytelse, REGEL_BRUKERGRUPPE),
25+
hvisNei = regelflytJa(ytelse, REGEL_BRUKERGRUPPE)
2326
)
24-
return harBrukerArbeidsforhold
27+
28+
29+
val HarBrukerArbeidsforholdFlyt = lagRegelflyt(
30+
regel = hentRegel(REGEL_17),
31+
hvisJa = ErBrukerFrilanserFlyt,
32+
hvisNei = regelflytJa(ytelse, REGEL_BRUKERGRUPPE)
33+
)
34+
return HarBrukerArbeidsforholdFlyt
2535
}
2636

37+
2738
companion object {
2839
fun fraDatagrunnlag(datagrunnlag: Datagrunnlag): ReglerForBrukerGruppe {
2940
with(datagrunnlag) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package no.nav.medlemskap.regler.v1.brukergruppe
2+
3+
import no.nav.medlemskap.domene.Datagrunnlag
4+
import no.nav.medlemskap.domene.Ytelse
5+
import no.nav.medlemskap.regler.common.RegelId
6+
import no.nav.medlemskap.regler.common.Regelflyt
7+
import no.nav.medlemskap.regler.common.Regelflyt.Companion.regelflytJa
8+
import no.nav.medlemskap.regler.common.Regler
9+
import no.nav.medlemskap.regler.common.Svar
10+
import no.nav.medlemskap.regler.v1.RegelFactory
11+
12+
class ReglerForBrukerGruppeSelvstendigNearingsdrivende(
13+
ytelse: Ytelse,
14+
regelFactory: RegelFactory,
15+
overstyrteRegler: Map<RegelId, Svar>
16+
) : Regler(ytelse, regelFactory, overstyrteRegler) {
17+
18+
override fun hentHovedflyt(): Regelflyt {
19+
val harBrukerArbeidsforhold = lagRegelflyt(
20+
regel = hentRegel(RegelId.REGEL_17),
21+
hvisJa = regelflytJa(ytelse, RegelId.REGEL_BRUKERGRUPPESELVSTENDIG),
22+
hvisNei = regelflytJa(ytelse, RegelId.REGEL_BRUKERGRUPPESELVSTENDIG)
23+
)
24+
25+
return harBrukerArbeidsforhold
26+
}
27+
28+
29+
companion object {
30+
fun fraDatagrunnlag(datagrunnlag: Datagrunnlag): ReglerForBrukerGruppeSelvstendigNearingsdrivende {
31+
with(datagrunnlag) {
32+
return ReglerForBrukerGruppeSelvstendigNearingsdrivende(
33+
ytelse = ytelse,
34+
regelFactory = RegelFactory(datagrunnlag),
35+
overstyrteRegler = datagrunnlag.overstyrteRegler
36+
)
37+
}
38+
}
39+
}
40+
}

src/test/resources/dokumentasjon/features/hovedregler/regelflyt/eos_borgere/eos_borger_med_medl_unntak.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Egenskap: EØS-borger med medl unntak.
4545
| Regel |
4646
#| REGEL_OVERSTYRING |
4747
| REGEL_DOED |
48+
| REGEL_BRUKERGRUPPE |
4849
| REGEL_FELLES_ARBEIDSFORHOLD |
4950
| REGEL_PERMISJONER |
5051
| REGEL_UTENLANDSFORHOLD |

src/test/resources/dokumentasjon/features/hovedregler/regelflyt/norske_borgere/norsk_borger_med_medl_unntak.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Egenskap: Norsk borger med medl unntak.
4545
| Regel |
4646
#| OVERSTYRING |
4747
| DOED |
48+
| REGEL_BRUKERGRUPPE |
4849
| FELLES ARBEIDSFORHOLD |
4950
| REGEL_PERMISJONER |
5051
| REGEL_UTENLANDSFORHOLD|

src/test/resources/dokumentasjon/features/hovedregler/regelflyt/tredjelandsborgere/tredjelandsborger_med_medl_unntak.feature

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ Egenskap: Tredjelandsborger med medl unntak.
5656
| Regel |
5757
#| REGEL_OVERSTYRING |
5858
| REGEL_DOED |
59+
| REGEL_BRUKERGRUPPE |
5960
| REGEL_FELLES_ARBEIDSFORHOLD |
6061
| REGEL_PERMISJONER |
6162
| REGEL_UTENLANDSFORHOLD |
@@ -100,6 +101,7 @@ Egenskap: Tredjelandsborger med medl unntak.
100101
| Regel |
101102
#| REGEL_OVERSTYRING |
102103
| REGEL_DOED |
104+
| REGEL_BRUKERGRUPPE |
103105
| REGEL_FELLES_ARBEIDSFORHOLD |
104106
| REGEL_PERMISJONER |
105107
| REGEL_UTENLANDSFORHOLD |
@@ -176,6 +178,7 @@ Egenskap: Tredjelandsborger med medl unntak.
176178
| Regel |
177179
#| REGEL_OVERSTYRING |
178180
| REGEL_DOED |
181+
| REGEL_BRUKERGRUPPE |
179182
| REGEL_FELLES_ARBEIDSFORHOLD |
180183
| REGEL_PERMISJONER |
181184
| REGEL_UTENLANDSFORHOLD |

src/test/resources/testpersoner/bakoverkompatibeltest/forventetRespons.json

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"vurderingsID" : "7b006d2c-ff75-4404-9663-7babf23f45de",
3-
"tidspunkt" : "2025-03-19T12:07:20.842661",
3+
"tidspunkt" : "2025-03-24T10:31:00.189497",
44
"versjonTjeneste" : "",
55
"versjonRegler" : "v1",
66
"kanal" : "/",
@@ -279,7 +279,7 @@
279279
"årsaker" : [ ],
280280
"avklaring" : "Er det avklart om brukeren er død eller ikke?"
281281
}, {
282-
"regelId" : "REGEL_FELLES_ARBEIDSFORHOLD",
282+
"regelId" : "REGEL_BRUKERGRUPPE",
283283
"svar" : "JA",
284284
"begrunnelse" : "",
285285
"harDekning" : null,
@@ -302,7 +302,16 @@
302302
"delresultat" : [ ],
303303
"årsaker" : [ ],
304304
"avklaring" : "Er bruker frilanser?"
305-
}, {
305+
} ],
306+
"årsaker" : [ ],
307+
"avklaring" : "Har bruker arbeidsforhold?"
308+
}, {
309+
"regelId" : "REGEL_FELLES_ARBEIDSFORHOLD",
310+
"svar" : "JA",
311+
"begrunnelse" : "",
312+
"harDekning" : null,
313+
"dekning" : "",
314+
"delresultat" : [ {
306315
"regelId" : "REGEL_15",
307316
"svar" : "NEI",
308317
"begrunnelse" : "Bruker har permittering i siste 12 mnd",

0 commit comments

Comments
 (0)