Skip to content

Commit

Permalink
Legger til fødselsdato på Pleietrengende for livets sluttfase (#257)
Browse files Browse the repository at this point in the history
  • Loading branch information
espennav authored Mar 16, 2022
1 parent c724119 commit 7eeeb29
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
package no.nav.k9.søknad.ytelse.pls.v1;

import java.time.LocalDate;
import java.util.Objects;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.PastOrPresent;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

Expand All @@ -25,11 +28,37 @@ public class Pleietrengende implements Person {
@Valid
private NorskIdentitetsnummer norskIdentitetsnummer;

@JsonProperty(value = "fødselsdato", required = false)
@Valid
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "Europe/Oslo")
@PastOrPresent(message = "[ugyldigFødselsdato] Fødselsdato kan ikke være fremtidig")
private LocalDate fødselsdato;

@JsonCreator
public Pleietrengende(@JsonProperty(value = "norskIdentitetsnummer", required = true) @JsonAlias({ "fødselsnummer", "norskIdentifikator", "identitetsnummer", "fnr" }) NorskIdentitetsnummer norskIdentitetsnummer) {
public Pleietrengende(@JsonProperty(value = "norskIdentitetsnummer", required = true) @JsonAlias({ "fødselsnummer", "norskIdentifikator", "identitetsnummer", "fnr" }) NorskIdentitetsnummer norskIdentitetsnummer,
@JsonProperty("fødselsdato") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "Europe/Oslo") LocalDate fødselsdato) {
this.norskIdentitetsnummer = Objects.requireNonNull(norskIdentitetsnummer, "norskIdentitetsnummer");
}

@Override
public PersonIdent getPersonIdent() {
return norskIdentitetsnummer;
}

public LocalDate getFødselsdato() {
return fødselsdato;
}

public Pleietrengende medNorskIdentitetsnummer(NorskIdentitetsnummer norskIdentitetsnummer) {
this.norskIdentitetsnummer = norskIdentitetsnummer;
return this;
}

public Pleietrengende medFødselsdato(LocalDate fødselsdato) {
this.fødselsdato = fødselsdato;
return this;
}

@Override
public boolean equals(Object obj) {
if (obj == this)
Expand All @@ -38,17 +67,13 @@ public boolean equals(Object obj) {
return false;
var other = (Pleietrengende) obj;

return Objects.equals(norskIdentitetsnummer, other.norskIdentitetsnummer);
}

@Override
public PersonIdent getPersonIdent() {
return norskIdentitetsnummer;
return Objects.equals(norskIdentitetsnummer, other.norskIdentitetsnummer)
&& Objects.equals(fødselsdato, other.fødselsdato);
}

@Override
public int hashCode() {
return Objects.hash(norskIdentitetsnummer);
return Objects.hash(norskIdentitetsnummer, fødselsdato);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public static PleipengerLivetsSluttfase lagYtelse() {
}

public static Pleietrengende lagPleietrengende() {
return new Pleietrengende(TestUtils.okNorskIdentitetsnummerBarn());
return new Pleietrengende(TestUtils.okNorskIdentitetsnummerBarn(), null);
}

public static Bosteder lagBosteder(Periode... perioder) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public void skal_tolerere_flere_aktiviteter_i_samme_periode() {
);

var psb = new PleipengerLivetsSluttfase()
.medPleietrengende(new Pleietrengende(NorskIdentitetsnummer.of("12345678911")))
.medPleietrengende(new Pleietrengende(NorskIdentitetsnummer.of("12345678911"), null))
.medArbeidstid(
new Arbeidstid()
.medArbeidstaker(
Expand Down

0 comments on commit 7eeeb29

Please sign in to comment.