report-service: all-reports for cls-[25, 26, 27, 28, 29, 52, 53, 92, 93, 102]

This commit is contained in:
akulikov 2022-12-07 15:45:23 +03:00
parent 834150563a
commit c41e9cc0f1
28 changed files with 977 additions and 146 deletions

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}

View file

@ -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;
}
}

View file

@ -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;
}
}
}

View file

@ -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;
}
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}

View file

@ -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);
}

View file

@ -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<Info_0420317> 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<Info_0420317> 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;

View file

@ -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<Info_0420318> 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<Info_0420318> getRows() {

View file

@ -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<Info_0420314_P1> 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<Info_0420314_P1> 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;

View file

@ -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<Info_0420314_P2> 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<Info_0420314_P2> 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;

View file

@ -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;

View file

@ -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);
}

View file

@ -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;
}
}
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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,

View file

@ -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,

View file

@ -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));
}

View file

@ -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) : "";
}
}