From 1d300c965ba1053c6068c659325729499fc4fd22 Mon Sep 17 00:00:00 2001 From: akulikov Date: Mon, 23 Dec 2024 14:21:00 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-809 --- .../builders/ks/KSRepLccValueReportBuilder.java | 16 ++++++++++++---- .../ks/KS_REP_DEPO_NETTO_expected.csv | 2 +- .../ks/KS_REP_LCC_VALUE_REPORT_expected.csv | 4 ++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepLccValueReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepLccValueReportBuilder.java index 5e203fdc7..db6f96c3e 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepLccValueReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepLccValueReportBuilder.java @@ -209,7 +209,7 @@ public class KSRepLccValueReportBuilder extends CSVReportBuilder 0) value = value.add(forAdd); quantity = quantity.add(registry.getBalance()); } @@ -340,7 +340,11 @@ public class KSRepLccValueReportBuilder extends CSVReportBuilder 0) lockQuantity = quantity.subtract(freeQuantity); + else lockQuantity = BigDecimal.ZERO.subtract(freeQuantity); + row.setQuantity(quantity.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : quantity); row.setLockQuantity(lockQuantity); row.setFreeQuantity(freeQuantity); @@ -349,8 +353,12 @@ public class KSRepLccValueReportBuilder extends CSVReportBuilder 0) { + lockValue = lockValue.add(lockQuantity.multiply(rate.getValue())); + } + if (freeQuantity.compareTo(BigDecimal.ZERO) > 0) { + freeValue = freeValue.add(freeQuantity.multiply(rate.getValue())); + } rowsForAdd.add(row); } catch (Exception e) { diff --git a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_DEPO_NETTO_expected.csv b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_DEPO_NETTO_expected.csv index 6eb251445..802278bfd 100644 --- a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_DEPO_NETTO_expected.csv +++ b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_DEPO_NETTO_expected.csv @@ -1,2 +1,2 @@ "FIRMID","SESSION_ID","SESSION_DATE","ACCOUNT","TKR","SECURITYID","VALUE","DATE" -"TRADING_CODE","2","20.01.1970T02:49:58","ACCOUNT_SYMBOL_VALUE","TKR","SECURITY_SYMBOL","22","07.07.2023" +"TRADING_CODE","2","20.01.1970T02:49:58","ACCOUNT_SYMBOL_VALUE","TKR","SECURITY_SYMBOL","-22","23.12.2024" diff --git a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_LCC_VALUE_REPORT_expected.csv b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_LCC_VALUE_REPORT_expected.csv index 546f4d5f3..641918ee6 100644 --- a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_LCC_VALUE_REPORT_expected.csv +++ b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_LCC_VALUE_REPORT_expected.csv @@ -1,3 +1,3 @@ "FIRM_ID","REPORT_DATE","TKR","SUM_VALUE","LOCK_VALUE","FREE_VALUE","SINGLE_LIMIT","CURRENCY","NCC_REAL_ACCOUNT","QUANTITY","LOCK_QUANTITY","FREE_QUANTITY","VALUE" -,"12.12.2024T11:11:59","tkr","30300.00","0.00","30300.00","278460.00","EUR",,"300.00","0.00","300.00","30000.00" -,"12.12.2024T11:11:59","tkr","30300.00","0.00","30300.00","278460.00","RUB",,"300.00","0.00","300.00","300.00" +,"20.12.2024T14:18:00","tkr","600.00","0.00","600.00","8190.00","EUR",,"300.00","0.00","300.00","300.00" +,"20.12.2024T14:18:00","tkr","600.00","0.00","600.00","8190.00","RUB",,"300.00","0.00","300.00","300.00"