Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
d11e45c08c
1 changed files with 20 additions and 19 deletions
|
|
@ -190,7 +190,26 @@ public class KSRepCashRegistersReportBuilder extends CSVReportBuilder<EmptyParam
|
||||||
}
|
}
|
||||||
BigDecimal balance = omtRegistry.getBalance();
|
BigDecimal balance = omtRegistry.getBalance();
|
||||||
omtBalanceSum = omtBalanceSum.add(balance);
|
omtBalanceSum = omtBalanceSum.add(balance);
|
||||||
contracts.add(omtRegistry.getContract());
|
}
|
||||||
|
BigDecimal tmtBalanceSum = BigDecimal.ZERO;
|
||||||
|
for (Registry tmtRegistry : tmtRegistries) {
|
||||||
|
Long counterPartyId = tmtRegistry.getCounterPartyId();
|
||||||
|
if (counterPartyId != null) {
|
||||||
|
Collection<ClearingMemberCategory> clearingMemberCategory = clearingMemberCategoryImdg.getCollectionObjectsByPredicate(
|
||||||
|
clearingMemberCategoryImdg.predicateBuilder().equals("companyId", counterPartyId)
|
||||||
|
);
|
||||||
|
if (!clearingMemberCategory.isEmpty()) {
|
||||||
|
ClearingMemberCategory next = clearingMemberCategory.iterator().next();
|
||||||
|
ClearingCategory category = IEnumKey.getEnumByKey(ClearingCategory.class, next.getClearingMemberCategory());
|
||||||
|
SessionType sessionType = IEnumKey.getEnumByKey(SessionType.class, tmtRegistry.getSessionType());
|
||||||
|
if (category == ClearingCategory.I && sessionType == SessionType.XDEP) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BigDecimal balance = tmtRegistry.getBalance();
|
||||||
|
tmtBalanceSum = tmtBalanceSum.add(balance);
|
||||||
|
contracts.add(tmtRegistry.getContract());
|
||||||
}
|
}
|
||||||
ImdgPredicate dmxPredicate = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.DM_X).buildPredicate(pb);
|
ImdgPredicate dmxPredicate = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.DM_X).buildPredicate(pb);
|
||||||
Collection<Registry> dmxRegistries = registryImdg.getCollectionObjectsByPredicate(
|
Collection<Registry> dmxRegistries = registryImdg.getCollectionObjectsByPredicate(
|
||||||
|
|
@ -204,24 +223,6 @@ public class KSRepCashRegistersReportBuilder extends CSVReportBuilder<EmptyParam
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
BigDecimal dmxBalanceSum = dmxRegistries.stream().map(Registry::getBalance).reduce(BigDecimal.ZERO, BigDecimal::add);
|
BigDecimal dmxBalanceSum = dmxRegistries.stream().map(Registry::getBalance).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
BigDecimal tmtBalanceSum = tmtRegistries.stream()
|
|
||||||
.filter(reg -> {
|
|
||||||
Long counterPartyId = reg.getCounterPartyId();
|
|
||||||
if (counterPartyId != null) {
|
|
||||||
Collection<ClearingMemberCategory> clearingMemberCategory = clearingMemberCategoryImdg.getCollectionObjectsByPredicate(
|
|
||||||
clearingMemberCategoryImdg.predicateBuilder().equals("companyId", counterPartyId)
|
|
||||||
);
|
|
||||||
if (!clearingMemberCategory.isEmpty()) {
|
|
||||||
ClearingMemberCategory next = clearingMemberCategory.iterator().next();
|
|
||||||
ClearingCategory category = IEnumKey.getEnumByKey(ClearingCategory.class, next.getClearingMemberCategory());
|
|
||||||
SessionType sessionType = IEnumKey.getEnumByKey(SessionType.class, reg.getSessionType());
|
|
||||||
return category != ClearingCategory.I || sessionType != SessionType.XDEP;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
})
|
|
||||||
.map(Registry::getBalance)
|
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
||||||
ksRepCashRegistersReport.setChangeBalance(tmtBalanceSum.subtract(omtBalanceSum).subtract(dmxBalanceSum));
|
ksRepCashRegistersReport.setChangeBalance(tmtBalanceSum.subtract(omtBalanceSum).subtract(dmxBalanceSum));
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue