cls27 collector
This commit is contained in:
parent
dd101f97d0
commit
3a6fb8e5b2
1 changed files with 18 additions and 29 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
package ru.spcex.clearing.reports.services.collector;
|
package ru.spcex.clearing.reports.services.collector;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||||
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
|
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
|
||||||
|
|
@ -13,15 +14,17 @@ import ru.spcex.platform.enumeration.ClearingCategory;
|
||||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Component
|
||||||
public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<ReportBR_0420318> {
|
public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<ReportBR_0420318> {
|
||||||
|
|
||||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||||
|
|
@ -48,35 +51,21 @@ public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<Report
|
||||||
return companySymbol;
|
return companySymbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Collection<LiabilitiesClaimsAssets> searchLiabilitiesClaimsAssets(LocalDate startDate, LocalDate endDate) {
|
|
||||||
// String ql = String.format("'%s' <= refundDate and refundDate <= '%s'", formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
|
|
||||||
// Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsBySQL(ql);
|
|
||||||
|
|
||||||
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
|
|
||||||
Instant dateTimeLo = toInstantStartDay(startDate);
|
|
||||||
Instant dateTimeHi = toInstantStartDay(endDate);
|
|
||||||
ImdgPredicate p = pb.and(pb.greatEqual("refundDate", dateTimeLo), pb.lessEqual("refundDate", dateTimeHi));
|
|
||||||
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
|
|
||||||
return liabilities;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReportBR_0420318 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
public ReportBR_0420318 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||||
validateDateRange(startDate, endDate);
|
validateDateRange(startDate, endDate);
|
||||||
Collection<LiabilitiesClaimsAssets> allLiabilities = searchLiabilitiesClaimsAssets(startDate, endDate);
|
Collection<LiabilitiesClaimsAssets> allLiabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate);
|
||||||
|
|
||||||
ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(startDate, endDate);
|
ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(startDate, endDate);
|
||||||
|
|
||||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(allLiabilities, LiabilitiesClaimsAssets::getCompanyId);
|
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(allLiabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||||
|
|
||||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> liabilitysByCompanyE : indexByCompany.entrySet()) {
|
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> liabilitiesByCompanyE : indexByCompany.entrySet()) {
|
||||||
final Long companyId = liabilitysByCompanyE.getKey();
|
final Long companyId = liabilitiesByCompanyE.getKey();
|
||||||
final List<LiabilitiesClaimsAssets> liabilitysByCompany = liabilitysByCompanyE.getValue();
|
final List<LiabilitiesClaimsAssets> liabilitiesByCompany = liabilitiesByCompanyE.getValue();
|
||||||
|
|
||||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||||
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
||||||
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
|
|
||||||
|
|
||||||
Instant liabilitiesClaimsAssets_settlementDate = null;
|
Instant liabilitiesClaimsAssets_settlementDate = null;
|
||||||
Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
|
Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
|
||||||
|
|
@ -84,7 +73,7 @@ public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<Report
|
||||||
boolean checkCategoryB = cmcLst.stream().anyMatch(cmc -> ClearingCategory.B.equalsByKey(cmc.getClearingMemberCategory()));
|
boolean checkCategoryB = cmcLst.stream().anyMatch(cmc -> ClearingCategory.B.equalsByKey(cmc.getClearingMemberCategory()));
|
||||||
boolean checkCategoryIV = cmcLst.stream().anyMatch(cmc -> ClearingCategory.I.equalsByKey(cmc.getClearingMemberCategory()) || ClearingCategory.V.equalsByKey(cmc.getClearingMemberCategory()));
|
boolean checkCategoryIV = cmcLst.stream().anyMatch(cmc -> ClearingCategory.I.equalsByKey(cmc.getClearingMemberCategory()) || ClearingCategory.V.equalsByKey(cmc.getClearingMemberCategory()));
|
||||||
|
|
||||||
Map<String, List<LiabilitiesClaimsAssets>> indexByCurrency = MapUtil.indexList(liabilitysByCompany, LiabilitiesClaimsAssets::getCurrency);
|
Map<String, List<LiabilitiesClaimsAssets>> indexByCurrency = MapUtil.indexList(liabilitiesByCompany, LiabilitiesClaimsAssets::getCurrency);
|
||||||
|
|
||||||
for (Map.Entry<String, List<LiabilitiesClaimsAssets>> entryCurrency: indexByCurrency.entrySet()) {
|
for (Map.Entry<String, List<LiabilitiesClaimsAssets>> entryCurrency: indexByCurrency.entrySet()) {
|
||||||
final String currencyCode = entryCurrency.getKey();
|
final String currencyCode = entryCurrency.getKey();
|
||||||
|
|
@ -120,16 +109,16 @@ public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<Report
|
||||||
ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318(
|
ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318(
|
||||||
toString(firstLiability.getFullName()),
|
toString(firstLiability.getFullName()),
|
||||||
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
|
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
|
||||||
company.getProfile().getCountryCode(),
|
toString(company.getProfile().getCountryCode()),
|
||||||
toString(liabilitiesClaimsAssets_settlementDate),
|
toString(liabilitiesClaimsAssets_settlementDate),
|
||||||
contracts,
|
toString(contracts),
|
||||||
currencyCode,
|
toString(currencyCode),
|
||||||
toString(liabilitiesClaimsAssets_liabilitiesQuantity),
|
toString(liabilitiesClaimsAssets_liabilitiesQuantity),
|
||||||
(liabilitiesClaimsMoney == null ? null : liabilitiesClaimsMoney.getFullName()),
|
liabilitiesClaimsMoney == null ? "" : toString(liabilitiesClaimsMoney.getFullName()),
|
||||||
toString(liabilitiesCount),
|
toString(liabilitiesCount),
|
||||||
comments,
|
toString(comments),
|
||||||
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()), // второй раз по ТЗ
|
companySymbolINN == null ? "" : toString(companySymbolINN.getCompanySymbolValue()), // второй раз по ТЗ
|
||||||
firstLiability.getFullName()
|
toString(firstLiability.getFullName())
|
||||||
);
|
);
|
||||||
reportBR_0420318.getRows().add(info_0420318);
|
reportBR_0420318.getRows().add(info_0420318);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue