This commit is contained in:
parent
380ea1077e
commit
2ab03e6fcc
2 changed files with 24 additions and 1 deletions
|
|
@ -12,6 +12,7 @@ import java.util.List;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
import ru.clearing.classes.statics.data.account.Account;
|
||||||
import ru.clearing.classes.statics.data.registry.Registry;
|
import ru.clearing.classes.statics.data.registry.Registry;
|
||||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
import ru.clearing.classes.statics.data.security.Security;
|
import ru.clearing.classes.statics.data.security.Security;
|
||||||
|
|
@ -24,6 +25,7 @@ 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.RequestInfoUpdate;
|
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||||
|
import ru.spcex.platform.enumeration.AccountStatus;
|
||||||
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.Section;
|
import ru.spcex.platform.enumeration.Section;
|
||||||
|
|
@ -39,7 +41,9 @@ public abstract class AbstractExporterService {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
protected final Imdg<Registry> registryImdg;
|
protected final Imdg<Registry> registryImdg;
|
||||||
private final List<String> validStatus = List.of(ServiceStatus.Active.getKey(), ServiceStatus.Reopened.getKey());
|
private final List<String> validStatus = List.of(ServiceStatus.Active.getKey(), ServiceStatus.Reopened.getKey());
|
||||||
|
private final List<String> validAccountStatus = List.of(AccountStatus.ACTIVE.getKey(), AccountStatus.CLOSE.getKey());
|
||||||
private final Imdg<TradingClearingRegistry> tradingClearingRegistryImdg;
|
private final Imdg<TradingClearingRegistry> tradingClearingRegistryImdg;
|
||||||
|
private final Imdg<Account> accountImdg;
|
||||||
private final SecuritySelector<Security> securitySelector;
|
private final SecuritySelector<Security> securitySelector;
|
||||||
private final DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
|
private final DateTimeFormatter dtFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
|
||||||
private final SFTPConfig.LimGateway gateway;
|
private final SFTPConfig.LimGateway gateway;
|
||||||
|
|
@ -51,6 +55,7 @@ public abstract class AbstractExporterService {
|
||||||
this.kafkaSender = kafkaSender;
|
this.kafkaSender = kafkaSender;
|
||||||
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||||
this.tradingClearingRegistryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
this.tradingClearingRegistryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
||||||
|
this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||||
this.securitySelector = new SecuritySelector<>(imdgProvider, Security.class);
|
this.securitySelector = new SecuritySelector<>(imdgProvider, Security.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -144,6 +149,24 @@ public abstract class AbstractExporterService {
|
||||||
safeBD(registry.getBalance()).compareTo(BigDecimal.ZERO) != 0;
|
safeBD(registry.getBalance()).compareTo(BigDecimal.ZERO) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected boolean checkNotBlockedMoneyRegistry(Registry registry) {
|
||||||
|
if (registry.getTradingClearingRegistryId() == null) return false;
|
||||||
|
TradingClearingRegistry tradingClearingRegistry = tradingClearingRegistryImdg.getSingleObjectByID(registry.getTradingClearingRegistryId());
|
||||||
|
if (tradingClearingRegistry == null) {
|
||||||
|
log.warn("For registry.id={} not exist tradingClearingRegistry.id={}", registry.getId(), registry.getTradingClearingRegistryId());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (validStatus.contains(tradingClearingRegistry.getStatus())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (registry.getBalance().equals(BigDecimal.ZERO)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Account account = accountImdg.getSingleObjectByID(tradingClearingRegistry.getMoneyAccountId());
|
||||||
|
return !validAccountStatus.contains(account.getAccount());
|
||||||
|
}
|
||||||
|
|
||||||
protected BigDecimal sumNegativeABS(Collection<Registry> registries) {
|
protected BigDecimal sumNegativeABS(Collection<Registry> registries) {
|
||||||
if (registries == null || registries.isEmpty()) return BigDecimal.ZERO;
|
if (registries == null || registries.isEmpty()) return BigDecimal.ZERO;
|
||||||
BigDecimal result = BigDecimal.ZERO;
|
BigDecimal result = BigDecimal.ZERO;
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ public class MoneyExporterService extends AbstractExporterService {
|
||||||
stlmntDtPrdct
|
stlmntDtPrdct
|
||||||
);
|
);
|
||||||
for (Registry registry : registriesA) {
|
for (Registry registry : registriesA) {
|
||||||
if (checkNotBlocked(registry)) {
|
if (checkNotBlockedMoneyRegistry(registry)) {
|
||||||
BigDecimal dmtSumElement = BigDecimal.ZERO;
|
BigDecimal dmtSumElement = BigDecimal.ZERO;
|
||||||
BigDecimal omtSumElementToday = BigDecimal.ZERO;
|
BigDecimal omtSumElementToday = BigDecimal.ZERO;
|
||||||
BigDecimal tmtSumElementToday = BigDecimal.ZERO;
|
BigDecimal tmtSumElementToday = BigDecimal.ZERO;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue