repackage old reports
This commit is contained in:
parent
3d56c0fc63
commit
18b8e6d81f
43 changed files with 851 additions and 848 deletions
|
|
@ -1,8 +1,5 @@
|
|||
package ru.spcex.clearing.reports;
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
import com.thoughtworks.xstream.io.naming.NoNameCoder;
|
||||
import com.thoughtworks.xstream.io.xml.XppDriver;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -10,11 +7,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import ru.spcex.clearing.reports.config.ReportCmdParser;
|
||||
import ru.spcex.clearing.reports.reports.bt_16_5.ReportINACCNT;
|
||||
import ru.spcex.clearing.reports.services.QCommandExecutor;
|
||||
import ru.spcex.clearing.reports.services.ReportsServiceCommand;
|
||||
import ru.spcex.clearing.reports.services.collector.ReportINACCNT_Collector;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
@SpringBootApplication
|
||||
public class ReportsServiceApplication {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_12_2;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_12_2;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_12_2;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_12_2;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_13;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_13;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_13;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_13;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_16_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_16_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_1;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_1;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_1;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_1;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_2;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_2;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_3;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_3;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_4;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_4;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_4;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_4;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.reports.bt_17_5;
|
||||
package ru.spcex.clearing.reports.reports.bt.bt_17_5;
|
||||
|
||||
import com.thoughtworks.xstream.annotations.XStreamAlias;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_12_2;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_B;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_12_2.ReportPA_B;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_12_2;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.platform.dictionary.ClearingStatusDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_IV;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_12_2.ReportPA_IV;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_13;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.journal.InDocumentJournal;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_13.ReportDOCIN;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_13.ReportDOCIN;
|
||||
import ru.spcex.clearing.reports.services.SimpleReportCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_13;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.journal.OutDocumentJournal;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_13.ReportDOCOUT;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_13.ReportDOCOUT;
|
||||
import ru.spcex.clearing.reports.services.SimpleReportCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_16_5;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_16_5.ReportINACCNT;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_16_5.ReportINACCNT;
|
||||
import ru.spcex.clearing.reports.services.ReportForClearingCodeCollector;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
|
@ -1,16 +1,17 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_1;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.misc.Listing;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.classes.statics.data.misc.Listing;
|
||||
import ru.clearing.platform.dictionary.ClearingStatusDictionary;
|
||||
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.bt_17_1.ReportBR_0420315_P1;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.enumeration.ClearingStatus;
|
||||
import ru.spcex.platform.enumeration.Market;
|
||||
|
|
@ -1,56 +1,56 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_1.ReportBR_0420315_P2;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420315_P2_collector extends ReportWithPeriodCollector<ReportBR_0420315_P2> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420315_P2_collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420315_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
long liabilitiesAmount;
|
||||
BigDecimal contractorQty = BigDecimal.ZERO;
|
||||
{
|
||||
HashSet<String> collectedToSumm = new HashSet<>();
|
||||
for (LiabilitiesClaimsAssets lContract : liabilities) {
|
||||
if (lContract.getLiabilitiesQuantity() != null && StringUtils.isNotEmpty(lContract.getContract())) {
|
||||
collectedToSumm.add(lContract.getContract());
|
||||
contractorQty = contractorQty.add(lContract.getLiabilitiesQuantity());
|
||||
}
|
||||
}
|
||||
liabilitiesAmount = collectedToSumm.size();
|
||||
}
|
||||
|
||||
ReportBR_0420315_P2 reportBR_0420315_p2 = new ReportBR_0420315_P2(startDate, endDate);
|
||||
reportBR_0420315_p2.setRows(new ReportBR_0420315_P2.Info_0420315_P2(toString(contractorQty),
|
||||
toString(liabilitiesAmount)));
|
||||
|
||||
return reportBR_0420315_p2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420315_P2> getReportClass() {
|
||||
return ReportBR_0420315_P2.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_1;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_1.ReportBR_0420315_P2;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420315_P2_collector extends ReportWithPeriodCollector<ReportBR_0420315_P2> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420315_P2_collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420315_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
long liabilitiesAmount;
|
||||
BigDecimal contractorQty = BigDecimal.ZERO;
|
||||
{
|
||||
HashSet<String> collectedToSumm = new HashSet<>();
|
||||
for (LiabilitiesClaimsAssets lContract : liabilities) {
|
||||
if (lContract.getLiabilitiesQuantity() != null && StringUtils.isNotEmpty(lContract.getContract())) {
|
||||
collectedToSumm.add(lContract.getContract());
|
||||
contractorQty = contractorQty.add(lContract.getLiabilitiesQuantity());
|
||||
}
|
||||
}
|
||||
liabilitiesAmount = collectedToSumm.size();
|
||||
}
|
||||
|
||||
ReportBR_0420315_P2 reportBR_0420315_p2 = new ReportBR_0420315_P2(startDate, endDate);
|
||||
reportBR_0420315_p2.setRows(new ReportBR_0420315_P2.Info_0420315_P2(toString(contractorQty),
|
||||
toString(liabilitiesAmount)));
|
||||
|
||||
return reportBR_0420315_p2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420315_P2> getReportClass() {
|
||||
return ReportBR_0420315_P2.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_2;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
@ -6,7 +6,7 @@ import ru.clearing.classes.statics.data.company.Company;
|
|||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_2.ReportBR_0420317;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_2.ReportBR_0420317;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
|
@ -1,15 +1,16 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_3;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_3.ReportBR_0420318;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_3.ReportBR_0420318;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
|
|
@ -1,99 +1,100 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.platform.dictionary.ClearingStatusDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_4.ReportBR_0420314_P1;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.enumeration.ClearingStatus;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* accountTransactionLiabilities
|
||||
*/
|
||||
@Component
|
||||
public class ReportBR_0420314_P1_Collector extends ReportWithPeriodCollector<ReportBR_0420314_P1> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<CompanySymbols> companySymbolsImdg;
|
||||
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
private Imdg<ClearingStatusDictionary> clearingStatusDictionaryImdg;
|
||||
|
||||
protected static final String ALLOW_CLEARING_STATUS = ClearingStatus.OK.getKey();
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420314_P1_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
clearingStatusDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingStatusDictionary, ClearingStatusDictionary.class);
|
||||
}
|
||||
|
||||
protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", docType.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
return companySymbol;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ReportBR_0420314_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420314_P1 reportBR_0420312P1 = new ReportBR_0420314_P1(startDate, endDate, "BR",
|
||||
ALLOW_CLEARING_STATUS //clearingStatus.getCode() "OK"
|
||||
);
|
||||
final Long allowClearingStatusId = MapUtil.getDictionaryIdByCode(clearingStatusDictionaryImdg, ALLOW_CLEARING_STATUS); // "OK"
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate, allowClearingStatusId);
|
||||
|
||||
for (LiabilitiesClaimsAssets liability: liabilities) {
|
||||
final Long companyId = liability.getCompanyId();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
|
||||
continue;
|
||||
}
|
||||
Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
|
||||
String cleanMemberCategories = MapUtil.joinMultiString(cmcLst, ClearingMemberCategory::getClearingMemberCategory);
|
||||
|
||||
CompanySymbols companySymbolCntr = findSymbol(DocumentTypes.cntr, company.getId());
|
||||
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
||||
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
|
||||
|
||||
ReportBR_0420314_P1.Info_0420314_P1 info_0420314P1 = new ReportBR_0420314_P1.Info_0420314_P1(
|
||||
toString(company.getClearingCode()),
|
||||
toString(companySymbolCntr == null? null : companySymbolCntr.getId()),
|
||||
toString(company.getFullName()),
|
||||
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
|
||||
toString(companySymbolOGRN == null? null : companySymbolOGRN.getCompanySymbolValue()),
|
||||
toString(cleanMemberCategories), // может быть несколько, тогда через запятую перечислить
|
||||
toString(liability.getRefundPaymentId()),
|
||||
toString(liability.getTradingDate()),
|
||||
toString(liability.getLiabilitiesQuantity())
|
||||
);
|
||||
reportBR_0420312P1.getRows().add(info_0420314P1);
|
||||
}
|
||||
|
||||
return reportBR_0420312P1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420314_P1> getReportClass() {
|
||||
return ReportBR_0420314_P1.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_4;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.platform.dictionary.ClearingStatusDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_4.ReportBR_0420314_P1;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.enumeration.ClearingStatus;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* accountTransactionLiabilities
|
||||
*/
|
||||
@Component
|
||||
public class ReportBR_0420314_P1_Collector extends ReportWithPeriodCollector<ReportBR_0420314_P1> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<CompanySymbols> companySymbolsImdg;
|
||||
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
private Imdg<ClearingStatusDictionary> clearingStatusDictionaryImdg;
|
||||
|
||||
protected static final String ALLOW_CLEARING_STATUS = ClearingStatus.OK.getKey();
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420314_P1_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
clearingStatusDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingStatusDictionary, ClearingStatusDictionary.class);
|
||||
}
|
||||
|
||||
protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", docType.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
return companySymbol;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ReportBR_0420314_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420314_P1 reportBR_0420312P1 = new ReportBR_0420314_P1(startDate, endDate, "BR",
|
||||
ALLOW_CLEARING_STATUS //clearingStatus.getCode() "OK"
|
||||
);
|
||||
final Long allowClearingStatusId = MapUtil.getDictionaryIdByCode(clearingStatusDictionaryImdg, ALLOW_CLEARING_STATUS); // "OK"
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate, allowClearingStatusId);
|
||||
|
||||
for (LiabilitiesClaimsAssets liability: liabilities) {
|
||||
final Long companyId = liability.getCompanyId();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
|
||||
continue;
|
||||
}
|
||||
Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
|
||||
String cleanMemberCategories = MapUtil.joinMultiString(cmcLst, ClearingMemberCategory::getClearingMemberCategory);
|
||||
|
||||
CompanySymbols companySymbolCntr = findSymbol(DocumentTypes.cntr, company.getId());
|
||||
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
||||
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
|
||||
|
||||
ReportBR_0420314_P1.Info_0420314_P1 info_0420314P1 = new ReportBR_0420314_P1.Info_0420314_P1(
|
||||
toString(company.getClearingCode()),
|
||||
toString(companySymbolCntr == null? null : companySymbolCntr.getId()),
|
||||
toString(company.getFullName()),
|
||||
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
|
||||
toString(companySymbolOGRN == null? null : companySymbolOGRN.getCompanySymbolValue()),
|
||||
toString(cleanMemberCategories), // может быть несколько, тогда через запятую перечислить
|
||||
toString(liability.getRefundPaymentId()),
|
||||
toString(liability.getTradingDate()),
|
||||
toString(liability.getLiabilitiesQuantity())
|
||||
);
|
||||
reportBR_0420312P1.getRows().add(info_0420314P1);
|
||||
}
|
||||
|
||||
return reportBR_0420312P1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420314_P1> getReportClass() {
|
||||
return ReportBR_0420314_P1.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,128 +1,129 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.payment.PaymentInstruction;
|
||||
import ru.clearing.classes.statics.data.profile.ProfileDocument;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_4.ReportBR_0420314_P2;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* accountTransactionLiabilities
|
||||
*/
|
||||
@Component
|
||||
public class ReportBR_0420314_P2_Collector extends ReportWithPeriodCollector<ReportBR_0420314_P2> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<PaymentInstruction> paymentInstructionImdg;
|
||||
private Imdg<AccountBalance> accountBalanceImdg;
|
||||
private Imdg<ProfileDocument> profileDocumentImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420314_P2_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
paymentInstructionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_PaymentInstruction, PaymentInstruction.class);
|
||||
accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
||||
profileDocumentImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class);
|
||||
}
|
||||
|
||||
Collection<PaymentInstruction> searchPaymentInstruction(LocalDate startDate, LocalDate endDate) {
|
||||
ImdgPredicateBuilder pb = paymentInstructionImdg.predicateBuilder();
|
||||
Instant dateTimeLo = toInstantStartDay(startDate);
|
||||
Instant dateTimeHi = toInstantEndDay(endDate);
|
||||
ImdgPredicate p = pb.and(pb.greatEqual("created", dateTimeLo), pb.lessEqual("created", dateTimeHi));
|
||||
Collection<PaymentInstruction> paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsByPredicate(p);
|
||||
return paymentInstructionsAll;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420314_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420314_P2 reportBR_0420312P2 = new ReportBR_0420314_P2(startDate, endDate,
|
||||
"", "BR"
|
||||
);
|
||||
|
||||
Collection<PaymentInstruction> paymentInstructionsAll = searchPaymentInstruction(startDate, endDate);
|
||||
|
||||
Map<Long, List<PaymentInstruction>> companyIdPyPaymtInstruction =
|
||||
MapUtil.indexList(paymentInstructionsAll, PaymentInstruction::getSenderId);
|
||||
|
||||
for (Map.Entry<Long, List<PaymentInstruction>> entry : companyIdPyPaymtInstruction.entrySet()) {
|
||||
final Long companyId = entry.getKey();
|
||||
List<PaymentInstruction> paymentInstructionsByCompany = entry.getValue();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found, id={}", companyId);
|
||||
continue;
|
||||
}
|
||||
ProfileDocument profileDocumentCntr = profileDocumentImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companyId", companyId,
|
||||
"documentType", DocumentTypes.cntr.getKey()
|
||||
));
|
||||
AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"accountType", AccountType.Clrn.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
|
||||
String documentTypeStr = null;
|
||||
if (profileDocumentCntr != null) {
|
||||
documentTypeStr = profileDocumentCntr.getNumber();
|
||||
if (profileDocumentCntr.getValidFromDate() != null) {
|
||||
if (StringUtils.isEmpty(documentTypeStr)) {
|
||||
documentTypeStr = "";
|
||||
} else {
|
||||
documentTypeStr += " ";
|
||||
}
|
||||
documentTypeStr += toString(profileDocumentCntr.getValidFromDate());
|
||||
}
|
||||
}
|
||||
|
||||
Long paymentInstruction_creditLeg_amount = paymentInstructionsByCompany.stream()
|
||||
.map(PaymentInstruction::getCreditLegAmount)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(Long::sum)
|
||||
.orElse(0L);
|
||||
Long paymentInstructiont_debitLeg_amount = paymentInstructionsByCompany.stream()
|
||||
.map(PaymentInstruction::getDebitLegAmount)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(Long::sum)
|
||||
.orElse(0L);
|
||||
|
||||
|
||||
ReportBR_0420314_P2.Info_0420314_P2 info_0420314P2 = new ReportBR_0420314_P2.Info_0420314_P2(
|
||||
toString(company.getClearingCode()),
|
||||
toString(documentTypeStr),
|
||||
toString(accountBalance == null ? null : accountBalance.getOpenBalanceAmount()),
|
||||
toString(paymentInstruction_creditLeg_amount),
|
||||
toString(paymentInstructiont_debitLeg_amount),
|
||||
toString(accountBalance == null ? null : accountBalance.getCloseBalanceAmount())
|
||||
);
|
||||
|
||||
reportBR_0420312P2.getRows().add(info_0420314P2);
|
||||
}
|
||||
|
||||
return reportBR_0420312P2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420314_P2> getReportClass() {
|
||||
return ReportBR_0420314_P2.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_4;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.payment.PaymentInstruction;
|
||||
import ru.clearing.classes.statics.data.profile.ProfileDocument;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_4.ReportBR_0420314_P2;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* accountTransactionLiabilities
|
||||
*/
|
||||
@Component
|
||||
public class ReportBR_0420314_P2_Collector extends ReportWithPeriodCollector<ReportBR_0420314_P2> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<PaymentInstruction> paymentInstructionImdg;
|
||||
private Imdg<AccountBalance> accountBalanceImdg;
|
||||
private Imdg<ProfileDocument> profileDocumentImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420314_P2_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
paymentInstructionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_PaymentInstruction, PaymentInstruction.class);
|
||||
accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
||||
profileDocumentImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class);
|
||||
}
|
||||
|
||||
Collection<PaymentInstruction> searchPaymentInstruction(LocalDate startDate, LocalDate endDate) {
|
||||
ImdgPredicateBuilder pb = paymentInstructionImdg.predicateBuilder();
|
||||
Instant dateTimeLo = toInstantStartDay(startDate);
|
||||
Instant dateTimeHi = toInstantEndDay(endDate);
|
||||
ImdgPredicate p = pb.and(pb.greatEqual("created", dateTimeLo), pb.lessEqual("created", dateTimeHi));
|
||||
Collection<PaymentInstruction> paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsByPredicate(p);
|
||||
return paymentInstructionsAll;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420314_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420314_P2 reportBR_0420312P2 = new ReportBR_0420314_P2(startDate, endDate,
|
||||
"", "BR"
|
||||
);
|
||||
|
||||
Collection<PaymentInstruction> paymentInstructionsAll = searchPaymentInstruction(startDate, endDate);
|
||||
|
||||
Map<Long, List<PaymentInstruction>> companyIdPyPaymtInstruction =
|
||||
MapUtil.indexList(paymentInstructionsAll, PaymentInstruction::getSenderId);
|
||||
|
||||
for (Map.Entry<Long, List<PaymentInstruction>> entry : companyIdPyPaymtInstruction.entrySet()) {
|
||||
final Long companyId = entry.getKey();
|
||||
List<PaymentInstruction> paymentInstructionsByCompany = entry.getValue();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found, id={}", companyId);
|
||||
continue;
|
||||
}
|
||||
ProfileDocument profileDocumentCntr = profileDocumentImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companyId", companyId,
|
||||
"documentType", DocumentTypes.cntr.getKey()
|
||||
));
|
||||
AccountBalance accountBalance = accountBalanceImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"accountType", AccountType.Clrn.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
|
||||
String documentTypeStr = null;
|
||||
if (profileDocumentCntr != null) {
|
||||
documentTypeStr = profileDocumentCntr.getNumber();
|
||||
if (profileDocumentCntr.getValidFromDate() != null) {
|
||||
if (StringUtils.isEmpty(documentTypeStr)) {
|
||||
documentTypeStr = "";
|
||||
} else {
|
||||
documentTypeStr += " ";
|
||||
}
|
||||
documentTypeStr += toString(profileDocumentCntr.getValidFromDate());
|
||||
}
|
||||
}
|
||||
|
||||
Long paymentInstruction_creditLeg_amount = paymentInstructionsByCompany.stream()
|
||||
.map(PaymentInstruction::getCreditLegAmount)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(Long::sum)
|
||||
.orElse(0L);
|
||||
Long paymentInstructiont_debitLeg_amount = paymentInstructionsByCompany.stream()
|
||||
.map(PaymentInstruction::getDebitLegAmount)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(Long::sum)
|
||||
.orElse(0L);
|
||||
|
||||
|
||||
ReportBR_0420314_P2.Info_0420314_P2 info_0420314P2 = new ReportBR_0420314_P2.Info_0420314_P2(
|
||||
toString(company.getClearingCode()),
|
||||
toString(documentTypeStr),
|
||||
toString(accountBalance == null ? null : accountBalance.getOpenBalanceAmount()),
|
||||
toString(paymentInstruction_creditLeg_amount),
|
||||
toString(paymentInstructiont_debitLeg_amount),
|
||||
toString(accountBalance == null ? null : accountBalance.getCloseBalanceAmount())
|
||||
);
|
||||
|
||||
reportBR_0420312P2.getRows().add(info_0420314P2);
|
||||
}
|
||||
|
||||
return reportBR_0420312P2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420314_P2> getReportClass() {
|
||||
return ReportBR_0420314_P2.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +1,48 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P10;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P10_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P10> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P10_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P10 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = liabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P10 reportBR_0420312P10 = new ReportBR_0420312_P10(startDate, endDate);
|
||||
ReportBR_0420312_P10.Info_0420312_P10 reportInfo = new ReportBR_0420312_P10.Info_0420312_P10(toString(liabilitiesQuantitySum));
|
||||
reportBR_0420312P10.getRows().add(reportInfo);
|
||||
|
||||
return reportBR_0420312P10;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P10> getReportClass() {
|
||||
return ReportBR_0420312_P10.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P10;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P10_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P10> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P10_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P10 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = liabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P10 reportBR_0420312P10 = new ReportBR_0420312_P10(startDate, endDate);
|
||||
ReportBR_0420312_P10.Info_0420312_P10 reportInfo = new ReportBR_0420312_P10.Info_0420312_P10(toString(liabilitiesQuantitySum));
|
||||
reportBR_0420312P10.getRows().add(reportInfo);
|
||||
|
||||
return reportBR_0420312P10;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P10> getReportClass() {
|
||||
return ReportBR_0420312_P10.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,83 +1,84 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P1;
|
||||
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.ImdgProvider;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P1_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P1> {
|
||||
private final Imdg<Company> companyImdg;
|
||||
private final Imdg<CompanySymbols> companySymbolsImdg;
|
||||
private final Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
private final Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P1_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
}
|
||||
|
||||
protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", docType.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
return companySymbol;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420312_P1 reportBR_0420312P1 = new ReportBR_0420312_P1(startDate, endDate, "BR");
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
|
||||
final Long companyId = companyEntry.getKey();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
|
||||
continue;
|
||||
}
|
||||
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
||||
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
|
||||
ClearingMemberCategory cmc = clearingMemberCategoryImdg.getSingleObjectByFieldValues(Map.of("companyId", companyId));
|
||||
String clearingMemberCategory = cmc == null ? null : cmc.getClearingMemberCategory();
|
||||
ReportBR_0420312_P1.Info_0420312_P1 info_0420312_p1 = new ReportBR_0420312_P1.Info_0420312_P1(
|
||||
toString(company.getClearingCode()),
|
||||
toString(companyId),
|
||||
toString(company.getFullName()),
|
||||
companySymbolINN == null ? null : toString(companySymbolINN.getCompanySymbolValue()),
|
||||
companySymbolOGRN == null ? null : toString(companySymbolOGRN.getCompanySymbolValue()),
|
||||
toString(company.getProfile().getCountryCode()),
|
||||
toString(clearingMemberCategory));
|
||||
reportBR_0420312P1.getRows().add(info_0420312_p1);
|
||||
}
|
||||
|
||||
return reportBR_0420312P1;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P1> getReportClass() {
|
||||
return ReportBR_0420312_P1.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P1;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P1_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P1> {
|
||||
private final Imdg<Company> companyImdg;
|
||||
private final Imdg<CompanySymbols> companySymbolsImdg;
|
||||
private final Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
private final Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P1_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
}
|
||||
|
||||
protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", docType.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
return companySymbol;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420312_P1 reportBR_0420312P1 = new ReportBR_0420312_P1(startDate, endDate, "BR");
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
|
||||
final Long companyId = companyEntry.getKey();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
|
||||
continue;
|
||||
}
|
||||
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
||||
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
|
||||
ClearingMemberCategory cmc = clearingMemberCategoryImdg.getSingleObjectByFieldValues(Map.of("companyId", companyId));
|
||||
String clearingMemberCategory = cmc == null ? null : cmc.getClearingMemberCategory();
|
||||
ReportBR_0420312_P1.Info_0420312_P1 info_0420312_p1 = new ReportBR_0420312_P1.Info_0420312_P1(
|
||||
toString(company.getClearingCode()),
|
||||
toString(companyId),
|
||||
toString(company.getFullName()),
|
||||
companySymbolINN == null ? null : toString(companySymbolINN.getCompanySymbolValue()),
|
||||
companySymbolOGRN == null ? null : toString(companySymbolOGRN.getCompanySymbolValue()),
|
||||
toString(company.getProfile().getCountryCode()),
|
||||
toString(clearingMemberCategory));
|
||||
reportBR_0420312P1.getRows().add(info_0420312_p1);
|
||||
}
|
||||
|
||||
return reportBR_0420312P1;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P1> getReportClass() {
|
||||
return ReportBR_0420312_P1.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,61 +1,62 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P2;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P2_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P2> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P2_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420312_P2 reportBR_0420312P1 = new ReportBR_0420312_P2(startDate, endDate, "BR");
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
|
||||
final Long companyId = companyEntry.getKey();
|
||||
List<LiabilitiesClaimsAssets> companyLiabilities=companyEntry.getValue();
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = companyLiabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P2.Info_0420312_P2 info_0420312_p2 = new ReportBR_0420312_P2.Info_0420312_P2(
|
||||
toString(companyId),
|
||||
toString(liabilitiesQuantitySum)
|
||||
);
|
||||
reportBR_0420312P1.getRows().add(info_0420312_p2);
|
||||
}
|
||||
|
||||
return reportBR_0420312P1;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P2> getReportClass() {
|
||||
return ReportBR_0420312_P2.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P2;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P2_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P2> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P2_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P2 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420312_P2 reportBR_0420312P1 = new ReportBR_0420312_P2(startDate, endDate, "BR");
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
|
||||
final Long companyId = companyEntry.getKey();
|
||||
List<LiabilitiesClaimsAssets> companyLiabilities=companyEntry.getValue();
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = companyLiabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P2.Info_0420312_P2 info_0420312_p2 = new ReportBR_0420312_P2.Info_0420312_P2(
|
||||
toString(companyId),
|
||||
toString(liabilitiesQuantitySum)
|
||||
);
|
||||
reportBR_0420312P1.getRows().add(info_0420312_p2);
|
||||
}
|
||||
|
||||
return reportBR_0420312P1;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P2> getReportClass() {
|
||||
return ReportBR_0420312_P2.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,12 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
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.bt_17_5.ReportBR_0420312_P3;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
|
|
@ -1,48 +1,48 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P4;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P4_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P4> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P4_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P4 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = liabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P4 reportBR_0420312P4 = new ReportBR_0420312_P4(startDate, endDate);
|
||||
ReportBR_0420312_P4.Info_0420312_P4 reportInfo = new ReportBR_0420312_P4.Info_0420312_P4(toString(liabilitiesQuantitySum));
|
||||
reportBR_0420312P4.getRows().add(reportInfo);
|
||||
|
||||
return reportBR_0420312P4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P4> getReportClass() {
|
||||
return ReportBR_0420312_P4.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P4;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P4_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P4> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P4_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P4 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = liabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P4 reportBR_0420312P4 = new ReportBR_0420312_P4(startDate, endDate);
|
||||
ReportBR_0420312_P4.Info_0420312_P4 reportInfo = new ReportBR_0420312_P4.Info_0420312_P4(toString(liabilitiesQuantitySum));
|
||||
reportBR_0420312P4.getRows().add(reportInfo);
|
||||
|
||||
return reportBR_0420312P4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P4> getReportClass() {
|
||||
return ReportBR_0420312_P4.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +1,48 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P5;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P5_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P5> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P5_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P5 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = liabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P5 reportBR_0420312P5 = new ReportBR_0420312_P5(startDate, endDate);
|
||||
ReportBR_0420312_P5.Info_0420312_P5 reportInfo = new ReportBR_0420312_P5.Info_0420312_P5(toString(liabilitiesQuantitySum));
|
||||
reportBR_0420312P5.getRows().add(reportInfo);
|
||||
|
||||
return reportBR_0420312P5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P5> getReportClass() {
|
||||
return ReportBR_0420312_P5.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P5;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P5_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P5> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P5_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P5 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = liabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P5 reportBR_0420312P5 = new ReportBR_0420312_P5(startDate, endDate);
|
||||
ReportBR_0420312_P5.Info_0420312_P5 reportInfo = new ReportBR_0420312_P5.Info_0420312_P5(toString(liabilitiesQuantitySum));
|
||||
reportBR_0420312P5.getRows().add(reportInfo);
|
||||
|
||||
return reportBR_0420312P5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P5> getReportClass() {
|
||||
return ReportBR_0420312_P5.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +1,48 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P6;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P6_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P6> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P6_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P6 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = liabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P6 reportBR_0420312P5 = new ReportBR_0420312_P6(startDate, endDate);
|
||||
ReportBR_0420312_P6.Info_0420312_P6 reportInfo = new ReportBR_0420312_P6.Info_0420312_P6(toString(liabilitiesQuantitySum));
|
||||
reportBR_0420312P5.getRows().add(reportInfo);
|
||||
|
||||
return reportBR_0420312P5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P6> getReportClass() {
|
||||
return ReportBR_0420312_P6.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P6;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P6_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P6> {
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P6_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P6 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
|
||||
BigDecimal liabilitiesQuantitySum = liabilities.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
ReportBR_0420312_P6 reportBR_0420312P5 = new ReportBR_0420312_P6(startDate, endDate);
|
||||
ReportBR_0420312_P6.Info_0420312_P6 reportInfo = new ReportBR_0420312_P6.Info_0420312_P6(toString(liabilitiesQuantitySum));
|
||||
reportBR_0420312P5.getRows().add(reportInfo);
|
||||
|
||||
return reportBR_0420312P5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P6> getReportClass() {
|
||||
return ReportBR_0420312_P6.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
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.bt_17_5.ReportBR_0420312_P7;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
|
@ -1,98 +1,99 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P8;
|
||||
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.ImdgProvider;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P8_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P8> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<CompanySymbols> companySymbolsImdg;
|
||||
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
private Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P8_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
currencyCodeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
||||
}
|
||||
|
||||
protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", docType.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
return companySymbol;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P8 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420312_P8 reportBR_0420312P8 = new ReportBR_0420312_P8(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
|
||||
final Long companyId = companyEntry.getKey();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
|
||||
continue;
|
||||
}
|
||||
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
||||
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
|
||||
ClearingMemberCategory cmc = clearingMemberCategoryImdg.getSingleObjectByFieldValues(Map.of("companyId", companyId));
|
||||
String clearingMemberCategory = cmc == null ? null : cmc.getClearingMemberCategory();
|
||||
|
||||
|
||||
List<LiabilitiesClaimsAssets> companyLiabilities = companyEntry.getValue();
|
||||
Map<String, List<LiabilitiesClaimsAssets>> indexByCurrency = MapUtil.indexList(companyLiabilities, LiabilitiesClaimsAssets::getCurrency);
|
||||
for (Map.Entry<String, List<LiabilitiesClaimsAssets>> currencyEntry : indexByCurrency.entrySet()) {
|
||||
String currencyCode = currencyEntry.getKey();
|
||||
Long currencyId = MapUtil.getDictionaryIdByCode(currencyCodeDictionaryImdg, currencyCode);
|
||||
if (currencyId == null) {
|
||||
log.warn("No currency found for code \"{}\"", currencyEntry.getKey());
|
||||
}
|
||||
ReportBR_0420312_P8.Info_0420312_P8 info_0420312_p8 = new ReportBR_0420312_P8.Info_0420312_P8(
|
||||
toString(currencyId),
|
||||
toString(companyId),
|
||||
toString(company.getFullName()),
|
||||
companySymbolINN == null ? null : toString(companySymbolINN.getCompanySymbolValue()),
|
||||
companySymbolOGRN == null ? null : toString(companySymbolOGRN.getCompanySymbolValue()),
|
||||
toString(company.getProfile().getCountryCode()),
|
||||
toString(clearingMemberCategory)
|
||||
);
|
||||
reportBR_0420312P8.getRows().add(info_0420312_p8);
|
||||
}
|
||||
}
|
||||
|
||||
return reportBR_0420312P8;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P8> getReportClass() {
|
||||
return ReportBR_0420312_P8.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P8;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P8_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P8> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<CompanySymbols> companySymbolsImdg;
|
||||
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
private Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P8_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
currencyCodeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
||||
}
|
||||
|
||||
protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", docType.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
return companySymbol;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P8 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420312_P8 reportBR_0420312P8 = new ReportBR_0420312_P8(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
|
||||
final Long companyId = companyEntry.getKey();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
|
||||
continue;
|
||||
}
|
||||
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
||||
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
|
||||
ClearingMemberCategory cmc = clearingMemberCategoryImdg.getSingleObjectByFieldValues(Map.of("companyId", companyId));
|
||||
String clearingMemberCategory = cmc == null ? null : cmc.getClearingMemberCategory();
|
||||
|
||||
|
||||
List<LiabilitiesClaimsAssets> companyLiabilities = companyEntry.getValue();
|
||||
Map<String, List<LiabilitiesClaimsAssets>> indexByCurrency = MapUtil.indexList(companyLiabilities, LiabilitiesClaimsAssets::getCurrency);
|
||||
for (Map.Entry<String, List<LiabilitiesClaimsAssets>> currencyEntry : indexByCurrency.entrySet()) {
|
||||
String currencyCode = currencyEntry.getKey();
|
||||
Long currencyId = MapUtil.getDictionaryIdByCode(currencyCodeDictionaryImdg, currencyCode);
|
||||
if (currencyId == null) {
|
||||
log.warn("No currency found for code \"{}\"", currencyEntry.getKey());
|
||||
}
|
||||
ReportBR_0420312_P8.Info_0420312_P8 info_0420312_p8 = new ReportBR_0420312_P8.Info_0420312_P8(
|
||||
toString(currencyId),
|
||||
toString(companyId),
|
||||
toString(company.getFullName()),
|
||||
companySymbolINN == null ? null : toString(companySymbolINN.getCompanySymbolValue()),
|
||||
companySymbolOGRN == null ? null : toString(companySymbolOGRN.getCompanySymbolValue()),
|
||||
toString(company.getProfile().getCountryCode()),
|
||||
toString(clearingMemberCategory)
|
||||
);
|
||||
reportBR_0420312P8.getRows().add(info_0420312_p8);
|
||||
}
|
||||
}
|
||||
|
||||
return reportBR_0420312P8;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P8> getReportClass() {
|
||||
return ReportBR_0420312_P8.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,80 +1,81 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P9;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P9_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P9> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
private Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P9_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
currencyCodeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P9 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420312_P9 reportBR_0420312P9 = new ReportBR_0420312_P9(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
|
||||
final Long companyId = companyEntry.getKey();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
|
||||
continue;
|
||||
}
|
||||
List<LiabilitiesClaimsAssets> companyLiabilities = companyEntry.getValue();
|
||||
Map<String, List<LiabilitiesClaimsAssets>> indexByCurrency = MapUtil.indexList(companyLiabilities, LiabilitiesClaimsAssets::getCurrency);
|
||||
for (Map.Entry<String, List<LiabilitiesClaimsAssets>> currencyEntry : indexByCurrency.entrySet()) {
|
||||
String currencyCode = currencyEntry.getKey();
|
||||
Long currencyId = MapUtil.getDictionaryIdByCode(currencyCodeDictionaryImdg, currencyCode);
|
||||
if (currencyId == null) {
|
||||
log.warn("No currency found for code \"{}\"", currencyEntry.getKey());
|
||||
}
|
||||
BigDecimal sumOfLiabilities = currencyEntry.getValue().stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add)
|
||||
.orElse(BigDecimal.ZERO);
|
||||
ReportBR_0420312_P9.Info_0420312_P9 info_0420312_p9 = new ReportBR_0420312_P9.Info_0420312_P9(
|
||||
toString(currencyId),
|
||||
toString(companyId),
|
||||
toString(currencyCode),
|
||||
toString(sumOfLiabilities)
|
||||
);
|
||||
reportBR_0420312P9.getRows().add(info_0420312_p9);
|
||||
}
|
||||
}
|
||||
|
||||
return reportBR_0420312P9;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P9> getReportClass() {
|
||||
return ReportBR_0420312_P9.class;
|
||||
}
|
||||
}
|
||||
package ru.spcex.clearing.reports.services.collector.bt.bt_17_5;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt.bt_17_5.ReportBR_0420312_P9;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.clearing.reports.services.collector.MapUtil;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420312_P9_Collector extends ReportWithPeriodCollector<ReportBR_0420312_P9> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
private Imdg<CurrencyCodeDictionary> currencyCodeDictionaryImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420312_P9_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
currencyCodeDictionaryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420312_P9 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
ReportBR_0420312_P9 reportBR_0420312P9 = new ReportBR_0420312_P9(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> companyEntry : indexByCompany.entrySet()) {
|
||||
final Long companyId = companyEntry.getKey();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
if (company == null) {
|
||||
log.warn("Company not found by LiabilitiesClaimsAssets.CompanyId={}", companyId);
|
||||
continue;
|
||||
}
|
||||
List<LiabilitiesClaimsAssets> companyLiabilities = companyEntry.getValue();
|
||||
Map<String, List<LiabilitiesClaimsAssets>> indexByCurrency = MapUtil.indexList(companyLiabilities, LiabilitiesClaimsAssets::getCurrency);
|
||||
for (Map.Entry<String, List<LiabilitiesClaimsAssets>> currencyEntry : indexByCurrency.entrySet()) {
|
||||
String currencyCode = currencyEntry.getKey();
|
||||
Long currencyId = MapUtil.getDictionaryIdByCode(currencyCodeDictionaryImdg, currencyCode);
|
||||
if (currencyId == null) {
|
||||
log.warn("No currency found for code \"{}\"", currencyEntry.getKey());
|
||||
}
|
||||
BigDecimal sumOfLiabilities = currencyEntry.getValue().stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add)
|
||||
.orElse(BigDecimal.ZERO);
|
||||
ReportBR_0420312_P9.Info_0420312_P9 info_0420312_p9 = new ReportBR_0420312_P9.Info_0420312_P9(
|
||||
toString(currencyId),
|
||||
toString(companyId),
|
||||
toString(currencyCode),
|
||||
toString(sumOfLiabilities)
|
||||
);
|
||||
reportBR_0420312P9.getRows().add(info_0420312_p9);
|
||||
}
|
||||
}
|
||||
|
||||
return reportBR_0420312P9;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420312_P9> getReportClass() {
|
||||
return ReportBR_0420312_P9.class;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue