lim-exporter http://jira.mfd.msk:8088/browse/CLS-262
This commit is contained in:
parent
aa1e5f7ac1
commit
38dab80e99
1 changed files with 16 additions and 2 deletions
|
|
@ -15,10 +15,12 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
|||
import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static ru.spcex.platform.enumeration.RegistryTradingParams.*;
|
||||
|
||||
|
|
@ -50,9 +52,11 @@ public class MoneyExporterService extends AbstractExporterService {
|
|||
log.debug("Selected {} registriesA.", registriesA.size());
|
||||
|
||||
ImdgPredicateBuilder pb = registryImdg.predicateBuilder();
|
||||
LocalDate today = LocalDate.now();
|
||||
Function<Registry, ImdgPredicate> prdctDM_T = registry -> pb.and(
|
||||
pb.sql(RegistryCodeSqlBuilder.getInstance(DM_T).build()),
|
||||
pb.equals("registryStatus", RegistryStatus.PROC.getKey()),
|
||||
pb.equals("settlementDate", today),
|
||||
pb.equals("tradingClearingRegistry", registry.getTradingClearingRegistry()),
|
||||
pb.equals("securityId", registry.getSecurityId())
|
||||
);
|
||||
|
|
@ -66,8 +70,12 @@ public class MoneyExporterService extends AbstractExporterService {
|
|||
if (checkNotBlocked(registry)) {
|
||||
BigDecimal sumPositive = BigDecimal.ZERO;
|
||||
if (registry.getTradingClearingRegistry() != null && registry.getSecurityId() != null) {
|
||||
sumPositive = sumNegativeABS(registryImdg.getCollectionObjectsByPredicate(prdctDM_I.apply(registry)));
|
||||
sumPositive = sumPositive.add(sum(registryImdg.getCollectionObjectsByPredicate(prdctDM_T.apply(registry))));
|
||||
Collection<Registry> regsDMI = registryImdg.getCollectionObjectsByPredicate(prdctDM_I.apply(registry));
|
||||
log.trace("Found {} DM_I registries for registry AM_F {}", regsDMI.size(), registry);
|
||||
Collection<Registry> regsDMT = filterByDate(registryImdg.getCollectionObjectsByPredicate(prdctDM_T.apply(registry)));
|
||||
log.trace("Found {} DM_T registries for registry AM_F {}", regsDMT.size(), registry);
|
||||
sumPositive = sumNegativeABS(regsDMI);
|
||||
sumPositive = sumPositive.add(sum(regsDMT));
|
||||
}
|
||||
limFileRows.add(getRow(registry, sumPositive));
|
||||
}
|
||||
|
|
@ -76,6 +84,12 @@ public class MoneyExporterService extends AbstractExporterService {
|
|||
return limFileRows;
|
||||
}
|
||||
|
||||
List<Registry> filterByDate(Collection<Registry> regs) {
|
||||
return regs.stream()
|
||||
.filter((Registry reg) -> reg.getSettlementDate().equals(reg.getClearingDate()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public String getRow(Registry registryA, BigDecimal sumPositive) {
|
||||
StringBuilder row = new StringBuilder();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue