From d62829f3b1b1075e6230fba612fb5f67ee02e1e5 Mon Sep 17 00:00:00 2001 From: akulikov Date: Thu, 1 Jun 2023 20:48:33 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-283 some fixes --- .../bp/ExecutedDealReportBuilderCommon.java | 3 ++- .../bp/LiabilitiesClaimsReportBuilder.java | 3 ++- .../reports/bp/MoneyChangeReportBuilder.java | 15 ++++++++++++--- .../bp/PeriodMoneyChangeReportBuilder.java | 2 +- .../bp/SummaryLiabilitiesClaimsReportBuilder.java | 2 +- .../bp/SummaryMoneyChangeReportBuilder.java | 2 +- .../reports/bp/UnfulfilledDealReportBuilder.java | 3 ++- .../reports/services/ReportServiceTest.java | 11 +++++------ .../KS_BR_PFX64_INFTYPE_1_expected.csv | 2 +- .../KS_BR_PFX64_INFTYPE_2_expected.csv | 2 +- .../KS_BR_PFX64_INFTYPE_3_expected.csv | 2 +- .../KS_BR_PFX64_INFTYPE_4_expected.csv | 2 +- .../operational_liabilities_claims_expected.csv | 4 ++-- .../operational_money_change_expected.csv | 4 ++-- .../period_liabilities_claims_expected.csv | 4 ++-- .../period_money_change_expected.csv | 4 ++-- .../summary_liabilities_claims_expected.csv | 4 ++-- .../summary_money_change_expected.csv | 4 ++-- .../unfulfilled_deal_report_expected.csv | 2 +- 19 files changed, 43 insertions(+), 32 deletions(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/ExecutedDealReportBuilderCommon.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/ExecutedDealReportBuilderCommon.java index d394f1d0c..c2d7ab7e7 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/ExecutedDealReportBuilderCommon.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/ExecutedDealReportBuilderCommon.java @@ -59,6 +59,7 @@ public abstract class ExecutedDealReportBuilderCommon extends CSVReportBuilde Collection executionFonds = getExecutionFondsForReport(params); lines = new ArrayList<>(executionFonds.size()); + long reportRowId = 0L; for (ExecutionFond executionFond : executionFonds) { try { Company company = companyImdg.getSingleObjectByID(executionFond.getCompanyId()); @@ -74,7 +75,7 @@ public abstract class ExecutedDealReportBuilderCommon extends CSVReportBuilde ); } - String id = String.valueOf(executionFond.getId()); + String id = String.valueOf(reportRowId++); String securityId = String.valueOf(executionFond.getSecurityId()); String tradeNo = String.valueOf(executionFond.getExchangeExecutionId()); String tradeDate = ""; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/LiabilitiesClaimsReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/LiabilitiesClaimsReportBuilder.java index f723df32c..0fde3a277 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/LiabilitiesClaimsReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/LiabilitiesClaimsReportBuilder.java @@ -88,6 +88,7 @@ public abstract class LiabilitiesClaimsReportBuilder

extends CSVReportBuilder LocalTime nowTime = LocalTime.now(); lines = new ArrayList<>(executions.size()); + long reportRowId = 0L; for (ExecutionCommon execution : executions) { try { Company company = companyImdg.getSingleObjectByID(execution.getCompanyId()); @@ -123,7 +124,7 @@ public abstract class LiabilitiesClaimsReportBuilder

extends CSVReportBuilder log.warn("registry not found for companyId={}", execution.getCompanyId()); } - String id = String.valueOf(execution.getId()); + String id = String.valueOf(reportRowId++); String docDate = dateFormatter.format(nowDate); String docTime = timeFormatter.format(nowTime); String docName = "Отчет об обязательствах/требованиях Участника клиринга"; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/MoneyChangeReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/MoneyChangeReportBuilder.java index 401c9f0fb..e1a4baf1f 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/MoneyChangeReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/MoneyChangeReportBuilder.java @@ -65,6 +65,7 @@ public abstract class MoneyChangeReportBuilder

extends CSVReportBuilder

{ LocalDate nowDate = LocalDate.now(); LocalTime nowTime = LocalTime.now(); lines = new ArrayList<>(registries.size()); + long reportRowId = 0L; for (Registry registry : registries) { try { Company company = companyImdg.getSingleObjectByID(registry.getCompanyId()); @@ -90,7 +91,7 @@ public abstract class MoneyChangeReportBuilder

extends CSVReportBuilder

{ ); } - String id = String.valueOf(registry.getId()); + String id = String.valueOf(reportRowId++); String docDate = dateFormatter.format(nowDate); String docTime = timeFormatter.format(nowTime); String docName = "Отчет об изменении суммы денежных средств и (или) количества иного имущества Участника клиринга"; @@ -103,8 +104,16 @@ public abstract class MoneyChangeReportBuilder

extends CSVReportBuilder

{ String registryCode = String.valueOf(registry.getId()); String registryName = registry.getRegistryCode(); String openBalance = String.valueOf(registry.getOpenBalance()); - String changeBalance = String.valueOf(registry.getCloseBalance().subtract(registry.getOpenBalance())); - String addWithdraw = String.valueOf(registry.getCredit().subtract(registry.getDebit())); + String changeBalance = ""; + if (registry.getCloseBalance() != null && registry.getOpenBalance() != null) { + changeBalance = String.valueOf(registry.getCloseBalance().subtract(registry.getOpenBalance())); + } + String addWithdraw = ""; + if (registry.getCredit() != null) { + if (registry.getDebit() != null) { + addWithdraw = String.valueOf(registry.getCredit().subtract(registry.getDebit())); + } else addWithdraw = String.valueOf(registry.getCredit()); + } String closeBalance = String.valueOf(registry.getCloseBalance()); String remarks = ""; String addSum = String.valueOf(registry.getCredit()); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/PeriodMoneyChangeReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/PeriodMoneyChangeReportBuilder.java index d4a4b2886..547d7d5d7 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/PeriodMoneyChangeReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/PeriodMoneyChangeReportBuilder.java @@ -26,7 +26,7 @@ public class PeriodMoneyChangeReportBuilder extends MoneyChangeReportBuilder registry.getRegistryCode().startsWith("AM")) + .filter(registry -> registry.getRegistryCode().startsWith("CM") || registry.getRegistryCode().startsWith("LM")) .collect(Collectors.toList()); return registries; } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/SummaryLiabilitiesClaimsReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/SummaryLiabilitiesClaimsReportBuilder.java index 448b3e34e..9656aca33 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/SummaryLiabilitiesClaimsReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/SummaryLiabilitiesClaimsReportBuilder.java @@ -34,7 +34,7 @@ public class SummaryLiabilitiesClaimsReportBuilder extends LiabilitiesClaimsRepo @Override protected String getReportFilename(EmptyParams params) { - return "summary_money_change.%s".formatted(dateTimeFormatter.format(LocalDateTime.now())); + return "summary_liabilities_claims.%s".formatted(dateTimeFormatter.format(LocalDateTime.now())); } @Override diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/SummaryMoneyChangeReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/SummaryMoneyChangeReportBuilder.java index 2cf12fc9f..e9272ff1d 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/SummaryMoneyChangeReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/SummaryMoneyChangeReportBuilder.java @@ -29,7 +29,7 @@ public class SummaryMoneyChangeReportBuilder extends MoneyChangeReportBuilder registry.getRegistryCode().startsWith("AM")) + .filter(registry -> registry.getRegistryCode().startsWith("CM") || registry.getRegistryCode().startsWith("LM")) .collect(Collectors.toList()); return registries; } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/UnfulfilledDealReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/UnfulfilledDealReportBuilder.java index 249b53211..ca3a03b8b 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/UnfulfilledDealReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/UnfulfilledDealReportBuilder.java @@ -64,6 +64,7 @@ public class UnfulfilledDealReportBuilder extends CSVReportBuilder executionFonds = executionFondImdg.getCollectionObjectsByPredicate(predicate); + long reportRowId = 0L; lines = new ArrayList<>(executionFonds.size()); for (ExecutionFond executionFond : executionFonds) { Company company = companyImdg.getSingleObjectByID(executionFond.getCompanyId()); @@ -75,7 +76,7 @@ public class UnfulfilledDealReportBuilder extends CSVReportBuilder