This commit is contained in:
parent
d10b79f05e
commit
d1ae9e05c8
3 changed files with 16 additions and 4 deletions
|
|
@ -9,6 +9,7 @@ import ru.clearing.classes.statics.data.account.Account;
|
||||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||||
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||||
import ru.clearing.classes.statics.data.company.Company;
|
import ru.clearing.classes.statics.data.company.Company;
|
||||||
|
import ru.clearing.classes.statics.data.misc.Currency;
|
||||||
import ru.clearing.classes.statics.data.registry.Registry;
|
import ru.clearing.classes.statics.data.registry.Registry;
|
||||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||||
import ru.clearing.classes.statics.data.sdf.SDf02;
|
import ru.clearing.classes.statics.data.sdf.SDf02;
|
||||||
|
|
@ -63,7 +64,9 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
||||||
private final Imdg<ClearingAccount> clearingAccountImdg;
|
private final Imdg<ClearingAccount> clearingAccountImdg;
|
||||||
private final Imdg<TradingClearingRegistry> tradingClearingRegistryImdg;
|
private final Imdg<TradingClearingRegistry> tradingClearingRegistryImdg;
|
||||||
private final Imdg<Security> securityImdg;
|
private final Imdg<Security> securityImdg;
|
||||||
|
private final Imdg<Currency> currencyImdg;
|
||||||
private final IMessageResolver messageResolver;
|
private final IMessageResolver messageResolver;
|
||||||
|
// private final Pair<>
|
||||||
|
|
||||||
public Sdf57Executor(@Qualifier("sdf57Validator") Function<SDf57, IValidator> sDf57Validator,
|
public Sdf57Executor(@Qualifier("sdf57Validator") Function<SDf57, IValidator> sDf57Validator,
|
||||||
LoggingService errorLogger,
|
LoggingService errorLogger,
|
||||||
|
|
@ -75,6 +78,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
||||||
this.accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
this.accountBalanceImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
||||||
this.clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
this.clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||||
this.tradingClearingRegistryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
this.tradingClearingRegistryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
||||||
|
this.currencyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Currency, Currency.class);
|
||||||
this.sDf57Validator = sDf57Validator;
|
this.sDf57Validator = sDf57Validator;
|
||||||
this.errorLogger = errorLogger;
|
this.errorLogger = errorLogger;
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
|
|
@ -83,6 +87,8 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
||||||
this.securityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Security, Security.class);
|
this.securityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Security, Security.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//todo доделать контроль sdf01 и sdf57
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String exportTableName() {
|
public String exportTableName() {
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -178,7 +184,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
||||||
|
|
||||||
//todo понять что происходит со инициатором/контрагентом, особенно если у нас только один Statement
|
//todo понять что происходит со инициатором/контрагентом, особенно если у нас только один Statement
|
||||||
findReg(stmt, RegistryDesignation.A).ifPresentOrElse(update, () -> create.accept(RegistryDesignation.A));
|
findReg(stmt, RegistryDesignation.A).ifPresentOrElse(update, () -> create.accept(RegistryDesignation.A));
|
||||||
if (!StringUtils.isEmpty(sdf57.getSpecif())) {
|
if (!StringUtils.isEmpty(sdf57.getSpecif()) && sdf57.getSpecif().contains("№")) {
|
||||||
//todo доделать 11. Идентификация средств УК на клиринговом счете
|
//todo доделать 11. Идентификация средств УК на клиринговом счете
|
||||||
findReg(stmt, RegistryDesignation.D).ifPresentOrElse(update, () -> create.accept(RegistryDesignation.D));
|
findReg(stmt, RegistryDesignation.D).ifPresentOrElse(update, () -> create.accept(RegistryDesignation.D));
|
||||||
}
|
}
|
||||||
|
|
@ -215,6 +221,11 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
|
||||||
statement.setStatementType(StatementType.incr.getKey());
|
statement.setStatementType(StatementType.incr.getKey());
|
||||||
statement.setContract(getContractFromSpecif(sdf57.getSpecif()));
|
statement.setContract(getContractFromSpecif(sdf57.getSpecif()));
|
||||||
statement.setAccountId(accountDeb.getId());
|
statement.setAccountId(accountDeb.getId());
|
||||||
|
|
||||||
|
Currency currency = currencyImdg.getSingleObjectByFieldValues(Map.of("currencyCode", "RUB"));
|
||||||
|
if (currency != null) {
|
||||||
|
statement.setSecurityId(currency.getId());
|
||||||
|
}
|
||||||
statement.setAccount(accountDeb.getAccount());
|
statement.setAccount(accountDeb.getAccount());
|
||||||
statement.setInOutDirection(inOutDirection.getKey());
|
statement.setInOutDirection(inOutDirection.getKey());
|
||||||
statement.setSettlementDate(payDate(sdf57.getPay_date()));
|
statement.setSettlementDate(payDate(sdf57.getPay_date()));
|
||||||
|
|
|
||||||
|
|
@ -95,8 +95,8 @@ public class PrimaryAuctionBnSession extends AbstractSession implements Initiali
|
||||||
log.error("cannot continue session, current stage is {}", currStage.get());
|
log.error("cannot continue session, current stage is {}", currStage.get());
|
||||||
throw new StageException();
|
throw new StageException();
|
||||||
}
|
}
|
||||||
//stage 0
|
// //stage 0
|
||||||
runStage(TaskType.ContinueRevise, balanceRevise);
|
// runStage(TaskType.ContinueRevise, balanceRevise);
|
||||||
//stage 1
|
//stage 1
|
||||||
StageResult<List<ExecutionCommon>> dealsPreparationResult;
|
StageResult<List<ExecutionCommon>> dealsPreparationResult;
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,8 @@ public class BalanceRevise implements ISessionStage {
|
||||||
return sendSdfs();
|
return sendSdfs();
|
||||||
}
|
}
|
||||||
case ContinueRevise -> {
|
case ContinueRevise -> {
|
||||||
cashFlow(); //((SdfClearingRequest) task.getData()).getGroupId() if needed
|
//больше не используются, удалить после проверки
|
||||||
|
cashFlow(); //((SdfClearingRequest) task.getData()).getGroupId() if needed //todo убрать это отсюда
|
||||||
return revise();
|
return revise();
|
||||||
}
|
}
|
||||||
default -> throw new IllegalStateException("unknown task " + task.getTaskType());
|
default -> throw new IllegalStateException("unknown task " + task.getTaskType());
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue