diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/bean/KSCommissionTradesReport.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/bean/KSCommissionTradesReport.java index d6a1eec4b..cb6699796 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/bean/KSCommissionTradesReport.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/bean/KSCommissionTradesReport.java @@ -61,6 +61,18 @@ public class KSCommissionTradesReport { @CsvBindByPosition(position = 11) private Long trId; + @CsvBindByName(column = "TKR") + @CsvBindByPosition(position = 12) + private String tkr; + + @CsvBindByName(column = "ACCOUNT") + @CsvBindByPosition(position = 13) + private String account; + + @CsvBindByName(column = "SESSION_ID") + @CsvBindByPosition(position = 14) + private Long sessionId; + public String getFirmId() { return firmId; @@ -157,4 +169,28 @@ public class KSCommissionTradesReport { public void setTrId(Long trId) { this.trId = trId; } + + public String getTkr() { + return tkr; + } + + public void setTkr(String tkr) { + this.tkr = tkr; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public Long getSessionId() { + return sessionId; + } + + public void setSessionId(Long sessionId) { + this.sessionId = sessionId; + } } diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSCommissionTradesReportBuilder.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSCommissionTradesReportBuilder.java index 80d40ec72..19f333b62 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSCommissionTradesReportBuilder.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/builders/ks/KSCommissionTradesReportBuilder.java @@ -1,6 +1,7 @@ package ru.spcex.clearing.reports.builders.ks; import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.account.Account; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.execution.ExecutionDeposit; import ru.clearing.classes.statics.data.registry.Registry; @@ -21,6 +22,7 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; @Component public class KSCommissionTradesReportBuilder extends CSVReportBuilder { @@ -29,6 +31,7 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder registryImdg; private final Imdg companyImdg; private final Imdg executionDepositImdg; + private final Imdg accountImdg; private List rows = null; @@ -36,6 +39,7 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder 1) log.warn("ExecutionDeposit[exchangeExecutionId = {}].size > 1, use first", registry.getGroupId()); ExecutionDeposit executionDeposit = executionDeposits.iterator().next(); + String account = null; + AccountType accountType = IEnumKey.getEnumByKey(AccountType.class, registry.getAccountType()); + if (accountType == AccountType.Clrn) { + account = registry.getAccount(); + } else if (accountType == AccountType.Info) { + Account accountFromImdg = accountImdg.getFirstObjectByFieldValues(Map.of( + "accountType", AccountType.Anlt.getKey(), + "companyId", 1L + )); + account = accountFromImdg.getAccount(); + } + KSCommissionTradesReport ksCommissionTradesReport = new KSCommissionTradesReport(); ksCommissionTradesReport.setFirmId(firmId); ksCommissionTradesReport.setFirmIdInitiator(firmIdInitiator); @@ -173,6 +189,9 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder