reports-service http://jira.mfd.msk:8088/browse/CLS-27 не надо группировать

This commit is contained in:
AKurakin 2023-01-11 15:00:59 +03:00
parent 1084a79a97
commit 595ef708ac

View file

@ -67,58 +67,41 @@ public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<Report
Company company = companyImdg.getSingleObjectByID(companyId); Company company = companyImdg.getSingleObjectByID(companyId);
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId()); CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, company.getId());
Instant liabilitiesClaimsAssets_settlementDate = null;
Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId)); Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
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(liabilitiesByCompany, LiabilitiesClaimsAssets::getCurrency); for (LiabilitiesClaimsAssets liability : liabilitiesByCompany) {
final String currencyCode = liability.getCurrency();
for (Map.Entry<String, List<LiabilitiesClaimsAssets>> entryCurrency: indexByCurrency.entrySet()) {
final String currencyCode = entryCurrency.getKey();
final List<LiabilitiesClaimsAssets> claimsAssets = entryCurrency.getValue();
LiabilitiesClaimsAssets firstLiability = claimsAssets.get(0);
Instant liabilitiesClaimsAssets_settlementDate = null;
if (checkCategoryB) { if (checkCategoryB) {
liabilitiesClaimsAssets_settlementDate = firstLiability.getRefundDate(); liabilitiesClaimsAssets_settlementDate = liability.getRefundDate();
} }
if (checkCategoryIV) { if (checkCategoryIV) {
liabilitiesClaimsAssets_settlementDate = firstLiability.getSettlementDate(); liabilitiesClaimsAssets_settlementDate = liability.getSettlementDate();
} }
BigDecimal liabilitiesClaimsAssets_liabilitiesQuantity = claimsAssets.stream() BigDecimal liabilitiesClaimsAssets_liabilitiesQuantity = liability.getLiabilitiesQuantity();
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
.filter(Objects::nonNull)
.reduce(BigDecimal::add)
.orElse(BigDecimal.ZERO);
LiabilitiesClaimsMoney liabilitiesClaimsMoney = liabilitiesClaimsMoneyImdg.getSingleObjectByFieldValues(Map.of("currency", currencyCode)); LiabilitiesClaimsMoney liabilitiesClaimsMoney = liabilitiesClaimsMoneyImdg.getSingleObjectByFieldValues(Map.of("currency", currencyCode));
long liabilitiesCount = claimsAssets.size(); BigDecimal liabilitiesCount = liability.getClaimsQuantity();
String contracts = claimsAssets.stream()
.map(LiabilitiesClaimsAssets::getContract)
.distinct()
.collect(Collectors.joining(","));
String comments = claimsAssets.stream()
.map(LiabilitiesClaimsAssets::getContract)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.joining(","));
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(liability.getFullName()),
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()), toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
toString(company.getProfile().getCountryCode()), toString(company.getProfile().getCountryCode()),
toString(liabilitiesClaimsAssets_settlementDate), toString(liabilitiesClaimsAssets_settlementDate),
toString(contracts), toString(liability.getContract()),
toString(currencyCode), toString(currencyCode),
toString(liabilitiesClaimsAssets_liabilitiesQuantity), toString(liabilitiesClaimsAssets_liabilitiesQuantity),
liabilitiesClaimsMoney == null ? "" : toString(liabilitiesClaimsMoney.getFullName()), liabilitiesClaimsMoney == null ? "" : toString(liabilitiesClaimsMoney.getFullName()),
toString(liabilitiesCount), toString(liabilitiesCount),
toString(comments), toString(liability.getComment()),
companySymbolINN == null ? "" : toString(companySymbolINN.getCompanySymbolValue()), // второй раз по ТЗ companySymbolINN == null ? "" : toString(companySymbolINN.getCompanySymbolValue()),
toString(firstLiability.getFullName()) toString(liability.getFullName())
); );
reportBR_0420318.getRows().add(info_0420318); reportBR_0420318.getRows().add(info_0420318);
} }