This commit is contained in:
parent
7240066fe6
commit
96d7241e6b
2 changed files with 2 additions and 20 deletions
|
|
@ -283,7 +283,6 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
Company company = validator.getStored(ValidationStored.STradesCompany);
|
Company company = validator.getStored(ValidationStored.STradesCompany);
|
||||||
Company counterCompany = validator.getStored(ValidationStored.STradesCounterCompany);
|
Company counterCompany = validator.getStored(ValidationStored.STradesCounterCompany);
|
||||||
TradingClearingRegistry rgstr = validator.getStored(ValidationStored.STradesTradingClearingRegistry);
|
TradingClearingRegistry rgstr = validator.getStored(ValidationStored.STradesTradingClearingRegistry);
|
||||||
UtilitarianDigitalRight udr = validator.getStored(ValidationStored.STradesUtilitarianDigitalRight);
|
|
||||||
ClientCode clientCode = clientCodeImdg.getFirstObjectByFieldValues(Map.of("code", sTrades.getClientCode()));
|
ClientCode clientCode = clientCodeImdg.getFirstObjectByFieldValues(Map.of("code", sTrades.getClientCode()));
|
||||||
|
|
||||||
ExecutionFond eFond = new ExecutionFond();
|
ExecutionFond eFond = new ExecutionFond();
|
||||||
|
|
@ -300,7 +299,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
eFond.setMarket(sTrades.getClassCode());
|
eFond.setMarket(sTrades.getClassCode());
|
||||||
|
|
||||||
BigDecimal price = sTrades.getPrice();
|
BigDecimal price = sTrades.getPrice();
|
||||||
if (udr != null) {
|
if (InstrumentType.DGCT.equalsByKey(security.getInstrumentType())) {
|
||||||
DigitalCertificateSecurity dcs = (DigitalCertificateSecurity) security;
|
DigitalCertificateSecurity dcs = (DigitalCertificateSecurity) security;
|
||||||
BigDecimal baseUnitSize = BigDecimal.valueOf(Optional.ofNullable(dcs.getBaseUnitSize()).orElse(0L));
|
BigDecimal baseUnitSize = BigDecimal.valueOf(Optional.ofNullable(dcs.getBaseUnitSize()).orElse(0L));
|
||||||
price = safeBD(sTrades.getPrice())
|
price = safeBD(sTrades.getPrice())
|
||||||
|
|
@ -342,7 +341,7 @@ public class ExecutionFondComponent implements IExecutionUploadComponent {
|
||||||
BigDecimal qty = safeBD(eFond.getLots()).multiply(lotSize);
|
BigDecimal qty = safeBD(eFond.getLots()).multiply(lotSize);
|
||||||
eFond.setQuantity(qty);
|
eFond.setQuantity(qty);
|
||||||
BigDecimal settlementAmount = BigDecimal.ZERO;
|
BigDecimal settlementAmount = BigDecimal.ZERO;
|
||||||
if (udr != null) {
|
if (InstrumentType.DGCT.equalsByKey(security.getInstrumentType())) {
|
||||||
settlementAmount = qty.multiply(eFond.getPrice());
|
settlementAmount = qty.multiply(eFond.getPrice());
|
||||||
} else if (InstrumentType.BOND.equalsByKey(security.getInstrumentType())) {
|
} else if (InstrumentType.BOND.equalsByKey(security.getInstrumentType())) {
|
||||||
FixedIncomeSecurity fixedIncome = (FixedIncomeSecurity) security;
|
FixedIncomeSecurity fixedIncome = (FixedIncomeSecurity) security;
|
||||||
|
|
|
||||||
|
|
@ -6,15 +6,10 @@ import ru.clearing.classes.statics.data.misc.STrades;
|
||||||
import ru.clearing.classes.statics.data.security.DigitalCertificateSecurity;
|
import ru.clearing.classes.statics.data.security.DigitalCertificateSecurity;
|
||||||
import ru.clearing.classes.statics.data.security.Security;
|
import ru.clearing.classes.statics.data.security.Security;
|
||||||
import ru.clearing.classes.statics.data.security.UtilitarianDigitalRight;
|
import ru.clearing.classes.statics.data.security.UtilitarianDigitalRight;
|
||||||
import ru.spcex.clearing.component.predicate.cash.UtilitarianDigitalRightPredicate;
|
|
||||||
import ru.spcex.clearing.error.ClearingError;
|
import ru.spcex.clearing.error.ClearingError;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|
||||||
import ru.spcex.clearing.service.validation.ValidationStored;
|
import ru.spcex.clearing.service.validation.ValidationStored;
|
||||||
import ru.spcex.platform.enumeration.InstrumentType;
|
import ru.spcex.platform.enumeration.InstrumentType;
|
||||||
import ru.spcex.platform.enumeration.NominalTypeCode;
|
import ru.spcex.platform.enumeration.NominalTypeCode;
|
||||||
import ru.spcex.platform.imdg.api.Imdg;
|
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
|
||||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
|
||||||
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2;
|
import ru.spcex.platform.imdg.iml.hazelcast.adapter.CashV2;
|
||||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||||
|
|
@ -40,17 +35,6 @@ public class STradesSecurityDGCTValidationRule implements IValidationRule<ImdgVa
|
||||||
return empty();
|
return empty();
|
||||||
}
|
}
|
||||||
DigitalCertificateSecurity dcs = (DigitalCertificateSecurity) security;
|
DigitalCertificateSecurity dcs = (DigitalCertificateSecurity) security;
|
||||||
Imdg<UtilitarianDigitalRight> udrImdg = ctx.obtainMap(
|
|
||||||
IMDGDistributedNames.Map_UtilitarianDigitalRight, UtilitarianDigitalRight.class
|
|
||||||
);
|
|
||||||
ImdgPredicateBuilder pb = udrImdg.predicateBuilder();
|
|
||||||
ImdgPredicate cashingPredicate = UtilitarianDigitalRightPredicate
|
|
||||||
.getPredicate(security.getId())
|
|
||||||
.cashed(pb, udrCash);
|
|
||||||
UtilitarianDigitalRight udr = udrImdg.getFirstObjectByPredicate(cashingPredicate);
|
|
||||||
if (udr == null) {
|
|
||||||
return of(ClearingError.UtilitarianDigitalRightNotFound, security.getSecuritySymbol());
|
|
||||||
}
|
|
||||||
if (NominalTypeCode.INDX.equalsByKey(dcs.getNominalTypeCode())) {
|
if (NominalTypeCode.INDX.equalsByKey(dcs.getNominalTypeCode())) {
|
||||||
if (!Objects.equals(dcs.getNominalIndexationDate(), validatedObject.getSettleDate())) {
|
if (!Objects.equals(dcs.getNominalIndexationDate(), validatedObject.getSettleDate())) {
|
||||||
return of(ClearingError.UtilitarianDigitalRightNotFound, security.getSecuritySymbol());
|
return of(ClearingError.UtilitarianDigitalRightNotFound, security.getSecuritySymbol());
|
||||||
|
|
@ -63,7 +47,6 @@ public class STradesSecurityDGCTValidationRule implements IValidationRule<ImdgVa
|
||||||
return of(ClearingError.UtilitarianDigitalRightNotFound, security.getSecuritySymbol());
|
return of(ClearingError.UtilitarianDigitalRightNotFound, security.getSecuritySymbol());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ctx.storeObject(ValidationStored.STradesUtilitarianDigitalRight, udr);
|
|
||||||
return empty();
|
return empty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue