reports-service поправил CLS-29, часть CLS-27
This commit is contained in:
parent
5851f2e11e
commit
31959cd753
7 changed files with 121 additions and 30 deletions
|
|
@ -49,12 +49,10 @@ public class ReportBR_0420312_P10_collector extends ReportWithPeriodCollector<Re
|
|||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
// ReportBR_0420312_P10 reportBR_0420312P10 = new ReportBR_0420312_P10(startDate, endDate, "BR",
|
||||
// toString(liabilitiesQuantitySum)
|
||||
// );
|
||||
ReportBR_0420312_P10 reportBR_0420312P10 = new ReportBR_0420312_P10(startDate, endDate);
|
||||
reportBR_0420312P10.getRows().add(new ReportBR_0420312_P10.Info_0420312_P10(toString(liabilitiesQuantitySum)));
|
||||
|
||||
// return reportBR_0420312P10;
|
||||
return null;
|
||||
return reportBR_0420312P10;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -49,12 +49,10 @@ public class ReportBR_0420312_P4_collector extends ReportWithPeriodCollector<Rep
|
|||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
// ReportBR_0420312_P4 reportBR_0420312P4 = new ReportBR_0420312_P4(startDate, endDate,
|
||||
// "BR",
|
||||
// toString(liabilitiesQuantitySum));
|
||||
//
|
||||
// return reportBR_0420312P4;
|
||||
return null;
|
||||
ReportBR_0420312_P4 reportBR_0420312P4 = new ReportBR_0420312_P4(startDate, endDate);
|
||||
reportBR_0420312P4.getRows().add(new ReportBR_0420312_P4.Info_0420312_P4(toString(liabilitiesQuantitySum)));
|
||||
|
||||
return reportBR_0420312P4;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -49,12 +49,10 @@ public class ReportBR_0420312_P6_collector extends ReportWithPeriodCollector<Rep
|
|||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
// ReportBR_0420312_P6 reportBR_0420312P5 = new ReportBR_0420312_P6(startDate, endDate,
|
||||
// "BR",
|
||||
// toString(liabilitiesQuantitySum));
|
||||
ReportBR_0420312_P6 reportBR_0420312P5 = new ReportBR_0420312_P6(startDate, endDate);
|
||||
reportBR_0420312P5.getRows().add(new ReportBR_0420312_P6.Info_0420312_P6(toString(liabilitiesQuantitySum)));
|
||||
|
||||
// return reportBR_0420312P5;
|
||||
return null;
|
||||
return reportBR_0420312P5;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -49,12 +49,11 @@ public class ReportBR_0420312_P7_collector extends ReportWithPeriodCollector<Rep
|
|||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
|
||||
|
||||
// ReportBR_0420312_P7 reportBR_0420312P5 = new ReportBR_0420312_P7(startDate, endDate,
|
||||
// "BR",
|
||||
// toString(liabilitiesQuantitySum));
|
||||
ReportBR_0420312_P7 reportBR_0420312P5 = new ReportBR_0420312_P7(startDate, endDate,
|
||||
"BR");
|
||||
reportBR_0420312P5.getRows().add(new ReportBR_0420312_P7.Info_0420312_P7(toString(liabilitiesQuantitySum)));
|
||||
|
||||
// return reportBR_0420312P5;
|
||||
return null;
|
||||
return reportBR_0420312P5;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ public class ReportBR_0420312_P8_collector extends ReportWithPeriodCollector<Rep
|
|||
public ReportBR_0420312_P8 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
// ReportBR_0420312_P8 reportBR_0420312P8 = new ReportBR_0420312_P8(startDate, endDate, "BR");
|
||||
ReportBR_0420312_P8 reportBR_0420312P8 = new ReportBR_0420312_P8(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
|
@ -98,12 +98,11 @@ public class ReportBR_0420312_P8_collector extends ReportWithPeriodCollector<Rep
|
|||
company.getProfile().getCountryCode(),
|
||||
clearingMemberCategory
|
||||
);
|
||||
// reportBR_0420312P8.getRows().add(info_0420312_p8);
|
||||
reportBR_0420312P8.getRows().add(info_0420312_p8);
|
||||
}
|
||||
}
|
||||
|
||||
// return reportBR_0420312P8;
|
||||
return null;
|
||||
return reportBR_0420312P8;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public class ReportBR_0420312_P9_collector extends ReportWithPeriodCollector<Rep
|
|||
public ReportBR_0420312_P9 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
|
||||
// ReportBR_0420312_P9 reportBR_0420312P9 = new ReportBR_0420312_P9(startDate, endDate, "BR");
|
||||
ReportBR_0420312_P9 reportBR_0420312P9 = new ReportBR_0420312_P9(startDate, endDate);
|
||||
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(startDate, endDate);
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(liabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
|
@ -82,12 +82,11 @@ public class ReportBR_0420312_P9_collector extends ReportWithPeriodCollector<Rep
|
|||
currencyCode,
|
||||
toString(summOfLiabilities)
|
||||
);
|
||||
// reportBR_0420312P9.getRows().add(info_0420312_p9);
|
||||
reportBR_0420312P9.getRows().add(info_0420312_p9);
|
||||
}
|
||||
}
|
||||
|
||||
// return reportBR_0420312P9;
|
||||
return null;
|
||||
return reportBR_0420312P9;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,16 +1,116 @@
|
|||
package ru.spcex.clearing.reports.services.collector;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.generated.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
|
||||
import ru.clearing.classes.transaction.data.execution.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.bt_17_3.ReportBR_0420318;
|
||||
import ru.spcex.clearing.reports.services.ReportWithPeriodCollector;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
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.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<ReportBR_0420318> {
|
||||
|
||||
private Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg;
|
||||
private Imdg<LiabilitiesClaimsMoney> liabilitiesClaimsMoneyImdg;
|
||||
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<CompanySymbols> companySymbolsImdg;
|
||||
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
|
||||
@Autowired
|
||||
public ReportBR_0420318_Collector(ImdgProvider imdgProvider) {
|
||||
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
|
||||
//liabilitiesClaimsMoneyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsMoney, LiabilitiesClaimsMoney.class);//fixme MapStore!!!!
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
}
|
||||
|
||||
protected CompanySymbols findSymbol(DocumentTypes docType, Long companyId) {
|
||||
CompanySymbols companySymbol = companySymbolsImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companySymbol", docType.getKey(),
|
||||
"companyId", companyId
|
||||
));
|
||||
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
|
||||
public ReportBR_0420318 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(startDate, endDate);
|
||||
|
||||
ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(startDate, endDate);
|
||||
|
||||
for (LiabilitiesClaimsAssets liability: liabilities) {
|
||||
final Long companyId = liability.getCompanyId();
|
||||
Company company = companyImdg.getSingleObjectByID(companyId);
|
||||
CompanySymbols companySymbolCntr = findSymbol(DocumentTypes.cntr, company.getId());
|
||||
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
|
||||
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
|
||||
|
||||
Instant liabilitiesClaimsAssets_settlementDate = null;
|
||||
Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
|
||||
|
||||
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()));
|
||||
if (checkCategoryB) {
|
||||
liabilitiesClaimsAssets_settlementDate = liability.getRefundDate();
|
||||
}
|
||||
if (checkCategoryIV) {
|
||||
liabilitiesClaimsAssets_settlementDate = liability.getSettlementDate();
|
||||
}
|
||||
|
||||
BigDecimal liabilitiesQuantity = liability.getLiabilitiesQuantity(); //todo summ?
|
||||
|
||||
final String currencyCode = liability.getCurrency();
|
||||
LiabilitiesClaimsMoney liabilitiesClaimsMoney = liabilitiesClaimsMoneyImdg.getSingleObjectByFieldValues(Map.of("currency", currencyCode));
|
||||
|
||||
ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318(
|
||||
toString(liability.getFullName()),
|
||||
toString(companySymbolINN == null? null: companySymbolINN.getCompanySymbolValue()),
|
||||
company.getProfile().getCountryCode(),
|
||||
toString(liabilitiesClaimsAssets_settlementDate),
|
||||
"liabilitiesClaimsAssets_accountType",
|
||||
liability.getContract(),
|
||||
currencyCode,
|
||||
"liabilitiesAmount_amount",//fixme liabilitiesClaimsAssets_liabilitiesQuantity toString(liabilitiesQuantity)
|
||||
(liabilitiesClaimsMoney == null ? null : liabilitiesClaimsMoney.getFullName()),//todo уточнить объект ли "liabilitiesClaimsMoney_name", использовать?
|
||||
"liabilitiesClaimsAssets_liabilities",
|
||||
"liabilitiesClaimsAssets_comment",
|
||||
"companySymbol_value",
|
||||
"liabilitiesClaimsAssets_fullNames"
|
||||
);
|
||||
reportBR_0420318.getRows().add(info_0420318);
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
return reportBR_0420318;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue