diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepLccNettoReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepLccNettoReportBuilder.java index ac965db8d..1afe4cf5b 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepLccNettoReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSRepLccNettoReportBuilder.java @@ -72,10 +72,7 @@ public class KSRepLccNettoReportBuilder extends CSVReportBuilder registries = registryImdg.getCollectionObjectsByPredicate( pb.and( registryPredicate, - pb.or( - pb.equals("settlementDate", now), - pb.equals("settlementDate", now.plusDays(1)) - ) + pb.greatEqual("settlementDate", now) ) ); Map> groupedRegistries = registries.stream() 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 888f7c054..c1716db7f 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 @@ -1283,7 +1283,7 @@ public class ReportServiceTest_KS { @Test @Order(12) - public void createReportTest_KSRepLccNettoReport() throws IOException, CsvValidationException { + public void createReportTest_KSRepLccTradesReport() throws IOException, CsvValidationException { clearTestDir(); Long SESSION_ID_1 = 32121L; @@ -1442,7 +1442,7 @@ public class ReportServiceTest_KS { @Test @Order(13) - public void createReportTest_KSRepLccTradesReport() throws IOException, CsvValidationException { + public void createReportTest_KSRepLccNettoReport() throws IOException, CsvValidationException { clearTestDir(); ReportRequest reportRequest = new ReportRequest(); @@ -1468,7 +1468,7 @@ public class ReportServiceTest_KS { registry_AMT_2.setRegistryDesignation(RegistryDesignation.A.getKey()); registry_AMT_2.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); registry_AMT_2.setRegistryUnit(RegistryUnit.T.getKey()); - registry_AMT_1.setBalance(BigDecimal.TEN.negate()); + registry_AMT_2.setBalance(BigDecimal.TEN.negate()); Registry registry_OMT_1 = new Registry(); registry_OMT_1.setTradingCode("OMT_1_TRADING_CODE"); @@ -1518,6 +1518,76 @@ public class ReportServiceTest_KS { registry_TMT_2.setRegistryStatus(RegistryStatus.CLRD.getKey()); registry_TMT_2.setBalance(BigDecimal.valueOf(434213)); + Registry registry_AMT_1_nextDay = new Registry(); + registry_AMT_1_nextDay.setTradingCode("AMT_1_TRADING_CODE_nextDay"); + registry_AMT_1_nextDay.setTradingClearingRegistry("TKR_AMT_1"); + registry_AMT_1_nextDay.setSecuritySymbol("SEC_SYMBOL_AMT_1"); + registry_AMT_1_nextDay.setSettlementDate(LocalDate.now().plusDays(1)); + registry_AMT_1_nextDay.setRegistryCode("AM_T"); + registry_AMT_1_nextDay.setRegistryDesignation(RegistryDesignation.A.getKey()); + registry_AMT_1_nextDay.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); + registry_AMT_1_nextDay.setRegistryUnit(RegistryUnit.T.getKey()); + registry_AMT_1_nextDay.setBalance(BigDecimal.TEN); + + Registry registry_AMT_2_nextDay = new Registry(); + registry_AMT_2_nextDay.setTradingCode("AMT_2_TRADING_CODE_nextDay"); + registry_AMT_2_nextDay.setTradingClearingRegistry("TKR_AMT_2"); + registry_AMT_2_nextDay.setSecuritySymbol("SEC_SYMBOL_AMT_2"); + registry_AMT_2_nextDay.setSettlementDate(LocalDate.now().plusDays(1)); + registry_AMT_2_nextDay.setRegistryCode("AM_T"); + registry_AMT_2_nextDay.setRegistryDesignation(RegistryDesignation.A.getKey()); + registry_AMT_2_nextDay.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); + registry_AMT_2_nextDay.setRegistryUnit(RegistryUnit.T.getKey()); + registry_AMT_2_nextDay.setBalance(BigDecimal.TEN.negate()); + + Registry registry_OMT_1_nextDay = new Registry(); + registry_OMT_1_nextDay.setTradingCode("OMT_1_TRADING_CODE_nextDay"); + registry_OMT_1_nextDay.setTradingClearingRegistry("TKR_OMT_1"); + registry_OMT_1_nextDay.setSecuritySymbol("SEC_SYMBOL_OMT_1"); + registry_OMT_1_nextDay.setSettlementDate(LocalDate.now().plusDays(1)); + registry_OMT_1_nextDay.setRegistryCode("OM_T"); + registry_OMT_1_nextDay.setRegistryDesignation(RegistryDesignation.O.getKey()); + registry_OMT_1_nextDay.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); + registry_OMT_1_nextDay.setRegistryUnit(RegistryUnit.T.getKey()); + registry_OMT_1_nextDay.setRegistryStatus(RegistryStatus.PROC.getKey()); + registry_OMT_1_nextDay.setBalance(BigDecimal.valueOf(321321)); + + Registry registry_OMT_2_nextDay = new Registry(); + registry_OMT_2_nextDay.setTradingCode("OMT_2_TRADING_CODE_nextDay"); + registry_OMT_2_nextDay.setTradingClearingRegistry("TKR_OMT_2"); + registry_OMT_2_nextDay.setSecuritySymbol("SEC_SYMBOL_OMT_2"); + registry_OMT_2_nextDay.setSettlementDate(LocalDate.now().plusDays(1)); + registry_OMT_2_nextDay.setRegistryCode("OM_T"); + registry_OMT_2_nextDay.setRegistryDesignation(RegistryDesignation.O.getKey()); + registry_OMT_2_nextDay.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); + registry_OMT_2_nextDay.setRegistryUnit(RegistryUnit.T.getKey()); + registry_OMT_2_nextDay.setRegistryStatus(RegistryStatus.CLRD.getKey()); + registry_OMT_2_nextDay.setBalance(BigDecimal.valueOf(547893)); + + Registry registry_TMT_1_nextDay = new Registry(); + registry_TMT_1_nextDay.setTradingCode("TMT_1_TRADING_CODE_nextDay"); + registry_TMT_1_nextDay.setTradingClearingRegistry("TKR_TMT_1"); + registry_TMT_1_nextDay.setSecuritySymbol("SEC_SYMBOL_TMT_1"); + registry_TMT_1_nextDay.setSettlementDate(LocalDate.now().plusDays(1)); + registry_TMT_1_nextDay.setRegistryCode("TM_T"); + registry_TMT_1_nextDay.setRegistryDesignation(RegistryDesignation.T.getKey()); + registry_TMT_1_nextDay.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); + registry_TMT_1_nextDay.setRegistryUnit(RegistryUnit.T.getKey()); + registry_TMT_1_nextDay.setRegistryStatus(RegistryStatus.MNG.getKey()); + registry_TMT_1_nextDay.setBalance(BigDecimal.valueOf(5783949)); + + Registry registry_TMT_2_nextDay = new Registry(); + registry_TMT_2_nextDay.setTradingCode("TMT_2_TRADING_CODE_nextDay"); + registry_TMT_2_nextDay.setTradingClearingRegistry("TKR_TMT_2"); + registry_TMT_2_nextDay.setSecuritySymbol("SEC_SYMBOL_TMT_2"); + registry_TMT_2_nextDay.setSettlementDate(LocalDate.now().plusDays(1)); + registry_TMT_2_nextDay.setRegistryCode("TM_T"); + registry_TMT_2_nextDay.setRegistryDesignation(RegistryDesignation.T.getKey()); + registry_TMT_2_nextDay.setRegistryInstrumentType(RegistryInstrumentType.M.getKey()); + registry_TMT_2_nextDay.setRegistryUnit(RegistryUnit.T.getKey()); + registry_TMT_2_nextDay.setRegistryStatus(RegistryStatus.CLRD.getKey()); + registry_TMT_2_nextDay.setBalance(BigDecimal.valueOf(434213)); + registryImdg.insert(registry_AMT_1); registryImdg.insert(registry_AMT_2); registryImdg.insert(registry_TMT_1); @@ -1525,6 +1595,14 @@ public class ReportServiceTest_KS { registryImdg.insert(registry_OMT_1); registryImdg.insert(registry_OMT_2); + registryImdg.insert(registry_AMT_1_nextDay); + registryImdg.insert(registry_AMT_2_nextDay); + registryImdg.insert(registry_TMT_1_nextDay); + registryImdg.insert(registry_TMT_2_nextDay); + registryImdg.insert(registry_OMT_1_nextDay); + registryImdg.insert(registry_OMT_2_nextDay); + + String jsonString = TestUtils.getJsonStringForSystem(reportRequest, 0L); @@ -1546,6 +1624,13 @@ public class ReportServiceTest_KS { registryImdg.delete(registry_AMT_2); registryImdg.delete(registry_TMT_2); registryImdg.delete(registry_OMT_2); + + registryImdg.delete(registry_AMT_1_nextDay); + registryImdg.delete(registry_TMT_1_nextDay); + registryImdg.delete(registry_OMT_1_nextDay); + registryImdg.delete(registry_AMT_2_nextDay); + registryImdg.delete(registry_TMT_2_nextDay); + registryImdg.delete(registry_OMT_2_nextDay); } diff --git a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_LCC_NETTO_expected.csv b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_LCC_NETTO_expected.csv index a3650a99f..3da140dc1 100644 --- a/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_LCC_NETTO_expected.csv +++ b/clearing-parent/reports-service/src/test/resources/expected_reports_csv/ks/KS_REP_LCC_NETTO_expected.csv @@ -1,19 +1,25 @@ "FIRM_ID","TKR","CURRENCYID","DATE","NETTO_SUM","DATA_TYPE","DEBIT","CREDIT" -"AMT_1_TRADING_CODE","TKR_AMT_1","SEC_SYMBOL_AMT_1","2024-10-02","0","FX_OBLIG","0.00","0.00" -"AMT_1_TRADING_CODE","TKR_AMT_1","SEC_SYMBOL_AMT_1","2024-10-02","0","PR_NETTOSUM","0.00","0.00" -"AMT_1_TRADING_CODE","TKR_AMT_1","SEC_SYMBOL_AMT_1","2024-10-02","10","FX_DEBT","-10.00","0.00" -"TMT_2_TRADING_CODE","TKR_TMT_2","SEC_SYMBOL_TMT_2","2024-10-02","0","FX_OBLIG","0.00","0.00" -"TMT_2_TRADING_CODE","TKR_TMT_2","SEC_SYMBOL_TMT_2","2024-10-02","434213","PR_NETTOSUM","0.00","434213.00" -"TMT_2_TRADING_CODE","TKR_TMT_2","SEC_SYMBOL_TMT_2","2024-10-02","0","FX_DEBT","0.00","0.00" -"TMT_1_TRADING_CODE","TKR_TMT_1","SEC_SYMBOL_TMT_1","2024-10-02","5783949","FX_OBLIG","0.00","5783949.00" -"TMT_1_TRADING_CODE","TKR_TMT_1","SEC_SYMBOL_TMT_1","2024-10-02","0","PR_NETTOSUM","0.00","0.00" -"TMT_1_TRADING_CODE","TKR_TMT_1","SEC_SYMBOL_TMT_1","2024-10-02","0","FX_DEBT","0.00","0.00" -"OMT_1_TRADING_CODE","TKR_OMT_1","SEC_SYMBOL_OMT_1","2024-10-02","-321321","FX_OBLIG","321321.00","0.00" -"OMT_1_TRADING_CODE","TKR_OMT_1","SEC_SYMBOL_OMT_1","2024-10-02","0","PR_NETTOSUM","0.00","0.00" -"OMT_1_TRADING_CODE","TKR_OMT_1","SEC_SYMBOL_OMT_1","2024-10-02","0","FX_DEBT","0.00","0.00" -"AMT_2_TRADING_CODE","TKR_AMT_2","SEC_SYMBOL_AMT_2","2024-10-02","0","FX_OBLIG","0.00","0.00" -"AMT_2_TRADING_CODE","TKR_AMT_2","SEC_SYMBOL_AMT_2","2024-10-02","0","PR_NETTOSUM","0.00","0.00" -"AMT_2_TRADING_CODE","TKR_AMT_2","SEC_SYMBOL_AMT_2","2024-10-02","0","FX_DEBT","0.00","0.00" -"OMT_2_TRADING_CODE","TKR_OMT_2","SEC_SYMBOL_OMT_2","2024-10-02","0","FX_OBLIG","0.00","0.00" -"OMT_2_TRADING_CODE","TKR_OMT_2","SEC_SYMBOL_OMT_2","2024-10-02","-547893","PR_NETTOSUM","547893.00","0.00" -"OMT_2_TRADING_CODE","TKR_OMT_2","SEC_SYMBOL_OMT_2","2024-10-02","0","FX_DEBT","0.00","0.00" +"TMT_2_TRADING_CODE","TKR_TMT_2","SEC_SYMBOL_TMT_2","2024-10-11","0","FX_OBLIG","0.00","0.00" +"TMT_2_TRADING_CODE","TKR_TMT_2","SEC_SYMBOL_TMT_2","2024-10-11","434213","PR_NETTOSUM","0.00","434213.00" +"TMT_2_TRADING_CODE","TKR_TMT_2","SEC_SYMBOL_TMT_2","2024-10-11","0","FX_DEBT","0.00","0.00" +"OMT_2_TRADING_CODE","TKR_OMT_2","SEC_SYMBOL_OMT_2","2024-10-11","0","FX_OBLIG","0.00","0.00" +"OMT_2_TRADING_CODE","TKR_OMT_2","SEC_SYMBOL_OMT_2","2024-10-11","-547893","PR_NETTOSUM","547893.00","0.00" +"OMT_2_TRADING_CODE","TKR_OMT_2","SEC_SYMBOL_OMT_2","2024-10-11","0","FX_DEBT","0.00","0.00" +"TMT_1_TRADING_CODE_nextDay","TKR_TMT_1","SEC_SYMBOL_TMT_1","2024-10-12","5783949","FX_OBLIG","0.00","5783949.00" +"TMT_1_TRADING_CODE","TKR_TMT_1","SEC_SYMBOL_TMT_1","2024-10-11","5783949","FX_OBLIG","0.00","5783949.00" +"TMT_1_TRADING_CODE","TKR_TMT_1","SEC_SYMBOL_TMT_1","2024-10-11","0","PR_NETTOSUM","0.00","0.00" +"TMT_1_TRADING_CODE","TKR_TMT_1","SEC_SYMBOL_TMT_1","2024-10-11","0","FX_DEBT","0.00","0.00" +"OMT_2_TRADING_CODE_nextDay","TKR_OMT_2","SEC_SYMBOL_OMT_2","2024-10-12","0","FX_OBLIG","0.00","0.00" +"TMT_2_TRADING_CODE_nextDay","TKR_TMT_2","SEC_SYMBOL_TMT_2","2024-10-12","0","FX_OBLIG","0.00","0.00" +"OMT_1_TRADING_CODE","TKR_OMT_1","SEC_SYMBOL_OMT_1","2024-10-11","-321321","FX_OBLIG","321321.00","0.00" +"OMT_1_TRADING_CODE","TKR_OMT_1","SEC_SYMBOL_OMT_1","2024-10-11","0","PR_NETTOSUM","0.00","0.00" +"OMT_1_TRADING_CODE","TKR_OMT_1","SEC_SYMBOL_OMT_1","2024-10-11","0","FX_DEBT","0.00","0.00" +"OMT_1_TRADING_CODE_nextDay","TKR_OMT_1","SEC_SYMBOL_OMT_1","2024-10-12","-321321","FX_OBLIG","321321.00","0.00" +"AMT_1_TRADING_CODE_nextDay","TKR_AMT_1","SEC_SYMBOL_AMT_1","2024-10-12","0","FX_OBLIG","0.00","0.00" +"AMT_2_TRADING_CODE","TKR_AMT_2","SEC_SYMBOL_AMT_2","2024-10-11","0","FX_OBLIG","0.00","0.00" +"AMT_2_TRADING_CODE","TKR_AMT_2","SEC_SYMBOL_AMT_2","2024-10-11","0","PR_NETTOSUM","0.00","0.00" +"AMT_2_TRADING_CODE","TKR_AMT_2","SEC_SYMBOL_AMT_2","2024-10-11","10","FX_DEBT","-10.00","0.00" +"AMT_1_TRADING_CODE","TKR_AMT_1","SEC_SYMBOL_AMT_1","2024-10-11","0","FX_OBLIG","0.00","0.00" +"AMT_1_TRADING_CODE","TKR_AMT_1","SEC_SYMBOL_AMT_1","2024-10-11","0","PR_NETTOSUM","0.00","0.00" +"AMT_1_TRADING_CODE","TKR_AMT_1","SEC_SYMBOL_AMT_1","2024-10-11","0","FX_DEBT","0.00","0.00" +"AMT_2_TRADING_CODE_nextDay","TKR_AMT_2","SEC_SYMBOL_AMT_2","2024-10-12","0","FX_OBLIG","0.00","0.00"