http://jira.mfd.msk:8088/browse/CLS-497 time fixes, rename session_date, executionDealReport fixes
This commit is contained in:
parent
1ee7c5a985
commit
796f247fec
26 changed files with 105 additions and 78 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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())
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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,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,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,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,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,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,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,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,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"
|
||||
|
|
|
|||
|
Loading…
Add table
Reference in a new issue