http://jira.mfd.msk:8088/browse/CLS-880 GVTF команда выборки INFO & CLRN

This commit is contained in:
ialbert 2025-07-15 15:54:42 +03:00
parent 2daad95d38
commit 94fb323687
2 changed files with 25 additions and 11 deletions

View file

@ -316,8 +316,8 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
}); });
{ {
boolean isAmat = RegistryManager.equalsByCode(RegistryTradingParams.AMAT, asts.a__t()); boolean isAmat = RegistryManager.equalsByCode(RegistryTradingParams.AMAT, asts.a__t());
boolean isInfo = accTypeIsInfoOrClrn(account); boolean infoOrClrn = accTypeIsInfoOrClrn(account);
if (isAmat && isInfo) gvtfIds.add(asts.a__t().getId()); if (isAmat && infoOrClrn) gvtfIds.add(asts.a__t().getId());
} }
InOutDirection direction = IEnumKey.getEnumByKey(InOutDirection.class, stmt.getInOutDirection()); InOutDirection direction = IEnumKey.getEnumByKey(InOutDirection.class, stmt.getInOutDirection());
boolean dm_tWasCreated = false; boolean dm_tWasCreated = false;

View file

@ -1,5 +1,15 @@
package ru.spcex.clearing.utility.service; package ru.spcex.clearing.utility.service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -17,7 +27,12 @@ import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationNew
import ru.spcex.clearing.platform.messaging.serialization.LogFormatter; import ru.spcex.clearing.platform.messaging.serialization.LogFormatter;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.platform.enumeration.*; import ru.spcex.platform.enumeration.AccountType;
import ru.spcex.platform.enumeration.ObjectType;
import ru.spcex.platform.enumeration.Priority;
import ru.spcex.platform.enumeration.RegistryTradingParams;
import ru.spcex.platform.enumeration.ServiceStatus;
import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -27,13 +42,6 @@ import ru.spcex.platform.imdg.iml.hazelcast.adapter.predicate.ImdgPredicateBuild
import ru.spcex.platform.utils.collection.Pair; import ru.spcex.platform.utils.collection.Pair;
import ru.spcex.platform.utils.number.BigDecimalUtil; import ru.spcex.platform.utils.number.BigDecimalUtil;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@Service @Service
public class AmatAmafChecker extends QueueConsumer implements InitializingBean { public class AmatAmafChecker extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
@ -92,7 +100,10 @@ public class AmatAmafChecker extends QueueConsumer implements InitializingBean {
log.debug("Found {} code's from active TradingClearingRegistry", tcrActiveCode.size()); log.debug("Found {} code's from active TradingClearingRegistry", tcrActiveCode.size());
ImdgPredicate predicate = builder.and( ImdgPredicate predicate = builder.and(
AM_T_AM_F_predicate, AM_T_AM_F_predicate,
builder.or(
builder.equals("accountType", AccountType.Info.getKey()), builder.equals("accountType", AccountType.Info.getKey()),
builder.equals("accountType", AccountType.Clrn.getKey())
),
builder.in("tradingClearingRegistry", tcrActiveCode.toArray(new String[0])) builder.in("tradingClearingRegistry", tcrActiveCode.toArray(new String[0]))
); );
checkRegistries = registryImdg.getCollectionObjectsByPredicate(predicate); checkRegistries = registryImdg.getCollectionObjectsByPredicate(predicate);
@ -115,7 +126,10 @@ public class AmatAmafChecker extends QueueConsumer implements InitializingBean {
checkRegistries.add(am_tRegistry); checkRegistries.add(am_tRegistry);
ImdgPredicate predicate = builder.and( ImdgPredicate predicate = builder.and(
AM_T_AM_F_predicate, AM_T_AM_F_predicate,
builder.or(
builder.equals("accountType", AccountType.Info.getKey()), builder.equals("accountType", AccountType.Info.getKey()),
builder.equals("accountType", AccountType.Clrn.getKey())
),
builder.equals("tradingClearingRegistry", am_tRegistry.getTradingClearingRegistry()), builder.equals("tradingClearingRegistry", am_tRegistry.getTradingClearingRegistry()),
builder.equals("securitySymbol", am_tRegistry.getSecuritySymbol()), builder.equals("securitySymbol", am_tRegistry.getSecuritySymbol()),
builder.not(builder.equals("id", am_tRegistry.getId())) // counter-registry builder.not(builder.equals("id", am_tRegistry.getId())) // counter-registry