From 12771b1a2ca4abe8af7c6be145bfacaeb9535133 Mon Sep 17 00:00:00 2001 From: kristenhaerum Date: Fri, 13 Sep 2024 08:58:32 +0200 Subject: [PATCH] Refactor OrdreStatusService filtering logic #deploy-organisasjon-forvalter Simplified the filtering logic in OrdreStatusService by merging similar conditions and reducing redundant checks. This improves readability and ensures that only relevant statuses are processed based on the updated criteria. --- .../service/OrdreStatusService.java | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/service/OrdreStatusService.java b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/service/OrdreStatusService.java index 59a91a60e9a..a1a29f2d005 100644 --- a/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/service/OrdreStatusService.java +++ b/apps/organisasjon-forvalter/src/main/java/no/nav/organisasjonforvalter/service/OrdreStatusService.java @@ -71,21 +71,24 @@ public OrdreResponse getStatus(List orgnumre) { var orgStatus = new ArrayList(); - if (oppdatertStatus.stream().noneMatch(status -> orgImiljo.stream() - .map(Map::entrySet) - .flatMap(Collection::stream) - .anyMatch(iMiljoe -> iMiljoe.getValue().getOrganisasjonsnummer() - .equals(status.getOrganisasjonsnummer())))) { - - orgStatus.addAll(Flux.fromIterable(oppdatertStatus) - .filter(status -> isNotBlank(status.getBestId())) - .flatMap(organisasjonBestillingConsumer::getBestillingStatus) - .collectList() - .block()); - } - - orgStatus.addAll(statusMap.stream() + orgStatus.addAll(Flux.fromIterable(oppdatertStatus) + .filter(status -> isNotBlank(status.getBestId())) + .filter(status -> orgImiljo.stream() + .map(Map::entrySet) + .flatMap(Collection::stream) + .noneMatch(iMiljo -> status.getMiljoe().equals(iMiljo.getKey()) && + status.getOrganisasjonsnummer().equals(iMiljo.getValue().getOrganisasjonsnummer()))) + .flatMap(organisasjonBestillingConsumer::getBestillingStatus) + .collectList() + .block()); + + orgStatus.addAll(oppdatertStatus.stream() .filter(status -> isBlank(status.getBestId())) + .filter(status -> orgImiljo.stream() + .map(Map::entrySet) + .flatMap(Collection::stream) + .noneMatch(iMiljo -> status.getMiljoe().equals(iMiljo.getKey()) && + status.getOrganisasjonsnummer().equals(iMiljo.getValue().getOrganisasjonsnummer()))) .map(status -> BestillingStatus.builder() .orgnummer(status.getOrganisasjonsnummer()) .miljoe(status.getMiljoe())