This commit is contained in:
parent
12ff85188f
commit
c7ad0a181c
5 changed files with 26 additions and 32 deletions
|
|
@ -3,7 +3,9 @@ package ru.spcex.clearing.reports.builders.bean;
|
|||
import com.opencsv.bean.CsvBindByName;
|
||||
import com.opencsv.bean.CsvBindByPosition;
|
||||
import com.opencsv.bean.CsvDate;
|
||||
import com.opencsv.bean.CsvNumber;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class UnfulfilledDealReport {
|
||||
|
|
@ -25,6 +27,11 @@ public class UnfulfilledDealReport {
|
|||
@CsvBindByPosition(position = 3)
|
||||
private String settleCode;
|
||||
|
||||
@CsvBindByName(column = "VALUE")
|
||||
@CsvBindByPosition(position = 4)
|
||||
@CsvNumber(value = "#0.00", writeFormat = "#0.00")
|
||||
private BigDecimal value;
|
||||
|
||||
|
||||
public String getSecurityId() {
|
||||
return securityId;
|
||||
|
|
@ -58,4 +65,11 @@ public class UnfulfilledDealReport {
|
|||
this.settleCode = settleCode;
|
||||
}
|
||||
|
||||
public BigDecimal getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(BigDecimal value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ public class UnfulfilledDealReportBuilder extends CSVReportBuilder<SessionIdPara
|
|||
unfulfilledDealReport.setTradeNo(executionFond.getExchangeExecutionId());
|
||||
unfulfilledDealReport.setTradeDate(executionFond.getTradingDate());
|
||||
unfulfilledDealReport.setSettleCode(executionFond.getSettlementCode());
|
||||
unfulfilledDealReport.setValue(executionFond.getSettlementAmount());
|
||||
|
||||
rows.add(unfulfilledDealReport);
|
||||
} catch (Throwable e) {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package ru.spcex.clearing.reports.builders.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.execution.ExecutionDeposit;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -30,7 +29,6 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
|
|||
|
||||
private final Imdg<Registry> registryImdg;
|
||||
private final Imdg<Company> companyImdg;
|
||||
private final Imdg<CompanySymbols> companySymbolsImdg;
|
||||
private final Imdg<ExecutionDeposit> executionDepositImdg;
|
||||
|
||||
private List<KSCommissionTradesReport> rows = null;
|
||||
|
|
@ -38,7 +36,6 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
|
|||
public KSCommissionTradesReportBuilder(ImdgProvider imdgProvider) {
|
||||
registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
companySymbolsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
|
||||
}
|
||||
|
||||
|
|
@ -80,9 +77,8 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
|
|||
String sql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.TS_T).build();
|
||||
ImdgPredicate finalPredicate = pb.and(
|
||||
pb.sql(sql),
|
||||
pb.equals("refundDate", nowDate),
|
||||
pb.greatEqual("refundDate", nowDate),
|
||||
pb.less("valueDate", nowDate),
|
||||
pb.equals("registryStatus", RegistryStatus.CLRD.getKey()),
|
||||
pb.or(pb.equals("sessionType", SessionType.XDEP.getKey()), pb.equals("sessionType", SessionType.FINL.getKey()))
|
||||
);
|
||||
Collection<Registry> registries = registryImdg.getCollectionObjectsByPredicate(finalPredicate);
|
||||
|
|
@ -125,29 +121,12 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
|
|||
}
|
||||
}
|
||||
|
||||
// sql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.OM_T).build();
|
||||
// Registry omtRegistry = registryImdg.getFirstObjectByPredicate(
|
||||
// pb.and(
|
||||
// pb.sql(sql),
|
||||
// pb.equals("contract", registry.getContract()),
|
||||
// pb.notNull("groupId")
|
||||
// )
|
||||
// );
|
||||
// if (omtRegistry == null) {
|
||||
// log.warn("Can't find pair OM_T registry for contract = {}. Registry id = {} skipped",
|
||||
// registry.getContract(),
|
||||
// registry.getId());
|
||||
// continue;
|
||||
// }
|
||||
// String tradeNum = extractPartAgreementNumber(String.valueOf(omtRegistry.getGroupId()));
|
||||
// if (tradeNum == null) {
|
||||
// log.warn("Can't extract TradeNum from GroupId (groupId = {} for OM_T registry id = {}). " +
|
||||
// "Registry id = {} skipped",
|
||||
// omtRegistry.getGroupId(),
|
||||
// omtRegistry.getId(),
|
||||
// registry.getId());
|
||||
// continue;
|
||||
// }
|
||||
String execStatus = "";
|
||||
RegistryStatus registryStatus = IEnumKey.getEnumByKey(RegistryStatus.class, registry.getRegistryStatus());
|
||||
if (registryStatus == RegistryStatus.CLRD) execStatus = "Исполнено";
|
||||
else if (registryStatus == RegistryStatus.FAIL) execStatus = "Не исполнено";
|
||||
else if (registryStatus == RegistryStatus.MNG || registryStatus == RegistryStatus.PROC)
|
||||
execStatus = "В ожидании";
|
||||
|
||||
String agreementNumber = registry.getContract();
|
||||
if (agreementNumber != null && agreementNumber.contains("~"))
|
||||
|
|
@ -182,7 +161,7 @@ public class KSCommissionTradesReportBuilder extends CSVReportBuilder<EmptyParam
|
|||
ksCommissionTradesReport.setAgreementDate(registry.getTradingDate());
|
||||
ksCommissionTradesReport.setSum(registry.getBalance() != null ? registry.getBalance().negate() : BigDecimal.ZERO);
|
||||
ksCommissionTradesReport.setRepaymDate(registry.getRefundDate());
|
||||
ksCommissionTradesReport.setExecStatus("Исполнено");
|
||||
ksCommissionTradesReport.setExecStatus(execStatus);
|
||||
|
||||
rows.add(ksCommissionTradesReport);
|
||||
} catch (Throwable e) {
|
||||
|
|
|
|||
|
|
@ -419,7 +419,7 @@ public class ReportServiceTest_BP {
|
|||
|
||||
File outFile = outFolder.listFiles()[0];
|
||||
File expectedFile = new File(getClass().getClassLoader().getResource("expected_reports_csv/bp/KS_BR_PFX65_DEALS_expected.csv").getFile());
|
||||
compareCSVFiles(expectedFile, outFile, Arrays.asList("TRADEDATE"));
|
||||
compareCSVFiles(expectedFile, outFile, List.of());
|
||||
|
||||
testExecutionFond.setSessionId(oldExecutionFondSessionId);
|
||||
testExecutionFond.setCoverageStatus(oldExecutionFondCoverageStatus);
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
"SECURITYID","TRADENO","TRADEDATE","SETTLECODE"
|
||||
"test-security-symbol-1","777","22.07.2023","test-settlement-code"
|
||||
"SECURITYID","TRADENO","TRADEDATE","SETTLECODE","VALUE"
|
||||
"test-security-symbol-1","777","2023-10-29","test-settlement-code","7777777.00"
|
||||
|
|
|
|||
|
Loading…
Add table
Reference in a new issue