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);
CompanySymbols companySymbolINN = findSymbol(DocumentTypes.inn, 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()));
Map<String, List<LiabilitiesClaimsAssets>> indexByCurrency = MapUtil.indexList(liabilitiesByCompany, LiabilitiesClaimsAssets::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);
for (LiabilitiesClaimsAssets liability : liabilitiesByCompany) {
final String currencyCode = liability.getCurrency();
Instant liabilitiesClaimsAssets_settlementDate = null;
if (checkCategoryB) {
liabilitiesClaimsAssets_settlementDate = firstLiability.getRefundDate();
liabilitiesClaimsAssets_settlementDate = liability.getRefundDate();
}
if (checkCategoryIV) {
liabilitiesClaimsAssets_settlementDate = firstLiability.getSettlementDate();
liabilitiesClaimsAssets_settlementDate = liability.getSettlementDate();
}
BigDecimal liabilitiesClaimsAssets_liabilitiesQuantity = claimsAssets.stream()
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
.filter(Objects::nonNull)
.reduce(BigDecimal::add)
.orElse(BigDecimal.ZERO);
BigDecimal liabilitiesClaimsAssets_liabilitiesQuantity = liability.getLiabilitiesQuantity();
LiabilitiesClaimsMoney liabilitiesClaimsMoney = liabilitiesClaimsMoneyImdg.getSingleObjectByFieldValues(Map.of("currency", currencyCode));
long liabilitiesCount = claimsAssets.size();
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(","));
BigDecimal liabilitiesCount = liability.getClaimsQuantity();
ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318(
toString(firstLiability.getFullName()),
toString(liability.getFullName()),
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
toString(company.getProfile().getCountryCode()),
toString(liabilitiesClaimsAssets_settlementDate),
toString(contracts),
toString(liability.getContract()),
toString(currencyCode),
toString(liabilitiesClaimsAssets_liabilitiesQuantity),
liabilitiesClaimsMoney == null ? "" : toString(liabilitiesClaimsMoney.getFullName()),
toString(liabilitiesCount),
toString(comments),
companySymbolINN == null ? "" : toString(companySymbolINN.getCompanySymbolValue()), // второй раз по ТЗ
toString(firstLiability.getFullName())
toString(liability.getComment()),
companySymbolINN == null ? "" : toString(companySymbolINN.getCompanySymbolValue()),
toString(liability.getFullName())
);
reportBR_0420318.getRows().add(info_0420318);
}