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