context = new ImdgValidationContext<>();
+ context.setValidatedObject(launcherCommandRequest);
+ return new ValidatorImpl<>(context,
+ FieldRequiredRule.instance(
+ "sessionId",
+ LauncherCommandRequest::getSessionId,
+ ReportError.RequiredFieldEmpty,
+ false)
+ );
+ };
+ }
+
}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/DOCXService.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/DOCXService.java
similarity index 90%
rename from clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/DOCXService.java
rename to clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/DOCXService.java
index 67cd092ea..7bcd951f5 100644
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/DOCXService.java
+++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/DOCXService.java
@@ -1,10 +1,13 @@
-package ru.spcex.clearing.reports.services;
+package ru.spcex.clearing.reports.notifications;
import org.apache.poi.xwpf.usermodel.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.*;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URL;
import java.util.LinkedList;
import java.util.List;
@@ -16,26 +19,26 @@ import java.util.regex.PatternSyntaxException;
import java.util.stream.Collectors;
/**
+ * todo Пока неизвестно нужны ли будут ещё эти уведомления, поэтому весь связанный код переместил в один пакет
+ *
* Сервис для работы с DOCX файлами
* Читает шаблон .docx и во всех текстовых элементах меняет переданные ключи на соответствующие им значения
* Пример ключа по умолчанию: ${ключ}
- *
+ *
* При использовании нового шаблона, необходимо отредактировать docx документ так, чтобы ключ содержался в одном
* элементе. Для этого нужно вырезать ключ и в это же место вставить его как текст, без форматирования. Если нужно,
* идентификатору потом можно установить стиль, который будет применён к вставляемой строке.
*/
public class DOCXService {
private final Logger log = LoggerFactory.getLogger(getClass());
- /**
- * При инициализации сохраняет все имеющиеся ключи (ищет по маске keyPattern), найденные в текстовых элементах документа
- */
- private List keyPositions = new LinkedList<>();
-
/**
* Паттерн поиска ключей в файле по умолчанию
*/
private final Pattern DEFAULT_KEY_PATTERN = Pattern.compile("\\$\\{.*?}");
-
+ /**
+ * При инициализации сохраняет все имеющиеся ключи (ищет по маске keyPattern), найденные в текстовых элементах документа
+ */
+ private List keyPositions = new LinkedList<>();
/**
* Паттерн поиска ключей в файле
*/
@@ -56,7 +59,7 @@ public class DOCXService {
*/
public boolean init(URL templateFile, String keyPattern) {
initialized = false;
- if (templateFile == null /*|| !templateFile.exists() || !templateFile.isFile()*/) {
+ if (templateFile == null) {
log.warn("Invalid templateFile {}", templateFile);
return false;
}
@@ -82,10 +85,9 @@ public class DOCXService {
* valuesMap.
*
* @param outputFile Выходной файл. Должен быть либо файлом (будет перезаписан), либо отсутствовать
- * @param valuesMap Мапа значений. В файле шаблона будут искаться ключи этой мапы и заменяться на соответствующие значения.
- * @param checkKeys True - строгий режим, где будет проверено наличие всех ключей из файла в valuesMap.
- * False - мягкий режим, отсутствующие ключи будут пропущены
- *
+ * @param valuesMap Мапа значений. В файле шаблона будут искаться ключи этой мапы и заменяться на соответствующие значения.
+ * @param checkKeys True - строгий режим, где будет проверено наличие всех ключей из файла в valuesMap.
+ * False - мягкий режим, отсутствующие ключи будут пропущены
* @return true - если вставка прошла успешно
*/
public boolean insertValues(File outputFile,
@@ -110,7 +112,7 @@ public class DOCXService {
}
}
- try (InputStream inputStream = templateFile.openStream(); //new FileInputStream(templateFile);
+ try (InputStream inputStream = templateFile.openStream();
OutputStream outputStream = new FileOutputStream(outputFile)) {
XWPFDocument doc = new XWPFDocument(inputStream);
@@ -127,7 +129,7 @@ public class DOCXService {
boolean checkOk = checkIntersection(valuesMap, notPresentInMap);
if (!checkOk) {
log.error("Can't insert values in file {}. Keys not in map: {}.",
- templateFile.toExternalForm()/*templateFile.getAbsolutePath()*/,
+ templateFile.toExternalForm(),
String.join(", ", notPresentInMap));
return false;
}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/NotificationBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/NotificationBuilder.java
index 9773f4a1e..16053a381 100644
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/NotificationBuilder.java
+++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/notifications/NotificationBuilder.java
@@ -3,7 +3,6 @@ package ru.spcex.clearing.reports.notifications;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.spcex.clearing.reports.exceptions.ConfigException;
-import ru.spcex.clearing.reports.services.DOCXService;
import java.io.File;
import java.net.URL;
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/AbstractReport.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/AbstractReport.java
deleted file mode 100644
index c8b56a13e..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/AbstractReport.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package ru.spcex.clearing.reports.reports;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import com.thoughtworks.xstream.annotations.XStreamOmitField;
-
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-
-/**
- * Общая шапка (атрибуты) для всех отчетов
- */
-@Deprecated
-public abstract class AbstractReport {
- protected static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy");
- protected static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy'T'HH:mm:ss");
-
- @XStreamOmitField
- protected ReportId reportId;
-
- @XStreamAsAttribute
- @XStreamAlias("version")
- protected String version;
-
- @XStreamAsAttribute
- @XStreamAlias("code")
- protected String code;
-
- @XStreamAsAttribute
- @XStreamAlias("name")
- protected String name;
-
- public AbstractReport(ReportId reportId,
- String version,
- String code,
- String name) {
- this.reportId = reportId;
- this.version = version;
- this.code = code;
- this.name = name;
- }
-
- abstract public String getReportName(LocalDateTime reportDateTime);
-
- public ReportId getReportId() {
- return reportId;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/Destination.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/Destination.java
deleted file mode 100644
index da4f82002..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/Destination.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package ru.spcex.clearing.reports.reports;
-
-import ru.spcex.platform.utils.enumeration.IEnumKey;
-
-public enum Destination implements IEnumKey {
- BR("BR"), _1C("1C");
-
- private final String key;
-
- Destination(String key) {
- this.key = key;
- }
-
- @Override
- public String getKey() {
- return this.key;
- }
-
- @Override
- public boolean equalsByKey(String key) {
- return IEnumKey.super.equalsByKey(key);
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportId.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportId.java
deleted file mode 100644
index 1d66b3ebc..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportId.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package ru.spcex.clearing.reports.reports;
-
-import ru.spcex.platform.utils.enumeration.IEnumKey;
-
-/**
- * Идентификаторы отчётов
- */
-@Deprecated
-public enum ReportId implements IEnumKey {
- PA_B("REPPA.B"), PA_IV("REPPA.IV"),
-
- BT13_11("DOCIN"), BT13_12("DOCOUT"),
-
- BT16_5("INACCNT"),
-
- BR_0420315_P1("REPBR.0420315.P1"), BR_0420315_P2("REPBR.0420315.P2"),
-
- BR_0420317("REPBR.0420317"),
-
- BR_0420318("REPBR.0420318"),
-
- BR_0420314_P1("REPBR.0420314.P1"), BR_0420314_P2("REPBR.0420314.P2"),
-
- BR_0420312_P1("REPBR.0420312_р1-1"), BR_0420312_P2("REPBR.0420312_р1-2"), BR_0420312_P3("REPBR.0420312_р1-3"), BR_0420312_P4("REPBR.0420312_р1-4"),
- BR_0420312_P5("REPBR.0420312_р1-5"), BR_0420312_P6("REPBR.0420312_р1-6"), BR_0420312_P7("REPBR.0420312_р1-7"), BR_0420312_P8("REPBR.0420312_р3-1"),
- BR_0420312_P9("REPBR.0420312_р3-2"), BR_0420312_P10("REPBR.0420312_р3-3"),
-
- OPERATIONAL_LIABILITIES_CLAIMS("operational_liabilities_claims"),
- OPERATIONAL_MONEY_CHANGE("operational_money_change"),
- SUMMARY_LIABILITIES_CLAIMS("summary_liabilities_claims"),
- SUMMARY_L_MONEY_CHANGE("summary_lmoney_change"),
- PERIOD_LIABILITIES_CLAIMS("period_liabilities_claims"),
- PERIOD_MONEY_CHANGE("period_money_change"),
- EXECUTED_DEAL_REPORT("executed_deal_report"),
- UNFULFILLED_DEAL_REPORT("unfulfilled_deal_report"),
-
- ;
-
- private final String key;
-
- ReportId(String key) {
- this.key = key;
- }
-
- @Override
- public String getKey() {
- return key;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportWithClearingStatus.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportWithClearingStatus.java
deleted file mode 100644
index 051362750..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportWithClearingStatus.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package ru.spcex.clearing.reports.reports;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-
-import java.time.LocalDate;
-
-@Deprecated
-public abstract class ReportWithClearingStatus extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("clearingStatus")
- protected String clearingStatus;
-
- public ReportWithClearingStatus(ReportId reportId,
- String version,
- String code,
- String name,
- LocalDate startDate,
- LocalDate endDate,
- String clearingStatus) {
- super(reportId, version, code, name, startDate, endDate);
- this.clearingStatus = clearingStatus;
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportWithPeriod.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportWithPeriod.java
deleted file mode 100644
index e7e6d7376..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/ReportWithPeriod.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package ru.spcex.clearing.reports.reports;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-
-import java.time.LocalDate;
-
-/**
- * Шапка для отчётов, содержащих startDate и endDate
- */
-@Deprecated
-public abstract class ReportWithPeriod extends AbstractReport {
-
- @XStreamAsAttribute
- @XStreamAlias("startDate")
-// @XStreamConverter(value = FormattedLocalDateConverter.class, strings = {"dd.MM.yyyy"})
- protected LocalDate startDate;
-
- @XStreamAsAttribute
- @XStreamAlias("endDate")
-// @XStreamConverter(value = FormattedLocalDateConverter.class, strings = {"dd.MM.yyyy"})
- protected LocalDate endDate;
-
-
- public ReportWithPeriod(ReportId reportId,
- String version,
- String code,
- String name,
- LocalDate startDate,
- LocalDate endDate) {
- super(reportId, version, code, name);
- this.startDate = startDate;
- this.endDate = endDate;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/PeriodLiabilitiesClaimsReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/PeriodLiabilitiesClaimsReportBuilder.java
index 4d5532b07..de8e639ea 100644
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/PeriodLiabilitiesClaimsReportBuilder.java
+++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bp/PeriodLiabilitiesClaimsReportBuilder.java
@@ -5,7 +5,10 @@ import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.spcex.clearing.reports.reports.SessionIdListParams;
import ru.spcex.platform.enumeration.ReportType;
import ru.spcex.platform.imdg.api.ImdgProvider;
+import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
+import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.Collections;
@@ -29,9 +32,14 @@ public class PeriodLiabilitiesClaimsReportBuilder extends LiabilitiesClaimsRepor
@Override
protected Collection getExecutionFondsForReport(SessionIdListParams params) {
if (params.getSessionIdList() == null || params.getSessionIdList().isEmpty()) return Collections.emptyList();
- return executionFondImdg.getCollectionObjectsByPredicate(
- executionFondImdg.predicateBuilder().in("sessionId", params.getSessionIdList().toArray(new Long[0]))
+ ImdgPredicateBuilder pb = executionFondImdg.predicateBuilder();
+ // todo OR - временное решение. В изначальном плане была передача списка id сессий, но теперь нужно делать на текущий день
+ // пока не определятся, что именно им нужно - остается OR, в дальнейшем предикат будет правиться
+ ImdgPredicate predicate = pb.or(
+ pb.in("sessionId", params.getSessionIdList().toArray(new Long[0])),
+ pb.equals("clearingDate", LocalDate.now())
);
+ return executionFondImdg.getCollectionObjectsByPredicate(predicate);
}
@Override
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 6e35c0cab..d4a4b2886 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
@@ -8,6 +8,7 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.time.LocalDateTime;
import java.util.Collection;
+import java.util.stream.Collectors;
public class PeriodMoneyChangeReportBuilder extends MoneyChangeReportBuilder {
@@ -18,12 +19,16 @@ public class PeriodMoneyChangeReportBuilder extends MoneyChangeReportBuilder getRegistryForReport(PeriodParams params) {
ImdgPredicateBuilder pb = registryImdg.predicateBuilder();
- return registryImdg.getCollectionObjectsByPredicate(
+ Collection registries = registryImdg.getCollectionObjectsByPredicate(
pb.and(
pb.greatEqual("clearingDate", params.getStartDate()),
pb.lessEqual("clearingDate", params.getEndDate())
)
);
+ registries = registries.stream()
+ .filter(registry -> registry.getRegistryCode().startsWith("AM"))
+ .collect(Collectors.toList());
+ return registries;
}
@Override
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 50de7bac2..448b3e34e 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
@@ -5,7 +5,9 @@ import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.spcex.clearing.reports.reports.EmptyParams;
import ru.spcex.platform.enumeration.ReportType;
import ru.spcex.platform.imdg.api.ImdgProvider;
+import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Collection;
@@ -16,12 +18,18 @@ public class SummaryLiabilitiesClaimsReportBuilder extends LiabilitiesClaimsRepo
@Override
protected Collection getExecutionFondsForReport(EmptyParams params) {
- return executionFondImdg.getAllValues();
+ // todo Временное решение. В изначальном плане была передача списка id сессий, но теперь нужно делать на текущий день
+ // пока не определятся, что именно им нужно - остается OR, в дальнейшем предикат будет правиться
+ ImdgPredicateBuilder pb = executionFondImdg.predicateBuilder();
+ return executionFondImdg.getCollectionObjectsByPredicate(pb.equals("clearingDate", LocalDate.now()));
}
@Override
protected Collection getExecutionDepositsForReport(EmptyParams params) {
- return executionDepositImdg.getAllValues();
+ // todo Временное решение. В изначальном плане была передача списка id сессий, но теперь нужно делать на текущий день
+ // пока не определятся, что именно им нужно - остается OR, в дальнейшем предикат будет правиться
+ ImdgPredicateBuilder pb = executionDepositImdg.predicateBuilder();
+ return executionDepositImdg.getCollectionObjectsByPredicate(pb.equals("clearingDate", LocalDate.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 a636c5911..2cf12fc9f 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
@@ -4,9 +4,12 @@ import ru.clearing.classes.statics.data.registry.Registry;
import ru.spcex.clearing.reports.reports.EmptyParams;
import ru.spcex.platform.enumeration.ReportType;
import ru.spcex.platform.imdg.api.ImdgProvider;
+import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Collection;
+import java.util.stream.Collectors;
public class SummaryMoneyChangeReportBuilder extends MoneyChangeReportBuilder {
public SummaryMoneyChangeReportBuilder(ImdgProvider imdgProvider) {
@@ -15,7 +18,20 @@ public class SummaryMoneyChangeReportBuilder extends MoneyChangeReportBuilder getRegistryForReport(EmptyParams param) {
- return registryImdg.getAllValues();
+ // todo отсечение по периоду - временный код, пока не решили как передавать в GREP период.
+ // по изначальной задумке в summary отчет должны включаться все записи.
+ ImdgPredicateBuilder pb = registryImdg.predicateBuilder();
+ LocalDate now = LocalDate.now();
+ Collection registries = registryImdg.getCollectionObjectsByPredicate(
+ pb.and(
+ pb.greatEqual("clearingDate", now),
+ pb.lessEqual("clearingDate", now)
+ )
+ );
+ registries = registries.stream()
+ .filter(registry -> registry.getRegistryCode().startsWith("AM"))
+ .collect(Collectors.toList());
+ return registries;
}
@Override
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_12_2/ReportPA_B.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_12_2/ReportPA_B.java
deleted file mode 100644
index d638fbf44..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_12_2/ReportPA_B.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_12_2;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-import ru.spcex.platform.enumeration.ClearingCategory;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("netPositionBank")
-@Deprecated
-public class ReportPA_B extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("clearingMemberCategory")
- private String clearingMemberCategory;
-
- @XStreamAlias("rows")
- private List rows = new ArrayList<>();
-
- @XStreamAlias("total")
- private Total total;
-
- public ReportPA_B(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.PA_B,
- "0.0.1",
- "BT12.2",
- "Отчет по нетто-позиции участника клиринга в секции МКР (Уполномоченный банк)",
- startDate,
- endDate);
- this.clearingMemberCategory = ClearingCategory.B.getKey();
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPPA.B.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public void setTotal(Total total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- @XStreamAlias("total")
- public record Total(@XStreamAsAttribute @XStreamAlias("claimsAmount") String claimsAmount,
- @XStreamAsAttribute @XStreamAlias("liabilitiesAmount") String liabilitiesAmount,
- @XStreamAsAttribute @XStreamAlias("paymentAmount") String paymentAmount) {
- }
-
-
- @XStreamAlias("row")
- public record Info_PA_B(
- @XStreamAsAttribute @XStreamAlias("id") String id,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_fullName") String liabilitiesClaimsAssetsFullName,
- @XStreamAsAttribute @XStreamAlias("company_clearingCode") String companyClearingCode,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_settlementDate") String liabilitiesClaimsAssetsSettlementDate,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_refundDate") String liabilitiesClaimsAssetsRefundDate,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_tradingDate") String liabilitiesClaimsAssetsTradingDate,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_contract") String liabilitiesClaimsAssetsContract,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilitiesQuantity") String liabilitiesClaimsAssetsLiabilitiesQuantity,
- @XStreamAsAttribute @XStreamAlias("chargeCommission") String chargeCommission,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_ClaimsQuantity") String liabilitiesClaimsAssetsClaimsQuantity,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_refundPaymentId") String liabilitiesClaimsAssetsRefundPaymentId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_clearingStatus") String liabilitiesClaimsAssetsClearingStatus,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_comment") String liabilitiesClaimsAssetsComment
- ) {
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_12_2/ReportPA_IV.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_12_2/ReportPA_IV.java
deleted file mode 100644
index a989f5a03..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_12_2/ReportPA_IV.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_12_2;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-import ru.spcex.platform.enumeration.ClearingCategory;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("netPositionInitiator")
-@Deprecated
-public class ReportPA_IV extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("clearingMemberCategory")
- private String clearingMemberCategory;
-
- @XStreamAlias("rows")
- private List rows = new ArrayList<>();
-
- @XStreamAlias("total")
- private Total total;
-
-
- public ReportPA_IV(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.PA_IV,
- "0.0.1",
- "BT2",
- "Отчет по нетто-позиции участника клиринга в секции МКР (Вкладчик)",
- startDate,
- endDate);
- this.clearingMemberCategory = "%s,%s".formatted(
- ClearingCategory.I.getKey(),
- ClearingCategory.V.getKey()
- );
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPPA.IV.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public void setTotal(Total total) {
- this.total = total;
- }
-
- public List getRows() {
- return rows;
- }
-
- @XStreamAlias("total")
- public record Total(@XStreamAsAttribute @XStreamAlias("claimsAmount") String claimsAmount,
- @XStreamAsAttribute @XStreamAlias("liabilitiesAmount") String liabilitiesAmount,
- @XStreamAsAttribute @XStreamAlias("paymentAmount") String paymentAmount) {
- }
-
- @XStreamAlias("row")
- public record Info_PA_IV(
- @XStreamAsAttribute @XStreamAlias("id") String id,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_fullName") String liabilitiesClaimsAssetsFullName,
- @XStreamAsAttribute @XStreamAlias("company_clearingCode") String companyClearingCode,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_settlementDate") String liabilitiesClaimsAssetsSettlementDate,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_refundDate") String liabilitiesClaimsAssetsRefundDate,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_tradingDate") String liabilitiesClaimsAssetsTradingDate,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_contract") String liabilitiesClaimsAssetsContract,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilitiesQuantity") String liabilitiesClaimsAssetsLiabilitiesQuantity,
- @XStreamAsAttribute @XStreamAlias("chargeCommission") String chargeCommission,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_ClaimsQuantity") String liabilitiesClaimsAssetsClaimsQuantity,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_refundPaymentId") String liabilitiesClaimsAssetsRefundPaymentId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_clearingStatus") String liabilitiesClaimsAssetsClearingStatus,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_comment") String liabilitiesClaimsAssetsComment
- ) {
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_13/ReportDOCIN.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_13/ReportDOCIN.java
deleted file mode 100644
index c10a38e33..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_13/ReportDOCIN.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_13;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.AbstractReport;
-import ru.spcex.clearing.reports.reports.ReportId;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("incomingDocuments")
-@Deprecated
-public class ReportDOCIN extends AbstractReport {
- /**
- * Дата в формате: dd.MM.yyyy
- */
- @XStreamAsAttribute
- @XStreamAlias("date")
-// @XStreamConverter(value = FormattedLocalDateConverter.class, strings = {"dd.MM.yyyy"})
- private final LocalDate date;
-
- /**
- * Время в формате: hh:mm:ss
- */
- @XStreamAsAttribute
- @XStreamAlias("time")
-// @XStreamConverter(value = FormattedLocalTimeConverter.class, strings = {"HH:mm:ss"})
- private final LocalTime time;
-
- @XStreamAlias("rows")
- private List rows = new ArrayList<>();
-
- public ReportDOCIN(LocalDate date,
- LocalTime time) {
- super(ReportId.BT13_11,
- "0.0.1",
- "BT 13.11",
- "Журнал Входящих документов");
- this.date = date;
- this.time = time;
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "DOCIN.%s".formatted(
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- @XStreamAlias("row")
- public record Info_DOCIN(
- @XStreamAsAttribute @XStreamAlias("id") String id,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_registrationDate") String inDocumentJournalRegistrationDate,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_registrationTime") String inDocumentJournalRegistrationTime,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_registrationNumber") String inDocumentJournalRegistrationNumber,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_documentName") String inDocumentJournalDocumentName,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_sender") String inDocumentJournalSender,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_quantity") String inDocumentJournalQuantity,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_clearingCode") String inDocumentJournalClearingCode,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_courierType") String inDocumentJournalCourierType,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_emailDate") String inDocumentJournal_emailDate,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_Amount") String inDocumentJournalAmount,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_dossierNumber") String inDocumentJournalDossierNumber,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_Comment") String inDocumentJournalComment,
- @XStreamAsAttribute @XStreamAlias("inDocumentJournal_receiptDate") String inDocumentJournalReceiptDate
- ) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_13/ReportDOCOUT.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_13/ReportDOCOUT.java
deleted file mode 100644
index be4037989..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_13/ReportDOCOUT.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_13;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.AbstractReport;
-import ru.spcex.clearing.reports.reports.ReportId;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("incomingDocuments")
-@Deprecated
-public class ReportDOCOUT extends AbstractReport {
- /**
- * Дата в формате: dd.MM.yyyy
- */
- @XStreamAsAttribute
- @XStreamAlias("date")
-// @XStreamConverter(value = FormattedLocalDateConverter.class, strings = {"dd.MM.yyyy"})
- private final LocalDate date;
-
- /**
- * Время в формате: hh:mm:ss
- */
- @XStreamAsAttribute
- @XStreamAlias("time")
-// @XStreamConverter(value = FormattedLocalTimeConverter.class, strings = {"HH:mm:ss"})
- private final LocalTime time;
-
- @XStreamAlias("rows")
- private List rows = new ArrayList<>();
-
- public ReportDOCOUT(LocalDate date,
- LocalTime time) {
- super(ReportId.BT13_12,
- "0.0.1",
- "BT 13.12",
- "Журнал Исходящих документов");
- this.date = date;
- this.time = time;
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "DOCOUT.%s".formatted(
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- @XStreamAlias("row")
- public record Info_DOCOUT(
- @XStreamAsAttribute @XStreamAlias("id") String id,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_registrationDate") String outDocumentJournalRegistrationDate,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_registrationTime") String outDocumentJournalRegistrationTime,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_registrationNumber") String outDocumentJournalRegistrationNumber,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_documentName") String outDocumentJournalDocumentName,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_addressee") String outDocumentJournalAddressee,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_quantity") String outDocumentJournalQuantity,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_clearingCode") String outDocumentJournalClearingCode,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_courierType") String outDocumentJournalCourierType,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_emailDate") String outDocumentJournal_emailDate,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_Amount") String outDocumentJournalAmount,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_dossierNumber") String outDocumentJournalDossierNumber,
- @XStreamAsAttribute @XStreamAlias("outDocumentJournal_postDate") String outDocumentJournalPostDate
- ) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_16_5/ReportINACCNT.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_16_5/ReportINACCNT.java
deleted file mode 100644
index 32d9cad93..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_16_5/ReportINACCNT.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_16_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.AbstractReport;
-import ru.spcex.clearing.reports.reports.ReportId;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.time.LocalTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("accountBalanceInfo")
-@Deprecated
-public class ReportINACCNT extends AbstractReport {
- @XStreamAsAttribute
- @XStreamAlias("clearingMemberCategory")
- private final String companyClearingCode;
-
- /**
- * Дата в формате: dd.MM.yyyy
- */
- @XStreamAsAttribute
- @XStreamAlias("date")
-// @XStreamConverter(value = FormattedLocalDateConverter.class, strings = {"dd.MM.yyyy"})
- private final LocalDate date;
-
- /**
- * Время в формате: hh:mm:ss
- */
- @XStreamAsAttribute
- @XStreamAlias("time")
-// @XStreamConverter(value = FormattedLocalTimeConverter.class, strings = {"HH:mm:ss"})
- private final LocalTime time;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportINACCNT(String companyClearingCode, LocalDate date, LocalTime time) {
- super(ReportId.BT16_5,
- "0.0.1",
- "BT16.5",
- "Отчет о денежных средствах на счете внутреннего учета (клиринговом регистре) Участника клиринга");
- this.companyClearingCode = companyClearingCode;
- this.date = date;
- this.time = time;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "INACCNT.%s.%s".formatted(
- companyClearingCode,
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public List getRows() {
- return rows;
- }
-
- @XStreamAlias("row")
- public record Info_INACCNT(@XStreamAsAttribute @XStreamAlias("id") String id,
- @XStreamAsAttribute @XStreamAlias("company_fullName") String companyFullName,
- @XStreamAsAttribute @XStreamAlias("company_clearingCode") String companyClearingCode,
- @XStreamAsAttribute @XStreamAlias("accountBalance_account") String accountBalanceAccount,
- @XStreamAsAttribute @XStreamAlias("accountBalance_openAccount") String accountBalanceOpenAccount,
- @XStreamAsAttribute @XStreamAlias("accountBalance_debitAccount") String accountBalanceDebitAccount,
- @XStreamAsAttribute @XStreamAlias("accountBalance_creditAccount") String accountBalanceCreditAccount,
- @XStreamAsAttribute @XStreamAlias("accountBalance_closeAccount") String accountBalanceCloseAccount) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_1/ReportBR_0420315_P1.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_1/ReportBR_0420315_P1.java
deleted file mode 100644
index bd317a145..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_1/ReportBR_0420315_P1.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_1;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
-import ru.spcex.platform.enumeration.ClearingCategory;
-import ru.spcex.platform.enumeration.ClearingStatus;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearedLiabilities")
-@Deprecated
-public class ReportBR_0420315_P1 extends ReportWithClearingStatus {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAsAttribute
- @XStreamAlias("clearingMemberCategory")
- private String clearingMemberCategory;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420315_P1(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420315_P1,
- "0.0.1",
- "0420315",
- "Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период, часть 1",
- startDate,
- endDate,
- ClearingStatus.OK.getKey());
- this.destination = Destination.BR.getKey();
- this.clearingMemberCategory = "%s,%s".formatted(
- ClearingCategory.I.getKey(),
- ClearingCategory.V.getKey()
- );
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420315.P1.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- @XStreamAlias("row")
- public record Info_0420315_P1(@XStreamAlias("company_id") @XStreamAsAttribute String companyId,
- @XStreamAlias("company_fullName") @XStreamAsAttribute String companyFullName,
- @XStreamAlias("listing_market") @XStreamAsAttribute String listingMarket,
- @XStreamAlias("contract_qty") @XStreamAsAttribute String contractQty,
- @XStreamAlias("liabilities_amount") @XStreamAsAttribute String liabilitiesAmount) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_1/ReportBR_0420315_P2.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_1/ReportBR_0420315_P2.java
deleted file mode 100644
index dd013a1ff..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_1/ReportBR_0420315_P2.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_1;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-
-@XStreamAlias("clearedLiabilitiesTotal")
-@Deprecated
-public class ReportBR_0420315_P2 extends ReportWithPeriod {
- @XStreamAlias("rows")
- private Info_0420315_P2 rows;
-
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- public ReportBR_0420315_P2(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420315_P2,
- "0.0.1",
- "0420315",
- "Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период, часть 2",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420315.P2.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public Info_0420315_P2 getRows() {
- return rows;
- }
-
- public void setRows(Info_0420315_P2 rows) {
- this.rows = rows;
- }
-
- public record Info_0420315_P2(@XStreamAlias("contract_qty") @XStreamAsAttribute String contractQty,
- @XStreamAlias("liabilities_amount") @XStreamAsAttribute String liabilitiesAmount) {
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_2/ReportBR_0420317.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_2/ReportBR_0420317.java
deleted file mode 100644
index 167b889de..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_2/ReportBR_0420317.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_2;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingServiceStatus")
-@Deprecated
-public class ReportBR_0420317 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420317(LocalDate startDate, LocalDate endDate) {
- super(ReportId.BR_0420317,
- "0.0.1",
- "0420317",
- "Сведения о предоставлении, прекращении, приостановке," +
- " возобновлении допуска к клиринговому обслуживанию",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420317.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- @XStreamAlias("row")
- public record Info_0420317(
- @XStreamAsAttribute @XStreamAlias("company_clearingCode") String companyClearingCode,
- @XStreamAsAttribute @XStreamAlias("relation_supplierId") String relationSupplierId,
- @XStreamAsAttribute @XStreamAlias("relation_serviceId") String relationServiceId,
- @XStreamAsAttribute @XStreamAlias("relation_serviceStatus") String relationServiceStatus,
- @XStreamAsAttribute @XStreamAlias("relation_updatedAt") String relationUpdatedAt,
- @XStreamAsAttribute @XStreamAlias("company_fullName") String companyFullName,
- @XStreamAsAttribute @XStreamAlias("companySymbol_code") String companySymbolCode,
- @XStreamAsAttribute @XStreamAlias("companyInfo_countryCode") String companyInfoCountryCode,
- @XStreamAsAttribute @XStreamAlias("relation_comment") String relationComment) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_3/ReportBR_0420318.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_3/ReportBR_0420318.java
deleted file mode 100644
index 0a4d1529c..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_3/ReportBR_0420318.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_3;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
-import ru.spcex.platform.enumeration.ClearingStatus;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("unfundedLiabilities")
-@Deprecated
-public class ReportBR_0420318 extends ReportWithClearingStatus {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420318(LocalDate startDate, LocalDate endDate) {
- super(ReportId.BR_0420318,
- "0.0.1",
- "0420318",
- "Сведения о неисполненных обязательствах",
- startDate,
- endDate,
- ClearingStatus.FAIL.getKey());
- this.destination = Destination.BR.getKey();
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420318.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- @XStreamAlias("row")
- public record Info_0420318(
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_fullName") String liabilitiesClaimsAssetsFullName,
- @XStreamAsAttribute @XStreamAlias("companySymbols_code") String companySymbolsCode,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_countryCode") String liabilitiesClaimsAssetsCountryCode,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_settlementDate") String liabilitiesClaimsAssetsSettlementDate,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_Contract") String liabilitiesClaimsAssetsContract,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsMoney_currencyCode") String liabilitiesClaimsMoneyCurrencyCode,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilitiesQuantity") String liabilitiesClaimsAssetsLiabilitiesQuantity,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsMoney_name") String liabilitiesClaimsMoneyName,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilities") String liabilitiesClaimsAssetsLiabilities,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_comment") String liabilitiesClaimsAssetsComment,
- @XStreamAsAttribute @XStreamAlias("companySymbol_value") String companySymbolValue,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_fullNames") String liabilitiesClaimsAssetsFullNames) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_4/ReportBR_0420314_P1.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_4/ReportBR_0420314_P1.java
deleted file mode 100644
index 55fede8b5..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_4/ReportBR_0420314_P1.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_4;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("accountTransactionLiabilities")
-@Deprecated
-public class ReportBR_0420314_P1 extends ReportWithClearingStatus {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420314_P1(LocalDate startDate, LocalDate endDate, String clearingStatus, String destination) {
- super(ReportId.BR_0420314_P1,
- "0.0.1",
- "0420314",
- "Сведения об УК и операциях, проведенных по торговым счетам, часть 1",
- startDate,
- endDate,
- clearingStatus);
- this.destination = Destination.BR.getKey();
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420314.P1.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- @XStreamAlias("partOne")
- public record Info_0420314_P1(
- @XStreamAsAttribute @XStreamAlias("company_clearingCode") String companyClearingCode,
- @XStreamAsAttribute @XStreamAlias("profileDocument_id") String profileDocumentId,
- @XStreamAsAttribute @XStreamAlias("company_fullName") String companyFullName,
- @XStreamAsAttribute @XStreamAlias("companySymbol_code") String companySymbolCode,
- @XStreamAsAttribute @XStreamAlias("companySymbol_value") String companySymbolValue,
- @XStreamAsAttribute @XStreamAlias("clearingMemberCategory_clearingMemberCategory") String clearingMemberCategoryClearingMemberCategory,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_contract") String liabilitiesClaimsAssets_contract,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_tradingDate") String liabilitiesClaimsAssets_tradingDate,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilitiesQuantity") String liabilitiesClaimsAssetsLiabilitiesQuantity) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_4/ReportBR_0420314_P2.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_4/ReportBR_0420314_P2.java
deleted file mode 100644
index 1feed5112..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_4/ReportBR_0420314_P2.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_4;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("accountTransactionTurnover")
-@Deprecated
-public class ReportBR_0420314_P2 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAsAttribute
- @XStreamAlias("transactionStatus")
- protected String transactionStatus;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420314_P2(LocalDate startDate, LocalDate endDate, String transactionStatus, String destination) {
- super(ReportId.BR_0420314_P2,
- "0.0.1",
- "0420314",
- "Сведения об УК и операциях, проведенных по торговым счетам, часть 2",
- startDate,
- endDate);
- this.transactionStatus = transactionStatus;
- this.destination = destination;
- }
-
- public List getRows() {
- return rows;
- }
-
-
- @XStreamAlias("partTwo")
- public record Info_0420314_P2(
- @XStreamAsAttribute @XStreamAlias("company_clearingCode") String companyClearingCode,
- @XStreamAsAttribute @XStreamAlias("profileDocument_id") String profileDocumentId,
- @XStreamAsAttribute @XStreamAlias("accountBalance_openBalanceAmount") String accountBalanceOpenBalanceAmount,
- @XStreamAsAttribute @XStreamAlias("paymentInstruction_creditLeg_amount") String paymentInstructionCreditLegAmount,
- @XStreamAsAttribute @XStreamAlias("paymentInstruction_debitLeg_amount") String paymentInstructionDebitLegAmount,
- @XStreamAsAttribute @XStreamAlias("accountBalance_closeBalanceAmount") String accountBalanceCloseBalanceAmount) {
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420314.P2.%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/reports/bt/bt_17_5/ReportBR_0420312_P1.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P1.java
deleted file mode 100644
index 3e6492797..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P1.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage1")
-@Deprecated
-public class ReportBR_0420312_P1 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P1(LocalDate startDate,
- LocalDate endDate,
- String destination) {
- super(ReportId.BR_0420312_P1,
- "0.0.1",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 1",
- startDate,
- endDate);
- this.destination = destination;
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р1-1.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- @XStreamAlias("row")
- public record Info_0420312_P1(
- @XStreamAsAttribute @XStreamAlias("company_clearingCode") String companyClearingCode,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_companyId") String liabilitiesClaimsAssetsCompanyId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_fullName") String liabilitiesClaimsAssetsFullName,
- @XStreamAsAttribute @XStreamAlias("companySymbol_code") String companySymbolCode,
- @XStreamAsAttribute @XStreamAlias("companySymbol_value") String companySymbolValue,
- @XStreamAsAttribute @XStreamAlias("companyInfo_countryCode") String companyInfoCountryCode,
- @XStreamAsAttribute @XStreamAlias("clearingMemberCategory_clearingMemberCategory") String clearingMemberCategoryClearingMemberCategory) {
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P10.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P10.java
deleted file mode 100644
index 32ad2e543..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P10.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage10")
-@Deprecated
-public class ReportBR_0420312_P10 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P10(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420312_P10,
- "0.0.5",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 10",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- public List getRows() {
- return rows;
- }
-
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р3-3.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public record Info_0420312_P10(
- @XStreamAsAttribute @XStreamAlias("liabilities_amount") String liabilitiesAmount) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P2.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P2.java
deleted file mode 100644
index 6e0043854..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P2.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage2")
-@Deprecated
-public class ReportBR_0420312_P2 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P2(LocalDate startDate,
- LocalDate endDate,
- String destination) {
- super(ReportId.BR_0420312_P2,
- "0.0.1",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 2",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р1-2.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public List getRows() {
- return rows;
- }
-
- @XStreamAlias("row")
- public record Info_0420312_P2(
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_companyId") String liabilitiesClaimsAssetsCompanyId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilities") String liabilitiesClaimsAssetsLiabilities) {
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P3.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P3.java
deleted file mode 100644
index 79ec3df44..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P3.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage3")
-@Deprecated
-public class ReportBR_0420312_P3 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P3(LocalDate startDate,
- LocalDate endDate,
- String destination) {
- super(ReportId.BR_0420312_P3,
- "0.0.5",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 3",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р1-3.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public List getRows() {
- return rows;
- }
-
- @XStreamAlias("row")
- public record Info_0420312_P3(
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_companyId") String liabilitiesClaimsAssetsCompanyId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilities") String liabilitiesClaimsAssetsLiabilities) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P4.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P4.java
deleted file mode 100644
index e8350d3b7..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P4.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage4")
-@Deprecated
-public class ReportBR_0420312_P4 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P4(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420312_P4,
- "0.0.5",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 4",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р1-4.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public List getRows() {
- return rows;
- }
-
- @XStreamAlias("row")
- public record Info_0420312_P4(
- @XStreamAsAttribute @XStreamAlias("liabilities_amount") String liabilitiesAmount) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P5.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P5.java
deleted file mode 100644
index 5579eaf22..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P5.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage5")
-@Deprecated
-public class ReportBR_0420312_P5 extends ReportWithPeriod {
-
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P5(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420312_P5,
- "0.0.5",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 5",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р1-5.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public List getRows() {
- return rows;
- }
-
-
- @XStreamAlias("row")
- public record Info_0420312_P5(
- @XStreamAsAttribute @XStreamAlias("liabilities_amount") String liabilitiesAmount) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P6.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P6.java
deleted file mode 100644
index 7f8220da6..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P6.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage6")
-@Deprecated
-public class ReportBR_0420312_P6 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P6(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420312_P6,
- "0.0.5",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 6",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р1-6.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public List getRows() {
- return rows;
- }
-
- @XStreamAlias("row")
- public record Info_0420312_P6(
- @XStreamAsAttribute @XStreamAlias("liabilities_amount") String liabilitiesAmount) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P7.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P7.java
deleted file mode 100644
index fa809a07e..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P7.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage7")
-@Deprecated
-public class ReportBR_0420312_P7 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P7(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420312_P7,
- "0.0.5",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 7",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р1-7.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public List getRows() {
- return rows;
- }
-
- @XStreamAlias("row")
- public record Info_0420312_P7(
- @XStreamAsAttribute @XStreamAlias("liabilities_amount") String liabilitiesAmount) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P8.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P8.java
deleted file mode 100644
index 51d6c3345..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P8.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage8")
-@Deprecated
-public class ReportBR_0420312_P8 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P8(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420312_P8,
- "0.0.5",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 8",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р3-1.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- @XStreamAlias("row")
- public record Info_0420312_P8(
- @XStreamAsAttribute @XStreamAlias("currency_id") String currencyId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_companyId") String liabilitiesClaimsAssetsCompanyId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_fullName") String liabilitiesClaimsAssetsFullName,
- @XStreamAsAttribute @XStreamAlias("companySymbol_code") String companySymbolCode,
- @XStreamAsAttribute @XStreamAlias("companySymbol_value") String companySymbolValue,
- @XStreamAsAttribute @XStreamAlias("companyInfo_countryCode") String companyInfoCountryCode,
- @XStreamAsAttribute @XStreamAlias("clearingMemberCategory_clearingMemberCategory") String clearingMemberCategoryClearingMemberCategory
- ) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P9.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P9.java
deleted file mode 100644
index 24e899539..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt/bt_17_5/ReportBR_0420312_P9.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package ru.spcex.clearing.reports.reports.bt.bt_17_5;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
-import ru.spcex.clearing.reports.reports.Destination;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.clearing.reports.reports.ReportWithPeriod;
-
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-
-@XStreamAlias("clearingCoverage9")
-@Deprecated
-public class ReportBR_0420312_P9 extends ReportWithPeriod {
- @XStreamAsAttribute
- @XStreamAlias("destination")
- private String destination;
-
- @XStreamAlias("rows")
- private final List rows = new ArrayList<>();
-
- public ReportBR_0420312_P9(LocalDate startDate,
- LocalDate endDate) {
- super(ReportId.BR_0420312_P9,
- "0.0.5",
- "0420312",
- "Сведения о клиринговом обеспечении, часть 9",
- startDate,
- endDate);
- this.destination = Destination.BR.getKey();
- }
-
- public List getRows() {
- return rows;
- }
-
- @Override
- public String getReportName(LocalDateTime reportDateTime) {
- return "REPBR.0420312_р3-2.%s-%s.%s".formatted(
- DATE_FORMATTER.format(startDate),
- DATE_FORMATTER.format(endDate),
- DATE_TIME_FORMATTER.format(reportDateTime)
- );
- }
-
- public record Info_0420312_P9(
- @XStreamAsAttribute @XStreamAlias("currency_id") String currencyId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_companyId") String liabilitiesClaimsAssetsCompanyId,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsMoney_currencyCode") String liabilitiesClaimsMoneyCurrencyCode,
- @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilities") String liabilitiesClaimsAssetsLiabilities
- ) {
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/AbstractReportCollector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/AbstractReportCollector.java
deleted file mode 100644
index 8c79bf7df..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/AbstractReportCollector.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package ru.spcex.clearing.reports.services;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import ru.spcex.clearing.reports.reports.AbstractReport;
-import ru.spcex.clearing.reports.reports.ReportId;
-import ru.spcex.platform.utils.time.TimeUtil;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.Instant;
-import java.time.LocalDate;
-import java.time.LocalTime;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.util.Locale;
-
-@Deprecated
-public abstract class AbstractReportCollector {
- public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy");
- public static final DateTimeFormatter TIME_FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss");
- public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy'T'HH:mm:ss");
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
- abstract public Class getReportClass();
-
- public ReportId getReportId() {
- Class theClass = getReportClass();
- Constructor[] constructors = theClass.getConstructors(); // getConstructors - public, getDeclaredConstructors - all
- Constructor useConstructor = null;
- for (int i = 0; i < constructors.length; i++) {
- if (useConstructor == null || useConstructor.getParameterCount() > constructors[i].getParameterCount()) {
- useConstructor = constructors[i];
- }
- }
- Object[] cArg = new Object[useConstructor.getParameterCount()]; // all null
- try {
- T object = useConstructor.newInstance(cArg);
- ReportId theId = object.getReportId();
- return theId;
- } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
- throw new RuntimeException("Can not found ReportId from class " + theClass.getName(), e);
- }
- }
-
- protected void validateDateRange(LocalDate startDate, LocalDate endDate) throws IllegalArgumentException {
- if (startDate.isAfter(endDate)) {
- throw new IllegalArgumentException("startDate(" + startDate + ") > endDate(" + endDate + ")");
- }
- }
-
- protected Instant toInstantStartDay(LocalDate date) {
- return date.atStartOfDay(TimeUtil.zone).toInstant();
- }
- protected Instant toInstantEndDay(LocalDate date) {
- return date.plusDays(1).atStartOfDay(TimeUtil.zone).minusSeconds(1).toInstant();
- }
-
- protected String toString(String str) {
- if (str == null) return "";
- return str;
- }
-
- protected String toString(Long val) {
- if (val == null) return "";
- return val.toString();
- }
-
- /**
- * Обеспечивает точность 2 знака после запятой
- */
- protected String toString(Double val) {
- if (val == null) return "";
- return String.format(Locale.US, "%.2f", val);
- }
-
- /**
- * Обеспечивает точность 2 знака после запятой
- */
- protected String toString(BigDecimal val) {
- if (val == null) return "";
- return val.setScale(2, RoundingMode.HALF_UP).toString();
- }
-
- protected String toString(Instant val) {
- if (val == null) return "";
- return DATE_TIME_FORMATTER.format(val.atZone(ZoneId.systemDefault()));
- }
-
- protected String toString(LocalDate date) {
- if (date == null) return "";
- return DATE_FORMATTER.format(date);
- }
-
- protected String toString(LocalTime date) {
- if (date == null) return "";
- return TIME_FORMATTER.format(date);
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/QCommandExecutor.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/QCommandExecutor.java
deleted file mode 100644
index 95436a786..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/QCommandExecutor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package ru.spcex.clearing.reports.services;
-
-import org.apache.commons.lang3.StringUtils;
-import org.apache.kafka.clients.consumer.Consumer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.context.annotation.Lazy;
-import org.springframework.stereotype.Service;
-import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
-import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
-import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
-import ru.spcex.clearing.reports.config.element.ReportsServiceSettings;
-import ru.spcex.platform.enumeration.Task;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-import ru.spcex.platform.utils.log.ExceptionUtils;
-
-import java.io.IOException;
-import java.time.LocalDate;
-
-import static ru.spcex.clearing.reports.services.ReportsServiceCommand.QUEUE_RUN_DAILY_REPORT_COMMAND;
-import static ru.spcex.clearing.reports.services.ReportsServiceCommand.QUEUE_RUN_REPORT_COMMAND;
-
-@Service
-@Lazy // требуется получать экземпляр сервиса явно, когда надо его запустить
-public class QCommandExecutor extends QueueConsumer implements InitializingBean {
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- ReportsServiceCommand reportsServiceCommand;
- ReportsServiceSettings config;
-
- public QCommandExecutor(Consumer kafkaQueue, ImdgProvider imdgProvider,
- ReportsServiceCommand reportsServiceCommand,
- ReportsServiceSettings config) {
- super(kafkaQueue);
- this.reportsServiceCommand = reportsServiceCommand;
- this.config = config;
- }
-
- @Override
- public void afterPropertiesSet() {
- log.info("Init queue listener {}", getClass().getSimpleName());
- callback(LauncherCommandRequest.class)
- .setConsumer(this::newReportWithPeriod)
- .forDestination(Task.createReport_GREP.topic(), callbacks::put);
- init();
- }
-
- private void newReportWithPeriod(BaseRequest reportRequest) {
- LauncherCommandRequest request = reportRequest.getRequestPayload();
- log.info("newReportWithPeriod request received: {}", request);
- final String taskName = QUEUE_RUN_REPORT_COMMAND; //request.getTaskName();
-
-// if (StringUtils.isBlank(request.getReportId()))
-// throw new IllegalStateException("ReportID is empty");
-// LocalDate startDate = request.getStartDate();
-// LocalDate endDate = request.getEndDate();
- LocalDate startDate = null;
- LocalDate endDate = null;
- if (startDate == null && endDate == null) {
- endDate = LocalDate.now();
- startDate = LocalDate.of(endDate.getYear(), endDate.getMonth(), 1);
- log.debug("No date present, use default: {} - {}", startDate, endDate);
- }
- if (startDate == null || endDate == null)
- throw new IllegalStateException("StartDate or EndDate is null");
- if (startDate.isAfter(endDate))
- throw new IllegalStateException("StartDate > EndDate");
-
- try {
- if (QUEUE_RUN_REPORT_COMMAND.equals(taskName)
- || QUEUE_RUN_DAILY_REPORT_COMMAND.equals(taskName)) {
- log.info("Generate all report by command {}", taskName);
- reportsServiceCommand.generateReportAll(taskName, startDate, endDate);
- } else {
- log.info("Generate single report by command {}", taskName);
- reportsServiceCommand.generateReportById(taskName, startDate, endDate);
- }
-
- log.debug("successfully processed");
- } catch (IOException e) {
- log.error("Error create report {}: {}", taskName, ExceptionUtils.getStackTrace(e));
- }
- }
-
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportForClearingCodeCollector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportForClearingCodeCollector.java
deleted file mode 100644
index 6926ce635..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportForClearingCodeCollector.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package ru.spcex.clearing.reports.services;
-
-import ru.spcex.clearing.reports.reports.AbstractReport;
-
-public abstract class ReportForClearingCodeCollector extends AbstractReportCollector {
- /**
- * Подготовка отчета по clearingCode
- */
- abstract public T collectReportForClearingCode(String clearingCode);
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportService.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportService.java
index 2718a3053..3dac2987a 100644
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportService.java
+++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportService.java
@@ -13,6 +13,7 @@ import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportRequestWithPeriod;
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportRequestWithSessionId;
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportRequestWithSessionIdList;
+import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
import ru.spcex.clearing.reports.config.element.ReportsServiceSettings;
@@ -20,11 +21,14 @@ import ru.spcex.clearing.reports.reports.*;
import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.enumeration.ReportType;
+import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.utils.enumeration.IEnumKey;
import ru.spcex.platform.utils.validation.IValidator;
import java.io.File;
+import java.time.LocalDate;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
@@ -38,6 +42,7 @@ public class ReportService extends QueueConsumer implements InitializingBean {
private final Function reportRequestWithSessionIdValidator;
private final Function reportRequestWithSessionIdListValidator;
private final Function reportRequestWithPeriodValidator;
+ private final Function reportRequestGREPValidator;
private final Map>> reportBuildersWithoutParams;
private final Map>> reportBuildersWithSessionIdParam;
private final Map>> reportBuildersWithSessionIdListParam;
@@ -65,7 +70,9 @@ public class ReportService extends QueueConsumer implements InitializingBean {
@Qualifier("reportRequestWithSessionIdListValidator")
Function reportRequestWithSessionIdListValidator,
@Qualifier("reportRequestWithPeriodValidator")
- Function reportRequestWithPeriodValidator) {
+ Function reportRequestWithPeriodValidator,
+ @Qualifier("reportRequestGREP")
+ Function reportRequestGREPValidator) {
super(kafkaQueue, kafkaResponseQueue);
this.userRoleVerification = userRoleVerification;
this.validationHelper = validationHelper;
@@ -77,6 +84,7 @@ public class ReportService extends QueueConsumer implements InitializingBean {
this.reportBuildersWithSessionIdParam = reportBuildersWithSessionIdParam;
this.reportBuildersWithSessionIdListParam = reportBuildersWithSessionIdListParam;
this.reportBuildersWithPeriodParams = reportBuildersWithPeriodParams;
+ this.reportRequestGREPValidator = reportRequestGREPValidator;
this.outFolder = new File(reportsServiceSettings.getReportModuleOut());
assert outFolder.isDirectory();
}
@@ -95,6 +103,9 @@ public class ReportService extends QueueConsumer implements InitializingBean {
callback(ReportRequestWithPeriod.class)
.setFunction(this::createReportForPeriod)
.forDestination(Consts.CREATE_REPORT_FOR_PERIOD, callbacks::put);
+ callback(LauncherCommandRequest.class)
+ .setFunction(this::createReportForGREP)
+ .forDestination(Task.createReport_GREP.topic(), callbacks::put);
init();
}
@@ -233,5 +244,93 @@ public class ReportService extends QueueConsumer implements InitializingBean {
return null;
}
+ public RequestInfoUpdate createReportForGREP(BaseRequest userRequest) {
+ log.debug("ReportRequestWithPeriod received");
+ RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
+ if (requestInfoUpdate != null) return null;
+
+ requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, reportRequestGREPValidator);
+ if (requestInfoUpdate != null) return null;
+
+ Long sessionId = userRequest.getRequestPayload().getSessionId();
+
+ int cntErrors = 0;
+ List outFilenames = new ArrayList<>();
+
+ Collection>> buildersWithoutParams = reportBuildersWithoutParams.values();
+ for (List> builderList : buildersWithoutParams) {
+ for (CSVReportBuilder builder : builderList) {
+ File outFile = builder.createReport(new EmptyParams(), outFolder);
+ if (outFile == null) {
+ log.warn("Something wrong, report type: {}", builder.getReportType().getKey());
+ cntErrors++;
+ continue;
+ }
+ outFilenames.add(outFile.getAbsolutePath());
+ }
+ }
+
+ if (sessionId != null) {
+
+ Collection>> buildersWithSessionIdParam = reportBuildersWithSessionIdParam.values();
+ for (List> builderList : buildersWithSessionIdParam) {
+ for (CSVReportBuilder builder : builderList) {
+ if (
+ builder.getReportType() == ReportType.OPERATIONAL_MONEY_CHANGE ||
+ builder.getReportType() == ReportType.OPERATIONAL_LIABILITIES_CLAIMS
+ ) {
+ continue;
+ }
+ SessionIdParam sessionIdParam = new SessionIdParam();
+ sessionIdParam.setSessionId(sessionId);
+ File outFile = builder.createReport(sessionIdParam, outFolder);
+ if (outFile == null) {
+ log.warn("Something wrong, report type: {}", builder.getReportType().getKey());
+ cntErrors++;
+ continue;
+ }
+ outFilenames.add(outFile.getAbsolutePath());
+ }
+ }
+
+ Collection>> buildersWithSessionIdListParam = reportBuildersWithSessionIdListParam.values();
+ for (List> builderList : buildersWithSessionIdListParam) {
+ for (CSVReportBuilder builder : builderList) {
+ SessionIdListParams sessionIdListParams = new SessionIdListParams();
+ sessionIdListParams.setSessionIdList(List.of(sessionId));
+ File outFile = builder.createReport(sessionIdListParams, outFolder);
+ if (outFile == null) {
+ log.warn("Something wrong, report type: {}", builder.getReportType().getKey());
+ cntErrors++;
+ continue;
+ }
+ outFilenames.add(outFile.getAbsolutePath());
+ }
+ }
+
+ }
+
+ LocalDate now = LocalDate.now();
+ Collection>> buildersWithPeriodParams = reportBuildersWithPeriodParams.values();
+ for (List> builderList : buildersWithPeriodParams) {
+ for (CSVReportBuilder builder : builderList) {
+ PeriodParams periodParams = new PeriodParams();
+ periodParams.setStartDate(now);
+ periodParams.setEndDate(now);
+ File outFile = builder.createReport(periodParams, outFolder);
+ if (outFile == null) {
+ log.warn("Something wrong, report type: {}", builder.getReportType().getKey());
+ cntErrors++;
+ continue;
+ }
+ outFilenames.add(outFile.getAbsolutePath());
+ }
+ }
+
+ if (cntErrors == 0) log.debug("All reports successfully created. Output files: {}", String.join(", ", outFilenames));
+ else log.debug("Some reports ({}) create failed. Output files: {}", cntErrors, String.join(", ", outFilenames));
+
+ return null;
+ }
}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportWithPeriodCollector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportWithPeriodCollector.java
deleted file mode 100644
index 607d35ede..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportWithPeriodCollector.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package ru.spcex.clearing.reports.services;
-
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.spcex.clearing.reports.reports.AbstractReport;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
-import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
-
-import java.time.Instant;
-import java.time.LocalDate;
-import java.util.Collection;
-
-@Deprecated
-public abstract class ReportWithPeriodCollector extends AbstractReportCollector {
- /**
- * Подготовка отчета на период startDate..endDate
- */
- abstract public T collectReportWithPeriod(LocalDate startDate, LocalDate endDate);
-
- protected Collection searchLiabilitiesClaimsAssets(Imdg liabilitiesClaimsAssetsImdg,
- LocalDate startDate,
- LocalDate endDate) {
- ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
-// Instant dateTimeLo = toInstantStartDay(startDate);
-// Instant dateTimeHi = toInstantEndDay(endDate);
- ImdgPredicate p = pb.and(pb.greatEqual("refundDate", startDate), pb.lessEqual("refundDate", endDate));
- Collection liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
- return liabilities;
- }
-
- protected Collection searchLiabilitiesClaimsAssets(Imdg liabilitiesClaimsAssetsImdg,
- LocalDate startDate, LocalDate endDate,
- Long allowClearingStatusId) {
- ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
-// Instant dateTimeLo = toInstantStartDay(startDate);
-// Instant dateTimeHi = toInstantEndDay(endDate);
- ImdgPredicate p = pb.and(pb.greatEqual("refundDate", startDate), pb.lessEqual("refundDate", endDate),
- pb.equals("clearingStatus", allowClearingStatusId));
- Collection liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
- return liabilities;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsService.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsService.java
deleted file mode 100644
index 1339fcdb2..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsService.java
+++ /dev/null
@@ -1,320 +0,0 @@
-//package ru.spcex.clearing.reports.services;
-//
-//import com.thoughtworks.xstream.XStream;
-//import com.thoughtworks.xstream.io.naming.NoNameCoder;
-//import com.thoughtworks.xstream.io.xml.XppDriver;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_BT2_B;
-//import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_BT2_IV;
-//import ru.spcex.clearing.reports.reports.bt_13.ReportDOCIN;
-////import ru.spcex.clearing.reports.reports.bt_13.Report_BT13_12;
-//import ru.spcex.clearing.reports.reports.bt_16_5.Report_BT16_5;
-//import ru.spcex.clearing.reports.reports.bt_17_1.ReportBR_0420315_P1;
-//import ru.spcex.clearing.reports.reports.bt_17_1.ReportBR_0420315_P2;
-//import ru.spcex.clearing.reports.reports.bt_17_2.ReportBR_0420317;
-//import ru.spcex.clearing.reports.reports.bt_17_3.ReportBR_0420318;
-//import ru.spcex.clearing.reports.reports.bt_17_4.ReportBR_0420314_P1;
-//import ru.spcex.clearing.reports.reports.bt_17_4.ReportBR_0420314_P2;
-//import ru.spcex.clearing.reports.reports.bt_17_5.*;
-//
-//import java.time.LocalDate;
-//import java.time.LocalTime;
-//
-//@Deprecated
-//public class ReportsService {
-// private final Logger log = LoggerFactory.getLogger(getClass());
-//
-// public void writeXML() {
-// XStream xStream = new XStream(new XppDriver(new NoNameCoder()));
-//
-// xStream.processAnnotations(ReportBR_0420315_P1.class);
-// xStream.processAnnotations(ReportBR_0420315_P2.class);
-// xStream.processAnnotations(ReportBR_0420317.class);
-// xStream.processAnnotations(ReportBR_0420318.class);
-// xStream.processAnnotations(ReportBR_0420314_P1.class);
-// xStream.processAnnotations(ReportBR_0420314_P2.class);
-// xStream.processAnnotations(ReportBR_0420312_P1.class);
-// xStream.processAnnotations(ReportBR_0420312_P2.class);
-// xStream.processAnnotations(ReportBR_0420312_P3.class);
-// xStream.processAnnotations(ReportBR_0420312_P4.class);
-// xStream.processAnnotations(ReportBR_0420312_P5.class);
-// xStream.processAnnotations(ReportBR_0420312_P6.class);
-// xStream.processAnnotations(ReportBR_0420312_P7.class);
-// xStream.processAnnotations(ReportBR_0420312_P8.class);
-// xStream.processAnnotations(ReportBR_0420312_P9.class);
-// xStream.processAnnotations(ReportBR_0420312_P10.class);
-// xStream.processAnnotations(ReportPA_BT2_IV.class);
-// xStream.processAnnotations(ReportPA_BT2_B.class);
-// xStream.processAnnotations(Report_BT16_5.class);
-// xStream.processAnnotations(ReportDOCIN.class);
-//// xStream.processAnnotations(Report_BT13_12.class);
-//
-//
-//
-// /* ========= БТ 17.1 ========== */
-// // todo see ReportDataCollector
-// ReportBR_0420315_P1 reportBR_0420315_p1 = new ReportBR_0420315_P1(LocalDate.now(),
-// LocalDate.now());
-// ReportBR_0420315_P1.Info_0420315_P1 info_0420315_p1 = new ReportBR_0420315_P1.Info_0420315_P1("companyId",
-// "companyFullName",
-// "listingMarket",
-// "contractorQty",
-// "liabilitiesAmount");
-// reportBR_0420315_p1.getRows().add(info_0420315_p1);
-// log.info("ReportBR_0420315_P1:\n{}\n", xStream.toXML(reportBR_0420315_p1));
-//
-//
-//
-//// ReportBR_0420315_P2 reportBR_0420315_p2 = new ReportBR_0420315_P2(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "contractorQty",
-//// "liabilitiesAmount");
-//// log.info("ReportBR_0420315_P2:\n{}\n", xStream.toXML(reportBR_0420315_p2));
-//
-//
-//
-// /* ========= БТ 17.2 ========== */
-// ReportBR_0420317 reportBR_0420317 = new ReportBR_0420317(LocalDate.now(), LocalDate.now());
-// ReportBR_0420317.Info_0420317 info_0420317 = new ReportBR_0420317.Info_0420317("companyClearingCode",
-// "relationSupplierId",
-// "relationServiceId",
-// "relationServiceStatus",
-// "relationUpdatedAt",
-// "companyFullName",
-// "companySymbolCode",
-// "companyInfoCountryCode",
-// "relationComment");
-// reportBR_0420317.getRows().add(info_0420317);
-// log.info("ReportBR_0420317:\n{}\n", xStream.toXML(reportBR_0420317));
-//
-//
-//
-// /* ========= БТ 17.3 ========== */
-// ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(LocalDate.now(), LocalDate.now());
-// ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318(
-// "liabilitiesClaimsAssetsFullName",
-// "companySymbolsCode",
-// "liabilitiesClaimsAssetsCountryCode",
-// "liabilitiesClaimsAssetsSettlementDate",
-// "liabilitiesClaimsAssetsAccountType",
-// "liabilitiesClaimsAssetsContract",
-// "liabilitiesClaimsMoneyCurrencyCode",
-// "liabilitiesAmountAmount",
-// "liabilitiesClaimsMoneyName",
-// "liabilitiesClaimsAssetsLiabilities",
-// "liabilitiesClaimsAssetsComment",
-// "companySymbolValue",
-// "liabilitiesClaimsAssetsFullNames");
-// reportBR_0420318.getRows().add(info_0420318);
-// log.info("ReportBR_0420318:\n{}\n", xStream.toXML(reportBR_0420318));
-//
-//
-//
-// /* ========= БТ 17.4 ========== */
-// ReportBR_0420314_P1 reportBR_0420314P1 = new ReportBR_0420314_P1(LocalDate.now(), LocalDate.now(), "clearingStatus", "BR");
-// ReportBR_0420314_P1.Info_0420314_P1 info_0420314P1 = new ReportBR_0420314_P1.Info_0420314_P1("companyClearingCode",
-// "paymentInstructionSenderId",
-// "profileDocumentId",
-// "companyFullName",
-// "companySymbolCode",
-// "companySymbolValue",
-// "clearingMemberCategoryClearingMemberCategory",
-//// LocalDate.of(2022,11,10),
-// "liabilitiesClaimsAssetsLiabilitiesQuantity"
-// );
-// reportBR_0420314P1.getRows().add(info_0420314P1);
-// log.info("ReportBR_0420314_P1:\n{}\n", xStream.toXML(reportBR_0420314P1));
-//
-//
-//
-// ReportBR_0420314_P2 reportBR_0420314P2 = new ReportBR_0420314_P2(LocalDate.now(), LocalDate.now(), "transactionStatus", "BR");
-// ReportBR_0420314_P2.Info_0420314_P2 info_0420314P2 = new ReportBR_0420314_P2.Info_0420314_P2("companyClearingCode",
-// "profileDocumentId",
-// "accountBalanceOpenBalanceAmt",
-// "paymentInstructionCreditLegAmount",
-// "paymentInstructionDebitLegAmount",
-// "accountBalanceCloseBalanceAmount"
-// );
-// reportBR_0420314P2.getRows().add(info_0420314P2);
-// log.info("ReportBR_0420314_P2:\n{}\n", xStream.toXML(reportBR_0420314P2));
-//
-//
-////
-//// /* ========= БТ 17.5 ========== */
-//// ReportBR_0420312_P1 reportBR_0420312P1 = new ReportBR_0420312_P1(LocalDate.now(),
-//// LocalDate.now(),
-//// "companyClearingCode",
-//// "BR",
-//// "liabilitesClaimsAssetsCompanyId",
-//// "liabilitesClaimsAssetsFullName",
-//// "companySymbolCode",
-//// "companySymbolValue",
-//// "companyInfoCountryCode",
-//// "clearingMemberCategory");
-//// log.info("ReportBR_0420312_P1:\n{}\n", xStream.toXML(reportBR_0420312P1));
-////
-//// ReportBR_0420312_P2 reportBR_0420312P2 = new ReportBR_0420312_P2(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "liabilitiesClaimsAssetsCompanyId",
-//// "liabilitiesClaimsAssetsLiabilities");
-//// log.info("ReportBR_0420312_P2:\n{}\n", xStream.toXML(reportBR_0420312P2));
-////
-//// ReportBR_0420312_P3 reportBR_0420312P3 = new ReportBR_0420312_P3(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "liabilitiesClaimsAssetsCompanyId",
-//// "liabilitiesClaimsAssetsLiabilities");
-//// log.info("ReportBR_0420312_P3:\n{}\n", xStream.toXML(reportBR_0420312P3));
-////
-//// ReportBR_0420312_P4 reportBR_0420312P4 = new ReportBR_0420312_P4(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "liabilitiesAmount");
-//// log.info("ReportBR_0420312_P4:\n{}\n", xStream.toXML(reportBR_0420312P4));
-////
-//// ReportBR_0420312_P5 reportBR_0420312P5 = new ReportBR_0420312_P5(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "liabilitiesAmount");
-//// log.info("ReportBR_0420312_P5:\n{}\n", xStream.toXML(reportBR_0420312P5));
-////
-//// ReportBR_0420312_P6 reportBR_0420312P6 = new ReportBR_0420312_P6(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "liabilitiesAmount");
-//// log.info("ReportBR_0420312_P6:\n{}\n", xStream.toXML(reportBR_0420312P6));
-////
-//// ReportBR_0420312_P7 reportBR_0420312P7 = new ReportBR_0420312_P7(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "liabilitiesAmount");
-//// log.info("ReportBR_0420312_P7:\n{}\n", xStream.toXML(reportBR_0420312P7));
-////
-//// ReportBR_0420312_P8 reportBR_0420312P8 = new ReportBR_0420312_P8(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "currencyId",
-//// "liabilitiesClaimsAssetsCompanyId",
-//// "liabilitiesClaimsAssetsFullName",
-//// "companySymbolCode",
-//// "companySymbolValue",
-//// "companyInfoCountryCode",
-//// "clearingMemberCategory");
-//// log.info("ReportBR_0420312_P8:\n{}\n", xStream.toXML(reportBR_0420312P8));
-////
-//// ReportBR_0420312_P9 reportBR_0420312P9 = new ReportBR_0420312_P9(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "currencyId",
-//// "liabilitiesClaimsAssetsCompanyId",
-//// "liabilitiesClaimsMoneyCurrencyCode",
-//// "liabilitiesClaimsAssetsLiabilities");
-//// log.info("ReportBR_0420312_P9:\n{}\n", xStream.toXML(reportBR_0420312P9));
-////
-//// ReportBR_0420312_P10 reportBR_0420312P10 = new ReportBR_0420312_P10(LocalDate.now(),
-//// LocalDate.now(),
-//// "BR",
-//// "liabilitiesAmount");
-//// log.info("ReportBR_0420312_P10:\n{}\n", xStream.toXML(reportBR_0420312P10));
-////
-//
-//
-// /* ========= БТ 12.2 ========== */
-//// ReportPA_BT2_IV reportPA_bt2_iv = new ReportPA_BT2_IV(LocalDate.now(),
-//// LocalDate.now(),
-//// "clearingMemberCategory",
-//// "liabilitiesClaimsAssetsFullName",
-//// "companyClearingCode",
-//// "liabilitiesClaimsAssetsSettlementDate",
-//// "liabilitiesClaimsAssetsRefundDate",
-//// "liabilitiesClaimsAssetsTradingDate",
-//// "liabilitiesClaimsAssetsContract",
-//// "liabilitiesClaimsAssetsLiabilitiesQuantity",
-//// "chargeCommission",
-//// "liabilitiesClaimsAssetsClaimsQuantity",
-//// "liabilitiesClaimsAssetsRefundPaymentId",
-//// "liabilitiesClaimsAssetsClearingStatus",
-//// "liabilitiesClaimsAssetsComment",
-//// "claimsAmount",
-//// "liabilitiesAmount",
-//// "paymentAmount");
-//// log.info("ReportPA_BT2_IV:\n{}\n", xStream.toXML(reportPA_bt2_iv));
-//
-//// ReportPA_BT2_B reportPA_bt2_b = new ReportPA_BT2_B(LocalDate.now(),
-//// LocalDate.now(),
-//// "clearingMemberCategory",
-//// "liabilitiesClaimsAssetsFullName",
-//// "companyClearingCode",
-//// "liabilitiesClaimsAssetsSettlementDate",
-//// "liabilitiesClaimsAssetsRefundDate",
-//// "liabilitiesClaimsAssetsTradingDate",
-//// "liabilitiesClaimsAssetsContract",
-//// "liabilitiesClaimsAssetsLiabilitiesQuantity",
-//// "chargeCommission",
-//// "liabilitiesClaimsAssetsClaimsQuantity",
-//// "liabilitiesClaimsAssetsRefundPaymentId",
-//// "liabilitiesClaimsAssetsClearingStatus",
-//// "liabilitiesClaimsAssetsComment",
-//// "claimsAmount",
-//// "liabilitiesAmount",
-//// "paymentAmount");
-//// log.info("ReportPA_BT2_B:\n{}\n", xStream.toXML(reportPA_bt2_b));
-//
-//
-//
-// /* ========= БТ 13 ========== */
-//// ReportDOCIN report_bt13_11 = new ReportDOCIN(LocalDate.now(),
-//// LocalTime.now(),
-//// "inDocumentJournalRegistrationDate",
-//// "inDocumentJournalRegistrationTime",
-//// "inDocumentJournalRegistrationNumber",
-//// "inDocumentJournalDocumentName" ,
-//// "inDocumentJournalSender",
-//// "inDocumentJournalQuality",
-//// "inDocumentJournalClearingCode",
-//// "inDocumentJournalCourierType",
-//// "inDocumentJournalEmailDate",
-//// "inDocumentJournalAmount",
-//// "inDocumentJournalDossierNumber",
-//// "inDocumentJournalComment",
-//// "inDocumentJournalReceiptDate");
-//// log.info("Report_BT13_11:\n{}\n", xStream.toXML(report_bt13_11));
-//
-// Report_BT13_12 report_bt13_12 = new Report_BT13_12(LocalDate.now(),
-// LocalTime.now(),
-// "outDocumentJournalRegistrationDate",
-// "outDocumentJournalRegistrationTime",
-// "outDocumentJournalRegistrationNumber",
-// "outDocumentJournalDocumentName" ,
-// "outDocumentJournalAddress",
-// "outDocumentJournalQuality",
-// "outDocumentJournalClearingCode",
-// "outDocumentJournalCourierType",
-// "outDocumentJournalEmailDate",
-// "outDocumentJournalAmount",
-// "outDocumentJournalDossierNumber",
-// "outDocumentJournalPostDate");
-// log.info("Report_BT13_12:\n{}\n", xStream.toXML(report_bt13_12));
-//
-//
-//
-// /* ========= БТ 16.5 ========== */
-// Report_BT16_5 report_bt16_5 = new Report_BT16_5(LocalDate.now(),
-// LocalTime.now(),
-// "clearingHouse",
-// "companyClearingCode",
-// "companyFullName",
-// "accountBalanceAccount",
-// "accountBalanceOpenAmount",
-// "accountBalanceDebitAmount",
-// "accountBalanceCreditAmount",
-// "accountBalanceCloseAmount");
-// log.info("Report_BT16_5:\n{}\n", xStream.toXML(report_bt16_5));
-//
-//
-//
-// }
-//}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java
deleted file mode 100644
index a9244df38..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/ReportsServiceCommand.java
+++ /dev/null
@@ -1,270 +0,0 @@
-package ru.spcex.clearing.reports.services;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.lang.Nullable;
-import org.springframework.stereotype.Service;
-import ru.clearing.classes.statics.data.misc.Session;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
-import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportRequest;
-import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportRequestWithPeriod;
-import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportRequestWithSessionId;
-import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportRequestWithSessionIdList;
-import ru.spcex.clearing.reports.config.ReportBuildersConfig;
-import ru.spcex.clearing.reports.config.element.ReportsServiceSettings;
-import ru.spcex.clearing.reports.reports.*;
-import ru.spcex.clearing.reports.services.builders.XMLReportBuilder;
-import ru.spcex.platform.enumeration.ReportType;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-import ru.spcex.platform.utils.enumeration.IEnumKey;
-import ru.spcex.platform.utils.log.ExceptionUtils;
-
-import java.io.File;
-import java.io.IOException;
-import java.time.LocalDate;
-import java.util.*;
-
-/**
- * Исполняет создание отчётов.
- *
- * @see QCommandExecutor
- */
-@Service
-public class ReportsServiceCommand implements InitializingBean {
- public static final String QUEUE_RUN_REPORT_COMMAND = "GREP"; // см. Task.createReport
- public static final String QUEUE_RUN_DAILY_REPORT_COMMAND = QUEUE_RUN_REPORT_COMMAND; // дневные тоже по команде GREP запускать с остальными.
-
- private final Logger log = LoggerFactory.getLogger(getClass());
-
- protected ReportsServiceSettings settings;
- protected ImdgProvider imdg;
-
- @Deprecated
- protected List allPeriodReports; // Spring services
- @Deprecated
- protected List allSimpleReports;
- @Deprecated
- private final Map collectorForReportById;
-
- // new format report:
- ReportService newReportService; // by ReportBuildersConfig
- Map>> reportBuildersWithoutParams;
- Map>> reportBuildersWithSessionIdParam;
- Map>> reportBuildersWithSessionIdListParam;
- Map>> reportBuildersWithPeriodParams;
-
-
- @Autowired
- public ReportsServiceCommand(ImdgProvider imdg,
- List allPeriodReports,
- List allSimpleReports,
- @Qualifier("reportBuildersWithoutParams") Map>> reportBuildersWithoutParams,
- @Qualifier("reportBuildersWithSessionIdParam") Map>> reportBuildersWithSessionIdParam,
- @Qualifier("reportBuildersWithSessionIdListParam") Map>> reportBuildersWithSessionIdListParam,
- @Qualifier("reportBuildersWithPeriodParams") Map>> reportBuildersWithPeriodParams,
-
- ReportService reportService,
- ReportsServiceSettings settings) {
- this.imdg = imdg;
- this.settings = settings;
-
- this.newReportService = reportService;
- this.reportBuildersWithoutParams = reportBuildersWithoutParams;
- this.reportBuildersWithSessionIdParam = reportBuildersWithSessionIdParam;
- this.reportBuildersWithSessionIdListParam = reportBuildersWithSessionIdListParam;
- this.reportBuildersWithPeriodParams = reportBuildersWithPeriodParams;
-
- this.allSimpleReports = allSimpleReports;
- this.allPeriodReports = allPeriodReports; // allReports = context.getBeansOfType(ReportDataCollector.class);
- this.collectorForReportById = new HashMap<>();
- for (ReportWithPeriodCollector> collector : allPeriodReports) {
- ReportId rId = collector.getReportId();
- collectorForReportById.put(rId, collector);
- String idStr = rId == null ? null : rId.getKey();
- log.info("Register collector service {} (period report id \"{}\")for generate {}", collector, idStr, collector.getReportClass().getSimpleName());
- }
- assert allPeriodReports.size() == collectorForReportById.size();
- for (SimpleReportCollector> collector : allSimpleReports) {
- ReportId rId = collector.getReportId();
- collectorForReportById.put(rId, collector);
- String idStr = rId == null ? null : rId.getKey();
- log.info("Register collector service {} (simple report id \"{}\")for generate {}", collector, idStr, collector.getReportClass().getSimpleName());
- }
-
- }
-
- @Override
- public void afterPropertiesSet() {
- log.info("Wait IMDG...");
- imdg.waitAvailable();
- log.info("Report generator ready.");
- }
-
- public void generateReportAll(@Nullable String reportGroup, LocalDate startDate, LocalDate endDate) throws IOException {
- // new reports:
- {
- HashSet reported=new HashSet<>();
- for (ReportType rType : reportBuildersWithoutParams.keySet()) {
- if (reported.contains(rType)) continue;
- reported.add(rType);
- log.info("Make report {}", rType);
- try {
- BaseRequest request = new BaseRequest<>();
- request.setRequestPayload(new ReportRequest());
- request.getRequestPayload().setReportId(rType.getKey());
- newReportService.createReport(request);
- } catch (Exception e) {
- log.error("Error make report {}: {}", rType, ExceptionUtils.getStackTrace(e));
- }
- }
- Imdg sessionImdg = imdg.getImdg(IMDGDistributedNames.Map_Session, Session.class);
- Long sessionId = sessionImdg.aggregateLongMax("id", sessionImdg.predicateBuilder().greatEqual("id", 0L)); // max, always true
- log.info("For all report sessionId={}", sessionId);
- for (ReportType rType : reportBuildersWithSessionIdParam.keySet()) {
- if (reported.contains(rType)) continue;
- reported.add(rType);
- log.info("Make report {}, session {}", rType, sessionId);
- try {
- BaseRequest request = new BaseRequest<>();
- request.setRequestPayload(new ReportRequestWithSessionId());
- request.getRequestPayload().setReportId(rType.getKey());
- request.getRequestPayload().setSessionId(sessionId);
- newReportService.createReportForSessionId(request);
- } catch (Exception e) {
- log.error("Error make report {}: {}", rType, ExceptionUtils.getStackTrace(e));
- }
- }
- for (ReportType rType : reportBuildersWithSessionIdListParam.keySet()) {
- if (reported.contains(rType)) continue;
- reported.add(rType);
- log.info("Make report {}, sessions {}", rType, sessionId);
- try {
- BaseRequest request = new BaseRequest<>();
- request.setRequestPayload(new ReportRequestWithSessionIdList());
- request.getRequestPayload().setReportId(rType.getKey());
- request.getRequestPayload().setSessionIdList(Arrays.asList(sessionId));
- newReportService.createReportForSessionIdList(request);
- } catch (Exception e) {
- log.error("Error make report {}: {}", rType, ExceptionUtils.getStackTrace(e));
- }
- }
- for (ReportType rType : reportBuildersWithPeriodParams.keySet()) {
- if (reported.contains(rType)) continue;
- reported.add(rType);
- LocalDate d1=LocalDate.now().minusDays(1);
- LocalDate d2=LocalDate.now().minusDays(1);
- log.info("Make report {} period {} - {}", rType, d1, d2);
- try {
- BaseRequest request = new BaseRequest<>();
- request.setRequestPayload(new ReportRequestWithPeriod());
- request.getRequestPayload().setReportId(rType.getKey());
- request.getRequestPayload().setStartDate(d1);
- request.getRequestPayload().setStartDate(d2);
- newReportService.createReportForPeriod(request);
- } catch (Exception e) {
- log.error("Error make report {}: {}", rType, ExceptionUtils.getStackTrace(e));
- }
- }
-
- }
-
- log.info(" Old format report...");
- // deprecated code:
- for (ReportWithPeriodCollector> reportDataCollector : allPeriodReports) {
- if (reportGroup == null || QUEUE_RUN_REPORT_COMMAND.equals(reportGroup)) {
- try {
- makeSingleReport(reportDataCollector, startDate, endDate);
- } catch (Exception e) {
- log.error("Error generate report of type {}: {}", reportDataCollector, ExceptionUtils.getStackTrace(e));
- }
- }
- }
- for (SimpleReportCollector> reportDataCollector : allSimpleReports) {
- if (reportGroup == null || QUEUE_RUN_DAILY_REPORT_COMMAND.equals(reportGroup)) {
- try {
- makeSingleReport(reportDataCollector);
- } catch (Exception e) {
- log.error("Error generate report of type {}: {}", reportDataCollector, ExceptionUtils.getStackTrace(e));
- }
- }
- }
- }
-
- public void generateReportById(String reportIdStr, LocalDate startDate, LocalDate endDate) throws IOException {
- ReportId reportId = parseReportId(reportIdStr);
- AbstractReportCollector> reportDataCollector = collectorForReportById.get(reportId);
- if (reportDataCollector == null)
- throw new IllegalStateException("Collector for ReportID " + reportId + " not implemented yet");
-
- if (reportDataCollector instanceof ReportWithPeriodCollector) {
- makeSingleReport((ReportWithPeriodCollector) reportDataCollector, startDate, endDate);
- } else if (reportDataCollector instanceof SimpleReportCollector) {
- makeSingleReport((SimpleReportCollector) reportDataCollector);
- } else {
- throw new IllegalArgumentException("Uncknown report class: " + reportDataCollector.getClass().getName());
- }
- }
-
-
- ReportId parseReportId(String reportStr) {
- ReportId id = IEnumKey.getEnumByKey(ReportId.class, reportStr);
- if (id == null) {
- log.trace("Can not find ReportId by name: {}", reportStr);
- id = ReportId.valueOf(reportStr);
- }
- return id;
- }
-
- protected void makeSingleReport(ReportWithPeriodCollector> reportDataCollector, LocalDate startDate, LocalDate endDate) throws IOException {
- log.debug("Generate report by collector {} - {}", reportDataCollector.getClass().getSimpleName(), reportDataCollector.getReportClass().getSimpleName());
- File outPath = new File(settings.getReportModuleOut());
- XMLReportBuilder reportBuilder = new XMLReportBuilder(reportDataCollector.getReportClass(), outPath);
- AbstractReport report = reportDataCollector.collectReportWithPeriod(startDate, endDate);
- if (report == null) {
- throw new NullPointerException("reportDataCollector " + reportDataCollector + " return null");
- }
- File reportFile = reportBuilder.createReport(report);
- if (reportFile != null) {
- log.debug("New report file done: \"{}\"", reportFile);
- }
- }
-
- protected void makeSingleReport(SimpleReportCollector> reportDataCollector) throws IOException {
- log.debug("Generate report by collector {} - {}", reportDataCollector.getClass().getSimpleName(), reportDataCollector.getReportClass().getSimpleName());
- File outPath = new File(settings.getReportModuleOut());
- XMLReportBuilder reportBuilder = new XMLReportBuilder(reportDataCollector.getReportClass(), outPath);
- AbstractReport report = reportDataCollector.collectReport();
- File reportFile = reportBuilder.createReport(report);
- if (reportFile != null) {
- log.debug("New report file done: \"{}\"", reportFile);
- }
- }
-
-
- public void writeAllXML() throws IOException {
- log.info("Report types with data range: {}", allPeriodReports);
- for (ReportWithPeriodCollector collector : allPeriodReports) {
- log.info("Make report {}", collector);
- LocalDate date2 = LocalDate.now();
- LocalDate date1 = LocalDate.of(date2.getYear(), date2.getMonth(), 1);//date2.minusMonths(1);
- makeSingleReport(collector, date1, date2);
- }
- log.info("Report types: {}", allSimpleReports);
- for (SimpleReportCollector collector : allSimpleReports) {
- log.info("Make report {}", collector);
- LocalDate date2 = LocalDate.now();
- makeSingleReport(collector);
- }
- log.info("All done");
- }
-
- public void writeAllDocx() {
- log.info("TODO write docx"); // todo write docx
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/SimpleReportCollector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/SimpleReportCollector.java
deleted file mode 100644
index c25db9cd2..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/SimpleReportCollector.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package ru.spcex.clearing.reports.services;
-
-import ru.spcex.clearing.reports.reports.AbstractReport;
-
-@Deprecated
-public abstract class SimpleReportCollector extends AbstractReportCollector {
- /**
- * Подготовка отчета (без входных параметров)
- */
- abstract public T collectReport();
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/builders/FileReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/builders/FileReportBuilder.java
deleted file mode 100644
index 04e9c6e79..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/builders/FileReportBuilder.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package ru.spcex.clearing.reports.services.builders;
-
-import ru.spcex.clearing.reports.reports.AbstractReport;
-
-import java.io.File;
-import java.io.IOException;
-
-@Deprecated
-public abstract class FileReportBuilder {
- protected final Class extends AbstractReport> reportClass;
-
- protected FileReportBuilder(Class extends AbstractReport> reportClass) {
- this.reportClass = reportClass;
- }
-
- protected String makeFileName(String reportName, String extension) {
- if (System.getProperty("os.name").toLowerCase().contains("windows")) reportName = reportName.replace(":", "_");
- return reportName + extension;
- }
-
- public abstract File createReport(AbstractReport report) throws IOException;
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/builders/XMLReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/builders/XMLReportBuilder.java
deleted file mode 100644
index baafed9b4..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/builders/XMLReportBuilder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package ru.spcex.clearing.reports.services.builders;
-
-import com.thoughtworks.xstream.XStream;
-import com.thoughtworks.xstream.io.naming.NoNameCoder;
-import com.thoughtworks.xstream.io.xml.XppDriver;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import ru.spcex.clearing.reports.reports.AbstractReport;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.time.LocalDateTime;
-
-@Deprecated
-public class XMLReportBuilder extends FileReportBuilder {
- private final Logger log = LoggerFactory.getLogger(getClass());
- protected final XStream xStream;
- protected final File outFolder;
-
- public XMLReportBuilder(Class extends AbstractReport> reportClass, File outFolder) {
- super(reportClass);
- this.xStream = new XStream(new XppDriver(new NoNameCoder()));
- xStream.processAnnotations(reportClass);
- this.outFolder = outFolder;
- }
-
- @Override
- public File createReport(AbstractReport report) throws IOException {
- String reportName = report.getReportName(LocalDateTime.now());
- String reportFileName = makeFileName(reportName, ".xml");
-
- File reportFile = new File(outFolder, reportFileName);
- if (reportFile.exists()) {
- if (reportFile.isFile()) {
- log.warn("Файл {} существует и будет перезаписан", reportFileName);
- boolean deleteOk = reportFile.delete();
- if (!deleteOk) throw new IOException("Не удалось удалить файл " + reportFileName);
- } else throw new IOException(reportFileName + " существует, но не является файлом");
- }
- try (FileOutputStream fos = new FileOutputStream(reportFile)) {
- xStream.toXML(report, fos);
- }
- return reportFile;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/MapUtil.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/MapUtil.java
deleted file mode 100644
index 621868c9b..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/MapUtil.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package ru.spcex.clearing.reports.services.collector;
-
-import org.apache.commons.lang3.StringUtils;
-import ru.clearing.platform.dictionary.AbstractDictionary;
-import ru.spcex.platform.classes.base.interfaces.WithId;
-import ru.spcex.platform.imdg.api.Imdg;
-
-import java.util.*;
-import java.util.function.Function;
-
-public class MapUtil {
-
- public static String joinMultiString(Collection from, Function stringFieldExtractor) {
- ArrayList strToJoin = new ArrayList<>(from.size());
- for (V obj : from) {
- String v = stringFieldExtractor.apply(obj);
- if (v != null) {
- strToJoin.add(v);
- }
- }
- return StringUtils.join(strToJoin, ",");
- }
-
- public static Map index(Collection from, Function indexFieldExtractor) {
- Map index = new HashMap<>();
- for (V obj : from) {
- K key = indexFieldExtractor.apply(obj);
- V exist = index.put(key, obj);
- if (exist != null) {
- throw new IllegalStateException(String.format("%s with id=%s,%s has duplicate key=\"%s\"",
- exist.getClass().getSimpleName(), exist.getId(), obj.getId(), key
- ));
- }
- }
- return index;
- }
-
- public static Map> indexList(Collection from, Function indexFieldExtractor) {
- Map> index = new HashMap<>();
- for (V obj : from) {
- K key = indexFieldExtractor.apply(obj);
- List lst = index.computeIfAbsent(key, (_key_) -> new ArrayList<>());
- lst.add(obj);
- }
- return index;
- }
-
- public static | Long getDictionaryIdByCode(Imdg | dImdg, String code) {
- TD dictItem = dImdg.getSingleObjectByFieldValues(Map.of("code", code));
- if (dictItem == null) {
- throw new IllegalStateException(dImdg.getMapName() + " with code=\"" + code + "\" not fount");
- }
- return dictItem.getId();
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_12_2/ReportPA_B_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_12_2/ReportPA_B_Collector.java
deleted file mode 100644
index 89d132aaf..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_12_2/ReportPA_B_Collector.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_12_2;
-
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_12_2.ReportPA_B;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.platform.enumeration.ClearingCategory;
-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 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
-@Deprecated
-public class ReportPA_B_Collector extends ReportWithPeriodCollector {
- private final Imdg liabilitiesClaimsAssetsImdg;
- private final Imdg clearingMemberCategoryImdg;
-
- public ReportPA_B_Collector(ImdgProvider imdgProvider) {
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_LiabilitiesClaimsAssets,
- LiabilitiesClaimsAssets.class
- );
- clearingMemberCategoryImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_ClearingMemberCategory,
- ClearingMemberCategory.class
- );
- }
-
- @Override
- public ReportPA_B collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- Collection clearingMemberCategories =
- clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of(
- "clearingMemberCategory", ClearingCategory.B.getKey()
- ));
- Set companyIds = clearingMemberCategories.stream()
- .map(ClearingMemberCategory::getCompanyId)
- .collect(Collectors.toSet());
-
- ImdgPredicateBuilder builder = liabilitiesClaimsAssetsImdg.predicateBuilder();
- ImdgPredicate refundDatePredicate = builder.and(
- builder.greatEqual("refundDate", (startDate)),
- builder.lessEqual("refundDate", (endDate))
- );
- ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0]));
- ImdgPredicate finalPredicate = builder.and(refundDatePredicate, companyIdPredicates);
-
- Collection liabilitiesClaimsAssets =
- liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(finalPredicate);
-
- ReportPA_B report = new ReportPA_B(startDate, endDate);
- BigDecimal claimsAmount = BigDecimal.ZERO;
- BigDecimal liabilitiesAmount = BigDecimal.ZERO;
- BigDecimal paymentAmount = BigDecimal.ZERO;
- for (LiabilitiesClaimsAssets liabilitiesClaimsAsset : liabilitiesClaimsAssets) {
- ReportPA_B.Info_PA_B infoPAB = new ReportPA_B.Info_PA_B(
- toString(liabilitiesClaimsAsset.getId()),
- toString(liabilitiesClaimsAsset.getFullName()),
- toString(liabilitiesClaimsAsset.getClearingCode()),
- toString(liabilitiesClaimsAsset.getSettlementDate()),
- toString(liabilitiesClaimsAsset.getRefundDate()),
- toString(liabilitiesClaimsAsset.getTradingDate()),
- toString(liabilitiesClaimsAsset.getContract()),
- toString(liabilitiesClaimsAsset.getLiabilitiesQuantity()),
- "",
- toString(liabilitiesClaimsAsset.getClaimsQuantity()),
- toString(liabilitiesClaimsAsset.getRefundPaymentId()),
- toString(liabilitiesClaimsAsset.getClearingStatus()),
- toString(liabilitiesClaimsAsset.getComment())
- );
- report.getRows().add(infoPAB);
- if (liabilitiesClaimsAsset.getClaimsQuantity() != null) {
- claimsAmount = claimsAmount.add(liabilitiesClaimsAsset.getClaimsQuantity());
- paymentAmount = paymentAmount.add(liabilitiesClaimsAsset.getClaimsQuantity());
- }
- if (liabilitiesClaimsAsset.getLiabilitiesQuantity() != null) {
- liabilitiesAmount = liabilitiesAmount.add(liabilitiesClaimsAsset.getLiabilitiesQuantity());
- paymentAmount = paymentAmount.add(liabilitiesClaimsAsset.getLiabilitiesQuantity().negate());
- }
- }
- ReportPA_B.Total total = new ReportPA_B.Total(
- toString(claimsAmount),
- toString(liabilitiesAmount),
- toString(paymentAmount));
- report.setTotal(total);
-
- return report;
- }
-
- @Override
- public Class getReportClass() {
- return ReportPA_B.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_12_2/ReportPA_IV_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_12_2/ReportPA_IV_Collector.java
deleted file mode 100644
index b14a4978e..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_12_2/ReportPA_IV_Collector.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_12_2;
-
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.clearing.platform.dictionary.ClearingStatusDictionary;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_12_2.ReportPA_IV;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.platform.enumeration.ClearingCategory;
-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 java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-@Component
-@Deprecated
-public class ReportPA_IV_Collector extends ReportWithPeriodCollector {
- private final Imdg liabilitiesClaimsAssetsImdg;
- private final Imdg clearingStatusDictionaryImdg;
- private final Imdg clearingMemberCategoryImdg;
-
- public ReportPA_IV_Collector(ImdgProvider imdgProvider) {
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_LiabilitiesClaimsAssets,
- LiabilitiesClaimsAssets.class
- );
- clearingStatusDictionaryImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_ClearingStatusDictionary,
- ClearingStatusDictionary.class
- );
- clearingMemberCategoryImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_ClearingMemberCategory,
- ClearingMemberCategory.class
- );
- }
-
- @Override
- public ReportPA_IV collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- String clearingMemberCategorySql = "clearingMemberCategory='%s' or clearingMemberCategory='%s'".formatted(
- ClearingCategory.I.getKey(), ClearingCategory.V.getKey()
- );
- Collection clearingMemberCategories =
- clearingMemberCategoryImdg.getCollectionObjectsBySQL(clearingMemberCategorySql);
- Set companyIds = clearingMemberCategories.stream()
- .map(ClearingMemberCategory::getCompanyId)
- .collect(Collectors.toSet());
-
- ImdgPredicateBuilder builder = liabilitiesClaimsAssetsImdg.predicateBuilder();
- ImdgPredicate refundDatePredicate = builder.and(
- builder.greatEqual("refundDate", (startDate)),
- builder.lessEqual("refundDate", (endDate))
- );
- ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0]));
- ImdgPredicate finalPredicate = builder.and(refundDatePredicate, companyIdPredicates);
- Collection liabilitiesClaimsAssets =
- liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(finalPredicate);
-
- ReportPA_IV report = new ReportPA_IV(startDate, endDate);
- BigDecimal claimsAmount = BigDecimal.ZERO;
- BigDecimal liabilitiesAmount = BigDecimal.ZERO;
- BigDecimal paymentAmount = BigDecimal.ZERO;
- for (LiabilitiesClaimsAssets liabilitiesClaimsAsset : liabilitiesClaimsAssets) {
- ReportPA_IV.Info_PA_IV row = new ReportPA_IV.Info_PA_IV(
- toString(liabilitiesClaimsAsset.getId()),
- toString(liabilitiesClaimsAsset.getFullName()),
- toString(liabilitiesClaimsAsset.getClearingCode()),
- toString(liabilitiesClaimsAsset.getSettlementDate()),
- toString(liabilitiesClaimsAsset.getRefundDate()),
- toString(liabilitiesClaimsAsset.getTradingDate()),
- toString(liabilitiesClaimsAsset.getContract()),
- toString(liabilitiesClaimsAsset.getLiabilitiesQuantity()),
- "",
- toString(liabilitiesClaimsAsset.getClaimsQuantity()),
- toString(liabilitiesClaimsAsset.getRefundPaymentId()),
- toString(liabilitiesClaimsAsset.getClearingStatus()),
- toString(liabilitiesClaimsAsset.getComment()));
- report.getRows().add(row);
- if (liabilitiesClaimsAsset.getClaimsQuantity() != null) {
- claimsAmount = claimsAmount.add(liabilitiesClaimsAsset.getClaimsQuantity());
- paymentAmount = paymentAmount.add(liabilitiesClaimsAsset.getClaimsQuantity());
- }
- if (liabilitiesClaimsAsset.getLiabilitiesQuantity() != null) {
- liabilitiesAmount = liabilitiesAmount.add(liabilitiesClaimsAsset.getLiabilitiesQuantity());
- paymentAmount = paymentAmount.add(liabilitiesClaimsAsset.getLiabilitiesQuantity().negate());
- }
- }
- ReportPA_IV.Total total = new ReportPA_IV.Total(
- toString(claimsAmount),
- toString(liabilitiesAmount),
- toString(paymentAmount));
- report.setTotal(total);
-
- return report;
- }
-
- @Override
- public Class getReportClass() {
- return ReportPA_IV.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_13/ReportDOCIN_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_13/ReportDOCIN_Collector.java
deleted file mode 100644
index 4376a8adf..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_13/ReportDOCIN_Collector.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_13;
-
-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.bt_13.ReportDOCIN;
-import ru.spcex.clearing.reports.services.SimpleReportCollector;
-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 java.time.LocalDate;
-import java.time.LocalTime;
-import java.util.Collection;
-
-@Component
-@Deprecated
-public class ReportDOCIN_Collector extends SimpleReportCollector {
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
- private final Imdg inDocumentJournalImdg;
-
- public ReportDOCIN_Collector(ImdgProvider imdgProvider) {
- this.inDocumentJournalImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_InDocumentJournal,
- InDocumentJournal.class
- );
- }
-
- @Override
- public ReportDOCIN collectReport() {
- LocalDate currentDate = LocalDate.now();
- ImdgPredicateBuilder pb = inDocumentJournalImdg.predicateBuilder();
- ImdgPredicate p = pb.equals("registrationDate", currentDate);
- Collection inDocumentsJournal = inDocumentJournalImdg.getCollectionObjectsByPredicate(p);
- ReportDOCIN reportDOCIN = new ReportDOCIN(LocalDate.now(), LocalTime.now());
- for (InDocumentJournal inDocumentJournal : inDocumentsJournal) {
- ReportDOCIN.Info_DOCIN infoDOCIN = new ReportDOCIN.Info_DOCIN(
- toString(inDocumentJournal.getId()),
- toString(inDocumentJournal.getRegistrationDate()),
- toString(inDocumentJournal.getRegistrationTime()),
- toString(inDocumentJournal.getRegistrationNumber()),
- toString(inDocumentJournal.getDocumentName()),
- toString(inDocumentJournal.getSender()),
- toString(inDocumentJournal.getQuantity()),
- toString(inDocumentJournal.getClearingCode()),
- toString(inDocumentJournal.getCourierType()),
- toString(inDocumentJournal.getEmailDate()),
- toString(inDocumentJournal.getAmount()),
- toString(inDocumentJournal.getDossierNumber()),
- toString(inDocumentJournal.getComment()),
- toString(inDocumentJournal.getReceiptDate()));
- reportDOCIN.getRows().add(infoDOCIN);
- }
- return reportDOCIN;
- }
-
- @Override
- public Class getReportClass() {
- return ReportDOCIN.class;
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_13/ReportDOCOUT_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_13/ReportDOCOUT_Collector.java
deleted file mode 100644
index 3e613a82d..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_13/ReportDOCOUT_Collector.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_13;
-
-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.bt_13.ReportDOCOUT;
-import ru.spcex.clearing.reports.services.SimpleReportCollector;
-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 java.time.LocalDate;
-import java.time.LocalTime;
-import java.util.Collection;
-
-@Component
-@Deprecated
-public class ReportDOCOUT_Collector extends SimpleReportCollector {
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
- private final Imdg inDocumentJournalImdg;
-
- public ReportDOCOUT_Collector(ImdgProvider imdgProvider) {
- this.inDocumentJournalImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_OutDocumentJournal,
- OutDocumentJournal.class
- );
- }
-
- @Override
- public ReportDOCOUT collectReport() {
- LocalDate currentDate = LocalDate.now();
- ImdgPredicateBuilder pb = inDocumentJournalImdg.predicateBuilder();
- ImdgPredicate p = pb.equals("registrationDate", currentDate);
- Collection outDocumentsJournal = inDocumentJournalImdg.getCollectionObjectsByPredicate(p);
- ReportDOCOUT reportDOCOUT = new ReportDOCOUT(LocalDate.now(), LocalTime.now());
- for (OutDocumentJournal outDocumentJournal : outDocumentsJournal) {
- ReportDOCOUT.Info_DOCOUT infoDOCOUT = new ReportDOCOUT.Info_DOCOUT(
- toString(outDocumentJournal.getId()),
- toString(outDocumentJournal.getRegistrationDate()),
- toString(outDocumentJournal.getRegistrationTime()),
- toString(outDocumentJournal.getRegistrationNumber()),
- toString(outDocumentJournal.getDocumentName()),
- toString(outDocumentJournal.getAddressee()),
- toString(outDocumentJournal.getQuantity()),
- toString(outDocumentJournal.getClearingCode()),
- toString(outDocumentJournal.getCourierType()),
- toString(outDocumentJournal.getEmailDate()),
- toString(outDocumentJournal.getAmount()),
- toString(outDocumentJournal.getDossierNumber()),
- toString(outDocumentJournal.getPostDate()));
- reportDOCOUT.getRows().add(infoDOCOUT);
- }
- return reportDOCOUT;
- }
-
- @Override
- public Class getReportClass() {
- return ReportDOCOUT.class;
- }
-
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_16_5/ReportINACCNT_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_16_5/ReportINACCNT_Collector.java
deleted file mode 100644
index ef8f26a24..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_16_5/ReportINACCNT_Collector.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_16_5;
-
-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;
-import ru.spcex.clearing.reports.reports.bt.bt_16_5.ReportINACCNT;
-import ru.spcex.clearing.reports.services.ReportForClearingCodeCollector;
-import ru.spcex.platform.enumeration.AccountType;
-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 java.time.LocalDate;
-import java.time.LocalTime;
-import java.util.Collection;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-@Component
-@Deprecated
-public class ReportINACCNT_Collector extends ReportForClearingCodeCollector {
- private final Imdg accountBalanceImdg;
- private final Imdg companyImdg;
-
- public ReportINACCNT_Collector(ImdgProvider imdgProvider) {
- accountBalanceImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_AccountBalance,
- AccountBalance.class
- );
- companyImdg = imdgProvider.getImdg(
- IMDGDistributedNames.Map_Company,
- Company.class
- );
- }
-
- @Override
- public ReportINACCNT collectReportForClearingCode(String clearingCode) {
- ImdgPredicateBuilder builder = companyImdg.predicateBuilder();
-
- ImdgPredicate clearingCodePredicate = builder.equals("clearingCode", clearingCode);
- Collection companies = companyImdg.getCollectionObjectsByPredicate(clearingCodePredicate);
- Set companyIds = companies.stream()
- .map(Company::getId)
- .collect(Collectors.toSet());
-
- ImdgPredicate accountTypePredicate = builder.or(
- builder.equals("accountType", AccountType.Clrn.getKey()),
- builder.equals("accountType", AccountType.Info.getKey())
- );
- ImdgPredicate companyIdPredicates = builder.in("companyId", companyIds.toArray(new Comparable[0]));
-
- ImdgPredicate finalPredicate = builder.and(accountTypePredicate, companyIdPredicates);
- Collection accountBalances = accountBalanceImdg.getCollectionObjectsByPredicate(finalPredicate);
-
- ReportINACCNT reportINACCNT = new ReportINACCNT(clearingCode, LocalDate.now(), LocalTime.now());
- for (AccountBalance accountBalance : accountBalances) {
- ReportINACCNT.Info_INACCNT infoReport = new ReportINACCNT.Info_INACCNT(
- toString(accountBalance.getId()),
- toString(accountBalance.getFullName()),
- toString(clearingCode),
- toString(accountBalance.getAccount()),
- toString(accountBalance.getOpenBalanceAmount()),
- toString(accountBalance.getDebitAmount()),
- toString(accountBalance.getCreditAmount()),
- toString(accountBalance.getCloseBalanceAmount()));
- reportINACCNT.getRows().add(infoReport);
- }
-
- return reportINACCNT;
- }
-
- @Override
- public Class getReportClass() {
- return ReportINACCNT.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_1/ReportBR_0420315_P1_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_1/ReportBR_0420315_P1_Collector.java
deleted file mode 100644
index 6acb0fb0b..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_1/ReportBR_0420315_P1_Collector.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_1;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
-import ru.clearing.classes.statics.data.company.Company;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.clearing.classes.statics.data.misc.Listing;
-import ru.clearing.platform.dictionary.ClearingStatusDictionary;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_1.ReportBR_0420315_P1;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.clearing.reports.services.collector.MapUtil;
-import ru.spcex.platform.enumeration.ClearingCategory;
-import ru.spcex.platform.enumeration.ClearingStatus;
-import ru.spcex.platform.enumeration.Market;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.*;
-
-@Component
-@Deprecated
-public class ReportBR_0420315_P1_Collector extends ReportWithPeriodCollector {
- protected static final List ALLOW_CLEARING_MEMBER_CATEGORY = Arrays.asList(ClearingCategory.I.getKey(), ClearingCategory.V.getKey());
-
- private Imdg companyImdg;
- private Imdg liabilitiesClaimsAssetsImdg;
- private Imdg clearingMemberCategoryImdg;
- private Imdg clearingStatusDictionaryImdg;
- private Imdg listingImdg;
-
- @Autowired
- public ReportBR_0420315_P1_Collector(ImdgProvider imdgProvider) {
- companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
- clearingStatusDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingStatusDictionary, ClearingStatusDictionary.class);
- listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
- }
-
- /**
- * @param onMarket Market.mkrs.getKey()
- * @param securityId liability.getSecurityId()
- * @return
- */
- protected Listing findListing(Market onMarket, Long securityId) {
- Map qParam = new HashMap<>();
- qParam.put("market", onMarket.getKey());
- qParam.put("securityId", securityId);
- return listingImdg.getSingleObjectByFieldValues(qParam);
- }
-
- @Override
- public ReportBR_0420315_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
- ReportBR_0420315_P1 reportBR_0420315_p1 = new ReportBR_0420315_P1(startDate, endDate);
- final Long allowClearingStatusId = MapUtil.getDictionaryIdByCode(clearingStatusDictionaryImdg, ClearingStatus.OK.getKey());
-
- Collection liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate, allowClearingStatusId);
-
- Map> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
- company_for:
- for (Map.Entry> companyEntry : indexByCompany.entrySet()) {
- final Long companyId = companyEntry.getKey();
- List liabilitiesOfCompany = companyEntry.getValue();
- Company company = companyImdg.getSingleObjectByID(companyId);
- if (company != null) {
- Collection cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
- boolean checkCategory = cmcLst.stream()
- .anyMatch(cmc -> ALLOW_CLEARING_MEMBER_CATEGORY.contains(cmc.getClearingMemberCategory()));
- if (!checkCategory) {
- // фильтруются <> I, V
- log.trace("Filtered company[{}] ClearingMemberCategory no match: {}",
- companyId, cmcLst);
- continue company_for;
- }
-
- HashSet onMarket = new HashSet<>();
-
- long contractorQty;
- BigDecimal liabilitiesAmount = BigDecimal.ZERO;
- {
- HashSet collectedContract = new HashSet<>();
- HashSet onMarketSecurity = new HashSet<>();
- for (LiabilitiesClaimsAssets lContract : liabilitiesOfCompany) {
- if (!onMarketSecurity.contains(lContract.getSecurityId())) {
- Listing listing = findListing(Market.mkrs, lContract.getSecurityId());
- if (listing != null) {
- onMarket.add(listing.getMarket());
- }
- onMarketSecurity.add(lContract.getSecurityId());
- }
- if (lContract.getLiabilitiesQuantity() != null && StringUtils.isNotEmpty(lContract.getContract())) {
- collectedContract.add(lContract.getContract());
- liabilitiesAmount = liabilitiesAmount.add(lContract.getLiabilitiesQuantity());
- }
- }
- contractorQty = collectedContract.size();
- }
- String onMarketString = StringUtils.join(onMarket, ",");
- if (onMarket.size() != 1) { // Сейчас по коду ожидается один listing.market="MKRS" но потом могут быть несколько
- log.warn("Market for companyId[{}]: {}", companyId, onMarketString);
- }
- ReportBR_0420315_P1.Info_0420315_P1 info_0420315_p1 = new ReportBR_0420315_P1.Info_0420315_P1(
- company.getId().toString(),
- toString(company.getFullName()),
- onMarketString,
- toString(contractorQty),
- toString(liabilitiesAmount));
- reportBR_0420315_p1.getRows().add(info_0420315_p1);
- }
- }
-
- return reportBR_0420315_p1;
- }
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420315_P1.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_1/ReportBR_0420315_P2_collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_1/ReportBR_0420315_P2_collector.java
deleted file mode 100644
index 9085d5c76..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_1/ReportBR_0420315_P2_collector.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_1;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_1.ReportBR_0420315_P2;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.HashSet;
-
-@Component
-@Deprecated
-public class ReportBR_0420315_P2_collector extends ReportWithPeriodCollector {
- private Imdg liabilitiesClaimsAssetsImdg;
-
- @Autowired
- public ReportBR_0420315_P2_collector(ImdgProvider imdgProvider) {
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- }
-
- @Override
- public ReportBR_0420315_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
- Collection liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
-
- long liabilitiesAmount;
- BigDecimal contractorQty = BigDecimal.ZERO;
- {
- HashSet collectedToSumm = new HashSet<>();
- for (LiabilitiesClaimsAssets lContract : liabilities) {
- if (lContract.getLiabilitiesQuantity() != null && StringUtils.isNotEmpty(lContract.getContract())) {
- collectedToSumm.add(lContract.getContract());
- contractorQty = contractorQty.add(lContract.getLiabilitiesQuantity());
- }
- }
- liabilitiesAmount = collectedToSumm.size();
- }
-
- ReportBR_0420315_P2 reportBR_0420315_p2 = new ReportBR_0420315_P2(startDate, endDate);
- reportBR_0420315_p2.setRows(new ReportBR_0420315_P2.Info_0420315_P2(toString(contractorQty),
- toString(liabilitiesAmount)));
-
- return reportBR_0420315_p2;
- }
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420315_P2.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_2/ReportBR_0420317_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_2/ReportBR_0420317_Collector.java
deleted file mode 100644
index 383fe89f4..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_2/ReportBR_0420317_Collector.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_2;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.company.Company;
-import ru.clearing.classes.statics.data.company.CompanySymbols;
-import ru.clearing.classes.statics.data.company.relation.Relation;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_2.ReportBR_0420317;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.platform.enumeration.DocumentTypes;
-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 java.time.Instant;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.Map;
-
-@Component
-@Deprecated
-public class ReportBR_0420317_Collector extends ReportWithPeriodCollector {
- private Imdg companyImdg;
- private Imdg relationImdg;
- private Imdg companySymbolsImdg;
-
- @Autowired
- public ReportBR_0420317_Collector(ImdgProvider imdgProvider) {
- companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
- relationImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
- companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
- }
-
- Collection searchRelation(LocalDate startDate, LocalDate endDate, String service) {
- ImdgPredicateBuilder pb = relationImdg.predicateBuilder();
- Instant dateTimeLo = toInstantStartDay(startDate);
- Instant dateTimeHi = toInstantEndDay(endDate);
- ImdgPredicate p = pb.and(pb.greatEqual("updated", dateTimeLo), pb.lessEqual("updated", dateTimeHi),
- pb.equals("service", service));
- Collection relations = relationImdg.getCollectionObjectsByPredicate(p);
- return relations;
- }
-
- @Override
- public ReportBR_0420317 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- Collection relations = searchRelation(startDate, endDate, "MKR");
-
- ReportBR_0420317 reportBR_0420317 = new ReportBR_0420317(startDate, endDate);
- for (Relation relation: relations) {
- Company company = relation.getConsumerId() == null ? null : companyImdg.getSingleObjectByID(relation.getConsumerId());
- if (company == null) {
- log.warn("Company.id={} not found for relation.id={}", relation.getConsumerId(), relation.getId());
- continue;
- }
- CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
- "companySymbol", DocumentTypes.inn.getKey(),// ИНН или TIN участника клиринга
- "companyId", company.getId()
- ));
- ReportBR_0420317.Info_0420317 info_0420317 = new ReportBR_0420317.Info_0420317(
- toString(company.getClearingCode()),
- toString(toString(relation.getSupplierId())),
- toString(relation.getService()),
- toString(relation.getServiceStatus()),
- toString(relation.getUpdated()),
- toString(company.getFullName()),
- companySymbol == null ? "" : toString(companySymbol.getCompanySymbolValue()),
- toString(company.getProfile().getCountryCode()),
- toString(relation.getComment()));
- reportBR_0420317.getRows().add(info_0420317);
- }
-
- return reportBR_0420317;
- }
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420317.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_3/ReportBR_0420318_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_3/ReportBR_0420318_Collector.java
deleted file mode 100644
index 2ef561446..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_3/ReportBR_0420318_Collector.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_3;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
-import ru.clearing.classes.statics.data.company.Company;
-import ru.clearing.classes.statics.data.company.CompanySymbols;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_3.ReportBR_0420318;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.clearing.reports.services.collector.MapUtil;
-import ru.spcex.platform.enumeration.ClearingCategory;
-import ru.spcex.platform.enumeration.DocumentTypes;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@Deprecated
-public class ReportBR_0420318_Collector extends ReportWithPeriodCollector {
-
- private Imdg liabilitiesClaimsAssetsImdg;
- private Imdg liabilitiesClaimsMoneyImdg;
-
- private Imdg companyImdg;
- private Imdg companySymbolsImdg;
- private Imdg clearingMemberCategoryImdg;
-
- @Autowired
- public ReportBR_0420318_Collector(ImdgProvider imdgProvider) {
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- liabilitiesClaimsMoneyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsMoney, LiabilitiesClaimsMoney.class);
- clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
- companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
- companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
- }
-
- protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
- CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
- "companySymbol", docType.getKey(),
- "companyId", companyId
- ));
- return companySymbol;
- }
-
- @Override
- public ReportBR_0420318 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
- Collection allLiabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
-
- ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(startDate, endDate);
-
- Map> indexByCompany = MapUtil.indexList(allLiabilities, LiabilitiesClaimsAssets::getCompanyId);
-
- for (Map.Entry> liabilitiesByCompanyE : indexByCompany.entrySet()) {
- final Long companyId = liabilitiesByCompanyE.getKey();
- final List liabilitiesByCompany = liabilitiesByCompanyE.getValue();
-
- Company company = companyImdg.getSingleObjectByID(companyId);
- CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
-
- Collection cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
-
- boolean checkCategoryB = cmcLst.stream().anyMatch(cmc -> ClearingCategory.B.equalsByKey(cmc.getClearingMemberCategory()));
- boolean checkCategoryIV = cmcLst.stream().anyMatch(cmc -> ClearingCategory.I.equalsByKey(cmc.getClearingMemberCategory()) || ClearingCategory.V.equalsByKey(cmc.getClearingMemberCategory()));
-
- for (LiabilitiesClaimsAssets liability : liabilitiesByCompany) {
- final String currencyCode = liability.getCurrency();
-
- LocalDate liabilitiesClaimsAssets_settlementDate = null;
- if (checkCategoryB) {
- liabilitiesClaimsAssets_settlementDate = liability.getRefundDate();
- }
- if (checkCategoryIV) {
- liabilitiesClaimsAssets_settlementDate = liability.getSettlementDate();
- }
-
- BigDecimal liabilitiesClaimsAssets_liabilitiesQuantity = liability.getLiabilitiesQuantity();
-
- LiabilitiesClaimsMoney liabilitiesClaimsMoney = liabilitiesClaimsMoneyImdg.getSingleObjectByFieldValues(Map.of("currency", currencyCode));
-
- BigDecimal liabilitiesCount = liability.getClaimsQuantity();
-
- ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318(
- toString(liability.getFullName()),
- toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
- toString(company.getProfile().getCountryCode()),
- toString(liabilitiesClaimsAssets_settlementDate),
- toString(liability.getContract()),
- toString(currencyCode),
- toString(liabilitiesClaimsAssets_liabilitiesQuantity),
- liabilitiesClaimsMoney == null ? "" : toString(liabilitiesClaimsMoney.getFullName()),
- toString(liabilitiesCount),
- toString(liability.getComment()),
- companySymbolINN == null ? "" : toString(companySymbolINN.getCompanySymbolValue()),
- toString(liability.getFullName())
- );
- reportBR_0420318.getRows().add(info_0420318);
- }
- }
-
-
- return reportBR_0420318;
- }
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420318.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_4/ReportBR_0420314_P1_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_4/ReportBR_0420314_P1_Collector.java
deleted file mode 100644
index bf4022354..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_4/ReportBR_0420314_P1_Collector.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_4;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
-import ru.clearing.classes.statics.data.company.Company;
-import ru.clearing.classes.statics.data.company.CompanySymbols;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.clearing.platform.dictionary.ClearingStatusDictionary;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_4.ReportBR_0420314_P1;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.clearing.reports.services.collector.MapUtil;
-import ru.spcex.platform.enumeration.ClearingStatus;
-import ru.spcex.platform.enumeration.DocumentTypes;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * accountTransactionLiabilities
- */
-@Component
-@Deprecated
-public class ReportBR_0420314_P1_Collector extends ReportWithPeriodCollector {
- private Imdg companyImdg;
- private Imdg companySymbolsImdg;
- private Imdg clearingMemberCategoryImdg;
- private Imdg liabilitiesClaimsAssetsImdg;
- private Imdg clearingStatusDictionaryImdg;
-
- protected static final String ALLOW_CLEARING_STATUS = ClearingStatus.OK.getKey();
-
- @Autowired
- public ReportBR_0420314_P1_Collector(ImdgProvider imdgProvider) {
- companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
- clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
- clearingStatusDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingStatusDictionary, ClearingStatusDictionary.class);
- }
-
- protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
- CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
- "companySymbol", docType.getKey(),
- "companyId", companyId
- ));
- return companySymbol;
- }
-
-
- @Override
- public ReportBR_0420314_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- ReportBR_0420314_P1 reportBR_0420312P1 = new ReportBR_0420314_P1(startDate, endDate, "BR",
- ALLOW_CLEARING_STATUS //clearingStatus.getCode() "OK"
- );
- final Long allowClearingStatusId = MapUtil.getDictionaryIdByCode(clearingStatusDictionaryImdg, ALLOW_CLEARING_STATUS); // "OK"
-
- Collection liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate, allowClearingStatusId);
-
- for (LiabilitiesClaimsAssets liability: liabilities) {
- final Long companyId = liability.getCompanyId();
- Company company = companyImdg.getSingleObjectByID(companyId);
- if (company == null) {
- log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
- continue;
- }
- Collection cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
- String cleanMemberCategories = MapUtil.joinMultiString(cmcLst, ClearingMemberCategory::getClearingMemberCategory);
-
- CompanySymbols companySymbolCntr = findSymbol(DocumentTypes.cntr, company.getId());
- CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
- CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
-
- ReportBR_0420314_P1.Info_0420314_P1 info_0420314P1 = new ReportBR_0420314_P1.Info_0420314_P1(
- toString(company.getClearingCode()),
- toString(companySymbolCntr == null? null : companySymbolCntr.getId()),
- toString(company.getFullName()),
- toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
- toString(companySymbolOGRN == null? null : companySymbolOGRN.getCompanySymbolValue()),
- toString(cleanMemberCategories), // может быть несколько, тогда через запятую перечислить
- toString(liability.getRefundPaymentId()),
- toString(liability.getTradingDate()),
- toString(liability.getLiabilitiesQuantity())
- );
- reportBR_0420312P1.getRows().add(info_0420314P1);
- }
-
- return reportBR_0420312P1;
- }
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420314_P1.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_4/ReportBR_0420314_P2_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_4/ReportBR_0420314_P2_Collector.java
deleted file mode 100644
index 14ce6e0bf..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_4/ReportBR_0420314_P2_Collector.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_4;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.account.AccountBalance;
-import ru.clearing.classes.statics.data.company.Company;
-import ru.clearing.classes.statics.data.payment.PaymentInstruction;
-import ru.clearing.classes.statics.data.profile.ProfileDocument;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_4.ReportBR_0420314_P2;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.clearing.reports.services.collector.MapUtil;
-import ru.spcex.platform.enumeration.AccountType;
-import ru.spcex.platform.enumeration.DocumentTypes;
-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 java.math.BigDecimal;
-import java.time.Instant;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-/**
- * accountTransactionLiabilities
- */
-@Component
-@Deprecated
-public class ReportBR_0420314_P2_Collector extends ReportWithPeriodCollector {
- private Imdg companyImdg;
- private Imdg paymentInstructionImdg;
- private Imdg accountBalanceImdg;
- private Imdg profileDocumentImdg;
-
- @Autowired
- public ReportBR_0420314_P2_Collector(ImdgProvider imdgProvider) {
- companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
- paymentInstructionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_PaymentInstruction, PaymentInstruction.class);
- accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
- profileDocumentImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class);
- }
-
- Collection searchPaymentInstruction(LocalDate startDate, LocalDate endDate) {
- ImdgPredicateBuilder pb = paymentInstructionImdg.predicateBuilder();
- Instant dateTimeLo = toInstantStartDay(startDate);
- Instant dateTimeHi = toInstantEndDay(endDate);
- ImdgPredicate p = pb.and(pb.greatEqual("created", dateTimeLo), pb.lessEqual("created", dateTimeHi));
- Collection paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsByPredicate(p);
- return paymentInstructionsAll;
- }
-
- @Override
- public ReportBR_0420314_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- ReportBR_0420314_P2 reportBR_0420312P2 = new ReportBR_0420314_P2(startDate, endDate,
- "", "BR"
- );
-
- Collection paymentInstructionsAll = searchPaymentInstruction(startDate, endDate);
-
- Map> companyIdPyPaymtInstruction =
- MapUtil.indexList(paymentInstructionsAll, PaymentInstruction::getSenderId);
-
- for (Map.Entry> entry : companyIdPyPaymtInstruction.entrySet()) {
- final Long companyId = entry.getKey();
- List paymentInstructionsByCompany = entry.getValue();
- Company company = companyImdg.getSingleObjectByID(companyId);
- if (company == null) {
- log.warn("Company not found, id={}", companyId);
- continue;
- }
- ProfileDocument profileDocumentCntr = profileDocumentImdg.getSingleObjectByFieldValues(Map.of(
- "companyId", companyId,
- "documentType", DocumentTypes.cntr.getKey()
- ));
- AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of(
- "accountType", AccountType.Clrn.getKey(),
- "companyId", companyId
- ));
-
- String documentTypeStr = null;
- if (profileDocumentCntr != null) {
- documentTypeStr = profileDocumentCntr.getNumber();
- if (profileDocumentCntr.getValidFromDate() != null) {
- if (StringUtils.isEmpty(documentTypeStr)) {
- documentTypeStr = "";
- } else {
- documentTypeStr += " ";
- }
- documentTypeStr += toString(profileDocumentCntr.getValidFromDate());
- }
- }
-
- BigDecimal paymentInstruction_creditLeg_amount = paymentInstructionsByCompany.stream()
- .map(PaymentInstruction::getCreditLeg_amount)
- .filter(Objects::nonNull)
- .reduce(BigDecimal::add)
- .orElse(BigDecimal.ZERO);
- BigDecimal paymentInstructiont_debitLeg_amount = paymentInstructionsByCompany.stream()
- .map(PaymentInstruction::getDebitLeg_amount)
- .filter(Objects::nonNull)
- .reduce(BigDecimal::add)
- .orElse(BigDecimal.ZERO);
-
-
- ReportBR_0420314_P2.Info_0420314_P2 info_0420314P2 = new ReportBR_0420314_P2.Info_0420314_P2(
- toString(company.getClearingCode()),
- toString(documentTypeStr),
- toString(accountBalance == null ? null : accountBalance.getOpenBalanceAmount()),
- toString(paymentInstruction_creditLeg_amount),
- toString(paymentInstructiont_debitLeg_amount),
- toString(accountBalance == null ? null : accountBalance.getCloseBalanceAmount())
- );
-
- reportBR_0420312P2.getRows().add(info_0420314P2);
- }
-
- return reportBR_0420312P2;
- }
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420314_P2.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P10_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P10_Collector.java
deleted file mode 100644
index c2c39feb3..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P10_Collector.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P10;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.Objects;
-
-@Component
-@Deprecated
-public class ReportBR_0420312_P10_Collector extends ReportWithPeriodCollector {
- private Imdg liabilitiesClaimsAssetsImdg;
-
- @Autowired
- public ReportBR_0420312_P10_Collector(ImdgProvider imdgProvider) {
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- }
-
- @Override
- public ReportBR_0420312_P10 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- Collection liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
-
- BigDecimal liabilitiesQuantitySum = liabilities.stream()
- .map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
- .filter(Objects::nonNull)
- .reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
-
- ReportBR_0420312_P10 reportBR_0420312P10 = new ReportBR_0420312_P10(startDate, endDate);
- ReportBR_0420312_P10.Info_0420312_P10 reportInfo = new ReportBR_0420312_P10.Info_0420312_P10(toString(liabilitiesQuantitySum));
- reportBR_0420312P10.getRows().add(reportInfo);
-
- return reportBR_0420312P10;
- }
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420312_P10.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P1_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P1_Collector.java
deleted file mode 100644
index a71ff3df7..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P1_Collector.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
-import ru.clearing.classes.statics.data.company.Company;
-import ru.clearing.classes.statics.data.company.CompanySymbols;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P1;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.clearing.reports.services.collector.MapUtil;
-import ru.spcex.platform.enumeration.DocumentTypes;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-@Component
-@Deprecated
-public class ReportBR_0420312_P1_Collector extends ReportWithPeriodCollector {
- private final Imdg companyImdg;
- private final Imdg companySymbolsImdg;
- private final Imdg clearingMemberCategoryImdg;
- private final Imdg liabilitiesClaimsAssetsImdg;
-
- @Autowired
- public ReportBR_0420312_P1_Collector(ImdgProvider imdgProvider) {
- companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
- clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
- }
-
- protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
- CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
- "companySymbol", docType.getKey(),
- "companyId", companyId
- ));
- return companySymbol;
- }
-
- @Override
- public ReportBR_0420312_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- ReportBR_0420312_P1 reportBR_0420312P1 = new ReportBR_0420312_P1(startDate, endDate, "BR");
-
- Collection liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
- Map> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
-
- for (Map.Entry> companyEntry : indexByCompany.entrySet()) {
- final Long companyId = companyEntry.getKey();
- Company company = companyImdg.getSingleObjectByID(companyId);
- if (company == null) {
- log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
- continue;
- }
- CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
- CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
- ClearingMemberCategory cmc = clearingMemberCategoryImdg.getSingleObjectByFieldValues(Map.of("companyId", companyId));
- String clearingMemberCategory = cmc == null ? null : cmc.getClearingMemberCategory();
- ReportBR_0420312_P1.Info_0420312_P1 info_0420312_p1 = new ReportBR_0420312_P1.Info_0420312_P1(
- toString(company.getClearingCode()),
- toString(companyId),
- toString(company.getFullName()),
- companySymbolINN == null ? null : toString(companySymbolINN.getCompanySymbolValue()),
- companySymbolOGRN == null ? null : toString(companySymbolOGRN.getCompanySymbolValue()),
- toString(company.getProfile().getCountryCode()),
- toString(clearingMemberCategory));
- reportBR_0420312P1.getRows().add(info_0420312_p1);
- }
-
- return reportBR_0420312P1;
- }
-
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420312_P1.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P2_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P2_Collector.java
deleted file mode 100644
index dbae68ea5..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P2_Collector.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P2;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.clearing.reports.services.collector.MapUtil;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-@Component
-@Deprecated
-public class ReportBR_0420312_P2_Collector extends ReportWithPeriodCollector {
- private Imdg liabilitiesClaimsAssetsImdg;
-
- @Autowired
- public ReportBR_0420312_P2_Collector(ImdgProvider imdgProvider) {
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- }
-
- @Override
- public ReportBR_0420312_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- ReportBR_0420312_P2 reportBR_0420312P1 = new ReportBR_0420312_P2(startDate, endDate, "BR");
-
- Collection liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
- Map> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
-
- for (Map.Entry> companyEntry : indexByCompany.entrySet()) {
- final Long companyId = companyEntry.getKey();
- List companyLiabilities=companyEntry.getValue();
-
- BigDecimal liabilitiesQuantitySum = companyLiabilities.stream()
- .map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
- .filter(Objects::nonNull)
- .reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
-
- ReportBR_0420312_P2.Info_0420312_P2 info_0420312_p2 = new ReportBR_0420312_P2.Info_0420312_P2(
- toString(companyId),
- toString(liabilitiesQuantitySum)
- );
- reportBR_0420312P1.getRows().add(info_0420312_p2);
- }
-
- return reportBR_0420312P1;
- }
-
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420312_P2.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P3_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P3_Collector.java
deleted file mode 100644
index 64a0256c5..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P3_Collector.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P3;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.clearing.reports.services.collector.MapUtil;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-@Component
-@Deprecated
-public class ReportBR_0420312_P3_Collector extends ReportWithPeriodCollector {
- private Imdg liabilitiesClaimsAssetsImdg;
-
- @Autowired
- public ReportBR_0420312_P3_Collector(ImdgProvider imdgProvider) {
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- }
-
- @Override
- public ReportBR_0420312_P3 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- ReportBR_0420312_P3 reportBR_0420312P1 = new ReportBR_0420312_P3(startDate, endDate, "BR");
-
- Collection liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
- Map> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
-
- for (Map.Entry> companyEntry : indexByCompany.entrySet()) {
- final Long companyId = companyEntry.getKey();
- List companyLiabilities=companyEntry.getValue();
-
- BigDecimal liabilitiesQuantitySum = companyLiabilities.stream()
- .map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
- .filter(Objects::nonNull)
- .reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
-
- // расчёт похож на ReportBR_0420312_P2
- ReportBR_0420312_P3.Info_0420312_P3 info_0420312_p3 = new ReportBR_0420312_P3.Info_0420312_P3(
- toString(companyId),
- toString(liabilitiesQuantitySum)
- );
- reportBR_0420312P1.getRows().add(info_0420312_p3);
- }
-
- return reportBR_0420312P1;
- }
-
- @Override
- public Class getReportClass() {
- return ReportBR_0420312_P3.class;
- }
-}
diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P4_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P4_Collector.java
deleted file mode 100644
index 9a16262ef..000000000
--- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/bt/bt_17_5/ReportBR_0420312_P4_Collector.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
-import ru.spcex.clearing.imdg.IMDGDistributedNames;
-import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P4;
-import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
-import ru.spcex.platform.imdg.api.Imdg;
-import ru.spcex.platform.imdg.api.ImdgProvider;
-
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Collection;
-import java.util.Objects;
-
-@Component
-@Deprecated
-public class ReportBR_0420312_P4_Collector extends ReportWithPeriodCollector {
- private Imdg liabilitiesClaimsAssetsImdg;
-
- @Autowired
- public ReportBR_0420312_P4_Collector(ImdgProvider imdgProvider) {
- liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
- }
-
- @Override
- public ReportBR_0420312_P4 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
- validateDateRange(startDate, endDate);
-
- Collection |