This commit is contained in:
parent
99f4dbe292
commit
2da0ac042c
4 changed files with 61 additions and 2 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<EmptyParams, KSCommissionTradesReport> {
|
||||
|
|
@ -29,6 +31,7 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
|
|||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<Company> companyImdg;
|
||||
private final Imdg<ExecutionDeposit> executionDepositImdg;
|
||||
private final Imdg<Account> accountImdg;
|
||||
|
||||
private List<KSCommissionTradesReport> rows = null;
|
||||
|
||||
|
|
@ -36,6 +39,7 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
|
|||
registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
|
||||
accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -157,6 +161,18 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
|
|||
if (executionDeposits.size() > 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<EmptyParam
|
|||
ksCommissionTradesReport.setExecStatus(execStatus);
|
||||
ksCommissionTradesReport.setAgreementSettlementDate(registry.getValueDate());
|
||||
ksCommissionTradesReport.setTrId(registry.getGroupId());
|
||||
ksCommissionTradesReport.setTkr(registry.getTradingClearingRegistry());
|
||||
ksCommissionTradesReport.setAccount(account);
|
||||
ksCommissionTradesReport.setSessionId(registry.getSessionId());
|
||||
|
||||
rows.add(ksCommissionTradesReport);
|
||||
} catch (Throwable e) {
|
||||
|
|
|
|||
|
|
@ -1050,6 +1050,10 @@ public class ReportServiceTest_KS {
|
|||
registry.setSessionType(SessionType.XDEP.getKey());
|
||||
registry.setValueDate(LocalDate.now().minusDays(10));
|
||||
registry.setSettlementDate(LocalDate.of(2022, 1, 2));
|
||||
registry.setTradingClearingRegistry("TRADING_CLEARING_REGISTRY");
|
||||
registry.setAccountType(AccountType.Clrn.getKey());
|
||||
registry.setAccount("ACCOUNT");
|
||||
registry.setSessionId(1L);
|
||||
registryImdg.insert(registry);
|
||||
|
||||
Registry omtRegistry = new Registry();
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
"FIRM_ID","FIRM_ID_INITIATOR","SECCODE","CLASS_CODE","AGREEMENT_NUMBER","AGREEMENT_NUMBER_POSTFIX","AGREEMENT_DATE","AGREEMENT_SETTLEMENT_DATE","SUM","REPAYM_DATE","EXEC_STATUS","TR_ID"
|
||||
"CLEARING_CODE","TRADING_CODE","CONT~RACT","market","CONT","CONT~RACT","01.01.1991","13.11.2023","-77.78","23.11.2023","Исполнен","23071812300"
|
||||
"FIRM_ID","FIRM_ID_INITIATOR","SECCODE","CLASS_CODE","AGREEMENT_NUMBER","AGREEMENT_NUMBER_POSTFIX","AGREEMENT_DATE","AGREEMENT_SETTLEMENT_DATE","SUM","REPAYM_DATE","EXEC_STATUS","TR_ID","TKR","ACCOUNT","SESSION_ID"
|
||||
"CLEARING_CODE","TRADING_CODE","CONT~RACT","market","CONT","CONT~RACT","01.01.1991","14.11.2023","-77.78","24.11.2023","Исполнен","23071812300","TRADING_CLEARING_REGISTRY","ACCOUNT","1"
|
||||
|
|
|
|||
|
Loading…
Add table
Reference in a new issue