From 5863500e510ae19a7ebe017fbe97dcf1b3fd0921 Mon Sep 17 00:00:00 2001 From: akulikov Date: Mon, 14 Aug 2023 16:53:55 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-358 fixes --- .../ks/KSCommissionTradesReportBuilder.java | 2 +- .../ks/KSRepCashRegisterSumsReportBuilder.java | 18 ++++++++++++++---- ...RepDepoRegisterQuantitiesReportBuilder.java | 16 +++++++++++++--- .../reports/services/ReportServiceTest_KS.java | 10 ++++++++-- .../ks/KS_COMMISSION_TRADES_expected.csv | 2 +- .../ks/KS_REP_CASH_REGISTER_SUMS_expected.csv | 2 +- ...S_REP_DEPO_REGISTER_QUANTITIES_expected.csv | 2 +- 7 files changed, 39 insertions(+), 13 deletions(-) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSCommissionTradesReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSCommissionTradesReportBuilder.java index 4c272c82b..53ea7cef5 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSCommissionTradesReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSCommissionTradesReportBuilder.java @@ -131,7 +131,7 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder registries = registryImdg.getCollectionObjectsByPredicate( pbRegistry.and( pbRegistry.equals("companyId", statement.getAddresseeId()), pbRegistry.equals("account", statement.getAccount()), pbRegistry.in("accountType", AccountType.Clrn.getKey(), AccountType.Info.getKey()), - pbRegistry.notNull("registryCode") + pbRegistry.sql(sql) ) ); - if (registry == null) { + if (registries.isEmpty()) { log.warn( - "Can't find registry for companyId = {} and account = {}. Statement id = {} skipped", + "Can't find registry for companyId = {} and account: {}. Statement id = {} skipped", statement.getAddresseeId(), statement.getAccount(), statement.getId() ); continue; + } else if (registries.size() > 1) { + log.warn( + "More then one AM_T registry found for companyId = {} and account: {}, statement id {}. Use first", + statement.getAddresseeId(), + statement.getAccount(), + statement.getId() + ); } + Registry registry = registries.iterator().next(); KSRepCashRegisterSumsReport ksRepCashRegisterSumsReport = new KSRepCashRegisterSumsReport(); ksRepCashRegisterSumsReport.setFirmId(String.valueOf(statement.getAddresseeId())); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoRegisterQuantitiesReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoRegisterQuantitiesReportBuilder.java index f9966ecff..5ed5def3e 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoRegisterQuantitiesReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ks/KSRepDepoRegisterQuantitiesReportBuilder.java @@ -17,6 +17,7 @@ import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; +import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder; import ru.spcex.platform.utils.enumeration.IEnumKey; import java.time.Instant; @@ -99,16 +100,17 @@ public class KSRepDepoRegisterQuantitiesReportBuilder extends CSVReportBuilder registries = registryImdg.getCollectionObjectsByPredicate( pbRegistry.and( pbRegistry.equals("companyId", statement.getAddresseeId()), pbRegistry.equals("account", statement.getAccount()), pbRegistry.equals("accountType", AccountType.Depo.getKey()), - pbRegistry.notNull("registryCode") + pbRegistry.sql(sql) ) ); - if (registry == null) { + if (registries.isEmpty()) { log.warn( "Can't find registry for companyId = {} and account: {}. Statement id = {} skipped", statement.getAddresseeId(), @@ -116,7 +118,15 @@ public class KSRepDepoRegisterQuantitiesReportBuilder extends CSVReportBuilder 1) { + log.warn( + "More then one AS_T registry found for companyId = {} and account: {}, statement id {}. Use first", + statement.getAddresseeId(), + statement.getAccount(), + statement.getId() + ); } + Registry registry = registries.iterator().next(); Security security = getSecurityWithSecuritySymbolForId(statement.getSecurityId()); if (security == null) { diff --git a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_KS.java b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_KS.java index 61e5f8933..d98ba8124 100644 --- a/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_KS.java +++ b/clearing-parent/reports-service/src/test/java/ru/spcex/clearing/reports/services/ReportServiceTest_KS.java @@ -172,7 +172,10 @@ public class ReportServiceTest_KS { registry_1.setCompanyId(COMPANY_ID); registry_1.setAccount("ACCOUNT"); registry_1.setAccountType(AccountType.Clrn.getKey()); - registry_1.setRegistryCode(RegistryUnit.T.getKey()); + registry_1.setRegistryCode("AM_T"); + registry_1.setRegistryDesignation("A"); + registry_1.setRegistryInstrumentType("M"); + registry_1.setRegistryUnit("T"); registry_1.setTradingClearingRegistry("TRADING_CLEARING_REGISTRY"); registryImdg.insert(registry_1); @@ -267,7 +270,10 @@ public class ReportServiceTest_KS { registry_1.setAccount("ACCOUNT"); registry_1.setTradingClearingRegistry("TRADING_CLEARING_REGISTRY"); registry_1.setAccountType(AccountType.Depo.getKey()); - registry_1.setRegistryCode(RegistryUnit.T.getKey()); + registry_1.setRegistryCode("AS_T"); + registry_1.setRegistryDesignation("A"); + registry_1.setRegistryInstrumentType("S"); + registry_1.setRegistryUnit("T"); registryImdg.insert(registry_1); EquitySecurity equitySecurity = new EquitySecurity(); diff --git a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_COMMISSION_TRADES_expected.csv b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_COMMISSION_TRADES_expected.csv index c9cd18bf9..c0ab9cd30 100644 --- a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_COMMISSION_TRADES_expected.csv +++ b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_COMMISSION_TRADES_expected.csv @@ -1,2 +1,2 @@ "FIRMID","FIRM_INITIATOR","SECCODE","AGREEMENT_NUMBER","AGREEMENT_NUMBER_POSTFIX","AGREEMENT_DATE","SUM","REPAYM_DATE","EXEC_STATUS" -"CLEARING_CODE","COMPANY_SYMBOL_VALUE","SECURITY_SYMBOL","SECURITY_SYMBOL/010191/CLEARING_CODE777","","01.01.1991","77.78","01.08.2023","OK" +"CLEARING_CODE","COMPANY_SYMBOL_VALUE","SECURITY_SYMBOL","SECURITY_SYMBOL/010191/CLEARING_CODE/777","","01.01.1991","77.78","01.08.2023","OK" diff --git a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_CASH_REGISTER_SUMS_expected.csv b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_CASH_REGISTER_SUMS_expected.csv index 8583637ba..4834c7913 100644 --- a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_CASH_REGISTER_SUMS_expected.csv +++ b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_CASH_REGISTER_SUMS_expected.csv @@ -1,2 +1,2 @@ "FIRMID","ACCOUNT","TKR","REGISTER_CODE","ADD_SUM","ADD_TIME","ADD_DATE" -"1","ACCOUNT","TRADING_CLEARING_REGISTRY","T","7777.78","15:49:30","01.08.2023" +"1","ACCOUNT","TRADING_CLEARING_REGISTRY","AM_T","7777.78","15:49:30","01.08.2023" diff --git a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_DEPO_REGISTER_QUANTITIES_expected.csv b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_DEPO_REGISTER_QUANTITIES_expected.csv index 16fc7bd5a..e8a0ef551 100644 --- a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_DEPO_REGISTER_QUANTITIES_expected.csv +++ b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_DEPO_REGISTER_QUANTITIES_expected.csv @@ -1,2 +1,2 @@ "FIRMID","ACCOUNT","TKR","SECURITYID","REGISTER_CODE","ADD_QUANTITY","ADD_TIME","ADD_DATE" -"1","ACCOUNT","TRADING_CLEARING_REGISTRY","value","T","7777.78","15:52:33","01.08.2023" +"1","ACCOUNT","TRADING_CLEARING_REGISTRY","value","AS_T","7777.78","15:52:33","01.08.2023"