Skip to content

Commit a3441d5

Browse files
committed
Refactor AaregUtility and Arbeidsavtale: enhance equality checks and improve data comparison logic #deploy-test-dolly-backend
1 parent 663dcc4 commit a3441d5

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

  • apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/util
  • libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1

apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/aareg/util/AaregUtility.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ public static boolean isEqualArbeidsforhold(Arbeidsforhold response, Arbeidsforh
2424

2525
return (isArbeidsgiverOrganisasjonAlike(response, request) ||
2626
isArbeidsgiverPersonAlike(response, request)) &&
27-
response.getArbeidsforholdId().equals(request.getArbeidsforholdId());
27+
response.getArbeidsforholdId().equals(request.getArbeidsforholdId()) ||
28+
isArbeidsforholdAlike(response, request);
2829
}
2930

3031
public static ArbeidsforholdEksistens doEksistenssjekk(ArbeidsforholdRespons response,
@@ -87,4 +88,11 @@ private static boolean isArbeidsgiverOrganisasjonAlike(Arbeidsforhold arbeidsfor
8788
arbeidsforhold2.getArbeidsgiver() instanceof Organisasjon organisasjon2 &&
8889
organisasjon1.getOrganisasjonsnummer().equals(organisasjon2.getOrganisasjonsnummer());
8990
}
91+
92+
private static boolean isArbeidsforholdAlike(Arbeidsforhold arbeidsforhold1, Arbeidsforhold arbeidsforhold2) {
93+
94+
return arbeidsforhold1.getArbeidsavtaler().stream()
95+
.allMatch(arbeidsavtale -> arbeidsforhold2.getArbeidsavtaler().stream()
96+
.anyMatch(arbeidsavtale::equals));
97+
}
9098
}

libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/aareg/v1/Arbeidsavtale.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.fasterxml.jackson.annotation.JsonTypeInfo;
55
import io.swagger.v3.oas.annotations.media.Schema;
66
import lombok.Data;
7+
import lombok.EqualsAndHashCode;
78
import lombok.NoArgsConstructor;
89
import lombok.experimental.SuperBuilder;
910

@@ -46,6 +47,7 @@ public abstract class Arbeidsavtale implements Arbeidsavtaletype {
4647
@Schema(description = "Antall timer per uke", example = "37.5")
4748
private Double antallTimerPrUke;
4849

50+
@EqualsAndHashCode.Exclude
4951
@Schema(description = "Beregnet antall timer per uke", example = "37.5")
5052
private Double beregnetAntallTimerPrUke;
5153

@@ -55,9 +57,11 @@ public abstract class Arbeidsavtale implements Arbeidsavtaletype {
5557
@Schema(description = "Dato for siste stillingsendring, format (ISO-8601): yyyy-MM-dd", example = "2015-12-15")
5658
private LocalDate sistStillingsendring;
5759

60+
@EqualsAndHashCode.Exclude
5861
@Schema(description = "Bruksperiode for arbeidsavtalen")
5962
private Bruksperiode bruksperiode;
6063

64+
@EqualsAndHashCode.Exclude
6165
@Schema(description = "Gyldighetsperiode for arbeidsavtalen")
6266
private Gyldighetsperiode gyldighetsperiode;
6367
}

0 commit comments

Comments
 (0)