http://jira.mfd.msk:8088/browse/CLS-497 time fixes, rename session_date, executionDealReport fixes

This commit is contained in:
akulikov 2023-09-07 11:37:48 +03:00
parent 1ee7c5a985
commit 796f247fec
26 changed files with 105 additions and 78 deletions

View file

@ -6,8 +6,8 @@ import com.opencsv.bean.CsvDate;
import com.opencsv.bean.CsvNumber;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class ExecutedDealReport {
@CsvBindByName(column = "SECURITYID")
@ -26,7 +26,7 @@ public class ExecutedDealReport {
@CsvBindByName(column = "TRADETIME")
@CsvBindByPosition(position = 3)
@CsvDate(value = "HH:mm:ss")
private Instant tradeTime;
private LocalDateTime tradeTime;
@CsvBindByName(column = "SETTLEDATE")
@CsvBindByPosition(position = 4)
@ -77,11 +77,11 @@ public class ExecutedDealReport {
this.tradeDate = tradeDate;
}
public Instant getTradeTime() {
public LocalDateTime getTradeTime() {
return tradeTime;
}
public void setTradeTime(Instant tradeTime) {
public void setTradeTime(LocalDateTime tradeTime) {
this.tradeTime = tradeTime;
}

View file

@ -6,8 +6,8 @@ import com.opencsv.bean.CsvDate;
import com.opencsv.bean.CsvNumber;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class KSRepCashNettoReport {
@CsvBindByName(column = "FIRMID")
@ -21,7 +21,7 @@ public class KSRepCashNettoReport {
@CsvBindByName(column = "SESSION_DATE")
@CsvBindByPosition(position = 2)
@CsvDate(value = "dd.MM.yyyy'T'HH:mm:ss")
private Instant sessionDate;
private LocalDateTime sessionDate;
@CsvBindByName(column = "ACCOUNT")
@CsvBindByPosition(position = 3)
@ -54,11 +54,11 @@ public class KSRepCashNettoReport {
this.sessionId = sessionId;
}
public Instant getSessionDate() {
public LocalDateTime getSessionDate() {
return sessionDate;
}
public void setSessionDate(Instant sessionDate) {
public void setSessionDate(LocalDateTime sessionDate) {
this.sessionDate = sessionDate;
}

View file

@ -6,8 +6,8 @@ import com.opencsv.bean.CsvDate;
import com.opencsv.bean.CsvNumber;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
public class KSRepDepoNettoReport {
@CsvBindByName(column = "FIRMID")
@ -21,7 +21,7 @@ public class KSRepDepoNettoReport {
@CsvBindByName(column = "SESSION_DATE")
@CsvBindByPosition(position = 2)
@CsvDate(value = "dd.MM.yyyy'T'HH:mm:ss")
private Instant sessionDate;
private LocalDateTime sessionDate;
@CsvBindByName(column = "ACCOUNT")
@CsvBindByPosition(position = 3)
@ -58,11 +58,11 @@ public class KSRepDepoNettoReport {
this.sessionId = sessionId;
}
public Instant getSessionDate() {
public LocalDateTime getSessionDate() {
return sessionDate;
}
public void setSessionDate(Instant sessionDate) {
public void setSessionDate(LocalDateTime sessionDate) {
this.sessionDate = sessionDate;
}

View file

@ -7,7 +7,7 @@ import com.opencsv.bean.CsvDate;
import com.opencsv.bean.CsvNumber;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDateTime;
public class KSRepTradesReport {
@CsvBindByName(column = "SESSION_ID")
@ -17,7 +17,7 @@ public class KSRepTradesReport {
@CsvBindByName(column = "SESSION_DATE")
@CsvBindByPosition(position = 1)
@CsvDate(value = "dd.MM.yyyy'T'HH:mm:ss")
private Instant sessionDate;
private LocalDateTime sessionDate;
@CsvBindByName(column = "TR_ID")
@CsvBindByPosition(position = 2)
@ -52,7 +52,7 @@ public class KSRepTradesReport {
@CsvBindByName(column = "TRADE_DATE")
@CsvBindByPosition(position = 9)
@CsvDate(value = "dd.MM.yyyy'T'HH:mm:ss")
private Instant tradeDate;
private LocalDateTime tradeDate;
@CsvBindByName(column = "STATUS")
@CsvBindByPosition(position = 10)
@ -67,11 +67,11 @@ public class KSRepTradesReport {
this.sessionId = sessionId;
}
public Instant getSessionDate() {
public LocalDateTime getSessionDate() {
return sessionDate;
}
public void setSessionDate(Instant sessionDate) {
public void setSessionDate(LocalDateTime sessionDate) {
this.sessionDate = sessionDate;
}
@ -131,11 +131,11 @@ public class KSRepTradesReport {
this.classCode = classCode;
}
public Instant getTradeDate() {
public LocalDateTime getTradeDate() {
return tradeDate;
}
public void setTradeDate(Instant tradeDate) {
public void setTradeDate(LocalDateTime tradeDate) {
this.tradeDate = tradeDate;
}

View file

@ -4,7 +4,7 @@ import com.opencsv.bean.CsvBindByName;
import com.opencsv.bean.CsvBindByPosition;
import com.opencsv.bean.CsvDate;
import java.time.Instant;
import java.time.LocalDateTime;
public class KSSessionListReport {
@CsvBindByName(column = "ID")
@ -14,14 +14,14 @@ public class KSSessionListReport {
@CsvBindByName(column = "CREATED_AT")
@CsvBindByPosition(position = 1)
@CsvDate(value = "dd.MM.yyyy'T'HH:mm:ss")
private Instant createdAt;
private LocalDateTime createdAt;
@CsvBindByName(column = "UPDATED_AT")
@CsvBindByPosition(position = 2)
@CsvDate(value = "dd.MM.yyyy'T'HH:mm:ss")
private Instant updatedAt;
private LocalDateTime updatedAt;
@CsvBindByName(column = "SESSION_DATE")
@CsvBindByName(column = "SECTION")
@CsvBindByPosition(position = 3)
private String section;
@ -41,19 +41,19 @@ public class KSSessionListReport {
this.id = id;
}
public Instant getCreatedAt() {
public LocalDateTime getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Instant createdAt) {
public void setCreatedAt(LocalDateTime createdAt) {
this.createdAt = createdAt;
}
public Instant getUpdatedAt() {
public LocalDateTime getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Instant updatedAt) {
public void setUpdatedAt(LocalDateTime updatedAt) {
this.updatedAt = updatedAt;
}

View file

@ -13,12 +13,12 @@ import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
public abstract class ExecutedDealReportBuilderCommon<P> extends CSVReportBuilder<P, ExecutedDealReport> {
protected final DateTimeFormatter fileNameDateTimeFormatter = DateTimeFormatter.ofPattern("yyMMddHHmmssSSS");
@ -77,18 +77,18 @@ public abstract class ExecutedDealReportBuilderCommon<P> extends CSVReportBuilde
executedDealReport.setSecurityId(executionFond.getSecuritySymbol());
executedDealReport.setTradeNo(executionFond.getExchangeExecutionId());
executedDealReport.setTradeDate(executionFond.getTradingDate());
executedDealReport.setTradeTime(executionFond.getExchangeExecutionTime());
if (executionFond.getExchangeExecutionTime() != null)
executedDealReport.setTradeTime(LocalDateTime.ofInstant(executionFond.getExchangeExecutionTime(), ZoneId.systemDefault()));
executedDealReport.setSettleDate(executionFond.getSettlementDate());
executedDealReport.setSettleCode(executionFond.getSettlementCode());
BigDecimal settlementAmount = executionFond.getSettlementAmount() != null ? executionFond.getSettlementAmount() : BigDecimal.ZERO;
BigDecimal quantity = executionFond.getQuantity() != null ? executionFond.getQuantity() : BigDecimal.ZERO;
BigDecimal price = executionFond.getPrice() != null ? executionFond.getPrice() : BigDecimal.ZERO;
executedDealReport.setValue(settlementAmount);
executedDealReport.setQuantity(quantity);
if (Objects.equals(quantity, BigDecimal.ZERO)) {
executedDealReport.setPrice(settlementAmount);
} else {
executedDealReport.setPrice(settlementAmount.divide(quantity, RoundingMode.HALF_UP));
}
executedDealReport.setPrice(price);
lines.add(executedDealReport);
} catch (Throwable e) {

View file

@ -4,6 +4,7 @@ import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.spcex.clearing.reports.reports.SessionIdParam;
import ru.spcex.platform.enumeration.ReportKeys;
import ru.spcex.platform.enumeration.Side;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
@ -34,7 +35,8 @@ public class ExecutedDealReportBuilder_INFTYPE_1 extends ExecutedDealReportBuild
pb.and(
pb.notNull("sessionId"),
pb.less("tradingDate", LocalDate.now()),
pb.equals("settlementDate", LocalDate.now())
pb.equals("settlementDate", LocalDate.now()),
pb.equals("side", Side.SELL.getKey())
)
);
}

View file

@ -4,6 +4,7 @@ import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.spcex.clearing.reports.reports.SessionIdParam;
import ru.spcex.platform.enumeration.ReportKeys;
import ru.spcex.platform.enumeration.Side;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
@ -34,7 +35,8 @@ public class ExecutedDealReportBuilder_INFTYPE_2 extends ExecutedDealReportBuild
pb.and(
pb.notNull("sessionId"),
pb.equals("tradingDate", LocalDate.now()),
pb.equals("settlementDate", LocalDate.now())
pb.equals("settlementDate", LocalDate.now()),
pb.equals("side", Side.SELL.getKey())
)
);
}

View file

@ -4,6 +4,7 @@ import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.spcex.clearing.reports.reports.SessionIdParam;
import ru.spcex.platform.enumeration.ReportKeys;
import ru.spcex.platform.enumeration.Side;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
@ -30,6 +31,11 @@ public class ExecutedDealReportBuilder_INFTYPE_3 extends ExecutedDealReportBuild
@Override
protected Collection<ExecutionFond> getExecutionFondsForReport(SessionIdParam params) {
ImdgPredicateBuilder pb = executionFondImdg.predicateBuilder();
return executionFondImdg.getCollectionObjectsByPredicate(pb.greater("settlementDate", LocalDate.now()));
return executionFondImdg.getCollectionObjectsByPredicate(
pb.and(
pb.greater("settlementDate", LocalDate.now()),
pb.equals("side", Side.SELL.getKey())
)
);
}
}

View file

@ -5,6 +5,7 @@ import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.spcex.clearing.reports.reports.SessionIdParam;
import ru.spcex.platform.enumeration.Allowed;
import ru.spcex.platform.enumeration.ReportKeys;
import ru.spcex.platform.enumeration.Side;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
@ -34,7 +35,8 @@ public class ExecutedDealReportBuilder_INFTYPE_4 extends ExecutedDealReportBuild
return executionFondImdg.getCollectionObjectsByPredicate(
pb.and(
pb.equals("coverageStatus", Allowed.DENIED.getKey()),
pb.equals("settlementDate", LocalDate.now())
pb.equals("settlementDate", LocalDate.now()),
pb.equals("side", Side.SELL.getKey())
)
);
}

View file

@ -9,10 +9,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.CSVReportBuilder;
import ru.spcex.clearing.reports.reports.SessionIdParam;
import ru.spcex.clearing.reports.reports.bean.UnfulfilledDealReport;
import ru.spcex.platform.enumeration.Allowed;
import ru.spcex.platform.enumeration.ReportBuilderType;
import ru.spcex.platform.enumeration.ReportKeys;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.enumeration.*;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -68,7 +65,8 @@ public class UnfulfilledDealReportBuilder extends CSVReportBuilder<SessionIdPara
ImdgPredicateBuilder pb = executionFondImdg.predicateBuilder();
ImdgPredicate predicate = pb.and(
pb.notNull("sessionId"),
pb.equals("coverageStatus", Allowed.DENIED.getKey())
pb.equals("coverageStatus", Allowed.DENIED.getKey()),
pb.equals("side", Side.SELL.getKey())
);
Collection<ExecutionFond> executionFonds = executionFondImdg.getCollectionObjectsByPredicate(predicate);

View file

@ -3,7 +3,7 @@ package ru.spcex.clearing.reports.reports.ks;
import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.classes.statics.data.misc.STrades;
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.reports.reports.CSVReportBuilder;
@ -32,7 +32,7 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
private final Imdg<Registry> registryImdg;
private final Imdg<Company> companyImdg;
private final Imdg<CompanySymbols> companySymbolsImdg;
private final Imdg<STrades> sTradesImdg;
private final Imdg<ExecutionDeposit> executionDepositImdg;
private List<KSCommissionTradesReport> rows = null;
@ -40,7 +40,7 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
sTradesImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_STrades, STrades.class);
executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
}
@Override
@ -175,25 +175,25 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
if (agreementNumberPostfix != null && !agreementNumberPostfix.contains("~"))
agreementNumberPostfix = "";
pb = sTradesImdg.predicateBuilder();
Collection<STrades> sTradesList = sTradesImdg.getCollectionObjectsByPredicate(
pb = executionDepositImdg.predicateBuilder();
Collection<ExecutionDeposit> executionDeposits = executionDepositImdg.getCollectionObjectsByPredicate(
pb.and(
pb.equals("tradeNum", registry.getGroupId()),
pb.notNull("classCode")
pb.equals("exchangeExecutionId", registry.getGroupId()),
pb.notNull("market")
)
);
if (sTradesList.isEmpty()) {
log.warn("Not found STrades for registry (id = {}), tradeNum: {}. Registry skipped", registry.getId(), registry.getGroupId());
if (executionDeposits.isEmpty()) {
log.warn("Not found ExecutionDeposit for registry (id = {}), groupId: {}. Registry skipped", registry.getId(), registry.getGroupId());
continue;
}
if (sTradesList.size() > 1) log.warn("sTrades[tradeNum = {}].size > 1, use first", tradeNum);
STrades sTrades = sTradesList.iterator().next();
if (executionDeposits.size() > 1) log.warn("ExecutionDeposit[exchangeExecutionId = {}].size > 1, use first", registry.getGroupId());
ExecutionDeposit executionDeposit = executionDeposits.iterator().next();
KSCommissionTradesReport ksCommissionTradesReport = new KSCommissionTradesReport();
ksCommissionTradesReport.setFirmId(firmId);
ksCommissionTradesReport.setFirmIdInitiator(firmIdInitiator);
ksCommissionTradesReport.setSecCode(registry.getSecuritySymbol());
ksCommissionTradesReport.setClassCode(sTrades.getClassCode());
ksCommissionTradesReport.setClassCode(executionDeposit.getMarket());
ksCommissionTradesReport.setAgreementNumber(agreementNumber);
ksCommissionTradesReport.setAgreementNumberPostfix(agreementNumberPostfix);
ksCommissionTradesReport.setAgreementDate(registry.getTradingDate());

View file

@ -17,6 +17,8 @@ import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -131,7 +133,10 @@ public class KSRepCashNettoReportBuilder extends CSVReportBuilder<SessionIdParam
KSRepCashNettoReport ksRepCashNettoReport = new KSRepCashNettoReport();
ksRepCashNettoReport.setFirmId(registry.getTradingCode());
ksRepCashNettoReport.setSessionId(registry.getSessionId());
ksRepCashNettoReport.setSessionDate(session != null ? session.getCreated() : null);
if (session != null && session.getCreated() != null)
ksRepCashNettoReport.setSessionDate(LocalDateTime.ofInstant(session.getCreated(), ZoneId.systemDefault()));
ksRepCashNettoReport.setAccount(registry.getAccount());
ksRepCashNettoReport.setDate(nowDate);

View file

@ -17,6 +17,8 @@ import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -131,7 +133,8 @@ public class KSRepDepoNettoReportBuilder extends CSVReportBuilder<SessionIdParam
ksRepDepoNettoReport.setDate(nowDate);
Session session = sessionImdg.getSingleObjectByID(registry.getSessionId());
if (session != null) ksRepDepoNettoReport.setSessionDate(session.getCreated());
if (session != null && session.getCreated() != null)
ksRepDepoNettoReport.setSessionDate(LocalDateTime.ofInstant(session.getCreated(), ZoneId.systemDefault()));
BigDecimal tstBalance = BigDecimal.ZERO;
BigDecimal ostBalance = BigDecimal.ZERO;

View file

@ -22,6 +22,8 @@ import ru.spcex.platform.utils.enumeration.IEnumKey;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -118,7 +120,8 @@ public class KSRepTradesReportBuilder extends CSVReportBuilder<EmptyParams, KSRe
if (execution.getSessionId() != null) {
Session session = sessionImdg.getSingleObjectByID(execution.getSessionId());
ksRepTradesReport.setSessionDate(session != null ? session.getCreated() : null);
if (session != null && session.getCreated() != null)
ksRepTradesReport.setSessionDate(LocalDateTime.ofInstant(session.getCreated(), ZoneId.systemDefault()));
} else {
log.info("Execution id = {} was skipped: session_id is null", execution.getId());
continue;
@ -136,7 +139,9 @@ public class KSRepTradesReportBuilder extends CSVReportBuilder<EmptyParams, KSRe
ksRepTradesReport.setTradeNum(execution.getExchangeExecutionId());
ksRepTradesReport.setClassCode(execution.getMarket());
ksRepTradesReport.setTradeDate(execution.getExchangeExecutionTime());
if (execution.getExchangeExecutionTime() != null)
ksRepTradesReport.setTradeDate(LocalDateTime.ofInstant(execution.getExchangeExecutionTime(), ZoneId.systemDefault()));
String status = "0";
if (execution.getCoverageStatus() != null) {

View file

@ -12,6 +12,8 @@ import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -60,8 +62,10 @@ public class KSSessionListReportBuilder extends CSVReportBuilder<EmptyParams, KS
try {
KSSessionListReport ksSessionListReport = new KSSessionListReport();
ksSessionListReport.setId(session.getId());
ksSessionListReport.setCreatedAt(session.getCreated());
ksSessionListReport.setUpdatedAt(session.getUpdated());
if (session.getCreated() != null)
ksSessionListReport.setCreatedAt(LocalDateTime.ofInstant(session.getCreated(), ZoneId.systemDefault()));
if (session.getUpdated() != null)
ksSessionListReport.setUpdatedAt(LocalDateTime.ofInstant(session.getUpdated(), ZoneId.systemDefault()));
ksSessionListReport.setSection(session.getSection());
ksSessionListReport.setSessionType(session.getSessionType());
ksSessionListReport.setWorkflowStatus(session.getWorkflowStatus());

View file

@ -664,10 +664,10 @@ public class ReportServiceTest_KS {
omtRegistry.setGroupId(23071812300L);
registryImdg.insert(omtRegistry);
STrades sTrades = new STrades();
sTrades.setTradeNum(23071812300L);
sTrades.setClassCode("CLASS_CODE");
sTradesImdg.insert(sTrades);
ExecutionDeposit executionDeposit = new ExecutionDeposit();
executionDeposit.setExchangeExecutionId(registry.getGroupId());
executionDeposit.setMarket("market");
executionDepositImdg.insert(executionDeposit);
String jsonString = TestUtils.getJsonStringForSystem(reportRequest, 0L);
@ -686,7 +686,7 @@ public class ReportServiceTest_KS {
registryImdg.delete(registry);
registryImdg.delete(omtRegistry);
companySymbolsImdg.delete(companySymbols);
sTradesImdg.delete(sTrades);
executionDepositImdg.delete(executionDeposit);
}

View file

@ -1,2 +1,2 @@
"SECURITYID","TRADENO","TRADEDATE","TRADETIME","SETTLEDATE","SETTLECODE","PRICE","QUANTITY","VALUE"
"test-security-symbol-1","777","22.07.2023","01:22:57","01.08.2023","test-settlement-code","1000.000000","7777","7777777.00"
"test-security-symbol-1","777","22.07.2023","05:22:57","01.08.2023","test-settlement-code","77.000000","7777","7777777.00"

1 SECURITYID TRADENO TRADEDATE TRADETIME SETTLEDATE SETTLECODE PRICE QUANTITY VALUE
2 test-security-symbol-1 777 22.07.2023 01:22:57 05:22:57 01.08.2023 test-settlement-code 1000.000000 77.000000 7777 7777777.00

View file

@ -1,2 +1,2 @@
"SECURITYID","TRADENO","TRADEDATE","TRADETIME","SETTLEDATE","SETTLECODE","PRICE","QUANTITY","VALUE"
"test-security-symbol-1","777","01.08.2023","01:22:57","01.08.2023","test-settlement-code","1000.000000","7777","7777777.00"
"test-security-symbol-1","777","01.08.2023","05:22:57","01.08.2023","test-settlement-code","77.000000","7777","7777777.00"

1 SECURITYID TRADENO TRADEDATE TRADETIME SETTLEDATE SETTLECODE PRICE QUANTITY VALUE
2 test-security-symbol-1 777 01.08.2023 01:22:57 05:22:57 01.08.2023 test-settlement-code 1000.000000 77.000000 7777 7777777.00

View file

@ -1,2 +1,2 @@
"SECURITYID","TRADENO","TRADEDATE","TRADETIME","SETTLEDATE","SETTLECODE","PRICE","QUANTITY","VALUE"
"test-security-symbol-1","777","11.08.2023","01:22:57","11.08.2023","test-settlement-code","1000.000000","7777","7777777.00"
"test-security-symbol-1","777","11.08.2023","05:22:57","11.08.2023","test-settlement-code","77.000000","7777","7777777.00"

1 SECURITYID TRADENO TRADEDATE TRADETIME SETTLEDATE SETTLECODE PRICE QUANTITY VALUE
2 test-security-symbol-1 777 11.08.2023 01:22:57 05:22:57 11.08.2023 test-settlement-code 1000.000000 77.000000 7777 7777777.00

View file

@ -1,2 +1,2 @@
"SECURITYID","TRADENO","TRADEDATE","TRADETIME","SETTLEDATE","SETTLECODE","PRICE","QUANTITY","VALUE"
"test-security-symbol-1","777","11.08.2023","01:22:57","01.08.2023","test-settlement-code","1000.000000","7777","7777777.00"
"test-security-symbol-1","777","11.08.2023","05:22:57","01.08.2023","test-settlement-code","77.000000","7777","7777777.00"

1 SECURITYID TRADENO TRADEDATE TRADETIME SETTLEDATE SETTLECODE PRICE QUANTITY VALUE
2 test-security-symbol-1 777 11.08.2023 01:22:57 05:22:57 01.08.2023 test-settlement-code 1000.000000 77.000000 7777 7777777.00

View file

@ -1,2 +1,2 @@
"FIRM_ID","FIRM_ID_INITIATOR","SECCODE","CLASS_CODE","AGREEMENT_NUMBER","AGREEMENT_NUMBER_POSTFIX","AGREEMENT_DATE","SUM","REPAYM_DATE","EXEC_STATUS"
"CLEARING_CODE","COMPANY_SYMBOL_VALUE","SECURITY_SYMBOL","CLASS_CODE","CONT","CONT~RACT","01.01.1991","77.78","05.09.2023","OK"
"CLEARING_CODE","COMPANY_SYMBOL_VALUE","SECURITY_SYMBOL","market","CONT","CONT~RACT","01.01.1991","77.78","05.09.2023","OK"

1 FIRM_ID FIRM_ID_INITIATOR SECCODE CLASS_CODE AGREEMENT_NUMBER AGREEMENT_NUMBER_POSTFIX AGREEMENT_DATE SUM REPAYM_DATE EXEC_STATUS
2 CLEARING_CODE COMPANY_SYMBOL_VALUE SECURITY_SYMBOL CLASS_CODE market CONT CONT~RACT 01.01.1991 77.78 05.09.2023 OK

View file

@ -1,2 +1,2 @@
"FIRMID","SESSION_ID","SESSION_DATE","ACCOUNT","VALUE","DATE"
"TRADING_CODE","2","19.01.1970T23:49:58","ACCOUNT","22.22","07.07.2023"
"TRADING_CODE","2","20.01.1970T02:49:58","ACCOUNT","22.22","07.07.2023"

1 FIRMID SESSION_ID SESSION_DATE ACCOUNT VALUE DATE
2 TRADING_CODE 2 19.01.1970T23:49:58 20.01.1970T02:49:58 ACCOUNT 22.22 07.07.2023

View file

@ -1,2 +1,2 @@
"FIRMID","SESSION_ID","SESSION_DATE","ACCOUNT","SECURITYID","VALUE","DATE"
"TRADING_CODE","2","19.01.1970T23:49:58","ACCOUNT","SECURITY_SYMBOL","22","07.07.2023"
"TRADING_CODE","2","20.01.1970T02:49:58","ACCOUNT","SECURITY_SYMBOL","22","07.07.2023"

1 FIRMID SESSION_ID SESSION_DATE ACCOUNT SECURITYID VALUE DATE
2 TRADING_CODE 2 19.01.1970T23:49:58 20.01.1970T02:49:58 ACCOUNT SECURITY_SYMBOL 22 07.07.2023

View file

@ -1,3 +1,3 @@
"SESSION_ID","SESSION_DATE","TR_ID","FIRM_ID","TKR","CASH_LIABILITY","DEPO_LIABILITY","TRADE_NUM","CLASS_CODE","TRADE_DATE","STATUS"
"4","20.01.1970T04:09:07","8","TRADING_CODE","TKR","8888.89","","222",3333,"19.01.1970T23:49:58","3"
"3","20.01.1970T12:54:43","5","TRADING_CODE","TKR","8888.89","123","222",3333,"19.01.1970T23:49:58","1"
"4","20.01.1970T07:09:07","8","TRADING_CODE","TKR","8888.89","","222",3333,"20.01.1970T02:49:58","3"
"3","20.01.1970T15:54:43","5","TRADING_CODE","TKR","8888.89","123","222",3333,"20.01.1970T02:49:58","1"

1 SESSION_ID SESSION_DATE TR_ID FIRM_ID TKR CASH_LIABILITY DEPO_LIABILITY TRADE_NUM CLASS_CODE TRADE_DATE STATUS
2 4 20.01.1970T04:09:07 20.01.1970T07:09:07 8 TRADING_CODE TKR 8888.89 222 3333 19.01.1970T23:49:58 20.01.1970T02:49:58 3
3 3 20.01.1970T12:54:43 20.01.1970T15:54:43 5 TRADING_CODE TKR 8888.89 123 222 3333 19.01.1970T23:49:58 20.01.1970T02:49:58 1

View file

@ -1,2 +1,2 @@
"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"
"ID","CREATED_AT","UPDATED_AT","SECTION","SESSION_TYPE","WORKFLOW_STATUS"
"2","03.05.2026T06:09:37","09.01.2058T07:56:17","MKR","FINL","ACTV"

1 ID CREATED_AT UPDATED_AT SESSION_DATE SECTION SESSION_TYPE WORKFLOW_STATUS
2 2 03.05.2026T03:09:37 03.05.2026T06:09:37 09.01.2058T04:56:17 09.01.2058T07:56:17 MKR MKR FINL ACTV