cls26 collector
This commit is contained in:
parent
3f2aa8faa3
commit
1c27ed93f9
1 changed files with 82 additions and 86 deletions
|
|
@ -1,86 +1,82 @@
|
|||
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.relation.Relation;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.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;
|
||||
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.Map;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420317_collector extends ReportWithPeriodCollector<ReportBR_0420317> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<Relation> relationImdg;
|
||||
private Imdg<CompanySymbols> companySymbolsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420317_collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
relationImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
}
|
||||
|
||||
Collection<Relation> searchRelation(LocalDate startDate, LocalDate endDate, String service) {
|
||||
// String ql = String.format("'%s' <= updated and updated <= '%s' and service='MKR'", startDate, endDate);
|
||||
// Collection<Relation> relations = relationImdg.getCollectionObjectsBySQL(ql);
|
||||
|
||||
ImdgPredicateBuilder pb = relationImdg.predicateBuilder();
|
||||
Instant dateTimeLo = toInstantStartDay(startDate);
|
||||
Instant dateTimeHi = toInstantStartDay(endDate);
|
||||
ImdgPredicate p = pb.and(pb.greatEqual("updated", dateTimeLo), pb.lessEqual("updated", dateTimeHi),
|
||||
pb.equals("service", service));
|
||||
Collection<Relation> relations = relationImdg.getCollectionObjectsByPredicate(p);
|
||||
return relations;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420317 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<Relation> relations = searchRelation(startDate, endDate, "MKR");
|
||||
|
||||
ReportBR_0420317 reportBR_0420317 = new ReportBR_0420317(startDate, endDate);
|
||||
for (Relation relation: relations) {
|
||||
Company company = relation.getConsumerId() == null ? null : companyImdg.getSingleObjectByID(relation.getConsumerId());
|
||||
if (company == null) {
|
||||
log.warn("Company.id={} not found for relation.id={}", relation.getConsumerId(), relation.getId());
|
||||
continue;
|
||||
}
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", DocumentTypes.inn.getKey(),// ИНН или TIN участника клиринга
|
||||
"companyId", company.getId()
|
||||
));
|
||||
ReportBR_0420317.Info_0420317 info_0420317 = new ReportBR_0420317.Info_0420317(
|
||||
company.getClearingCode(),
|
||||
toString(relation.getSupplierId()),
|
||||
relation.getService(),
|
||||
relation.getServiceStatus(),
|
||||
toString(relation.getUpdated()),
|
||||
company.getFullName(),
|
||||
companySymbol == null ? null : companySymbol.getCompanySymbolValue(),
|
||||
company.getProfile().getCountryCode(),
|
||||
relation.getComment()
|
||||
);
|
||||
reportBR_0420317.getRows().add(info_0420317);
|
||||
}
|
||||
|
||||
return reportBR_0420317;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420317> getReportClass() {
|
||||
return ReportBR_0420317.class;
|
||||
}
|
||||
}
|
||||
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.relation.Relation;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.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;
|
||||
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.Map;
|
||||
|
||||
@Component
|
||||
public class ReportBR_0420317_Collector extends ReportWithPeriodCollector<ReportBR_0420317> {
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<Relation> relationImdg;
|
||||
private Imdg<CompanySymbols> companySymbolsImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420317_Collector(ImdgProvider imdgProvider) {
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
relationImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
}
|
||||
|
||||
Collection<Relation> searchRelation(LocalDate startDate, LocalDate endDate, String service) {
|
||||
ImdgPredicateBuilder pb = relationImdg.predicateBuilder();
|
||||
Instant dateTimeLo = toInstantStartDay(startDate);
|
||||
Instant dateTimeHi = toInstantStartDay(endDate);
|
||||
ImdgPredicate p = pb.and(pb.greatEqual("updated", dateTimeLo), pb.lessEqual("updated", dateTimeHi),
|
||||
pb.equals("service", service));
|
||||
Collection<Relation> relations = relationImdg.getCollectionObjectsByPredicate(p);
|
||||
return relations;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBR_0420317 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
Collection<Relation> relations = searchRelation(startDate, endDate, "MKR");
|
||||
|
||||
ReportBR_0420317 reportBR_0420317 = new ReportBR_0420317(startDate, endDate);
|
||||
for (Relation relation: relations) {
|
||||
Company company = relation.getConsumerId() == null ? null : companyImdg.getSingleObjectByID(relation.getConsumerId());
|
||||
if (company == null) {
|
||||
log.warn("Company.id={} not found for relation.id={}", relation.getConsumerId(), relation.getId());
|
||||
continue;
|
||||
}
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", DocumentTypes.inn.getKey(),// ИНН или TIN участника клиринга
|
||||
"companyId", company.getId()
|
||||
));
|
||||
ReportBR_0420317.Info_0420317 info_0420317 = new ReportBR_0420317.Info_0420317(
|
||||
toString(company.getClearingCode()),
|
||||
toString(toString(relation.getSupplierId())),
|
||||
toString(relation.getService()),
|
||||
toString(relation.getServiceStatus()),
|
||||
toString(relation.getUpdated()),
|
||||
toString(company.getFullName()),
|
||||
companySymbol == null ? "" : toString(companySymbol.getCompanySymbolValue()),
|
||||
toString(company.getProfile().getCountryCode()),
|
||||
toString(relation.getComment()));
|
||||
reportBR_0420317.getRows().add(info_0420317);
|
||||
}
|
||||
|
||||
return reportBR_0420317;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ReportBR_0420317> getReportClass() {
|
||||
return ReportBR_0420317.class;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue