Period*ReportBuilder
This commit is contained in:
parent
8d7c725a06
commit
4d9185088a
2 changed files with 39 additions and 25 deletions
|
|
@ -0,0 +1,18 @@
|
|||
package ru.spcex.clearing.reports.reports;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Параметры для формирования отчета по списку SessionId
|
||||
*/
|
||||
public class SessionIdListParams {
|
||||
private List<Long> sessionIdList;
|
||||
|
||||
public List<Long> getSessionIdList() {
|
||||
return sessionIdList;
|
||||
}
|
||||
|
||||
public void setSessionIdList(List<Long> sessionIdList) {
|
||||
this.sessionIdList = sessionIdList;
|
||||
}
|
||||
}
|
||||
|
|
@ -2,27 +2,23 @@ package ru.spcex.clearing.reports.reports.bp;
|
|||
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.spcex.clearing.reports.reports.PeriodParams;
|
||||
import ru.spcex.clearing.reports.reports.SessionIdListParams;
|
||||
import ru.spcex.platform.enumeration.ReportType;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
||||
public class PeriodLiabilitiesClaimsReportBuilder extends LiabilitiesClaimsReportBuilder<PeriodParams> {
|
||||
public class PeriodLiabilitiesClaimsReportBuilder extends LiabilitiesClaimsReportBuilder<SessionIdListParams> {
|
||||
|
||||
public PeriodLiabilitiesClaimsReportBuilder(ImdgProvider imdgProvider) {
|
||||
super(imdgProvider);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getReportFilename(PeriodParams params) {
|
||||
return "period_liabilities_claims.%s-%s.%s".formatted(
|
||||
dateFormatter.format(params.getStartDate()),
|
||||
dateFormatter.format(params.getEndDate()),
|
||||
dateTimeFormatter.format(Instant.now())
|
||||
);
|
||||
protected String getReportFilename(SessionIdListParams params) {
|
||||
return "period_liabilities_claims.%s".formatted(dateTimeFormatter.format(Instant.now()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -31,24 +27,24 @@ public class PeriodLiabilitiesClaimsReportBuilder extends LiabilitiesClaimsRepor
|
|||
}
|
||||
|
||||
@Override
|
||||
protected Collection<ExecutionFond> getExecutionFondsForReport(PeriodParams params) {
|
||||
ImdgPredicateBuilder pb = executionFondImdg.predicateBuilder();
|
||||
return executionFondImdg.getCollectionObjectsByPredicate(
|
||||
pb.and(
|
||||
pb.greatEqual("clearingDate", params.getStartDate()),
|
||||
pb.lessEqual("clearingDate", params.getEndDate())
|
||||
)
|
||||
);
|
||||
protected Collection<ExecutionFond> getExecutionFondsForReport(SessionIdListParams params) {
|
||||
if (params.getSessionIdList() == null || params.getSessionIdList().isEmpty()) return Collections.emptyList();
|
||||
StringBuilder sql = new StringBuilder("sessionId in (");
|
||||
for (Long sessionId : params.getSessionIdList()) {
|
||||
sql.append(sessionId).append(",");
|
||||
}
|
||||
sql.append(")");
|
||||
return executionFondImdg.getCollectionObjectsBySQL(sql.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Collection<ExecutionDeposit> getExecutionDepositsForReport(PeriodParams params) {
|
||||
ImdgPredicateBuilder pb = executionDepositImdg.predicateBuilder();
|
||||
return executionDepositImdg.getCollectionObjectsByPredicate(
|
||||
pb.and(
|
||||
pb.greatEqual("clearingDate", params.getStartDate()),
|
||||
pb.lessEqual("clearingDate", params.getEndDate())
|
||||
)
|
||||
);
|
||||
protected Collection<ExecutionDeposit> getExecutionDepositsForReport(SessionIdListParams params) {
|
||||
if (params.getSessionIdList() == null || params.getSessionIdList().isEmpty()) return Collections.emptyList();
|
||||
StringBuilder sql = new StringBuilder("sessionId in (");
|
||||
for (Long sessionId : params.getSessionIdList()) {
|
||||
sql.append(sessionId).append(",");
|
||||
}
|
||||
sql.append(")");
|
||||
return executionDepositImdg.getCollectionObjectsBySQL(sql.toString());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue