From 23fbf503c9bc55bd5946cb9a677d19b17c70b8fb Mon Sep 17 00:00:00 2001 From: AKurakin Date: Fri, 30 Jun 2023 10:50:49 +0300 Subject: [PATCH] clearing-service fix NPE on fix reset-balance 6b036c8e91df52a --- .../clearing/service/RegistryService.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java index a3a240a72..9955b58ba 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/RegistryService.java @@ -100,18 +100,20 @@ public class RegistryService { rgs.getAccount() != null && rgs.getSecurityId() != null && rgs.getTradingClearingRegistryId() != null && rgs.getCompanyId() != null && RegistryUnit.B.equalsByKey(rgs.getRegistryUnit()) && - rgs.getSecurityId().equals(registry.getSecurityId()) && - rgs.getCompanyId().equals(registry.getCompanyId()) && - rgs.getAccount().equals(registry.getAccount()) && - rgs.getTradingClearingRegistryId().equals(registry.getTradingClearingRegistryId())).findFirst(); + rgs.getSecurityId() != null && rgs.getSecurityId().equals(registry.getSecurityId()) && + rgs.getCompanyId() != null && rgs.getCompanyId().equals(registry.getCompanyId()) && + rgs.getAccount() != null && rgs.getAccount().equals(registry.getAccount()) && + rgs.getTradingClearingRegistryId() != null && rgs.getTradingClearingRegistryId().equals(registry.getTradingClearingRegistryId()) + ).findFirst(); Optional registryTOptional = registriesA.stream().filter(rgs -> rgs.getAccount() != null && rgs.getSecurityId() != null && rgs.getTradingClearingRegistryId() != null && rgs.getCompanyId() != null && RegistryUnit.T.equalsByKey(rgs.getRegistryUnit()) && - rgs.getSecurityId().equals(registry.getSecurityId()) && - rgs.getCompanyId().equals(registry.getCompanyId()) && - rgs.getAccount().equals(registry.getAccount()) && - rgs.getTradingClearingRegistryId().equals(registry.getTradingClearingRegistryId())).findFirst(); + rgs.getSecurityId() != null && rgs.getSecurityId().equals(registry.getSecurityId()) && + rgs.getCompanyId() != null && rgs.getCompanyId().equals(registry.getCompanyId()) && + rgs.getAccount() != null && rgs.getAccount().equals(registry.getAccount()) && + rgs.getTradingClearingRegistryId() != null && rgs.getTradingClearingRegistryId().equals(registry.getTradingClearingRegistryId()) + ).findFirst(); BigDecimal balanceB; if (registryBOptional.isPresent()) { balanceB = registryBOptional.get().getBalance();