Skip to content

Commit

Permalink
Merge pull request #104 from BRP-API/mogelijk-maken-gezag-over-kind-v…
Browse files Browse the repository at this point in the history
…an-partner

mogelijk maken van bepalen van gezag over kind van partner + fix dat …
  • Loading branch information
FrozenSync authored Oct 11, 2024
2 parents 7053983 + 069fb43 commit 32b10cc
Show file tree
Hide file tree
Showing 2,086 changed files with 502 additions and 406,298 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@
import lombok.extern.slf4j.Slf4j;
import nl.rijksoverheid.mev.brpadapter.soap.BrpClient;
import nl.rijksoverheid.mev.exception.GezagException;
import nl.rijksoverheid.mev.gezagsmodule.domain.HuwelijkOfPartnerschap;
import nl.rijksoverheid.mev.gezagsmodule.domain.Persoonslijst;
import nl.rijksoverheid.mev.transaction.Transaction;
import nl.rijksoverheid.mev.transaction.TransactionHandler;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
* Service voor BRP functionaliteit
Expand Down Expand Up @@ -46,17 +50,29 @@ public Optional<Persoonslijst> getPersoonslijst(final String bsn, final Transact
* @return de BSNs van de kinderen
* @throws GezagException wanneer BRP communicatie misgaat
*/
public List<String> getBsnsMinderjarigeKinderen(final String bsn, final Transaction transaction) {
List<String> bsns = new ArrayList<>();

Optional<Persoonslijst> persoonslijstOuder = client.opvragenPersoonslijst(bsn, transaction);
persoonslijstOuder.ifPresent(persoonslijst -> {
transaction.setReceivedId(persoonslijst.getReceivedId());
transactionHandler.saveBrpServiceTransaction(BRP_SERVICE_GET_BSNS_MINDERJARIGE_KINDEREN, persoonslijst.getReceivedId(), transaction);

bsns.addAll(persoonslijst.getBurgerservicenummersVanMinderjarigeKinderen());
public Set<String> getBsnsMinderjarigeKinderenOuderEnPartners(final String bsn, final Transaction transaction) {
var optionalPersoonslijstOuder = client.opvragenPersoonslijst(bsn, transaction);
optionalPersoonslijstOuder.ifPresent(persoonslijstOuder -> {
transaction.setReceivedId(persoonslijstOuder.getReceivedId());
transactionHandler.saveBrpServiceTransaction(BRP_SERVICE_GET_BSNS_MINDERJARIGE_KINDEREN, persoonslijstOuder.getReceivedId(), transaction);
});
List<Persoonslijst> partners = optionalPersoonslijstOuder.stream()
.map(Persoonslijst::getHuwelijkOfPartnerschappen)
.flatMap(List::stream)
.map(HuwelijkOfPartnerschap::getBsnPartner)
.filter(Objects::nonNull)
.flatMap(bsnPartner -> client.opvragenPersoonslijst(bsnPartner, transaction).stream())
.toList();

Stream<String> burgerservicenummersVanKinderenVanOuder = optionalPersoonslijstOuder.stream()
.flatMap(Persoonslijst::getBurgerservicenummersVanMinderjarigeKinderen);
Stream<String> burgerservicenummersVanKinderenVanPartners = partners.stream()
.flatMap(Persoonslijst::getBurgerservicenummersVanMinderjarigeKinderen);

return bsns;
return Stream.concat(
burgerservicenummersVanKinderenVanOuder,
burgerservicenummersVanKinderenVanPartners
)
.collect(Collectors.toSet());
}
}
Loading

0 comments on commit 32b10cc

Please sign in to comment.