Skip to content

Commit 3c178f5

Browse files
authored
Utvider søknad ytelser med DataBruktTilUtledning. (#364)
1 parent d521b02 commit 3c178f5

File tree

11 files changed

+434
-27
lines changed

11 files changed

+434
-27
lines changed
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
package no.nav.k9.søknad.ytelse;
2+
3+
4+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
5+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
6+
import com.fasterxml.jackson.annotation.JsonProperty;
7+
import no.nav.k9.søknad.JsonUtils;
8+
9+
import javax.validation.Valid;
10+
import javax.validation.constraints.AssertTrue;
11+
import java.util.HashMap;
12+
import java.util.Map;
13+
14+
15+
/**
16+
* <p>Klassen representerer tilleggsdata som har verdi som dokumentasjon.
17+
* Disse dataene blir bevart for nåværende og fremtidige formål og er ment for sikker oppbevaring i NAVs arkivsystem.</p>
18+
*
19+
* <p>Disse feltene spiller en avgjørende rolle i å sikre at dataene er tilgjengelige, gjenfinnbare og pålitelige, samtidig som de beholder sin bevisverdi.
20+
* Det brukes primært til å lagre data som genereres eller håndteres gjennom Dialog- og samhandlingssystemer.</p>
21+
*
22+
* <p>Vær oppmerksom på at all data som lagres her, skal behandles som arkivdokumentasjon, og bør derfor håndteres med tilsvarende forsiktighet og sikkerhetsprosedyrer.</p>
23+
*/
24+
25+
@JsonIgnoreProperties(ignoreUnknown = true)
26+
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
27+
public class DataBruktTilUtledning {
28+
29+
/**
30+
* Brukes for å bekrefte at bruker har forstått rettigheter og plikter.
31+
*/
32+
@JsonProperty(value = "harForståttRettigheterOgPlikter", required = true)
33+
@Valid
34+
@AssertTrue(message = "Må ha forstått rettigheter og plikter må være true")
35+
private Boolean harForståttRettigheterOgPlikter;
36+
37+
/**
38+
* Brukes for å bekrefte at bruker har bekreftet opplysninger.
39+
*/
40+
@JsonProperty(value = "harBekreftetOpplysninger", required = true)
41+
@Valid
42+
@AssertTrue(message = "Må ha bekreftet opplysninger må være true")
43+
private Boolean harBekreftetOpplysninger;
44+
45+
46+
/**
47+
* Brukes for å kunne spore opprinnelig commit SHA fra søknadsdialog.
48+
*/
49+
@JsonProperty(value = "soknadDialogCommitSha")
50+
@Valid
51+
private String soknadDialogCommitSha;
52+
53+
54+
/**
55+
* <p>Feltet "annetData" representerer tilleggsdata som ikke er direkte spesifisert
56+
* av de andre feltene i denne klassen. Dette kan inkludere alle supplerende
57+
* eller hjelpedata som er knyttet til en instans av denne klassen.</p>
58+
*
59+
* <p>Det brukes primært til å lagre avledet data generert under søknadsdialogprosessen.
60+
* Formålet med dette feltet er ikke å påvirke klassens primære funksjon, men å assistere
61+
* i å gi ekstra kontekst eller metadata der det er nødvendig.</p>
62+
*
63+
* <p>Merk at denne dataen skal brukes med forsiktighet, ettersom den ikke er direkte kontrollert
64+
* av klassens struktur og ikke er underlagt de samme valideringene eller sjekkene som andre felt.</p>
65+
*/
66+
@JsonProperty("annetData")
67+
private Map<String, Object> annetData;
68+
69+
public DataBruktTilUtledning() {
70+
this.annetData = new HashMap<>();
71+
}
72+
73+
public Boolean getHarForståttRettigheterOgPlikter() {
74+
return harForståttRettigheterOgPlikter;
75+
}
76+
77+
public DataBruktTilUtledning medHarForståttRettigheterOgPlikter(Boolean harForståttRettigheterOgPlikter) {
78+
this.harForståttRettigheterOgPlikter = harForståttRettigheterOgPlikter;
79+
return this;
80+
}
81+
82+
public Boolean getHarBekreftetOpplysninger() {
83+
return harBekreftetOpplysninger;
84+
}
85+
86+
public DataBruktTilUtledning medHarBekreftetOpplysninger(Boolean harBekreftetOpplysninger) {
87+
this.harBekreftetOpplysninger = harBekreftetOpplysninger;
88+
return this;
89+
}
90+
91+
public String getSoknadDialogCommitSha() {
92+
return this.soknadDialogCommitSha;
93+
}
94+
95+
public DataBruktTilUtledning medSoknadDialogCommitSha(String soknadDialogCommitSha) {
96+
this.soknadDialogCommitSha = soknadDialogCommitSha;
97+
return this;
98+
}
99+
100+
public Map<String, Object> getAnnetData() {
101+
return this.annetData;
102+
}
103+
104+
public DataBruktTilUtledning setAnnetData(Map<String, Object> annetData) {
105+
this.annetData = annetData;
106+
return this;
107+
}
108+
109+
public DataBruktTilUtledning medData(String key, Object value) {
110+
this.annetData.put(key, value);
111+
return this;
112+
}
113+
114+
/**
115+
* Returnerer en JSON-representasjon av denne klassen eller toString fra superklassen.
116+
* Hvis serialisering feiler, returneres toString fra superklassen.
117+
* @return JSON-representasjon av denne klassen.
118+
*/
119+
@Override
120+
public String toString() {
121+
try {
122+
return JsonUtils.toString(this);
123+
} catch (Exception e) {
124+
// hvis serialisering feiler, returner toString fra superklassen.
125+
return super.toString();
126+
}
127+
}
128+
}

soknad/src/main/java/no/nav/k9/søknad/ytelse/Ytelse.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ default YtelseValidator getValidator() {
5454
@Deprecated(forRemoval = true, since = "6.1.1")
5555
YtelseValidator getValidator(Versjon versjon);
5656

57+
/**
58+
* Data brukt til utledning av ytelse.
59+
*/
60+
DataBruktTilUtledning getDataBruktTilUtledning();
61+
Ytelse medDataBruktTilUtledning(DataBruktTilUtledning dataBruktTilUtledning);
62+
5763
/**
5864
* @return andre berørte, kjente identifiserte personer (enn søker) - f.eks. barn, ektefelle, verge etc. som er involveres i denne saken.
5965
*/

soknad/src/main/java/no/nav/k9/søknad/ytelse/olp/v1/Opplæringspenger.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
import no.nav.k9.søknad.felles.personopplysninger.Utenlandsopphold;
2424
import no.nav.k9.søknad.felles.type.Periode;
2525
import no.nav.k9.søknad.felles.type.Person;
26+
import no.nav.k9.søknad.ytelse.DataBruktTilUtledning;
2627
import no.nav.k9.søknad.ytelse.Ytelse;
2728
import no.nav.k9.søknad.ytelse.YtelseValidator;
2829
import no.nav.k9.søknad.ytelse.olp.v1.kurs.Kurs;
29-
import no.nav.k9.søknad.ytelse.psb.v1.DataBruktTilUtledning;
3030
import no.nav.k9.søknad.ytelse.psb.v1.LovbestemtFerie;
3131
import no.nav.k9.søknad.ytelse.psb.v1.Omsorg;
3232
import no.nav.k9.søknad.ytelse.psb.v1.Uttak;
@@ -260,4 +260,15 @@ public Type getType() {
260260
public YtelseValidator getValidator(Versjon versjon) {
261261
return new OpplæringspengerYtelseValidator();
262262
}
263+
264+
@Override
265+
public DataBruktTilUtledning getDataBruktTilUtledning() {
266+
return this.dataBruktTilUtledning;
267+
}
268+
269+
@Override
270+
public Ytelse medDataBruktTilUtledning(DataBruktTilUtledning dataBruktTilUtledning) {
271+
this.dataBruktTilUtledning = dataBruktTilUtledning;
272+
return this;
273+
}
263274
}

soknad/src/main/java/no/nav/k9/søknad/ytelse/omsorgspenger/utvidetrett/v1/OmsorgspengerAleneOmsorg.java

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
package no.nav.k9.søknad.ytelse.omsorgspenger.utvidetrett.v1;
22

3-
import java.util.List;
4-
import java.util.Objects;
5-
6-
import javax.validation.Valid;
7-
import javax.validation.constraints.NotNull;
8-
93
import com.fasterxml.jackson.annotation.JsonAutoDetect;
104
import com.fasterxml.jackson.annotation.JsonCreator;
115
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
126
import com.fasterxml.jackson.annotation.JsonProperty;
13-
147
import no.nav.k9.søknad.felles.Feil;
158
import no.nav.k9.søknad.felles.Versjon;
169
import no.nav.k9.søknad.felles.personopplysninger.Barn;
1710
import no.nav.k9.søknad.felles.type.Periode;
1811
import no.nav.k9.søknad.felles.type.Person;
12+
import no.nav.k9.søknad.ytelse.DataBruktTilUtledning;
1913
import no.nav.k9.søknad.ytelse.Ytelse;
2014
import no.nav.k9.søknad.ytelse.YtelseValidator;
21-
import no.nav.k9.søknad.ytelse.omsorgspenger.v1.OmsorgspengerUtbetalingSøknadValidator;
15+
16+
import javax.validation.Valid;
17+
import javax.validation.constraints.NotNull;
18+
import java.util.List;
19+
import java.util.Objects;
2220

2321
@JsonIgnoreProperties(ignoreUnknown = true)
2422
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@@ -36,6 +34,10 @@ public class OmsorgspengerAleneOmsorg implements OmsorgspengerUtvidetRett {
3634
@NotNull
3735
private Periode periode;
3836

37+
@JsonProperty(value = "dataBruktTilUtledning")
38+
@Valid
39+
private DataBruktTilUtledning dataBruktTilUtledning;
40+
3941
public OmsorgspengerAleneOmsorg() {
4042
}
4143

@@ -56,6 +58,17 @@ public YtelseValidator getValidator(Versjon versjon) {
5658
return new MinValidator();
5759
}
5860

61+
@Override
62+
public DataBruktTilUtledning getDataBruktTilUtledning() {
63+
return this.dataBruktTilUtledning;
64+
}
65+
66+
@Override
67+
public Ytelse medDataBruktTilUtledning(DataBruktTilUtledning dataBruktTilUtledning) {
68+
this.dataBruktTilUtledning = dataBruktTilUtledning;
69+
return this;
70+
}
71+
5972
@Override
6073
public Person getAnnenPart() {
6174
return null;

soknad/src/main/java/no/nav/k9/søknad/ytelse/omsorgspenger/utvidetrett/v1/OmsorgspengerKroniskSyktBarn.java

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
package no.nav.k9.søknad.ytelse.omsorgspenger.utvidetrett.v1;
22

3-
import java.util.List;
4-
import java.util.Objects;
5-
6-
import javax.validation.Valid;
7-
import javax.validation.constraints.Min;
8-
import javax.validation.constraints.NotNull;
9-
103
import com.fasterxml.jackson.annotation.JsonAutoDetect;
114
import com.fasterxml.jackson.annotation.JsonCreator;
125
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
136
import com.fasterxml.jackson.annotation.JsonProperty;
14-
157
import no.nav.k9.søknad.felles.Feil;
168
import no.nav.k9.søknad.felles.Versjon;
179
import no.nav.k9.søknad.felles.personopplysninger.Barn;
18-
import no.nav.k9.søknad.felles.type.Person;
1910
import no.nav.k9.søknad.felles.type.Periode;
11+
import no.nav.k9.søknad.felles.type.Person;
12+
import no.nav.k9.søknad.ytelse.DataBruktTilUtledning;
2013
import no.nav.k9.søknad.ytelse.Ytelse;
2114
import no.nav.k9.søknad.ytelse.YtelseValidator;
22-
import no.nav.k9.søknad.ytelse.omsorgspenger.v1.OmsorgspengerUtbetalingSøknadValidator;
15+
16+
import javax.validation.Valid;
17+
import javax.validation.constraints.NotNull;
18+
import java.util.List;
19+
import java.util.Objects;
2320

2421
@JsonIgnoreProperties(ignoreUnknown = true)
2522
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.NONE)
@@ -35,6 +32,10 @@ public class OmsorgspengerKroniskSyktBarn implements OmsorgspengerUtvidetRett {
3532
@NotNull
3633
private Boolean kroniskEllerFunksjonshemming;
3734

35+
@JsonProperty(value = "dataBruktTilUtledning")
36+
@Valid
37+
private DataBruktTilUtledning dataBruktTilUtledning;
38+
3839
public OmsorgspengerKroniskSyktBarn() {
3940
}
4041

@@ -69,6 +70,18 @@ public YtelseValidator getValidator(Versjon versjon) {
6970
return new MinValidator();
7071
}
7172

73+
@Override
74+
public DataBruktTilUtledning getDataBruktTilUtledning() {
75+
return this.dataBruktTilUtledning;
76+
}
77+
78+
@Override
79+
public Ytelse medDataBruktTilUtledning(DataBruktTilUtledning dataBruktTilUtledning) {
80+
this.medDataBruktTilUtledning(dataBruktTilUtledning);
81+
return this;
82+
}
83+
84+
7285
@Override
7386
public List<Person> getBerørtePersoner() {
7487
return List.of(barn);

soknad/src/main/java/no/nav/k9/søknad/ytelse/omsorgspenger/utvidetrett/v1/OmsorgspengerMidlertidigAlene.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import no.nav.k9.søknad.felles.personopplysninger.Barn;
2424
import no.nav.k9.søknad.felles.type.Periode;
2525
import no.nav.k9.søknad.felles.type.Person;
26+
import no.nav.k9.søknad.ytelse.DataBruktTilUtledning;
2627
import no.nav.k9.søknad.ytelse.Ytelse;
2728
import no.nav.k9.søknad.ytelse.YtelseValidator;
2829

@@ -44,6 +45,10 @@ public class OmsorgspengerMidlertidigAlene implements OmsorgspengerUtvidetRett {
4445
@Size(max = 30000)
4546
private String begrunnelse;
4647

48+
@JsonProperty(value = "dataBruktTilUtledning")
49+
@Valid
50+
private DataBruktTilUtledning dataBruktTilUtledning;
51+
4752
public OmsorgspengerMidlertidigAlene() {
4853
}
4954

@@ -84,6 +89,17 @@ public YtelseValidator getValidator(Versjon versjon) {
8489
return new MinValidator();
8590
}
8691

92+
@Override
93+
public DataBruktTilUtledning getDataBruktTilUtledning() {
94+
return this.dataBruktTilUtledning;
95+
}
96+
97+
@Override
98+
public Ytelse medDataBruktTilUtledning(DataBruktTilUtledning dataBruktTilUtledning) {
99+
this.dataBruktTilUtledning = dataBruktTilUtledning;
100+
return this;
101+
}
102+
87103
public String getBegrunnelse() {
88104
return begrunnelse;
89105
}

soknad/src/main/java/no/nav/k9/søknad/ytelse/omsorgspenger/v1/OmsorgspengerUtbetaling.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import no.nav.k9.søknad.felles.personopplysninger.Utenlandsopphold;
2222
import no.nav.k9.søknad.felles.type.Periode;
2323
import no.nav.k9.søknad.felles.type.Person;
24+
import no.nav.k9.søknad.ytelse.DataBruktTilUtledning;
2425
import no.nav.k9.søknad.ytelse.Ytelse;
2526
import no.nav.k9.søknad.ytelse.YtelseValidator;
2627

@@ -53,6 +54,10 @@ public class OmsorgspengerUtbetaling implements Ytelse {
5354
@JsonProperty(value = "fraværsperioderKorrigeringIm")
5455
private List<FraværPeriode> fraværsperioderKorrigeringIm;
5556

57+
@JsonProperty(value = "dataBruktTilUtledning")
58+
@Valid
59+
private DataBruktTilUtledning dataBruktTilUtledning;
60+
5661
public OmsorgspengerUtbetaling() {
5762
//
5863
}
@@ -139,6 +144,17 @@ public YtelseValidator getValidator(Versjon versjon) {
139144
return new OmsorgspengerUtbetalingValidator(versjon);
140145
}
141146

147+
@Override
148+
public DataBruktTilUtledning getDataBruktTilUtledning() {
149+
return this.dataBruktTilUtledning;
150+
}
151+
152+
@Override
153+
public Ytelse medDataBruktTilUtledning(DataBruktTilUtledning dataBruktTilUtledning) {
154+
this.dataBruktTilUtledning = dataBruktTilUtledning;
155+
return this;
156+
}
157+
142158
public OmsorgspengerUtbetaling medFosterbarn(List<Barn> barn) {
143159
if (this.fraværsperioder == null)
144160
this.fosterbarn = new ArrayList<>();

0 commit comments

Comments
 (0)