6
6
import java .util .Collections ;
7
7
import java .util .List ;
8
8
import java .util .Objects ;
9
+ import java .util .Optional ;
9
10
10
11
import javax .validation .Valid ;
11
12
import javax .validation .constraints .NotNull ;
17
18
import com .fasterxml .jackson .annotation .JsonIgnoreProperties ;
18
19
import com .fasterxml .jackson .annotation .JsonManagedReference ;
19
20
import com .fasterxml .jackson .annotation .JsonProperty ;
21
+ import com .fasterxml .jackson .annotation .JsonValue ;
20
22
import com .fasterxml .jackson .databind .node .ObjectNode ;
21
23
24
+ import no .nav .k9 .søknad .felles .Kildesystem ;
22
25
import no .nav .k9 .søknad .felles .Versjon ;
23
26
import no .nav .k9 .søknad .felles .personopplysninger .Søker ;
24
27
import no .nav .k9 .søknad .felles .type .BegrunnelseForInnsending ;
@@ -71,6 +74,10 @@ public class Søknad implements Innsending {
71
74
@ NotNull
72
75
@ JsonProperty (value = "ytelse" , required = true )
73
76
private Ytelse ytelse ;
77
+
78
+ @ Valid
79
+ @ JsonProperty (value = "kildesystem" , required = false )
80
+ private Kildesystem kildesystem ;
74
81
75
82
public Søknad () {
76
83
//
@@ -139,6 +146,19 @@ public List<Journalpost> getJournalposter() {
139
146
public <Y extends Ytelse > Y getYtelse () {
140
147
return (Y ) ytelse ;
141
148
}
149
+
150
+ /**
151
+ * Dette feltet kan brukes til å oppgi kildesystem. For historiske data
152
+ * er feltet kun garantert å være satt for alle søknader som kommer fra
153
+ * endringsdialogen. Ved behov for å se på historiske data av andre typer,
154
+ * se på journalpostens kanalfelt og/eller metadatafeltet på journalposten
155
+ * kalt "k9.kilde".
156
+ *
157
+ * @return Systemet som søknadsdataene kommer fra.
158
+ */
159
+ public Optional <Kildesystem > getKildesystem () {
160
+ return Optional .ofNullable (kildesystem );
161
+ }
142
162
143
163
public void setSøknadId (SøknadId søknadId ) {
144
164
this .søknadId = Objects .requireNonNull (søknadId , "søknadId" );
@@ -159,6 +179,10 @@ public void setMottattDato(ZonedDateTime mottattDato) {
159
179
public void setYtelse (Ytelse ytelse ) {
160
180
this .ytelse = Objects .requireNonNull (ytelse , "ytelse" );
161
181
}
182
+
183
+ public void setKildesystem (Kildesystem kildesystem ) {
184
+ this .kildesystem = kildesystem ;
185
+ }
162
186
163
187
public Søknad medMottattDato (ZonedDateTime mottattDato ) {
164
188
this .mottattDato = Objects .requireNonNull (mottattDato , "mottattDato" );
@@ -214,6 +238,14 @@ public void setYtelse(Ytelse ytelse) {
214
238
this .journalposter .addAll (Objects .requireNonNull (journalposter , "journalposter" ));
215
239
return this ;
216
240
}
241
+
242
+ /**
243
+ * @see #getKildesystem()
244
+ */
245
+ public Søknad medKildesystem (Kildesystem kildesystem ) {
246
+ this .kildesystem = kildesystem ;
247
+ return this ;
248
+ }
217
249
218
250
public static final class SerDes {
219
251
private SerDes () {
0 commit comments