This commit is contained in:
AKurakin 2024-08-06 15:24:54 +03:00
parent 730f759908
commit e0d55568fd
3 changed files with 19 additions and 8 deletions

View file

@ -8,6 +8,7 @@ import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.clearing.platform.dictionary.ServiceStatusDictionary; import ru.clearing.platform.dictionary.ServiceStatusDictionary;
import ru.clearing.platform.dictionary.TradingClearingRegistryTypeDictionary;
import ru.spcex.clearing.account.errors.AccountError; import ru.spcex.clearing.account.errors.AccountError;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest; import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
@ -54,6 +55,7 @@ public class TradingClearingRegistryValidationConfig {
addImdg.accept(IMDGDistributedNames.Map_DepoAccount); addImdg.accept(IMDGDistributedNames.Map_DepoAccount);
addImdg.accept(IMDGDistributedNames.Map_InformationAccount); addImdg.accept(IMDGDistributedNames.Map_InformationAccount);
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary); addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary);
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistryTypeDictionary);
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry); addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry);
return new ValidatorImpl<>(context, return new ValidatorImpl<>(context,
IdPresentSpecificRule.instance("companyId", IdPresentSpecificRule.instance("companyId",
@ -127,6 +129,13 @@ public class TradingClearingRegistryValidationConfig {
AccountError.RequiredFieldEmpty, AccountError.RequiredFieldEmpty,
AccountError.DictionaryNotFound, AccountError.DictionaryNotFound,
false), false),
DictionaryPresentRule.instance("tradingClearingRegistryType",
TradingClearingRegistryNewRequest::getTradingClearingRegistryType,
IMDGDistributedNames.Map_TradingClearingRegistryTypeDictionary,
TradingClearingRegistryTypeDictionary.class,
AccountError.RequiredFieldEmpty,
AccountError.DictionaryNotFound,
false),
new newTCRDuplicateCheck() new newTCRDuplicateCheck()
); );
}; };

View file

@ -19,10 +19,7 @@ import ru.clearing.classes.statics.data.company.CompanySymbols;
import ru.clearing.classes.statics.data.misc.Currency; import ru.clearing.classes.statics.data.misc.Currency;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistryList; import ru.clearing.classes.statics.data.registry.TradingClearingRegistryList;
import ru.clearing.platform.dictionary.AccountTypeDictionary; import ru.clearing.platform.dictionary.*;
import ru.clearing.platform.dictionary.ClearingAccountTypeDictionary;
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.clearing.validation.common.ValidationHelper;
import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.classes.base.SpcexObjectBase;
@ -54,6 +51,7 @@ public class ValidationConfig {
addImdg.accept(IMDGDistributedNames.Map_AccountSymbols, AccountSymbols.class); addImdg.accept(IMDGDistributedNames.Map_AccountSymbols, AccountSymbols.class);
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistryList, TradingClearingRegistryList.class); addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistryList, TradingClearingRegistryList.class);
addImdg.accept(IMDGDistributedNames.Map_Currency, Currency.class); addImdg.accept(IMDGDistributedNames.Map_Currency, Currency.class);
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistryTypeDictionary, TradingClearingRegistryTypeDictionary.class);
//for ClientCodeValidationConfig //for ClientCodeValidationConfig
addImdg.accept(IMDGDistributedNames.Map_ClientCode, ClientCode.class); addImdg.accept(IMDGDistributedNames.Map_ClientCode, ClientCode.class);

View file

@ -277,11 +277,15 @@ public class TradingClearingRegistryService extends QueueConsumer implements Ini
tradingClearingRegistry.setStatus(status); tradingClearingRegistry.setStatus(status);
String tradingRegistryType; String tradingRegistryType;
if (depoAccount != null) { if (req.getTradingClearingRegistryType() != null) {
tradingRegistryType = depoAccount.getDepoAccountType(); tradingRegistryType = req.getTradingClearingRegistryType();
} else { } else {
if (clearingAccount != null) tradingRegistryType = clearingAccount.getClearingAccountType(); if (depoAccount != null) {
else tradingRegistryType = TradingClearingRegistryType.Owner_A.getKey(); tradingRegistryType = depoAccount.getDepoAccountType();
} else {
if (clearingAccount != null) tradingRegistryType = clearingAccount.getClearingAccountType();
else tradingRegistryType = TradingClearingRegistryType.Owner_A.getKey();
}
} }
tradingClearingRegistry.setTradingClearingRegistryType(tradingRegistryType); tradingClearingRegistry.setTradingClearingRegistryType(tradingRegistryType);