ialbert 2026-04-20 18:09:59 +03:00
parent 0e9deb8ab0
commit e7bb3ec077

View file

@ -58,6 +58,7 @@ import ru.spcex.platform.enumeration.CurrencyCode;
import ru.spcex.platform.enumeration.NotificationStatus; import ru.spcex.platform.enumeration.NotificationStatus;
import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.ObjectType;
import ru.spcex.platform.enumeration.Priority; import ru.spcex.platform.enumeration.Priority;
import ru.spcex.platform.enumeration.RegistryTradingParams;
import ru.spcex.platform.enumeration.SdfTable; import ru.spcex.platform.enumeration.SdfTable;
import ru.spcex.platform.enumeration.ServiceStatus; import ru.spcex.platform.enumeration.ServiceStatus;
import ru.spcex.platform.enumeration.WorkflowStatus; 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.ImdgTransaction;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; 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.collection.Pair;
import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumKey; 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); log.trace("In sDF_52[{}] for account [{}] status {} not changed.", sdf.getId(), account.getId(), newStatus);
continue; continue;
} }
ImdgPredicateBuilder rgsPb = rgsImdg.predicateBuilder();
Registry rgs = rgsImdg.getSingleObjectByPredicate( 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 rgsBalanceNotZero = rgs == null || rgs.getBalance().compareTo(BigDecimal.ZERO) != 0;
boolean wasBlocked = AccountStatus.BLOCKED == newStatus || AccountStatus.CLOSE == newStatus; boolean wasBlocked = AccountStatus.BLOCKED == newStatus || AccountStatus.CLOSE == newStatus;