KSRepCashNettoReportBuilder fix currency_netto

This commit is contained in:
akulikov 2024-06-03 13:03:23 +03:00
parent 55dd0cc8b6
commit 35d9fe2d3e

View file

@ -125,7 +125,8 @@ public class KSRepCashNettoReportBuilder extends CSVReportBuilder<SessionIdParam
} }
boolean invalid = false; boolean invalid = false;
BigDecimal currencyNetto = null; BigDecimal currencyNettoCmt = BigDecimal.ZERO;
BigDecimal currencyNettoLmt = BigDecimal.ZERO;
if (!cmtRegistries.isEmpty() || !lmtRegistries.isEmpty()) { if (!cmtRegistries.isEmpty() || !lmtRegistries.isEmpty()) {
String sourceTradingCode = null; String sourceTradingCode = null;
String sourceTkr = null; String sourceTkr = null;
@ -150,7 +151,7 @@ public class KSRepCashNettoReportBuilder extends CSVReportBuilder<SessionIdParam
log.warn("Invalid CM_T registries set, tradingClearingRegistry not equals. Registries was skipped"); log.warn("Invalid CM_T registries set, tradingClearingRegistry not equals. Registries was skipped");
break; break;
} }
currencyNetto = currRegistry.getBalance(); currencyNettoCmt = currencyNettoCmt.add(currRegistry.getBalance());
} }
for (Registry currRegistry : lmtRegistries) { for (Registry currRegistry : lmtRegistries) {
if (!Objects.equals(sourceTradingCode, currRegistry.getTradingCode())) { if (!Objects.equals(sourceTradingCode, currRegistry.getTradingCode())) {
@ -163,6 +164,7 @@ public class KSRepCashNettoReportBuilder extends CSVReportBuilder<SessionIdParam
log.warn("Invalid CM_T registries set, tradingClearingRegistry not equals. Registries was skipped"); log.warn("Invalid CM_T registries set, tradingClearingRegistry not equals. Registries was skipped");
break; break;
} }
currencyNettoLmt = currencyNettoLmt.add(currRegistry.getBalance());
} }
if (invalid) continue; if (invalid) continue;
} }
@ -246,7 +248,7 @@ public class KSRepCashNettoReportBuilder extends CSVReportBuilder<SessionIdParam
ksRepCashNettoReport.setLotCurrency(registry.getSecuritySymbol()); ksRepCashNettoReport.setLotCurrency(registry.getSecuritySymbol());
SessionType sessionType = IEnumKey.getEnumByKey(SessionType.class, registry.getSessionType()); SessionType sessionType = IEnumKey.getEnumByKey(SessionType.class, registry.getSessionType());
if (sessionType == SessionType.CURR) { if (sessionType == SessionType.CURR) {
ksRepCashNettoReport.setCurrencyNetto(currencyNetto); ksRepCashNettoReport.setCurrencyNetto(currencyNettoCmt.subtract(currencyNettoLmt));
ksRepCashNettoReport.setTrExecDate(LocalDate.now()); ksRepCashNettoReport.setTrExecDate(LocalDate.now());
} }