This commit is contained in:
parent
040e0e359d
commit
bc02fa7dea
2 changed files with 14 additions and 12 deletions
|
|
@ -259,6 +259,9 @@ public class ValidationConfig {
|
|||
context.addImdg(IMDGDistributedNames.Map_Company, imdgCompany);
|
||||
context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg);
|
||||
context.addImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurityImdg);
|
||||
context.addImdg(IMDGDistributedNames.Map_DigitalCertificateSecurity, digitalCertificateSecurityImdg);
|
||||
context.addImdg(IMDGDistributedNames.Map_CurrencyPairSecurity, currencyPairSecurityImdg);
|
||||
context.addImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, imdgMoneyMarketSecurity);
|
||||
context.setLogPrefix(LogPrefixId.INSTANCE);
|
||||
return new ValidatorImpl<>(context,
|
||||
Sdf08NewValidationRule.AccountPresent, Sdf08NewValidationRule.InstrumentPresent
|
||||
|
|
|
|||
|
|
@ -1,23 +1,21 @@
|
|||
package ru.spcex.clearing.service.validation;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity;
|
||||
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf08;
|
||||
import ru.clearing.classes.statics.data.security.Security;
|
||||
import ru.spcex.clearing.error.ClearingError;
|
||||
import ru.spcex.clearing.error.ClearingErrorInternal;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.predicate.specific.SecuritySelector;
|
||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.text.TextUtil;
|
||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
public enum Sdf08NewValidationRule implements IValidationRule<ImdgValidationContext<SDf08>> {
|
||||
@Deprecated // unused, см. тз по поиску компаний "III - Изменение statement по sDf08" 1.
|
||||
CompanyPresent() {
|
||||
|
|
@ -55,13 +53,14 @@ public enum Sdf08NewValidationRule implements IValidationRule<ImdgValidationCont
|
|||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<SDf08> context) {
|
||||
SDf08 sdf08 = context.getValidatedObject();
|
||||
Imdg<FixedIncomeSecurity> fxIncmSecImdg = context.obtainMap(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class);
|
||||
Imdg<EquitySecurity> equityImdg = context.obtainMap(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class);
|
||||
|
||||
Security security = fxIncmSecImdg.getFirstObjectByFieldValues(Map.of("securitySymbol", sdf08.getSecurityCode()));
|
||||
if (security == null) {
|
||||
security = equityImdg.getFirstObjectByFieldValues(Map.of("securitySymbol", sdf08.getSecurityCode()));
|
||||
}
|
||||
SecuritySelector<Security> slctr = new SecuritySelector<>(
|
||||
context.obtainMap(IMDGDistributedNames.Map_FixedIncomeSecurity, Security.class),
|
||||
context.obtainMap(IMDGDistributedNames.Map_MoneyMarketSecurity, Security.class),
|
||||
context.obtainMap(IMDGDistributedNames.Map_EquitySecurity, Security.class),
|
||||
context.obtainMap(IMDGDistributedNames.Map_CurrencyPairSecurity, Security.class),
|
||||
context.obtainMap(IMDGDistributedNames.Map_DigitalCertificateSecurity, Security.class)
|
||||
);
|
||||
Security security = slctr.selectSecurityBySymbol(sdf08.getSecurityCode());
|
||||
if (security == null) {
|
||||
return of(ClearingError.SecurityNotFound, sdf08.getSecurityCode());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue