diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java index a708769cd..2fbb58b85 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/BankAccountValidationConfig.java @@ -56,10 +56,6 @@ public class BankAccountValidationConfig { AccountError.RequiredFieldEmpty, AccountError.CompanyNotFound, false), - FieldNotBlankRequiredRule.instance("account", - BankAccountNewRequest::getAccount, - AccountError.RequiredFieldEmpty - ), new SameAccountValidationRule<>(AccountType.Bank, BankAccountNewRequest::getAccount), DictionaryPresentRule.instance("currency", BankAccountNewRequest::getCurrency, diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/SameAccountValidationRule.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/SameAccountValidationRule.java index fed529fdf..8404d09bb 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/SameAccountValidationRule.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/config/validation/SameAccountValidationRule.java @@ -31,8 +31,12 @@ class SameAccountValidationRule implements IValidationRule accountImdg = context.obtainMap(IMDGDistributedNames.Map_Account, Account.class); ImdgPredicateBuilder pb = accountImdg.predicateBuilder(); + String account = accountGetter.apply(req); // req.getAccount() + if (account == null) { + return empty(); + } ImdgPredicate query = pb.and( - pb.equals("account", accountGetter.apply(req)), // req.getAccount() + pb.equals("account", account), // pb.equals("accountType", accountType), имена всех счетов уникальны, вне зависимости от типа pb.in("status", ServiceStatus.Active.getKey(), ServiceStatus.Reopened.getKey(), ServiceStatus.Appl.getKey()) );