registry builder fix
This commit is contained in:
parent
dce0a6d690
commit
7ad62a3079
1 changed files with 9 additions and 0 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
package ru.spcex.clearing.session.stage.impl;
|
package ru.spcex.clearing.session.stage.impl;
|
||||||
|
|
||||||
import ru.clearing.classes.statics.data.account.Account;
|
import ru.clearing.classes.statics.data.account.Account;
|
||||||
|
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.execution.ExecutionCommon;
|
import ru.clearing.classes.statics.data.execution.ExecutionCommon;
|
||||||
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
|
||||||
|
|
@ -25,6 +26,7 @@ public class RegistryBuilder {
|
||||||
private Imdg<Account> accountImdg;
|
private Imdg<Account> accountImdg;
|
||||||
private Imdg<Market> marketImdg;
|
private Imdg<Market> marketImdg;
|
||||||
private Imdg<Session> sessionImdg;
|
private Imdg<Session> sessionImdg;
|
||||||
|
private Imdg<ClearingAccount> clearingAccountImdg;
|
||||||
private ExecutionCommon exec;
|
private ExecutionCommon exec;
|
||||||
private RegistryDesignation regDsgn;
|
private RegistryDesignation regDsgn;
|
||||||
|
|
||||||
|
|
@ -41,6 +43,7 @@ public class RegistryBuilder {
|
||||||
this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||||
this.marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class);
|
this.marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class);
|
||||||
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
|
||||||
|
this.clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -64,19 +67,25 @@ public class RegistryBuilder {
|
||||||
reg.setShortName(company.getShortName());
|
reg.setShortName(company.getShortName());
|
||||||
reg.setFullName(company.getFullName());
|
reg.setFullName(company.getFullName());
|
||||||
TradingClearingRegistry tcr = searchTradingClearingRegistry();
|
TradingClearingRegistry tcr = searchTradingClearingRegistry();
|
||||||
|
ClearingAccount accountForStatement = null;
|
||||||
if ((regDsgn.equals(RegistryDesignation.O) && side.isBuy()) || (regDsgn.equals(RegistryDesignation.T) && side.isSell())) {
|
if ((regDsgn.equals(RegistryDesignation.O) && side.isBuy()) || (regDsgn.equals(RegistryDesignation.T) && side.isSell())) {
|
||||||
reg.setAccountId(tcr.getMoneyAccountId());
|
reg.setAccountId(tcr.getMoneyAccountId());
|
||||||
reg.setRegistryInstrumentType(RegistryInstrumentType.M.getKey());
|
reg.setRegistryInstrumentType(RegistryInstrumentType.M.getKey());
|
||||||
reg.setBalanceDimension(BalanceDimension.MONY.getKey()); //fixme add second leg code branch
|
reg.setBalanceDimension(BalanceDimension.MONY.getKey()); //fixme add second leg code branch
|
||||||
|
accountForStatement = clearingAccountImdg.getSingleObjectByID(tcr.getMoneyAccountId());
|
||||||
} else if ((regDsgn.equals(RegistryDesignation.T) && side.isBuy()) || (regDsgn.equals(RegistryDesignation.O) && side.isSell())) {
|
} else if ((regDsgn.equals(RegistryDesignation.T) && side.isBuy()) || (regDsgn.equals(RegistryDesignation.O) && side.isSell())) {
|
||||||
reg.setAccountId(tcr.getDepoAccountId());
|
reg.setAccountId(tcr.getDepoAccountId());
|
||||||
reg.setRegistryInstrumentType(RegistryInstrumentType.S.getKey());
|
reg.setRegistryInstrumentType(RegistryInstrumentType.S.getKey());
|
||||||
reg.setBalanceDimension(BalanceDimension.PICS.getKey()); //fixme add second leg code branch
|
reg.setBalanceDimension(BalanceDimension.PICS.getKey()); //fixme add second leg code branch
|
||||||
|
accountForStatement = clearingAccountImdg.getSingleObjectByID(tcr.getDepoAccountId());
|
||||||
}
|
}
|
||||||
Account account = accountImdg.getSingleObjectByID(reg.getAccountId());
|
Account account = accountImdg.getSingleObjectByID(reg.getAccountId());
|
||||||
reg.setAccountType(account.getAccountType());
|
reg.setAccountType(account.getAccountType());
|
||||||
reg.setAccount(account.getAccount());
|
reg.setAccount(account.getAccount());
|
||||||
reg.setRegistryDesignation(regDsgn.getKey());
|
reg.setRegistryDesignation(regDsgn.getKey());
|
||||||
|
if (accountForStatement != null) {
|
||||||
|
reg.setRegistryCapacity(accountForStatement.getClearingAccountType());
|
||||||
|
}
|
||||||
reg.setRegistryCapacity(account.getAccountType());
|
reg.setRegistryCapacity(account.getAccountType());
|
||||||
reg.setRegistryUnit(RegistryUnit.T.getKey());
|
reg.setRegistryUnit(RegistryUnit.T.getKey());
|
||||||
reg.setRegistryCode(RegistryUtil.clearingCode(reg));
|
reg.setRegistryCode(RegistryUtil.clearingCode(reg));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue