etreschenkov 2023-10-06 17:57:12 +03:00
parent 0522b3a562
commit 6f04b15527

View file

@ -20,8 +20,7 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.function.Function; import java.util.function.Function;
import static ru.spcex.platform.enumeration.RegistryTradingParams.AM_F; import static ru.spcex.platform.enumeration.RegistryTradingParams.*;
import static ru.spcex.platform.enumeration.RegistryTradingParams.DM_T;
@Service @Service
public class MoneyExporterService extends AbstractExporterService { public class MoneyExporterService extends AbstractExporterService {
@ -57,11 +56,17 @@ public class MoneyExporterService extends AbstractExporterService {
pb.equals("tradingClearingRegistry", registry.getTradingClearingRegistry()), pb.equals("tradingClearingRegistry", registry.getTradingClearingRegistry()),
pb.equals("securityId", registry.getSecurityId()) pb.equals("securityId", registry.getSecurityId())
); );
Function<Registry, ImdgPredicate> prdctDM_I = registry -> pb.and(
pb.sql(RegistryCodeSqlBuilder.getInstance(DM_I).build()),
pb.equals("tradingClearingRegistry", registry.getTradingClearingRegistry()),
pb.equals("securityId", registry.getSecurityId()),
pb.not(pb.equals("registryStatus", RegistryStatus.OK.getKey()))
);
for (Registry registry : registriesA) { for (Registry registry : registriesA) {
if (checkNotBlocked(registry)) { if (checkNotBlocked(registry)) {
BigDecimal sumPositive = BigDecimal.ZERO; BigDecimal sumPositive = BigDecimal.ZERO;
if (registry.getTradingClearingRegistry() != null && registry.getSecurityId() != null) { 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)))); sumPositive = sumPositive.add(sum(registryImdg.getCollectionObjectsByPredicate(prdctDM_T.apply(registry))));
} }
limFileRows.add(getRow(registry, sumPositive)); limFileRows.add(getRow(registry, sumPositive));