reports-service рефакторинг ReportBR_0420314_P*

This commit is contained in:
AKurakin 2023-01-11 12:10:21 +03:00
parent 3a6fb8e5b2
commit 3f2aa8faa3
3 changed files with 26 additions and 38 deletions

View file

@ -26,4 +26,16 @@ public abstract class ReportWithPeriodCollector<T extends AbstractReport> extend
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities;
}
protected Collection<LiabilitiesClaimsAssets> searchLiabilitiesClaimsAssets(Imdg<LiabilitiesClaimsAssets> liabilitiesClaimsAssetsImdg,
LocalDate startDate, LocalDate endDate,
Long allowClearingStatusId) {
ImdgPredicateBuilder pb = liabilitiesClaimsAssetsImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate);
ImdgPredicate p = pb.and(pb.greatEqual("refundDate", dateTimeLo), pb.lessEqual("refundDate", dateTimeHi),
pb.equals("clearingStatus", allowClearingStatusId));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities;
}
}

View file

@ -26,7 +26,7 @@ import java.util.Map;
* accountTransactionLiabilities
*/
@Component
public class Repbr0420314_P1_bt_17_4_collector extends ReportWithPeriodCollector<ReportBR_0420314_P1> {
public class ReportBR_0420314_P1_collector extends ReportWithPeriodCollector<ReportBR_0420314_P1> {
private Imdg<Company> companyImdg;
private Imdg<CompanySymbols> companySymbolsImdg;
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
@ -36,7 +36,7 @@ public class Repbr0420314_P1_bt_17_4_collector extends ReportWithPeriodCollector
protected static final String ALLOW_CLEARING_STATUS = ClearingStatus.OK.getKey();
@Autowired
public Repbr0420314_P1_bt_17_4_collector(ImdgProvider imdgProvider) {
public ReportBR_0420314_P1_collector(ImdgProvider imdgProvider) {
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
liabilitiesClaimsAssetsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, LiabilitiesClaimsAssets.class);
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
@ -52,19 +52,6 @@ public class Repbr0420314_P1_bt_17_4_collector extends ReportWithPeriodCollector
return companySymbol;
}
Collection<LiabilitiesClaimsAssets> searchLiabilitiesClaimsAssets(LocalDate startDate, LocalDate endDate, Long allowClearingStatusId) {
// String ql = String.format("'%s' <= refundDate and refundDate <= '%s' and clearingStatus=%s",
// formatToIMDGInstant(startDate), formatToIMDGInstant(endDate), allowClearingStatusId);
// 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),
pb.equals("clearingStatus", allowClearingStatusId));
Collection<LiabilitiesClaimsAssets> liabilities = liabilitiesClaimsAssetsImdg.getCollectionObjectsByPredicate(p);
return liabilities;
}
@Override
public ReportBR_0420314_P1 collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
@ -75,7 +62,7 @@ public class Repbr0420314_P1_bt_17_4_collector extends ReportWithPeriodCollector
);
final Long allowClearingStatusId = MapUtil.getDictionaryIdByCode(clearingStatusDictionaryImdg, ALLOW_CLEARING_STATUS); // "OK"
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(startDate, endDate, allowClearingStatusId);
Collection<LiabilitiesClaimsAssets> liabilities = searchLiabilitiesClaimsAssets(liabilitiesClaimsAssetsImdg, startDate, endDate, allowClearingStatusId);
for (LiabilitiesClaimsAssets liability: liabilities) {
final Long companyId = liability.getCompanyId();
@ -85,13 +72,6 @@ public class Repbr0420314_P1_bt_17_4_collector extends ReportWithPeriodCollector
continue;
}
Collection<ClearingMemberCategory> cmcLst = clearingMemberCategoryImdg.getCollectionObjectsByFieldValues(Map.of("companyId", companyId));
// boolean checkCategory = cmcLst.stream().anyMatch(cmc -> ALLOW_CLEARING_MEMBER_CATEGORY.contains(cmc.getClearingMemberCategory()));
// if (!checkCategory) {
// // фильтруются <> I, V
// log.trace("Filtered company[{}] ClearingMemberCategory no match: {}",
// companyId, cmcLst);
// continue company_for;
// }
String cleanMemberCategories = MapUtil.joinMultiString(cmcLst, ClearingMemberCategory::getClearingMemberCategory);
CompanySymbols companySymbolCntr = findSymbol(DocumentTypes.cntr, company.getId());
@ -99,12 +79,12 @@ public class Repbr0420314_P1_bt_17_4_collector extends ReportWithPeriodCollector
CompanySymbols companySymbolOGRN = findSymbol(DocumentTypes.ogrn, company.getId());
ReportBR_0420314_P1.Info_0420314_P1 info_0420314P1 = new ReportBR_0420314_P1.Info_0420314_P1(
company.getClearingCode(),
toString(company.getClearingCode()),
toString(companySymbolCntr == null? null : companySymbolCntr.getId()),
company.getFullName(),
(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
(companySymbolOGRN == null? null : companySymbolOGRN.getCompanySymbolValue()),
cleanMemberCategories, // может быть несколько, тогда через запятую перечислить
toString(company.getFullName()),
toString(companySymbolINN == null ? null : companySymbolINN.getCompanySymbolValue()),
toString(companySymbolOGRN == null? null : companySymbolOGRN.getCompanySymbolValue()),
toString(cleanMemberCategories), // может быть несколько, тогда через запятую перечислить
toString(liability.getRefundPaymentId()),
toString(liability.getTradingDate()),
toString(liability.getLiabilitiesQuantity())

View file

@ -28,14 +28,14 @@ import java.util.Objects;
* accountTransactionLiabilities
*/
@Component
public class Repbr0420314_P2_bt_17_4_collector extends ReportWithPeriodCollector<ReportBR_0420314_P2> {
public class ReportBR_0420314_P2_collector extends ReportWithPeriodCollector<ReportBR_0420314_P2> {
private Imdg<Company> companyImdg;
private Imdg<PaymentInstruction> paymentInstructionImdg;
private Imdg<AccountBalance> accountBalanceImdg;
private Imdg<ProfileDocument> profileDocumentImdg;
@Autowired
public Repbr0420314_P2_bt_17_4_collector(ImdgProvider imdgProvider) {
public ReportBR_0420314_P2_collector(ImdgProvider imdgProvider) {
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
paymentInstructionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_PaymentInstruction, PaymentInstruction.class);
accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
@ -43,10 +43,6 @@ public class Repbr0420314_P2_bt_17_4_collector extends ReportWithPeriodCollector
}
Collection<PaymentInstruction> searchPaymentInstruction(LocalDate startDate, LocalDate endDate) {
// String ql = String.format("'%s' <= created and created <= '%s'",
// formatToIMDGInstant(startDate), formatToIMDGInstant(endDate));
// Collection<PaymentInstruction> paymentInstructionsAll = paymentInstructionImdg.getCollectionObjectsBySQL(ql);
ImdgPredicateBuilder pb = paymentInstructionImdg.predicateBuilder();
Instant dateTimeLo = toInstantStartDay(startDate);
Instant dateTimeHi = toInstantStartDay(endDate);
@ -107,12 +103,12 @@ public class Repbr0420314_P2_bt_17_4_collector extends ReportWithPeriodCollector
ReportBR_0420314_P2.Info_0420314_P2 info_0420314P2 = new ReportBR_0420314_P2.Info_0420314_P2(
company.getClearingCode(),
documentTypeStr,
accountBalance == null ? null : toString(accountBalance.getOpenBalanceAmount()),
toString(company.getClearingCode()),
toString(documentTypeStr),
toString(accountBalance == null ? null : accountBalance.getOpenBalanceAmount()),
toString(paymentInstruction_creditLeg_amount),
toString(paymentInstructiont_debitLeg_amount),
accountBalance == null ? null : toString(accountBalance.getCloseBalanceAmount())
toString(accountBalance == null ? null : accountBalance.getCloseBalanceAmount())
);
reportBR_0420312P2.getRows().add(info_0420314P2);