diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_IV.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_IV.java index aef1d9d22..4d733ae0c 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_IV.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_IV.java @@ -40,7 +40,7 @@ public class ReportPA_IV extends ReportWithPeriod { @Override public String getReportName(LocalDateTime reportDateTime) { - return "REPPA.BT12.2.IV.%s-%s.%s".formatted( + return "REPPA.IV.%s-%s.%s".formatted( DATE_FORMATTER.format(startDate), DATE_FORMATTER.format(endDate), DATE_TIME_FORMATTER.format(reportDateTime) diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportDOCIN_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportDOCIN_Collector.java index 3ce9d8551..d0f6a9723 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportDOCIN_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportDOCIN_Collector.java @@ -2,6 +2,7 @@ package ru.spcex.clearing.reports.services.collector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.journal.InDocumentJournal; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.reports.reports.bt_13.ReportDOCIN; @@ -15,6 +16,7 @@ import java.time.LocalDate; import java.time.LocalTime; import java.util.Collection; +@Component public class ReportDOCIN_Collector extends SimpleReportCollector { protected final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportDOCOUT_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportDOCOUT_Collector.java index 13e46b4f9..012000faf 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportDOCOUT_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportDOCOUT_Collector.java @@ -2,6 +2,7 @@ package ru.spcex.clearing.reports.services.collector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.journal.OutDocumentJournal; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.reports.reports.bt_13.ReportDOCOUT; @@ -15,6 +16,7 @@ import java.time.LocalDate; import java.time.LocalTime; import java.util.Collection; +@Component public class ReportDOCOUT_Collector extends SimpleReportCollector { protected final Logger log = LoggerFactory.getLogger(getClass()); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportINACCNT_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportINACCNT_Collector.java index 24d7d1c40..8ec532b53 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportINACCNT_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportINACCNT_Collector.java @@ -1,5 +1,6 @@ package ru.spcex.clearing.reports.services.collector; +import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.account.AccountBalance; import ru.clearing.classes.statics.data.company.Company; import ru.spcex.clearing.imdg.IMDGDistributedNames; @@ -10,7 +11,6 @@ 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.iml.hazelcast.adapter.predicate.ImdgPredicateBuilderHazelcast; import java.time.LocalDate; import java.time.LocalTime; @@ -18,6 +18,7 @@ import java.util.Collection; import java.util.Set; import java.util.stream.Collectors; +@Component public class ReportINACCNT_Collector extends ReportForClearingCodeCollector { private final Imdg accountBalanceImdg; private final Imdg companyImdg; @@ -35,7 +36,7 @@ public class ReportINACCNT_Collector extends ReportForClearingCodeCollector companies = companyImdg.getCollectionObjectsByPredicate(clearingCodePredicate); @@ -47,10 +48,8 @@ public class ReportINACCNT_Collector extends ReportForClearingCodeCollector accountBalances = accountBalanceImdg.getCollectionObjectsByPredicate(finalPredicate); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_B_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_B_Collector.java index 1d1edf6ae..36433430e 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_B_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_B_Collector.java @@ -1,5 +1,6 @@ package ru.spcex.clearing.reports.services.collector; +import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.spcex.clearing.imdg.IMDGDistributedNames; @@ -10,14 +11,15 @@ 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.iml.hazelcast.adapter.predicate.ImdgPredicateBuilderHazelcast; import java.math.BigDecimal; import java.time.LocalDate; import java.util.Collection; +import java.util.Map; import java.util.Set; import java.util.stream.Collectors; +@Component public class ReportPA_B_Collector extends ReportWithPeriodCollector { private final Imdg liabilitiesClaimsAssetsImdg; private final Imdg clearingMemberCategoryImdg; @@ -36,24 +38,23 @@ public class ReportPA_B_Collector extends ReportWithPeriodCollector @Override public ReportPA_B collectReportWithPeriod(LocalDate startDate, LocalDate endDate) { validateDateRange(startDate, endDate); - ImdgPredicateBuilder builder = new ImdgPredicateBuilderHazelcast(); - ImdgPredicate clearingMemberCategoryPredicate = builder.equals("clearingMemberCategory", ClearingMemberCategoryD.B.getKey()); Collection clearingMemberCategories = - clearingMemberCategoryImdg.getCollectionObjectsByPredicate(clearingMemberCategoryPredicate); + clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of( + "clearingMemberCategory", ClearingMemberCategoryD.B.getKey() + )); Set companyIds = clearingMemberCategories.stream() .map(ClearingMemberCategory::getCompanyId) .collect(Collectors.toSet()); + ImdgPredicateBuilder builder = liabilitiesClaimsAssetsImdg.predicateBuilder(); ImdgPredicate refundDatePredicate = builder.and( builder.greatEqual("refundDate", toInstantStartDay(startDate)), builder.lessEqual("refundDate", toInstantStartDay(endDate)) ); - ImdgPredicate companyIdPredicates = builder.equals("companyId", -1); - for (Long companyId : companyIds) { - companyIdPredicates = builder.or(companyIdPredicates, builder.equals("companyId", companyId)); - } + ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0])); ImdgPredicate finalPredicate = builder.and(refundDatePredicate, companyIdPredicates); + Collection liabilitiesClaimsAssets = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(finalPredicate); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_IV_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_IV_Collector.java index 2664b36be..b0b731b8f 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_IV_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_IV_Collector.java @@ -1,16 +1,17 @@ package ru.spcex.clearing.reports.services.collector; +import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.platform.dictionary.ClearingStatusDictionary; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_IV; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector; +import ru.spcex.platform.enumeration.ClearingMemberCategoryD; 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.iml.hazelcast.adapter.predicate.ImdgPredicateBuilderHazelcast; import java.math.BigDecimal; import java.time.LocalDate; @@ -18,6 +19,7 @@ import java.util.Collection; import java.util.Set; import java.util.stream.Collectors; +@Component public class ReportPA_IV_Collector extends ReportWithPeriodCollector { private final Imdg liabilitiesClaimsAssetsImdg; private final Imdg clearingStatusDictionaryImdg; @@ -41,26 +43,22 @@ public class ReportPA_IV_Collector extends ReportWithPeriodCollector clearingMemberCategories = - clearingMemberCategoryImdg.getCollectionObjectsByPredicate(clearingMemberCategoryPredicate); + clearingMemberCategoryImdg.getCollectionObjectsBySQL(clearingMemberCategorySql); Set companyIds = clearingMemberCategories.stream() .map(ClearingMemberCategory::getCompanyId) .collect(Collectors.toSet()); + ImdgPredicateBuilder builder = liabilitiesClaimsAssetsImdg.predicateBuilder(); ImdgPredicate refundDatePredicate = builder.and( builder.greatEqual("refundDate", toInstantStartDay(startDate)), builder.lessEqual("refundDate", toInstantStartDay(endDate)) ); - ImdgPredicate companyIdPredicates = builder.equals("companyId", -1); - for (Long companyId : companyIds) { - companyIdPredicates = builder.or(companyIdPredicates, builder.equals("companyId", companyId)); - } + ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0])); ImdgPredicate finalPredicate = builder.and(refundDatePredicate, companyIdPredicates); Collection liabilitiesClaimsAssets = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(finalPredicate); diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/predicate/ImdgPredicateBuilderHazelcast.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/predicate/ImdgPredicateBuilderHazelcast.java index 0764ac47c..a512122b1 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/predicate/ImdgPredicateBuilderHazelcast.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/adapter/predicate/ImdgPredicateBuilderHazelcast.java @@ -38,6 +38,11 @@ public class ImdgPredicateBuilderHazelcast implements ImdgPredicateBuilder { return new ImdgPredicateHazelcast(Predicates.lessThan(key, cmpValue)); } + @Override + public ImdgPredicate in(String key, Comparable[] values) { + return new ImdgPredicateHazelcast(Predicates.in(key, values)); + } + @Override public ImdgPredicate not(ImdgPredicate param) { ImdgPredicateHazelcast paramMy = (ImdgPredicateHazelcast) param; diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/predicate/ImdgPredicateBuilder.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/predicate/ImdgPredicateBuilder.java index 09b135a35..3a9e87d8a 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/predicate/ImdgPredicateBuilder.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/platform/imdg/api/predicate/ImdgPredicateBuilder.java @@ -7,6 +7,8 @@ public interface ImdgPredicateBuilder { ImdgPredicate greater(String key, Comparable value); ImdgPredicate less(String key, Comparable value); + ImdgPredicate in(String key, Comparable... values); + ImdgPredicate not(ImdgPredicate param); ImdgPredicate and(ImdgPredicate paramA, ImdgPredicate paramB); ImdgPredicate and(ImdgPredicate paramA, ImdgPredicate paramB, ImdgPredicate paramC);