akulikov 2024-10-10 18:27:09 +03:00
parent 68a10e5f2a
commit ffb3e13ba2

View file

@ -72,7 +72,10 @@ public class KSRepLccNettoReportBuilder extends CSVReportBuilder<EmptyParams, KS
Collection<Registry> registries = registryImdg.getCollectionObjectsByPredicate(
pb.and(
registryPredicate,
pb.equals("settlementDate", now)
pb.or(
pb.equals("settlementDate", now),
pb.equals("settlementDate", now.plusDays(1))
)
)
);
Map<SecuritySymbolSettlementDateTKR, List<Registry>> groupedRegistries = registries.stream()
@ -90,6 +93,7 @@ public class KSRepLccNettoReportBuilder extends CSVReportBuilder<EmptyParams, KS
for (Map.Entry<SecuritySymbolSettlementDateTKR, List<Registry>> entry : groupedRegistries.entrySet()) {
SecuritySymbolSettlementDateTKR securitySymbolSettlementDateTKR = entry.getKey();
List<Registry> registriesForTKR = entry.getValue();
Registry sampleRegistry = registriesForTKR.iterator().next();
for (Registry registry : registriesForTKR) {
@ -111,7 +115,7 @@ public class KSRepLccNettoReportBuilder extends CSVReportBuilder<EmptyParams, KS
ksRepLccNettoReport.setFirmId(sampleRegistry.getTradingCode());
ksRepLccNettoReport.setTkr(sampleRegistry.getTradingClearingRegistry());
ksRepLccNettoReport.setCurrencyId(sampleRegistry.getSecuritySymbol());
ksRepLccNettoReport.setDate(now);
ksRepLccNettoReport.setDate(securitySymbolSettlementDateTKR.settlementDate);
BigDecimal debit = BigDecimal.ZERO;
BigDecimal credit = BigDecimal.ZERO;
@ -128,6 +132,7 @@ public class KSRepLccNettoReportBuilder extends CSVReportBuilder<EmptyParams, KS
}
}
} else if (dataType == DataTypes.PR_NETTOSUM) {
if (!registry.getSettlementDate().equals(now)) continue;
if (status == RegistryStatus.CLRD) {
if (designation == RegistryDesignation.O) {
debit = debit.add(registry.getBalance() != null ? registry.getBalance() : BigDecimal.ZERO);
@ -137,6 +142,7 @@ public class KSRepLccNettoReportBuilder extends CSVReportBuilder<EmptyParams, KS
}
}
} else if (dataType == DataTypes.FX_DEBT) {
if (!registry.getSettlementDate().equals(now)) continue;
if (designation == RegistryDesignation.A) {
if (registry.getBalance() != null && registry.getBalance().compareTo(BigDecimal.ZERO) < 0) {
debit = debit.add(registry.getBalance());
@ -144,6 +150,7 @@ public class KSRepLccNettoReportBuilder extends CSVReportBuilder<EmptyParams, KS
}
}
}
if (!ksRepLccNettoReport.getDate().equals(now) && dataType != DataTypes.FX_OBLIG) continue;
ksRepLccNettoReport.setDataType(dataType.value);
ksRepLccNettoReport.setDebit(debit);
ksRepLccNettoReport.setCredit(credit);