http://jira.mfd.msk:8088/browse/CLS-358 KSListSessionReport
This commit is contained in:
parent
c01f499648
commit
2b1606c113
21 changed files with 220 additions and 43 deletions
|
|
@ -24,7 +24,8 @@ public class ReportBuildersConfig {
|
|||
KSRepDepoRegistersReportBuilder ksRepDepoRegistersReportBuilder,
|
||||
KSRepDepoRegisterQuantitiesReportBuilder ksRepDepoRegisterQuantitiesReportBuilder,
|
||||
KSRepTradesReportBuilder ksRepTradesReportBuilder,
|
||||
KSRepFirmDetailsReportBuilder ksRepFirmDetailsReportBuilder
|
||||
KSRepFirmDetailsReportBuilder ksRepFirmDetailsReportBuilder,
|
||||
KSSessionListReportBuilder ksSessionListReportBuilder
|
||||
) {
|
||||
Map<ReportBuilderType, List<CSVReportBuilder<EmptyParams, ?>>> resultMap = new HashMap<>();
|
||||
resultMap.put(ReportBuilderType.KS_REP_CASH_REGISTERS, List.of(ksRepCashRegistersReportBuilder));
|
||||
|
|
@ -33,6 +34,7 @@ public class ReportBuildersConfig {
|
|||
resultMap.put(ReportBuilderType.KS_REP_DEPO_REGISTER_QUANTITIES, List.of(ksRepDepoRegisterQuantitiesReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_REP_TRADES, List.of(ksRepTradesReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_REP_FIRM_DETAILS, List.of(ksRepFirmDetailsReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_SESSION_LIST, List.of(ksSessionListReportBuilder));
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +72,8 @@ public class ReportBuildersConfig {
|
|||
KSRepTradesReportBuilder ksRepTradesReportBuilder,
|
||||
KSRepFirmDetailsReportBuilder ksRepFirmDetailsReportBuilder,
|
||||
KSRepCashNettoReportBuilder ksRepCashNettoReportBuilder,
|
||||
KSRepDepoNettoReportBuilder ksRepDepoNettoReportBuilder
|
||||
KSRepDepoNettoReportBuilder ksRepDepoNettoReportBuilder,
|
||||
KSSessionListReportBuilder ksSessionListReportBuilder
|
||||
) {
|
||||
Map<ReportBuilderType, List<CSVReportBuilder<?, ?>>> resultMap = new HashMap<>();
|
||||
resultMap.put(ReportBuilderType.KS_REP_CASH_REGISTERS, List.of(ksRepCashRegistersReportBuilder));
|
||||
|
|
@ -81,6 +84,7 @@ public class ReportBuildersConfig {
|
|||
resultMap.put(ReportBuilderType.KS_REP_FIRM_DETAILS, List.of(ksRepFirmDetailsReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_REP_CASH_NETTO, List.of(ksRepCashNettoReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_REP_DEPO_NETTO, List.of(ksRepDepoNettoReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_SESSION_LIST, List.of(ksSessionListReportBuilder));
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
|
@ -93,7 +97,8 @@ public class ReportBuildersConfig {
|
|||
KSRepTradesReportBuilder ksRepTradesReportBuilder,
|
||||
KSRepFirmDetailsReportBuilder ksRepFirmDetailsReportBuilder,
|
||||
KSRepCashNettoReportBuilder ksRepCashNettoReportBuilder,
|
||||
KSRepDepoNettoReportBuilder ksRepDepoNettoReportBuilder
|
||||
KSRepDepoNettoReportBuilder ksRepDepoNettoReportBuilder,
|
||||
KSSessionListReportBuilder ksSessionListReportBuilder
|
||||
) {
|
||||
Map<ReportBuilderType, List<CSVReportBuilder<?, ?>>> resultMap = new HashMap<>();
|
||||
resultMap.put(ReportBuilderType.KS_REP_CASH_REGISTERS, List.of(ksRepCashRegistersReportBuilder));
|
||||
|
|
@ -104,6 +109,7 @@ public class ReportBuildersConfig {
|
|||
resultMap.put(ReportBuilderType.KS_REP_FIRM_DETAILS, List.of(ksRepFirmDetailsReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_REP_CASH_NETTO, List.of(ksRepCashNettoReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_REP_DEPO_NETTO, List.of(ksRepDepoNettoReportBuilder));
|
||||
resultMap.put(ReportBuilderType.KS_SESSION_LIST, List.of(ksSessionListReportBuilder));
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,8 @@ public class ValidationConfig {
|
|||
ReportBuilderType.KS_REP_DEPO_REGISTERS,
|
||||
ReportBuilderType.KS_REP_DEPO_REGISTER_QUANTITIES,
|
||||
ReportBuilderType.KS_REP_TRADES,
|
||||
ReportBuilderType.KS_REP_FIRM_DETAILS
|
||||
ReportBuilderType.KS_REP_FIRM_DETAILS,
|
||||
ReportBuilderType.KS_SESSION_LIST
|
||||
},
|
||||
ReportError.WrongFieldValue,
|
||||
ReportError.RequiredFieldEmpty)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
package ru.spcex.clearing.reports.reports.bean;
|
||||
|
||||
import com.opencsv.bean.CsvBindByName;
|
||||
import com.opencsv.bean.CsvBindByPosition;
|
||||
import com.opencsv.bean.CsvDate;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
public class KSSessionListReport {
|
||||
@CsvBindByName(column = "ID")
|
||||
@CsvBindByPosition(position = 0)
|
||||
private Long id;
|
||||
|
||||
@CsvBindByName(column = "CREATED_AT")
|
||||
@CsvBindByPosition(position = 1)
|
||||
@CsvDate(value = "dd.MM.yyyy'T'HH:mm:ss")
|
||||
private Instant createdAt;
|
||||
|
||||
@CsvBindByName(column = "UPDATED_AT")
|
||||
@CsvBindByPosition(position = 2)
|
||||
@CsvDate(value = "dd.MM.yyyy'T'HH:mm:ss")
|
||||
private Instant updatedAt;
|
||||
|
||||
@CsvBindByName(column = "SESSION_DATE")
|
||||
@CsvBindByPosition(position = 3)
|
||||
private String section;
|
||||
|
||||
@CsvBindByName(column = "SESSION_TYPE")
|
||||
@CsvBindByPosition(position = 4)
|
||||
private String sessionType;
|
||||
|
||||
@CsvBindByName(column = "WORKFLOW_STATUS")
|
||||
@CsvBindByPosition(position = 5)
|
||||
private String workflowStatus;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public String getSection() {
|
||||
return section;
|
||||
}
|
||||
|
||||
public void setSection(String section) {
|
||||
this.section = section;
|
||||
}
|
||||
|
||||
public String getSessionType() {
|
||||
return sessionType;
|
||||
}
|
||||
|
||||
public void setSessionType(String sessionType) {
|
||||
this.sessionType = sessionType;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.spcex.clearing.reports.reports.SessionIdParam;
|
||||
|
|
@ -13,7 +11,6 @@ import java.time.LocalDate;
|
|||
import java.util.Collection;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class ExecutedDealReportBuilder_INFTYPE_1 extends ExecutedDealReportBuilderCommon<SessionIdParam> {
|
||||
|
||||
public ExecutedDealReportBuilder_INFTYPE_1(ImdgProvider imdgProvider) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.spcex.clearing.reports.reports.SessionIdParam;
|
||||
|
|
@ -13,7 +11,6 @@ import java.time.LocalDate;
|
|||
import java.util.Collection;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class ExecutedDealReportBuilder_INFTYPE_2 extends ExecutedDealReportBuilderCommon<SessionIdParam> {
|
||||
|
||||
public ExecutedDealReportBuilder_INFTYPE_2(ImdgProvider imdgProvider) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.spcex.clearing.reports.reports.SessionIdParam;
|
||||
|
|
@ -13,7 +11,6 @@ import java.time.LocalDate;
|
|||
import java.util.Collection;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class ExecutedDealReportBuilder_INFTYPE_3 extends ExecutedDealReportBuilderCommon<SessionIdParam> {
|
||||
|
||||
public ExecutedDealReportBuilder_INFTYPE_3(ImdgProvider imdgProvider) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
import ru.spcex.clearing.reports.reports.SessionIdParam;
|
||||
|
|
@ -14,7 +12,6 @@ import java.time.LocalDate;
|
|||
import java.util.Collection;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class ExecutedDealReportBuilder_INFTYPE_4 extends ExecutedDealReportBuilderCommon<SessionIdParam> {
|
||||
|
||||
public ExecutedDealReportBuilder_INFTYPE_4(ImdgProvider imdgProvider) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.bp;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionFond;
|
||||
|
|
@ -25,7 +23,6 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class UnfulfilledDealReportBuilder extends CSVReportBuilder<SessionIdParam, UnfulfilledDealReport> {
|
||||
private final Imdg<ExecutionFond> executionFondImdg;
|
||||
private final Imdg<Company> companyImdg;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.misc.Session;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
|
|
@ -23,7 +21,6 @@ import java.util.*;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class KSRepCashNettoReportBuilder extends CSVReportBuilder<SessionIdParam, KSRepCashNettoReport> {
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<Session> sessionImdg;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
|
|
@ -24,7 +22,6 @@ import java.util.Collection;
|
|||
import java.util.List;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class KSRepCashRegisterSumsReportBuilder extends CSVReportBuilder<EmptyParams, KSRepCashRegisterSumsReport> {
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<Company> companyImdg;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
|
|
@ -26,7 +24,6 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class KSRepCashRegistersReportBuilder extends CSVReportBuilder<EmptyParams, KSRepCashRegistersReport> {
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<Company> companyImdg;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.misc.Session;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
|
|
@ -23,7 +21,6 @@ import java.util.*;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class KSRepDepoNettoReportBuilder extends CSVReportBuilder<SessionIdParam, KSRepDepoNettoReport> {
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<Session> sessionImdg;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
|
|
@ -24,7 +22,6 @@ import java.util.Collection;
|
|||
import java.util.List;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class KSRepDepoRegisterQuantitiesReportBuilder extends CSVReportBuilder<EmptyParams, KSRepDepoRegisterQuantitiesReport> {
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<Company> companyImdg;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
|
|
@ -26,7 +24,6 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class KSRepDepoRegistersReportBuilder extends CSVReportBuilder<EmptyParams, KSRepDepoRegistersReport> {
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<Company> companyImdg;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
|
|
@ -20,7 +18,6 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class KSRepFirmDetailsReportBuilder extends CSVReportBuilder<EmptyParams, KSRepFirmDetailsReport> {
|
||||
private final Imdg<Company> companyImdg;
|
||||
private final Imdg<CompanySymbols> companySymbolsImdg;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.execution.ExecutionCommon;
|
||||
|
|
@ -29,7 +27,6 @@ import java.util.Map;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)
|
||||
public class KSRepTradesReportBuilder extends CSVReportBuilder<EmptyParams, KSRepTradesReport> {
|
||||
private final Imdg<ExecutionDeposit> executionDepositImdg;
|
||||
private final Imdg<ExecutionFond> executionFondImdg;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
package ru.spcex.clearing.reports.reports.ks;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import ru.clearing.classes.statics.data.misc.Session;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.reports.reports.CSVReportBuilder;
|
||||
import ru.spcex.clearing.reports.reports.EmptyParams;
|
||||
import ru.spcex.clearing.reports.reports.bean.KSSessionListReport;
|
||||
import ru.spcex.platform.enumeration.ReportBuilderType;
|
||||
import ru.spcex.platform.enumeration.ReportKeys;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class KSSessionListReportBuilder extends CSVReportBuilder<EmptyParams, KSSessionListReport> {
|
||||
private final Imdg<Session> sessionImdg;
|
||||
|
||||
private List<KSSessionListReport> rows = null;
|
||||
|
||||
public KSSessionListReportBuilder(ImdgProvider imdgProvider) {
|
||||
sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<KSSessionListReport> getRows() {
|
||||
return rows;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportBuilderType getReportType() {
|
||||
return ReportBuilderType.KS_REP_FIRM_DETAILS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReportKeys getReportKey() {
|
||||
return ReportKeys.KS_SESSION_LIST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<EmptyParams> getParamsClass() {
|
||||
return EmptyParams.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<KSSessionListReport> getReportClass() {
|
||||
return KSSessionListReport.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void collect(EmptyParams params) {
|
||||
Collection<Session> sessions = sessionImdg.getCollectionObjectsByFieldValues(Map.of("clearingDate", LocalDate.now()));
|
||||
rows = new ArrayList<>(sessions.size());
|
||||
for (Session session : sessions) {
|
||||
try {
|
||||
KSSessionListReport ksSessionListReport = new KSSessionListReport();
|
||||
ksSessionListReport.setId(session.getId());
|
||||
ksSessionListReport.setCreatedAt(session.getCreated());
|
||||
ksSessionListReport.setUpdatedAt(session.getUpdated());
|
||||
ksSessionListReport.setSection(session.getSection());
|
||||
ksSessionListReport.setSessionType(session.getSessionType());
|
||||
ksSessionListReport.setWorkflowStatus(session.getWorkflowStatus());
|
||||
|
||||
rows.add(ksSessionListReport);
|
||||
} catch (Throwable e) {
|
||||
log.error("Can't create report row for session (id = %d), skipped".formatted(session.getId()), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -546,6 +546,52 @@ public class ReportServiceTest_KS {
|
|||
}
|
||||
|
||||
|
||||
@Test
|
||||
@Order(9)
|
||||
public void createReportTest_KSListSessionReport() throws IOException, CsvValidationException {
|
||||
clearTestDir();
|
||||
|
||||
Session session_1 = new Session();
|
||||
session_1.setCreated(Instant.ofEpochSecond(1777777777L));
|
||||
session_1.setUpdated(Instant.ofEpochSecond(2777777777L));
|
||||
session_1.setSection(Section.MKR.getKey());
|
||||
session_1.setSessionType(SessionType.FINL.getKey());
|
||||
session_1.setWorkflowStatus(WorkflowStatus.Active.getKey());
|
||||
session_1.setClearingDate(LocalDate.now());
|
||||
sessionImdg.insert(session_1);
|
||||
|
||||
Session session_2 = new Session();
|
||||
session_2.setCreated(Instant.ofEpochSecond(3777777777L));
|
||||
session_2.setUpdated(Instant.ofEpochSecond(4777777777L));
|
||||
session_2.setSection(Section.FOND.getKey());
|
||||
session_2.setSessionType(SessionType.IPO0.getKey());
|
||||
session_2.setWorkflowStatus(WorkflowStatus.Blocked.getKey());
|
||||
session_2.setClearingDate(LocalDate.now());
|
||||
sessionImdg.insert(session_2);
|
||||
|
||||
ReportRequest reportRequest = new ReportRequest();
|
||||
reportRequest.setReportId(ReportBuilderType.KS_SESSION_LIST.getKey());
|
||||
|
||||
String jsonString = TestUtils.getJsonStringForSystem(reportRequest, 0L);
|
||||
|
||||
TestUtils.addRecordToKafka((MockConsumer) reportService.getConsumer(),
|
||||
Consts.CREATE_REPORT,
|
||||
reportRequestCnt++,
|
||||
0,
|
||||
jsonString);
|
||||
|
||||
TestUtils.waitingSendAndCheckRecord(0L, producer);
|
||||
|
||||
File outFile = outFolder.listFiles()[0];
|
||||
File expectedFile = new File(getClass().getClassLoader().getResource("expected_reports_csv/ks/KS_SESSION_LIST_expected.csv").getFile());
|
||||
compareCSVFiles(expectedFile, outFile, List.of("ID"));
|
||||
|
||||
sessionImdg.delete(session_1);
|
||||
sessionImdg.delete(session_2);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void compareCSVFiles(File expectedFile, File actualFile, List<String> columnsForSkip) throws IOException, CsvValidationException {
|
||||
if (columnsForSkip == null) columnsForSkip = Collections.emptyList();
|
||||
CSVParser csvParser = new CSVParserBuilder().withSeparator(',').withQuoteChar('\"').build();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
"ID","CREATED_AT","UPDATED_AT","SESSION_DATE","SESSION_TYPE","WORKFLOW_STATUS"
|
||||
"2","03.05.2026T03:09:37","09.01.2058T04:56:17","MKR","FINL","ACTV"
|
||||
"3","17.09.2089T06:42:57","27.05.2121T08:29:37","FOND","IPO0","BLKD"
|
||||
|
|
|
@ -17,6 +17,7 @@ public enum ReportBuilderType implements IEnumKey {
|
|||
KS_REP_CASH_NETTO("ks_rep_cash_netto"),
|
||||
KS_REP_DEPO_NETTO("ks_rep_depo_netto"),
|
||||
KS_REP_FIRM_DETAILS("ks_rep_firm_details"),
|
||||
KS_SESSION_LIST("ks_session_list"),
|
||||
;
|
||||
|
||||
private final String key;
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ public enum ReportKeys implements IEnumKey {
|
|||
KS_REP_CASH_NETTO("KS_REP_CASH_NETTO"),
|
||||
KS_REP_DEPO_NETTO("KS_REP_DEPO_NETTO"),
|
||||
KS_REP_FIRM_DETAILS("KS_REP_FIRM_DETAILS"),
|
||||
KS_SESSION_LIST("KS_SESSION_LIST"),
|
||||
;
|
||||
|
||||
private final String key;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue