kafka reports
This commit is contained in:
parent
5ce07b5404
commit
59a93ee43f
33 changed files with 248 additions and 120 deletions
|
|
@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
|
import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||||
import ru.spcex.clearing.reports.services.ReportDataCollector;
|
import ru.spcex.clearing.reports.services.ReportDataCollector;
|
||||||
import ru.spcex.clearing.reports.services.ReportsService;
|
import ru.spcex.clearing.reports.services.ReportsService;
|
||||||
import ru.spcex.clearing.reports.services.builders.XMLReportBuilder;
|
import ru.spcex.clearing.reports.services.builders.XMLReportBuilder;
|
||||||
|
|
@ -31,10 +32,11 @@ public class ReportsServiceApplication {
|
||||||
log.info("Report types: {}", allReports);
|
log.info("Report types: {}", allReports);
|
||||||
for (ReportDataCollector collector:allReports.values()) {
|
for (ReportDataCollector collector:allReports.values()) {
|
||||||
log.info("Make report {}", collector);
|
log.info("Make report {}", collector);
|
||||||
XMLReportBuilder xmlReportBuilder = new XMLReportBuilder(collector.getReportClass(), collector);
|
XMLReportBuilder<? extends AbstractReport> xmlReportBuilder = new XMLReportBuilder<>(collector.getReportClass());
|
||||||
LocalDate date2 = LocalDate.now();
|
LocalDate date2 = LocalDate.now();
|
||||||
LocalDate date1 = LocalDate.of(date2.getYear(), date2.getMonth(), 1);//date2.minusMonths(1);
|
LocalDate date1 = LocalDate.of(date2.getYear(), date2.getMonth(), 1);//date2.minusMonths(1);
|
||||||
xmlReportBuilder.createReport(date1, date2);
|
AbstractReport report = collector.collectReportWithPeriod(date1, date2);
|
||||||
|
xmlReportBuilder.createReport(report);
|
||||||
}
|
}
|
||||||
log.info("Shutdown application after work");
|
log.info("Shutdown application after work");
|
||||||
context.close(); // todo если будет запущен как сервис, сделать выход опционально, по другому.
|
context.close(); // todo если будет запущен как сервис, сделать выход опционально, по другому.
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package ru.spcex.clearing.reports.reports;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
|
import com.thoughtworks.xstream.annotations.XStreamOmitField;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
@ -13,6 +14,9 @@ public abstract class AbstractReport {
|
||||||
protected static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
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");
|
protected static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy'T'HH:mm:ss");
|
||||||
|
|
||||||
|
@XStreamOmitField
|
||||||
|
protected ReportId reportId;
|
||||||
|
|
||||||
@XStreamAsAttribute
|
@XStreamAsAttribute
|
||||||
@XStreamAlias("version")
|
@XStreamAlias("version")
|
||||||
protected String version;
|
protected String version;
|
||||||
|
|
@ -25,9 +29,11 @@ public abstract class AbstractReport {
|
||||||
@XStreamAlias("name")
|
@XStreamAlias("name")
|
||||||
protected String name;
|
protected String name;
|
||||||
|
|
||||||
public AbstractReport(String version,
|
public AbstractReport(ReportId reportId,
|
||||||
|
String version,
|
||||||
String code,
|
String code,
|
||||||
String name) {
|
String name) {
|
||||||
|
this.reportId = reportId;
|
||||||
this.version = version;
|
this.version = version;
|
||||||
this.code = code;
|
this.code = code;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
package ru.spcex.clearing.reports.reports;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Идентификаторы отчётов
|
||||||
|
*/
|
||||||
|
public enum ReportId {
|
||||||
|
PA_BT2_B, PA_BT2_IV,
|
||||||
|
|
||||||
|
BT13_11, BT13_12,
|
||||||
|
|
||||||
|
BT16_5,
|
||||||
|
|
||||||
|
BR_0420315_P1, BR_0420315_P2,
|
||||||
|
|
||||||
|
BR_0420317,
|
||||||
|
|
||||||
|
BR_0420318,
|
||||||
|
|
||||||
|
BR_0420314_P1, BR_0420314_P2,
|
||||||
|
|
||||||
|
BR_0420312_P1, BR_0420312_P2, BR_0420312_P3, BR_0420312_P4,
|
||||||
|
BR_0420312_P5, BR_0420312_P6, BR_0420312_P7, BR_0420312_P8,
|
||||||
|
BR_0420312_P9, BR_0420312_P10,
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,6 @@ package ru.spcex.clearing.reports.reports;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
|
@ -11,13 +10,14 @@ public abstract class ReportWithClearingStatus extends ReportWithPeriod {
|
||||||
@XStreamAlias("clearingStatus")
|
@XStreamAlias("clearingStatus")
|
||||||
protected String clearingStatus;
|
protected String clearingStatus;
|
||||||
|
|
||||||
public ReportWithClearingStatus(String version,
|
public ReportWithClearingStatus(ReportId reportId,
|
||||||
|
String version,
|
||||||
String code,
|
String code,
|
||||||
String name,
|
String name,
|
||||||
LocalDate startDate,
|
LocalDate startDate,
|
||||||
LocalDate endDate,
|
LocalDate endDate,
|
||||||
String clearingStatus) {
|
String clearingStatus) {
|
||||||
super(version, code, name, startDate, endDate);
|
super(reportId, version, code, name, startDate, endDate);
|
||||||
this.clearingStatus = clearingStatus;
|
this.clearingStatus = clearingStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
package ru.spcex.clearing.reports;
|
package ru.spcex.clearing.reports.reports;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamConverter;
|
import com.thoughtworks.xstream.annotations.XStreamConverter;
|
||||||
import ru.spcex.clearing.reports.reports.AbstractReport;
|
|
||||||
import ru.spcex.clearing.reports.xml_test.FormattedLocalDateConverter;
|
import ru.spcex.clearing.reports.xml_test.FormattedLocalDateConverter;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
@ -24,12 +23,13 @@ public abstract class ReportWithPeriod extends AbstractReport {
|
||||||
protected LocalDate endDate;
|
protected LocalDate endDate;
|
||||||
|
|
||||||
|
|
||||||
public ReportWithPeriod(String version,
|
public ReportWithPeriod(ReportId reportId,
|
||||||
|
String version,
|
||||||
String code,
|
String code,
|
||||||
String name,
|
String name,
|
||||||
LocalDate startDate,
|
LocalDate startDate,
|
||||||
LocalDate endDate) {
|
LocalDate endDate) {
|
||||||
super(version, code, name);
|
super(reportId, version, code, name);
|
||||||
this.startDate = startDate;
|
this.startDate = startDate;
|
||||||
this.endDate = endDate;
|
this.endDate = endDate;
|
||||||
}
|
}
|
||||||
|
|
@ -2,19 +2,18 @@ package ru.spcex.clearing.reports.reports.bt_12_2;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@XStreamAlias("netPositionBank")
|
@XStreamAlias("netPositionBank")
|
||||||
public class ReportPA_BT2_B extends ReportWithPeriod {
|
public class ReportPA_BT2_B extends ReportWithPeriod {
|
||||||
|
|
||||||
@XStreamAsAttribute
|
@XStreamAsAttribute
|
||||||
@XStreamAlias("clearingMemberCategory")
|
@XStreamAlias("clearingMemberCategory")
|
||||||
private String clearingMemberCategory;
|
private String clearingMemberCategory;
|
||||||
|
|
||||||
|
|
||||||
@XStreamAlias("liabilitiesClaimsAssets_fullName")
|
@XStreamAlias("liabilitiesClaimsAssets_fullName")
|
||||||
private String liabilitiesClaimsAssetsFullName;
|
private String liabilitiesClaimsAssetsFullName;
|
||||||
|
|
||||||
|
|
@ -73,7 +72,8 @@ public class ReportPA_BT2_B extends ReportWithPeriod {
|
||||||
String claimsAmount,
|
String claimsAmount,
|
||||||
String liabilitiesAmount,
|
String liabilitiesAmount,
|
||||||
String paymentAmount) {
|
String paymentAmount) {
|
||||||
super("0.0.1",
|
super(ReportId.PA_BT2_B,
|
||||||
|
"0.0.1",
|
||||||
"BT2",
|
"BT2",
|
||||||
"Отчет по нетто-позиции участника клиринга в секции МКР (Уполномоченный банк)",
|
"Отчет по нетто-позиции участника клиринга в секции МКР (Уполномоченный банк)",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,18 @@ package ru.spcex.clearing.reports.reports.bt_12_2;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@XStreamAlias("netPositionInitiator")
|
@XStreamAlias("netPositionInitiator")
|
||||||
public class ReportPA_BT2_IV extends ReportWithPeriod {
|
public class ReportPA_BT2_IV extends ReportWithPeriod {
|
||||||
|
|
||||||
@XStreamAsAttribute
|
@XStreamAsAttribute
|
||||||
@XStreamAlias("clearingMemberCategory")
|
@XStreamAlias("clearingMemberCategory")
|
||||||
private String clearingMemberCategory;
|
private String clearingMemberCategory;
|
||||||
|
|
||||||
|
|
||||||
@XStreamAlias("liabilitiesClaimsAssets_fullName")
|
@XStreamAlias("liabilitiesClaimsAssets_fullName")
|
||||||
private String liabilitiesClaimsAssetsFullName;
|
private String liabilitiesClaimsAssetsFullName;
|
||||||
|
|
||||||
|
|
@ -73,7 +72,8 @@ public class ReportPA_BT2_IV extends ReportWithPeriod {
|
||||||
String claimsAmount,
|
String claimsAmount,
|
||||||
String liabilitiesAmount,
|
String liabilitiesAmount,
|
||||||
String paymentAmount) {
|
String paymentAmount) {
|
||||||
super("0.0.1",
|
super(ReportId.PA_BT2_IV,
|
||||||
|
"0.0.1",
|
||||||
"BT2",
|
"BT2",
|
||||||
"Отчет по нетто-позиции участника клиринга в секции МКР (Вкладчик)",
|
"Отчет по нетто-позиции участника клиринга в секции МКР (Вкладчик)",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.reports.reports.bt_13;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.reports.AbstractReport;
|
import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -18,7 +19,6 @@ public class Report_BT13_11 extends AbstractReport {
|
||||||
@XStreamAlias("time")
|
@XStreamAlias("time")
|
||||||
private LocalTime time;
|
private LocalTime time;
|
||||||
|
|
||||||
|
|
||||||
@XStreamAlias("inDocumentJournal_registrationDate")
|
@XStreamAlias("inDocumentJournal_registrationDate")
|
||||||
private String inDocumentJournalRegistrationDate;
|
private String inDocumentJournalRegistrationDate;
|
||||||
|
|
||||||
|
|
@ -74,7 +74,7 @@ public class Report_BT13_11 extends AbstractReport {
|
||||||
String inDocumentJournalDossierNumber,
|
String inDocumentJournalDossierNumber,
|
||||||
String inDocumentJournalComment,
|
String inDocumentJournalComment,
|
||||||
String inDocumentJournalReceiptDate) {
|
String inDocumentJournalReceiptDate) {
|
||||||
super("0.0.1", "BT 13.11", "Журнал Входящих документов");
|
super(ReportId.BT13_11, "0.0.1", "BT 13.11", "Журнал Входящих документов");
|
||||||
this.date = date;
|
this.date = date;
|
||||||
this.time = time;
|
this.time = time;
|
||||||
this.inDocumentJournalRegistrationDate = inDocumentJournalRegistrationDate;
|
this.inDocumentJournalRegistrationDate = inDocumentJournalRegistrationDate;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.reports.reports.bt_13;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.reports.AbstractReport;
|
import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -18,7 +19,6 @@ public class Report_BT13_12 extends AbstractReport {
|
||||||
@XStreamAlias("time")
|
@XStreamAlias("time")
|
||||||
private LocalTime time;
|
private LocalTime time;
|
||||||
|
|
||||||
|
|
||||||
@XStreamAlias("outDocumentJournal_registrationDate")
|
@XStreamAlias("outDocumentJournal_registrationDate")
|
||||||
private String outDocumentJournalRegistrationDate;
|
private String outDocumentJournalRegistrationDate;
|
||||||
|
|
||||||
|
|
@ -70,41 +70,7 @@ public class Report_BT13_12 extends AbstractReport {
|
||||||
String outDocumentJournalAmount,
|
String outDocumentJournalAmount,
|
||||||
String outDocumentJournalDossierNumber,
|
String outDocumentJournalDossierNumber,
|
||||||
String outDocumentJournalPostDate) {
|
String outDocumentJournalPostDate) {
|
||||||
super("0.0.1", "BT 13.12", "Журнал Исходящих документов");
|
super(ReportId.BT13_12, "0.0.1", "BT 13.12", "Журнал Исходящих документов");
|
||||||
this.date = date;
|
|
||||||
this.time = time;
|
|
||||||
this.outDocumentJournalRegistrationDate = outDocumentJournalRegistrationDate;
|
|
||||||
this.outDocumentJournalRegistrationTime = outDocumentJournalRegistrationTime;
|
|
||||||
this.outDocumentJournalRegistrationNumber = outDocumentJournalRegistrationNumber;
|
|
||||||
this.outDocumentJournalDocumentName = outDocumentJournalDocumentName;
|
|
||||||
this.outDocumentJournalAddress = outDocumentJournalAddress;
|
|
||||||
this.outDocumentJournalQuantity = outDocumentJournalQuantity;
|
|
||||||
this.outDocumentJournalClearingCode = outDocumentJournalClearingCode;
|
|
||||||
this.outDocumentJournalCourierType = outDocumentJournalCourierType;
|
|
||||||
this.outDocumentJournal_emailDate = outDocumentJournal_emailDate;
|
|
||||||
this.outDocumentJournalAmount = outDocumentJournalAmount;
|
|
||||||
this.outDocumentJournalDossierNumber = outDocumentJournalDossierNumber;
|
|
||||||
this.outDocumentJournalPostDate = outDocumentJournalPostDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Report_BT13_12(String version,
|
|
||||||
String code,
|
|
||||||
String name,
|
|
||||||
LocalDate date,
|
|
||||||
LocalTime time,
|
|
||||||
String outDocumentJournalRegistrationDate,
|
|
||||||
String outDocumentJournalRegistrationTime,
|
|
||||||
String outDocumentJournalRegistrationNumber,
|
|
||||||
String outDocumentJournalDocumentName,
|
|
||||||
String outDocumentJournalAddress,
|
|
||||||
String outDocumentJournalQuantity,
|
|
||||||
String outDocumentJournalClearingCode,
|
|
||||||
String outDocumentJournalCourierType,
|
|
||||||
String outDocumentJournal_emailDate,
|
|
||||||
String outDocumentJournalAmount,
|
|
||||||
String outDocumentJournalDossierNumber,
|
|
||||||
String outDocumentJournalPostDate) {
|
|
||||||
super(version, code, name);
|
|
||||||
this.date = date;
|
this.date = date;
|
||||||
this.time = time;
|
this.time = time;
|
||||||
this.outDocumentJournalRegistrationDate = outDocumentJournalRegistrationDate;
|
this.outDocumentJournalRegistrationDate = outDocumentJournalRegistrationDate;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.reports.reports.bt_16_5;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.reports.AbstractReport;
|
import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -57,7 +58,10 @@ public class Report_BT16_5 extends AbstractReport {
|
||||||
String accountBalanceDebitAmount,
|
String accountBalanceDebitAmount,
|
||||||
String accountBalanceCreditAmount,
|
String accountBalanceCreditAmount,
|
||||||
String accountBalanceCloseAmount) {
|
String accountBalanceCloseAmount) {
|
||||||
super("0.0.1", "BT 16.5", "Отчет о денежных средствах на счете внутреннего учета (клиринговом регистре) Участника клиринга");
|
super(ReportId.BT16_5,
|
||||||
|
"0.0.1",
|
||||||
|
"BT 16.5",
|
||||||
|
"Отчет о денежных средствах на счете внутреннего учета (клиринговом регистре) Участника клиринга");
|
||||||
this.date = date;
|
this.date = date;
|
||||||
this.time = time;
|
this.time = time;
|
||||||
this.clearingHouse = clearingHouse;
|
this.clearingHouse = clearingHouse;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package ru.spcex.clearing.reports.reports.bt_17_1;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
|
import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
@ -28,7 +29,8 @@ public class ReportBR_0420315_P1 extends ReportWithClearingStatus {
|
||||||
String destination,
|
String destination,
|
||||||
String clearingMemberCategory,
|
String clearingMemberCategory,
|
||||||
String clearingStatus) {
|
String clearingStatus) {
|
||||||
super("0.0.1",
|
super(ReportId.BR_0420315_P1,
|
||||||
|
"0.0.1",
|
||||||
"0420315",
|
"0420315",
|
||||||
"Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период, часть 1",
|
"Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период, часть 1",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_1;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -21,7 +22,8 @@ public class ReportBR_0420315_P2 extends ReportWithPeriod {
|
||||||
String destination,
|
String destination,
|
||||||
String contractQty,
|
String contractQty,
|
||||||
String liabilitiesAmount) {
|
String liabilitiesAmount) {
|
||||||
super("0.0.1",
|
super(ReportId.BR_0420315_P2,
|
||||||
|
"0.0.1",
|
||||||
"0420315",
|
"0420315",
|
||||||
"Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период, часть 2",
|
"Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период, часть 2",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_2;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -19,7 +20,8 @@ public class ReportBR_0420317 extends ReportWithPeriod {
|
||||||
private final List<Info_0420317> rows = new ArrayList<>();
|
private final List<Info_0420317> rows = new ArrayList<>();
|
||||||
|
|
||||||
public ReportBR_0420317(LocalDate startDate, LocalDate endDate, String destination) {
|
public ReportBR_0420317(LocalDate startDate, LocalDate endDate, String destination) {
|
||||||
super("0.0.1",
|
super(ReportId.BR_0420317,
|
||||||
|
"0.0.1",
|
||||||
"0420317",
|
"0420317",
|
||||||
"Сведения о предоставлении, прекращении, приостановке," +
|
"Сведения о предоставлении, прекращении, приостановке," +
|
||||||
" возобновлении допуска к клиринговому обслуживанию",
|
" возобновлении допуска к клиринговому обслуживанию",
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package ru.spcex.clearing.reports.reports.bt_17_3;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
|
import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
@ -19,7 +20,8 @@ public class ReportBR_0420318 extends ReportWithClearingStatus {
|
||||||
private final List<Info_0420318> rows = new ArrayList<>();
|
private final List<Info_0420318> rows = new ArrayList<>();
|
||||||
|
|
||||||
public ReportBR_0420318(LocalDate startDate, LocalDate endDate, String clearingStatus, String destination) {
|
public ReportBR_0420318(LocalDate startDate, LocalDate endDate, String clearingStatus, String destination) {
|
||||||
super("0.0.1",
|
super(ReportId.BR_0420318,
|
||||||
|
"0.0.1",
|
||||||
"0420318",
|
"0420318",
|
||||||
"Сведения о неисполненных обязательствах",
|
"Сведения о неисполненных обязательствах",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package ru.spcex.clearing.reports.reports.bt_17_4;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
|
import ru.spcex.clearing.reports.reports.ReportWithClearingStatus;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|
@ -19,7 +20,8 @@ public class ReportBR_0420314_P1 extends ReportWithClearingStatus {
|
||||||
private final List<Info_0420314_P1> rows = new ArrayList<>();
|
private final List<Info_0420314_P1> rows = new ArrayList<>();
|
||||||
|
|
||||||
public ReportBR_0420314_P1(LocalDate startDate, LocalDate endDate, String clearingStatus, String destination) {
|
public ReportBR_0420314_P1(LocalDate startDate, LocalDate endDate, String clearingStatus, String destination) {
|
||||||
super("0.0.1",
|
super(ReportId.BR_0420314_P1,
|
||||||
|
"0.0.1",
|
||||||
"0420314",
|
"0420314",
|
||||||
"Сведения об УК и операциях, проведенных по торговым счетам, часть 1",
|
"Сведения об УК и операциях, проведенных по торговым счетам, часть 1",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_4;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -23,7 +24,8 @@ public class ReportBR_0420314_P2 extends ReportWithPeriod {
|
||||||
private final List<Info_0420314_P2> rows = new ArrayList<>();
|
private final List<Info_0420314_P2> rows = new ArrayList<>();
|
||||||
|
|
||||||
public ReportBR_0420314_P2(LocalDate startDate, LocalDate endDate, String transactionStatus, String destination) {
|
public ReportBR_0420314_P2(LocalDate startDate, LocalDate endDate, String transactionStatus, String destination) {
|
||||||
super("0.0.1",
|
super(ReportId.BR_0420314_P2,
|
||||||
|
"0.0.1",
|
||||||
"0420314",
|
"0420314",
|
||||||
"Сведения об УК и операциях, проведенных по торговым счетам, часть 2",
|
"Сведения об УК и операциях, проведенных по торговым счетам, часть 2",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -22,7 +23,8 @@ public class ReportBR_0420312_P1 extends ReportWithPeriod {
|
||||||
public ReportBR_0420312_P1(LocalDate startDate,
|
public ReportBR_0420312_P1(LocalDate startDate,
|
||||||
LocalDate endDate,
|
LocalDate endDate,
|
||||||
String destination) {
|
String destination) {
|
||||||
super("0.0.1",
|
super(ReportId.BR_0420312_P1,
|
||||||
|
"0.0.1",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 1",
|
"Сведения о клиринговом обеспечении, часть 1",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -20,7 +21,8 @@ public class ReportBR_0420312_P10 extends ReportWithPeriod {
|
||||||
LocalDate endDate,
|
LocalDate endDate,
|
||||||
String destination,
|
String destination,
|
||||||
String liabilitiesAmount) {
|
String liabilitiesAmount) {
|
||||||
super("0.0.5",
|
super(ReportId.BR_0420312_P10,
|
||||||
|
"0.0.5",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 10",
|
"Сведения о клиринговом обеспечении, часть 10",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -21,7 +22,8 @@ public class ReportBR_0420312_P2 extends ReportWithPeriod {
|
||||||
String destination,
|
String destination,
|
||||||
String liabilitiesClaimsAssetsCompanyId,
|
String liabilitiesClaimsAssetsCompanyId,
|
||||||
String liabilitiesClaimsAssetsLiabilities) {
|
String liabilitiesClaimsAssetsLiabilities) {
|
||||||
super("0.0.1",
|
super(ReportId.BR_0420312_P2,
|
||||||
|
"0.0.1",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 2",
|
"Сведения о клиринговом обеспечении, часть 2",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -21,7 +22,8 @@ public class ReportBR_0420312_P3 extends ReportWithPeriod {
|
||||||
String destination,
|
String destination,
|
||||||
String liabilitiesClaimsAssetsCompanyId,
|
String liabilitiesClaimsAssetsCompanyId,
|
||||||
String liabilitiesClaimsAssetsLiabilities) {
|
String liabilitiesClaimsAssetsLiabilities) {
|
||||||
super("0.0.5",
|
super(ReportId.BR_0420312_P3,
|
||||||
|
"0.0.5",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 3",
|
"Сведения о клиринговом обеспечении, часть 3",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -20,7 +21,8 @@ public class ReportBR_0420312_P4 extends ReportWithPeriod {
|
||||||
LocalDate endDate,
|
LocalDate endDate,
|
||||||
String destination,
|
String destination,
|
||||||
String liabilitiesAmount) {
|
String liabilitiesAmount) {
|
||||||
super("0.0.5",
|
super(ReportId.BR_0420312_P4,
|
||||||
|
"0.0.5",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 4",
|
"Сведения о клиринговом обеспечении, часть 4",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -20,7 +21,8 @@ public class ReportBR_0420312_P5 extends ReportWithPeriod {
|
||||||
LocalDate endDate,
|
LocalDate endDate,
|
||||||
String destination,
|
String destination,
|
||||||
String liabilitiesAmount) {
|
String liabilitiesAmount) {
|
||||||
super("0.0.5",
|
super(ReportId.BR_0420312_P5,
|
||||||
|
"0.0.5",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 5",
|
"Сведения о клиринговом обеспечении, часть 5",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -20,7 +21,8 @@ public class ReportBR_0420312_P6 extends ReportWithPeriod {
|
||||||
LocalDate endDate,
|
LocalDate endDate,
|
||||||
String destination,
|
String destination,
|
||||||
String liabilitiesAmount) {
|
String liabilitiesAmount) {
|
||||||
super("0.0.5",
|
super(ReportId.BR_0420312_P6,
|
||||||
|
"0.0.5",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 6",
|
"Сведения о клиринговом обеспечении, часть 6",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -20,7 +21,8 @@ public class ReportBR_0420312_P7 extends ReportWithPeriod {
|
||||||
LocalDate endDate,
|
LocalDate endDate,
|
||||||
String destination,
|
String destination,
|
||||||
String liabilitiesAmount) {
|
String liabilitiesAmount) {
|
||||||
super("0.0.5",
|
super(ReportId.BR_0420312_P7,
|
||||||
|
"0.0.5",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 7",
|
"Сведения о клиринговом обеспечении, часть 7",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -26,7 +27,8 @@ public class ReportBR_0420312_P8 extends ReportWithPeriod {
|
||||||
String companySymbolValue,
|
String companySymbolValue,
|
||||||
String companyInfoCountryCode,
|
String companyInfoCountryCode,
|
||||||
String clearingMemberCategoryClearingMemberCategory) {
|
String clearingMemberCategoryClearingMemberCategory) {
|
||||||
super("0.0.5",
|
super(ReportId.BR_0420312_P8,
|
||||||
|
"0.0.5",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 8",
|
"Сведения о клиринговом обеспечении, часть 8",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||||
|
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||||
import ru.spcex.clearing.reports.ReportWithPeriod;
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -23,7 +24,8 @@ public class ReportBR_0420312_P9 extends ReportWithPeriod {
|
||||||
String liabilitiesClaimsAssetsCompanyId,
|
String liabilitiesClaimsAssetsCompanyId,
|
||||||
String liabilitiesClaimsMoneyCurrencyCode,
|
String liabilitiesClaimsMoneyCurrencyCode,
|
||||||
String liabilitiesClaimsAssetsLiabilities) {
|
String liabilitiesClaimsAssetsLiabilities) {
|
||||||
super("0.0.5",
|
super(ReportId.BR_0420312_P9,
|
||||||
|
"0.0.5",
|
||||||
"0420312",
|
"0420312",
|
||||||
"Сведения о клиринговом обеспечении, часть 9",
|
"Сведения о клиринговом обеспечении, часть 9",
|
||||||
startDate,
|
startDate,
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,28 @@
|
||||||
package ru.spcex.clearing.reports.services;
|
package ru.spcex.clearing.reports.services;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
|
||||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
|
||||||
|
|
||||||
import org.apache.kafka.clients.consumer.Consumer;
|
import org.apache.kafka.clients.consumer.Consumer;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
import ru.spcex.clearing.platform.messaging.domain.cud.reports.ReportWithPeriodRequest;
|
||||||
//import ru.spcex.clearing.platform.messaging.domain.cud.balance.ExportToFileRequest; todo use class?
|
|
||||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||||
|
import ru.spcex.clearing.reports.reports.ReportId;
|
||||||
|
import ru.spcex.clearing.reports.services.builders.XMLReportBuilder;
|
||||||
import ru.spcex.platform.enumeration.Task;
|
import ru.spcex.platform.enumeration.Task;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
|
||||||
import ru.spcex.platform.imdg.api.ImdgId;
|
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class QCommandExecutor extends QueueConsumer implements InitializingBean {
|
public class QCommandExecutor extends QueueConsumer implements InitializingBean {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
private final Map<ReportId, ReportDataCollector> collectorForReport = new HashMap<>();
|
||||||
// private final ImdgId idGenerator;
|
// private final ImdgId idGenerator;
|
||||||
// private final KafkaSender kafkaReqProducer;
|
// private final KafkaSender kafkaReqProducer;
|
||||||
|
|
||||||
|
|
@ -29,21 +30,45 @@ public class QCommandExecutor extends QueueConsumer implements InitializingBean
|
||||||
public QCommandExecutor(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider,
|
public QCommandExecutor(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider,
|
||||||
List<ReportDataCollector> listOfCollectors) {
|
List<ReportDataCollector> listOfCollectors) {
|
||||||
super(kafkaQueue);
|
super(kafkaQueue);
|
||||||
// todo constructor
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void afterPropertiesSet() {
|
public void afterPropertiesSet() {
|
||||||
log.debug("Init queue listener {}", getClass().getSimpleName());
|
log.debug("Init queue listener {}", getClass().getSimpleName());
|
||||||
// callback(Object.class)
|
callback(ReportWithPeriodRequest.class)
|
||||||
// .setConsumer(this::newReportDo)
|
.setConsumer(this::newReportWithPeriod)
|
||||||
// .forDestination(Task.getVerification!!!.topic(), callbacks::put); // todo здесь надо указать команду из ТЗ или согласовать с фронтэндом
|
.forDestination(Task.createReport.topic(), callbacks::put);
|
||||||
// init();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void newReportDo(BaseRequest<Object> userRequest) {
|
private void newReportWithPeriod(BaseRequest<ReportWithPeriodRequest> reportRequest) {
|
||||||
log.debug("newReportDo request received");
|
log.debug("newReportWithPeriod request received");
|
||||||
// todo logic
|
|
||||||
|
ReportWithPeriodRequest request = reportRequest.getRequestPayload();
|
||||||
|
|
||||||
|
if (request.getReportId() == null || request.getReportId().isBlank())
|
||||||
|
throw new IllegalStateException("ReportID is empty");
|
||||||
|
ReportId reportId = ReportId.valueOf(request.getReportId());
|
||||||
|
ReportDataCollector<?> reportDataCollector = collectorForReport.get(reportId);
|
||||||
|
if (reportDataCollector == null)
|
||||||
|
throw new IllegalStateException("Collector for ReportID " + reportId + " not implemented yet");
|
||||||
|
|
||||||
|
if (request.getStartDate() == null || request.getEndDate() == null)
|
||||||
|
throw new IllegalStateException("StartDate or EndDate is null");
|
||||||
|
LocalDate startDate = request.getStartDate();
|
||||||
|
LocalDate endDate = request.getEndDate();
|
||||||
|
if (startDate.isAfter(endDate)) throw new IllegalStateException("StartDate > EndDate");
|
||||||
|
|
||||||
|
XMLReportBuilder reportBuilder = new XMLReportBuilder(reportDataCollector.getReportClass());
|
||||||
|
AbstractReport report = reportDataCollector.collectReportWithPeriod(startDate, endDate);
|
||||||
|
File reportFile = null;
|
||||||
|
try {
|
||||||
|
reportFile = reportBuilder.createReport(report);
|
||||||
|
} catch (IOException e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (reportFile != null) {
|
||||||
|
// put file in folder
|
||||||
|
}
|
||||||
log.debug("successfully processed");
|
log.debug("successfully processed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,16 @@ import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public abstract class DOCXReportBuilder<R extends AbstractReport> extends FileReportBuilder<R> {
|
public class DOCXReportBuilder extends FileReportBuilder {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
protected DOCXReportBuilder(Class<R> reportClass, File templateResource) throws IOException {
|
protected DOCXReportBuilder(Class<? extends AbstractReport> reportClass, File templateResource) throws IOException {
|
||||||
super(reportClass);
|
super(reportClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public File createReport(AbstractReport report) throws IOException {
|
||||||
|
// todo implement
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,13 @@ package ru.spcex.clearing.reports.services.builders;
|
||||||
|
|
||||||
import ru.spcex.clearing.reports.reports.AbstractReport;
|
import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||||
|
|
||||||
public abstract class FileReportBuilder<R extends AbstractReport> {
|
import java.io.File;
|
||||||
protected final Class<R> reportClass;
|
import java.io.IOException;
|
||||||
|
|
||||||
protected FileReportBuilder(Class<R> reportClass) {
|
public abstract class FileReportBuilder {
|
||||||
|
protected final Class<? extends AbstractReport> reportClass;
|
||||||
|
|
||||||
|
protected FileReportBuilder(Class<? extends AbstractReport> reportClass) {
|
||||||
this.reportClass = reportClass;
|
this.reportClass = reportClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -13,4 +16,6 @@ public abstract class FileReportBuilder<R extends AbstractReport> {
|
||||||
if (System.getProperty("os.name").toLowerCase().contains("windows")) reportName = reportName.replace(":", "_");
|
if (System.getProperty("os.name").toLowerCase().contains("windows")) reportName = reportName.replace(":", "_");
|
||||||
return reportName + extension;
|
return reportName + extension;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public abstract File createReport(AbstractReport report) throws IOException;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,30 +6,24 @@ import com.thoughtworks.xstream.io.xml.XppDriver;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import ru.spcex.clearing.reports.reports.AbstractReport;
|
import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||||
import ru.spcex.clearing.reports.services.ReportDataCollector;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
public class XMLReportBuilder<R extends AbstractReport> extends FileReportBuilder<R> {
|
public class XMLReportBuilder extends FileReportBuilder {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
protected final XStream xStream;
|
protected final XStream xStream;
|
||||||
|
|
||||||
protected final ReportDataCollector<R> collector;
|
public XMLReportBuilder(Class<? extends AbstractReport> reportClass) {
|
||||||
|
|
||||||
public XMLReportBuilder(Class<R> reportClass, ReportDataCollector<R> collector) {
|
|
||||||
super(reportClass);
|
super(reportClass);
|
||||||
this.collector = collector;
|
|
||||||
this.xStream = new XStream(new XppDriver(new NoNameCoder()));
|
this.xStream = new XStream(new XppDriver(new NoNameCoder()));
|
||||||
xStream.processAnnotations(reportClass);
|
xStream.processAnnotations(reportClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
public File createReport(LocalDate startDate, LocalDate endDate) throws IOException {
|
@Override
|
||||||
R report = collector.collectReportWithPeriod(startDate, endDate);
|
public File createReport(AbstractReport report) throws IOException {
|
||||||
String reportName = report.getReportName(LocalDateTime.now());
|
String reportName = report.getReportName(LocalDateTime.now());
|
||||||
String reportFileName = makeFileName(reportName, ".xml");
|
String reportFileName = makeFileName(reportName, ".xml");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@ public enum Task implements IEnumKey {
|
||||||
startPostClearing("SPOC"),// Запуск постклиринга
|
startPostClearing("SPOC"),// Запуск постклиринга
|
||||||
createOrder("CORD"),
|
createOrder("CORD"),
|
||||||
createOrderConfirm("CORC"),
|
createOrderConfirm("CORC"),
|
||||||
getAllBalance("GALB");
|
getAllBalance("GALB"),
|
||||||
|
createReport("RPRT");// Создание отчёта (report-service)
|
||||||
|
|
||||||
|
|
||||||
private final String key;
|
private final String key;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.reports;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Запрос отчёта (без параметров) report-service
|
||||||
|
*/
|
||||||
|
public class ReportRequest {
|
||||||
|
/**
|
||||||
|
* Идентификатор отчёта
|
||||||
|
* см. {@link ru.spcex.clearing.reports.reports.ReportsEnum}
|
||||||
|
*/
|
||||||
|
@JsonProperty
|
||||||
|
protected String reportId;
|
||||||
|
|
||||||
|
public String getReportId() {
|
||||||
|
return reportId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReportId(String reportId) {
|
||||||
|
this.reportId = reportId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.reports;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
||||||
|
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Запрос отчёта с периодом report-service
|
||||||
|
*/
|
||||||
|
public class ReportWithPeriodRequest extends ReportRequest {
|
||||||
|
@JsonSerialize(using = LocalDateSerializer.class)
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
@JsonProperty
|
||||||
|
protected LocalDate startDate;
|
||||||
|
|
||||||
|
@JsonSerialize(using = LocalDateSerializer.class)
|
||||||
|
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||||
|
@JsonProperty
|
||||||
|
protected LocalDate endDate;
|
||||||
|
|
||||||
|
public LocalDate getStartDate() {
|
||||||
|
return startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartDate(LocalDate startDate) {
|
||||||
|
this.startDate = startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LocalDate getEndDate() {
|
||||||
|
return endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndDate(LocalDate endDate) {
|
||||||
|
this.endDate = endDate;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue