diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java index a79c57146..6fd6dcc1c 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java @@ -58,6 +58,7 @@ import ru.spcex.platform.enumeration.CurrencyCode; import ru.spcex.platform.enumeration.NotificationStatus; import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; +import ru.spcex.platform.enumeration.RegistryTradingParams; import ru.spcex.platform.enumeration.SdfTable; import ru.spcex.platform.enumeration.ServiceStatus; import ru.spcex.platform.enumeration.WorkflowStatus; @@ -66,6 +67,7 @@ import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgTransaction; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; +import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder; import ru.spcex.platform.utils.collection.Pair; import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.IEnumKey; @@ -567,8 +569,12 @@ public class ClearingAccountService extends QueueConsumer implements Initializin log.trace("In sDF_52[{}] for account [{}] status {} not changed.", sdf.getId(), account.getId(), newStatus); continue; } + ImdgPredicateBuilder rgsPb = rgsImdg.predicateBuilder(); Registry rgs = rgsImdg.getSingleObjectByPredicate( - rgsImdg.predicateBuilder().equals("account", account.getAccount()) + rgsPb.and( + rgsPb.equals("account", account.getAccount()), + rgsPb.sql(RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.AM_T).build()) + ) ); boolean rgsBalanceNotZero = rgs == null || rgs.getBalance().compareTo(BigDecimal.ZERO) != 0; boolean wasBlocked = AccountStatus.BLOCKED == newStatus || AccountStatus.CLOSE == newStatus;