This commit is contained in:
akulikov 2023-01-10 15:48:36 +03:00
parent 94e29853af
commit d3c9bf2576
27 changed files with 319 additions and 351 deletions

View file

@ -0,0 +1,75 @@
package ru.spcex.clearing.reports.reports.bt_13;
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.reports.ReportId;
import ru.spcex.clearing.reports.xml_test.FormattedLocalDateConverter;
import ru.spcex.clearing.reports.xml_test.FormattedLocalTimeConverter;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
@XStreamAlias("incomingDocuments")
public class ReportDOCIN extends AbstractReport {
/**
* Дата в формате: dd.MM.yyyy
*/
@XStreamAsAttribute
@XStreamAlias("date")
@XStreamConverter(value = FormattedLocalDateConverter.class, strings = {"dd.MM.yyyy"})
private final LocalDate date;
/**
* Время в формате: hh:mm:ss
*/
@XStreamAsAttribute
@XStreamAlias("time")
@XStreamConverter(value = FormattedLocalTimeConverter.class, strings = {"HH:mm:ss"})
private final LocalTime time;
@XStreamAlias("rows")
private List<Info_DOCIN> rows = new ArrayList<>();
public ReportDOCIN(LocalDate date,
LocalTime time) {
super(ReportId.BT13_11,
"0.0.1",
"BT 13.11",
"Журнал Входящих документов");
this.date = date;
this.time = time;
}
public List<Info_DOCIN> getRows() {
return rows;
}
@Override
public String getReportName(LocalDateTime reportDateTime) {
return "DOCIN.%s".formatted(
DATE_TIME_FORMATTER.format(reportDateTime)
);
}
@XStreamAlias("row")
public record Info_DOCIN(
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_registrationDate") String inDocumentJournalRegistrationDate,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_registrationTime") String inDocumentJournalRegistrationTime,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_registrationNumber") String inDocumentJournalRegistrationNumber,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_documentName") String inDocumentJournalDocumentName,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_sender") String inDocumentJournalSender,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_quantity") String inDocumentJournalQuantity,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_clearingCode") String inDocumentJournalClearingCode,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_courierType") String inDocumentJournalCourierType,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_emailDate") String inDocumentJournal_emailDate,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_Amount") String inDocumentJournalAmount,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_dossierNumber") String inDocumentJournalDossierNumber,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_Comment") String inDocumentJournalComment,
@XStreamAsAttribute @XStreamAlias("inDocumentJournal_receiptDate") String inDocumentJournalReceiptDate) {
}
}

View file

@ -1,101 +0,0 @@
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 ru.spcex.clearing.reports.reports.ReportId;
import java.time.LocalDate;
import java.time.LocalDateTime;
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(ReportId.BT13_11, "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;
}
@Override
public String getReportName(LocalDateTime reportDateTime) {
return "DOCIN.%s".formatted(
DATE_TIME_FORMATTER.format(reportDateTime)
);
}
}

View file

@ -16,20 +16,11 @@ import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Locale; import java.util.Locale;
public abstract class ReportDataCollector<T extends AbstractReport> { public abstract class AbstractReportCollector<T extends AbstractReport> {
public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy"); public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy");
public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy'T'HH:mm:ss"); public static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy'T'HH:mm:ss");
protected final Logger log = LoggerFactory.getLogger(getClass()); protected final Logger log = LoggerFactory.getLogger(getClass());
/**
* T extends ReportWithPeriod
*
* @return
*/
abstract public T collectReportWithPeriod(LocalDate startDate, LocalDate endDate);
abstract public Class<T> getReportClass(); abstract public Class<T> getReportClass();
public ReportId getReportId() { public ReportId getReportId() {
@ -69,16 +60,19 @@ public abstract class ReportDataCollector<T extends AbstractReport> {
return val.toString(); return val.toString();
} }
/**
* Обеспечивает точность 2 знака после запятой
*/
protected String toString(Double val) { protected String toString(Double val) {
if (val == null) return null; if (val == null) return null;
// точность 2 знака после запятой.
return String.format(Locale.US, "%.2f", val.doubleValue()); return String.format(Locale.US, "%.2f", val.doubleValue());
} }
/**
* Обеспечивает точность 2 знака после запятой
*/
protected String toString(BigDecimal val) { protected String toString(BigDecimal val) {
if (val == null) return null; if (val == null) return null;
// точность 2 знака после запятой.
return val.setScale(2, RoundingMode.HALF_UP).toString(); return val.setScale(2, RoundingMode.HALF_UP).toString();
} }
@ -92,8 +86,4 @@ public abstract class ReportDataCollector<T extends AbstractReport> {
return DATE_FORMATTER.format(date); return DATE_FORMATTER.format(date);
} }
// protected String formatToIMDGInstant(LocalDate date) {
// LocalDateTime ldt = date.atStartOfDay();
// return DATE_TIME_FORMATTER.format(ldt);
// }
} }

View file

@ -27,7 +27,7 @@ public class QCommandExecutor extends QueueConsumer implements InitializingBean
ReportsServiceSettings config; ReportsServiceSettings config;
public QCommandExecutor(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider, public QCommandExecutor(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider,
List<ReportDataCollector> listOfCollectors, List<ReportWithPeriodCollector> listOfCollectors,
ReportsServiceCommand reportsServiceCommand, ReportsServiceCommand reportsServiceCommand,
ReportsServiceSettings config) { ReportsServiceSettings config) {
super(kafkaQueue); super(kafkaQueue);

View file

@ -0,0 +1,16 @@
package ru.spcex.clearing.reports.services;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.spcex.clearing.reports.reports.AbstractReport;
import java.time.LocalDate;
public abstract class ReportWithPeriodCollector<T extends AbstractReport> extends AbstractReportCollector<T> {
protected final Logger log = LoggerFactory.getLogger(getClass());
/**
* Подготовка отчета на период startDate..endDate
*/
abstract public T collectReportWithPeriod(LocalDate startDate, LocalDate endDate);
}

View file

@ -7,7 +7,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 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_B;
import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_BT2_IV; 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.ReportDOCIN;
import ru.spcex.clearing.reports.reports.bt_13.Report_BT13_12; 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_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_P1;
@ -47,7 +47,7 @@ public class ReportsService {
xStream.processAnnotations(ReportPA_BT2_IV.class); xStream.processAnnotations(ReportPA_BT2_IV.class);
xStream.processAnnotations(ReportPA_BT2_B.class); xStream.processAnnotations(ReportPA_BT2_B.class);
xStream.processAnnotations(Report_BT16_5.class); xStream.processAnnotations(Report_BT16_5.class);
xStream.processAnnotations(Report_BT13_11.class); xStream.processAnnotations(ReportDOCIN.class);
xStream.processAnnotations(Report_BT13_12.class); xStream.processAnnotations(Report_BT13_12.class);
@ -141,85 +141,85 @@ public class ReportsService {
log.info("ReportBR_0420314_P2:\n{}\n", xStream.toXML(reportBR_0420314P2)); log.info("ReportBR_0420314_P2:\n{}\n", xStream.toXML(reportBR_0420314P2));
//
/* ========= БТ 17.5 ========== */ // /* ========= БТ 17.5 ========== */
ReportBR_0420312_P1 reportBR_0420312P1 = new ReportBR_0420312_P1(LocalDate.now(), // ReportBR_0420312_P1 reportBR_0420312P1 = new ReportBR_0420312_P1(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"companyClearingCode", // "companyClearingCode",
"BR", // "BR",
"liabilitesClaimsAssetsCompanyId", // "liabilitesClaimsAssetsCompanyId",
"liabilitesClaimsAssetsFullName", // "liabilitesClaimsAssetsFullName",
"companySymbolCode", // "companySymbolCode",
"companySymbolValue", // "companySymbolValue",
"companyInfoCountryCode", // "companyInfoCountryCode",
"clearingMemberCategory"); // "clearingMemberCategory");
log.info("ReportBR_0420312_P1:\n{}\n", xStream.toXML(reportBR_0420312P1)); // log.info("ReportBR_0420312_P1:\n{}\n", xStream.toXML(reportBR_0420312P1));
//
ReportBR_0420312_P2 reportBR_0420312P2 = new ReportBR_0420312_P2(LocalDate.now(), // ReportBR_0420312_P2 reportBR_0420312P2 = new ReportBR_0420312_P2(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"liabilitiesClaimsAssetsCompanyId", // "liabilitiesClaimsAssetsCompanyId",
"liabilitiesClaimsAssetsLiabilities"); // "liabilitiesClaimsAssetsLiabilities");
log.info("ReportBR_0420312_P2:\n{}\n", xStream.toXML(reportBR_0420312P2)); // log.info("ReportBR_0420312_P2:\n{}\n", xStream.toXML(reportBR_0420312P2));
//
ReportBR_0420312_P3 reportBR_0420312P3 = new ReportBR_0420312_P3(LocalDate.now(), // ReportBR_0420312_P3 reportBR_0420312P3 = new ReportBR_0420312_P3(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"liabilitiesClaimsAssetsCompanyId", // "liabilitiesClaimsAssetsCompanyId",
"liabilitiesClaimsAssetsLiabilities"); // "liabilitiesClaimsAssetsLiabilities");
log.info("ReportBR_0420312_P3:\n{}\n", xStream.toXML(reportBR_0420312P3)); // log.info("ReportBR_0420312_P3:\n{}\n", xStream.toXML(reportBR_0420312P3));
//
ReportBR_0420312_P4 reportBR_0420312P4 = new ReportBR_0420312_P4(LocalDate.now(), // ReportBR_0420312_P4 reportBR_0420312P4 = new ReportBR_0420312_P4(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"liabilitiesAmount"); // "liabilitiesAmount");
log.info("ReportBR_0420312_P4:\n{}\n", xStream.toXML(reportBR_0420312P4)); // log.info("ReportBR_0420312_P4:\n{}\n", xStream.toXML(reportBR_0420312P4));
//
ReportBR_0420312_P5 reportBR_0420312P5 = new ReportBR_0420312_P5(LocalDate.now(), // ReportBR_0420312_P5 reportBR_0420312P5 = new ReportBR_0420312_P5(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"liabilitiesAmount"); // "liabilitiesAmount");
log.info("ReportBR_0420312_P5:\n{}\n", xStream.toXML(reportBR_0420312P5)); // log.info("ReportBR_0420312_P5:\n{}\n", xStream.toXML(reportBR_0420312P5));
//
ReportBR_0420312_P6 reportBR_0420312P6 = new ReportBR_0420312_P6(LocalDate.now(), // ReportBR_0420312_P6 reportBR_0420312P6 = new ReportBR_0420312_P6(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"liabilitiesAmount"); // "liabilitiesAmount");
log.info("ReportBR_0420312_P6:\n{}\n", xStream.toXML(reportBR_0420312P6)); // log.info("ReportBR_0420312_P6:\n{}\n", xStream.toXML(reportBR_0420312P6));
//
ReportBR_0420312_P7 reportBR_0420312P7 = new ReportBR_0420312_P7(LocalDate.now(), // ReportBR_0420312_P7 reportBR_0420312P7 = new ReportBR_0420312_P7(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"liabilitiesAmount"); // "liabilitiesAmount");
log.info("ReportBR_0420312_P7:\n{}\n", xStream.toXML(reportBR_0420312P7)); // log.info("ReportBR_0420312_P7:\n{}\n", xStream.toXML(reportBR_0420312P7));
//
ReportBR_0420312_P8 reportBR_0420312P8 = new ReportBR_0420312_P8(LocalDate.now(), // ReportBR_0420312_P8 reportBR_0420312P8 = new ReportBR_0420312_P8(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"currencyId", // "currencyId",
"liabilitiesClaimsAssetsCompanyId", // "liabilitiesClaimsAssetsCompanyId",
"liabilitiesClaimsAssetsFullName", // "liabilitiesClaimsAssetsFullName",
"companySymbolCode", // "companySymbolCode",
"companySymbolValue", // "companySymbolValue",
"companyInfoCountryCode", // "companyInfoCountryCode",
"clearingMemberCategory"); // "clearingMemberCategory");
log.info("ReportBR_0420312_P8:\n{}\n", xStream.toXML(reportBR_0420312P8)); // log.info("ReportBR_0420312_P8:\n{}\n", xStream.toXML(reportBR_0420312P8));
//
ReportBR_0420312_P9 reportBR_0420312P9 = new ReportBR_0420312_P9(LocalDate.now(), // ReportBR_0420312_P9 reportBR_0420312P9 = new ReportBR_0420312_P9(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"currencyId", // "currencyId",
"liabilitiesClaimsAssetsCompanyId", // "liabilitiesClaimsAssetsCompanyId",
"liabilitiesClaimsMoneyCurrencyCode", // "liabilitiesClaimsMoneyCurrencyCode",
"liabilitiesClaimsAssetsLiabilities"); // "liabilitiesClaimsAssetsLiabilities");
log.info("ReportBR_0420312_P9:\n{}\n", xStream.toXML(reportBR_0420312P9)); // log.info("ReportBR_0420312_P9:\n{}\n", xStream.toXML(reportBR_0420312P9));
//
ReportBR_0420312_P10 reportBR_0420312P10 = new ReportBR_0420312_P10(LocalDate.now(), // ReportBR_0420312_P10 reportBR_0420312P10 = new ReportBR_0420312_P10(LocalDate.now(),
LocalDate.now(), // LocalDate.now(),
"BR", // "BR",
"liabilitiesAmount"); // "liabilitiesAmount");
log.info("ReportBR_0420312_P10:\n{}\n", xStream.toXML(reportBR_0420312P10)); // log.info("ReportBR_0420312_P10:\n{}\n", xStream.toXML(reportBR_0420312P10));
//
/* ========= БТ 12.2 ========== */ /* ========= БТ 12.2 ========== */
@ -266,7 +266,7 @@ public class ReportsService {
/* ========= БТ 13 ========== */ /* ========= БТ 13 ========== */
Report_BT13_11 report_bt13_11 = new Report_BT13_11(LocalDate.now(), ReportDOCIN report_bt13_11 = new ReportDOCIN(LocalDate.now(),
LocalTime.now(), LocalTime.now(),
"inDocumentJournalRegistrationDate", "inDocumentJournalRegistrationDate",
"inDocumentJournalRegistrationTime", "inDocumentJournalRegistrationTime",

View file

@ -30,17 +30,17 @@ public class ReportsServiceCommand implements InitializingBean {
protected ReportsServiceSettings settings; protected ReportsServiceSettings settings;
protected ImdgProvider imdg; protected ImdgProvider imdg;
protected List<ReportDataCollector> allReports; // Spring services protected List<ReportWithPeriodCollector> allReports; // Spring services
private final Map<ReportId, ReportDataCollector> collectorForReportById; private final Map<ReportId, ReportWithPeriodCollector> collectorForReportById;
@Autowired @Autowired
public ReportsServiceCommand(ImdgProvider imdg, List<ReportDataCollector> allReports, ReportsServiceSettings settings) { public ReportsServiceCommand(ImdgProvider imdg, List<ReportWithPeriodCollector> allReports, ReportsServiceSettings settings) {
this.imdg = imdg; this.imdg = imdg;
this.settings = settings; this.settings = settings;
this.allReports = allReports; // allReports = context.getBeansOfType(ReportDataCollector.class); this.allReports = allReports; // allReports = context.getBeansOfType(ReportDataCollector.class);
this.collectorForReportById = new HashMap<>(); this.collectorForReportById = new HashMap<>();
for (ReportDataCollector<?> collector : allReports) { for (ReportWithPeriodCollector<?> collector : allReports) {
ReportId rId = collector.getReportId(); ReportId rId = collector.getReportId();
collectorForReportById.put(rId, collector); collectorForReportById.put(rId, collector);
String idStr = rId == null ? null : rId.getKey(); String idStr = rId == null ? null : rId.getKey();
@ -57,14 +57,14 @@ public class ReportsServiceCommand implements InitializingBean {
} }
public void generateReportAll(LocalDate startDate, LocalDate endDate) throws IOException { public void generateReportAll(LocalDate startDate, LocalDate endDate) throws IOException {
for (ReportDataCollector<?> reportDataCollector : allReports) { for (ReportWithPeriodCollector<?> reportDataCollector : allReports) {
makeSingleReport(reportDataCollector, startDate, endDate); makeSingleReport(reportDataCollector, startDate, endDate);
} }
} }
public void generateReportById(String reportIdStr, LocalDate startDate, LocalDate endDate) throws IOException { public void generateReportById(String reportIdStr, LocalDate startDate, LocalDate endDate) throws IOException {
ReportId reportId = parseReportId(reportIdStr); ReportId reportId = parseReportId(reportIdStr);
ReportDataCollector<?> reportDataCollector = collectorForReportById.get(reportId); ReportWithPeriodCollector<?> reportDataCollector = collectorForReportById.get(reportId);
if (reportDataCollector == null) if (reportDataCollector == null)
throw new IllegalStateException("Collector for ReportID " + reportId + " not implemented yet"); throw new IllegalStateException("Collector for ReportID " + reportId + " not implemented yet");
@ -81,7 +81,7 @@ public class ReportsServiceCommand implements InitializingBean {
return id; return id;
} }
protected void makeSingleReport(ReportDataCollector<?> reportDataCollector, LocalDate startDate, LocalDate endDate) throws IOException { protected void makeSingleReport(ReportWithPeriodCollector<?> reportDataCollector, LocalDate startDate, LocalDate endDate) throws IOException {
log.debug("Generate report by collector {} - {}", reportDataCollector.getClass().getSimpleName(), reportDataCollector.getReportClass().getSimpleName()); log.debug("Generate report by collector {} - {}", reportDataCollector.getClass().getSimpleName(), reportDataCollector.getReportClass().getSimpleName());
File outPath = new File(settings.getReportModuleOut()); File outPath = new File(settings.getReportModuleOut());
XMLReportBuilder reportBuilder = new XMLReportBuilder(reportDataCollector.getReportClass(), outPath); XMLReportBuilder reportBuilder = new XMLReportBuilder(reportDataCollector.getReportClass(), outPath);
@ -96,7 +96,7 @@ public class ReportsServiceCommand implements InitializingBean {
public void writeAllXML() throws IOException { public void writeAllXML() throws IOException {
log.info("Report types: {}", allReports); log.info("Report types: {}", allReports);
for (ReportDataCollector collector : allReports) { for (ReportWithPeriodCollector collector : allReports) {
log.info("Make report {}", collector); log.info("Make report {}", collector);
LocalDate date2 = LocalDate.now(); LocalDate date2 = LocalDate.now();
LocalDate date1 = LocalDate.of(date2.getYear(), date2.getMonth(), 1);//date2.minusMonths(1); LocalDate date1 = LocalDate.of(date2.getYear(), date2.getMonth(), 1);//date2.minusMonths(1);

View file

@ -9,7 +9,7 @@ import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.clearing.platform.dictionary.ClearingStatusDictionary; import ru.clearing.platform.dictionary.ClearingStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_4.ReportBR_0420314_P1; import ru.spcex.clearing.reports.reports.bt_17_4.ReportBR_0420314_P1;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.enumeration.ClearingStatus; import ru.spcex.platform.enumeration.ClearingStatus;
import ru.spcex.platform.enumeration.DocumentTypes; import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
@ -27,7 +27,7 @@ import java.util.Map;
* accountTransactionLiabilities * accountTransactionLiabilities
*/ */
@Component @Component
public class Repbr0420314_P1_bt_17_4_collector extends ReportDataCollector<ReportBR_0420314_P1> { public class Repbr0420314_P1_bt_17_4_collector extends ReportWithPeriodCollector<ReportBR_0420314_P1> {
private Imdg<Company> companyImdg; private Imdg<Company> companyImdg;
private Imdg<CompanySymbols> companySymbolsImdg; private Imdg<CompanySymbols> companySymbolsImdg;
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg; private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;

View file

@ -9,7 +9,7 @@ import ru.clearing.classes.statics.data.payment.PaymentInstruction;
import ru.clearing.classes.statics.data.profile.ProfileDocument; import ru.clearing.classes.statics.data.profile.ProfileDocument;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_4.ReportBR_0420314_P2; import ru.spcex.clearing.reports.reports.bt_17_4.ReportBR_0420314_P2;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.enumeration.AccountType; import ru.spcex.platform.enumeration.AccountType;
import ru.spcex.platform.enumeration.DocumentTypes; import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
@ -28,7 +28,7 @@ import java.util.Objects;
* accountTransactionLiabilities * accountTransactionLiabilities
*/ */
@Component @Component
public class Repbr0420314_P2_bt_17_4_collector extends ReportDataCollector<ReportBR_0420314_P2> { public class Repbr0420314_P2_bt_17_4_collector extends ReportWithPeriodCollector<ReportBR_0420314_P2> {
private Imdg<Company> companyImdg; private Imdg<Company> companyImdg;
private Imdg<PaymentInstruction> paymentInstructionImdg; private Imdg<PaymentInstruction> paymentInstructionImdg;
private Imdg<AccountBalance> accountBalanceImdg; private Imdg<AccountBalance> accountBalanceImdg;

View file

@ -2,11 +2,10 @@ package ru.spcex.clearing.reports.services.collector;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P10; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P10;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -19,7 +18,7 @@ import java.util.Collection;
import java.util.Objects; import java.util.Objects;
@Component @Component
public class ReportBR_0420312_P10_collector extends ReportDataCollector<ReportBR_0420312_P10> { public class ReportBR_0420312_P10_collector extends ReportWithPeriodCollector<ReportBR_0420312_P10> {
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@Autowired @Autowired

View file

@ -8,7 +8,7 @@ import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P1; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P1;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.enumeration.DocumentTypes; import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
@ -22,7 +22,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
@Component @Component
public class ReportBR_0420312_P1_collector extends ReportDataCollector<ReportBR_0420312_P1> { public class ReportBR_0420312_P1_collector extends ReportWithPeriodCollector<ReportBR_0420312_P1> {
private Imdg<Company> companyImdg; private Imdg<Company> companyImdg;
private Imdg<CompanySymbols> companySymbolsImdg; private Imdg<CompanySymbols> companySymbolsImdg;
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg; private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;

View file

@ -2,11 +2,10 @@ package ru.spcex.clearing.reports.services.collector;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P2; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P2;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -21,7 +20,7 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
@Component @Component
public class ReportBR_0420312_P2_collector extends ReportDataCollector<ReportBR_0420312_P2> { public class ReportBR_0420312_P2_collector extends ReportWithPeriodCollector<ReportBR_0420312_P2> {
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@Autowired @Autowired

View file

@ -2,11 +2,10 @@ package ru.spcex.clearing.reports.services.collector;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P3; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P3;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -21,7 +20,7 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
@Component @Component
public class ReportBR_0420312_P3_collector extends ReportDataCollector<ReportBR_0420312_P3> { public class ReportBR_0420312_P3_collector extends ReportWithPeriodCollector<ReportBR_0420312_P3> {
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@Autowired @Autowired

View file

@ -5,7 +5,7 @@ import org.springframework.stereotype.Component;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P4; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P4;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -18,7 +18,7 @@ import java.util.Collection;
import java.util.Objects; import java.util.Objects;
@Component @Component
public class ReportBR_0420312_P4_collector extends ReportDataCollector<ReportBR_0420312_P4> { public class ReportBR_0420312_P4_collector extends ReportWithPeriodCollector<ReportBR_0420312_P4> {
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@Autowired @Autowired

View file

@ -2,11 +2,10 @@ package ru.spcex.clearing.reports.services.collector;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P5; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P5;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -19,7 +18,7 @@ import java.util.Collection;
import java.util.Objects; import java.util.Objects;
@Component @Component
public class ReportBR_0420312_P5_collector extends ReportDataCollector<ReportBR_0420312_P5> { public class ReportBR_0420312_P5_collector extends ReportWithPeriodCollector<ReportBR_0420312_P5> {
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@Autowired @Autowired

View file

@ -2,11 +2,10 @@ package ru.spcex.clearing.reports.services.collector;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P6; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P6;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -19,7 +18,7 @@ import java.util.Collection;
import java.util.Objects; import java.util.Objects;
@Component @Component
public class ReportBR_0420312_P6_collector extends ReportDataCollector<ReportBR_0420312_P6> { public class ReportBR_0420312_P6_collector extends ReportWithPeriodCollector<ReportBR_0420312_P6> {
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@Autowired @Autowired

View file

@ -2,11 +2,10 @@ package ru.spcex.clearing.reports.services.collector;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P7; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P7;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -19,7 +18,7 @@ import java.util.Collection;
import java.util.Objects; import java.util.Objects;
@Component @Component
public class ReportBR_0420312_P7_collector extends ReportDataCollector<ReportBR_0420312_P7> { public class ReportBR_0420312_P7_collector extends ReportWithPeriodCollector<ReportBR_0420312_P7> {
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@Autowired @Autowired

View file

@ -9,14 +9,13 @@ import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.clearing.platform.dictionary.CurrencyCodeDictionary; import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P8; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P8;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.enumeration.DocumentTypes; import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.math.BigDecimal;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Collection; import java.util.Collection;
@ -24,7 +23,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
@Component @Component
public class ReportBR_0420312_P8_collector extends ReportDataCollector<ReportBR_0420312_P8> { public class ReportBR_0420312_P8_collector extends ReportWithPeriodCollector<ReportBR_0420312_P8> {
private Imdg<Company> companyImdg; private Imdg<Company> companyImdg;
private Imdg<CompanySymbols> companySymbolsImdg; private Imdg<CompanySymbols> companySymbolsImdg;
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg; private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;

View file

@ -3,15 +3,11 @@ package ru.spcex.clearing.reports.services.collector;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.clearing.platform.dictionary.CurrencyCodeDictionary; import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P1;
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P9; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P9;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -26,7 +22,7 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
@Component @Component
public class ReportBR_0420312_P9_collector extends ReportDataCollector<ReportBR_0420312_P9> { public class ReportBR_0420312_P9_collector extends ReportWithPeriodCollector<ReportBR_0420312_P9> {
private Imdg<Company> companyImdg; private Imdg<Company> companyImdg;
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
private Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg; private Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg;

View file

@ -10,7 +10,7 @@ import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.clearing.platform.dictionary.ClearingStatusDictionary; import ru.clearing.platform.dictionary.ClearingStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_1.ReportBR_0420315_P1; import ru.spcex.clearing.reports.reports.bt_17_1.ReportBR_0420315_P1;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.enumeration.ClearingCategory; import ru.spcex.platform.enumeration.ClearingCategory;
import ru.spcex.platform.enumeration.ClearingStatus; import ru.spcex.platform.enumeration.ClearingStatus;
import ru.spcex.platform.enumeration.Market; import ru.spcex.platform.enumeration.Market;
@ -18,7 +18,6 @@ import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.time.TimeUtil;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.Instant; import java.time.Instant;
@ -26,7 +25,7 @@ import java.time.LocalDate;
import java.util.*; import java.util.*;
@Component @Component
public class ReportBR_0420315_Collector extends ReportDataCollector<ReportBR_0420315_P1> { public class ReportBR_0420315_Collector extends ReportWithPeriodCollector<ReportBR_0420315_P1> {
protected static final List<String> ALLOW_CLEARING_MEMBER_CATEGORY = Arrays.asList(ClearingCategory.I.getKey(), ClearingCategory.V.getKey()); protected static final List<String> ALLOW_CLEARING_MEMBER_CATEGORY = Arrays.asList(ClearingCategory.I.getKey(), ClearingCategory.V.getKey());
private Imdg<Company> companyImdg; private Imdg<Company> companyImdg;

View file

@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_1.ReportBR_0420315_P2; import ru.spcex.clearing.reports.reports.bt_17_1.ReportBR_0420315_P2;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -14,10 +14,11 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.Collection;
import java.util.HashSet;
@Component @Component
public class ReportBR_0420315_P2_collector extends ReportDataCollector<ReportBR_0420315_P2> { public class ReportBR_0420315_P2_collector extends ReportWithPeriodCollector<ReportBR_0420315_P2> {
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
@Autowired @Autowired

View file

@ -7,7 +7,7 @@ import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.classes.statics.data.company.relation.Relation; import ru.clearing.classes.statics.data.company.relation.Relation;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_17_2.ReportBR_0420317; import ru.spcex.clearing.reports.reports.bt_17_2.ReportBR_0420317;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.enumeration.DocumentTypes; import ru.spcex.platform.enumeration.DocumentTypes;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
@ -16,10 +16,11 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.Collection;
import java.util.Map;
@Component @Component
public class ReportBR_0420317_collector extends ReportDataCollector<ReportBR_0420317> { public class ReportBR_0420317_collector extends ReportWithPeriodCollector<ReportBR_0420317> {
private Imdg<Company> companyImdg; private Imdg<Company> companyImdg;
private Imdg<Relation> relationImdg; private Imdg<Relation> relationImdg;
private Imdg<CompanySymbols> companySymbolsImdg; private Imdg<CompanySymbols> companySymbolsImdg;

View file

@ -1,11 +1,11 @@
package ru.spcex.clearing.reports.services.collector; package ru.spcex.clearing.reports.services.collector;
import ru.spcex.clearing.reports.reports.bt_17_3.ReportBR_0420318; import ru.spcex.clearing.reports.reports.bt_17_3.ReportBR_0420318;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import java.time.LocalDate; import java.time.LocalDate;
public class ReportBR_0420318_Collector extends ReportDataCollector<ReportBR_0420318> { public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<ReportBR_0420318> {
@Override @Override
public ReportBR_0420318 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) { public ReportBR_0420318 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {

View file

@ -4,7 +4,7 @@ import ru.clearing.classes.statics.data.account.AccountBalance;
import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.Company;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.ReportINACCNT; import ru.spcex.clearing.reports.reports.ReportINACCNT;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -14,7 +14,7 @@ import ru.spcex.platform.imdg.iml.hazelcast.adapter.predicate.ImdgPredicateBuild
import java.time.LocalDate; import java.time.LocalDate;
import java.util.Collection; import java.util.Collection;
public class ReportINACCNT_Collector extends ReportDataCollector<ReportINACCNT> { public class ReportINACCNT_Collector extends ReportWithPeriodCollector<ReportINACCNT> {
private final Imdg<AccountBalance> accountBalanceImdg; private final Imdg<AccountBalance> accountBalanceImdg;
private final Imdg<Company> companyImdg; private final Imdg<Company> companyImdg;

View file

@ -2,25 +2,25 @@ package ru.spcex.clearing.reports.services.collector;
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.clearing.platform.dictionary.ClearingStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_BT2_B; import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_BT2_B;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.predicate.ImdgPredicateBuilderHazelcast; import ru.spcex.platform.imdg.iml.hazelcast.adapter.predicate.ImdgPredicateBuilderHazelcast;
import ru.spcex.platform.imdg.iml.hazelcast.adapter.predicate.ImdgPredicateHazelcast;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class ReportPA_BT2_B_Collector extends ReportDataCollector<ReportPA_BT2_B> { public class ReportPA_BT2_B_Collector extends ReportWithPeriodCollector<ReportPA_BT2_B> {
private final Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private final Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
private final Imdg<ClearingMemberCategory> clearingMemberCategoryImdg; private final Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;

View file

@ -4,9 +4,8 @@ import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets; import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
import ru.clearing.platform.dictionary.ClearingStatusDictionary; import ru.clearing.platform.dictionary.ClearingStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
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_12_2.ReportPA_BT2_IV;
import ru.spcex.clearing.reports.services.ReportDataCollector; import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -22,7 +21,7 @@ import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class ReportPA_BT2_IV_Collector extends ReportDataCollector<ReportPA_BT2_IV> { public class ReportPA_BT2_IV_Collector extends ReportWithPeriodCollector<ReportPA_BT2_IV> {
private final Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg; private final Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
private final Imdg<ClearingStatusDictionary> clearingStatusDictionaryImdg; private final Imdg<ClearingStatusDictionary> clearingStatusDictionaryImdg;
private final Imdg<ClearingMemberCategory> clearingMemberCategoryImdg; private final Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;

View file

@ -6,11 +6,10 @@ import ru.spcex.clearing.reports.reports.AbstractReport;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertEquals;
class ReportDataCollectorTest extends ReportDataCollector { class ReportDataCollectorTest extends ReportWithPeriodCollector {
@Test @Test
void testToString() { void testToString() {