classes for cls-283
This commit is contained in:
parent
18b8e6d81f
commit
eed1e94f07
10 changed files with 398 additions and 1 deletions
|
|
@ -40,17 +40,27 @@
|
|||
<artifactId>jackson-dataformat-xml</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- XML -->
|
||||
<dependency>
|
||||
<groupId>com.thoughtworks.xstream</groupId>
|
||||
<artifactId>xstream</artifactId>
|
||||
<version>1.4.19</version>
|
||||
</dependency>
|
||||
|
||||
<!-- DOC -->
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi-ooxml</artifactId>
|
||||
<version>5.1.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- CSV -->
|
||||
<dependency>
|
||||
<groupId>com.opencsv</groupId>
|
||||
<artifactId>opencsv</artifactId>
|
||||
<version>5.5.2</version>
|
||||
</dependency>
|
||||
|
||||
<!-- IMDG clearing system -->
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import ru.spcex.platform.utils.enumeration.IEnumKey;
|
|||
/**
|
||||
* Идентификаторы отчётов
|
||||
*/
|
||||
// todo create new ID
|
||||
public enum ReportId implements IEnumKey {
|
||||
PA_B("REPPA.B"), PA_IV("REPPA.IV"),
|
||||
|
||||
|
|
@ -22,8 +23,18 @@ public enum ReportId implements IEnumKey {
|
|||
|
||||
BR_0420312_P1("REPBR.0420312_р1-1"), BR_0420312_P2("REPBR.0420312_р1-2"), BR_0420312_P3("REPBR.0420312_р1-3"), BR_0420312_P4("REPBR.0420312_р1-4"),
|
||||
BR_0420312_P5("REPBR.0420312_р1-5"), BR_0420312_P6("REPBR.0420312_р1-6"), BR_0420312_P7("REPBR.0420312_р1-7"), BR_0420312_P8("REPBR.0420312_р3-1"),
|
||||
BR_0420312_P9("REPBR.0420312_р3-2"), BR_0420312_P10("REPBR.0420312_р3-3");
|
||||
BR_0420312_P9("REPBR.0420312_р3-2"), BR_0420312_P10("REPBR.0420312_р3-3"),
|
||||
|
||||
OPERATIONAL_LIABILITIES_CLAIMS("operational_liabilities_claims"),
|
||||
OPERATIONAL_MONEY_CHANGE("operational_money_change"),
|
||||
SUMMARY_LIABILITIES_CLAIMS("summary_liabilities_claims"),
|
||||
SUMMARY_L_MONEY_CHANGE("summary_lmoney_change"),
|
||||
PERIOD_LIABILITIES_CLAIMS("period_liabilities_claims"),
|
||||
PERIOD_MONEY_CHANGE("period_money_change"),
|
||||
EXECUTED_DEAL_REPORT("executed_deal_report"),
|
||||
UNFULFILLED_DEAL_REPORT("unfulfilled_deal_report"),
|
||||
|
||||
;
|
||||
|
||||
private final String key;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import ru.spcex.clearing.reports.reports.ReportId;
|
||||
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class ExecutedDealReport extends ReportWithPeriod {
|
||||
|
||||
private final String[] headers = {
|
||||
"id", "securityId", "tradeNo", "tradeDate", "tradeTime", "settleDate", "settleCode", "price", "quanity", "value"
|
||||
};
|
||||
|
||||
public ExecutedDealReport(LocalDate startDate, LocalDate endDate) {
|
||||
super(ReportId.EXECUTED_DEAL_REPORT,
|
||||
"0.0.1",
|
||||
"BP",
|
||||
"Реестр сделок, принятых на клиринг",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReportName(LocalDateTime reportDateTime) {
|
||||
return "executed_deal_report.%s-%s.%s".formatted(
|
||||
DATE_FORMATTER.format(startDate),
|
||||
DATE_FORMATTER.format(endDate),
|
||||
DATE_TIME_FORMATTER.format(reportDateTime)
|
||||
);
|
||||
}
|
||||
|
||||
public String[] getHeaders() {
|
||||
return headers;
|
||||
}
|
||||
|
||||
public record InfoExecutedDeal(String id, String securityId, String tradeNo, String tradeDate, String tradeTime,
|
||||
String settleDate, String settleCode, String price, String quanity, String value) {
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import ru.spcex.clearing.reports.reports.ReportId;
|
||||
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
// todo check typo
|
||||
public class OperationalLiabilitiesClaimsReport extends ReportWithPeriod {
|
||||
|
||||
private final String[] headers = {
|
||||
"id", "doc_date", "doc_time", "doc_type", "clearingHouse", "firmId", "firName", "session_id",
|
||||
"clearing_date", "clearing_time", "trdAccId", "account", "depo_account", "currency", "tr_id", "securityId",
|
||||
"tr_buySell", "tr_date", "tr_execDate", "exec_status", "repaym_date", "tr_price", "nominal", "lot_value",
|
||||
"tr_lot", "tr_quantity", "tr_value", "tr_accruedint", "accruedint", "tr_clrComm", "tr_exhComm", "cash_liability",
|
||||
"depo_liability", "cash_netto", "depo_netto"
|
||||
};
|
||||
|
||||
public OperationalLiabilitiesClaimsReport(LocalDate startDate, LocalDate endDate) {
|
||||
super(ReportId.OPERATIONAL_LIABILITIES_CLAIMS,
|
||||
"0.0.1",
|
||||
"BP2",
|
||||
"Операционный отчет. Отчет об обязательствах",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReportName(LocalDateTime reportDateTime) {
|
||||
return "operational_liabilities_claims.%s-%s.%s".formatted(
|
||||
DATE_FORMATTER.format(startDate),
|
||||
DATE_FORMATTER.format(endDate),
|
||||
DATE_TIME_FORMATTER.format(reportDateTime)
|
||||
);
|
||||
}
|
||||
|
||||
public String[] getHeaders() {
|
||||
return headers;
|
||||
}
|
||||
|
||||
public record InfoOperationalLiabilitiesClaims(String id, String docDate, String docTime, String docName,
|
||||
String docType, String clearingHouse, String firmId, String firName,
|
||||
String sessionId, String clearingDate, String clearingTime,
|
||||
String trdAccId, String account, String depoAccount, String currency,
|
||||
String trId, String securityId, String trBuySell, String trDate,
|
||||
String trExecDate, String execStatus, String repaymDate, String trPrice,
|
||||
String nominal, String lotValue, String trLot, String trQuantity,
|
||||
String trValue, String trAccruedInt, String accruedInt, String trClrComm,
|
||||
String trExhComm, String cashLiability, String depoLiability,
|
||||
String cashNetto, String depoNetto) {
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import ru.spcex.clearing.reports.reports.ReportId;
|
||||
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class OperationalMoneyChangeReport extends ReportWithPeriod {
|
||||
|
||||
private final String[] headers = {
|
||||
"id", "doc_date", "doc_time", "doc_name", "doc_type", "clearingHouse", "firmId", "firName", "trdAccId",
|
||||
"account", "currency", "registry_code", "registry_name", "open_balance", "change_balance", "add_withdraw",
|
||||
"close_balance", "remarks", "add_sum", "add_time", "withdraw_sum", "withdraw_time"
|
||||
};
|
||||
|
||||
|
||||
public OperationalMoneyChangeReport(LocalDate startDate, LocalDate endDate) {
|
||||
super(ReportId.OPERATIONAL_MONEY_CHANGE,
|
||||
"0.0.1",
|
||||
"BP3",
|
||||
"Операционный отчет. Отчет о денежных средствах",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReportName(LocalDateTime reportDateTime) {
|
||||
return "operational_money_change.%s-%s.%s".formatted(
|
||||
DATE_FORMATTER.format(startDate),
|
||||
DATE_FORMATTER.format(endDate),
|
||||
DATE_TIME_FORMATTER.format(reportDateTime)
|
||||
);
|
||||
}
|
||||
|
||||
public String[] getHeaders() {
|
||||
return headers;
|
||||
}
|
||||
|
||||
public record InfoOperationalMoneyChangeReport(String id, String docDate, String docTime, String docName,
|
||||
String docType, String clearingHouse, String firmId, String firName,
|
||||
String trdAccId, String account, String currency, String registryCode,
|
||||
String registryName, String openBalance, String changeBalance,
|
||||
String addWithdraw, String closeBalance, String remarks, String addSum,
|
||||
String addTime, String withdrawSum, String withdrawTime) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import ru.spcex.clearing.reports.reports.ReportId;
|
||||
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class PeriodLiabilitiesClaims extends ReportWithPeriod {
|
||||
|
||||
private final String[] headers = {
|
||||
"id", "doc_date", "doc_time", "doc_name", "doc_type", "clearingHouse", "firmId", "firName", "session_id",
|
||||
"clearing_date", "clearing_time", "trdAccId", "account", "depo_account", "currency", "tr_id", "securityId",
|
||||
"tr_buySell", "tr_date", "tr_execDate", "exec_status", "repaym_date", "tr_price", "nominal", "lot_value",
|
||||
"tr_lot", "tr_quantity", "tr_value", "tr_accruedint", "accruedint", "tr_clrComm", "tr_exhComm",
|
||||
"cash_liability", "depo_liability", "cash_netto", "depo_netto"
|
||||
};
|
||||
|
||||
public PeriodLiabilitiesClaims(LocalDate startDate, LocalDate endDate) {
|
||||
super(ReportId.PERIOD_LIABILITIES_CLAIMS,
|
||||
"0.0.1",
|
||||
"BP",
|
||||
"Отчет за период. Отчет об обязательствах",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReportName(LocalDateTime reportDateTime) {
|
||||
return "period_liabilities_claims.%s-%s.%s".formatted(
|
||||
DATE_FORMATTER.format(startDate),
|
||||
DATE_FORMATTER.format(endDate),
|
||||
DATE_TIME_FORMATTER.format(reportDateTime)
|
||||
);
|
||||
}
|
||||
|
||||
public String[] getHeaders() {
|
||||
return headers;
|
||||
}
|
||||
|
||||
public record InfoPeriodLiabilitiesClaims(String id, String docDate, String docTime, String docName,
|
||||
String docType, String clearingHouse, String firmId, String firName,
|
||||
String sessionId, String clearingDate, String clearingTime, String trdAccId,
|
||||
String account, String depoAccount, String currency, String trId, String securityId,
|
||||
String trBuySell, String trDate, String trExecDate, String execStatus,
|
||||
String repaymDate, String trPrice, String nominal, String lotValue,
|
||||
String trLot, String trQuantity, String trValue, String trAccruedInt,
|
||||
String accruedInt, String trClrComm, String trExhComm, String cashLiability,
|
||||
String depoLiability, String cashNetto, String depoNetto) {
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import ru.spcex.clearing.reports.reports.ReportId;
|
||||
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class PeriodMoneyChange extends ReportWithPeriod {
|
||||
|
||||
private final String[] headers = {
|
||||
"id", "doc_date", "doc_time", "doc_name", "doc_type", "clearingHouse", "firmId", "firName", "trdAccId",
|
||||
"account", "currency", "registry_code", "registry_name", "open_balance", "change_balance", "add_withdraw",
|
||||
"close_balance", "remarks", "add_sum", "add_time", "withdraw_sum", "withdraw_time"
|
||||
};
|
||||
|
||||
public PeriodMoneyChange(LocalDate startDate, LocalDate endDate) {
|
||||
super(ReportId.PERIOD_MONEY_CHANGE,
|
||||
"0.0.1",
|
||||
"BP",
|
||||
"Отчет за период. Отчет о денежных средствах",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReportName(LocalDateTime reportDateTime) {
|
||||
return "period_money_change.%s-%s.%s".formatted(
|
||||
DATE_FORMATTER.format(startDate),
|
||||
DATE_FORMATTER.format(endDate),
|
||||
DATE_TIME_FORMATTER.format(reportDateTime)
|
||||
);
|
||||
}
|
||||
|
||||
public String[] getHeaders() {
|
||||
return headers;
|
||||
}
|
||||
|
||||
public record InfoPeriodMoneyChange(String id, String docDate, String docTime, String docName, String docType,
|
||||
String clearingHouse, String firmId, String firName, String trdAccId,
|
||||
String account, String currency, String registryCode, String registryName,
|
||||
String openBalance, String changeBalance, String addWithdraw,
|
||||
String closeBalance, String remarks, String addSum, String addTime,
|
||||
String withdrawSum, String withdrawTime) {
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import ru.spcex.clearing.reports.reports.ReportId;
|
||||
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
// todo check typo
|
||||
public class SummaryLiabilitiesClaimsReport extends ReportWithPeriod {
|
||||
|
||||
private final String[] headers = {
|
||||
"id", "doc_date", "doc_time", "doc_name", "doc_type", "clearingHouse", "firmId", "firName", "session_id",
|
||||
"clearing_date", "clearing_time", "trdAccId", "account", "depo_account", "currency", "tr_id", "securityId",
|
||||
"tr_buySell", "tr_date", "tr_execDate", "exec_status", "repaym_date", "tr_price", "nominal", "lot_value",
|
||||
"tr_lot", "tr_quantity", "tr_value", "tr_accruedint", "accruedint", "tr_clrComm", "tr_exhComm",
|
||||
"cash_liability", "depo_liability", "cash_netto", "depo_netto"
|
||||
};
|
||||
|
||||
public SummaryLiabilitiesClaimsReport(LocalDate startDate, LocalDate endDate) {
|
||||
super(ReportId.SUMMARY_LIABILITIES_CLAIMS,
|
||||
"0.0.1",
|
||||
"BP4",
|
||||
"Сводный отчет. Отчет об обязательствах",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReportName(LocalDateTime reportDateTime) {
|
||||
return "summary_liabilities_claims.%s-%s.%s".formatted(
|
||||
DATE_FORMATTER.format(startDate),
|
||||
DATE_FORMATTER.format(endDate),
|
||||
DATE_TIME_FORMATTER.format(reportDateTime)
|
||||
);
|
||||
}
|
||||
|
||||
public String[] getHeaders() {
|
||||
return headers;
|
||||
}
|
||||
|
||||
public record InfoSummaryLiabilitiesClaims(String id, String docDate, String docTime, String docName,
|
||||
String docType, String clearingHouse, String firmId, String firName,
|
||||
String sessionId, String clearingDate, String clearingTime, String trdAccId,
|
||||
String account, String depoAccount, String currency, String trId,
|
||||
String securityId, String trBuySell, String trDate, String trExecDate,
|
||||
String execStatus, String repaymDate, String trPrice, String nominal,
|
||||
String lotValue, String trLot, String trQuantity, String trValue,
|
||||
String trAccruedInt, String accruedInt, String trClrComm, String trExhComm,
|
||||
String cashLiability, String depoLiability, String cashNetto, String depoNetto) {
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import ru.spcex.clearing.reports.reports.ReportId;
|
||||
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
// todo check typo
|
||||
public class SummarylMoneyChange extends ReportWithPeriod {
|
||||
|
||||
private final String[] headers = {
|
||||
"id", "doc_date", "doc_time", "doc_name", "doc_type", "clearingHouse", "firmId", "firName", "trdAccId",
|
||||
"account", "currency", "registry_code", "registry_name", "open_balance", "change_balance", "add_withdraw",
|
||||
"close_balance", "remarks", "add_sum", "add_time", "withdraw_sum", "withdraw_time",
|
||||
};
|
||||
|
||||
public SummarylMoneyChange(LocalDate startDate, LocalDate endDate) {
|
||||
super(ReportId.SUMMARY_L_MONEY_CHANGE,
|
||||
"0.0.1",
|
||||
"BP5",
|
||||
"Сводный отчет. Отчет о денежных средствах",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReportName(LocalDateTime reportDateTime) {
|
||||
return "summary_lmoney_change.%s-%s.%s".formatted(
|
||||
DATE_FORMATTER.format(startDate),
|
||||
DATE_FORMATTER.format(endDate),
|
||||
DATE_TIME_FORMATTER.format(reportDateTime)
|
||||
);
|
||||
}
|
||||
|
||||
public String[] getHeaders() {
|
||||
return headers;
|
||||
}
|
||||
|
||||
public record InfoSummarylMoneyChange(String id, String docDate, String docTime, String docName, String docType,
|
||||
String clearingHouse, String firmId, String firName, String trdAccId, String account,
|
||||
String currency, String registryCode, String registryName, String openBalance,
|
||||
String changeBalance, String addWithdraw, String closeBalance, String remarks,
|
||||
String addSum, String addTime, String withdrawSum, String withdrawTime) {
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import ru.spcex.clearing.reports.reports.ReportId;
|
||||
import ru.spcex.clearing.reports.reports.ReportWithPeriod;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public class UnfulfilledDealReport extends ReportWithPeriod {
|
||||
|
||||
private final String[] headers = {
|
||||
"id", "securityId", "tradeNo", "tradeDate", "settleCode"
|
||||
};
|
||||
|
||||
public UnfulfilledDealReport(LocalDate startDate, LocalDate endDate) {
|
||||
super(ReportId.UNFULFILLED_DEAL_REPORT,
|
||||
"0.0.1",
|
||||
"BP",
|
||||
"Реестр сделок, принятых на клиринг",
|
||||
startDate,
|
||||
endDate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getReportName(LocalDateTime reportDateTime) {
|
||||
return "unfulfilled_deal_report.%s-%s.%s".formatted(
|
||||
DATE_FORMATTER.format(startDate),
|
||||
DATE_FORMATTER.format(endDate),
|
||||
DATE_TIME_FORMATTER.format(reportDateTime)
|
||||
);
|
||||
}
|
||||
|
||||
public String[] getHeaders() {
|
||||
return headers;
|
||||
}
|
||||
|
||||
public record InfoUnfulfilledDealReport(String id, String securityId, String tradeNo, String tradeDate, String settleCode) {
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue