From c41e9cc0f1b1517b387789ee285738ff8d19a4d4 Mon Sep 17 00:00:00 2001 From: akulikov Date: Wed, 7 Dec 2022 15:45:23 +0300 Subject: [PATCH] report-service: all-reports for cls-[25, 26, 27, 28, 29, 52, 53, 92, 93, 102] --- .../clearing/reports/ReportWithPeriod.java | 36 +++ .../reports/reports/AbstractReport.java | 27 +- .../reports/ReportWithClearingStatus.java | 6 +- .../reports/WithCompanyClearingCode.java | 14 -- .../reports/bt_12_2/ReportPA_BT2_B.java | 114 +++++++++ .../reports/bt_12_2/ReportPA_BT2_IV.java | 114 +++++++++ .../reports/reports/bt_13/Report_BT13_11.java | 94 +++++++ .../reports/reports/bt_13/Report_BT13_12.java | 122 +++++++++ .../reports/bt_16_5/Report_BT16_5.java | 72 ++++++ .../reports/bt_17_1/ReportBR_0420315_P1.java | 7 +- .../reports/bt_17_1/ReportBR_0420315_P2.java | 17 +- .../reports/bt_17_2/ReportBR_0420317.java | 23 +- .../reports/bt_17_3/ReportBR_0420318.java | 7 +- .../reports/bt_17_4/ReportBR_0420314_P1.java | 16 +- .../reports/bt_17_4/ReportBR_0420314_P2.java | 21 +- .../reports/bt_17_5/ReportBR_0420312_P1.java | 20 +- .../reports/bt_17_5/ReportBR_0420312_P10.java | 13 +- .../reports/bt_17_5/ReportBR_0420312_P11.java | 35 --- .../reports/bt_17_5/ReportBR_0420312_P2.java | 11 +- .../reports/bt_17_5/ReportBR_0420312_P3.java | 11 +- .../reports/bt_17_5/ReportBR_0420312_P4.java | 11 +- .../reports/bt_17_5/ReportBR_0420312_P5.java | 11 +- .../reports/bt_17_5/ReportBR_0420312_P6.java | 11 +- .../reports/bt_17_5/ReportBR_0420312_P7.java | 11 +- .../reports/bt_17_5/ReportBR_0420312_P8.java | 11 +- .../reports/bt_17_5/ReportBR_0420312_P9.java | 14 +- .../reports/services/ReportsService.java | 237 +++++++++++++++++- .../xml_test/FormattedLocalTimeConverter.java | 37 +++ 28 files changed, 977 insertions(+), 146 deletions(-) create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/ReportWithPeriod.java delete mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/WithCompanyClearingCode.java create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_BT2_B.java create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_BT2_IV.java create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_13/Report_BT13_11.java create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_13/Report_BT13_12.java create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_16_5/Report_BT16_5.java delete mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P11.java create mode 100644 clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/xml_test/FormattedLocalTimeConverter.java diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/ReportWithPeriod.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/ReportWithPeriod.java new file mode 100644 index 000000000..07caffd69 --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/ReportWithPeriod.java @@ -0,0 +1,36 @@ +package ru.spcex.clearing.reports; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import com.thoughtworks.xstream.annotations.XStreamConverter; +import ru.spcex.clearing.reports.reports.AbstractReport; +import ru.spcex.clearing.reports.xml_test.FormattedLocalDateConverter; + +import java.time.LocalDate; + +/** + * Шапка для отчётов, содержащих startDate и endDate + */ +public 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(String version, + String code, + String name, + LocalDate startDate, + LocalDate endDate) { + super(version, code, name); + this.startDate = startDate; + this.endDate = endDate; + } +} 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 index d9b3992ac..df56feb45 100644 --- 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 @@ -2,10 +2,6 @@ package ru.spcex.clearing.reports.reports; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -import com.thoughtworks.xstream.annotations.XStreamConverter; -import ru.spcex.clearing.reports.xml_test.FormattedLocalDateConverter; - -import java.time.LocalDate; /** * Общая шапка (атрибуты) для всех отчетов @@ -24,33 +20,12 @@ public abstract class AbstractReport { @XStreamAlias("name") protected String name; - @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; - - @XStreamAsAttribute - @XStreamAlias("destination") - protected String destination; - - public AbstractReport(String version, String code, - String name, - LocalDate startDate, - LocalDate endDate, - String destination) { + String name) { this.version = version; this.code = code; this.name = name; - this.startDate = startDate; - this.endDate = endDate; - this.destination = destination; } } 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 index 313ce168a..e211edeea 100644 --- 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 @@ -2,10 +2,11 @@ package ru.spcex.clearing.reports.reports; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import ru.spcex.clearing.reports.ReportWithPeriod; import java.time.LocalDate; -public abstract class ReportWithClearingStatus extends AbstractReport { +public abstract class ReportWithClearingStatus extends ReportWithPeriod { @XStreamAsAttribute @XStreamAlias("clearingStatus") protected String clearingStatus; @@ -15,9 +16,8 @@ public abstract class ReportWithClearingStatus extends AbstractReport { String name, LocalDate startDate, LocalDate endDate, - String destination, String clearingStatus) { - super(version, code, name, startDate, endDate, destination); + super(version, code, name, startDate, endDate); this.clearingStatus = clearingStatus; } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/WithCompanyClearingCode.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/WithCompanyClearingCode.java deleted file mode 100644 index 79a63ccbe..000000000 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/WithCompanyClearingCode.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.spcex.clearing.reports.reports; - -import com.thoughtworks.xstream.annotations.XStreamAlias; -import com.thoughtworks.xstream.annotations.XStreamAsAttribute; - -public abstract class WithCompanyClearingCode { - @XStreamAsAttribute - @XStreamAlias("company_clearingCode") - protected String companyClearingCode; - - public WithCompanyClearingCode(String companyClearingCode) { - this.companyClearingCode = companyClearingCode; - } -} diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_BT2_B.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_BT2_B.java new file mode 100644 index 000000000..c527ee2b5 --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_BT2_B.java @@ -0,0 +1,114 @@ +package ru.spcex.clearing.reports.reports.bt_12_2; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import ru.spcex.clearing.reports.ReportWithPeriod; + +import java.time.LocalDate; + +@XStreamAlias("netPositionBank") +public class ReportPA_BT2_B extends ReportWithPeriod { + + @XStreamAsAttribute + @XStreamAlias("clearingMemberCategory") + private String clearingMemberCategory; + + + @XStreamAlias("liabilitiesClaimsAssets_fullName") + private String liabilitiesClaimsAssetsFullName; + + @XStreamAlias("company_clearingCode") + private String companyClearingCode; + + @XStreamAlias("liabilitiesClaimsAssets_settlementDate") + private String liabilitiesClaimsAssetsSettlementDate; + + @XStreamAlias("liabilitiesClaimsAssets_refundDate") + private String liabilitiesClaimsAssetsRefundDate; + + @XStreamAlias("liabilitiesClaimsAssets_tradingDate") + private String liabilitiesClaimsAssetsTradingDate; + + @XStreamAlias("liabilitiesClaimsAssets_contract") + private String liabilitiesClaimsAssetsContract; + + @XStreamAlias("liabilitiesClaimsAssets_liabilitiesQuantity") + private String liabilitiesClaimsAssetsLiabilitiesQuantity; + + @XStreamAlias("chargeCommission") + private String chargeCommission; + + @XStreamAlias("liabilitiesClaimsAssets_ClaimsQuantity") + private String liabilitiesClaimsAssetsClaimsQuantity; + + @XStreamAlias("liabilitiesClaimsAssets_refundPaymentId") + private String liabilitiesClaimsAssetsRefundPaymentId; + + @XStreamAlias("liabilitiesClaimsAssets_clearingStatus") + private String liabilitiesClaimsAssetsClearingStatus; + + @XStreamAlias("liabilitiesClaimsAssets_comment") + private String liabilitiesClaimsAssetsComment; + + @XStreamAlias("total") + private Total total; + + + public ReportPA_BT2_B(LocalDate startDate, + LocalDate endDate, + String clearingMemberCategory, + String liabilitiesClaimsAssetsFullName, + String companyClearingCode, + String liabilitiesClaimsAssetsSettlementDate, + String liabilitiesClaimsAssetsRefundDate, + String liabilitiesClaimsAssetsTradingDate, + String liabilitiesClaimsAssetsContract, + String liabilitiesClaimsAssetsLiabilitiesQuantity, + String chargeCommission, + String liabilitiesClaimsAssetsClaimsQuantity, + String liabilitiesClaimsAssetsRefundPaymentId, + String liabilitiesClaimsAssetsClearingStatus, + String liabilitiesClaimsAssetsComment, + String claimsAmount, + String liabilitiesAmount, + String paymentAmount) { + super("0.0.1", + "BT2", + "Отчет по нетто-позиции участника клиринга в секции МКР (Уполномоченный банк)", + startDate, + endDate); + this.clearingMemberCategory = clearingMemberCategory; + this.liabilitiesClaimsAssetsFullName = liabilitiesClaimsAssetsFullName; + this.companyClearingCode = companyClearingCode; + this.liabilitiesClaimsAssetsSettlementDate = liabilitiesClaimsAssetsSettlementDate; + this.liabilitiesClaimsAssetsRefundDate = liabilitiesClaimsAssetsRefundDate; + this.liabilitiesClaimsAssetsTradingDate = liabilitiesClaimsAssetsTradingDate; + this.liabilitiesClaimsAssetsContract = liabilitiesClaimsAssetsContract; + this.liabilitiesClaimsAssetsLiabilitiesQuantity = liabilitiesClaimsAssetsLiabilitiesQuantity; + this.chargeCommission = chargeCommission; + this.liabilitiesClaimsAssetsClaimsQuantity = liabilitiesClaimsAssetsClaimsQuantity; + this.liabilitiesClaimsAssetsRefundPaymentId = liabilitiesClaimsAssetsRefundPaymentId; + this.liabilitiesClaimsAssetsClearingStatus = liabilitiesClaimsAssetsClearingStatus; + this.liabilitiesClaimsAssetsComment = liabilitiesClaimsAssetsComment; + this.total = new Total(claimsAmount, liabilitiesAmount, paymentAmount); + } + + @XStreamAlias("total") + public static class Total { + @XStreamAlias("claimsAmount") + private String claimsAmount; + + @XStreamAlias("liabilitiesAmount") + private String liabilitiesAmount; + + @XStreamAlias("paymentAmount") + private String paymentAmount; + + public Total(String claimsAmount, String liabilitiesAmount, String paymentAmount) { + this.claimsAmount = claimsAmount; + this.liabilitiesAmount = liabilitiesAmount; + this.paymentAmount = paymentAmount; + } + } + +} diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_BT2_IV.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_BT2_IV.java new file mode 100644 index 000000000..04ddbdc22 --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_12_2/ReportPA_BT2_IV.java @@ -0,0 +1,114 @@ +package ru.spcex.clearing.reports.reports.bt_12_2; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import ru.spcex.clearing.reports.ReportWithPeriod; + +import java.time.LocalDate; + +@XStreamAlias("netPositionInitiator") +public class ReportPA_BT2_IV extends ReportWithPeriod { + + @XStreamAsAttribute + @XStreamAlias("clearingMemberCategory") + private String clearingMemberCategory; + + + @XStreamAlias("liabilitiesClaimsAssets_fullName") + private String liabilitiesClaimsAssetsFullName; + + @XStreamAlias("company_clearingCode") + private String companyClearingCode; + + @XStreamAlias("liabilitiesClaimsAssets_settlementDate") + private String liabilitiesClaimsAssetsSettlementDate; + + @XStreamAlias("liabilitiesClaimsAssets_refundDate") + private String liabilitiesClaimsAssetsRefundDate; + + @XStreamAlias("liabilitiesClaimsAssets_tradingDate") + private String liabilitiesClaimsAssetsTradingDate; + + @XStreamAlias("liabilitiesClaimsAssets_contract") + private String liabilitiesClaimsAssetsContract; + + @XStreamAlias("liabilitiesClaimsAssets_liabilitiesQuantity") + private String liabilitiesClaimsAssetsLiabilitiesQuantity; + + @XStreamAlias("chargeCommission") + private String chargeCommission; + + @XStreamAlias("liabilitiesClaimsAssets_ClaimsQuantity") + private String liabilitiesClaimsAssetsClaimsQuantity; + + @XStreamAlias("liabilitiesClaimsAssets_refundPaymentId") + private String liabilitiesClaimsAssetsRefundPaymentId; + + @XStreamAlias("liabilitiesClaimsAssets_clearingStatus") + private String liabilitiesClaimsAssetsClearingStatus; + + @XStreamAlias("liabilitiesClaimsAssets_comment") + private String liabilitiesClaimsAssetsComment; + + @XStreamAlias("total") + private Total total; + + + public ReportPA_BT2_IV(LocalDate startDate, + LocalDate endDate, + String clearingMemberCategory, + String liabilitiesClaimsAssetsFullName, + String companyClearingCode, + String liabilitiesClaimsAssetsSettlementDate, + String liabilitiesClaimsAssetsRefundDate, + String liabilitiesClaimsAssetsTradingDate, + String liabilitiesClaimsAssetsContract, + String liabilitiesClaimsAssetsLiabilitiesQuantity, + String chargeCommission, + String liabilitiesClaimsAssetsClaimsQuantity, + String liabilitiesClaimsAssetsRefundPaymentId, + String liabilitiesClaimsAssetsClearingStatus, + String liabilitiesClaimsAssetsComment, + String claimsAmount, + String liabilitiesAmount, + String paymentAmount) { + super("0.0.1", + "BT2", + "Отчет по нетто-позиции участника клиринга в секции МКР (Вкладчик)", + startDate, + endDate); + this.clearingMemberCategory = clearingMemberCategory; + this.liabilitiesClaimsAssetsFullName = liabilitiesClaimsAssetsFullName; + this.companyClearingCode = companyClearingCode; + this.liabilitiesClaimsAssetsSettlementDate = liabilitiesClaimsAssetsSettlementDate; + this.liabilitiesClaimsAssetsRefundDate = liabilitiesClaimsAssetsRefundDate; + this.liabilitiesClaimsAssetsTradingDate = liabilitiesClaimsAssetsTradingDate; + this.liabilitiesClaimsAssetsContract = liabilitiesClaimsAssetsContract; + this.liabilitiesClaimsAssetsLiabilitiesQuantity = liabilitiesClaimsAssetsLiabilitiesQuantity; + this.chargeCommission = chargeCommission; + this.liabilitiesClaimsAssetsClaimsQuantity = liabilitiesClaimsAssetsClaimsQuantity; + this.liabilitiesClaimsAssetsRefundPaymentId = liabilitiesClaimsAssetsRefundPaymentId; + this.liabilitiesClaimsAssetsClearingStatus = liabilitiesClaimsAssetsClearingStatus; + this.liabilitiesClaimsAssetsComment = liabilitiesClaimsAssetsComment; + this.total = new Total(claimsAmount, liabilitiesAmount, paymentAmount); + } + + @XStreamAlias("total") + public static class Total { + @XStreamAlias("claimsAmount") + private String claimsAmount; + + @XStreamAlias("liabilitiesAmount") + private String liabilitiesAmount; + + @XStreamAlias("paymentAmount") + private String paymentAmount; + + public Total(String claimsAmount, String liabilitiesAmount, String paymentAmount) { + this.claimsAmount = claimsAmount; + this.liabilitiesAmount = liabilitiesAmount; + this.paymentAmount = paymentAmount; + } + } + +} diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_13/Report_BT13_11.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_13/Report_BT13_11.java new file mode 100644 index 000000000..0bb6fce3f --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_13/Report_BT13_11.java @@ -0,0 +1,94 @@ +package ru.spcex.clearing.reports.reports.bt_13; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import ru.spcex.clearing.reports.reports.AbstractReport; + +import java.time.LocalDate; +import java.time.LocalTime; + +@XStreamAlias("incomingDocuments") +public class Report_BT13_11 extends AbstractReport { + @XStreamAsAttribute + @XStreamAlias("date") + private LocalDate date; + + @XStreamAsAttribute + @XStreamAlias("time") + private LocalTime time; + + + @XStreamAlias("inDocumentJournal_registrationDate") + private String inDocumentJournalRegistrationDate; + + @XStreamAlias("inDocumentJournal_registrationTime") + private String inDocumentJournalRegistrationTime; + + @XStreamAlias("inDocumentJournal_registrationNumber") + private String inDocumentJournalRegistrationNumber; + + @XStreamAlias("inDocumentJournal_documentName") + private String inDocumentJournalDocumentName; + + @XStreamAlias("inDocumentJournal_sender") + private String inDocumentJournalSender; + + @XStreamAlias("inDocumentJournal_quantity") + private String inDocumentJournalQuantity; + + @XStreamAlias("inDocumentJournal_clearingCode") + private String inDocumentJournalClearingCode; + + @XStreamAlias("inDocumentJournal_courierType") + private String inDocumentJournalCourierType; + + @XStreamAlias("inDocumentJournal_emailDate") + private String inDocumentJournal_emailDate; + + @XStreamAlias("inDocumentJournal_Amount") + private String inDocumentJournalAmount; + + @XStreamAlias("inDocumentJournal_dossierNumber") + private String inDocumentJournalDossierNumber; + + @XStreamAlias("inDocumentJournal_Comment") + private String inDocumentJournalComment; + + @XStreamAlias("inDocumentJournal_receiptDate") + private String inDocumentJournalReceiptDate; + + + public Report_BT13_11(LocalDate date, + LocalTime time, + String inDocumentJournalRegistrationDate, + String inDocumentJournalRegistrationTime, + String inDocumentJournalRegistrationNumber, + String inDocumentJournalDocumentName, + String inDocumentJournalSender, + String inDocumentJournalQuantity, + String inDocumentJournalClearingCode, + String inDocumentJournalCourierType, + String inDocumentJournal_emailDate, + String inDocumentJournalAmount, + String inDocumentJournalDossierNumber, + String inDocumentJournalComment, + String inDocumentJournalReceiptDate) { + super("0.0.1", "BT 13.11", "Журнал Входящих документов"); + this.date = date; + this.time = time; + this.inDocumentJournalRegistrationDate = inDocumentJournalRegistrationDate; + this.inDocumentJournalRegistrationTime = inDocumentJournalRegistrationTime; + this.inDocumentJournalRegistrationNumber = inDocumentJournalRegistrationNumber; + this.inDocumentJournalDocumentName = inDocumentJournalDocumentName; + this.inDocumentJournalSender = inDocumentJournalSender; + this.inDocumentJournalQuantity = inDocumentJournalQuantity; + this.inDocumentJournalClearingCode = inDocumentJournalClearingCode; + this.inDocumentJournalCourierType = inDocumentJournalCourierType; + this.inDocumentJournal_emailDate = inDocumentJournal_emailDate; + this.inDocumentJournalAmount = inDocumentJournalAmount; + this.inDocumentJournalDossierNumber = inDocumentJournalDossierNumber; + this.inDocumentJournalComment = inDocumentJournalComment; + this.inDocumentJournalReceiptDate = inDocumentJournalReceiptDate; + } + +} diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_13/Report_BT13_12.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_13/Report_BT13_12.java new file mode 100644 index 000000000..9e7a36639 --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_13/Report_BT13_12.java @@ -0,0 +1,122 @@ +package ru.spcex.clearing.reports.reports.bt_13; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import ru.spcex.clearing.reports.reports.AbstractReport; + +import java.time.LocalDate; +import java.time.LocalTime; + +@XStreamAlias("outgoingDocuments") +public class Report_BT13_12 extends AbstractReport { + @XStreamAsAttribute + @XStreamAlias("date") + private LocalDate date; + + @XStreamAsAttribute + @XStreamAlias("time") + private LocalTime time; + + + @XStreamAlias("outDocumentJournal_registrationDate") + private String outDocumentJournalRegistrationDate; + + @XStreamAlias("outDocumentJournal_registrationTime") + private String outDocumentJournalRegistrationTime; + + @XStreamAlias("outDocumentJournal_registrationNumber") + private String outDocumentJournalRegistrationNumber; + + @XStreamAlias("outDocumentJournal_documentName") + private String outDocumentJournalDocumentName; + + @XStreamAlias("outDocumentJournal_address") + private String outDocumentJournalAddress; + + @XStreamAlias("outDocumentJournal_quantity") + private String outDocumentJournalQuantity; + + @XStreamAlias("outDocumentJournal_clearingCode") + private String outDocumentJournalClearingCode; + + @XStreamAlias("outDocumentJournal_courierType") + private String outDocumentJournalCourierType; + + @XStreamAlias("outDocumentJournal_emailDate") + private String outDocumentJournal_emailDate; + + @XStreamAlias("outDocumentJournal_Amount") + private String outDocumentJournalAmount; + + @XStreamAlias("outDocumentJournal_dossierNumber") + private String outDocumentJournalDossierNumber; + + @XStreamAlias("outDocumentJournal_postDate") + private String outDocumentJournalPostDate; + + + public Report_BT13_12(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("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.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; + } +} diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_16_5/Report_BT16_5.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_16_5/Report_BT16_5.java new file mode 100644 index 000000000..0b3db0ccc --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_16_5/Report_BT16_5.java @@ -0,0 +1,72 @@ +package ru.spcex.clearing.reports.reports.bt_16_5; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; +import ru.spcex.clearing.reports.reports.AbstractReport; + +import java.time.LocalDate; +import java.time.LocalTime; + +@XStreamAlias("accountBalanceInfo") +public class Report_BT16_5 extends AbstractReport { + @XStreamAsAttribute + @XStreamAlias("date") + private LocalDate date; + + @XStreamAsAttribute + @XStreamAlias("time") + private LocalTime time; + + + @XStreamAlias("id") + private String id; + + @XStreamAlias("clearingHouse") + private String clearingHouse; + + @XStreamAlias("company_clearingCode") + private String companyClearingCode; + + @XStreamAlias("company_fullName") + private String companyFullName; + + @XStreamAlias("accountBalance_account") + private String accountBalanceAccount; + + @XStreamAlias("accountBalance_openAmount") + private String accountBalanceOpenAmount; + + @XStreamAlias("accountBalance_debitAmount") + private String accountBalanceDebitAmount; + + @XStreamAlias("accountBalance_creditAmount") + private String accountBalanceCreditAmount; + + @XStreamAlias("accountBalance_closeAmount") + private String accountBalanceCloseAmount; + + + public Report_BT16_5(LocalDate date, + LocalTime time, + String clearingHouse, + String companyClearingCode, + String companyFullName, + String accountBalanceAccount, + String accountBalanceOpenAmount, + String accountBalanceDebitAmount, + String accountBalanceCreditAmount, + String accountBalanceCloseAmount) { + super("0.0.1", "BT 16.5", "Отчет о денежных средствах на счете внутреннего учета (клиринговом регистре) Участника клиринга"); + this.date = date; + this.time = time; + this.clearingHouse = clearingHouse; + this.companyClearingCode = companyClearingCode; + this.companyFullName = companyFullName; + this.accountBalanceAccount = accountBalanceAccount; + this.accountBalanceOpenAmount = accountBalanceOpenAmount; + this.accountBalanceDebitAmount = accountBalanceDebitAmount; + this.accountBalanceCreditAmount = accountBalanceCreditAmount; + this.accountBalanceCloseAmount = accountBalanceCloseAmount; + } + +} diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_1/ReportBR_0420315_P1.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_1/ReportBR_0420315_P1.java index 2a11b2c55..ab2700296 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_1/ReportBR_0420315_P1.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_1/ReportBR_0420315_P1.java @@ -11,6 +11,10 @@ import java.util.List; @XStreamAlias("clearedLiabilities") public class ReportBR_0420315_P1 extends ReportWithClearingStatus { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; + @XStreamAsAttribute @XStreamAlias("clearingMemberCategory") private String clearingMemberCategory; @@ -20,6 +24,7 @@ public class ReportBR_0420315_P1 extends ReportWithClearingStatus { public ReportBR_0420315_P1(LocalDate startDate, LocalDate endDate, + String destination, String clearingMemberCategory, String clearingStatus) { super("0.0.1", @@ -27,8 +32,8 @@ public class ReportBR_0420315_P1 extends ReportWithClearingStatus { "Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период, часть 1", startDate, endDate, - "BR", clearingStatus); + this.destination = destination; this.clearingMemberCategory = clearingMemberCategory; } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_1/ReportBR_0420315_P2.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_1/ReportBR_0420315_P2.java index 642f71bdf..450b87e0f 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_1/ReportBR_0420315_P2.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_1/ReportBR_0420315_P2.java @@ -2,23 +2,30 @@ package ru.spcex.clearing.reports.reports.bt_17_1; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -import ru.spcex.clearing.reports.reports.AbstractReport; +import ru.spcex.clearing.reports.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearedLiabilitiesTotal") -public class ReportBR_0420315_P2 extends AbstractReport { +public class ReportBR_0420315_P2 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("total") private final Info_0420315_P2 total; - public ReportBR_0420315_P2(LocalDate startDate, LocalDate endDate, String contractQty, String liabilitiesAmount) { + public ReportBR_0420315_P2(LocalDate startDate, + LocalDate endDate, + String destination, + String contractQty, + String liabilitiesAmount) { super("0.0.1", "0420315", "Сведения об исполненных обязательствах, допущенных к клирингу, за отчетный период, часть 2", startDate, - endDate, - "BR"); + endDate); + this.destination = destination; total = new Info_0420315_P2(contractQty, liabilitiesAmount); } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_2/ReportBR_0420317.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_2/ReportBR_0420317.java index c8714fac8..8ad1f2bcd 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_2/ReportBR_0420317.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_2/ReportBR_0420317.java @@ -2,26 +2,29 @@ package ru.spcex.clearing.reports.reports.bt_17_2; 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.WithCompanyClearingCode; +import ru.spcex.clearing.reports.ReportWithPeriod; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @XStreamAlias("clearingServiceStatus") -public class ReportBR_0420317 extends AbstractReport { +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) { + public ReportBR_0420317(LocalDate startDate, LocalDate endDate, String destination) { super("0.0.1", "0420317", "Сведения о предоставлении, прекращении, приостановке," + " возобновлении допуска к клиринговому обслуживанию", startDate, - endDate, "BR"); + endDate); + this.destination = destination; } public List getRows() { @@ -29,7 +32,11 @@ public class ReportBR_0420317 extends AbstractReport { } @XStreamAlias("row") - public static class Info_0420317 extends WithCompanyClearingCode { + public static class Info_0420317 { + @XStreamAsAttribute + @XStreamAlias("company_clearingCode") + protected String companyClearingCode; + @XStreamAsAttribute @XStreamAlias("relation_supplierId") private String relationSupplierId; @@ -71,7 +78,7 @@ public class ReportBR_0420317 extends AbstractReport { String companySymbolCode, String companyInfoCountryCode, String relationComment) { - super(companyClearingCode); + this.companyClearingCode = companyClearingCode; this.relationSupplierId = relationSupplierId; this.relationServiceId = relationServiceId; this.relationServiceStatus = relationServiceStatus; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_3/ReportBR_0420318.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_3/ReportBR_0420318.java index b5ff5909b..c48422636 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_3/ReportBR_0420318.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_3/ReportBR_0420318.java @@ -10,18 +10,21 @@ import java.util.List; @XStreamAlias("unfundedLiabilities") 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, String clearingStatus) { + public ReportBR_0420318(LocalDate startDate, LocalDate endDate, String clearingStatus, String destination) { super("0.0.1", "0420318", "Сведения о неисполненных обязательствах", startDate, endDate, - "BR", clearingStatus); + this.destination = destination; } public List getRows() { diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_4/ReportBR_0420314_P1.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_4/ReportBR_0420314_P1.java index cb9e22242..cc6dfed89 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_4/ReportBR_0420314_P1.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_4/ReportBR_0420314_P1.java @@ -3,7 +3,6 @@ package ru.spcex.clearing.reports.reports.bt_17_4; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import ru.spcex.clearing.reports.reports.ReportWithClearingStatus; -import ru.spcex.clearing.reports.reports.WithCompanyClearingCode; import java.time.LocalDate; import java.util.ArrayList; @@ -11,18 +10,21 @@ import java.util.List; @XStreamAlias("accountTransactionLiabilities") 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) { + public ReportBR_0420314_P1(LocalDate startDate, LocalDate endDate, String clearingStatus, String destination) { super("0.0.1", "0420314", "Сведения об УК и операциях, проведенных по торговым счетам, часть 1", startDate, endDate, - "BR", clearingStatus); + this.destination = destination; } public List getRows() { @@ -31,7 +33,11 @@ public class ReportBR_0420314_P1 extends ReportWithClearingStatus { @XStreamAlias("partOne") - public static class Info_0420314_P1 extends WithCompanyClearingCode { + public static class Info_0420314_P1 { + @XStreamAsAttribute + @XStreamAlias("company_clearingCode") + protected String companyClearingCode; + @XStreamAsAttribute @XStreamAlias("paymentInstruction_senderId") private String paymentInstructionSenderId; @@ -73,7 +79,7 @@ public class ReportBR_0420314_P1 extends ReportWithClearingStatus { String clearingMemberCategoryClearingMemberCategory, String profileDocumentDocumentTypeAndValidFromDate, String liabilitiesClaimsAssetsLiabilitiesQuantity) { - super(companyClearingCode); + this.companyClearingCode = companyClearingCode; this.paymentInstructionSenderId = paymentInstructionSenderId; this.profileDocumentId = profileDocumentId; this.companyFullName = companyFullName; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_4/ReportBR_0420314_P2.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_4/ReportBR_0420314_P2.java index cdb737894..6c924222a 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_4/ReportBR_0420314_P2.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_4/ReportBR_0420314_P2.java @@ -2,15 +2,17 @@ package ru.spcex.clearing.reports.reports.bt_17_4; 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.WithCompanyClearingCode; +import ru.spcex.clearing.reports.ReportWithPeriod; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @XStreamAlias("accountTransactionTurnover") -public class ReportBR_0420314_P2 extends AbstractReport { +public class ReportBR_0420314_P2 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAsAttribute @XStreamAlias("transactionStatus") @@ -19,13 +21,14 @@ public class ReportBR_0420314_P2 extends AbstractReport { @XStreamAlias("rows") private final List rows = new ArrayList<>(); - public ReportBR_0420314_P2(LocalDate startDate, LocalDate endDate, String transactionStatus) { + public ReportBR_0420314_P2(LocalDate startDate, LocalDate endDate, String transactionStatus, String destination) { super("0.0.1", "0420314", "Сведения об УК и операциях, проведенных по торговым счетам, часть 2", startDate, - endDate, "BR"); + endDate); this.transactionStatus = transactionStatus; + this.destination = destination; } public List getRows() { @@ -34,7 +37,11 @@ public class ReportBR_0420314_P2 extends AbstractReport { @XStreamAlias("partTwo") - public static class Info_0420314_P2 extends WithCompanyClearingCode { + public static class Info_0420314_P2 { + @XStreamAsAttribute + @XStreamAlias("company_clearingCode") + protected String companyClearingCode; + @XStreamAsAttribute @XStreamAlias("paymentInstruction_senderId") private String paymentInstructionSenderId; @@ -66,7 +73,7 @@ public class ReportBR_0420314_P2 extends AbstractReport { String paymentInstructionCreditLegAmount, String paymentInstructionDebitLegAmount, String accountBalanceCloseBalanceAmount) { - super(companyClearingCode); + this.companyClearingCode = companyClearingCode; this.paymentInstructionSenderId = paymentInstructionSenderId; this.profileDocumentId = profileDocumentId; this.accountBalanceOpenBalanceAmount = accountBalanceOpenBalanceAmount; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P1.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P1.java index cea7a4639..a19956e75 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P1.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P1.java @@ -2,13 +2,15 @@ package ru.spcex.clearing.reports.reports.bt_17_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.WithCompanyClearingCode; +import ru.spcex.clearing.reports.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearingCoverage1") -public class ReportBR_0420312_P1 extends AbstractReport { +public class ReportBR_0420312_P1 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_1") private final Info_0420312_P1 part_1; @@ -16,6 +18,7 @@ public class ReportBR_0420312_P1 extends AbstractReport { public ReportBR_0420312_P1(LocalDate startDate, LocalDate endDate, String companyClearingCode, + String destination, String liabilitiesClaimsAssetsCompanyId, String liabilitiesClaimsAssetsFullName, String companySymbolCode, @@ -26,7 +29,8 @@ public class ReportBR_0420312_P1 extends AbstractReport { "0420312", "Сведения о клиринговом обеспечении, часть 1", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_1 = new Info_0420312_P1(companyClearingCode, liabilitiesClaimsAssetsCompanyId, liabilitiesClaimsAssetsFullName, @@ -36,7 +40,11 @@ public class ReportBR_0420312_P1 extends AbstractReport { clearingMemberCategoryClearingMemberCategory); } - public static class Info_0420312_P1 extends WithCompanyClearingCode { + public static class Info_0420312_P1 { + @XStreamAsAttribute + @XStreamAlias("company_clearingCode") + private String companyClearingCode; + @XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_companyId") private String liabilitiesClaimsAssetsCompanyId; @@ -69,7 +77,7 @@ public class ReportBR_0420312_P1 extends AbstractReport { String companySymbolValue, String companyInfoCountryCode, String clearingMemberCategoryClearingMemberCategory) { - super(companyClearingCode); + this.companyClearingCode = companyClearingCode; this.liabilitiesClaimsAssetsCompanyId = liabilitiesClaimsAssetsCompanyId; this.liabilitiesClaimsAssetsFullName = liabilitiesClaimsAssetsFullName; this.companySymbolCode = companySymbolCode; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P10.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P10.java index b1d7be876..e7196690b 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P10.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P10.java @@ -2,24 +2,29 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; -@XStreamAlias("report") -public class ReportBR_0420312_P10 extends AbstractReport { +@XStreamAlias("clearingCoverage10") +public class ReportBR_0420312_P10 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_10") private final Info_0420312_P10 part_10; public ReportBR_0420312_P10(LocalDate startDate, LocalDate endDate, + String destination, String liabilitiesAmount) { super("0.0.5", "0420312", "Сведения о клиринговом обеспечении, часть 10", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_10 = new Info_0420312_P10(liabilitiesAmount); } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P11.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P11.java deleted file mode 100644 index 5f74936eb..000000000 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P11.java +++ /dev/null @@ -1,35 +0,0 @@ -package ru.spcex.clearing.reports.reports.bt_17_5; - -import com.thoughtworks.xstream.annotations.XStreamAlias; -import com.thoughtworks.xstream.annotations.XStreamAsAttribute; -import ru.spcex.clearing.reports.reports.AbstractReport; - -import java.time.LocalDate; - -@XStreamAlias("report") -public class ReportBR_0420312_P11 extends AbstractReport { - - @XStreamAlias("part_11") - private final Info_0420312_P11 part_11; - - public ReportBR_0420312_P11(LocalDate startDate, - LocalDate endDate, - String liabilitiesAmount) { - super("0.0.5", - "0420312", - "Сведения о клиринговом обеспечении", - startDate, - endDate, "BR"); - part_11 = new Info_0420312_P11(liabilitiesAmount); - } - - public static class Info_0420312_P11 { - @XStreamAsAttribute - @XStreamAlias("liabilities_amount") - private String liabilitiesAmount; - - public Info_0420312_P11(String liabilitiesAmount) { - this.liabilitiesAmount = liabilitiesAmount; - } - } -} diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P2.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P2.java index 9fc68a866..0cf73c838 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P2.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P2.java @@ -2,25 +2,30 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearingCoverage2") -public class ReportBR_0420312_P2 extends AbstractReport { +public class ReportBR_0420312_P2 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_2") private final Info_0420312_P2 part_2; public ReportBR_0420312_P2(LocalDate startDate, LocalDate endDate, + String destination, String liabilitiesClaimsAssetsCompanyId, String liabilitiesClaimsAssetsLiabilities) { super("0.0.1", "0420312", "Сведения о клиринговом обеспечении, часть 2", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_2 = new Info_0420312_P2(liabilitiesClaimsAssetsCompanyId, liabilitiesClaimsAssetsLiabilities); } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P3.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P3.java index 69cbeed34..0c92c0676 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P3.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P3.java @@ -2,25 +2,30 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearingCoverage3") -public class ReportBR_0420312_P3 extends AbstractReport { +public class ReportBR_0420312_P3 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_3") private final Info_0420312_P3 part_3; public ReportBR_0420312_P3(LocalDate startDate, LocalDate endDate, + String destination, String liabilitiesClaimsAssetsCompanyId, String liabilitiesClaimsAssetsLiabilities) { super("0.0.5", "0420312", "Сведения о клиринговом обеспечении, часть 3", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_3 = new Info_0420312_P3(liabilitiesClaimsAssetsCompanyId, liabilitiesClaimsAssetsLiabilities); } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P4.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P4.java index 88f7ed98d..ee1d00f29 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P4.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P4.java @@ -2,24 +2,29 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearingCoverage4") -public class ReportBR_0420312_P4 extends AbstractReport { +public class ReportBR_0420312_P4 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_4") private final Info_0420312_P4 part_4; public ReportBR_0420312_P4(LocalDate startDate, LocalDate endDate, + String destination, String liabilitiesAmount) { super("0.0.5", "0420312", "Сведения о клиринговом обеспечении, часть 4", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_4 = new Info_0420312_P4(liabilitiesAmount); } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P5.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P5.java index e65c6b8ea..57318d940 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P5.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P5.java @@ -2,24 +2,29 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearingCoverage5") -public class ReportBR_0420312_P5 extends AbstractReport { +public class ReportBR_0420312_P5 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_5") private final Info_0420312_P5 part_5; public ReportBR_0420312_P5(LocalDate startDate, LocalDate endDate, + String destination, String liabilitiesAmount) { super("0.0.5", "0420312", "Сведения о клиринговом обеспечении, часть 5", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_5 = new Info_0420312_P5(liabilitiesAmount); } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P6.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P6.java index 68c6c6de4..b03bf0069 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P6.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P6.java @@ -2,24 +2,29 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearingCoverage6") -public class ReportBR_0420312_P6 extends AbstractReport { +public class ReportBR_0420312_P6 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_6") private final Info_0420312_P6 part_6; public ReportBR_0420312_P6(LocalDate startDate, LocalDate endDate, + String destination, String liabilitiesAmount) { super("0.0.5", "0420312", "Сведения о клиринговом обеспечении, часть 6", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_6 = new Info_0420312_P6(liabilitiesAmount); } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P7.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P7.java index d47311392..72a57f10b 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P7.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P7.java @@ -2,24 +2,29 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearingCoverage7") -public class ReportBR_0420312_P7 extends AbstractReport { +public class ReportBR_0420312_P7 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_7") private final Info_0420312_P7 part_7; public ReportBR_0420312_P7(LocalDate startDate, LocalDate endDate, + String destination, String liabilitiesAmount) { super("0.0.5", "0420312", "Сведения о клиринговом обеспечении, часть 7", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_7 = new Info_0420312_P7(liabilitiesAmount); } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P8.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P8.java index eadc04583..8f6f431a5 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P8.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P8.java @@ -2,18 +2,22 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; @XStreamAlias("clearingCoverage8") -public class ReportBR_0420312_P8 extends AbstractReport { +public class ReportBR_0420312_P8 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_8") private final Info_0420312_P8 part_8; public ReportBR_0420312_P8(LocalDate startDate, LocalDate endDate, + String destination, String currencyId, String liabilitiesClaimsAssetsCompanyId, String liabilitiesClaimsAssetsFullName, @@ -25,7 +29,8 @@ public class ReportBR_0420312_P8 extends AbstractReport { "0420312", "Сведения о клиринговом обеспечении, часть 8", startDate, - endDate, "BR"); + endDate); + this.destination = destination; part_8 = new Info_0420312_P8(currencyId, liabilitiesClaimsAssetsCompanyId, liabilitiesClaimsAssetsFullName, diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P9.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P9.java index 627ba50de..d508df865 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P9.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/reports/bt_17_5/ReportBR_0420312_P9.java @@ -2,18 +2,22 @@ package ru.spcex.clearing.reports.reports.bt_17_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.ReportWithPeriod; import java.time.LocalDate; -@XStreamAlias("report") -public class ReportBR_0420312_P9 extends AbstractReport { +@XStreamAlias("clearingCoverage9") +public class ReportBR_0420312_P9 extends ReportWithPeriod { + @XStreamAsAttribute + @XStreamAlias("destination") + private String destination; @XStreamAlias("part_9") private final Info_0420312_P9 part_9; public ReportBR_0420312_P9(LocalDate startDate, LocalDate endDate, + String destination, String currencyId, String liabilitiesClaimsAssetsCompanyId, String liabilitiesClaimsMoneyCurrencyCode, @@ -22,8 +26,8 @@ public class ReportBR_0420312_P9 extends AbstractReport { "0420312", "Сведения о клиринговом обеспечении, часть 9", startDate, - endDate, - "BR"); + endDate); + this.destination = destination; part_9 = new Info_0420312_P9(currencyId, liabilitiesClaimsAssetsCompanyId, liabilitiesClaimsMoneyCurrencyCode, 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 index de17f8e74..eb81e8c85 100644 --- 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 @@ -5,13 +5,21 @@ 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.Report_BT13_11; +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; public class ReportsService { private final Logger log = LoggerFactory.getLogger(getClass()); @@ -24,9 +32,29 @@ public class ReportsService { 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(Report_BT13_11.class); + xStream.processAnnotations(Report_BT13_12.class); + + + /* ========= БТ 17.1 ========== */ ReportBR_0420315_P1 reportBR_0420315_p1 = new ReportBR_0420315_P1(LocalDate.now(), LocalDate.now(), + "BR", "clearingMemberCategory", "clearingStatus"); ReportBR_0420315_P1.Info_0420315_P1 info_0420315_p1 = new ReportBR_0420315_P1.Info_0420315_P1("companyId", @@ -37,13 +65,19 @@ public class ReportsService { 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)); - ReportBR_0420317 reportBR_0420317 = new ReportBR_0420317(LocalDate.now(), LocalDate.now()); + + + /* ========= БТ 17.2 ========== */ + ReportBR_0420317 reportBR_0420317 = new ReportBR_0420317(LocalDate.now(), LocalDate.now(), "BR"); ReportBR_0420317.Info_0420317 info_0420317 = new ReportBR_0420317.Info_0420317("companyClearingCode", "relationSupplierId", "relationServiceId", @@ -56,7 +90,10 @@ public class ReportsService { reportBR_0420317.getRows().add(info_0420317); log.info("ReportBR_0420317:\n{}\n", xStream.toXML(reportBR_0420317)); - ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(LocalDate.now(), LocalDate.now(), "clearingStatus"); + + + /* ========= БТ 17.3 ========== */ + ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(LocalDate.now(), LocalDate.now(), "clearingStatus", "BR"); ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318( "liabilitiesClaimsAssetsFullName", "companySymbolsCode", @@ -74,7 +111,10 @@ public class ReportsService { reportBR_0420318.getRows().add(info_0420318); log.info("ReportBR_0420318:\n{}\n", xStream.toXML(reportBR_0420318)); - ReportBR_0420314_P1 reportBR_0420314P1 = new ReportBR_0420314_P1(LocalDate.now(), LocalDate.now(), "clearingStatus"); + + + /* ========= БТ 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", @@ -86,7 +126,196 @@ public class ReportsService { "liabilitiesClaimsAssetsLiabilitiesQuantity" ); reportBR_0420314P1.getRows().add(info_0420314P1); - log.info("ReportBR_0420314:\n{}\n", xStream.toXML(reportBR_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", + "paymentInstructionSenderId", + "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 ========== */ + Report_BT13_11 report_bt13_11 = new Report_BT13_11(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/xml_test/FormattedLocalTimeConverter.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/xml_test/FormattedLocalTimeConverter.java new file mode 100644 index 000000000..0bcb2a347 --- /dev/null +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/xml_test/FormattedLocalTimeConverter.java @@ -0,0 +1,37 @@ +package ru.spcex.clearing.reports.xml_test; + +import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter; + +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; +import java.util.Objects; + +public class FormattedLocalTimeConverter extends AbstractSingleValueConverter { + private final String DEFAULT_PATTERN = "HH:mm:ss"; + private final DateTimeFormatter formatter; + + public FormattedLocalTimeConverter() { + formatter = DateTimeFormatter.ofPattern(DEFAULT_PATTERN); + } + + public FormattedLocalTimeConverter(String pattern) { + formatter = DateTimeFormatter.ofPattern(Objects.requireNonNullElse(pattern, DEFAULT_PATTERN)); + } + + @Override + public boolean canConvert(Class type) { + return LocalTime.class.isAssignableFrom(type); + } + + @Override + public Object fromString(String str) { + // not implemented (not used) + return null; + } + + @Override + public String toString(Object obj) { + LocalTime date = (LocalTime) obj; + return date != null ? formatter.format(date) : ""; + } +}