reports-service поправил CLS-27
This commit is contained in:
parent
31959cd753
commit
521749db7c
3 changed files with 63 additions and 37 deletions
|
|
@ -51,10 +51,9 @@ public class ReportBR_0420318 extends ReportWithClearingStatus {
|
|||
@XStreamAsAttribute @XStreamAlias("companySymbols_code") String companySymbolsCode,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_countryCode") String liabilitiesClaimsAssetsCountryCode,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_settlementDate") String liabilitiesClaimsAssetsSettlementDate,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_accountType") String liabilitiesClaimsAssetsAccountType,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_Contract") String liabilitiesClaimsAssetsContract,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsMoney_currencyCode") String liabilitiesClaimsMoneyCurrencyCode,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesAmount_amount") String liabilitiesAmountAmount,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilitiesQuantity") String liabilitiesClaimsAssetsLiabilitiesQuantity,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsMoney_name") String liabilitiesClaimsMoneyName,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_liabilities") String liabilitiesClaimsAssetsLiabilities,
|
||||
@XStreamAsAttribute @XStreamAlias("liabilitiesClaimsAssets_comment") String liabilitiesClaimsAssetsComment,
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ 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;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<ReportBR_0420318> {
|
||||
|
||||
|
|
@ -34,7 +34,8 @@ public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<Report
|
|||
@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!!!!
|
||||
liabilitiesClaimsMoneyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsMoney, LiabilitiesClaimsMoney.class);
|
||||
clearingMemberCategoryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
}
|
||||
|
|
@ -63,14 +64,17 @@ public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<Report
|
|||
@Override
|
||||
public ReportBR_0420318 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
validateDateRange(startDate, endDate);
|
||||
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(startDate, endDate);
|
||||
Collection<LiabilitiesClaimsAssets> allLiabilities = searchLiabilitiesClaimsAssets(startDate, endDate);
|
||||
|
||||
ReportBR_0420318 reportBR_0420318 = new ReportBR_0420318(startDate, endDate);
|
||||
|
||||
for (LiabilitiesClaimsAssets liability: liabilities) {
|
||||
final Long companyId = liability.getCompanyId();
|
||||
Map<Long, List<LiabilitiesClaimsAssets>> indexByCompany = MapUtil.indexList(allLiabilities, LiabilitiesClaimsAssets::getCompanyId);
|
||||
|
||||
for (Map.Entry<Long, List<LiabilitiesClaimsAssets>> liabilitysByCompanyE : indexByCompany.entrySet()) {
|
||||
final Long companyId = liabilitysByCompanyE.getKey();
|
||||
final List<LiabilitiesClaimsAssets> liabilitysByCompany = liabilitysByCompanyE.getValue();
|
||||
|
||||
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());
|
||||
|
||||
|
|
@ -78,35 +82,57 @@ public class ReportBR_0420318_Collector extends ReportWithPeriodCollector<Report
|
|||
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();
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
if (checkCategoryB) {
|
||||
liabilitiesClaimsAssets_settlementDate = firstLiability.getRefundDate();
|
||||
}
|
||||
if (checkCategoryIV) {
|
||||
liabilitiesClaimsAssets_settlementDate = firstLiability.getSettlementDate();
|
||||
}
|
||||
|
||||
BigDecimal liabilitiesClaimsAssets_liabilitiesQuantity = claimsAssets.stream()
|
||||
.map(LiabilitiesClaimsAssets::getLiabilitiesQuantity)
|
||||
.filter(Objects::nonNull)
|
||||
.reduce(BigDecimal::add)
|
||||
.orElse(BigDecimal.ZERO);
|
||||
|
||||
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(","));
|
||||
|
||||
ReportBR_0420318.Info_0420318 info_0420318 = new ReportBR_0420318.Info_0420318(
|
||||
toString(firstLiability.getFullName()),
|
||||
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
|
||||
company.getProfile().getCountryCode(),
|
||||
toString(liabilitiesClaimsAssets_settlementDate),
|
||||
contracts,
|
||||
currencyCode,
|
||||
toString(liabilitiesClaimsAssets_liabilitiesQuantity),
|
||||
(liabilitiesClaimsMoney == null ? null : liabilitiesClaimsMoney.getFullName()),
|
||||
toString(liabilitiesCount),
|
||||
comments,
|
||||
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()), // второй раз по ТЗ
|
||||
firstLiability.getFullName()
|
||||
);
|
||||
reportBR_0420318.getRows().add(info_0420318);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ public final class IMDGDistributedNames {
|
|||
public static final String Map_Session = "Map_Session";
|
||||
public static final String Map_Notification = "Map_Notification";
|
||||
public static final String Map_LiabilitiesClaimsAssets = "Map_LiabilitiesClaimsAssets";
|
||||
public static final String Map_LiabilitiesClaimsMoney = "Map_LiabilitiesClaimsMoney";
|
||||
public static final String Map_ClearMemberRegister = "Map_ClearMemberRegister";
|
||||
public static final String Map_BalanceRegister = "Map_BalanceRegister";
|
||||
public static final String Map_ExecutionDeposit = "Map_ExecutionDeposit";
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue