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();
|
||||
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);
|
||||
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 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));
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue