Merge branch 'meta_4' of http://git.mfd.msk/mfd/clearing into aalehin
Conflicts: clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/AdmittedLiabilitiesRegister.java clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/CoveredLiabilitiesRegister.java clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoPaymentInstructionRegister.java clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExcludeLiabilitiesRegister.java clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/ExecutionRegister.java clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/LiabilitiesRegister.java clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyPaymentInstructionRegister.java platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/MoneyPaymentInstructionRegisterNewRequest.java
This commit is contained in:
commit
59bfa7124e
164 changed files with 5494 additions and 7252 deletions
|
|
@ -6,10 +6,11 @@ import org.springframework.context.annotation.Configuration;
|
|||
import org.springframework.context.annotation.Scope;
|
||||
import ru.spcex.clearing.account.errors.AccountError;
|
||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.clearing.util.services.IMDGMessageResolver;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.platform.enumeration.UserRole;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.clearing.util.services.IMDGMessageResolver;
|
||||
|
||||
@Configuration
|
||||
public class BeanConfiguration {
|
||||
|
|
@ -18,6 +19,12 @@ public class BeanConfiguration {
|
|||
return new IMDGMessageResolver(imdgProvider);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public RequestHelper requestHelper(IMessageResolver messageResolver) {
|
||||
return new RequestHelper(messageResolver, AccountError.GeneralError);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) {
|
||||
|
|
|
|||
|
|
@ -5,18 +5,19 @@ import org.springframework.context.annotation.Configuration;
|
|||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
||||
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||
import ru.spcex.clearing.account.errors.AccountError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.CorrespondentAccountNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.CorrespondentAccountUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||
import ru.spcex.clearing.validation.common.rules.EnumPresentRule;
|
||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
|
|
@ -45,6 +46,7 @@ public class AccountValidationConfig {
|
|||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Account);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary);
|
||||
addImdg.accept(IMDGDistributedNames.Map_AccountTypeDictionary);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("companyId",
|
||||
|
|
@ -69,12 +71,15 @@ public class AccountValidationConfig {
|
|||
if (accounts.isEmpty()) return null;
|
||||
return AccountError.AccountAlreadyExist;
|
||||
}),
|
||||
FieldRequiredRule.instance("status",
|
||||
DictionaryPresentRule.instance("status",
|
||||
CorrespondentAccountNewRequest::getStatus,
|
||||
IMDGDistributedNames.Map_ServiceStatusDictionary,
|
||||
ServiceStatusDictionary.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.WrongFieldValue,
|
||||
false,
|
||||
statusValue -> {
|
||||
if (statusValue == null || AccountStatus.ACTIVE.equalsByKey(statusValue)) return null;
|
||||
if (ServiceStatus.Active.equalsByKey(statusValue.getCode())) return null;
|
||||
return AccountError.WrongFieldValue;
|
||||
}),
|
||||
DictionaryPresentRule.instance("accountType",
|
||||
|
|
@ -127,16 +132,16 @@ public class AccountValidationConfig {
|
|||
error = Objects.equals(company.getId(), correspondentAccountUpdateRequest.getCompanyId()) ? error : AccountError.WrongFieldValue;
|
||||
return error;
|
||||
}),
|
||||
EnumPresentRule.instance("status",
|
||||
DictionaryPresentRule.instance("status",
|
||||
CorrespondentAccountUpdateRequest::getStatus,
|
||||
AccountStatus.values(),
|
||||
false,
|
||||
AccountError.WrongFieldValue,
|
||||
AccountError.RequiredFieldEmpty),
|
||||
IMDGDistributedNames.Map_ServiceStatusDictionary,
|
||||
ServiceStatusDictionary.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.WrongFieldValue),
|
||||
DictionaryPresentRule.instance("accountType",
|
||||
CorrespondentAccountUpdateRequest::getAccountType,
|
||||
IMDGDistributedNames.Map_AccountTypeDictionary,
|
||||
AccountTypeDictionary.class,
|
||||
ServiceStatusDictionary.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.WrongFieldValue,
|
||||
accountType -> {
|
||||
|
|
@ -148,23 +153,23 @@ public class AccountValidationConfig {
|
|||
}
|
||||
|
||||
@Bean("correspondentAccountBlockRequestValidator")
|
||||
public Function<CommonDeleteRequest, IValidator> correspondentAccountBlockRequestValidator(
|
||||
public Function<CommonIdRequest, IValidator> correspondentAccountBlockRequestValidator(
|
||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||
) {
|
||||
return correspondentAccountBlockRequest -> {
|
||||
ImdgValidationContext<CommonDeleteRequest> context = new ImdgValidationContext<>();
|
||||
ImdgValidationContext<CommonIdRequest> context = new ImdgValidationContext<>();
|
||||
context.setValidatedObject(correspondentAccountBlockRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Account);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("id",
|
||||
CommonDeleteRequest::getId,
|
||||
CommonIdRequest::getId,
|
||||
IMDGDistributedNames.Map_Account,
|
||||
Account.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.AccountNotFound,
|
||||
account -> {
|
||||
if (AccountStatus.ACTIVE.equalsByKey(account.getStatus())) return null;
|
||||
if (WorkflowStatus.Active.equalsByKey(account.getStatus())) return null;
|
||||
return AccountError.AccountNotActive;
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -10,13 +10,14 @@ import ru.spcex.clearing.account.errors.AccountError;
|
|||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
|
|
@ -62,7 +63,7 @@ public class BankAccountValidationConfig {
|
|||
);
|
||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Bank.getKey());
|
||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||
accountStatusPredicate,
|
||||
|
|
@ -131,18 +132,18 @@ public class BankAccountValidationConfig {
|
|||
}
|
||||
|
||||
@Bean("bankAccountBlockRequestValidator")
|
||||
public Function<CommonDeleteRequest, IValidator> bankAccountBlockRequestValidator(
|
||||
public Function<CommonIdRequest, IValidator> bankAccountBlockRequestValidator(
|
||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||
) {
|
||||
return bankAccountBlockRequest -> {
|
||||
ImdgValidationContext<CommonDeleteRequest> context = new ImdgValidationContext<>();
|
||||
ImdgValidationContext<CommonIdRequest> context = new ImdgValidationContext<>();
|
||||
context.setValidatedObject(bankAccountBlockRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_BankAccount);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Account);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("id",
|
||||
CommonDeleteRequest::getId,
|
||||
CommonIdRequest::getId,
|
||||
IMDGDistributedNames.Map_BankAccount,
|
||||
BankAccount.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
|||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
|
|
@ -60,7 +60,7 @@ public class ClearingAccountValidationConfig {
|
|||
);
|
||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||
accountStatusPredicate,
|
||||
|
|
@ -102,7 +102,7 @@ public class ClearingAccountValidationConfig {
|
|||
);
|
||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||
accountStatusPredicate,
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import ru.spcex.clearing.platform.messaging.domain.cud.account.DepoAccountNewReq
|
|||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
|
|
@ -56,7 +56,7 @@ public class DepoAccountValidationConfig {
|
|||
);
|
||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||
ImdgPredicate accountValuePredicate = pb.equals("account", accountValue);
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||
accountStatusPredicate,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,144 @@
|
|||
package ru.spcex.clearing.account.config.validation;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||
import ru.spcex.clearing.account.errors.AccountError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryUpdateRequest;
|
||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
|
||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
import ru.spcex.platform.utils.validation.ValidatorImpl;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Configuration
|
||||
public class TradingClearingRegistryValidationConfig {
|
||||
|
||||
@Bean("tradingClearingRegistryNewRequest")
|
||||
public Function<TradingClearingRegistryNewRequest, IValidator> tradingClearingRegistryNewRequestValidator(
|
||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||
) {
|
||||
return tradingClearingRegistryNewRequest -> {
|
||||
ImdgValidationContext<TradingClearingRegistryNewRequest> context = new ImdgValidationContext<>();
|
||||
context.setValidatedObject(tradingClearingRegistryNewRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingAccount);
|
||||
addImdg.accept(IMDGDistributedNames.Map_DepoAccount);
|
||||
addImdg.accept(IMDGDistributedNames.Map_InformationAccount);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("companyId",
|
||||
TradingClearingRegistryNewRequest::getCompanyId,
|
||||
IMDGDistributedNames.Map_Company,
|
||||
Company.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.CompanyNotFound),
|
||||
FieldRequiredRule.instance("moneyAccountId",
|
||||
TradingClearingRegistryNewRequest::getMoneyAccountId,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
moneyAccountId -> {
|
||||
Imdg<ClearingAccount> clearingAccountImdg = context.obtainMap(
|
||||
IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class
|
||||
);
|
||||
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByID(moneyAccountId);
|
||||
if (clearingAccount == null) {
|
||||
Imdg<InformationAccount> informationAccountImdg = context.obtainMap(
|
||||
IMDGDistributedNames.Map_InformationAccount, InformationAccount.class
|
||||
);
|
||||
InformationAccount infoAccount = informationAccountImdg.getSingleObjectByID(moneyAccountId);
|
||||
if (infoAccount == null) return AccountError.AccountNotFound;
|
||||
}
|
||||
return null;
|
||||
}),
|
||||
FieldRequiredRule.instance("depoAccountId",
|
||||
TradingClearingRegistryNewRequest::getDepoAccountId,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
false,
|
||||
depoAccountId -> {
|
||||
if (depoAccountId == null) return null;
|
||||
Imdg<DepoAccount> depoAccountImdg = context.obtainMap(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||
DepoAccount depoAccount = depoAccountImdg.getSingleObjectByID(depoAccountId);
|
||||
if (depoAccount == null) return AccountError.AccountNotFound;
|
||||
return null;
|
||||
}),
|
||||
DictionaryPresentRule.instance("status",
|
||||
TradingClearingRegistryNewRequest::getStatus,
|
||||
IMDGDistributedNames.Map_ServiceStatusDictionary,
|
||||
ServiceStatusDictionary.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.WrongFieldValue,
|
||||
false,
|
||||
statusValue -> {
|
||||
String statusCode = statusValue.getCode();
|
||||
if (ServiceStatus.Active.equalsByKey(statusCode)) return null;
|
||||
return AccountError.WrongFieldValue;
|
||||
})
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
@Bean("tradingClearingRegistryUpdateRequest")
|
||||
public Function<TradingClearingRegistryUpdateRequest, IValidator> tradingClearingRegistryUpdateRequestValidator(
|
||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||
) {
|
||||
return tradingClearingRegistryUpdateRequest -> {
|
||||
ImdgValidationContext<TradingClearingRegistryUpdateRequest> context = new ImdgValidationContext<>();
|
||||
context.setValidatedObject(tradingClearingRegistryUpdateRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary);
|
||||
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("id",
|
||||
TradingClearingRegistryUpdateRequest::getId,
|
||||
IMDGDistributedNames.Map_TradingClearingRegistry,
|
||||
TradingClearingRegistry.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.TradingClearingRegistryNotFound),
|
||||
DictionaryPresentRule.instance("status",
|
||||
TradingClearingRegistryUpdateRequest::getStatus,
|
||||
IMDGDistributedNames.Map_ServiceStatusDictionary,
|
||||
ServiceStatusDictionary.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.WrongFieldValue,
|
||||
false)
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
@Bean("tradingClearingRegistryBlockRequest")
|
||||
public Function<CommonIdRequest, IValidator> tradingClearingRegistryBlockRequestValidator(
|
||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||
) {
|
||||
return tradingClearingRegistryBlockRequest -> {
|
||||
ImdgValidationContext<CommonIdRequest> context = new ImdgValidationContext<>();
|
||||
context.setValidatedObject(tradingClearingRegistryBlockRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("id",
|
||||
CommonIdRequest::getId,
|
||||
IMDGDistributedNames.Map_TradingClearingRegistry,
|
||||
TradingClearingRegistry.class,
|
||||
AccountError.RequiredFieldEmpty,
|
||||
AccountError.TradingClearingRegistryNotFound)
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -3,15 +3,14 @@ package ru.spcex.clearing.account.config.validation;
|
|||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.account.BankAccount;
|
||||
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||
import ru.clearing.classes.statics.data.account.*;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
||||
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.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
|
@ -40,6 +39,9 @@ public class ValidationConfig {
|
|||
addImdg.accept(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_CurrencyCodeDictionary, CurrencyCodeDictionary.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class);
|
||||
|
||||
return imdg;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.account.errors;
|
|||
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
||||
|
||||
public enum AccountError implements IErrorEnumId {
|
||||
GeneralError(5000L),
|
||||
UserVerifyDenial(5001L),
|
||||
RequiredFieldEmpty(5002L),
|
||||
WrongFieldValue(5004L),
|
||||
|
|
@ -12,7 +13,11 @@ public enum AccountError implements IErrorEnumId {
|
|||
CompanyNotFound(5013L),
|
||||
CompanyNotActive(5014L),
|
||||
InfoAccountAlreadyExist(5015L),
|
||||
ClearingCategoryNotFound(5019L)
|
||||
TradingClearingRegistryAlreadyExist(5016L),
|
||||
DepoAccountNotFound(5017L),
|
||||
MoneyAccountNotFound(5018L),
|
||||
ClearingCategoryNotFound(5019L),
|
||||
TradingClearingRegistryNotFound(5022L),
|
||||
;
|
||||
|
||||
private final Long id;
|
||||
|
|
|
|||
|
|
@ -21,15 +21,15 @@ import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdf0
|
|||
import ru.spcex.clearing.platform.messaging.domain.cud.account.sdf01.AccountSdfRequestPart;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.balance.AccountSdfToStatementRequestPart;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
|
|
@ -57,7 +57,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
|||
private final ValidationHelper validationHelper;
|
||||
private final Function<CorrespondentAccountNewRequest, IValidator> accountNewRequestValidator;
|
||||
private final Function<CorrespondentAccountUpdateRequest, IValidator> accountUpdateRequestValidator;
|
||||
private final Function<CommonDeleteRequest, IValidator> accountBlockRequestValidator;
|
||||
private final Function<CommonIdRequest, IValidator> accountBlockRequestValidator;
|
||||
|
||||
@Autowired
|
||||
public AccountService(Consumer<String, Object> kafkaQueue,
|
||||
|
|
@ -72,7 +72,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
|||
@Qualifier("correspondentAccountUpdateRequestValidator")
|
||||
Function<CorrespondentAccountUpdateRequest, IValidator> accountUpdateRequestValidator,
|
||||
@Qualifier("correspondentAccountBlockRequestValidator")
|
||||
Function<CommonDeleteRequest, IValidator> accountBlockRequestValidator) {
|
||||
Function<CommonIdRequest, IValidator> accountBlockRequestValidator) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.accountMap = imdgProvider.getImdg(
|
||||
IMDGDistributedNames.Map_Account, Account.class
|
||||
|
|
@ -103,7 +103,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
|||
callback(CorrespondentAccountUpdateRequest.class)
|
||||
.setConsumer(this::correspondentAccountUpdate)
|
||||
.forDestination(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_UPDATE, callbacks::put);
|
||||
callback(CommonDeleteRequest.class)
|
||||
callback(CommonIdRequest.class)
|
||||
.setConsumer(this::correspondentAccountBlock)
|
||||
.forDestination(Consts.DESTINATION_CORRESPONDENT_ACCOUNT_BLOCK, callbacks::put);
|
||||
init();
|
||||
|
|
@ -161,7 +161,7 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
|||
return null;
|
||||
}
|
||||
|
||||
public RequestInfoUpdate correspondentAccountBlock(BaseRequest<CommonDeleteRequest> userRequest) {
|
||||
public RequestInfoUpdate correspondentAccountBlock(BaseRequest<CommonIdRequest> userRequest) {
|
||||
log.debug("AccountBlockRequest received");
|
||||
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||
|
|
@ -170,10 +170,10 @@ public class AccountService extends QueueConsumer implements InitializingBean {
|
|||
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, accountBlockRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
CommonDeleteRequest request = userRequest.getRequestPayload();
|
||||
CommonIdRequest request = userRequest.getRequestPayload();
|
||||
|
||||
Account account = accountMap.getSingleObjectByID(request.getId());
|
||||
account.setStatus(AccountStatus.BLOCKED.getKey());
|
||||
account.setStatus(ServiceStatus.Blocked.getKey());
|
||||
account.setUpdated(Instant.now());
|
||||
|
||||
accountMap.update(account);
|
||||
|
|
|
|||
|
|
@ -15,13 +15,13 @@ import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
|||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
|
|
@ -44,7 +44,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
|||
|
||||
private final Function<BankAccountNewRequest, IValidator> bankAccountNewRequestValidator;
|
||||
private final Function<BankAccountUpdateRequest, IValidator> bankAccountUpdateRequestValidator;
|
||||
private final Function<CommonDeleteRequest, IValidator> bankAccountBlockRequestValidator;
|
||||
private final Function<CommonIdRequest, IValidator> bankAccountBlockRequestValidator;
|
||||
|
||||
@Autowired
|
||||
public BankAccountService(Consumer<String, Object> kafkaQueue,
|
||||
|
|
@ -58,7 +58,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
|||
@Qualifier("bankAccountUpdateRequestValidator")
|
||||
Function<BankAccountUpdateRequest, IValidator> bankAccountUpdateRequestValidator,
|
||||
@Qualifier("bankAccountBlockRequestValidator")
|
||||
Function<CommonDeleteRequest, IValidator> bankAccountBlockRequestValidator) {
|
||||
Function<CommonIdRequest, IValidator> bankAccountBlockRequestValidator) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.bankAccountMap = imdgProvider.getImdg(IMDGDistributedNames.Map_BankAccount, BankAccount.class);
|
||||
this.accountMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||
|
|
@ -79,7 +79,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
|||
callback(BankAccountUpdateRequest.class)
|
||||
.setFunction(this::bankAccountUpdate)
|
||||
.forDestination(Consts.DESTINATION_BANK_ACCOUNT_UPDATE, callbacks::put);
|
||||
callback(CommonDeleteRequest.class)
|
||||
callback(CommonIdRequest.class)
|
||||
.setFunction(this::bankAccountBlock)
|
||||
.forDestination(Consts.DESTINATION_BANK_ACCOUNT_BLOCK, callbacks::put);
|
||||
init();
|
||||
|
|
@ -101,7 +101,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
|||
Account account = new Account();
|
||||
account.setAccount(req.getAccount());
|
||||
account.setAccountType(AccountType.Bank.getKey());
|
||||
account.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
account.setStatus(ServiceStatus.Active.getKey());
|
||||
account.setCompanyId(req.getCompanyId());
|
||||
account.setCreated(now);
|
||||
account.setUpdated(now);
|
||||
|
|
@ -194,8 +194,8 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
|||
return null;
|
||||
}
|
||||
|
||||
private RequestInfoUpdate bankAccountBlock(BaseRequest<CommonDeleteRequest> userRequest) {
|
||||
CommonDeleteRequest req = userRequest.getRequestPayload();
|
||||
private RequestInfoUpdate bankAccountBlock(BaseRequest<CommonIdRequest> userRequest) {
|
||||
CommonIdRequest req = userRequest.getRequestPayload();
|
||||
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
|
@ -203,11 +203,11 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
|||
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, bankAccountBlockRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
log.debug("CommonDeleteRequest received id = {}", req.getId());
|
||||
log.debug("CommonIdRequest received id = {}", req.getId());
|
||||
BankAccount bankAccount = bankAccountMap.getSingleObjectByID(req.getId());
|
||||
|
||||
Account account = accountMap.getSingleObjectByID(bankAccount.getAccountId());
|
||||
account.setStatus(AccountStatus.BLOCKED.getKey());
|
||||
account.setStatus(ServiceStatus.Blocked.getKey());
|
||||
account.setUpdated(Instant.now());
|
||||
|
||||
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
||||
|
|
@ -224,7 +224,6 @@ public class BankAccountService extends QueueConsumer implements InitializingBea
|
|||
bankAccount.getId(),
|
||||
account.getId());
|
||||
} else {
|
||||
// todo выяснить, что возвращать из метода в этой ситуации
|
||||
log.debug("failed block, bank account id {}, new account id {}",
|
||||
bankAccount.getId(),
|
||||
account.getId());
|
||||
|
|
|
|||
|
|
@ -16,18 +16,19 @@ import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
|||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.ClearingAccountUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
|
|
@ -38,33 +39,39 @@ import java.util.function.Function;
|
|||
@Service
|
||||
public class ClearingAccountService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final KafkaSender kafkaSender;
|
||||
private final AccountService accountService;
|
||||
private final ValidationHelper validationHelper;
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final Imdg<Account> accountImdg;
|
||||
private final Imdg<ClearingAccount> clearingAccountImdg;
|
||||
private final IMessageResolver messageResolver;
|
||||
private final RequestHelper requestHelper;
|
||||
private final Function<ClearingAccountNewRequest, IValidator> clearingAccountNewRequestValidator;
|
||||
private final Function<ClearingAccountUpdateRequest, IValidator> clearingAccountUpdateRequestValidator;
|
||||
|
||||
@Autowired
|
||||
public ClearingAccountService(Consumer<String, Object> kafkaQueue,
|
||||
Producer<String, Object> kafkaResponseQueue,
|
||||
KafkaSender kafkaSender,
|
||||
AccountService accountService,
|
||||
ValidationHelper validationHelper,
|
||||
ImdgProvider imdgProvider,
|
||||
IMessageResolver messageResolver,
|
||||
RequestHelper requestHelper,
|
||||
@Qualifier("clearingAccountNewRequestValidator")
|
||||
Function<ClearingAccountNewRequest, IValidator> clearingAccountNewRequestValidator,
|
||||
@Qualifier("clearingAccountUpdateRequestValidator")
|
||||
Function<ClearingAccountUpdateRequest, IValidator> clearingAccountUpdateRequestValidator) {
|
||||
super(kafkaQueue, kafkaResponseQueue);
|
||||
this.kafkaSender = kafkaSender;
|
||||
this.accountService = accountService;
|
||||
this.validationHelper = validationHelper;
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||
this.clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||
this.messageResolver = messageResolver;
|
||||
this.requestHelper = requestHelper;
|
||||
this.clearingAccountNewRequestValidator = clearingAccountNewRequestValidator;
|
||||
this.clearingAccountUpdateRequestValidator = clearingAccountUpdateRequestValidator;
|
||||
}
|
||||
|
|
@ -92,7 +99,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
Account account = new Account();
|
||||
account.setAccount(req.getAccount());
|
||||
account.setAccountType(AccountType.Clrn.getKey());
|
||||
account.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
account.setStatus(ServiceStatus.Active.getKey());
|
||||
account.setCompanyId(req.getCompanyId());
|
||||
account.setCreated(now);
|
||||
account.setUpdated(now);
|
||||
|
|
@ -104,10 +111,11 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
||||
boolean txOk = false;
|
||||
imdgTransaction.beginTransaction();
|
||||
ClearingAccount clearingAccount = null;
|
||||
try {
|
||||
accountId = accountImdg.insert(account);
|
||||
|
||||
ClearingAccount clearingAccount = new ClearingAccount();
|
||||
clearingAccount = new ClearingAccount();
|
||||
clearingAccount.setCompanyId(req.getCompanyId());
|
||||
clearingAccount.setAccountId(accountId);
|
||||
clearingAccount.setClearingAccountType(req.getClearingAccountType());
|
||||
|
|
@ -116,9 +124,12 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
} finally {
|
||||
if (txOk) {
|
||||
imdgTransaction.commitTransaction();
|
||||
TradingClearingRegistryNewRequest request = new TradingClearingRegistryNewRequest();
|
||||
request.setMoneyAccountId(accountId);
|
||||
request.setCompanyId(clearingAccount.getCompanyId());
|
||||
kafkaSender.sendRequestToQueue(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, request);
|
||||
log.debug("successfully processed, new clearing account id {}, account id {}", clearingAccountId, accountId);
|
||||
} else {
|
||||
// todo выяснить, что возвращать из метода в этой ситуации
|
||||
log.debug("failed insert, new clearing account id {}, new account id {} (if id = -1 then insert is failed)",
|
||||
clearingAccountId,
|
||||
accountId);
|
||||
|
|
@ -137,7 +148,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
ClearingAccountUpdateRequest req = userRequest.getRequestPayload();
|
||||
ImdgPredicateBuilder pb = accountImdg.predicateBuilder();
|
||||
ImdgPredicate accountValuePredicate = pb.equals("account", req.getAccount());
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", AccountStatus.ACTIVE.getKey());
|
||||
ImdgPredicate accountStatusPredicate = pb.equals("status", ServiceStatus.Active.getKey());
|
||||
ImdgPredicate accountTypePredicate = pb.equals("accountType", AccountType.Clrn.getKey());
|
||||
ImdgPredicate finalPredicate = pb.and(accountValuePredicate,
|
||||
accountStatusPredicate,
|
||||
|
|
@ -147,18 +158,13 @@ public class ClearingAccountService extends QueueConsumer implements Initializin
|
|||
Long accountId = account.getId();
|
||||
|
||||
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByFieldValues(Map.of("accountId", accountId));
|
||||
if (clearingAccount == null) {
|
||||
String errMsg = messageResolver.resolve(new EnumMessage(AccountError.AccountNotFound, account.getAccount()));
|
||||
return new RequestInfoUpdate()
|
||||
.setId(userRequest.getId())
|
||||
.setStatus(Status.Error)
|
||||
.setMessage(errMsg);
|
||||
}
|
||||
if (clearingAccount == null)
|
||||
return requestHelper.makeErrorResponse(userRequest, AccountError.AccountNotFound, account.getAccount());
|
||||
|
||||
Integer statusValue = req.getStatus();
|
||||
if (statusValue == 0) account.setStatus(AccountStatus.BLOCKED.getKey());
|
||||
else if (statusValue == 1) account.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
else if (statusValue == 2) account.setStatus(AccountStatus.CLOSE.getKey());
|
||||
if (statusValue == 0) account.setStatus(ServiceStatus.Blocked.getKey());
|
||||
else if (statusValue == 1) account.setStatus(ServiceStatus.Active.getKey());
|
||||
else if (statusValue == 2) account.setStatus(ServiceStatus.Closed.getKey());
|
||||
account.setUpdated(Instant.now());
|
||||
|
||||
accountImdg.update(account);
|
||||
|
|
|
|||
|
|
@ -13,11 +13,13 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.DepoAccountNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
|
|
@ -30,6 +32,7 @@ import java.util.function.Function;
|
|||
public class DepoAccountService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final KafkaSender kafkaSender;
|
||||
private final ValidationHelper validationHelper;
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final AccountService accountService;
|
||||
|
|
@ -39,12 +42,14 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
|||
|
||||
public DepoAccountService(Consumer<String, Object> kafkaQueue,
|
||||
Producer<String, Object> kafkaProducer,
|
||||
KafkaSender kafkaSender,
|
||||
ValidationHelper validationHelper,
|
||||
ImdgProvider imdgProvider,
|
||||
AccountService accountService,
|
||||
@Qualifier("depoAccountNewRequestValidator")
|
||||
Function<DepoAccountNewRequest, IValidator> depoAccountNewRequestValidator) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.kafkaSender = kafkaSender;
|
||||
this.validationHelper = validationHelper;
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.accountService = accountService;
|
||||
|
|
@ -74,7 +79,7 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
|||
Account account = new Account();
|
||||
account.setAccount(req.getAccount());
|
||||
account.setAccountType(AccountType.Depo.getKey());
|
||||
account.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
account.setStatus(ServiceStatus.Active.getKey());
|
||||
account.setCompanyId(req.getCompanyId());
|
||||
account.setCreated(now);
|
||||
account.setUpdated(now);
|
||||
|
|
@ -86,10 +91,11 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
|||
ImdgTransaction imdgTransaction = imdgProvider.newTransaction();
|
||||
boolean txOk = false;
|
||||
imdgTransaction.beginTransaction();
|
||||
DepoAccount depoAccount = null;
|
||||
try {
|
||||
accountId = accountImdg.insert(account);
|
||||
|
||||
DepoAccount depoAccount = new DepoAccount();
|
||||
depoAccount = new DepoAccount();
|
||||
depoAccount.setCompanyId(req.getCompanyId());
|
||||
depoAccount.setAccountId(accountId);
|
||||
depoAccount.setDepoAccountType(req.getDepoAccountType());
|
||||
|
|
@ -98,9 +104,12 @@ public class DepoAccountService extends QueueConsumer implements InitializingBea
|
|||
} finally {
|
||||
if (txOk) {
|
||||
imdgTransaction.commitTransaction();
|
||||
TradingClearingRegistryNewRequest request = new TradingClearingRegistryNewRequest();
|
||||
request.setDepoAccountId(accountId);
|
||||
request.setCompanyId(depoAccount.getCompanyId());
|
||||
kafkaSender.sendRequestToQueue(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, request);
|
||||
log.debug("successfully processed, new depo account id {}, account id {}", depoAccountId, accountId);
|
||||
} else {
|
||||
// todo выяснить, что возвращать из метода в этой ситуации
|
||||
log.debug("failed insert, new depo account id {}, new account id {} (if id = -1 then insert is failed)",
|
||||
depoAccountId,
|
||||
accountId);
|
||||
|
|
|
|||
|
|
@ -15,18 +15,19 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
|||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.account.InformationAccountNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.AccountStatus;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
|
|
@ -37,10 +38,12 @@ import java.util.function.Function;
|
|||
@Service
|
||||
public class InformationAccountService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final KafkaSender kafkaSender;
|
||||
private final IMessageResolver messageResolver;
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final ValidationHelper validationHelper;
|
||||
private final AccountService accountService;
|
||||
private final RequestHelper requestHelper;
|
||||
private final Function<InformationAccountNewRequest, IValidator> infoAccountNewRequestValidator;
|
||||
private final Imdg<InformationAccount> informationAccountImdg;
|
||||
private final Imdg<Account> accountImdg;
|
||||
|
|
@ -48,17 +51,21 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
|||
@Autowired
|
||||
public InformationAccountService(Consumer<String, Object> kafkaQueue,
|
||||
Producer<String, Object> kafkaResponseQueue,
|
||||
KafkaSender kafkaSender,
|
||||
IMessageResolver messageResolver,
|
||||
ImdgProvider imdgProvider,
|
||||
ValidationHelper validationHelper,
|
||||
AccountService accountService,
|
||||
RequestHelper requestHelper,
|
||||
@Qualifier("informationAccountNewRequestValidator")
|
||||
Function<InformationAccountNewRequest, IValidator> infoAccountNewRequestValidator) {
|
||||
super(kafkaQueue, kafkaResponseQueue);
|
||||
this.kafkaSender = kafkaSender;
|
||||
this.messageResolver = messageResolver;
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.validationHelper = validationHelper;
|
||||
this.accountService = accountService;
|
||||
this.requestHelper = requestHelper;
|
||||
this.infoAccountNewRequestValidator = infoAccountNewRequestValidator;
|
||||
this.informationAccountImdg = imdgProvider.getImdg(
|
||||
IMDGDistributedNames.Map_InformationAccount, InformationAccount.class
|
||||
|
|
@ -91,11 +98,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
|||
ImdgPredicate andPredicate = accountPredicateBuilder.and(companyIdPredicate, accountTypePredicate);
|
||||
Collection<Account> accountsAnlt = accountImdg.getCollectionObjectsByPredicate(andPredicate);
|
||||
if (accountsAnlt.isEmpty()) {
|
||||
String errMsg = messageResolver.resolve(new EnumMessage(AccountError.WrongFieldValue, "clearingAccountId"));
|
||||
return new RequestInfoUpdate()
|
||||
.setId(userRequest.getId())
|
||||
.setStatus(Status.Error)
|
||||
.setMessage(errMsg);
|
||||
return requestHelper.makeErrorResponse(userRequest, AccountError.WrongFieldValue, "clearingAccountId");
|
||||
} else if (accountsAnlt.size() > 1) {
|
||||
log.warn("Account for companyId 1 and accountType=ANLT contains multiply elements, use first");
|
||||
}
|
||||
|
|
@ -105,7 +108,7 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
|||
Account account = new Account();
|
||||
account.setAccount(accountValue);
|
||||
account.setAccountType(AccountType.Info.getKey());
|
||||
account.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
account.setStatus(ServiceStatus.Active.getKey());
|
||||
account.setCompanyId(userRequest.getRequestPayload().getCompanyId());
|
||||
account.setCreated(now);
|
||||
account.setUpdated(now);
|
||||
|
|
@ -117,10 +120,11 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
|||
boolean txOk = false;
|
||||
Long informationAccountId = -1L;
|
||||
Long accountId = -1L;
|
||||
InformationAccount informationAccount = null;
|
||||
try {
|
||||
accountId = accountImdg.insert(account);
|
||||
|
||||
InformationAccount informationAccount = new InformationAccount();
|
||||
informationAccount = new InformationAccount();
|
||||
informationAccount.setId(newId);
|
||||
informationAccount.setAccountId(accountId);
|
||||
informationAccount.setClearingAccountId(anltAccount.getId());
|
||||
|
|
@ -130,11 +134,14 @@ public class InformationAccountService extends QueueConsumer implements Initiali
|
|||
} finally {
|
||||
if (txOk) {
|
||||
imdgTransaction.commitTransaction();
|
||||
TradingClearingRegistryNewRequest request = new TradingClearingRegistryNewRequest();
|
||||
request.setMoneyAccountId(informationAccountId);
|
||||
request.setCompanyId(informationAccount.getCompanyId());
|
||||
kafkaSender.sendRequestToQueue(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, request);
|
||||
log.debug("successfully processed, new information account id {}, new account id {}",
|
||||
informationAccountId,
|
||||
accountId);
|
||||
} else {
|
||||
// todo выяснить, что возвращать из метода в этой ситуации
|
||||
log.debug("failed insert, new information account id {}, new account id {} (if id = -1 then insert is failed)",
|
||||
informationAccountId,
|
||||
accountId);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,359 @@
|
|||
package ru.spcex.clearing.account.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.spcex.clearing.account.errors.AccountError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.AccountType;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.TradingClearingRegistryPurpose;
|
||||
import ru.spcex.platform.enumeration.TradingClearingRegistryType;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Service
|
||||
public class TradingClearingRegistryService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private final ValidationHelper validationHelper;
|
||||
private final UserRoleVerification userRoleVerification;
|
||||
|
||||
private final Imdg<TradingClearingRegistry> tradingClearingRegistryImdg;
|
||||
private final Imdg<DepoAccount> depoAccountImdg;
|
||||
private final Imdg<ClearingAccount> clearingAccountImdg;
|
||||
private final Imdg<InformationAccount> informationAccountImdg;
|
||||
private final Imdg<Account> accountImdg;
|
||||
private final Imdg<Company> companyImdg;
|
||||
private final Imdg<Relation> relationImdg;
|
||||
|
||||
private final Function<TradingClearingRegistryUpdateRequest, IValidator> tradingClearingRegistryUpdateRequestValidator;
|
||||
private final RequestHelper requestHelper;
|
||||
private final Function<TradingClearingRegistryNewRequest, IValidator> tradingClearingRegistryNewRequestValidator;
|
||||
private final Function<CommonIdRequest, IValidator> tradingClearingRegistryBlockRequestValidator;
|
||||
|
||||
private final IMessageResolver messageResolver;
|
||||
|
||||
public TradingClearingRegistryService(Consumer<String, Object> kafkaQueue,
|
||||
Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider,
|
||||
ValidationHelper validationHelper,
|
||||
UserRoleVerification userRoleVerification,
|
||||
IMessageResolver messageResolver,
|
||||
RequestHelper requestHelper,
|
||||
@Qualifier("tradingClearingRegistryNewRequest")
|
||||
Function<TradingClearingRegistryNewRequest, IValidator> tradingClearingRegistryNewRequestValidator,
|
||||
@Qualifier("tradingClearingRegistryUpdateRequest")
|
||||
Function<TradingClearingRegistryUpdateRequest, IValidator> tradingClearingRegistryUpdateRequestValidator,
|
||||
@Qualifier("tradingClearingRegistryBlockRequest")
|
||||
Function<CommonIdRequest, IValidator> tradingClearingRegistryBlockRequestValidator) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.validationHelper = validationHelper;
|
||||
this.userRoleVerification = userRoleVerification;
|
||||
this.requestHelper = requestHelper;
|
||||
this.tradingClearingRegistryNewRequestValidator = tradingClearingRegistryNewRequestValidator;
|
||||
this.tradingClearingRegistryImdg = imdgProvider.getImdg(
|
||||
IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class
|
||||
);
|
||||
this.depoAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_DepoAccount, DepoAccount.class);
|
||||
this.clearingAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class);
|
||||
this.informationAccountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_InformationAccount, InformationAccount.class);
|
||||
this.companyImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
this.accountImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
|
||||
this.relationImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
this.tradingClearingRegistryUpdateRequestValidator = tradingClearingRegistryUpdateRequestValidator;
|
||||
this.tradingClearingRegistryBlockRequestValidator = tradingClearingRegistryBlockRequestValidator;
|
||||
this.messageResolver = messageResolver;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
init();
|
||||
callback(TradingClearingRegistryNewRequest.class)
|
||||
.setConsumer(this::tradingClearingRegistryAutoNew)
|
||||
.forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_AUTO_NEW, callbacks::put);
|
||||
callback(TradingClearingRegistryNewRequest.class)
|
||||
.setConsumer(this::tradingClearingRegistryNew)
|
||||
.forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW, callbacks::put);
|
||||
callback(TradingClearingRegistryUpdateRequest.class)
|
||||
.setConsumer(this::tradingClearingRegistryUpdate)
|
||||
.forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE, callbacks::put);
|
||||
callback(CommonIdRequest.class)
|
||||
.setConsumer(this::tradingClearingRegistryBlock)
|
||||
.forDestination(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK, callbacks::put);
|
||||
}
|
||||
|
||||
public RequestInfoUpdate tradingClearingRegistryAutoNew(BaseRequest<TradingClearingRegistryNewRequest> userRequest) {
|
||||
log.debug("TradingClearingRegistryNewRequest received");
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, tradingClearingRegistryNewRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
TradingClearingRegistryNewRequest req = userRequest.getRequestPayload();
|
||||
|
||||
Long id = tradingClearingRegistryImdg.nextIDSequenceFor();
|
||||
TradingClearingRegistry tradingClearingRegistry = new TradingClearingRegistry();
|
||||
tradingClearingRegistry.setId(id);
|
||||
tradingClearingRegistry.setCompanyId(req.getCompanyId());
|
||||
tradingClearingRegistry.setMoneyAccountId(req.getMoneyAccountId());
|
||||
tradingClearingRegistry.setDepoAaccountId(req.getDepoAccountId());
|
||||
|
||||
DepoAccount depoAccount = req.getDepoAccountId() != null ? depoAccountImdg.getSingleObjectByID(req.getDepoAccountId()) : null;
|
||||
Account depoAccountMain = depoAccount != null ? accountImdg.getSingleObjectByID(depoAccount.getAccountId()) : null;
|
||||
|
||||
InformationAccount infoAccount = null;
|
||||
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByID(req.getMoneyAccountId());
|
||||
if (clearingAccount == null) infoAccount = informationAccountImdg.getSingleObjectByID(req.getMoneyAccountId());
|
||||
Long accountId = clearingAccount != null ? clearingAccount.getAccountId() : infoAccount.getAccountId();
|
||||
Account accountMain = accountImdg.getSingleObjectByID(accountId);
|
||||
|
||||
|
||||
// TODO
|
||||
// Проверка выглядит очень сложно и запутанно, потому что репортеры сами не до конца понимают, какая она должна быть.
|
||||
// Пока что она соответствует ТЗ, но возможно будет правиться, поэтому расписана без выноса кода в методы и
|
||||
// прочих методов сокращения кода. В дальнейшем, после тестирования и окончательного выяснения вида проверки,
|
||||
// её стоит вынести на этап валидации запроса.
|
||||
Relation relation = relationImdg.getSingleObjectByFieldValues(Map.of("consumerId", req.getCompanyId()));
|
||||
if (ru.spcex.platform.enumeration.Service.MKR.equalsByKey(relation.getService())) {
|
||||
TradingClearingRegistry registry = tradingClearingRegistryImdg.getSingleObjectByFieldValues(Map.of("companyId", req.getCompanyId()));
|
||||
if (registry != null) {
|
||||
return requestHelper.makeErrorResponse(userRequest,
|
||||
AccountError.TradingClearingRegistryAlreadyExist,
|
||||
req.getCompanyId(),
|
||||
registry.getId());
|
||||
}
|
||||
DepoAccount depoAccountForCheck = depoAccountImdg.getSingleObjectByFieldValues(Map.of("companyId", req.getCompanyId()));
|
||||
if (depoAccountForCheck == null)
|
||||
return requestHelper.makeErrorResponse(userRequest, AccountError.DepoAccountNotFound, req.getCompanyId());
|
||||
} else if (ru.spcex.platform.enumeration.Service.FOND.equalsByKey(relation.getService())) {
|
||||
if (AccountType.Info.equalsByKey(accountMain.getStatus())) {
|
||||
TradingClearingRegistry registry = tradingClearingRegistryImdg.getSingleObjectByFieldValues(Map.of(
|
||||
"companyId", req.getCompanyId(),
|
||||
"tradingClearingRegistryType", TradingClearingRegistryPurpose.M.getKey()
|
||||
));
|
||||
if (registry != null) {
|
||||
return requestHelper.makeErrorResponse(userRequest,
|
||||
AccountError.TradingClearingRegistryAlreadyExist,
|
||||
req.getCompanyId(),
|
||||
registry.getId());
|
||||
}
|
||||
DepoAccount depoAccountForCheck = depoAccountImdg.getSingleObjectByFieldValues(Map.of("companyId", req.getCompanyId()));
|
||||
if (depoAccountForCheck == null)
|
||||
return requestHelper.makeErrorResponse(userRequest, AccountError.DepoAccountNotFound, req.getCompanyId());
|
||||
} else if (AccountType.Clrn.equalsByKey(accountMain.getStatus())) {
|
||||
ImdgPredicateBuilder imdgPredicateBuilder = tradingClearingRegistryImdg.predicateBuilder();
|
||||
ImdgPredicate predicate = imdgPredicateBuilder.and(
|
||||
imdgPredicateBuilder.equals("companyId", req.getCompanyId()),
|
||||
imdgPredicateBuilder.or(
|
||||
imdgPredicateBuilder.equals("tradingClearingRegistryPurpose", TradingClearingRegistryPurpose.M.getKey()),
|
||||
imdgPredicateBuilder.equals("tradingClearingRegistryPurpose", TradingClearingRegistryPurpose.C.getKey())
|
||||
)
|
||||
);
|
||||
Collection<TradingClearingRegistry> registry = tradingClearingRegistryImdg.getCollectionObjectsByPredicate(predicate);
|
||||
if (!registry.isEmpty()) {
|
||||
return requestHelper.makeErrorResponse(userRequest,
|
||||
AccountError.TradingClearingRegistryAlreadyExist,
|
||||
req.getCompanyId(),
|
||||
registry.iterator().next().getId());
|
||||
}
|
||||
DepoAccount depoAccountForCheck = depoAccountImdg.getSingleObjectByFieldValues(Map.of("companyId", req.getCompanyId()));
|
||||
if (depoAccountForCheck == null) {
|
||||
return requestHelper.makeErrorResponse(userRequest, AccountError.DepoAccountNotFound, req.getCompanyId());
|
||||
}
|
||||
} else if (AccountType.Depo.equalsByKey(accountMain.getStatus())) {
|
||||
InformationAccount infoAccountForCheck = informationAccountImdg.getSingleObjectByFieldValues(
|
||||
Map.of("companyId", req.getCompanyId())
|
||||
);
|
||||
ClearingAccount clearingAccountForCheck = clearingAccountImdg.getSingleObjectByFieldValues(
|
||||
Map.of("companyId", req.getCompanyId())
|
||||
);
|
||||
if (infoAccountForCheck == null && clearingAccountForCheck == null)
|
||||
return requestHelper.makeErrorResponse(userRequest, AccountError.MoneyAccountNotFound, req.getCompanyId());
|
||||
}
|
||||
}
|
||||
|
||||
List<String> activeStatuses = Arrays.asList(ServiceStatus.Active.getKey(), ServiceStatus.Reopened.getKey());
|
||||
String status = null;
|
||||
if (depoAccountMain != null && depoAccountMain.getStatus() != null) {
|
||||
if (activeStatuses.contains(depoAccountMain.getStatus()) && activeStatuses.contains(accountMain.getStatus()))
|
||||
status = ServiceStatus.Active.getKey();
|
||||
if (depoAccountMain.getStatus().equals(ServiceStatus.Blocked.getKey()) || accountMain.getStatus().equals(ServiceStatus.Blocked.getKey()))
|
||||
status = ServiceStatus.Blocked.getKey();
|
||||
if (depoAccountMain.getStatus().equals(ServiceStatus.Suspended.getKey()) || accountMain.getStatus().equals(ServiceStatus.Suspended.getKey()))
|
||||
status = ServiceStatus.Suspended.getKey();
|
||||
if (depoAccountMain.getStatus().equals(ServiceStatus.Closed.getKey()) || accountMain.getStatus().equals(ServiceStatus.Closed.getKey()))
|
||||
status = ServiceStatus.Closed.getKey();
|
||||
} else if (accountMain.getStatus() != null) {
|
||||
if (activeStatuses.contains(accountMain.getStatus()))
|
||||
status = ServiceStatus.Active.getKey();
|
||||
if (accountMain.getStatus().equals(ServiceStatus.Blocked.getKey()))
|
||||
status = ServiceStatus.Blocked.getKey();
|
||||
if (accountMain.getStatus().equals(ServiceStatus.Suspended.getKey()))
|
||||
status = ServiceStatus.Suspended.getKey();
|
||||
if (accountMain.getStatus().equals(ServiceStatus.Closed.getKey()))
|
||||
status = ServiceStatus.Closed.getKey();
|
||||
}
|
||||
if (status == null)
|
||||
return requestHelper.makeErrorResponse(userRequest, AccountError.WrongFieldValue, req.getMoneyAccountId());
|
||||
tradingClearingRegistry.setStatus(status);
|
||||
|
||||
String tradingRegistryType;
|
||||
if (depoAccount != null) {
|
||||
tradingRegistryType = depoAccount.getDepoAccountType();
|
||||
} else {
|
||||
if (clearingAccount != null) tradingRegistryType = clearingAccount.getClearingAccountType();
|
||||
else tradingRegistryType = TradingClearingRegistryType.Owner_A.getKey();
|
||||
}
|
||||
tradingClearingRegistry.setTradingClearingRegistryType(tradingRegistryType);
|
||||
|
||||
TradingClearingRegistryPurpose registryPurpose;
|
||||
if (req.getDepoAccountId() != null) registryPurpose = TradingClearingRegistryPurpose.C;
|
||||
else registryPurpose = TradingClearingRegistryPurpose.M;
|
||||
tradingClearingRegistry.setTradingClearingRegistryPurpose(registryPurpose.getKey());
|
||||
|
||||
Company company = companyImdg.getSingleObjectByID(req.getCompanyId());
|
||||
String code = "%4s".formatted(company.getClearingCode()).replace(' ', '0');
|
||||
code += registryPurpose.getKey();
|
||||
if (registryPurpose == TradingClearingRegistryPurpose.C) code += tradingRegistryType + id;
|
||||
else code += "AT" + id;
|
||||
tradingClearingRegistry.setCode(code);
|
||||
|
||||
Instant now = Instant.now();
|
||||
tradingClearingRegistry.setCreated(now);
|
||||
tradingClearingRegistry.setUpdated(now);
|
||||
|
||||
tradingClearingRegistryImdg.insert(tradingClearingRegistry);
|
||||
|
||||
log.debug("successfully processed, id {}", id);
|
||||
return null;
|
||||
}
|
||||
|
||||
public RequestInfoUpdate tradingClearingRegistryNew(BaseRequest<TradingClearingRegistryNewRequest> userRequest) {
|
||||
log.debug("TradingClearingRegistryNewRequest received");
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, tradingClearingRegistryNewRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
TradingClearingRegistryNewRequest req = userRequest.getRequestPayload();
|
||||
|
||||
Long id = tradingClearingRegistryImdg.nextIDSequenceFor();
|
||||
TradingClearingRegistry tradingClearingRegistry = new TradingClearingRegistry();
|
||||
tradingClearingRegistry.setId(id);
|
||||
tradingClearingRegistry.setCompanyId(req.getCompanyId());
|
||||
tradingClearingRegistry.setMoneyAccountId(req.getMoneyAccountId());
|
||||
tradingClearingRegistry.setDepoAaccountId(req.getDepoAccountId());
|
||||
|
||||
DepoAccount depoAccount = req.getDepoAccountId() != null ? depoAccountImdg.getSingleObjectByID(req.getDepoAccountId()) : null;
|
||||
ClearingAccount clearingAccount = clearingAccountImdg.getSingleObjectByID(req.getMoneyAccountId());
|
||||
|
||||
tradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||
|
||||
String tradingRegistryType;
|
||||
if (depoAccount != null) {
|
||||
tradingRegistryType = depoAccount.getDepoAccountType();
|
||||
} else {
|
||||
if (clearingAccount != null) tradingRegistryType = clearingAccount.getClearingAccountType();
|
||||
else tradingRegistryType = TradingClearingRegistryType.Owner_A.getKey();
|
||||
}
|
||||
tradingClearingRegistry.setTradingClearingRegistryType(tradingRegistryType);
|
||||
|
||||
TradingClearingRegistryPurpose registryPurpose;
|
||||
if (req.getDepoAccountId() != null) registryPurpose = TradingClearingRegistryPurpose.C;
|
||||
else registryPurpose = TradingClearingRegistryPurpose.M;
|
||||
tradingClearingRegistry.setTradingClearingRegistryPurpose(registryPurpose.getKey());
|
||||
|
||||
Company company = companyImdg.getSingleObjectByID(req.getCompanyId());
|
||||
String code = "%4s".formatted(company.getClearingCode()).replace(' ', '0');
|
||||
code += registryPurpose.getKey();
|
||||
if (registryPurpose == TradingClearingRegistryPurpose.C) code += tradingRegistryType + id;
|
||||
else code += "AT" + id;
|
||||
tradingClearingRegistry.setCode(code);
|
||||
|
||||
Instant now = Instant.now();
|
||||
tradingClearingRegistry.setCreated(now);
|
||||
tradingClearingRegistry.setUpdated(now);
|
||||
|
||||
tradingClearingRegistryImdg.insert(tradingClearingRegistry);
|
||||
|
||||
log.debug("successfully processed, id {}", id);
|
||||
return null;
|
||||
}
|
||||
|
||||
public RequestInfoUpdate tradingClearingRegistryUpdate(BaseRequest<TradingClearingRegistryUpdateRequest> userRequest) {
|
||||
log.debug("TradingClearingRegistryUpdateRequest received");
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, tradingClearingRegistryUpdateRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
TradingClearingRegistryUpdateRequest req = userRequest.getRequestPayload();
|
||||
TradingClearingRegistry tradingClearingRegistry = tradingClearingRegistryImdg.getSingleObjectByID(req.getId());
|
||||
|
||||
if (req.getStatus() != null) tradingClearingRegistry.setStatus(req.getStatus());
|
||||
|
||||
Instant now = Instant.now();
|
||||
tradingClearingRegistry.setUpdated(now);
|
||||
|
||||
tradingClearingRegistryImdg.update(tradingClearingRegistry);
|
||||
|
||||
log.debug("successfully processed, id {}", tradingClearingRegistry.getId());
|
||||
return null;
|
||||
}
|
||||
|
||||
public RequestInfoUpdate tradingClearingRegistryBlock(BaseRequest<CommonIdRequest> userRequest) {
|
||||
log.debug("TradingClearingRegistryBlockRequest received");
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(userRequest);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
requestInfoUpdate = validationHelper.validateTillFirstError(userRequest, tradingClearingRegistryBlockRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
CommonIdRequest req = userRequest.getRequestPayload();
|
||||
TradingClearingRegistry tradingClearingRegistry = tradingClearingRegistryImdg.getSingleObjectByID(req.getId());
|
||||
|
||||
tradingClearingRegistry.setStatus(ServiceStatus.Blocked.getKey());
|
||||
tradingClearingRegistry.setUpdated(Instant.now());
|
||||
|
||||
tradingClearingRegistryImdg.update(tradingClearingRegistry);
|
||||
|
||||
log.debug("successfully processed, id {}", tradingClearingRegistry.getId());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -19,6 +19,7 @@ import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.clearing.platform.dictionary.AccountTypeDictionary;
|
||||
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||
import ru.spcex.clearing.account.config.BeanConfiguration;
|
||||
import ru.spcex.clearing.account.config.HazelcastServiceTestConfiguration;
|
||||
import ru.spcex.clearing.account.config.KafkaConfigTest;
|
||||
|
|
@ -87,6 +88,7 @@ class AccountServiceTest {
|
|||
private Imdg<AccountTypeDictionary> accountTypeDictionaryImdg;
|
||||
private Imdg<ClearingMemberCategory> clearingMemberCategoryImdg;
|
||||
private Imdg<Relation> relationImdg;
|
||||
private Imdg<ServiceStatusDictionary> serviceStatusDictionaryImdg;
|
||||
|
||||
@PostConstruct
|
||||
private void init() {
|
||||
|
|
@ -106,6 +108,13 @@ class AccountServiceTest {
|
|||
relationImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_Relation, Relation.class
|
||||
);
|
||||
serviceStatusDictionaryImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class
|
||||
);
|
||||
ServiceStatusDictionary serviceStatusDictionary = new ServiceStatusDictionary();
|
||||
serviceStatusDictionary.setCode(ServiceStatus.Active.getKey());
|
||||
serviceStatusDictionary.setName(ServiceStatus.Active.getKey());
|
||||
serviceStatusDictionaryImdg.insert(serviceStatusDictionary);
|
||||
|
||||
Company company = new Company();
|
||||
company.setId(companyId);
|
||||
|
|
@ -137,13 +146,13 @@ class AccountServiceTest {
|
|||
correspondentAccountNewRequest.setAccount(uniqueAccount);
|
||||
correspondentAccountNewRequest.setAccountType(AccountType.Corr.getKey());
|
||||
correspondentAccountNewRequest.setCompanyId(companyId);
|
||||
correspondentAccountNewRequest.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
correspondentAccountNewRequest.setStatus(ServiceStatus.Active.getKey());
|
||||
|
||||
Account predictableAccount = new Account();
|
||||
predictableAccount.setAccount(uniqueAccount);
|
||||
predictableAccount.setAccountType(AccountType.Corr.getKey());
|
||||
predictableAccount.setCompanyId(companyId);
|
||||
predictableAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
predictableAccount.setStatus(ServiceStatus.Active.getKey());
|
||||
predictableAccount.setRelationId(relationId);
|
||||
|
||||
String jsonString = getJsonStringForNew(correspondentAccountNewRequest, 0L);
|
||||
|
|
@ -169,14 +178,14 @@ class AccountServiceTest {
|
|||
Account existAccount = new Account();
|
||||
existAccount.setAccount(account);
|
||||
existAccount.setAccountType(AccountType.Corr.getKey());
|
||||
existAccount.setStatus(AccountStatus.CLOSE.getKey());
|
||||
existAccount.setStatus(ServiceStatus.Closed.getKey());
|
||||
existAccount.setCompanyId(companyId);
|
||||
Long accountId = accountImdg.insert(existAccount);
|
||||
|
||||
CorrespondentAccountUpdateRequest correspondentAccountUpdateRequest = new CorrespondentAccountUpdateRequest();
|
||||
correspondentAccountUpdateRequest.setAccount(account);
|
||||
correspondentAccountUpdateRequest.setAccountType(AccountType.Corr.getKey());
|
||||
correspondentAccountUpdateRequest.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
correspondentAccountUpdateRequest.setStatus(ServiceStatus.Active.getKey());
|
||||
correspondentAccountUpdateRequest.setCompanyId(companyId);
|
||||
correspondentAccountUpdateRequest.setId(accountId);
|
||||
|
||||
|
|
@ -204,7 +213,7 @@ class AccountServiceTest {
|
|||
Account existAccount = new Account();
|
||||
existAccount.setAccount(account);
|
||||
existAccount.setAccountType(AccountType.Corr.getKey());
|
||||
existAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
existAccount.setStatus(ServiceStatus.Active.getKey());
|
||||
existAccount.setCompanyId(companyId);
|
||||
Long accountId = accountImdg.insert(existAccount);
|
||||
|
||||
|
|
@ -224,7 +233,7 @@ class AccountServiceTest {
|
|||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
|
||||
Account resultBlock = accountImdg.getSingleObjectByID(accountId);
|
||||
existAccount.setStatus(AccountStatus.BLOCKED.getKey());
|
||||
existAccount.setStatus(ServiceStatus.Blocked.getKey());
|
||||
existAccount.setUpdated(resultBlock.getUpdated());
|
||||
|
||||
ACCOUNT_MATCHER.assertMatch(existAccount, resultBlock);
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
|||
import javax.annotation.PostConstruct;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.mockito.Mockito.timeout;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
||||
|
||||
|
|
@ -151,12 +153,13 @@ class ClearingAccountServiceTest {
|
|||
0,
|
||||
jsonString);
|
||||
|
||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
verify(producer, timeout(30_000L).times(2))
|
||||
.send(producerRecord.capture());
|
||||
|
||||
Account predictableAccount = new Account();
|
||||
predictableAccount.setAccount(ACCOUNT_VALUE);
|
||||
predictableAccount.setAccountType(AccountType.Clrn.getKey());
|
||||
predictableAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
predictableAccount.setStatus(ServiceStatus.Active.getKey());
|
||||
predictableAccount.setRelationId(relationId);
|
||||
predictableAccount.setCompanyId(companyId);
|
||||
|
||||
|
|
@ -182,7 +185,7 @@ class ClearingAccountServiceTest {
|
|||
void clearingAccountUpdate() {
|
||||
Account existAccount = new Account();
|
||||
existAccount.setAccount(ACCOUNT_VALUE);
|
||||
existAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
existAccount.setStatus(ServiceStatus.Active.getKey());
|
||||
existAccount.setAccountType(AccountType.Clrn.getKey());
|
||||
Long accountId = accountImdg.insert(existAccount);
|
||||
|
||||
|
|
@ -193,7 +196,7 @@ class ClearingAccountServiceTest {
|
|||
|
||||
Account predictableAccount = new Account();
|
||||
predictableAccount.setAccount(ACCOUNT_VALUE);
|
||||
predictableAccount.setStatus(AccountStatus.BLOCKED.getKey());
|
||||
predictableAccount.setStatus(ServiceStatus.Blocked.getKey());
|
||||
predictableAccount.setAccountType(AccountType.Clrn.getKey());
|
||||
|
||||
clearingAccountImdg.insert(existClearingAccount);
|
||||
|
|
|
|||
|
|
@ -36,8 +36,11 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
|||
import javax.annotation.PostConstruct;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.mockito.Mockito.timeout;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
||||
import static ru.spcex.clearing.account.utils.TestUtils.addRecordToKafka;
|
||||
import static ru.spcex.clearing.account.utils.TestUtils.getJsonStringForNew;
|
||||
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = {
|
||||
|
|
@ -150,12 +153,13 @@ class DepoAccountServiceTest {
|
|||
0,
|
||||
jsonString);
|
||||
|
||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
verify(producer, timeout(30_000L).times(2))
|
||||
.send(producerRecord.capture());
|
||||
|
||||
Account predictableAccount = new Account();
|
||||
predictableAccount.setAccount(ACCOUNT_VALUE);
|
||||
predictableAccount.setAccountType(AccountType.Depo.getKey());
|
||||
predictableAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
predictableAccount.setStatus(ServiceStatus.Active.getKey());
|
||||
predictableAccount.setRelationId(relationId);
|
||||
predictableAccount.setCompanyId(companyId);
|
||||
|
||||
|
|
|
|||
|
|
@ -35,8 +35,11 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
|||
import javax.annotation.PostConstruct;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.mockito.Mockito.timeout;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
||||
import static ru.spcex.clearing.account.utils.TestUtils.addRecordToKafka;
|
||||
import static ru.spcex.clearing.account.utils.TestUtils.getJsonStringForNew;
|
||||
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = {
|
||||
|
|
@ -140,11 +143,13 @@ class InformationAccountServiceTest {
|
|||
0,
|
||||
jsonString);
|
||||
|
||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
//waiting for kafka producer send message (finale event)
|
||||
verify(producer, timeout(30_000L).times(2))
|
||||
.send(producerRecord.capture());
|
||||
|
||||
Account predictableAccount = new Account();
|
||||
predictableAccount.setAccountType(AccountType.Info.getKey());
|
||||
predictableAccount.setStatus(AccountStatus.ACTIVE.getKey());
|
||||
predictableAccount.setStatus(ServiceStatus.Active.getKey());
|
||||
predictableAccount.setRelationId(relationId);
|
||||
predictableAccount.setCompanyId(companyId);
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,314 @@
|
|||
package ru.spcex.clearing.account.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.MockConsumer;
|
||||
import org.apache.kafka.clients.producer.MockProducer;
|
||||
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Captor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.mock.mockito.SpyBean;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
import ru.clearing.classes.statics.data.account.Account;
|
||||
import ru.clearing.classes.statics.data.account.ClearingAccount;
|
||||
import ru.clearing.classes.statics.data.account.DepoAccount;
|
||||
import ru.clearing.classes.statics.data.account.InformationAccount;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
|
||||
import ru.spcex.clearing.account.config.BeanConfiguration;
|
||||
import ru.spcex.clearing.account.config.HazelcastServiceTestConfiguration;
|
||||
import ru.spcex.clearing.account.config.KafkaConfigTest;
|
||||
import ru.spcex.clearing.account.config.validation.TradingClearingRegistryValidationConfig;
|
||||
import ru.spcex.clearing.account.config.validation.ValidationConfig;
|
||||
import ru.spcex.clearing.account.utils.MatcherFactory;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.registry.TradingClearingRegistryUpdateRequest;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.TradingClearingRegistryPurpose;
|
||||
import ru.spcex.platform.enumeration.TradingClearingRegistryType;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
import static ru.spcex.clearing.account.utils.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
import static ru.spcex.clearing.account.utils.TestUtils.*;
|
||||
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = {
|
||||
BeanConfiguration.class,
|
||||
ValidationConfig.class,
|
||||
TradingClearingRegistryValidationConfig.class,
|
||||
TradingClearingRegistryService.class,
|
||||
HazelcastServiceTestConfiguration.class,
|
||||
KafkaConfigTest.class})
|
||||
class TradingClearingRegistryServiceTest {
|
||||
public static final MatcherFactory.Matcher<TradingClearingRegistry> TRADING_CLEARING_REGISTRY_MATCHER = usingIgnoringFieldsComparator();
|
||||
private static final int PARTITION = 0;
|
||||
private static final String TOPIC_ACCOUNT_NEW = Consts.ACCOUNT_NEW_SDF01;
|
||||
private static final String account = "123456789123";
|
||||
private static final Long companyId = 0L;
|
||||
private static final Long relationId = 0L;
|
||||
@Autowired
|
||||
TradingClearingRegistryService tradingClearingRegistryService;
|
||||
@Autowired
|
||||
@Qualifier("hazelcastServiceTest")
|
||||
private HazelcastService hazelcastServiceTest;
|
||||
|
||||
@Captor
|
||||
private ArgumentCaptor<ProducerRecord> producerRecord;
|
||||
@SpyBean
|
||||
private MockProducer<String, Object> producer;
|
||||
|
||||
private Imdg<TradingClearingRegistry> tradingClearingRegistryImdg;
|
||||
private Imdg<Company> companyImdg;
|
||||
private Imdg<ServiceStatusDictionary> serviceStatusDictionaryImdg;
|
||||
|
||||
private Imdg<ClearingAccount> clearingAccountImdg;
|
||||
private Long clearingAccountId;
|
||||
|
||||
private Imdg<DepoAccount> depoAccountImdg;
|
||||
private Long depoAccountId;
|
||||
|
||||
private Imdg<InformationAccount> informationAccountImdg;
|
||||
private Long infoAccountId;
|
||||
|
||||
private Imdg<Account> accountImdg;
|
||||
private Long accountId;
|
||||
|
||||
private Long account2Id;
|
||||
|
||||
static int newRequestCnt = 0;
|
||||
|
||||
@PostConstruct
|
||||
private void init() {
|
||||
hazelcastServiceTest.waitAvailable();
|
||||
tradingClearingRegistryImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_TradingClearingRegistry, TradingClearingRegistry.class
|
||||
);
|
||||
companyImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_Company, Company.class
|
||||
);
|
||||
serviceStatusDictionaryImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class
|
||||
);
|
||||
accountImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_Account, Account.class
|
||||
);
|
||||
clearingAccountImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_ClearingAccount, ClearingAccount.class
|
||||
);
|
||||
depoAccountImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_DepoAccount, DepoAccount.class
|
||||
);
|
||||
informationAccountImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_InformationAccount, InformationAccount.class
|
||||
);
|
||||
ServiceStatusDictionary serviceStatusDictionary = new ServiceStatusDictionary();
|
||||
serviceStatusDictionary.setCode(ServiceStatus.Active.getKey());
|
||||
serviceStatusDictionary.setName(ServiceStatus.Active.getKey());
|
||||
serviceStatusDictionaryImdg.insert(serviceStatusDictionary);
|
||||
|
||||
Company company = new Company();
|
||||
company.setId(companyId);
|
||||
company.setWorkflowStatus(WorkflowStatus.Active.getKey());
|
||||
company.setClearingCode("77");
|
||||
companyImdg.insert(company);
|
||||
|
||||
Account account = new Account();
|
||||
account.setStatus(ServiceStatus.Active.getKey());
|
||||
accountId = accountImdg.insert(account);
|
||||
|
||||
account2Id = accountImdg.insert(account);
|
||||
|
||||
DepoAccount depoAccount = new DepoAccount();
|
||||
depoAccount.setAccountId(accountId);
|
||||
depoAccount.setDepoAccountType("DAT");
|
||||
depoAccountId = depoAccountImdg.insert(depoAccount);
|
||||
|
||||
ClearingAccount clearingAccount = new ClearingAccount();
|
||||
clearingAccount.setAccountId(accountId);
|
||||
clearingAccount.setClearingAccountType("CAT");
|
||||
clearingAccountId = clearingAccountImdg.insert(clearingAccount);
|
||||
|
||||
InformationAccount informationAccount = new InformationAccount();
|
||||
informationAccount.setAccountId(account2Id);
|
||||
infoAccountId = informationAccountImdg.insert(informationAccount);
|
||||
}
|
||||
|
||||
@Test
|
||||
void tradingClearingRegistryNew_moneyAccount_clearingAccount() {
|
||||
TradingClearingRegistryNewRequest tradingClearingRegistryNewRequest = new TradingClearingRegistryNewRequest();
|
||||
tradingClearingRegistryNewRequest.setCompanyId(companyId);
|
||||
tradingClearingRegistryNewRequest.setMoneyAccountId(clearingAccountId);
|
||||
|
||||
TradingClearingRegistry predictableTradingClearingRegistry = new TradingClearingRegistry();
|
||||
predictableTradingClearingRegistry.setCompanyId(companyId);
|
||||
predictableTradingClearingRegistry.setCode("0077MAT");
|
||||
predictableTradingClearingRegistry.setMoneyAccountId(clearingAccountId);
|
||||
predictableTradingClearingRegistry.setTradingClearingRegistryType("CAT");
|
||||
predictableTradingClearingRegistry.setTradingClearingRegistryPurpose(TradingClearingRegistryPurpose.M.getKey());
|
||||
predictableTradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||
|
||||
String jsonString = getJsonStringForNew(tradingClearingRegistryNewRequest, 0L);
|
||||
|
||||
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW,
|
||||
newRequestCnt,
|
||||
0,
|
||||
jsonString);
|
||||
|
||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
|
||||
TradingClearingRegistry resultNew = tradingClearingRegistryImdg.getAllValues().iterator().next();
|
||||
predictableTradingClearingRegistry.setId(resultNew.getId());
|
||||
predictableTradingClearingRegistry.setCode(predictableTradingClearingRegistry.getCode() + resultNew.getId());
|
||||
predictableTradingClearingRegistry.setUpdated(resultNew.getUpdated());
|
||||
predictableTradingClearingRegistry.setCreated(resultNew.getCreated());
|
||||
|
||||
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultNew, predictableTradingClearingRegistry);
|
||||
tradingClearingRegistryImdg.delete(resultNew);
|
||||
|
||||
newRequestCnt++;
|
||||
}
|
||||
|
||||
@Test
|
||||
void tradingClearingRegistryNew_moneyAccount_informationAccount() {
|
||||
TradingClearingRegistryNewRequest tradingClearingRegistryNewRequest = new TradingClearingRegistryNewRequest();
|
||||
tradingClearingRegistryNewRequest.setCompanyId(companyId);
|
||||
tradingClearingRegistryNewRequest.setMoneyAccountId(infoAccountId);
|
||||
|
||||
TradingClearingRegistry predictableTradingClearingRegistry = new TradingClearingRegistry();
|
||||
predictableTradingClearingRegistry.setCompanyId(companyId);
|
||||
predictableTradingClearingRegistry.setCode("0077MAT");
|
||||
predictableTradingClearingRegistry.setMoneyAccountId(infoAccountId);
|
||||
predictableTradingClearingRegistry.setTradingClearingRegistryType(TradingClearingRegistryType.Owner_A.getKey());
|
||||
predictableTradingClearingRegistry.setTradingClearingRegistryPurpose(TradingClearingRegistryPurpose.M.getKey());
|
||||
predictableTradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||
|
||||
String jsonString = getJsonStringForNew(tradingClearingRegistryNewRequest, 0L);
|
||||
|
||||
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW,
|
||||
newRequestCnt,
|
||||
0,
|
||||
jsonString);
|
||||
|
||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
|
||||
TradingClearingRegistry resultNew = tradingClearingRegistryImdg.getAllValues().iterator().next();
|
||||
predictableTradingClearingRegistry.setId(resultNew.getId());
|
||||
predictableTradingClearingRegistry.setCode(predictableTradingClearingRegistry.getCode() + resultNew.getId());
|
||||
predictableTradingClearingRegistry.setUpdated(resultNew.getUpdated());
|
||||
predictableTradingClearingRegistry.setCreated(resultNew.getCreated());
|
||||
|
||||
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultNew, predictableTradingClearingRegistry);
|
||||
tradingClearingRegistryImdg.delete(resultNew);
|
||||
|
||||
newRequestCnt++;
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void tradingClearingRegistryNew_depoAccount() {
|
||||
TradingClearingRegistryNewRequest tradingClearingRegistryNewRequest = new TradingClearingRegistryNewRequest();
|
||||
tradingClearingRegistryNewRequest.setCompanyId(companyId);
|
||||
tradingClearingRegistryNewRequest.setMoneyAccountId(clearingAccountId);
|
||||
tradingClearingRegistryNewRequest.setDepoAccountId(depoAccountId);
|
||||
|
||||
TradingClearingRegistry predictableTradingClearingRegistry = new TradingClearingRegistry();
|
||||
predictableTradingClearingRegistry.setCompanyId(companyId);
|
||||
predictableTradingClearingRegistry.setCode("0077CDAT");
|
||||
predictableTradingClearingRegistry.setMoneyAccountId(clearingAccountId);
|
||||
predictableTradingClearingRegistry.setDepoAaccountId(depoAccountId);
|
||||
predictableTradingClearingRegistry.setTradingClearingRegistryType("DAT");
|
||||
predictableTradingClearingRegistry.setTradingClearingRegistryPurpose(TradingClearingRegistryPurpose.C.getKey());
|
||||
predictableTradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||
|
||||
String jsonString = getJsonStringForNew(tradingClearingRegistryNewRequest, 0L);
|
||||
|
||||
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_NEW,
|
||||
newRequestCnt,
|
||||
0,
|
||||
jsonString);
|
||||
|
||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
|
||||
TradingClearingRegistry resultNew = tradingClearingRegistryImdg.getAllValues().iterator().next();
|
||||
predictableTradingClearingRegistry.setId(resultNew.getId());
|
||||
predictableTradingClearingRegistry.setCode(predictableTradingClearingRegistry.getCode() + resultNew.getId());
|
||||
predictableTradingClearingRegistry.setUpdated(resultNew.getUpdated());
|
||||
predictableTradingClearingRegistry.setCreated(resultNew.getCreated());
|
||||
|
||||
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultNew, predictableTradingClearingRegistry);
|
||||
tradingClearingRegistryImdg.delete(resultNew);
|
||||
|
||||
newRequestCnt++;
|
||||
}
|
||||
|
||||
@Test
|
||||
void tradingClearingRegistryUpdate() {
|
||||
TradingClearingRegistry existTradingClearingRegistry = new TradingClearingRegistry();
|
||||
existTradingClearingRegistry.setStatus(ServiceStatus.Closed.getKey());
|
||||
Long registryId = tradingClearingRegistryImdg.insert(existTradingClearingRegistry);
|
||||
|
||||
TradingClearingRegistryUpdateRequest tradingClearingRegistryUpdateRequest = new TradingClearingRegistryUpdateRequest();
|
||||
tradingClearingRegistryUpdateRequest.setStatus(ServiceStatus.Active.getKey());
|
||||
tradingClearingRegistryUpdateRequest.setId(registryId);
|
||||
|
||||
String jsonString = getJsonStringForUPDATE(tradingClearingRegistryUpdateRequest, 0);
|
||||
|
||||
//ACT
|
||||
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_UPDATE,
|
||||
PARTITION,
|
||||
0,
|
||||
jsonString);
|
||||
|
||||
//ASSERT
|
||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
|
||||
TradingClearingRegistry resultUpdating = tradingClearingRegistryImdg.getSingleObjectByID(registryId);
|
||||
existTradingClearingRegistry.setUpdated(resultUpdating.getUpdated());
|
||||
existTradingClearingRegistry.setStatus(ServiceStatus.Active.getKey());
|
||||
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultUpdating, existTradingClearingRegistry);
|
||||
tradingClearingRegistryImdg.delete(resultUpdating);
|
||||
}
|
||||
|
||||
@Test
|
||||
void tradingClearingRegistryBlock() {
|
||||
TradingClearingRegistry existTradingClearingRegistry = new TradingClearingRegistry();
|
||||
existTradingClearingRegistry.setStatus(ServiceStatus.Closed.getKey());
|
||||
Long registryId = tradingClearingRegistryImdg.insert(existTradingClearingRegistry);
|
||||
|
||||
CommonDeleteRequest tradingClearingRegistryDeleteRequest = new CommonDeleteRequest();
|
||||
tradingClearingRegistryDeleteRequest.setId(registryId);
|
||||
|
||||
String jsonString = getJsonStringForDELETE(tradingClearingRegistryDeleteRequest, 0);
|
||||
|
||||
//ACT
|
||||
addRecordToKafka((MockConsumer) tradingClearingRegistryService.getConsumer(),
|
||||
Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK,
|
||||
PARTITION,
|
||||
0,
|
||||
jsonString);
|
||||
|
||||
//ASSERT
|
||||
waitingWhenAddedRecordAndCheckIt(0L, producer, producerRecord);
|
||||
|
||||
TradingClearingRegistry resultUpdating = tradingClearingRegistryImdg.getSingleObjectByID(registryId);
|
||||
existTradingClearingRegistry.setUpdated(resultUpdating.getUpdated());
|
||||
existTradingClearingRegistry.setStatus(ServiceStatus.Blocked.getKey());
|
||||
TRADING_CLEARING_REGISTRY_MATCHER.assertMatch(resultUpdating, existTradingClearingRegistry);
|
||||
tradingClearingRegistryImdg.delete(resultUpdating);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Deprecated
|
||||
@Controller
|
||||
@RequestMapping("/account-balances")
|
||||
public class AccountBalanceController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public AccountBalanceController(IStateLoader stateLoader) {
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all account balances.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -14,6 +14,7 @@ import ru.spcex.clearing.backendapi.controller.request.cud.company.CompanyInfoUp
|
|||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.company.CompanyInfoBackendGetAll;
|
||||
import ru.spcex.clearing.backendapi.meta.GetResponseFactory;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -53,19 +54,14 @@ public class CompanyInfoController extends AbstractQueueController {
|
|||
}
|
||||
|
||||
@ApiOperation(value = "get all CompanyInfo's.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CompanyInfoBackendGetAll.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
public CompanyInfoBackendGetAll getAll() {
|
||||
Collection<Map<String, Object>> all = new ArrayList<>();
|
||||
Collection<Company> companies = companyImdg.getAllValues();
|
||||
for (Company company : companies) {
|
||||
if (company.getProfile() != null && company.getProfile().getId() != null) { // пока возвращает "пустой" CompanyInfo если его нет для Company
|
||||
all.add(responseFactory.responseFromObject(company.getProfile()));
|
||||
}
|
||||
}
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
CompanyInfoBackendGetAll response = new CompanyInfoBackendGetAll();
|
||||
response.fromEntity(companies);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.liabilities;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/liabilities-claims-assets")
|
||||
public class LiabilitiesClaimsAssetController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public LiabilitiesClaimsAssetController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all LiabilitiesClaimsAssets.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_LiabilitiesClaimsAssets,
|
||||
LiabilitiesClaimsAssets.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.liabilities;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/liabilities-claims-money")
|
||||
public class LiabilitiesClaimsMoneyController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public LiabilitiesClaimsMoneyController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all LiabilitiesClaimsMoney.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_LiabilitiesClaimsMoney,
|
||||
LiabilitiesClaimsMoney.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.register.AdmittedDealRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/admitted-deal-registers")
|
||||
public class AdmittedDealRegisterController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public AdmittedDealRegisterController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all admitted deal registers.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_AdmittedDealRegister,
|
||||
AdmittedDealRegister.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.misc.BalanceRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/balance-registers")
|
||||
public class BalanceRegisterController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public BalanceRegisterController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all money balance registers.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_BalanceRegister,
|
||||
BalanceRegister.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.misc.ClearMemberRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/clearmember-registers")
|
||||
public class ClearMemberRegisterController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public ClearMemberRegisterController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all money ClearMemberRegisters.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_ClearMemberRegister,
|
||||
ClearMemberRegister.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.register.CoveredDealRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/covered-deal-registers")
|
||||
public class CoveredDealRegisterController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public CoveredDealRegisterController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all covered deal registers.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_CoveredDealRegister,
|
||||
CoveredDealRegister.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.register.DealRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/deal-registers")
|
||||
public class DealRegisterController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public DealRegisterController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all deal registers.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_DealRegister,
|
||||
DealRegister.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.register.OrderRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/order-registers")
|
||||
public class OrderRegisterController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public OrderRegisterController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all order registers.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_OrderRegister,
|
||||
OrderRegister.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import ru.clearing.classes.statics.data.register.UncoveredDealRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/uncovered-deal-registers")
|
||||
public class UncoveredDealRegisterController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public UncoveredDealRegisterController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all uncovered deal registers.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
|
||||
IMDGDistributedNames.Map_UncoveredDealRegister,
|
||||
UncoveredDealRegister.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -10,9 +10,9 @@ import org.springframework.stereotype.Controller;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
|
|
@ -69,7 +69,7 @@ public class TradingClearingRegistryController extends AbstractQueueController {
|
|||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_DELETE, deleteAction);
|
||||
return processRequest(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK, deleteAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get TradingClearingRegistry by id.")
|
||||
|
|
|
|||
|
|
@ -1,83 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.utilities;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import io.swagger.annotations.ApiResponse;
|
||||
import io.swagger.annotations.ApiResponses;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ru.clearing.classes.statics.data.misc.KeyRate;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.KeyRateNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.KeyRateUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.cud.CudResponse;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse;
|
||||
import ru.spcex.clearing.backendapi.service.IOperator;
|
||||
import ru.spcex.clearing.backendapi.service.IStateLoader;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/utilities/key-rates")
|
||||
public class CudKeyRateController extends AbstractQueueController {
|
||||
private final IStateLoader stateLoader;
|
||||
|
||||
@Autowired
|
||||
public CudKeyRateController(IOperator operator, IStateLoader stateLoader) {
|
||||
super(operator);
|
||||
this.stateLoader = stateLoader;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "create key rate.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse add(
|
||||
@ApiParam(value = "Параметры команды в JSON формате.", required = true)
|
||||
@RequestBody KeyRateNewAction keyRateNewAction) throws ExecutionException, InterruptedException {
|
||||
return processRequest(Consts.DESTINATION_KEY_RATE_NEW, keyRateNewAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "update key rate.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CudResponse update(
|
||||
@ApiParam(value = "Идентификатор изменяемого объекта.", required = true, example = "1234")
|
||||
@PathVariable("id") Long id,
|
||||
@ApiParam(value = "Новые значения полей объекта.", required = true)
|
||||
@RequestBody KeyRateUpdateAction keyRateUpdateAction) throws ExecutionException, InterruptedException {
|
||||
keyRateUpdateAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_KEY_RATE_UPDATE, keyRateUpdateAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "delete key rate.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CudResponse.class), @ApiResponse(code = 400, message = "Ошибка валидации", response = BasicSpcexResponse.class)})
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
|
||||
@ResponseBody
|
||||
public CudResponse delete(@ApiParam(value = "Идентификатор удаляемого объекта", required = true, example = "1234")
|
||||
@PathVariable("id") Long id) throws ExecutionException, InterruptedException {
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
return processRequest(Consts.DESTINATION_KEY_RATE_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "get all KeyRate's.")
|
||||
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
|
||||
@RequestMapping(method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public CommonGetAllResponse getAll() {
|
||||
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(IMDGDistributedNames.Map_KeyRate, KeyRate.class);
|
||||
CommonGetAllResponse response = new CommonGetAllResponse();
|
||||
response.fromEntity(all);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.utilities;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.backendapi.errors.BackEndError;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.KeyRateNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class KeyRateNewAction implements IAction<KeyRateNewRequest> {
|
||||
@ApiModelProperty(value = "Ключевая ставка ЦБ РФ", example = "12.5")
|
||||
@JsonProperty
|
||||
public BigDecimal rate;
|
||||
@ApiModelProperty(value = "Дата начала действия ключевой ставки", example = "2022-01-20")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
public LocalDate startDate;
|
||||
@ApiModelProperty(value = "Дата окончания действия ключевой ставки", example = "2022-04-20")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
public LocalDate endDate;
|
||||
@ApiModelProperty(value = "Документ ЦБ", example = "Lorem ipsum")
|
||||
@JsonProperty
|
||||
public String document;
|
||||
|
||||
@Override
|
||||
public Collection<EnumMessage> validate() {
|
||||
if (this.startDate == null)
|
||||
return List.of(new EnumMessage(BackEndError.ValidationError, "startDate"));
|
||||
else return Collections.emptyList();
|
||||
}
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.NEW;
|
||||
}
|
||||
|
||||
@Override
|
||||
public KeyRateNewRequest toRequest() {
|
||||
var req = new KeyRateNewRequest();
|
||||
req.setStartDate(this.getStartDate());
|
||||
req.setEndDate(this.getEndDate());
|
||||
req.setKeyRate(this.getRate());
|
||||
req.setDocument(this.getDocument());
|
||||
return req;
|
||||
}
|
||||
|
||||
public BigDecimal getRate() {
|
||||
return rate;
|
||||
}
|
||||
|
||||
public void setRate(BigDecimal rate) {
|
||||
this.rate = rate;
|
||||
}
|
||||
|
||||
public LocalDate getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
public void setStartDate(LocalDate startDate) {
|
||||
this.startDate = startDate;
|
||||
}
|
||||
|
||||
public LocalDate getEndDate() {
|
||||
return endDate;
|
||||
}
|
||||
|
||||
public void setEndDate(LocalDate endDate) {
|
||||
this.endDate = endDate;
|
||||
}
|
||||
|
||||
public String getDocument() {
|
||||
return document;
|
||||
}
|
||||
|
||||
public void setDocument(String document) {
|
||||
this.document = document;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.request.cud.utilities;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
import ru.spcex.clearing.platform.messaging.domain.ActionType;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.KeyRateUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class KeyRateUpdateAction implements IAction<KeyRateUpdateRequest> {
|
||||
@ApiModelProperty(hidden = true)
|
||||
@JsonProperty
|
||||
public Long id;
|
||||
@ApiModelProperty(value = "Ключевая ставка ЦБ РФ", example = "12.5")
|
||||
@JsonProperty
|
||||
public BigDecimal rate;
|
||||
@ApiModelProperty(value = "Дата начала действия ключевой ставки", example = "2022-01-20")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
public LocalDate startDate;
|
||||
@ApiModelProperty(value = "Дата окончания действия ключевой ставки", example = "2022-04-20")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "Europe/Moscow")
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class)
|
||||
@JsonProperty
|
||||
public LocalDate endDate;
|
||||
@ApiModelProperty(value = "Документ ЦБ", example = "Lorem ipsum")
|
||||
@JsonProperty
|
||||
public String document;
|
||||
|
||||
@ApiModelProperty(hidden = true)
|
||||
@Override
|
||||
public ActionType getActionType() {
|
||||
return ActionType.UPDATE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public KeyRateUpdateRequest toRequest() {
|
||||
var req = new KeyRateUpdateRequest();
|
||||
req.setId(this.getId());
|
||||
req.setStartDate(this.getStartDate());
|
||||
req.setEndDate(this.getEndDate());
|
||||
req.setKeyRate(this.getRate());
|
||||
req.setDocument(this.getDocument());
|
||||
return req;
|
||||
}
|
||||
|
||||
public BigDecimal getRate() {
|
||||
return rate;
|
||||
}
|
||||
|
||||
public void setRate(BigDecimal rate) {
|
||||
this.rate = rate;
|
||||
}
|
||||
|
||||
public LocalDate getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
public void setStartDate(LocalDate startDate) {
|
||||
this.startDate = startDate;
|
||||
}
|
||||
|
||||
public LocalDate getEndDate() {
|
||||
return endDate;
|
||||
}
|
||||
|
||||
public void setEndDate(LocalDate endDate) {
|
||||
this.endDate = endDate;
|
||||
}
|
||||
|
||||
public String getDocument() {
|
||||
return document;
|
||||
}
|
||||
|
||||
public void setDocument(String document) {
|
||||
this.document = document;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package ru.spcex.clearing.backendapi.controller.response.entity.company;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(description = "Ответ при получении объектов CompanyInfos.")
|
||||
public class CompanyInfoBackendGetAll extends BasicSpcexResponse {
|
||||
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Полезная нагрузка")
|
||||
private CompanyInfoBackendPayload payload = new CompanyInfoBackendPayload();
|
||||
|
||||
private static class CompanyInfoBackendPayload {
|
||||
private List<CompanyInfoBackendGetFields> items = new ArrayList<>();
|
||||
|
||||
public List<CompanyInfoBackendGetFields> getItems() {
|
||||
return items;
|
||||
}
|
||||
|
||||
public void setItems(List<CompanyInfoBackendGetFields> items) {
|
||||
this.items = items;
|
||||
}
|
||||
}
|
||||
|
||||
public CompanyInfoBackendPayload getPayload() {
|
||||
return payload;
|
||||
}
|
||||
|
||||
public void setPayload(CompanyInfoBackendPayload payload) {
|
||||
this.payload = payload;
|
||||
}
|
||||
|
||||
public void fromEntity(Collection<Company> companys) {
|
||||
var payload = this.getPayload();
|
||||
for (var company : companys) {
|
||||
var singleItem = CompanyInfoBackendGetFields.fromEntity(company);
|
||||
payload.getItems().add(singleItem);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,224 @@
|
|||
package ru.spcex.clearing.backendapi.controller.response.entity.company;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.profile.CompanyInfo;
|
||||
|
||||
public class CompanyInfoBackendGetFields {
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Идентификатор записи")
|
||||
private Long id;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Идентификатор компании")
|
||||
private Long companyId;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код единоличного исполнительного органа")
|
||||
private String corporationSoleType;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код юрисдикции")
|
||||
private String countryCode;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Описание компании")
|
||||
private String description;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код признака профессионального участника")
|
||||
private String professionalSign;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код вида субъекта")
|
||||
private String legalKind;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код типа организации")
|
||||
private String organizationType;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код резиденции")
|
||||
private String residence;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Краткое наименование компании")
|
||||
private String shortName;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Полное наименование компании")
|
||||
private String fullName;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Краткое наименование компании на английском")
|
||||
private String shortNameEng;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Краткое наименование компании на английском")
|
||||
private String fullNameEng;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код участника торгов")
|
||||
private String tradingCode;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Код участника клиринга")
|
||||
private String clearingCode;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Регистрационный код участника")
|
||||
private String registrationCode;
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Наименование статуса")
|
||||
private String workflowStatus;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public String getCorporationSoleType() {
|
||||
return corporationSoleType;
|
||||
}
|
||||
|
||||
public void setCorporationSoleType(String corporationSoleType) {
|
||||
this.corporationSoleType = corporationSoleType;
|
||||
}
|
||||
|
||||
public String getCountryCode() {
|
||||
return countryCode;
|
||||
}
|
||||
|
||||
public void setCountryCode(String countryCode) {
|
||||
this.countryCode = countryCode;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public String getProfessionalSign() {
|
||||
return professionalSign;
|
||||
}
|
||||
|
||||
public void setProfessionalSign(String professionalSign) {
|
||||
this.professionalSign = professionalSign;
|
||||
}
|
||||
|
||||
public String getLegalKind() {
|
||||
return legalKind;
|
||||
}
|
||||
|
||||
public void setLegalKind(String legalKind) {
|
||||
this.legalKind = legalKind;
|
||||
}
|
||||
|
||||
public String getOrganizationType() {
|
||||
return organizationType;
|
||||
}
|
||||
|
||||
public void setOrganizationType(String organizationType) {
|
||||
this.organizationType = organizationType;
|
||||
}
|
||||
|
||||
public String getResidence() {
|
||||
return residence;
|
||||
}
|
||||
|
||||
public void setResidence(String residence) {
|
||||
this.residence = residence;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getShortNameEng() {
|
||||
return shortNameEng;
|
||||
}
|
||||
|
||||
public void setShortNameEng(String shortNameEng) {
|
||||
this.shortNameEng = shortNameEng;
|
||||
}
|
||||
|
||||
public String getFullNameEng() {
|
||||
return fullNameEng;
|
||||
}
|
||||
|
||||
public void setFullNameEng(String fullNameEng) {
|
||||
this.fullNameEng = fullNameEng;
|
||||
}
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
|
||||
public String getRegistrationCode() {
|
||||
return registrationCode;
|
||||
}
|
||||
|
||||
public void setRegistrationCode(String registrationCode) {
|
||||
this.registrationCode = registrationCode;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
|
||||
public static CompanyInfoBackendGetFields fromEntity(Company company) {
|
||||
if (company == null || company.getProfile() == null) {
|
||||
return null;
|
||||
}
|
||||
CompanyInfo info = company.getProfile();
|
||||
CompanyInfoBackendGetFields fields = new CompanyInfoBackendGetFields();
|
||||
fields.setId(info.getId());
|
||||
fields.setCompanyId(info.getCompanyId());
|
||||
fields.setCorporationSoleType(info.getCorporationSoleType());
|
||||
fields.setCountryCode(info.getCountryCode());
|
||||
fields.setDescription(info.getDescription());
|
||||
fields.setProfessionalSign(info.getProfessionalSign());
|
||||
fields.setLegalKind(info.getLegalKind());
|
||||
fields.setOrganizationType(info.getOrganizationType());
|
||||
fields.setResidence(info.getResidence());
|
||||
fields.setShortNameEng(info.getShortNameEng());
|
||||
fields.setFullNameEng(info.getFullNameEng());
|
||||
|
||||
fields.setShortName(company.getShortName());
|
||||
fields.setFullName(company.getFullName());
|
||||
fields.setTradingCode(company.getTradingCode());
|
||||
fields.setClearingCode(company.getClearingCode());
|
||||
fields.setRegistrationCode(company.getRegistrationCode());
|
||||
fields.setWorkflowStatus(company.getWorkflowStatus());
|
||||
|
||||
return fields;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.response.entity.utilities;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import ru.clearing.classes.statics.data.misc.KeyRate;
|
||||
import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel(description = "Ответ при получении объектов KeyRate.")
|
||||
public class KeyRateBackendGetAll extends BasicSpcexResponse {
|
||||
|
||||
@JsonProperty
|
||||
@ApiModelProperty(value = "Полезная нагрузка")
|
||||
private KeyRateBackendPayload payload = new KeyRateBackendPayload();
|
||||
|
||||
private static class KeyRateBackendPayload {
|
||||
private List<KeyRateBackendGetFields> items = new ArrayList<>();
|
||||
|
||||
public List<KeyRateBackendGetFields> getItems() {
|
||||
return items;
|
||||
}
|
||||
|
||||
public void setItems(List<KeyRateBackendGetFields> items) {
|
||||
this.items = items;
|
||||
}
|
||||
}
|
||||
|
||||
public KeyRateBackendPayload getPayload() {
|
||||
return payload;
|
||||
}
|
||||
|
||||
public void setPayload(KeyRateBackendPayload payload) {
|
||||
this.payload = payload;
|
||||
}
|
||||
|
||||
public void fromEntity(Collection<KeyRate> keyRates) {
|
||||
var payload = this.getPayload();
|
||||
for (var keyRate : keyRates) {
|
||||
var singleItem = new KeyRateBackendGetFields();
|
||||
singleItem.setId(keyRate.getId());
|
||||
singleItem.setKeyRate(keyRate.getRate());
|
||||
singleItem.setStartDate(keyRate.getStartDate());
|
||||
singleItem.setEndDate(keyRate.getEndDate());
|
||||
singleItem.setDocument(keyRate.getDocument());
|
||||
singleItem.setWorkflowStatus(keyRate.getWorkflowStatus());
|
||||
payload.getItems().add(singleItem);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.response.entity.utilities;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class KeyRateBackendGetFields {
|
||||
@JsonProperty
|
||||
private Long id;
|
||||
@JsonProperty
|
||||
private BigDecimal keyRate;
|
||||
@JsonSerialize(using = LocalDateSerializer.class)
|
||||
@JsonProperty
|
||||
private LocalDate startDate;
|
||||
@JsonSerialize(using = LocalDateSerializer.class)
|
||||
@JsonProperty
|
||||
private LocalDate endDate;
|
||||
@JsonProperty
|
||||
private String document;
|
||||
@JsonProperty
|
||||
private String workflowStatus;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public BigDecimal getKeyRate() {
|
||||
return keyRate;
|
||||
}
|
||||
|
||||
public void setKeyRate(BigDecimal keyRate) {
|
||||
this.keyRate = keyRate;
|
||||
}
|
||||
|
||||
public LocalDate getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
public void setStartDate(LocalDate startDate) {
|
||||
this.startDate = startDate;
|
||||
}
|
||||
|
||||
public LocalDate getEndDate() {
|
||||
return endDate;
|
||||
}
|
||||
|
||||
public void setEndDate(LocalDate endDate) {
|
||||
this.endDate = endDate;
|
||||
}
|
||||
|
||||
public String getDocument() {
|
||||
return document;
|
||||
}
|
||||
|
||||
public void setDocument(String document) {
|
||||
this.document = document;
|
||||
}
|
||||
|
||||
public String getWorkflowStatus() {
|
||||
return workflowStatus;
|
||||
}
|
||||
|
||||
public void setWorkflowStatus(String workflowStatus) {
|
||||
this.workflowStatus = workflowStatus;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<meta version="3.5.0.4">
|
||||
<meta version="3.5.0.5">
|
||||
<enums>
|
||||
<allowed id="1" code="ALWD" name="Разрешено"/>
|
||||
<allowed id="2" code="DEND" name="Запрещено"/>
|
||||
|
|
@ -62,6 +62,7 @@
|
|||
<documentType id="21" code="LICT" name="Документ о лицензии по управлению ЦБ" shortname="Управление ценными бумагами"/>
|
||||
<documentType id="22" code="LICС" name="Документ о лицензии по брокерской деятельности ПФИ (производных финансовых инструментов)" shortname="Брокерская деятельность ПФИ"/>
|
||||
<documentType id="23" code="LICF" name="Документ о лицензии форекс-дилера" shortname="Деятельность форекс-дилера"/>
|
||||
<documentType id="24" code="LICM" name="Документ о лицензии на управление инвестиционными фондами, паевыми инвестиционными фондами, негосударственными пенсионными фондами" shortname="Управление фондами"/>
|
||||
<companySymbol id="1" code="OCVD" name="Общероссийский классификатор видов экономической деятельности" shortname="ОКВЭД"/>
|
||||
<companySymbol id="2" code="INN" name="Индивидуальный налоговый номер" shortname="ИНН"/>
|
||||
<companySymbol id="3" code="CPP" name="Код причины постановки" shortname="КПП"/>
|
||||
|
|
@ -80,13 +81,14 @@
|
|||
<companySymbol id="16" code="CLRC" name="Код участника клиринга" shortname="Клиринговый код"/>
|
||||
<companySymbol id="17" code="RGRC" name="Регистрационный код участника" shortname="Регистрационный код"/>
|
||||
<companySymbol id="18" code="UUID" name="Идентификатор во внешней системе" shortname="Внешний идентификатор"/>
|
||||
<companySymbol id="19" code="RDPZ" name="Требуется получение документа о подтверждении открытия депозитного счета" shortname="Подтверждение депозитного счета"/>
|
||||
<companySymbol id="19" code="LICM" name="Лицензия на управление инвестиционными фондами, паевыми инвестиционными фондами, негосударственными пенсионными фондами" shortname="Лицензия на управление фондами"/>
|
||||
<companyRole id="1" code="RPRT" name="Отчетная организация"/>
|
||||
<companyRole id="2" code="CLRH" name="Клиринговая организация"/>
|
||||
<companyRole id="3" code="EXCH" name="Торговая система"/>
|
||||
<companyRole id="4" code="SETH" name="Расчетный центр"/>
|
||||
<companyRole id="5" code="DEPS" name="Депозитарий"/>
|
||||
<companyRole id="6" code="CLRM" name="Участник клиринга"/>
|
||||
<companyRole id="7" code="ODEP" name="Участник расчетов по открытым депозитным счетам на секции МКР"/>
|
||||
<currencyCode id="643" code="RUB" name="Российский рубль"/>
|
||||
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка"/>
|
||||
<instrumentType id="2" code="CRNC" name="Валюта"/>
|
||||
|
|
@ -168,6 +170,8 @@
|
|||
<registryStatus id="5" code="PROC" name="К клирингу"/>
|
||||
<registryStatus id="6" code="LIQU" name="Ликвидационный неттинг"/>
|
||||
<registryStatus id="7" code="POOL" name="В клиринге"/>
|
||||
<registryStatus id="8" code="NACK" name="Не допущено"/>
|
||||
<registryStatus id="9" code="NACC" name="Не допущено у контрагента"/>
|
||||
<balanceDimension id="1" code="PICS" name="Штуки"/>
|
||||
<balanceDimension id="2" code="LOTS" name="Лоты"/>
|
||||
<balanceDimension id="3" code="MONY" name="Деньги"/>
|
||||
|
|
@ -247,23 +251,8 @@
|
|||
<side id="2" code="SELL" name="Продажа"/>
|
||||
<marketCode id="1" code="BMIC" name="СПВБ: ОФЗ-ИН - Аукцион БР"/>
|
||||
|
||||
<courierType id="1" code="STHS" name="ЭДО с Расчетной Организацией"/>
|
||||
<transactionStatus id="1" code="STLD" name="Рассчитан"/>
|
||||
<transactionStatus id="2" code="SENT" name="Отправлен в ПРЦ"/>
|
||||
<transactionStatus id="3" code="OK" name="Обработан ПРЦ"/>
|
||||
<transactionStatus id="4" code="FAIL" name="Ошибка ПРЦ"/>
|
||||
<transactionStatus id="5" code="CHER" name="Ошибка КС"/>
|
||||
<transactionStatus id="6" code="NSNT" name="Не отправлен в ПРЦ"/>
|
||||
<chargeType id="1" code="PRCT" name="Процент"/>
|
||||
<chargeDirection id="1" code="GET" name="Получить"/>
|
||||
<chargeDirection id="2" code="PAY" name="Заплатить"/>
|
||||
<clearingStatus id="1" code="OK" name="Успешно"/>
|
||||
<clearingStatus id="2" code="FAIL" name="Не успешно"/>
|
||||
<clearingStatus id="3" code="MNG" name="Не учитывать"/>
|
||||
<clearingStatus id="4" code="PROC" name="К клирингу"/>
|
||||
<balanceAccountType id="1" code="ACNT" name="Остатки по счетам"/>
|
||||
<inOutDirection id="1" code="IN" name="Зачисление"/>
|
||||
<inOutDirection id="2" code="OUT" name="Списание"/>
|
||||
<marketType id="1" code="PRMR" name="Первичное размещение"/>
|
||||
<marketType id="2" code="SCND" name="Вторичные торги"/>
|
||||
<statementType id="1" code="FULL" name="Установка суммы"/>
|
||||
<statementType id="2" code="INCR" name="Изменение суммы"/>
|
||||
<operationType id="1" code="STMT" name="Расчетные операции"/>
|
||||
|
|
@ -272,25 +261,36 @@
|
|||
<operationStatus id="2" code="RJCT" name="Отклонена"/>
|
||||
<operationStatus id="3" code="EXEC" name="Исполнена"/>
|
||||
<operationStatus id="4" code="CNCL" name="Отменена"/>
|
||||
<managementJournalType id="1" code="CRPA" name="Корпоративное событие, связанное с допуском"/>
|
||||
<managementJournalType id="2" code="DFLT" name="Отсутствие возврата по платежу"/>
|
||||
<managementJournalType id="3" code="NOTC" name="Генерация уведомления"/>
|
||||
<managementJournalType id="4" code="SETL" name="Взаимодействие с расчетной организацией"/>
|
||||
<managementJournalStatus id="1" code="CRT" name="Создано"/>
|
||||
<managementJournalPurpose id="1" code="ACC" name="Доступ"/>
|
||||
<managementJournalPurpose id="2" code="NOND" name="Не поставка"/>
|
||||
<managementJournalPurpose id="3" code="DEL" name="Удалена"/>
|
||||
<resultStatus id="1" code="NACK" name="Неуспешно"/>
|
||||
<resultStatus id="2" code="ACK" name="Успешно"/>
|
||||
<inOutSDfType id="1" code="0102" name="Входящий ДФ-01/Исходящий ДФ-02"/>
|
||||
<inOutSDfType id="2" code="1617" name="Входящий ДФ-16/Исходящий ДФ-17"/>
|
||||
<inOutSDfType id="3" code="0910" name="Входящий ДФ-09/Исходящий ДФ-10"/>
|
||||
<objectType id="1" code="STMT" name="STATEMENT"/>
|
||||
<inOutSDfType id="2" code="0607" name="Входящий ДФ-06/Исходящий ДФ-07"/>
|
||||
<inOutSDfType id="3" code="0809" name="Входящий ДФ-08/Исходящий ДФ-09"/>
|
||||
<inOutSDfType id="4" code="1011" name="Входящий ДФ-10/Исходящий ДФ-11"/>
|
||||
<inOutSDfType id="5" code="57" name="Входящий ДФ-57"/>
|
||||
<inOutDirection id="1" code="IN" name="Зачисление"/>
|
||||
<inOutDirection id="2" code="OUT" name="Списание"/>
|
||||
<transactionStatus id="1" code="STLD" name="Рассчитан"/>
|
||||
<transactionStatus id="2" code="SENT" name="Отправлен"/>
|
||||
<transactionStatus id="3" code="OK" name="Обработан"/>
|
||||
<transactionStatus id="4" code="FAIL" name="Ошибка внешней системы"/>
|
||||
<transactionStatus id="5" code="CHER" name="Ошибка КС"/>
|
||||
<transactionStatus id="6" code="NSNT" name="Не отправлен"/>
|
||||
<objectType id="1" code="STMT" name="statement"/>
|
||||
<objectType id="2" code="VFRS" name="verificationResult"/>
|
||||
<notificationStatus id="1" code="PEND" name="В ожидании"/>
|
||||
<notificationStatus id="2" code="CNCL" name="Отменено"/>
|
||||
<notificationStatus id="3" code="ACPT" name="Принято"/>
|
||||
<notificationStatus id="4" code="READ" name="Прочтено"/>
|
||||
<managementJournalType id="1" code="CRPA" name="Корпоративное событие, связанное с допуском"/>
|
||||
<managementJournalType id="2" code="DFLT" name="Отсутствие возврата по платежу"/>
|
||||
<managementJournalType id="3" code="NOTC" name="Генерация уведомления"/>
|
||||
<managementJournalType id="4" code="SETL" name="Взаимодействие с расчетной организацией"/>
|
||||
<managementJournalPurpose id="1" code="ACC" name="Доступ"/>
|
||||
<managementJournalPurpose id="2" code="NOND" name="Не поставка"/>
|
||||
<managementJournalPurpose id="3" code="DEL" name="Удалена"/>
|
||||
<managementJournalStatus id="1" code="CRT" name="Создано"/>
|
||||
<courierType id="1" code="STHS" name="ЭДО с Расчетной Организацией"/>
|
||||
<resultStatus id="1" code="NACK" name="Неуспешно"/>
|
||||
<resultStatus id="2" code="ACK" name="Успешно"/>
|
||||
<eventType id="1" code="CRET" name="Создание"/>
|
||||
<eventType id="2" code="UPDT" name="Обновление"/>
|
||||
<eventType id="3" code="DELT" name="Удаление"/>
|
||||
|
|
@ -349,6 +349,7 @@
|
|||
<errorCode id="3024" code="CMPN" name="Договорные отношения %s в секции МКР уже созданы."/>
|
||||
<errorCode id="3025" code="CMPN" name="Договорные отношения %s на фондовой секции уже созданы."/>
|
||||
<errorCode id="3026" code="CMPN" name="Запись о договорных отношениях не найдена."/>
|
||||
<errorCode id="3027" code="CMPN" name="Код клиента %s не найден."/>
|
||||
|
||||
<!-- error code for report-serivce -->
|
||||
<errorCode id="4000" code="RPRT" name="Общая ошибка модуля report-serivce."/>
|
||||
|
|
@ -368,9 +369,10 @@
|
|||
<errorCode id="5013" code="ACNT" name="Компания %s не найдена."/>
|
||||
<errorCode id="5014" code="ACNT" name="Компания %s неактивна."/>
|
||||
<errorCode id="5015" code="ACNT" name="Для компании %s уже создан информационный счет %s."/>
|
||||
<errorCode id="5016" code="ACNT" name="Для Компании %s уже создан ТКР %s."/>
|
||||
<errorCode id="5017" code="ACNT" name="Для Компании %s отсутствует счет ДЕПО."/>
|
||||
<errorCode id="5018" code="ACNT" name="Для Компании %s отсутствует денежный счет."/>
|
||||
<errorCode id="5016" code="ACNT" name="Для компании %s уже создан ТКР %s."/>
|
||||
<errorCode id="5017" code="ACNT" name="Для компании %s отсутствует счет ДЕПО."/>
|
||||
<errorCode id="5018" code="ACNT" name="Для компании %s отсутствует денежный счет."/>
|
||||
<errorCode id="5019" code="ACNT" name="Для компании %s отсутствует категория %s."/>
|
||||
<!-- error code for balance-service -->
|
||||
<errorCode id="5200" code="BLNC" name="Общая ошибка модуля balance-service."/>
|
||||
<errorCode id="5210" code="BLNC" name="Клиринговая сессия неактивна."/>
|
||||
|
|
@ -406,6 +408,10 @@
|
|||
<errorCode id="5417" code="CLRN" name="Инструмент %s неактивен."/>
|
||||
<errorCode id="5418" code="CLRN" name="Торгово-клиринговый регистр %s не найден для компании %s."/>
|
||||
<errorCode id="5419" code="CLRN" name="Торгово-клиринговый регистр %s неактивен."/>
|
||||
<errorCode id="5420" code="CLRN" name="Доступ к клирингу на «%s» не найден для компании %s."/>
|
||||
<errorCode id="5421" code="CLRN" name="Доступ к клирингу на «%s» неактивен для компании %s."/>
|
||||
<errorCode id="5422" code="CLRN" name="Необеспеченность обязательств у компании %s."/>
|
||||
<errorCode id="5423" code="CLRN" name="Новые сделки отсутствуют."/>
|
||||
<!-- error code for dbf-importer -->
|
||||
<errorCode id="5600" code="DBFI" name="Общая ошибка модуля dbf-importer."/>
|
||||
<!-- error code for dbf-exporter -->
|
||||
|
|
@ -442,6 +448,10 @@
|
|||
<errorCode id="9004" code="BAPI" name="Не может обнаружитьт словарь %s."/>
|
||||
<errorCode id="9005" code="BAPI" name="Не найдено ресурс %s."/>
|
||||
|
||||
<!-- error code for trade-importer -->
|
||||
<errorCode id="10000" code="TRDI" name="Общая ошибка модуля trade-importer."/>
|
||||
<errorCode id="10001" code="TRDI" name="Сделка с номером в ТС = %s некорректна."/>
|
||||
|
||||
</enums>
|
||||
<objects>
|
||||
<company id="1" fullName="АО Санкт-Петербургская Валютная Биржа" shortName="СПВБ" tradingCode="" clearingCode="" workflowStatus="ACTV"/>
|
||||
|
|
@ -456,6 +466,79 @@
|
|||
<account id="1" companyId="1" account="30414810300000006000" accountType="TRAN" status="ACTV" processingSign="ALWD"/>
|
||||
<account id="2" companyId="1" account="30414810600000007000" accountType="ANLT" status="ACTV" processingSign="ALWD"/>
|
||||
|
||||
<market id="1" code="MKRS" name="Денежный рынок МКР" section="MKR"/>
|
||||
<market id="1" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UESC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Обыкновенные акции"/>
|
||||
<market id="2" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NESC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Обыкновенные акции"/>
|
||||
<market id="3" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DESC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Обыкновенные акции"/>
|
||||
<market id="4" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="AESC" name="Размещение: акции (аукцион по цене)" exchangeId="1" description="Размещение: акции (аукцион по цене): Обыкновенные акции"/>
|
||||
<market id="5" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WESC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Обыкновенные акции"/>
|
||||
<market id="6" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UEPC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Привилегированные акции"/>
|
||||
<market id="7" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NEPC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Привилегированные акции"/>
|
||||
<market id="8" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DEPC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Привилегированные акции"/>
|
||||
<market id="9" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="AEPC" name="Размещение: акции (аукцион по цене)" exchangeId="1" description="Размещение: акции (аукцион по цене): Привилегированные акции"/>
|
||||
<market id="10" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WEPC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Привилегированные акции"/>
|
||||
<market id="11" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABVC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Купонные облигации с переменным купоном"/>
|
||||
<market id="12" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBVC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Купонные облигации с переменным купоном"/>
|
||||
<market id="13" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBVC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Купонные облигации с переменным купоном"/>
|
||||
<market id="14" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBVC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Купонные облигации с переменным купоном"/>
|
||||
<market id="15" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBVC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Купонные облигации с переменным купоном"/>
|
||||
<market id="16" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBVC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Купонные облигации с переменным купоном"/>
|
||||
<market id="17" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABFC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Купонные облигации с постоянным купоном"/>
|
||||
<market id="18" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBFC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Купонные облигации с постоянным купоном"/>
|
||||
<market id="19" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBFC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Купонные облигации с постоянным купоном"/>
|
||||
<market id="20" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBFC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Купонные облигации с постоянным купоном"/>
|
||||
<market id="21" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBFC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Купонные облигации с постоянным купоном"/>
|
||||
<market id="22" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBFC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Купонные облигации с постоянным купоном"/>
|
||||
<market id="23" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABIC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Облигации с индексированным номиналом"/>
|
||||
<market id="24" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBIC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Облигации с индексированным номиналом"/>
|
||||
<market id="25" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBIC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации с индексированным номиналом"/>
|
||||
<market id="26" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBIC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации с индексированным номиналом"/>
|
||||
<market id="27" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBIC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации с индексированным номиналом"/>
|
||||
<market id="28" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBIC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Облигации с индексированным номиналом"/>
|
||||
<market id="29" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABMC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Облигации с амортизацией долга"/>
|
||||
<market id="30" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBMC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Облигации с амортизацией долга"/>
|
||||
<market id="31" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBMC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации с амортизацией долга"/>
|
||||
<market id="32" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBMC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации с амортизацией долга"/>
|
||||
<market id="33" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBMC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации с амортизацией долга"/>
|
||||
<market id="34" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBMC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Облигации с амортизацией долга"/>
|
||||
<market id="35" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BKVC" name="Размещение: Аукцион БР" exchangeId="1" description="Размещение: Аукцион БР: Облигации Банка России с переменным купоном (КОБР)"/>
|
||||
<market id="36" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SKVC" name="Доразмещение: Адресные заявки БР" exchangeId="1" description="Доразмещение: Адресные заявки БР: Облигации Банка России с переменным купоном (КОБР)"/>
|
||||
<market id="37" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UKVC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации Банка России с переменным купоном (КОБР)"/>
|
||||
<market id="38" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NKVC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации Банка России с переменным купоном (КОБР)"/>
|
||||
<market id="39" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DKVC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации Банка России с переменным купоном (КОБР)"/>
|
||||
<market id="45" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABEC" name="Размещение: Аукцион СПВБ" exchangeId="1" description="Размещение: Аукцион СПВБ: Биржевые облигации"/>
|
||||
<market id="46" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBEC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Биржевые облигации"/>
|
||||
<market id="47" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBEC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Биржевые облигации"/>
|
||||
<market id="48" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBEC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Биржевые облигации"/>
|
||||
<market id="49" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDT" name="Размещение: депозитный аукцион" exchangeId="1" description="Размещение: депозитный аукцион: МКР"/>
|
||||
<market id="51" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDS" name="Размещение: депозитный аукцион" exchangeId="1" description="Размещение: депозитный аукцион: МКР"/>
|
||||
<market id="52" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDD" name="Размещение: депозитный аукцион" exchangeId="1" description="Размещение: депозитный аукцион: МКР"/>
|
||||
<market id="54" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMTT" name="Размещение: депозитные торги" exchangeId="1" description="Размещение: депозитные торги: МКР"/>
|
||||
<market id="55" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="YMRT" name="Доразмещение: аукцион по ставке депозита" exchangeId="1" description="Доразмещение: аукцион по ставке депозита: МКР"/>
|
||||
<market id="56" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="YMRT" name="Доразмещение: депозитные торги" exchangeId="1" description="Доразмещение: депозитные торги: МКР"/>
|
||||
<market id="58" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="YMTT" name="Доразмещение: депозитные торги" exchangeId="1" description="Доразмещение: депозитные торги: МКР"/>
|
||||
<market id="59" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMXD" name="Размещение: отбор заявок" exchangeId="1" description="Размещение: отбор заявок: МКР"/>
|
||||
<market id="60" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMXX" name="Размещение: отбор заявок" exchangeId="1" description="Размещение: отбор заявок: МКР"/>
|
||||
<market id="61" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMVC" name="ОФЗПК-Размещение: Аукцион БР" exchangeId="1" description="ОФЗПК-Размещение: Аукцион БР: Облигации Минфина"/>
|
||||
<market id="62" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMVC" name="ОФЗПК-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗПК-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
|
||||
<market id="63" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMVC" name="ОФЗПК-Режим непрерывных торгов" exchangeId="1" description="ОФЗПК-Режим непрерывных торгов: Облигации Минфина"/>
|
||||
<market id="64" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMVC" name="ОФЗПК-Дискретный аукцион" exchangeId="1" description="ОФЗПК-Дискретный аукцион: Облигации Минфина"/>
|
||||
<market id="65" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMVC" name="ОФЗПК-Торги в режиме выкупа" exchangeId="1" description="ОФЗПК-Торги в режиме выкупа: Облигации Минфина"/>
|
||||
<market id="66" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMFC" name="ОФЗПД-Размещение: Аукцион БР" exchangeId="1" description="ОФЗПД-Размещение: Аукцион БР: Облигации Минфина"/>
|
||||
<market id="67" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMFC" name="ОФЗПД- Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗПД- Доразмещение: Адресные заявки БР: Облигации Минфина"/>
|
||||
<market id="68" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMFC" name="ОФЗПД-Режим непрерывных торгов" exchangeId="1" description="ОФЗПД-Режим непрерывных торгов: Облигации Минфина"/>
|
||||
<market id="69" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMFC" name="ОФЗПД-Дискретный аукцион" exchangeId="1" description="ОФЗПД-Дискретный аукцион: Облигации Минфина"/>
|
||||
<market id="70" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMFC" name="ОФЗПД-Торги в режиме выкупа" exchangeId="1" description="ОФЗПД-Торги в режиме выкупа: Облигации Минфина"/>
|
||||
<market id="71" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMMC" name="ОФЗАД-Размещение: Аукцион БР" exchangeId="1" description="ОФЗАД-Размещение: Аукцион БР: Облигации Минфина"/>
|
||||
<market id="72" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMMC" name="ОФЗАД-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗАД-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
|
||||
<market id="73" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMMC" name="ОФЗАД-Режим непрерывных торгов" exchangeId="1" description="ОФЗАД-Режим непрерывных торгов: Облигации Минфина"/>
|
||||
<market id="74" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMMC" name="ОФЗАД-Дискретный аукцион" exchangeId="1" description="ОФЗАД-Дискретный аукцион: Облигации Минфина"/>
|
||||
<market id="75" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMMC" name="ОФЗАД-Торги в режиме выкупа" exchangeId="1" description="ОФЗАД-Торги в режиме выкупа: Облигации Минфина"/>
|
||||
<market id="76" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMIC" name="ОФЗИН-Размещение: Аукцион БР" exchangeId="1" description="ОФЗИН-Размещение: Аукцион БР: Облигации Минфина"/>
|
||||
<market id="77" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMIC" name="ОФЗИН-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗИН-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
|
||||
<market id="78" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMIC" name="ОФЗИН-Режим непрерывных торгов" exchangeId="1" description="ОФЗИН-Режим непрерывных торгов: Облигации Минфина"/>
|
||||
<market id="79" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMIC" name="ОФЗИН-Дискретный аукцион" exchangeId="1" description="ОФЗИН-Дискретный аукцион: Облигации Минфина"/>
|
||||
<market id="80" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMIC" name="ОФЗИН-Торги в режиме выкупа" exchangeId="1" description="ОФЗИН-Торги в режиме выкупа: Облигации Минфина"/>
|
||||
</objects>
|
||||
</meta>
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -35,8 +35,6 @@ import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionFondCont
|
|||
import ru.spcex.clearing.backendapi.controller.queue.journal.InDocumentJournalController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.journal.ManagementJournalController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.journal.OutDocumentJournalController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.liabilities.LiabilitiesClaimsAssetController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.liabilities.LiabilitiesClaimsMoneyController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.misc.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.payment.PaymentInstructionController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.register.*;
|
||||
|
|
@ -45,7 +43,6 @@ import ru.spcex.clearing.backendapi.controller.queue.scheduler.*;
|
|||
import ru.spcex.clearing.backendapi.controller.queue.securities.*;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.user.UserController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.user.UserRoleSessionController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.CudKeyRateController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.StatementController;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.utilities.UserSettingsController;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
|
|
@ -85,7 +82,6 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
|
||||
@ContextConfiguration(classes = {
|
||||
//account
|
||||
AccountBalanceController.class,
|
||||
AccountController.class,
|
||||
BankAccountController.class,
|
||||
ClearingAccountController.class,
|
||||
|
|
@ -109,8 +105,6 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
ManagementJournalController.class,
|
||||
OutDocumentJournalController.class,
|
||||
//liabilities
|
||||
LiabilitiesClaimsAssetController.class,
|
||||
LiabilitiesClaimsMoneyController.class,
|
||||
//misc
|
||||
CurrencyController.class,
|
||||
ErrorTextController.class,
|
||||
|
|
@ -121,15 +115,8 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
//payment
|
||||
PaymentInstructionController.class,
|
||||
//register
|
||||
AdmittedDealRegisterController.class,
|
||||
BalanceRegisterController.class,
|
||||
ClearMemberRegisterController.class,
|
||||
ContractRegisterController.class,
|
||||
CoveredDealRegisterController.class,
|
||||
DealRegisterController.class,
|
||||
OrderRegisterController.class,
|
||||
ReportRegisterController.class,
|
||||
UncoveredDealRegisterController.class,
|
||||
//registry
|
||||
TradingClearingRegistryController.class,
|
||||
//scheduler
|
||||
|
|
@ -150,7 +137,6 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
|
|||
UserController.class,
|
||||
UserRoleSessionController.class,
|
||||
//utilities
|
||||
CudKeyRateController.class,
|
||||
StatementController.class,
|
||||
UserSettingsController.class,
|
||||
//******* common configs *******
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.account;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.account.AccountBalance;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
@Deprecated
|
||||
class AccountBalanceControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/account-balances/";
|
||||
|
||||
/**
|
||||
* {@link AccountBalanceController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API и отправку всех записей из таблицы hazelcast Map_BankAccount.<br>
|
||||
* Входной запрос /account-balances/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
AccountBalance existBankAccount = new AccountBalance();
|
||||
existBankAccount.setAccountType("99");
|
||||
existBankAccount.setAccount("123456789123");
|
||||
existBankAccount.setId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_AccountBalance, existBankAccount, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.liabilities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class LiabilitiesClaimsAssetControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/liabilities-claims-assets/";
|
||||
|
||||
/**
|
||||
* {@link LiabilitiesClaimsAssetController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /liabilities-claims-assets/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
LiabilitiesClaimsAssets liabilitiesClaimsAssets = new LiabilitiesClaimsAssets();
|
||||
liabilitiesClaimsAssets.setId(currentId.get());
|
||||
liabilitiesClaimsAssets.setCompanyId(currentId.get());
|
||||
liabilitiesClaimsAssets.setClearingDate(LocalDate.now());
|
||||
liabilitiesClaimsAssets.setAccountId(currentId.get());
|
||||
liabilitiesClaimsAssets.setAccountType("man");
|
||||
liabilitiesClaimsAssets.setAccount("res");
|
||||
liabilitiesClaimsAssets.setLiabilitiesQuantity(new BigDecimal(0));
|
||||
liabilitiesClaimsAssets.setClaimsQuantity(new BigDecimal(0));
|
||||
liabilitiesClaimsAssets.setCurrency("dos");
|
||||
liabilitiesClaimsAssets.setSettlementDate(LocalDate.now());
|
||||
liabilitiesClaimsAssets.setTradingDate(LocalDate.now());
|
||||
liabilitiesClaimsAssets.setRefundDate(LocalDate.now());
|
||||
liabilitiesClaimsAssets.setPrice(new BigDecimal(0));
|
||||
liabilitiesClaimsAssets.setSecurityId(currentId.get());
|
||||
liabilitiesClaimsAssets.setTradingCode("tra");
|
||||
liabilitiesClaimsAssets.setClearingCode("cle");
|
||||
liabilitiesClaimsAssets.setShortName("man");
|
||||
liabilitiesClaimsAssets.setContract("res");
|
||||
liabilitiesClaimsAssets.setComment("com");
|
||||
liabilitiesClaimsAssets.setFullName("send");
|
||||
liabilitiesClaimsAssets.setParentId(currentId.get());
|
||||
liabilitiesClaimsAssets.setLiabilitiesClaimsMoneyId(currentId.get());
|
||||
liabilitiesClaimsAssets.setClearingStatus(currentId.get());
|
||||
liabilitiesClaimsAssets.setPaymentId(currentId.get());
|
||||
liabilitiesClaimsAssets.setRefundPaymentId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_LiabilitiesClaimsAssets, liabilitiesClaimsAssets, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.liabilities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class LiabilitiesClaimsMoneyControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/liabilities-claims-money/";
|
||||
|
||||
/**
|
||||
* {@link LiabilitiesClaimsMoneyController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /liabilities-claims-money/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
LiabilitiesClaimsMoney liabilitiesClaimsMoney = new LiabilitiesClaimsMoney();
|
||||
liabilitiesClaimsMoney.setId(currentId.get());
|
||||
liabilitiesClaimsMoney.setCompanyId(currentId.get());
|
||||
liabilitiesClaimsMoney.setAccountId(currentId.get());
|
||||
liabilitiesClaimsMoney.setAccountType("acc");
|
||||
liabilitiesClaimsMoney.setAccount("acc");
|
||||
liabilitiesClaimsMoney.setLiabilitiesAmount(new BigDecimal(0));
|
||||
liabilitiesClaimsMoney.setClaimsAmount(new BigDecimal(0));
|
||||
liabilitiesClaimsMoney.setSettlementDate(LocalDate.now());
|
||||
liabilitiesClaimsMoney.setTradingDate(LocalDate.now());
|
||||
liabilitiesClaimsMoney.setCurrency("dos");
|
||||
liabilitiesClaimsMoney.setTradingCode("tra");
|
||||
liabilitiesClaimsMoney.setShortName("short");
|
||||
liabilitiesClaimsMoney.setFullName("full");
|
||||
liabilitiesClaimsMoney.setClearingDate(LocalDate.now());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_LiabilitiesClaimsMoney, liabilitiesClaimsMoney, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.register.AdmittedDealRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class AdmittedDealRegisterControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/admitted-deal-registers/";
|
||||
|
||||
/**
|
||||
* {@link AdmittedDealRegisterController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /admitted-deal-registers/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
AdmittedDealRegister admittedDealRegister = new AdmittedDealRegister();
|
||||
admittedDealRegister.setId(currentId.get());
|
||||
admittedDealRegister.setExecutionId(currentId.get());
|
||||
admittedDealRegister.setCompanyFullName("com");
|
||||
admittedDealRegister.setTradingDate(LocalDate.now());
|
||||
admittedDealRegister.setExchangeExecutionId(currentId.get());
|
||||
admittedDealRegister.setExchangeExecutionTime(Instant.now());
|
||||
admittedDealRegister.setSecuritySymbol("symb");
|
||||
admittedDealRegister.setSecurityFullName("name");
|
||||
admittedDealRegister.setSellerFullName("dos");
|
||||
admittedDealRegister.setSellerClearingCode("code");
|
||||
admittedDealRegister.setSellerAccount("acc");
|
||||
admittedDealRegister.setBuyerFullName("name");
|
||||
admittedDealRegister.setBuyerClearingCode("code");
|
||||
admittedDealRegister.setBuyerAccount("buy");
|
||||
admittedDealRegister.setAmount(new BigDecimal(0));
|
||||
admittedDealRegister.setClearingDate(LocalDate.now());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_AdmittedDealRegister, admittedDealRegister, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.misc.BalanceRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
|
||||
class BalanceRegisterControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/balance-registers/";
|
||||
|
||||
/**
|
||||
* {@link BalanceRegisterController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /balance-registers/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
BalanceRegister balanceRegister = new BalanceRegister();
|
||||
balanceRegister.setId(currentId.get());
|
||||
balanceRegister.setsDf01Date(Instant.now());
|
||||
balanceRegister.setCurrencyCode("com");
|
||||
balanceRegister.setSetHouseName("name");
|
||||
balanceRegister.setAccount("acc");
|
||||
balanceRegister.setInfoAccount("acc");
|
||||
balanceRegister.setRemainderSum(new BigDecimal(0));
|
||||
balanceRegister.setBlockedSum(new BigDecimal(0));
|
||||
balanceRegister.setUnblockedSum(new BigDecimal(0));
|
||||
balanceRegister.setInn("code");
|
||||
balanceRegister.setMarket(currentId.get());
|
||||
balanceRegister.setFullName("name");
|
||||
balanceRegister.setTypeRemains("code");
|
||||
balanceRegister.setDocNumber("buy");
|
||||
balanceRegister.setCompanyId(currentId.get());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_BalanceRegister, balanceRegister, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.misc.ClearMemberRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class ClearMemberRegisterControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/clearmember-registers/";
|
||||
|
||||
/**
|
||||
* {@link ClearMemberRegisterController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /clearmember-registers/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
ClearMemberRegister clearMemberRegister = new ClearMemberRegister();
|
||||
clearMemberRegister.setId(currentId.get());
|
||||
clearMemberRegister.setTradingCode("code");
|
||||
clearMemberRegister.setClearingCode("com");
|
||||
clearMemberRegister.setFullName("name");
|
||||
clearMemberRegister.setShortName("name");
|
||||
clearMemberRegister.setCategoryList("cat");
|
||||
clearMemberRegister.setCorporationSole("symb");
|
||||
clearMemberRegister.setAccount("name");
|
||||
clearMemberRegister.setBank(currentId.get());
|
||||
clearMemberRegister.setBankName("code");
|
||||
clearMemberRegister.setInn("acc");
|
||||
clearMemberRegister.setBic("name");
|
||||
clearMemberRegister.setOgrn("code");
|
||||
clearMemberRegister.setCpp("buy");
|
||||
clearMemberRegister.setOcpo("ocpo");
|
||||
clearMemberRegister.setContractNumber("cont");
|
||||
clearMemberRegister.setContractDate(LocalDate.now());
|
||||
clearMemberRegister.setRegistrationDate(LocalDate.now());
|
||||
clearMemberRegister.setSystemDate(LocalDate.now());
|
||||
clearMemberRegister.setAccessDate(Instant.now());
|
||||
clearMemberRegister.setSuspentionDate(Instant.now());
|
||||
clearMemberRegister.setReopeningDate(Instant.now());
|
||||
clearMemberRegister.setCloseDate(Instant.now());
|
||||
clearMemberRegister.setExclusionDate(Instant.now());
|
||||
clearMemberRegister.setAddress("code");
|
||||
clearMemberRegister.setEmail("acc");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_ClearMemberRegister, clearMemberRegister, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.register.CoveredDealRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class CoveredDealRegisterControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/covered-deal-registers/";
|
||||
|
||||
/**
|
||||
* {@link CoveredDealRegisterController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /covered-deal-registers/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
CoveredDealRegister coveredDealRegister = new CoveredDealRegister();
|
||||
coveredDealRegister.setId(currentId.get());
|
||||
coveredDealRegister.setExecutionId(currentId.get());
|
||||
coveredDealRegister.setCompanyFullName("com");
|
||||
coveredDealRegister.setTradingDate(LocalDate.now());
|
||||
coveredDealRegister.setExchangeExecutionId(currentId.get());
|
||||
coveredDealRegister.setExchangeExecutionTime(Instant.now());
|
||||
coveredDealRegister.setSecuritySymbol("symb");
|
||||
coveredDealRegister.setSecurityFullName("name");
|
||||
coveredDealRegister.setSellerFullName("name");
|
||||
coveredDealRegister.setSellerClearingCode("code");
|
||||
coveredDealRegister.setSellerAccount("acc");
|
||||
coveredDealRegister.setBuyerFullName("name");
|
||||
coveredDealRegister.setBuyerClearingCode("code");
|
||||
coveredDealRegister.setBuyerAccount("buy");
|
||||
coveredDealRegister.setAmount(new BigDecimal(0));
|
||||
coveredDealRegister.setClearingDate(LocalDate.now());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_CoveredDealRegister, coveredDealRegister, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.register.DealRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class DealRegisterControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/deal-registers/";
|
||||
|
||||
/**
|
||||
* {@link DealRegisterController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /deal-registers/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
DealRegister dealRegister = new DealRegister();
|
||||
dealRegister.setId(currentId.get());
|
||||
dealRegister.setExecutionId(currentId.get());
|
||||
dealRegister.setExchangeExecutionId(currentId.get());
|
||||
dealRegister.setExchangeExecutionTime(Instant.now());
|
||||
dealRegister.setTradingDate(LocalDate.now());
|
||||
dealRegister.setAccount("cat");
|
||||
dealRegister.setMarket("symb");
|
||||
dealRegister.setPrice(new BigDecimal(0));
|
||||
dealRegister.setAmount(new BigDecimal(0));
|
||||
dealRegister.setSide("code");
|
||||
dealRegister.setSettlementCurrency("acc");
|
||||
dealRegister.setCompanyId(currentId.get());
|
||||
dealRegister.setFirstLegSettlementDate(LocalDate.now());
|
||||
dealRegister.setSecondLegSettlementDate(LocalDate.now());
|
||||
dealRegister.setSecurityFullName("ocpo");
|
||||
dealRegister.setSecuritySymbol("cont");
|
||||
dealRegister.setSecurityId(currentId.get());
|
||||
dealRegister.setCounterPartyId(currentId.get());
|
||||
dealRegister.setCoverageStatus("status");
|
||||
dealRegister.setSessionId(currentId.get());
|
||||
dealRegister.setClearingDate(LocalDate.now());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_DealRegister, dealRegister, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.register.OrderRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class OrderRegisterControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/order-registers/";
|
||||
|
||||
/**
|
||||
* {@link OrderRegisterController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /order-registers/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
OrderRegister orderRegister = new OrderRegister();
|
||||
orderRegister.setId(currentId.get());
|
||||
orderRegister.setCreditLegAccount("code");
|
||||
orderRegister.setCreditLegAmount(new BigDecimal(0));
|
||||
orderRegister.setCreditLegCurrencyCode("name");
|
||||
orderRegister.setCreditLegDirection(currentId.get());
|
||||
orderRegister.setDebitLegAccount("cat");
|
||||
orderRegister.setSender("symb");
|
||||
orderRegister.setAddressee("name");
|
||||
orderRegister.setDocumentNumber("doc");
|
||||
orderRegister.setClearingDate(LocalDate.now());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_OrderRegister, orderRegister, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.register;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.register.UncoveredDealRegister;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class UncoveredDealRegisterControllerTest extends AbstractControllerTest {
|
||||
private static final String REST_URL = "/uncovered-deal-registers/";
|
||||
|
||||
/**
|
||||
* {@link UncoveredDealRegisterController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /uncovered-deal-registers/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
UncoveredDealRegister uncoveredDealRegister = new UncoveredDealRegister();
|
||||
uncoveredDealRegister.setId(currentId.get());
|
||||
uncoveredDealRegister.setExecutionId(currentId.get());
|
||||
uncoveredDealRegister.setCompanyFullName("code");
|
||||
uncoveredDealRegister.setTradingDate(LocalDate.now());
|
||||
uncoveredDealRegister.setExchangeExecutionId(currentId.get());
|
||||
uncoveredDealRegister.setExchangeExecutionTime(Instant.now());
|
||||
uncoveredDealRegister.setSecuritySymbol("sec");
|
||||
uncoveredDealRegister.setSecurityFullName("code");
|
||||
uncoveredDealRegister.setSellerFullName("code");
|
||||
uncoveredDealRegister.setSellerClearingCode("sell");
|
||||
uncoveredDealRegister.setSellerAccount("coment");
|
||||
uncoveredDealRegister.setBuyerFullName("cat");
|
||||
uncoveredDealRegister.setBuyerClearingCode("buyer");
|
||||
uncoveredDealRegister.setBuyerAccount("code");
|
||||
uncoveredDealRegister.setAmount(new BigDecimal(0));
|
||||
uncoveredDealRegister.setResultStatus("res");
|
||||
uncoveredDealRegister.setClearingDate(LocalDate.now());
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_UncoveredDealRegister, uncoveredDealRegister, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -6,9 +6,9 @@ import org.springframework.http.MediaType;
|
|||
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryUpdateAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.registry.TradingClearingRegistryBackendGetById;
|
||||
import ru.spcex.clearing.backendapi.controller.response.entity.registry.TradingClearingRegistryBackendGetFields;
|
||||
import ru.spcex.clearing.backendapi.domain.actions.IAction;
|
||||
|
|
@ -97,7 +97,7 @@ class TradingClearingRegistryControllerTest extends AbstractControllerTest {
|
|||
deleteAction.setId(id);
|
||||
//ACT and ASSERT
|
||||
checkDeletingByRestApi(REST_URL, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_DELETE, deleteAction);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_TRADING_CLEARING_REGISTRY_BLOCK, deleteAction);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,95 +0,0 @@
|
|||
package ru.spcex.clearing.backendapi.controller.queue.utilities;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import ru.clearing.classes.statics.data.misc.KeyRate;
|
||||
import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.KeyRateNewAction;
|
||||
import ru.spcex.clearing.backendapi.controller.request.cud.utilities.KeyRateUpdateAction;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
class CudKeyRateControllerTest extends AbstractControllerTest {
|
||||
public static final String REST_URL = "/utilities/key-rates/";
|
||||
|
||||
/**
|
||||
* {@link CudKeyRateController#add(KeyRateNewAction)} <br>
|
||||
* Тест проверяет получение сущности {@link KeyRateNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link KeyRateNewAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void add() throws Exception {
|
||||
//ARRANGE
|
||||
KeyRateNewAction keyRateUpdateAction = new KeyRateNewAction();
|
||||
// keyRateUpdateAction.setId(currentId.get());
|
||||
keyRateUpdateAction.setRate(new BigDecimal(0));
|
||||
keyRateUpdateAction.setStartDate(LocalDate.now());
|
||||
keyRateUpdateAction.setEndDate(LocalDate.now());
|
||||
keyRateUpdateAction.setDocument("name");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkAddingByRestApi(REST_URL, keyRateUpdateAction);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_KEY_RATE_NEW, keyRateUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudKeyRateController#update(Long, KeyRateUpdateAction)} <br>
|
||||
* Тест проверяет получение сущности {@link KeyRateNewAction} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос {@link KeyRateNewAction}:<br>
|
||||
*/
|
||||
@Test
|
||||
void update() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.get();
|
||||
KeyRateUpdateAction keyRateUpdateAction = new KeyRateUpdateAction();
|
||||
keyRateUpdateAction.setId(id);
|
||||
keyRateUpdateAction.setRate(new BigDecimal(0));
|
||||
keyRateUpdateAction.setStartDate(LocalDate.now());
|
||||
keyRateUpdateAction.setEndDate(LocalDate.now());
|
||||
keyRateUpdateAction.setDocument("name");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkUpdatingByRestApi(REST_URL, keyRateUpdateAction, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_KEY_RATE_UPDATE, keyRateUpdateAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudKeyRateController#delete(Long)} <br>
|
||||
* Тест проверяет получение id сущности {@link Long} по REST API и отправку в Apache Kafka.<br>
|
||||
* Входной запрос /utilities/key-rates/{@link Long}: - 0L<br>
|
||||
*/
|
||||
@Test
|
||||
void delete() throws Exception {
|
||||
//ARRANGE
|
||||
long id = currentId.getAndIncrement();
|
||||
CommonDeleteAction deleteAction = new CommonDeleteAction();
|
||||
deleteAction.setId(id);
|
||||
//ACT and ASSERT
|
||||
checkDeletingByRestApi(REST_URL, id);
|
||||
checkSendedMessegeFromKafka(Consts.DESTINATION_KEY_RATE_DELETE, deleteAction);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link CudKeyRateController#getAll()} <br>
|
||||
* Тест проверяет получение запроса по REST API.<br>
|
||||
* Входной запрос /utilities/key-rates/ <br>
|
||||
* Ответ CommonGetAllResponse <br>
|
||||
*/
|
||||
@Test
|
||||
void getAll() throws Exception {
|
||||
//ARRANGE
|
||||
KeyRate keyRate = new KeyRate();
|
||||
keyRate.setId(currentId.get());
|
||||
keyRate.setRate(new BigDecimal(0));
|
||||
keyRate.setStartDate(LocalDate.now());
|
||||
keyRate.setEndDate(LocalDate.now());
|
||||
keyRate.setDocument("name");
|
||||
keyRate.setWorkflowStatus("name");
|
||||
|
||||
//ACT and ASSERT
|
||||
checkGettingAllFromRestApi(IMDGDistributedNames.Map_KeyRate, keyRate, REST_URL);
|
||||
}
|
||||
}
|
||||
|
|
@ -30,6 +30,7 @@ import java.util.function.Function;
|
|||
|
||||
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
|
||||
|
||||
@Deprecated
|
||||
@Component
|
||||
public class AccountBalanceService {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import java.math.BigDecimal;
|
|||
import java.util.Optional;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
@Deprecated // sDf16 was deleted
|
||||
class Sdf16ValidationRuleTest {
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import ru.clearing.classes.objects.BusinessObject;
|
|||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Deprecated
|
||||
public class LiabilitiesClaimsAssets extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import ru.clearing.classes.objects.BusinessObject;
|
|||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Deprecated
|
||||
public class LiabilitiesClaimsMoney extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
private Long companyId;
|
||||
|
|
|
|||
|
|
@ -1,138 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.misc;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
|
||||
public class BalanceRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Instant sDf01Date;
|
||||
private String currencyCode;
|
||||
private String setHouseName;
|
||||
private String account;
|
||||
private String infoAccount;
|
||||
private BigDecimal remainderSum;
|
||||
private BigDecimal blockedSum;
|
||||
private BigDecimal unblockedSum;
|
||||
private String inn;
|
||||
private Long market;
|
||||
private String fullName;
|
||||
private String typeRemains;
|
||||
private String docNumber;
|
||||
private Long companyId;
|
||||
|
||||
public Instant getsDf01Date() {
|
||||
return sDf01Date;
|
||||
}
|
||||
|
||||
public void setsDf01Date(Instant sDf01Date) {
|
||||
this.sDf01Date = sDf01Date;
|
||||
}
|
||||
|
||||
public String getCurrencyCode() {
|
||||
return currencyCode;
|
||||
}
|
||||
|
||||
public void setCurrencyCode(String currencyCode) {
|
||||
this.currencyCode = currencyCode;
|
||||
}
|
||||
|
||||
public String getSetHouseName() {
|
||||
return setHouseName;
|
||||
}
|
||||
|
||||
public void setSetHouseName(String setHouseName) {
|
||||
this.setHouseName = setHouseName;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public String getInfoAccount() {
|
||||
return infoAccount;
|
||||
}
|
||||
|
||||
public void setInfoAccount(String infoAccount) {
|
||||
this.infoAccount = infoAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getRemainderSum() {
|
||||
return remainderSum;
|
||||
}
|
||||
|
||||
public void setRemainderSum(BigDecimal remainderSum) {
|
||||
this.remainderSum = remainderSum;
|
||||
}
|
||||
|
||||
public BigDecimal getBlockedSum() {
|
||||
return blockedSum;
|
||||
}
|
||||
|
||||
public void setBlockedSum(BigDecimal blockedSum) {
|
||||
this.blockedSum = blockedSum;
|
||||
}
|
||||
|
||||
public BigDecimal getUnblockedSum() {
|
||||
return unblockedSum;
|
||||
}
|
||||
|
||||
public void setUnblockedSum(BigDecimal unblockedSum) {
|
||||
this.unblockedSum = unblockedSum;
|
||||
}
|
||||
|
||||
public String getInn() {
|
||||
return inn;
|
||||
}
|
||||
|
||||
public void setInn(String inn) {
|
||||
this.inn = inn;
|
||||
}
|
||||
|
||||
public Long getMarket() {
|
||||
return market;
|
||||
}
|
||||
|
||||
public void setMarket(Long market) {
|
||||
this.market = market;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getTypeRemains() {
|
||||
return typeRemains;
|
||||
}
|
||||
|
||||
public void setTypeRemains(String typeRemains) {
|
||||
this.typeRemains = typeRemains;
|
||||
}
|
||||
|
||||
public String getDocNumber() {
|
||||
return docNumber;
|
||||
}
|
||||
|
||||
public void setDocNumber(String docNumber) {
|
||||
this.docNumber = docNumber;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,236 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.misc;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class ClearMemberRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
private String tradingCode;
|
||||
private String clearingCode;
|
||||
private String fullName;
|
||||
private String shortName;
|
||||
private String categoryList;
|
||||
private String corporationSole;
|
||||
private String account;
|
||||
private Long bank;
|
||||
private String bankName;
|
||||
private String inn;
|
||||
private String bic;
|
||||
private String ogrn;
|
||||
private String cpp;
|
||||
private String ocpo;
|
||||
private String contractNumber;
|
||||
private LocalDate contractDate;
|
||||
private LocalDate registrationDate;
|
||||
private LocalDate systemDate;
|
||||
private Instant accessDate;
|
||||
private Instant suspentionDate;
|
||||
private Instant reopeningDate;
|
||||
private Instant closeDate;
|
||||
private Instant exclusionDate;
|
||||
private String address;
|
||||
private String email;
|
||||
|
||||
public String getTradingCode() {
|
||||
return tradingCode;
|
||||
}
|
||||
|
||||
public void setTradingCode(String tradingCode) {
|
||||
this.tradingCode = tradingCode;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
|
||||
public void setFullName(String fullName) {
|
||||
this.fullName = fullName;
|
||||
}
|
||||
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
public void setShortName(String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public String getCategoryList() {
|
||||
return categoryList;
|
||||
}
|
||||
|
||||
public void setCategoryList(String categoryList) {
|
||||
this.categoryList = categoryList;
|
||||
}
|
||||
|
||||
public String getCorporationSole() {
|
||||
return corporationSole;
|
||||
}
|
||||
|
||||
public void setCorporationSole(String corporationSole) {
|
||||
this.corporationSole = corporationSole;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public Long getBank() {
|
||||
return bank;
|
||||
}
|
||||
|
||||
public void setBank(Long bank) {
|
||||
this.bank = bank;
|
||||
}
|
||||
|
||||
public String getBankName() {
|
||||
return bankName;
|
||||
}
|
||||
|
||||
public void setBankName(String bankName) {
|
||||
this.bankName = bankName;
|
||||
}
|
||||
|
||||
public String getInn() {
|
||||
return inn;
|
||||
}
|
||||
|
||||
public void setInn(String inn) {
|
||||
this.inn = inn;
|
||||
}
|
||||
|
||||
public String getBic() {
|
||||
return bic;
|
||||
}
|
||||
|
||||
public void setBic(String bic) {
|
||||
this.bic = bic;
|
||||
}
|
||||
|
||||
public String getOgrn() {
|
||||
return ogrn;
|
||||
}
|
||||
|
||||
public void setOgrn(String ogrn) {
|
||||
this.ogrn = ogrn;
|
||||
}
|
||||
|
||||
public String getCpp() {
|
||||
return cpp;
|
||||
}
|
||||
|
||||
public void setCpp(String cpp) {
|
||||
this.cpp = cpp;
|
||||
}
|
||||
|
||||
public String getOcpo() {
|
||||
return ocpo;
|
||||
}
|
||||
|
||||
public void setOcpo(String ocpo) {
|
||||
this.ocpo = ocpo;
|
||||
}
|
||||
|
||||
public String getContractNumber() {
|
||||
return contractNumber;
|
||||
}
|
||||
|
||||
public void setContractNumber(String contractNumber) {
|
||||
this.contractNumber = contractNumber;
|
||||
}
|
||||
|
||||
public LocalDate getContractDate() {
|
||||
return contractDate;
|
||||
}
|
||||
|
||||
public void setContractDate(LocalDate contractDate) {
|
||||
this.contractDate = contractDate;
|
||||
}
|
||||
|
||||
public LocalDate getRegistrationDate() {
|
||||
return registrationDate;
|
||||
}
|
||||
|
||||
public void setRegistrationDate(LocalDate registrationDate) {
|
||||
this.registrationDate = registrationDate;
|
||||
}
|
||||
|
||||
public LocalDate getSystemDate() {
|
||||
return systemDate;
|
||||
}
|
||||
|
||||
public void setSystemDate(LocalDate systemDate) {
|
||||
this.systemDate = systemDate;
|
||||
}
|
||||
|
||||
public Instant getAccessDate() {
|
||||
return accessDate;
|
||||
}
|
||||
|
||||
public void setAccessDate(Instant accessDate) {
|
||||
this.accessDate = accessDate;
|
||||
}
|
||||
|
||||
public Instant getSuspentionDate() {
|
||||
return suspentionDate;
|
||||
}
|
||||
|
||||
public void setSuspentionDate(Instant suspentionDate) {
|
||||
this.suspentionDate = suspentionDate;
|
||||
}
|
||||
|
||||
public Instant getReopeningDate() {
|
||||
return reopeningDate;
|
||||
}
|
||||
|
||||
public void setReopeningDate(Instant reopeningDate) {
|
||||
this.reopeningDate = reopeningDate;
|
||||
}
|
||||
|
||||
public Instant getCloseDate() {
|
||||
return closeDate;
|
||||
}
|
||||
|
||||
public void setCloseDate(Instant closeDate) {
|
||||
this.closeDate = closeDate;
|
||||
}
|
||||
|
||||
public Instant getExclusionDate() {
|
||||
return exclusionDate;
|
||||
}
|
||||
|
||||
public void setExclusionDate(Instant exclusionDate) {
|
||||
this.exclusionDate = exclusionDate;
|
||||
}
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
}
|
||||
|
|
@ -10,6 +10,7 @@ import java.time.LocalDate;
|
|||
* <p>
|
||||
* DB table: KEY_RATE
|
||||
**/
|
||||
@Deprecated
|
||||
public class KeyRate extends SpcexObjectBase {
|
||||
private BigDecimal rate;
|
||||
private LocalDate startDate;
|
||||
|
|
|
|||
|
|
@ -1,153 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Реестр сделок допущенных к клирингу
|
||||
* <p>
|
||||
* DB table: ADMITTED_DEAL_REGISTER
|
||||
**/
|
||||
public class AdmittedDealRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long executionId;
|
||||
private String companyFullName;
|
||||
private LocalDate tradingDate;
|
||||
private Long exchangeExecutionId;
|
||||
private Instant exchangeExecutionTime;
|
||||
private String securitySymbol;
|
||||
private String securityFullName;
|
||||
private String sellerFullName;
|
||||
private String sellerClearingCode;
|
||||
private String sellerAccount;
|
||||
private String buyerFullName;
|
||||
private String buyerClearingCode;
|
||||
private String buyerAccount;
|
||||
private BigDecimal amount;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public Long getExecutionId() {
|
||||
return executionId;
|
||||
}
|
||||
|
||||
public void setExecutionId(Long executionId) {
|
||||
this.executionId = executionId;
|
||||
}
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
}
|
||||
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(LocalDate tradingDate) {
|
||||
this.tradingDate = tradingDate;
|
||||
}
|
||||
|
||||
public Long getExchangeExecutionId() {
|
||||
return exchangeExecutionId;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionId(Long exchangeExecutionId) {
|
||||
this.exchangeExecutionId = exchangeExecutionId;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionTime() {
|
||||
return exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionTime(Instant exchangeExecutionTime) {
|
||||
this.exchangeExecutionTime = exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String securityFullName) {
|
||||
this.securityFullName = securityFullName;
|
||||
}
|
||||
|
||||
public String getSellerFullName() {
|
||||
return sellerFullName;
|
||||
}
|
||||
|
||||
public void setSellerFullName(String sellerFullName) {
|
||||
this.sellerFullName = sellerFullName;
|
||||
}
|
||||
|
||||
public String getSellerClearingCode() {
|
||||
return sellerClearingCode;
|
||||
}
|
||||
|
||||
public void setSellerClearingCode(String sellerClearingCode) {
|
||||
this.sellerClearingCode = sellerClearingCode;
|
||||
}
|
||||
|
||||
public String getSellerAccount() {
|
||||
return sellerAccount;
|
||||
}
|
||||
|
||||
public void setSellerAccount(String sellerAccount) {
|
||||
this.sellerAccount = sellerAccount;
|
||||
}
|
||||
|
||||
public String getBuyerFullName() {
|
||||
return buyerFullName;
|
||||
}
|
||||
|
||||
public void setBuyerFullName(String buyerFullName) {
|
||||
this.buyerFullName = buyerFullName;
|
||||
}
|
||||
|
||||
public String getBuyerClearingCode() {
|
||||
return buyerClearingCode;
|
||||
}
|
||||
|
||||
public void setBuyerClearingCode(String buyerClearingCode) {
|
||||
this.buyerClearingCode = buyerClearingCode;
|
||||
}
|
||||
|
||||
public String getBuyerAccount() {
|
||||
return buyerAccount;
|
||||
}
|
||||
|
||||
public void setBuyerAccount(String buyerAccount) {
|
||||
this.buyerAccount = buyerAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,21 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Реестр обязательств, допущенных к клирингу
|
||||
*
|
||||
* DB table: ADMITTED_LIABILITIES_REGISTER
|
||||
**/
|
||||
public class AdmittedLiabilitiesRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private String companyFullName;
|
||||
private Long sessionId;
|
||||
private String securitySymbol;
|
||||
|
|
@ -14,104 +24,69 @@ public class AdmittedLiabilitiesRegister extends BusinessObject {
|
|||
private String clearingCode;
|
||||
private String account;
|
||||
private BigDecimal amount;
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
private Instant clearingDate;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
public void setCompanyFullName(String value) {
|
||||
this.companyFullName=value;
|
||||
}
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public void setSessionId(Long sessionId) {
|
||||
this.sessionId = sessionId;
|
||||
public void setSessionId(Long value) {
|
||||
this.sessionId=value;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
public void setSecuritySymbol(String value) {
|
||||
this.securitySymbol=value;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String securityFullName) {
|
||||
this.securityFullName = securityFullName;
|
||||
public void setSecurityFullName(String value) {
|
||||
this.securityFullName=value;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
public void setCompanyId(Long value) {
|
||||
this.companyId=value;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
public void setClearingCode(String value) {
|
||||
this.clearingCode=value;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
public void setAccount(String value) {
|
||||
this.account=value;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
public void setAmount(BigDecimal value) {
|
||||
this.amount=value;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public Instant getClearingDate() {
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
public void setClearingDate(LocalDate value) {
|
||||
this.clearingDate=value;
|
||||
}
|
||||
|
||||
public void setClearingDate(Instant clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
/**
|
||||
* Журнал изменений информации участников клиринга
|
||||
**/
|
||||
public class ClearMemberRegisterChange extends SpcexObjectBase {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Instant date;
|
||||
private String comment;
|
||||
private String clearingCode;
|
||||
|
||||
public Instant getDate() {
|
||||
return date;
|
||||
}
|
||||
|
||||
public void setDate(Instant date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public String getComment() {
|
||||
return comment;
|
||||
}
|
||||
|
||||
public void setComment(String comment) {
|
||||
this.comment = comment;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,148 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class CoveredDealRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long executionId;
|
||||
private String companyFullName;
|
||||
private LocalDate tradingDate;
|
||||
private Long exchangeExecutionId;
|
||||
private Instant exchangeExecutionTime;
|
||||
private String securitySymbol;
|
||||
private String securityFullName;
|
||||
private String sellerFullName;
|
||||
private String sellerClearingCode;
|
||||
private String sellerAccount;
|
||||
private String buyerFullName;
|
||||
private String buyerClearingCode;
|
||||
private String buyerAccount;
|
||||
private BigDecimal amount;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public Long getExecutionId() {
|
||||
return executionId;
|
||||
}
|
||||
|
||||
public void setExecutionId(Long executionId) {
|
||||
this.executionId = executionId;
|
||||
}
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
}
|
||||
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(LocalDate tradingDate) {
|
||||
this.tradingDate = tradingDate;
|
||||
}
|
||||
|
||||
public Long getExchangeExecutionId() {
|
||||
return exchangeExecutionId;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionId(Long exchangeExecutionId) {
|
||||
this.exchangeExecutionId = exchangeExecutionId;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionTime() {
|
||||
return exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionTime(Instant exchangeExecutionTime) {
|
||||
this.exchangeExecutionTime = exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String securityFullName) {
|
||||
this.securityFullName = securityFullName;
|
||||
}
|
||||
|
||||
public String getSellerFullName() {
|
||||
return sellerFullName;
|
||||
}
|
||||
|
||||
public void setSellerFullName(String sellerFullName) {
|
||||
this.sellerFullName = sellerFullName;
|
||||
}
|
||||
|
||||
public String getSellerClearingCode() {
|
||||
return sellerClearingCode;
|
||||
}
|
||||
|
||||
public void setSellerClearingCode(String sellerClearingCode) {
|
||||
this.sellerClearingCode = sellerClearingCode;
|
||||
}
|
||||
|
||||
public String getSellerAccount() {
|
||||
return sellerAccount;
|
||||
}
|
||||
|
||||
public void setSellerAccount(String sellerAccount) {
|
||||
this.sellerAccount = sellerAccount;
|
||||
}
|
||||
|
||||
public String getBuyerFullName() {
|
||||
return buyerFullName;
|
||||
}
|
||||
|
||||
public void setBuyerFullName(String buyerFullName) {
|
||||
this.buyerFullName = buyerFullName;
|
||||
}
|
||||
|
||||
public String getBuyerClearingCode() {
|
||||
return buyerClearingCode;
|
||||
}
|
||||
|
||||
public void setBuyerClearingCode(String buyerClearingCode) {
|
||||
this.buyerClearingCode = buyerClearingCode;
|
||||
}
|
||||
|
||||
public String getBuyerAccount() {
|
||||
return buyerAccount;
|
||||
}
|
||||
|
||||
public void setBuyerAccount(String buyerAccount) {
|
||||
this.buyerAccount = buyerAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,21 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Реестр обязательств, прошедших процедуру контроля обеспечения
|
||||
* <p>
|
||||
* DB table: COVERED_LIABILITIES_REGISTER
|
||||
**/
|
||||
public class CoveredLiabilitiesRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private String companyFullName;
|
||||
private Long sessionId;
|
||||
private String securitySymbol;
|
||||
|
|
@ -14,104 +24,78 @@ public class CoveredLiabilitiesRegister extends BusinessObject {
|
|||
private String clearingCode;
|
||||
private String account;
|
||||
private BigDecimal amount;
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
private Instant clearingDate;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
public void setCompanyFullName(String value) {
|
||||
this.companyFullName = value;
|
||||
}
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public void setSessionId(Long sessionId) {
|
||||
this.sessionId = sessionId;
|
||||
public void setSessionId(Long value) {
|
||||
this.sessionId = value;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
public void setSecuritySymbol(String value) {
|
||||
this.securitySymbol = value;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String securityFullName) {
|
||||
this.securityFullName = securityFullName;
|
||||
public void setSecurityFullName(String value) {
|
||||
this.securityFullName = value;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
public void setCompanyId(Long value) {
|
||||
this.companyId = value;
|
||||
}
|
||||
|
||||
public String getClearingCode() {
|
||||
return clearingCode;
|
||||
}
|
||||
|
||||
public void setClearingCode(String clearingCode) {
|
||||
this.clearingCode = clearingCode;
|
||||
public void setClearingCode(String value) {
|
||||
this.clearingCode = value;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
public void setAccount(String value) {
|
||||
this.account = value;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
public void setAmount(BigDecimal value) {
|
||||
this.amount = value;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public Instant getClearingDate() {
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(Instant clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
public void setClearingDate(LocalDate value) {
|
||||
this.clearingDate = value;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,190 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class DealRegister extends BusinessObject {
|
||||
private Long executionId;
|
||||
private Long exchangeExecutionId;
|
||||
private Instant exchangeExecutionTime;
|
||||
private LocalDate tradingDate;
|
||||
private String account;
|
||||
private String market;
|
||||
private BigDecimal price;
|
||||
private BigDecimal amount;
|
||||
private String side;
|
||||
private String settlementCurrency;
|
||||
private Long companyId;
|
||||
private LocalDate firstLegSettlementDate;
|
||||
private LocalDate secondLegSettlementDate;
|
||||
private String securityFullName;
|
||||
private String securitySymbol;
|
||||
private Long securityId;
|
||||
private Long counterPartyId;
|
||||
private String coverageStatus;
|
||||
private Long sessionId;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public Long getExecutionId() {
|
||||
return executionId;
|
||||
}
|
||||
|
||||
public void setExecutionId(Long executionId) {
|
||||
this.executionId = executionId;
|
||||
}
|
||||
|
||||
public Long getExchangeExecutionId() {
|
||||
return exchangeExecutionId;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionId(Long exchangeExecutionId) {
|
||||
this.exchangeExecutionId = exchangeExecutionId;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionTime() {
|
||||
return exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionTime(Instant exchangeExecutionTime) {
|
||||
this.exchangeExecutionTime = exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(LocalDate tradingDate) {
|
||||
this.tradingDate = tradingDate;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
}
|
||||
|
||||
public String getMarket() {
|
||||
return market;
|
||||
}
|
||||
|
||||
public void setMarket(String market) {
|
||||
this.market = market;
|
||||
}
|
||||
|
||||
public BigDecimal getPrice() {
|
||||
return price;
|
||||
}
|
||||
|
||||
public void setPrice(BigDecimal price) {
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public String getSide() {
|
||||
return side;
|
||||
}
|
||||
|
||||
public void setSide(String side) {
|
||||
this.side = side;
|
||||
}
|
||||
|
||||
public String getSettlementCurrency() {
|
||||
return settlementCurrency;
|
||||
}
|
||||
|
||||
public void setSettlementCurrency(String settlementCurrency) {
|
||||
this.settlementCurrency = settlementCurrency;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public LocalDate getFirstLegSettlementDate() {
|
||||
return firstLegSettlementDate;
|
||||
}
|
||||
|
||||
public void setFirstLegSettlementDate(LocalDate firstLegSettlementDate) {
|
||||
this.firstLegSettlementDate = firstLegSettlementDate;
|
||||
}
|
||||
|
||||
public LocalDate getSecondLegSettlementDate() {
|
||||
return secondLegSettlementDate;
|
||||
}
|
||||
|
||||
public void setSecondLegSettlementDate(LocalDate secondLegSettlementDate) {
|
||||
this.secondLegSettlementDate = secondLegSettlementDate;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String securityFullName) {
|
||||
this.securityFullName = securityFullName;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public Long getSecurityId() {
|
||||
return securityId;
|
||||
}
|
||||
|
||||
public void setSecurityId(Long securityId) {
|
||||
this.securityId = securityId;
|
||||
}
|
||||
|
||||
public Long getCounterPartyId() {
|
||||
return counterPartyId;
|
||||
}
|
||||
|
||||
public void setCounterPartyId(Long counterPartyId) {
|
||||
this.counterPartyId = counterPartyId;
|
||||
}
|
||||
|
||||
public String getCoverageStatus() {
|
||||
return coverageStatus;
|
||||
}
|
||||
|
||||
public void setCoverageStatus(String coverageStatus) {
|
||||
this.coverageStatus = coverageStatus;
|
||||
}
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public void setSessionId(Long sessionId) {
|
||||
this.sessionId = sessionId;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,81 +1,60 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
|
||||
/**
|
||||
* Реестр остатков ценных бумаг
|
||||
*
|
||||
* DB table: DEPO_BALANCE_REGISTER
|
||||
**/
|
||||
public class DepoBalanceRegister extends BusinessObject {
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
private String companyId;
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long companyId;
|
||||
private Long sessionId;
|
||||
private String depoCode;
|
||||
private String quantity;
|
||||
private String securityCode;
|
||||
private BigDecimal quantity;
|
||||
private String securitySymbol;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public String getCompanyId() {
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(String companyId) {
|
||||
this.companyId = companyId;
|
||||
public void setCompanyId(Long value) {
|
||||
this.companyId=value;
|
||||
}
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public void setSessionId(Long sessionId) {
|
||||
this.sessionId = sessionId;
|
||||
public void setSessionId(Long value) {
|
||||
this.sessionId=value;
|
||||
}
|
||||
|
||||
public String getDepoCode() {
|
||||
return depoCode;
|
||||
}
|
||||
|
||||
public void setDepoCode(String depoCode) {
|
||||
this.depoCode = depoCode;
|
||||
public void setDepoCode(String value) {
|
||||
this.depoCode=value;
|
||||
}
|
||||
|
||||
public String getQuantity() {
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(String quantity) {
|
||||
this.quantity = quantity;
|
||||
public void setQuantity(BigDecimal value) {
|
||||
this.quantity=value;
|
||||
}
|
||||
|
||||
public String getSecurityCode() {
|
||||
return securityCode;
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
public void setSecuritySymbol(String value) {
|
||||
this.securitySymbol=value;
|
||||
}
|
||||
|
||||
public void setSecurityCode(String securityCode) {
|
||||
this.securityCode = securityCode;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,18 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
|
||||
/**
|
||||
* Реестр распоряжений, направленных расчетному депозитарию
|
||||
*
|
||||
* DB table: DEPO_PAYMENT_INSTRUCTION_REGISTER
|
||||
**/
|
||||
public class DepoPaymentInstructionRegister extends BusinessObject {
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long companyId;
|
||||
private String tradingClearingRegistryType;
|
||||
private String tradingClearingRegistry;
|
||||
|
|
@ -17,83 +21,53 @@ public class DepoPaymentInstructionRegister extends BusinessObject {
|
|||
private Long direction;
|
||||
private Long sessionId;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
public void setCompanyId(Long value) {
|
||||
this.companyId=value;
|
||||
}
|
||||
|
||||
public String getTradingClearingRegistryType() {
|
||||
return tradingClearingRegistryType;
|
||||
}
|
||||
|
||||
public void setTradingClearingRegistryType(String tradingClearingRegistryType) {
|
||||
this.tradingClearingRegistryType = tradingClearingRegistryType;
|
||||
public void setTradingClearingRegistryType(String value) {
|
||||
this.tradingClearingRegistryType=value;
|
||||
}
|
||||
|
||||
public String getTradingClearingRegistry() {
|
||||
return tradingClearingRegistry;
|
||||
}
|
||||
|
||||
public void setTradingClearingRegistry(String tradingClearingRegistry) {
|
||||
this.tradingClearingRegistry = tradingClearingRegistry;
|
||||
public void setTradingClearingRegistry(String value) {
|
||||
this.tradingClearingRegistry=value;
|
||||
}
|
||||
|
||||
public String getCbCode() {
|
||||
return cbCode;
|
||||
}
|
||||
|
||||
public void setCbCode(String cbCode) {
|
||||
this.cbCode = cbCode;
|
||||
public void setCbCode(String value) {
|
||||
this.cbCode=value;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal quantity) {
|
||||
this.quantity = quantity;
|
||||
public void setQuantity(BigDecimal value) {
|
||||
this.quantity=value;
|
||||
}
|
||||
|
||||
public Long getDirection() {
|
||||
return direction;
|
||||
}
|
||||
|
||||
public void setDirection(Long direction) {
|
||||
this.direction = direction;
|
||||
public void setDirection(Long value) {
|
||||
this.direction=value;
|
||||
}
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
public void setSessionId(Long value) {
|
||||
this.sessionId=value;
|
||||
}
|
||||
|
||||
public void setSessionId(Long sessionId) {
|
||||
this.sessionId = sessionId;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +1,23 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Реестр обязательств, исключенных из клирингового пула
|
||||
*
|
||||
* DB table: EXCLUDE_LIABILITIES_REGISTER
|
||||
**/
|
||||
public class ExcludeLiabilitiesRegister extends BusinessObject {
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long sessionId;
|
||||
private Instant validFromDate;
|
||||
private Instant validToDate;
|
||||
private LocalDate validFromDate;
|
||||
private LocalDate validToDate;
|
||||
private Long companyId;
|
||||
private String companyFullName;
|
||||
private String inn;
|
||||
|
|
@ -21,133 +27,98 @@ public class ExcludeLiabilitiesRegister extends BusinessObject {
|
|||
private String registryStatus;
|
||||
private String currency;
|
||||
private BigDecimal sumLiabilities;
|
||||
private Instant settlementDate;
|
||||
private LocalDate settlementDate;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public void setSessionId(Long sessionId) {
|
||||
this.sessionId = sessionId;
|
||||
public void setSessionId(Long value) {
|
||||
this.sessionId=value;
|
||||
}
|
||||
|
||||
public Instant getValidFromDate() {
|
||||
public LocalDate getValidFromDate() {
|
||||
return validFromDate;
|
||||
}
|
||||
|
||||
public void setValidFromDate(Instant validFromDate) {
|
||||
this.validFromDate = validFromDate;
|
||||
public void setValidFromDate(LocalDate value) {
|
||||
this.validFromDate=value;
|
||||
}
|
||||
|
||||
public Instant getValidToDate() {
|
||||
public LocalDate getValidToDate() {
|
||||
return validToDate;
|
||||
}
|
||||
|
||||
public void setValidToDate(Instant validToDate) {
|
||||
this.validToDate = validToDate;
|
||||
public void setValidToDate(LocalDate value) {
|
||||
this.validToDate=value;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
public void setCompanyId(Long value) {
|
||||
this.companyId=value;
|
||||
}
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
public void setCompanyFullName(String value) {
|
||||
this.companyFullName=value;
|
||||
}
|
||||
|
||||
public String getInn() {
|
||||
return inn;
|
||||
}
|
||||
|
||||
public void setInn(String inn) {
|
||||
this.inn = inn;
|
||||
public void setInn(String value) {
|
||||
this.inn=value;
|
||||
}
|
||||
|
||||
public String getSegment() {
|
||||
return segment;
|
||||
}
|
||||
|
||||
public void setSegment(String segment) {
|
||||
this.segment = segment;
|
||||
public void setSegment(String value) {
|
||||
this.segment=value;
|
||||
}
|
||||
|
||||
public String getRegistryCode() {
|
||||
return registryCode;
|
||||
}
|
||||
|
||||
public void setRegistryCode(String registryCode) {
|
||||
this.registryCode = registryCode;
|
||||
public void setRegistryCode(String value) {
|
||||
this.registryCode=value;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
public void setAccount(String value) {
|
||||
this.account=value;
|
||||
}
|
||||
|
||||
public String getRegistryStatus() {
|
||||
return registryStatus;
|
||||
}
|
||||
|
||||
public void setRegistryStatus(String registryStatus) {
|
||||
this.registryStatus = registryStatus;
|
||||
public void setRegistryStatus(String value) {
|
||||
this.registryStatus=value;
|
||||
}
|
||||
|
||||
public String getCurrency() {
|
||||
return currency;
|
||||
}
|
||||
|
||||
public void setCurrency(String currency) {
|
||||
this.currency = currency;
|
||||
public void setCurrency(String value) {
|
||||
this.currency=value;
|
||||
}
|
||||
|
||||
public BigDecimal getSumLiabilities() {
|
||||
return sumLiabilities;
|
||||
}
|
||||
|
||||
public void setSumLiabilities(BigDecimal sumLiabilities) {
|
||||
this.sumLiabilities = sumLiabilities;
|
||||
public void setSumLiabilities(BigDecimal value) {
|
||||
this.sumLiabilities=value;
|
||||
}
|
||||
|
||||
public Instant getSettlementDate() {
|
||||
public LocalDate getSettlementDate() {
|
||||
return settlementDate;
|
||||
}
|
||||
public void setSettlementDate(LocalDate value) {
|
||||
this.settlementDate=value;
|
||||
}
|
||||
|
||||
public void setSettlementDate(Instant settlementDate) {
|
||||
this.settlementDate = settlementDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,189 +1,157 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Реестр сделок
|
||||
*
|
||||
* DB table: EXECUTION_REGISTER
|
||||
**/
|
||||
public class ExecutionRegister extends BusinessObject {
|
||||
private Instant tradingDate;
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private LocalDate tradingDate;
|
||||
private Long exchangeExecutionId;
|
||||
private Instant exchangeExecutionTime;
|
||||
private Long securityId;
|
||||
private Long seller;
|
||||
private Long sellerId;
|
||||
private String sellerClearingCode;
|
||||
private String sellerTradingClearingRegister;
|
||||
private String sellerMoneyAccount;
|
||||
private String sellerDepoAccount;
|
||||
private Long buyer;
|
||||
private Long buyerId;
|
||||
private String buyerClearingCode;
|
||||
private String buyerTradingClearingRegister;
|
||||
private String buyerMoneyAccount;
|
||||
private String buyerDepoAccount;
|
||||
private BigDecimal amount;
|
||||
private BigDecimal quantity;
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
private Instant clearingDate;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public Instant getTradingDate() {
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(Instant tradingDate) {
|
||||
this.tradingDate = tradingDate;
|
||||
public void setTradingDate(LocalDate value) {
|
||||
this.tradingDate=value;
|
||||
}
|
||||
|
||||
public Long getExchangeExecutionId() {
|
||||
return exchangeExecutionId;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionId(Long exchangeExecutionId) {
|
||||
this.exchangeExecutionId = exchangeExecutionId;
|
||||
public void setExchangeExecutionId(Long value) {
|
||||
this.exchangeExecutionId=value;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionTime() {
|
||||
return exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionTime(Instant exchangeExecutionTime) {
|
||||
this.exchangeExecutionTime = exchangeExecutionTime;
|
||||
public void setExchangeExecutionTime(Instant value) {
|
||||
this.exchangeExecutionTime=value;
|
||||
}
|
||||
|
||||
public Long getSecurityId() {
|
||||
return securityId;
|
||||
}
|
||||
|
||||
public void setSecurityId(Long securityId) {
|
||||
this.securityId = securityId;
|
||||
public void setSecurityId(Long value) {
|
||||
this.securityId=value;
|
||||
}
|
||||
|
||||
public Long getSeller() {
|
||||
return seller;
|
||||
public Long getSellerId() {
|
||||
return sellerId;
|
||||
}
|
||||
|
||||
public void setSeller(Long seller) {
|
||||
this.seller = seller;
|
||||
public void setSellerId(Long value) {
|
||||
this.sellerId=value;
|
||||
}
|
||||
|
||||
public String getSellerClearingCode() {
|
||||
return sellerClearingCode;
|
||||
}
|
||||
|
||||
public void setSellerClearingCode(String sellerClearingCode) {
|
||||
this.sellerClearingCode = sellerClearingCode;
|
||||
public void setSellerClearingCode(String value) {
|
||||
this.sellerClearingCode=value;
|
||||
}
|
||||
|
||||
public String getSellerTradingClearingRegister() {
|
||||
return sellerTradingClearingRegister;
|
||||
}
|
||||
|
||||
public void setSellerTradingClearingRegister(String sellerTradingClearingRegister) {
|
||||
this.sellerTradingClearingRegister = sellerTradingClearingRegister;
|
||||
public void setSellerTradingClearingRegister(String value) {
|
||||
this.sellerTradingClearingRegister=value;
|
||||
}
|
||||
|
||||
public String getSellerMoneyAccount() {
|
||||
return sellerMoneyAccount;
|
||||
}
|
||||
|
||||
public void setSellerMoneyAccount(String sellerMoneyAccount) {
|
||||
this.sellerMoneyAccount = sellerMoneyAccount;
|
||||
public void setSellerMoneyAccount(String value) {
|
||||
this.sellerMoneyAccount=value;
|
||||
}
|
||||
|
||||
public String getSellerDepoAccount() {
|
||||
return sellerDepoAccount;
|
||||
}
|
||||
|
||||
public void setSellerDepoAccount(String sellerDepoAccount) {
|
||||
this.sellerDepoAccount = sellerDepoAccount;
|
||||
public void setSellerDepoAccount(String value) {
|
||||
this.sellerDepoAccount=value;
|
||||
}
|
||||
|
||||
public Long getBuyer() {
|
||||
return buyer;
|
||||
public Long getBuyerId() {
|
||||
return buyerId;
|
||||
}
|
||||
|
||||
public void setBuyer(Long buyer) {
|
||||
this.buyer = buyer;
|
||||
public void setBuyerId(Long value) {
|
||||
this.buyerId=value;
|
||||
}
|
||||
|
||||
public String getBuyerClearingCode() {
|
||||
return buyerClearingCode;
|
||||
}
|
||||
|
||||
public void setBuyerClearingCode(String buyerClearingCode) {
|
||||
this.buyerClearingCode = buyerClearingCode;
|
||||
public void setBuyerClearingCode(String value) {
|
||||
this.buyerClearingCode=value;
|
||||
}
|
||||
|
||||
public String getBuyerTradingClearingRegister() {
|
||||
return buyerTradingClearingRegister;
|
||||
}
|
||||
|
||||
public void setBuyerTradingClearingRegister(String buyerTradingClearingRegister) {
|
||||
this.buyerTradingClearingRegister = buyerTradingClearingRegister;
|
||||
public void setBuyerTradingClearingRegister(String value) {
|
||||
this.buyerTradingClearingRegister=value;
|
||||
}
|
||||
|
||||
public String getBuyerMoneyAccount() {
|
||||
return buyerMoneyAccount;
|
||||
}
|
||||
|
||||
public void setBuyerMoneyAccount(String buyerMoneyAccount) {
|
||||
this.buyerMoneyAccount = buyerMoneyAccount;
|
||||
public void setBuyerMoneyAccount(String value) {
|
||||
this.buyerMoneyAccount=value;
|
||||
}
|
||||
|
||||
public String getBuyerDepoAccount() {
|
||||
return buyerDepoAccount;
|
||||
}
|
||||
|
||||
public void setBuyerDepoAccount(String buyerDepoAccount) {
|
||||
this.buyerDepoAccount = buyerDepoAccount;
|
||||
public void setBuyerDepoAccount(String value) {
|
||||
this.buyerDepoAccount=value;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
public void setAmount(BigDecimal value) {
|
||||
this.amount=value;
|
||||
}
|
||||
|
||||
public BigDecimal getQuantity() {
|
||||
return quantity;
|
||||
}
|
||||
|
||||
public void setQuantity(BigDecimal quantity) {
|
||||
this.quantity = quantity;
|
||||
public void setQuantity(BigDecimal value) {
|
||||
this.quantity=value;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public Instant getClearingDate() {
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
public void setClearingDate(LocalDate value) {
|
||||
this.clearingDate=value;
|
||||
}
|
||||
|
||||
public void setClearingDate(Instant clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +1,23 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Реестр учета обязательств
|
||||
*
|
||||
* DB table: LIABILITIES_REGISTER
|
||||
**/
|
||||
public class LiabilitiesRegister extends BusinessObject {
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long sessionId;
|
||||
private Instant validFromDate;
|
||||
private Instant validToDate;
|
||||
private LocalDate validFromDate;
|
||||
private LocalDate validToDate;
|
||||
private Long companyId;
|
||||
private String companyFullName;
|
||||
private String inn;
|
||||
|
|
@ -21,135 +27,97 @@ public class LiabilitiesRegister extends BusinessObject {
|
|||
private String registryStatus;
|
||||
private String currency;
|
||||
private BigDecimal sumLiabilities;
|
||||
private Instant settlementDate;
|
||||
|
||||
@Override
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
private LocalDate settlementDate;
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public void setSessionId(Long sessionId) {
|
||||
this.sessionId = sessionId;
|
||||
public void setSessionId(Long value) {
|
||||
this.sessionId=value;
|
||||
}
|
||||
|
||||
public Instant getValidFromDate() {
|
||||
public LocalDate getValidFromDate() {
|
||||
return validFromDate;
|
||||
}
|
||||
|
||||
public void setValidFromDate(Instant validFromDate) {
|
||||
this.validFromDate = validFromDate;
|
||||
public void setValidFromDate(LocalDate value) {
|
||||
this.validFromDate=value;
|
||||
}
|
||||
|
||||
public Instant getValidToDate() {
|
||||
public LocalDate getValidToDate() {
|
||||
return validToDate;
|
||||
}
|
||||
|
||||
public void setValidToDate(Instant validToDate) {
|
||||
this.validToDate = validToDate;
|
||||
public void setValidToDate(LocalDate value) {
|
||||
this.validToDate=value;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
public void setCompanyId(Long value) {
|
||||
this.companyId=value;
|
||||
}
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
public void setCompanyFullName(String value) {
|
||||
this.companyFullName=value;
|
||||
}
|
||||
|
||||
public String getInn() {
|
||||
return inn;
|
||||
}
|
||||
|
||||
public void setInn(String inn) {
|
||||
this.inn = inn;
|
||||
public void setInn(String value) {
|
||||
this.inn=value;
|
||||
}
|
||||
|
||||
public String getSegment() {
|
||||
return segment;
|
||||
}
|
||||
|
||||
public void setSegment(String segment) {
|
||||
this.segment = segment;
|
||||
public void setSegment(String value) {
|
||||
this.segment=value;
|
||||
}
|
||||
|
||||
public String getRegistryCode() {
|
||||
return registryCode;
|
||||
}
|
||||
|
||||
public void setRegistryCode(String registryCode) {
|
||||
this.registryCode = registryCode;
|
||||
public void setRegistryCode(String value) {
|
||||
this.registryCode=value;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
public void setAccount(String value) {
|
||||
this.account=value;
|
||||
}
|
||||
|
||||
public String getRegistryStatus() {
|
||||
return registryStatus;
|
||||
}
|
||||
|
||||
public void setRegistryStatus(String registryStatus) {
|
||||
this.registryStatus = registryStatus;
|
||||
public void setRegistryStatus(String value) {
|
||||
this.registryStatus=value;
|
||||
}
|
||||
|
||||
public String getCurrency() {
|
||||
return currency;
|
||||
}
|
||||
|
||||
public void setCurrency(String currency) {
|
||||
this.currency = currency;
|
||||
public void setCurrency(String value) {
|
||||
this.currency=value;
|
||||
}
|
||||
|
||||
public BigDecimal getSumLiabilities() {
|
||||
return sumLiabilities;
|
||||
}
|
||||
|
||||
public void setSumLiabilities(BigDecimal sumLiabilities) {
|
||||
this.sumLiabilities = sumLiabilities;
|
||||
public void setSumLiabilities(BigDecimal value) {
|
||||
this.sumLiabilities=value;
|
||||
}
|
||||
|
||||
public Instant getSettlementDate() {
|
||||
public LocalDate getSettlementDate() {
|
||||
return settlementDate;
|
||||
}
|
||||
public void setSettlementDate(LocalDate value) {
|
||||
this.settlementDate=value;
|
||||
}
|
||||
|
||||
public void setSettlementDate(Instant settlementDate) {
|
||||
this.settlementDate = settlementDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,11 +1,18 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
|
||||
/**
|
||||
* Реестр остатков денежных средств
|
||||
*
|
||||
* DB table: MONEY_BALANCE_REGISTER
|
||||
**/
|
||||
public class MoneyBalanceRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private String setHouseName;
|
||||
private String account;
|
||||
private String infoAccount;
|
||||
|
|
@ -16,113 +23,75 @@ public class MoneyBalanceRegister extends BusinessObject {
|
|||
private Long sessionId;
|
||||
private String companyFullName;
|
||||
private Long companyId;
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
|
||||
public String getSetHouseName() {
|
||||
return setHouseName;
|
||||
}
|
||||
|
||||
public void setSetHouseName(String setHouseName) {
|
||||
this.setHouseName = setHouseName;
|
||||
public void setSetHouseName(String value) {
|
||||
this.setHouseName=value;
|
||||
}
|
||||
|
||||
public String getAccount() {
|
||||
return account;
|
||||
}
|
||||
|
||||
public void setAccount(String account) {
|
||||
this.account = account;
|
||||
public void setAccount(String value) {
|
||||
this.account=value;
|
||||
}
|
||||
|
||||
public String getInfoAccount() {
|
||||
return infoAccount;
|
||||
}
|
||||
|
||||
public void setInfoAccount(String infoAccount) {
|
||||
this.infoAccount = infoAccount;
|
||||
public void setInfoAccount(String value) {
|
||||
this.infoAccount=value;
|
||||
}
|
||||
|
||||
public BigDecimal getRemainderSum() {
|
||||
return remainderSum;
|
||||
}
|
||||
|
||||
public void setRemainderSum(BigDecimal remainderSum) {
|
||||
this.remainderSum = remainderSum;
|
||||
public void setRemainderSum(BigDecimal value) {
|
||||
this.remainderSum=value;
|
||||
}
|
||||
|
||||
public BigDecimal getBlockedSum() {
|
||||
return blockedSum;
|
||||
}
|
||||
|
||||
public void setBlockedSum(BigDecimal blockedSum) {
|
||||
this.blockedSum = blockedSum;
|
||||
public void setBlockedSum(BigDecimal value) {
|
||||
this.blockedSum=value;
|
||||
}
|
||||
|
||||
public BigDecimal getUnblockedSum() {
|
||||
return unblockedSum;
|
||||
}
|
||||
|
||||
public void setUnblockedSum(BigDecimal unblockedSum) {
|
||||
this.unblockedSum = unblockedSum;
|
||||
public void setUnblockedSum(BigDecimal value) {
|
||||
this.unblockedSum=value;
|
||||
}
|
||||
|
||||
public String getInn() {
|
||||
return inn;
|
||||
}
|
||||
|
||||
public void setInn(String inn) {
|
||||
this.inn = inn;
|
||||
public void setInn(String value) {
|
||||
this.inn=value;
|
||||
}
|
||||
|
||||
public Long getSessionId() {
|
||||
return sessionId;
|
||||
}
|
||||
|
||||
public void setSessionId(Long sessionId) {
|
||||
this.sessionId = sessionId;
|
||||
public void setSessionId(Long value) {
|
||||
this.sessionId=value;
|
||||
}
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
public void setCompanyFullName(String value) {
|
||||
this.companyFullName=value;
|
||||
}
|
||||
|
||||
public Long getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Long companyId) {
|
||||
this.companyId = companyId;
|
||||
public void setCompanyId(Long value) {
|
||||
this.companyId=value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,99 +1,74 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Реестр распоряжений, направленных расчетной организации
|
||||
*
|
||||
* DB table: MONEY_PAYMENT_INSTRUCTION_REGISTER
|
||||
**/
|
||||
public class MoneyPaymentInstructionRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private String creditLegAccount;
|
||||
private BigDecimal creditLegAmount;
|
||||
private String creditLegCurrencyCode;
|
||||
private String debitLegAccount;
|
||||
private String sender;
|
||||
private String addressee;
|
||||
private Long id;
|
||||
private Instant createdAt;
|
||||
private Instant updatedAt;
|
||||
private Instant clearingDate;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public String getCreditLegAccount() {
|
||||
return creditLegAccount;
|
||||
}
|
||||
|
||||
public void setCreditLegAccount(String creditLegAccount) {
|
||||
this.creditLegAccount = creditLegAccount;
|
||||
public void setCreditLegAccount(String value) {
|
||||
this.creditLegAccount=value;
|
||||
}
|
||||
|
||||
public BigDecimal getCreditLegAmount() {
|
||||
return creditLegAmount;
|
||||
}
|
||||
|
||||
public void setCreditLegAmount(BigDecimal creditLegAmount) {
|
||||
this.creditLegAmount = creditLegAmount;
|
||||
public void setCreditLegAmount(BigDecimal value) {
|
||||
this.creditLegAmount=value;
|
||||
}
|
||||
|
||||
public String getCreditLegCurrencyCode() {
|
||||
return creditLegCurrencyCode;
|
||||
}
|
||||
|
||||
public void setCreditLegCurrencyCode(String creditLegCurrencyCode) {
|
||||
this.creditLegCurrencyCode = creditLegCurrencyCode;
|
||||
public void setCreditLegCurrencyCode(String value) {
|
||||
this.creditLegCurrencyCode=value;
|
||||
}
|
||||
|
||||
public String getDebitLegAccount() {
|
||||
return debitLegAccount;
|
||||
}
|
||||
|
||||
public void setDebitLegAccount(String debitLegAccount) {
|
||||
this.debitLegAccount = debitLegAccount;
|
||||
public void setDebitLegAccount(String value) {
|
||||
this.debitLegAccount=value;
|
||||
}
|
||||
|
||||
public String getSender() {
|
||||
return sender;
|
||||
}
|
||||
|
||||
public void setSender(String sender) {
|
||||
this.sender = sender;
|
||||
public void setSender(String value) {
|
||||
this.sender=value;
|
||||
}
|
||||
|
||||
public String getAddressee() {
|
||||
return addressee;
|
||||
}
|
||||
|
||||
public void setAddressee(String addressee) {
|
||||
this.addressee = addressee;
|
||||
public void setAddressee(String value) {
|
||||
this.addressee=value;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Instant getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(Instant createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public Instant getUpdatedAt() {
|
||||
return updatedAt;
|
||||
}
|
||||
|
||||
public void setUpdatedAt(Instant updatedAt) {
|
||||
this.updatedAt = updatedAt;
|
||||
}
|
||||
|
||||
public Instant getClearingDate() {
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
public void setClearingDate(LocalDate value) {
|
||||
this.clearingDate=value;
|
||||
}
|
||||
|
||||
public void setClearingDate(Instant clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class OrderRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private String creditLegAccount;
|
||||
private BigDecimal creditLegAmount;
|
||||
private String creditLegCurrencyCode;
|
||||
private Long creditLegDirection;
|
||||
private String debitLegAccount;
|
||||
private String sender;
|
||||
private String addressee;
|
||||
private String documentNumber;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public String getCreditLegAccount() {
|
||||
return creditLegAccount;
|
||||
}
|
||||
|
||||
public void setCreditLegAccount(String creditLegAccount) {
|
||||
this.creditLegAccount = creditLegAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getCreditLegAmount() {
|
||||
return creditLegAmount;
|
||||
}
|
||||
|
||||
public void setCreditLegAmount(BigDecimal creditLegAmount) {
|
||||
this.creditLegAmount = creditLegAmount;
|
||||
}
|
||||
|
||||
public String getCreditLegCurrencyCode() {
|
||||
return creditLegCurrencyCode;
|
||||
}
|
||||
|
||||
public void setCreditLegCurrencyCode(String creditLegCurrencyCode) {
|
||||
this.creditLegCurrencyCode = creditLegCurrencyCode;
|
||||
}
|
||||
|
||||
public Long getCreditLegDirection() {
|
||||
return creditLegDirection;
|
||||
}
|
||||
|
||||
public void setCreditLegDirection(Long creditLegDirection) {
|
||||
this.creditLegDirection = creditLegDirection;
|
||||
}
|
||||
|
||||
public String getDebitLegAccount() {
|
||||
return debitLegAccount;
|
||||
}
|
||||
|
||||
public void setDebitLegAccount(String debitLegAccount) {
|
||||
this.debitLegAccount = debitLegAccount;
|
||||
}
|
||||
|
||||
public String getSender() {
|
||||
return sender;
|
||||
}
|
||||
|
||||
public void setSender(String sender) {
|
||||
this.sender = sender;
|
||||
}
|
||||
|
||||
public String getAddressee() {
|
||||
return addressee;
|
||||
}
|
||||
|
||||
public void setAddressee(String addressee) {
|
||||
this.addressee = addressee;
|
||||
}
|
||||
|
||||
public String getDocumentNumber() {
|
||||
return documentNumber;
|
||||
}
|
||||
|
||||
public void setDocumentNumber(String documentNumber) {
|
||||
this.documentNumber = documentNumber;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
package ru.clearing.classes.statics.data.register;
|
||||
|
||||
import ru.clearing.classes.ConstSerializable;
|
||||
import ru.clearing.classes.objects.BusinessObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class UncoveredDealRegister extends BusinessObject {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
private Long executionId;
|
||||
private String companyFullName;
|
||||
private LocalDate tradingDate;
|
||||
private Long exchangeExecutionId;
|
||||
private Instant exchangeExecutionTime;
|
||||
private String securitySymbol;
|
||||
private String securityFullName;
|
||||
private String sellerFullName;
|
||||
private String sellerClearingCode;
|
||||
private String sellerAccount;
|
||||
private String buyerFullName;
|
||||
private String buyerClearingCode;
|
||||
private String buyerAccount;
|
||||
private BigDecimal amount;
|
||||
private String resultStatus;
|
||||
private LocalDate clearingDate;
|
||||
|
||||
public Long getExecutionId() {
|
||||
return executionId;
|
||||
}
|
||||
|
||||
public void setExecutionId(Long executionId) {
|
||||
this.executionId = executionId;
|
||||
}
|
||||
|
||||
public String getCompanyFullName() {
|
||||
return companyFullName;
|
||||
}
|
||||
|
||||
public void setCompanyFullName(String companyFullName) {
|
||||
this.companyFullName = companyFullName;
|
||||
}
|
||||
|
||||
public LocalDate getTradingDate() {
|
||||
return tradingDate;
|
||||
}
|
||||
|
||||
public void setTradingDate(LocalDate tradingDate) {
|
||||
this.tradingDate = tradingDate;
|
||||
}
|
||||
|
||||
public Long getExchangeExecutionId() {
|
||||
return exchangeExecutionId;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionId(Long exchangeExecutionId) {
|
||||
this.exchangeExecutionId = exchangeExecutionId;
|
||||
}
|
||||
|
||||
public Instant getExchangeExecutionTime() {
|
||||
return exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public void setExchangeExecutionTime(Instant exchangeExecutionTime) {
|
||||
this.exchangeExecutionTime = exchangeExecutionTime;
|
||||
}
|
||||
|
||||
public String getSecuritySymbol() {
|
||||
return securitySymbol;
|
||||
}
|
||||
|
||||
public void setSecuritySymbol(String securitySymbol) {
|
||||
this.securitySymbol = securitySymbol;
|
||||
}
|
||||
|
||||
public String getSecurityFullName() {
|
||||
return securityFullName;
|
||||
}
|
||||
|
||||
public void setSecurityFullName(String securityFullName) {
|
||||
this.securityFullName = securityFullName;
|
||||
}
|
||||
|
||||
public String getSellerFullName() {
|
||||
return sellerFullName;
|
||||
}
|
||||
|
||||
public void setSellerFullName(String sellerFullName) {
|
||||
this.sellerFullName = sellerFullName;
|
||||
}
|
||||
|
||||
public String getSellerClearingCode() {
|
||||
return sellerClearingCode;
|
||||
}
|
||||
|
||||
public void setSellerClearingCode(String sellerClearingCode) {
|
||||
this.sellerClearingCode = sellerClearingCode;
|
||||
}
|
||||
|
||||
public String getSellerAccount() {
|
||||
return sellerAccount;
|
||||
}
|
||||
|
||||
public void setSellerAccount(String sellerAccount) {
|
||||
this.sellerAccount = sellerAccount;
|
||||
}
|
||||
|
||||
public String getBuyerFullName() {
|
||||
return buyerFullName;
|
||||
}
|
||||
|
||||
public void setBuyerFullName(String buyerFullName) {
|
||||
this.buyerFullName = buyerFullName;
|
||||
}
|
||||
|
||||
public String getBuyerClearingCode() {
|
||||
return buyerClearingCode;
|
||||
}
|
||||
|
||||
public void setBuyerClearingCode(String buyerClearingCode) {
|
||||
this.buyerClearingCode = buyerClearingCode;
|
||||
}
|
||||
|
||||
public String getBuyerAccount() {
|
||||
return buyerAccount;
|
||||
}
|
||||
|
||||
public void setBuyerAccount(String buyerAccount) {
|
||||
this.buyerAccount = buyerAccount;
|
||||
}
|
||||
|
||||
public BigDecimal getAmount() {
|
||||
return amount;
|
||||
}
|
||||
|
||||
public void setAmount(BigDecimal amount) {
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
public String getResultStatus() {
|
||||
return resultStatus;
|
||||
}
|
||||
|
||||
public void setResultStatus(String resultStatus) {
|
||||
this.resultStatus = resultStatus;
|
||||
}
|
||||
|
||||
public LocalDate getClearingDate() {
|
||||
return clearingDate;
|
||||
}
|
||||
|
||||
public void setClearingDate(LocalDate clearingDate) {
|
||||
this.clearingDate = clearingDate;
|
||||
}
|
||||
}
|
||||
|
|
@ -15,6 +15,7 @@ public class TradingClearingRegistry extends BusinessObject {
|
|||
private Long companyId;
|
||||
private String code;
|
||||
private Long moneyAccountId;
|
||||
// todo fix typo
|
||||
private Long depoAaccountId;
|
||||
private String tradingClearingRegistryType;
|
||||
private String tradingClearingRegistryLevel;
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import java.time.Instant;
|
|||
* <p>
|
||||
* DB table: S_DF16
|
||||
**/
|
||||
@Deprecated
|
||||
public class SDf16 extends SpcexObjectBase implements WithAccount, WithMarket, WithSum {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import java.time.Instant;
|
|||
* <p>
|
||||
* DB table: S_DF17
|
||||
**/
|
||||
@Deprecated
|
||||
public class SDf17 extends SpcexObjectBase implements WithAccount {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import java.time.Instant;
|
|||
* <p>
|
||||
* DB table: S_DF18
|
||||
**/
|
||||
@Deprecated
|
||||
public class SDf18 extends SpcexObjectBase implements WithAccount {
|
||||
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import java.util.Optional;
|
|||
|
||||
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
|
||||
|
||||
@Deprecated // liabilitiesClaimsMoney даляется
|
||||
@Component
|
||||
public class LiabilitiesClaimsMoneyCreator {
|
||||
private final Logger log = LoggerFactory.getLogger(this.getClass());
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package ru.spcex.clearing.util.services;
|
||||
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ru.clearing.platform.dictionary.ErrorCodeDictionary;
|
||||
|
|
@ -25,7 +26,7 @@ public class IMDGMessageResolver implements IMessageResolver {
|
|||
@Override
|
||||
public String resolve(EnumMessage errorMessage) {
|
||||
if (errorMessage == null) return "null";
|
||||
|
||||
try {
|
||||
ErrorCodeDictionary errorDictionary = errorCodeDictionaryIMDG.getSingleObjectByID(errorMessage.getSubject().getId());
|
||||
if (errorDictionary == null) {
|
||||
log.warn("ERROR_CODE_DICTIONARY not found fo id={}", errorMessage.getSubject().getId());
|
||||
|
|
@ -33,5 +34,9 @@ public class IMDGMessageResolver implements IMessageResolver {
|
|||
}
|
||||
String textTemplate = errorDictionary.getName();
|
||||
return String.format(textTemplate, errorMessage.getArgs());
|
||||
} catch (Exception errFormatting) { // MissingFormatArgumentException
|
||||
log.warn("Error in message resolver for error {}: {}", errorMessage.getSubject(), ExceptionUtils.getStackTrace(errFormatting));
|
||||
return String.format("(%d) args %s", errorMessage.getSubject().getId(), Arrays.toString(errorMessage.getArgs()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
package ru.spcex.clearing.company.util;
|
||||
package ru.spcex.clearing.util.services;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.platform.messaging.service.Status;
|
||||
|
|
@ -22,21 +21,28 @@ import java.util.Objects;
|
|||
* callback(CompanyNewRequest.class)
|
||||
* .setFunction( request -> requestHelper.requestFunction(this::createCompany, request))
|
||||
* .forDestination(Consts.DESTINATION_COMPANY_NEW, callbacks::put);
|
||||
*
|
||||
* return requestHelper.makeErrorResponse(CompanyError.GeneralError, ...)
|
||||
*/
|
||||
public class RequestHelper {
|
||||
protected Logger log = LoggerFactory.getLogger(getClass());
|
||||
protected final IMessageResolver messageResolver;
|
||||
protected final IErrorEnumId generalError;
|
||||
|
||||
public RequestHelper(IMessageResolver messageResolver) {
|
||||
public RequestHelper(IMessageResolver messageResolver, IErrorEnumId generalError) {
|
||||
Objects.requireNonNull(messageResolver);
|
||||
this.messageResolver = messageResolver;
|
||||
this.generalError = generalError;
|
||||
Objects.requireNonNull(generalError, "Required generalError enum");
|
||||
}
|
||||
|
||||
public RequestHelper(Logger log, IMessageResolver messageResolver) {
|
||||
public RequestHelper(Logger log, IMessageResolver messageResolver, IErrorEnumId generalError) {
|
||||
Objects.requireNonNull(log);
|
||||
Objects.requireNonNull(messageResolver);
|
||||
this.log = log;
|
||||
this.messageResolver = messageResolver;
|
||||
this.generalError = generalError;
|
||||
Objects.requireNonNull(generalError, "Required generalError enum");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -58,13 +64,14 @@ public class RequestHelper {
|
|||
String message = expectedE.getEnumMsg() == null
|
||||
? expectedE.getMessage()
|
||||
: messageResolver.resolve(expectedE.getEnumMsg());
|
||||
log.info("Response: {}", message);
|
||||
return new RequestInfoUpdate()
|
||||
.setId(userRequest.getId())
|
||||
.setStatus(Status.Error)
|
||||
.setMessage(message);
|
||||
} catch (Exception unexpectedE) {
|
||||
log.error("Error at {}: {} ", command, ExceptionUtils.getStackTrace(unexpectedE));
|
||||
String message = messageResolver.resolve(new EnumMessage(CompanyErrors.GeneralError));
|
||||
String message = messageResolver.resolve(new EnumMessage(generalError));
|
||||
return new RequestInfoUpdate()
|
||||
.setId(userRequest.getId())
|
||||
.setStatus(Status.Error)
|
||||
|
|
@ -74,6 +81,7 @@ public class RequestHelper {
|
|||
|
||||
public RequestInfoUpdate makeErrorResponse(BaseRequest<?> request, EnumMessage msg) {
|
||||
String errorMsg = msg == null? "" : messageResolver.resolve(msg);
|
||||
log.info("Response: {}", errorMsg);
|
||||
return new RequestInfoUpdate()
|
||||
.setId(request.getId())
|
||||
.setStatus(Status.Error)
|
||||
|
|
@ -5,7 +5,7 @@ import org.springframework.context.annotation.Bean;
|
|||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.company.util.RequestHelper;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.platform.enumeration.UserRole;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
|
@ -22,7 +22,7 @@ public class BeanConfiguration {
|
|||
@Bean
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
public RequestHelper requestHelper(IMessageResolver messageResolver) {
|
||||
return new RequestHelper(messageResolver);
|
||||
return new RequestHelper(messageResolver, CompanyErrors.GeneralError);
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ public class ContactValidationConfig {
|
|||
IMDGDistributedNames.Map_Contact,
|
||||
Contact.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.CompanyNotFound,
|
||||
CompanyErrors.ContactNotFound,
|
||||
contact -> {
|
||||
if (contactUpdateRequest.getContactType() == null) return null;
|
||||
if (!contactUpdateRequest.getContactType().equalsIgnoreCase(contact.getContactType())) {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class ProfileDocumentValidationConfig {
|
|||
Company.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.CompanyNotFound,
|
||||
company -> WorkflowStatus.Active.getKey().equals(company.getWorkflowStatus()) ? null : CompanyErrors.CompanyDisabled),
|
||||
company -> WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? null : CompanyErrors.CompanyDisabled),
|
||||
DictionaryPresentRule.instance("documentType",
|
||||
ProfileDocumentNewRequest::getDocumentType,
|
||||
IMDGDistributedNames.Map_DocumentTypeDictionary,
|
||||
|
|
@ -138,7 +138,15 @@ public class ProfileDocumentValidationConfig {
|
|||
IMDGDistributedNames.Map_ProfileDocument,
|
||||
ProfileDocument.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.RecordNotFound)
|
||||
CompanyErrors.RecordNotFound,
|
||||
profileDoc -> {
|
||||
Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
|
||||
Company company = companyImdg.getSingleObjectByID(profileDoc.getCompanyId());
|
||||
if (company == null) {
|
||||
return CompanyErrors.CompanyNotFound;
|
||||
}
|
||||
return null;
|
||||
})
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,134 @@
|
|||
package ru.spcex.clearing.company.config.validation;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.clearing.platform.dictionary.ClearingCategoryDictionary;
|
||||
import ru.clearing.platform.dictionary.WorkflowStatusDictionary;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.RelationNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.RelationUpdateRequest;
|
||||
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
|
||||
import ru.spcex.clearing.validation.common.rules.IdPresentRule;
|
||||
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
import ru.spcex.platform.utils.validation.ValidatorImpl;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Configuration
|
||||
public class RelationValidationConfig {
|
||||
|
||||
@Bean("relationNewRequestValidation")
|
||||
public Function<RelationNewRequest, IValidator> relationNewRequestValidator(
|
||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||
) {
|
||||
return relationNewRequest -> {
|
||||
ImdgValidationContext<RelationNewRequest> context = new ImdgValidationContext<>();
|
||||
context.setValidatedObject(relationNewRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingCategoryDictionary);
|
||||
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("companyId",
|
||||
RelationNewRequest::getCompanyId,
|
||||
IMDGDistributedNames.Map_Company,
|
||||
Company.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.CompanyNotFound),
|
||||
DictionaryPresentRule.instance("documentType",
|
||||
RelationNewRequest::getClearingMemberCategory,
|
||||
IMDGDistributedNames.Map_ClearingCategoryDictionary,
|
||||
ClearingCategoryDictionary.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.WrongFieldValue),
|
||||
DictionaryPresentRule.instance("serviceStatus",
|
||||
RelationNewRequest::getServiceStatus,
|
||||
IMDGDistributedNames.Map_WorkflowStatusDictionary,
|
||||
WorkflowStatusDictionary.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.WrongFieldValue)
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
@Bean("relationUpdateRequestValidation")
|
||||
public Function<RelationUpdateRequest, IValidator> relationUpdateRequestValidator(
|
||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||
) {
|
||||
return relationUpdateRequest -> {
|
||||
ImdgValidationContext<RelationUpdateRequest> context = new ImdgValidationContext<>();
|
||||
context.setValidatedObject(relationUpdateRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Relation);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||
// addImdg.accept(IMDGDistributedNames.Map_ClearingCategoryDictionary);
|
||||
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("id",
|
||||
RelationUpdateRequest::getId,
|
||||
IMDGDistributedNames.Map_Relation,
|
||||
Relation.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.RelationNotFound,
|
||||
relation -> {
|
||||
if (relation.getConsumerId() == null) return null;
|
||||
Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
|
||||
Company company = companyImdg.getSingleObjectByID(relation.getConsumerId());
|
||||
if (company == null) {
|
||||
return CompanyErrors.CompanyNotFound;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}),
|
||||
// IdPresentRule.instance("companyId",
|
||||
// RelationUpdateRequest::getCompanyId,
|
||||
// IMDGDistributedNames.Map_Company,
|
||||
// Company.class,
|
||||
// CompanyErrors.RequiredFieldEmpty,
|
||||
// CompanyErrors.CompanyNotFound),
|
||||
// DictionaryPresentRule.instance("documentType",
|
||||
// RelationUpdateRequest::getClearingMemberCategory,
|
||||
// IMDGDistributedNames.Map_ClearingCategoryDictionary,
|
||||
// ClearingCategoryDictionary.class,
|
||||
// CompanyErrors.RequiredFieldEmpty,
|
||||
// CompanyErrors.WrongFieldValue),
|
||||
DictionaryPresentRule.instance("serviceStatus",
|
||||
RelationUpdateRequest::getServiceStatus,
|
||||
IMDGDistributedNames.Map_WorkflowStatusDictionary,
|
||||
WorkflowStatusDictionary.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.WrongFieldValue)
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
@Bean("relationDeleteRequestValidation")
|
||||
public Function<CommonDeleteRequest, IValidator> relationDeleteRequestValidator(
|
||||
Map<String, Imdg<? extends SpcexObjectBase>> imdgForValidation
|
||||
) {
|
||||
return relationDeleteRequest -> {
|
||||
ImdgValidationContext<CommonDeleteRequest> context = new ImdgValidationContext<>();
|
||||
context.setValidatedObject(relationDeleteRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_Relation);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("id",
|
||||
CommonDeleteRequest::getId,
|
||||
IMDGDistributedNames.Map_Relation,
|
||||
Relation.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.RelationNotFound
|
||||
)
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -7,6 +7,7 @@ import ru.clearing.classes.statics.data.account.ClientCode;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.clearing.classes.statics.data.profile.Contact;
|
||||
import ru.clearing.classes.statics.data.profile.ProfileDocument;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
|
|
@ -37,6 +38,7 @@ public class ValidationConfig {
|
|||
addImdg.accept(IMDGDistributedNames.Map_DocumentTypeDictionary, DocumentTypeDictionary.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ContactTypeDictionary, ContactTypeDictionary.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Contact, Contact.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
|
||||
addImdg.accept(IMDGDistributedNames.Map_WorkflowStatusDictionary, WorkflowStatusDictionary.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ public enum CompanyErrors implements IErrorEnumId {
|
|||
EditContactType(3021L), // Тип контакта компании %s не может быть изменен.
|
||||
TradingClearingRegistryNotFound(3022L), // ТКР с %s не найден
|
||||
AccountNotFound(3023L), // Счет %s не найден
|
||||
ClearingMemberCategoryOnMKRAlreadyExist(3024L), // Договорные отношения %s в секции МКР уже созданы.
|
||||
ClearingMemberCategoryOnFONDAlreadyExist(3025L), // Договорные отношения %s на фондовой секции уже созданы.
|
||||
RelationNotFound(3026L), // Запись о договорных отношениях не найдена
|
||||
;
|
||||
private final Long id;
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.profile.CompanyInfo;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.company.util.RequestHelper;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
|
@ -22,14 +22,18 @@ import ru.spcex.clearing.util.security.UserRoleVerification;
|
|||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
import ru.spcex.platform.utils.error.ValidationException;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Service
|
||||
public class CompanyInfoService extends QueueConsumer implements InitializingBean {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
private final ImdgProvider imdgProvider;
|
||||
private final Imdg<Company> companyMap;
|
||||
protected final CompanyService companyService;
|
||||
private final RequestHelper requestHelper;
|
||||
|
|
@ -46,6 +50,7 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
|||
Function<CompanyInfoUpdateRequest, IValidator> companyInfoUpdateRequestValidator) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.companyService = companyService;
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
this.validationHelper = validationHelper;
|
||||
this.userRoleVerification = userRoleVerification;
|
||||
|
|
@ -56,16 +61,16 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
|||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
callback(CompanyInfoUpdateRequest.class)
|
||||
.setFunction(this::companyInfoUpdate)
|
||||
.setFunction(request -> requestHelper.requestFunction(this::companyInfoUpdate, request))
|
||||
.forDestination(Consts.DESTINATION_COMPANY_INFO_UPDATE, callbacks::put);
|
||||
callback(CompanyInfoUpdateRequest.class)
|
||||
.setFunction(this::companyInfoUpdate)
|
||||
.setFunction(request -> requestHelper.requestFunction(this::companyInfoUpdate, request))
|
||||
.forDestination(Consts.DESTINATION_COMPANY_INFO_NEW, callbacks::put); // логика заполнения одинакова с companyInfoUpdate
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
public RequestInfoUpdate companyInfoUpdate(BaseRequest<CompanyInfoUpdateRequest> companyInfoReq) {
|
||||
public RequestInfoUpdate companyInfoUpdate(BaseRequest<CompanyInfoUpdateRequest> companyInfoReq) throws ValidationException {
|
||||
CompanyInfoUpdateRequest req = companyInfoReq.getRequestPayload();
|
||||
log.debug("{} received", req.getClass().getSimpleName());
|
||||
{ // Валидация, ValidationException
|
||||
|
|
@ -81,6 +86,7 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
|||
log.trace("Company {} not found", req.getId());
|
||||
return requestHelper.makeErrorResponse(companyInfoReq, CompanyErrors.CompanyNotFound, companyInfoReq.getId());
|
||||
}
|
||||
company.setUpdated(Instant.now());
|
||||
CompanyInfo companyInfo = company.getProfile();
|
||||
|
||||
companyInfo.setCorporationSoleType(req.getCorporationSoleType());
|
||||
|
|
@ -93,8 +99,39 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
|||
companyInfo.setShortNameEng(req.getShortNameEng());
|
||||
companyInfo.setFullNameEng(req.getFullNameEng());
|
||||
|
||||
company.setUpdated(Instant.now());
|
||||
company.setShortName(req.getShortName());
|
||||
company.setFullName(req.getFullName());
|
||||
boolean simpleUpdate = true;
|
||||
if (req.getWorkflowStatus() != null) {
|
||||
String prevStatus = company.getWorkflowStatus();
|
||||
company.setWorkflowStatus(req.getWorkflowStatus());
|
||||
if (!Objects.equals(prevStatus, company.getWorkflowStatus())) {
|
||||
simpleUpdate = false;
|
||||
ImdgTransaction transaction = imdgProvider.newTransaction();
|
||||
transaction.beginTransaction();
|
||||
boolean txOk = false;
|
||||
try {
|
||||
companyService.relationService.onChangeWorkflowStatus(transaction, company, prevStatus, company.getWorkflowStatus());
|
||||
Imdg<Company> txCompanyMap = transaction.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
txCompanyMap.update(company);
|
||||
log.trace("Company {} updated", company.getId());
|
||||
txOk = true;
|
||||
} finally {
|
||||
if (txOk)
|
||||
transaction.commitTransaction();
|
||||
else
|
||||
transaction.rollbackTransaction();
|
||||
}
|
||||
} else {
|
||||
log.trace("Status was not changed");
|
||||
}
|
||||
} else {
|
||||
log.trace("Null new WorkflowStatus");
|
||||
}
|
||||
if (simpleUpdate) {
|
||||
companyMap.update(company);
|
||||
log.trace("Company {} updated", company.getId());
|
||||
}
|
||||
log.debug("successfully CompanyInfo processed, id {}", companyInfo.getId());
|
||||
}
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.company.CompanyRoleSet;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.company.util.RequestHelper;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import org.springframework.stereotype.Service;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.company.util.RequestHelper;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
|
@ -29,13 +29,11 @@ import ru.spcex.platform.imdg.api.ImdgId;
|
|||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.error.ClearingBaseException;
|
||||
import ru.spcex.platform.utils.error.ValidationException;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
|
||||
|
|
@ -56,7 +54,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
|
||||
protected CompanySymbolService companySymbolService;
|
||||
protected AccountNotificationHelper accountNotification;
|
||||
protected RelationHelper relationHelper;
|
||||
protected RelationService relationService;
|
||||
|
||||
@Autowired
|
||||
public CompanyService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
|
|
@ -73,7 +71,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
|
||||
CompanySymbolService companySymbolService,
|
||||
AccountNotificationHelper accountNotification,
|
||||
RelationHelper relationHelper
|
||||
RelationService relationService
|
||||
) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.imdgProvider = imdgProvider;
|
||||
|
|
@ -89,7 +87,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
this.companySymbolService = companySymbolService;
|
||||
companySymbolService.setCompanyService(this);
|
||||
this.accountNotification = accountNotification;
|
||||
this.relationHelper = relationHelper;
|
||||
this.relationService = relationService;
|
||||
|
||||
companyIMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
}
|
||||
|
|
@ -145,9 +143,9 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
companyMap.insert(company);
|
||||
log.debug("company-new request processed, BaseRequest.id = {}, company.id={}",
|
||||
companyNewRequestBaseRequest.getId(), company.getId());
|
||||
relationHelper.createNewRelation(transaction, company);
|
||||
relationService.createNewRelation(transaction, company);
|
||||
if (!(WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()))) { // Block
|
||||
relationHelper.onChangeWorkflowStatus(transaction, company, null, company.getWorkflowStatus());
|
||||
relationService.onChangeWorkflowStatus(transaction, company, null, company.getWorkflowStatus());
|
||||
}
|
||||
txOk = true;
|
||||
} finally {
|
||||
|
|
@ -180,10 +178,10 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
log.trace("Company {} not found", updateRequest.getId());
|
||||
return requestHelper.makeErrorResponse(companyUpdateRequestBaseRequest, CompanyErrors.CompanyNotFound, updateRequest.getId());
|
||||
}
|
||||
if (!WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus())) {
|
||||
log.trace("Company {} not active: {}", company.getId(), company.getWorkflowStatus());
|
||||
return requestHelper.makeErrorResponse(companyUpdateRequestBaseRequest, CompanyErrors.CompanyDisabled, updateRequest.getId());
|
||||
}
|
||||
// if (!WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus())) {
|
||||
// log.trace("Company {} not active: {}", company.getId(), company.getWorkflowStatus());
|
||||
// return requestHelper.makeErrorResponse(companyUpdateRequestBaseRequest, CompanyErrors.CompanyDisabled, updateRequest.getId());
|
||||
// }
|
||||
|
||||
company.setUpdated(Instant.now());
|
||||
company.setShortName(updateRequest.getShortName());
|
||||
|
|
@ -199,7 +197,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
if (updateRequest.getWorkflowStatus() != null) {
|
||||
company.setWorkflowStatus(updateRequest.getWorkflowStatus());
|
||||
if (!Objects.equals(prevStatus, company.getWorkflowStatus())) {
|
||||
relationHelper.onChangeWorkflowStatus(transaction, company, prevStatus, company.getWorkflowStatus());
|
||||
relationService.onChangeWorkflowStatus(transaction, company, prevStatus, company.getWorkflowStatus());
|
||||
} else {
|
||||
log.trace("Status was not changed");
|
||||
}
|
||||
|
|
@ -286,7 +284,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
String prevStatus = company.getWorkflowStatus();
|
||||
company.setWorkflowStatus(WorkflowStatus.Blocked.getKey());
|
||||
|
||||
relationHelper.onChangeWorkflowStatus(transaction, company, prevStatus, company.getWorkflowStatus());
|
||||
relationService.onChangeWorkflowStatus(transaction, company, prevStatus, company.getWorkflowStatus());
|
||||
log.debug("Update company.id={}", company.getId());
|
||||
companyMap.update(company);
|
||||
|
||||
|
|
@ -339,7 +337,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
|
||||
company.setWorkflowStatus(WorkflowStatus.Blocked.getKey());
|
||||
|
||||
relationHelper.onChangeWorkflowStatusOnlyRelationChange(transaction, company, company.getWorkflowStatus());
|
||||
relationService.onChangeWorkflowStatusOnlyRelationChange(transaction, company, company.getWorkflowStatus());
|
||||
log.debug("Update company.id={}", company.getId());
|
||||
companyMap.update(company);
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.spcex.clearing.company.util.RequestHelper;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import org.springframework.stereotype.Service;
|
|||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.profile.ProfileDocument;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.company.util.RequestHelper;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
|
|
@ -21,7 +21,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentNe
|
|||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentUpdateRequest;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
|
||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.DocumentTypes;
|
||||
|
|
@ -174,8 +173,10 @@ public class ProfileDocumentService extends QueueConsumer implements Initializin
|
|||
ProfileDocument profileDocument = profileDocumentMap.getSingleObjectByID(profileDocumentUpdateRequest.getId());
|
||||
|
||||
String prevDocType = profileDocument.getDocumentType();
|
||||
if (profileDocumentUpdateRequest.getCompanyId() != null)
|
||||
profileDocument.setCompanyId(profileDocumentUpdateRequest.getCompanyId());
|
||||
if (profileDocumentUpdateRequest.getCompanyId() != null && !profileDocumentUpdateRequest.getCompanyId().equals(profileDocument.getCompanyId())) {
|
||||
log.warn("profileDocumentUpdateRequest[{}] CompanyId {} not match", profileDocumentUpdateRequest.getId(), profileDocumentUpdateRequest.getCompanyId());
|
||||
return requestHelper.makeErrorResponse(profileDocumentUpdateRequestBaseRequest, CompanyErrors.WrongFieldValue, "companyId");
|
||||
}
|
||||
|
||||
if (profileDocumentUpdateRequest.getDocumentType() != null)
|
||||
profileDocument.setDocumentType(profileDocumentUpdateRequest.getDocumentType());
|
||||
|
|
|
|||
|
|
@ -1,97 +0,0 @@
|
|||
package ru.spcex.clearing.company.service;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.platform.enumeration.ServiceProduct;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
import ru.spcex.platform.utils.error.ValidationException;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service
|
||||
public class RelationHelper {
|
||||
protected static final Long SPVB_ID = 1L; // СПВБ
|
||||
protected final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
protected AccountNotificationHelper accountNotification;
|
||||
|
||||
@Autowired
|
||||
public RelationHelper(AccountNotificationHelper accountNotification) {
|
||||
this.accountNotification = accountNotification;
|
||||
}
|
||||
|
||||
protected void createNewRelation(ImdgTransaction transaction, Company company) {
|
||||
Relation relation = new Relation();
|
||||
// relation.setId(idSequence.nextId());
|
||||
relation.setCreated(Instant.now());
|
||||
relation.setUpdated(relation.getCreated());
|
||||
|
||||
relation.setConsumerId(company.getId());
|
||||
relation.setSupplierId(SPVB_ID); // 1 СПВБ
|
||||
relation.setServiceStatus(WorkflowStatus.Active.getKey());
|
||||
relation.setService(ru.spcex.platform.enumeration.Service.MKR.getKey()); // MKR
|
||||
relation.setServiceProduct(ServiceProduct.ZERO.getKey());
|
||||
log.debug("New Relation[{}] created.", relation.getId());
|
||||
Imdg<Relation> relationMap = transaction.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
relationMap.insert(relation);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param company
|
||||
* @param oldStatus
|
||||
* @param newStatus WorkflowStatus.Active - при возобналвении; WorkflowStatus.Blocked - при блокировки/расторжении
|
||||
*/
|
||||
public void onChangeWorkflowStatus(ImdgTransaction transaction, Company company, String oldStatus, String newStatus) throws ValidationException {
|
||||
log.debug("Company id={} status changed from {} to {}",
|
||||
company.getId(), oldStatus, company.getWorkflowStatus());
|
||||
onChangeWorkflowStatusOnlyRelationChange(transaction, company, newStatus);
|
||||
|
||||
if (WorkflowStatus.Blocked.equalsByKey(newStatus)) {
|
||||
// IV - сообщения на добавления документа расторжения договора
|
||||
CompanyErrors hasError = accountNotification.accountTerminationNotification(company.getId());
|
||||
if (hasError != null) {
|
||||
log.warn("Can not block company, cause error {}", hasError);
|
||||
throw new ValidationException(hasError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void onChangeWorkflowStatusOnlyRelationChange(ImdgTransaction transaction, Company company, String newStatus) throws ValidationException {
|
||||
assert Objects.equals(newStatus, company.getWorkflowStatus());
|
||||
String query = String.format("consumerId=%s", company.getId());
|
||||
Imdg<Relation> relationMap = transaction.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
Collection<Relation> relations = relationMap.getCollectionObjectsBySQL(query);
|
||||
log.trace("Selected {} Relation by query: {}", relations.size(), query);
|
||||
Instant now = Instant.now();
|
||||
for (Relation relation : relations) {
|
||||
boolean modified = false;
|
||||
if (WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus())) {
|
||||
if (!ServiceStatus.Reopened.equalsByKey(relation.getServiceStatus())) {
|
||||
relation.setServiceStatus(ServiceStatus.Reopened.getKey());
|
||||
modified = true;
|
||||
}
|
||||
} else if (WorkflowStatus.Blocked.equalsByKey(company.getWorkflowStatus())) {
|
||||
if (!ServiceStatus.Closed.equalsByKey(relation.getServiceStatus())) {
|
||||
relation.setServiceStatus(ServiceStatus.Closed.getKey());
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
if (modified) {
|
||||
relation.setUpdated(now);
|
||||
log.debug("Relation id={} updated", relation.getId());
|
||||
relationMap.update(relation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,331 @@
|
|||
package ru.spcex.clearing.company.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.Consumer;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.util.services.RequestHelper;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.*;
|
||||
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
|
||||
import ru.spcex.clearing.util.security.UserRoleVerification;
|
||||
import ru.spcex.clearing.validation.common.ValidationHelper;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.enumeration.ServiceProduct;
|
||||
import ru.spcex.platform.enumeration.ServiceStatus;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgId;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
import ru.spcex.platform.imdg.api.ImdgTransaction;
|
||||
import ru.spcex.platform.utils.error.ValidationException;
|
||||
import ru.spcex.platform.utils.validation.IValidator;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
|
||||
@Service
|
||||
public class RelationService extends QueueConsumer implements InitializingBean {
|
||||
protected static final Long SPVB_ID = 1L; // СПВБ
|
||||
protected final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
protected ImdgProvider imdgProvider;
|
||||
protected ImdgId idSequence;
|
||||
protected Imdg<Relation> relationMap;
|
||||
protected Imdg<Company> companyMap;
|
||||
protected AccountNotificationHelper accountNotification;
|
||||
protected UserRoleVerification userRoleVerification;
|
||||
protected RequestHelper requestHelper;
|
||||
|
||||
protected ValidationHelper validationHelper;
|
||||
private Function<RelationNewRequest, IValidator> relationNewRequestValidator;
|
||||
private Function<RelationUpdateRequest, IValidator> relationUpdateRequestValidator;
|
||||
private Function<CommonDeleteRequest, IValidator> relationDeleteRequestValidator;
|
||||
|
||||
@Autowired
|
||||
public RelationService(Consumer<String, Object> kafkaQueue,
|
||||
Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider,
|
||||
RequestHelper requestHelper,
|
||||
|
||||
UserRoleVerification userRoleVerification,
|
||||
ValidationHelper validationHelper,
|
||||
@Qualifier("relationNewRequestValidation") Function<RelationNewRequest, IValidator> relationNewRequestValidator,
|
||||
@Qualifier("relationUpdateRequestValidation") Function<RelationUpdateRequest, IValidator> relationUpdateRequestValidator,
|
||||
@Qualifier("relationDeleteRequestValidation") Function<CommonDeleteRequest, IValidator> relationDeleteRequestValidator,
|
||||
|
||||
AccountNotificationHelper accountNotification) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.imdgProvider = imdgProvider;
|
||||
this.idSequence = imdgProvider.getImdgIdGenerator();
|
||||
this.accountNotification = accountNotification;
|
||||
this.userRoleVerification = userRoleVerification;
|
||||
|
||||
this.validationHelper = validationHelper;
|
||||
this.relationNewRequestValidator = relationNewRequestValidator;
|
||||
this.relationUpdateRequestValidator = relationUpdateRequestValidator;
|
||||
this.relationDeleteRequestValidator = relationDeleteRequestValidator;
|
||||
|
||||
relationMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
this.requestHelper = requestHelper.setLogger(log);
|
||||
}
|
||||
|
||||
// --- external API ---
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
// this.profileDocumentMap = imdgProvider.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class);
|
||||
// this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
|
||||
callback(RelationNewRequest.class)
|
||||
.setFunction(this::relationNew)
|
||||
.forDestination(Consts.DESTINATION_RELATION_NEW, callbacks::put);
|
||||
callback(RelationUpdateRequest.class)
|
||||
.setFunction(this::relationUpdate)
|
||||
.forDestination(Consts.DESTINATION_RELATION_UPDATE, callbacks::put);
|
||||
callback(CommonDeleteRequest.class)
|
||||
.setFunction(this::relationDelete)
|
||||
.forDestination(Consts.DESTINATION_RELATION_DELETE, callbacks::put);
|
||||
init();
|
||||
}
|
||||
|
||||
private synchronized RequestInfoUpdate relationNew(BaseRequest<RelationNewRequest> relationNewBaseRequest) {
|
||||
RelationNewRequest req = relationNewBaseRequest.getRequestPayload();
|
||||
log.debug("relation-new request received, BaseRequest.id = {}", relationNewBaseRequest.getId());
|
||||
{ // Валидация
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(relationNewBaseRequest);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
requestInfoUpdate = validationHelper.validateTillFirstError(relationNewBaseRequest, relationNewRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
}
|
||||
|
||||
|
||||
Company company = companyMap.getSingleObjectByID(req.getCompanyId());
|
||||
|
||||
Relation existRelation = searchRelation(req.getClearingMemberCategory(), req.getCompanyId());
|
||||
if (existRelation != null && !WorkflowStatus.Blocked.equalsByKey(existRelation.getServiceStatus())) {
|
||||
CompanyErrors errorType;
|
||||
if (ru.spcex.platform.enumeration.Service.MKR.equalsByKey(existRelation.getService())) {
|
||||
errorType = CompanyErrors.ClearingMemberCategoryOnMKRAlreadyExist;
|
||||
} else if (ru.spcex.platform.enumeration.Service.FOND.equalsByKey(existRelation.getService())) {
|
||||
errorType = CompanyErrors.ClearingMemberCategoryOnFONDAlreadyExist;
|
||||
} else {
|
||||
log.warn("Unknown relation[{}] service={}", existRelation.getId(), existRelation.getService());
|
||||
errorType = CompanyErrors.GeneralError;
|
||||
}
|
||||
return requestHelper.makeErrorResponse(relationNewBaseRequest, errorType);
|
||||
}
|
||||
|
||||
Relation relation;
|
||||
if (existRelation == null) {
|
||||
relation = new Relation();
|
||||
relation.setId(idSequence.nextId());
|
||||
relation.setCreated(Instant.now());
|
||||
relation.setUpdated(relation.getCreated());
|
||||
} else {
|
||||
log.info("Found exist relation id={}, it will be update.", existRelation.getId());
|
||||
relation = existRelation;
|
||||
relation.setUpdated(Instant.now());
|
||||
}
|
||||
|
||||
relation.setConsumerId(req.getCompanyId());
|
||||
relation.setSupplierId(SPVB_ID); // 1 СПВБ
|
||||
if (req.getServiceStatus() != null) {
|
||||
relation.setServiceStatus(req.getServiceStatus());
|
||||
} else {
|
||||
if (existRelation != null) {
|
||||
relation.setServiceStatus(ServiceStatus.Reopened.getKey());
|
||||
log.debug("Request has no status. Set status by resume: {}", relation.getServiceStatus());
|
||||
} else {
|
||||
String toStatus = WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? ServiceStatus.Active.getKey() :
|
||||
WorkflowStatus.Blocked.equalsByKey(company.getWorkflowStatus()) ? ServiceStatus.Closed.getKey() :
|
||||
null;
|
||||
log.debug("Request has no status. Set status by company[{}].status={}. Relation[{}].serviceSStatus={}",
|
||||
company.getId(), company.getWorkflowStatus(), toStatus);
|
||||
relation.setServiceStatus(toStatus);
|
||||
}
|
||||
}
|
||||
relation.setService(ru.spcex.platform.enumeration.Service.MKR.getKey()); // MKR
|
||||
relation.setServiceProduct(ServiceProduct.ZERO.getKey());
|
||||
relation.setComment(req.getComment());
|
||||
|
||||
relationMap.insert(relation);
|
||||
log.debug("New Relation[{}] created.", relation.getId());
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Relation searchRelation(String clearingMemberCategory, Long consumerId) {
|
||||
String svc;
|
||||
if (ClearingCategory.B.equalsByKey(clearingMemberCategory)
|
||||
|| ClearingCategory.I.equalsByKey(clearingMemberCategory)
|
||||
|| ClearingCategory.V.equalsByKey(clearingMemberCategory)
|
||||
) {
|
||||
svc = ru.spcex.platform.enumeration.Service.MKR.getKey();
|
||||
} else if (ClearingCategory.C.equalsByKey(clearingMemberCategory)
|
||||
|| ClearingCategory.F.equalsByKey(clearingMemberCategory)
|
||||
) {
|
||||
svc = ru.spcex.platform.enumeration.Service.FOND.getKey();
|
||||
} else {
|
||||
log.warn("Unexpected relation Relation={}", clearingMemberCategory);
|
||||
return null;
|
||||
}
|
||||
Relation existRelation = relationMap.getSingleObjectByFieldValues(Map.of(
|
||||
"consumerId", consumerId,
|
||||
"service", svc
|
||||
));
|
||||
return existRelation;
|
||||
}
|
||||
|
||||
private synchronized RequestInfoUpdate relationUpdate(BaseRequest<RelationUpdateRequest> relationUpdateBaseRequest) {
|
||||
RelationUpdateRequest req = relationUpdateBaseRequest.getRequestPayload();
|
||||
log.debug("relation-update request received, BaseRequest.id = {}", relationUpdateBaseRequest.getId());
|
||||
{ // Валидация
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(relationUpdateBaseRequest);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
requestInfoUpdate = validationHelper.validateTillFirstError(relationUpdateBaseRequest, relationUpdateRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
}
|
||||
|
||||
|
||||
Relation relation = relationMap.getSingleObjectByID(req.getId());
|
||||
relation.setUpdated(relation.getCreated());
|
||||
|
||||
if (req.getServiceStatus() != null) {
|
||||
log.debug("To relation {} set serivceStatus=\"{}\" by user request.", relation.getId(), req.getServiceStatus());
|
||||
relation.setServiceStatus(req.getServiceStatus());
|
||||
} else {
|
||||
if (relation.getConsumerId() == null) {
|
||||
log.warn("Relation[{}]. consumerId was null", relation.getId());
|
||||
}
|
||||
Company company = companyMap.getSingleObjectByID(relation.getConsumerId());
|
||||
String toStatus = WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus()) ? ServiceStatus.Active.getKey() :
|
||||
WorkflowStatus.Blocked.equalsByKey(company.getWorkflowStatus()) ? ServiceStatus.Closed.getKey() :
|
||||
null;
|
||||
if (ServiceStatus.Active.equalsByKey(toStatus) && ServiceStatus.Closed.equalsByKey(relation.getServiceStatus())) {
|
||||
relation.setServiceStatus(ServiceStatus.Reopened.getKey());
|
||||
log.debug("Set status by resume: {}", relation.getServiceStatus());
|
||||
} else {
|
||||
relation.setServiceStatus(toStatus);
|
||||
log.debug("Request has no status. Set status by company[{}].status={}. Relation[{}].serviceSStatus={}",
|
||||
company.getId(), company.getWorkflowStatus(), toStatus, relation.getServiceStatus());
|
||||
}
|
||||
}
|
||||
|
||||
relation.setComment(req.getComment());
|
||||
|
||||
relationMap.insert(relation);
|
||||
log.debug("Update Relation[{}] created.", relation.getId());
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private synchronized RequestInfoUpdate relationDelete(BaseRequest<CommonDeleteRequest> relationDeleteBaseRequest) {
|
||||
CommonDeleteRequest req = relationDeleteBaseRequest.getRequestPayload();
|
||||
log.debug("relation-delete request received, BaseRequest.id = {}", relationDeleteBaseRequest.getId());
|
||||
{ // Валидация
|
||||
RequestInfoUpdate requestInfoUpdate = userRoleVerification.validateRoleAndGetResult(relationDeleteBaseRequest);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
|
||||
requestInfoUpdate = validationHelper.validateTillFirstError(relationDeleteBaseRequest, relationDeleteRequestValidator);
|
||||
if (requestInfoUpdate != null) return requestInfoUpdate;
|
||||
}
|
||||
|
||||
|
||||
Relation relation = relationMap.getSingleObjectByID(req.getId());
|
||||
if (WorkflowStatus.Blocked.equalsByKey(relation.getServiceStatus())) {
|
||||
log.warn("Relation {} already blocked.", relation.getId());
|
||||
} else {
|
||||
relation.setUpdated(relation.getCreated());
|
||||
relation.setServiceStatus(WorkflowStatus.Blocked.getKey());
|
||||
|
||||
relationMap.insert(relation);
|
||||
log.debug("Relation[{}] block.", relation.getId());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
// --- internal API ---
|
||||
|
||||
protected void createNewRelation(ImdgTransaction transaction, Company company) {
|
||||
Relation relation = new Relation();
|
||||
// relation.setId(idSequence.nextId());
|
||||
relation.setCreated(Instant.now());
|
||||
relation.setUpdated(relation.getCreated());
|
||||
|
||||
relation.setConsumerId(company.getId());
|
||||
relation.setSupplierId(SPVB_ID); // 1 СПВБ
|
||||
relation.setServiceStatus(WorkflowStatus.Active.getKey());
|
||||
relation.setService(ru.spcex.platform.enumeration.Service.MKR.getKey()); // MKR
|
||||
relation.setServiceProduct(ServiceProduct.ZERO.getKey());
|
||||
log.debug("New Relation[{}] created.", relation.getId());
|
||||
Imdg<Relation> relationMap = transaction.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
relationMap.insert(relation);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param company
|
||||
* @param oldStatus
|
||||
* @param newStatus WorkflowStatus.Active - при возобналвении; WorkflowStatus.Blocked - при блокировки/расторжении
|
||||
*/
|
||||
public void onChangeWorkflowStatus(ImdgTransaction transaction, Company company, String oldStatus, String newStatus) throws ValidationException {
|
||||
log.debug("Company id={} status changed from {} to {}",
|
||||
company.getId(), oldStatus, company.getWorkflowStatus());
|
||||
onChangeWorkflowStatusOnlyRelationChange(transaction, company, newStatus);
|
||||
|
||||
if (WorkflowStatus.Blocked.equalsByKey(newStatus)) {
|
||||
// IV - сообщения на добавления документа расторжения договора
|
||||
CompanyErrors hasError = accountNotification.accountTerminationNotification(company.getId());
|
||||
if (hasError != null) {
|
||||
log.warn("Can not block company, cause error {}", hasError);
|
||||
throw new ValidationException(hasError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected synchronized void onChangeWorkflowStatusOnlyRelationChange(ImdgTransaction transaction, Company company, String newStatus) throws ValidationException {
|
||||
assert Objects.equals(newStatus, company.getWorkflowStatus());
|
||||
String query = String.format("consumerId=%s", company.getId());
|
||||
Imdg<Relation> relationMap = transaction.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
Collection<Relation> relations = relationMap.getCollectionObjectsBySQL(query);
|
||||
log.trace("Selected {} Relation by query: {}", relations.size(), query);
|
||||
Instant now = Instant.now();
|
||||
for (Relation relation : relations) {
|
||||
boolean modified = false;
|
||||
if (WorkflowStatus.Active.equalsByKey(company.getWorkflowStatus())) {
|
||||
if (!ServiceStatus.Reopened.equalsByKey(relation.getServiceStatus())) {
|
||||
relation.setServiceStatus(ServiceStatus.Reopened.getKey());
|
||||
modified = true;
|
||||
}
|
||||
} else if (WorkflowStatus.Blocked.equalsByKey(company.getWorkflowStatus())) {
|
||||
if (!ServiceStatus.Closed.equalsByKey(relation.getServiceStatus())) {
|
||||
relation.setServiceStatus(ServiceStatus.Closed.getKey());
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
if (modified) {
|
||||
relation.setUpdated(now);
|
||||
log.debug("Relation id={} updated", relation.getId());
|
||||
relationMap.update(relation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -18,6 +18,7 @@ import ru.clearing.platform.dictionary.*;
|
|||
import ru.spcex.clearing.company.config.BeanConfiguration;
|
||||
import ru.spcex.clearing.company.config.validation.CompanySymbolValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.CompanyValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.RelationValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.ValidationConfig;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
|
|
@ -50,7 +51,8 @@ import static ru.spcex.clearing.test.config.ImdgTestConfig.waitAvailableImdgProv
|
|||
ValidationConfig.class,
|
||||
CompanySymbolService.class,
|
||||
AccountNotificationHelper.class,
|
||||
RelationHelper.class,
|
||||
RelationService.class,
|
||||
RelationValidationConfig.class,
|
||||
BeanConfiguration.class,
|
||||
|
||||
KafkaTestConfig.class,
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import ru.clearing.platform.dictionary.WorkflowStatusDictionary;
|
|||
import ru.spcex.clearing.company.config.BeanConfiguration;
|
||||
import ru.spcex.clearing.company.config.validation.CompanySymbolValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.CompanyValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.RelationValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.ValidationConfig;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -54,7 +55,7 @@ import static ru.spcex.clearing.test.config.ImdgTestConfig.waitAvailableImdgProv
|
|||
ValidationConfig.class,
|
||||
CompanySymbolService.class,
|
||||
AccountNotificationHelper.class,
|
||||
RelationHelper.class,
|
||||
RelationService.class, RelationValidationConfig.class,
|
||||
|
||||
CompanySymbolService.class,
|
||||
CompanySymbolValidationConfig.class,
|
||||
|
|
|
|||
|
|
@ -12,11 +12,13 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||
import org.springframework.boot.test.mock.mockito.SpyBean;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.CompanySymbols;
|
||||
import ru.clearing.platform.dictionary.CompanySymbolDictionary;
|
||||
import ru.spcex.clearing.company.config.BeanConfiguration;
|
||||
import ru.spcex.clearing.company.config.validation.CompanySymbolValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.CompanyValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.RelationValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.ValidationConfig;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
|
||||
|
|
@ -49,7 +51,7 @@ import static ru.spcex.clearing.test.config.ImdgTestConfig.waitAvailableImdgProv
|
|||
CompanyService.class,
|
||||
CompanyValidationConfig.class,
|
||||
AccountNotificationHelper.class,
|
||||
RelationHelper.class,
|
||||
RelationService.class, RelationValidationConfig.class,
|
||||
|
||||
KafkaTestConfig.class,
|
||||
ImdgTestConfig.class})
|
||||
|
|
@ -92,6 +94,14 @@ class CompanySymbolServiceTest {
|
|||
cioSymbol.setName(CompanySymbol.CIO.getKey());
|
||||
companySymbolDictionaryImdg.insert(cioSymbol);
|
||||
}
|
||||
Imdg<Company> companyImdg = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
{
|
||||
Company company = new Company();
|
||||
company.setId(ID);
|
||||
company.setShortName("TST");
|
||||
company.setWorkflowStatus("ACTV");
|
||||
companyImdg.insert(company);
|
||||
}
|
||||
|
||||
|
||||
TestUtils.FutureRecordMetadata future = spy(TestUtils.FutureRecordMetadata.class);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,214 @@
|
|||
package ru.spcex.clearing.company.service;
|
||||
|
||||
import org.apache.kafka.clients.consumer.MockConsumer;
|
||||
import org.apache.kafka.clients.producer.MockProducer;
|
||||
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.Captor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.mock.mockito.SpyBean;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.company.relation.Relation;
|
||||
import ru.clearing.platform.dictionary.ClearingCategoryDictionary;
|
||||
import ru.clearing.platform.dictionary.WorkflowStatusDictionary;
|
||||
import ru.spcex.clearing.company.config.BeanConfiguration;
|
||||
import ru.spcex.clearing.company.config.validation.RelationValidationConfig;
|
||||
import ru.spcex.clearing.company.config.validation.ValidationConfig;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.Consts;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.RelationNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.RelationUpdateRequest;
|
||||
import ru.spcex.clearing.test.MatcherFactory;
|
||||
import ru.spcex.clearing.test.TestUtils;
|
||||
import ru.spcex.clearing.test.config.ImdgTestConfig;
|
||||
import ru.spcex.clearing.test.config.KafkaTestConfig;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.enumeration.WorkflowStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static ru.spcex.clearing.test.MatcherFactory.usingIgnoringFieldsComparator;
|
||||
import static ru.spcex.clearing.test.TestUtils.*;
|
||||
import static ru.spcex.clearing.test.config.ImdgTestConfig.currentID;
|
||||
import static ru.spcex.clearing.test.config.ImdgTestConfig.waitAvailableImdgProviderAndAddAdminWithDefaultId;
|
||||
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = {
|
||||
BeanConfiguration.class,
|
||||
ValidationConfig.class,
|
||||
RelationService.class,
|
||||
AccountNotificationHelper.class,
|
||||
RelationValidationConfig.class,
|
||||
KafkaTestConfig.class,
|
||||
ImdgTestConfig.class})
|
||||
class RelationServiceTest {
|
||||
|
||||
public static final MatcherFactory.Matcher<Relation> RELATION_MATCHER = usingIgnoringFieldsComparator("created", "updated");
|
||||
private static final int PARTITION = 0;
|
||||
|
||||
private static final Long ID = currentID.getAndIncrement();
|
||||
@Autowired
|
||||
RelationService relationService;
|
||||
@Autowired
|
||||
@Qualifier("hazelcastServiceTest")
|
||||
private ImdgProvider hazelcastServiceTest;
|
||||
private Imdg<Relation> relationMap;
|
||||
private Imdg<Company> companyMap;
|
||||
|
||||
@Captor
|
||||
private ArgumentCaptor<ProducerRecord> producerRecord;
|
||||
@SpyBean
|
||||
private MockProducer<String, Object> mockProducer;
|
||||
|
||||
private long COMPANY_ID;
|
||||
|
||||
private final long RELATION_ID = ID;
|
||||
|
||||
@PostConstruct
|
||||
private void init() {
|
||||
waitAvailableImdgProviderAndAddAdminWithDefaultId();
|
||||
this.relationMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Relation, Relation.class);
|
||||
this.companyMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
|
||||
Company testCompany = new Company();
|
||||
testCompany.setWorkflowStatus(WorkflowStatus.Active.getKey());
|
||||
COMPANY_ID = companyMap.insert(testCompany);
|
||||
|
||||
Imdg<WorkflowStatusDictionary> workflowStatusDictionaryImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_WorkflowStatusDictionary,
|
||||
WorkflowStatusDictionary.class
|
||||
);
|
||||
WorkflowStatusDictionary workflowStatusDictionary = new WorkflowStatusDictionary();
|
||||
workflowStatusDictionary.setId(1L);
|
||||
workflowStatusDictionary.setCode(WorkflowStatus.Active.getKey());
|
||||
workflowStatusDictionary.setName("active");
|
||||
workflowStatusDictionaryImdg.insert(workflowStatusDictionary);
|
||||
workflowStatusDictionary = new WorkflowStatusDictionary();
|
||||
workflowStatusDictionary.setId(2L);
|
||||
workflowStatusDictionary.setCode(WorkflowStatus.Blocked.getKey());
|
||||
workflowStatusDictionary.setName("not active");
|
||||
workflowStatusDictionaryImdg.insert(workflowStatusDictionary);
|
||||
|
||||
Imdg<ClearingCategoryDictionary> clearingCategoryDictionaryImdg = hazelcastServiceTest.getImdg(
|
||||
IMDGDistributedNames.Map_ClearingCategoryDictionary,
|
||||
ClearingCategoryDictionary.class
|
||||
);
|
||||
ClearingCategoryDictionary clearingCategoryDictionary = new ClearingCategoryDictionary();
|
||||
clearingCategoryDictionary.setId(1L);
|
||||
clearingCategoryDictionary.setCode(ClearingCategory.I.getKey());
|
||||
clearingCategoryDictionary.setName("I");
|
||||
clearingCategoryDictionaryImdg.insert(clearingCategoryDictionary);
|
||||
|
||||
TestUtils.FutureRecordMetadata future = spy(TestUtils.FutureRecordMetadata.class);
|
||||
doReturn(future).when(mockProducer).send(producerRecord.capture());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void newRelation() {
|
||||
//ARRANGE
|
||||
RelationNewRequest relationNewRequest = new RelationNewRequest();
|
||||
relationNewRequest.setCompanyId(COMPANY_ID);
|
||||
relationNewRequest.setServiceStatus("ACTV");
|
||||
relationNewRequest.setClearingMemberCategory("I");
|
||||
relationNewRequest.setComment(null);
|
||||
|
||||
Relation predictableRelation = new Relation();
|
||||
predictableRelation.setId(RELATION_ID);
|
||||
predictableRelation.setConsumerId(relationNewRequest.companyId);
|
||||
predictableRelation.setService("MKR");
|
||||
predictableRelation.setServiceProduct("ZERO");
|
||||
predictableRelation.setSupplierId(1L);
|
||||
predictableRelation.setServiceStatus("ACTV");
|
||||
|
||||
//ACT
|
||||
String jsonString = getJsonStringForNew(relationNewRequest, ID);
|
||||
|
||||
addRecordToKafka((MockConsumer) relationService.getConsumer(), Consts.DESTINATION_RELATION_NEW, PARTITION, 0, jsonString);
|
||||
|
||||
//ASSERT
|
||||
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
|
||||
Relation resultNew = relationMap.getSingleObjectBySQL("serviceStatus=ACTV"); // String.format("supplierId = %d", COMPANY_ID));
|
||||
predictableRelation.setId(resultNew.getId());
|
||||
RELATION_MATCHER.assertMatch(resultNew, predictableRelation);
|
||||
}
|
||||
|
||||
@Test
|
||||
void updateRelation() {
|
||||
//ARRANGE
|
||||
Relation existsRelation = new Relation();
|
||||
existsRelation.setId(ID);
|
||||
existsRelation.setConsumerId(COMPANY_ID);
|
||||
existsRelation.setSupplierId(1L);
|
||||
existsRelation.setComment("Test ONE");
|
||||
existsRelation.setServiceStatus("ACTV");
|
||||
existsRelation.setServiceProduct("PROD");
|
||||
existsRelation.setService("MKR");
|
||||
relationMap.insert(existsRelation);
|
||||
|
||||
Relation predictableRelation = new Relation();
|
||||
predictableRelation.setId(ID);
|
||||
predictableRelation.setConsumerId(COMPANY_ID);
|
||||
predictableRelation.setSupplierId(1L);
|
||||
predictableRelation.setComment("Another Me - ONE");
|
||||
predictableRelation.setServiceStatus("ACTV");
|
||||
predictableRelation.setServiceProduct("PROD");
|
||||
predictableRelation.setService("MKR");
|
||||
|
||||
RelationUpdateRequest relationUpdateRequest = new RelationUpdateRequest();
|
||||
relationUpdateRequest.setId(RELATION_ID);
|
||||
relationUpdateRequest.setComment("Another Me - ONE");
|
||||
relationUpdateRequest.setServiceStatus("ACTV");
|
||||
|
||||
//ACT
|
||||
String jsonString = getJsonStringForUpdate(relationUpdateRequest, ID);
|
||||
|
||||
addRecordToKafka((MockConsumer) relationService.getConsumer(), Consts.DESTINATION_RELATION_UPDATE, PARTITION, 0, jsonString);
|
||||
|
||||
//ASSERT
|
||||
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
|
||||
Relation resultUpdate = relationMap.getSingleObjectBySQL(String.format("id = %d", RELATION_ID));
|
||||
// predictableProfileDocument.setId(resultUpdate.getId());
|
||||
RELATION_MATCHER.assertMatch(resultUpdate, predictableRelation);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void deleteProfileDocument() {
|
||||
//ARRANGE
|
||||
Relation existsRelation = new Relation();
|
||||
existsRelation.setId(ID);
|
||||
existsRelation.setConsumerId(COMPANY_ID);
|
||||
existsRelation.setSupplierId(1L);
|
||||
existsRelation.setComment("Test ONE");
|
||||
existsRelation.setServiceStatus("ACTV");
|
||||
existsRelation.setServiceProduct("PROD");
|
||||
existsRelation.setService("MKR");
|
||||
relationMap.insert(existsRelation);
|
||||
|
||||
CommonDeleteRequest profileDocumentDeleteRequest = new CommonDeleteRequest();
|
||||
profileDocumentDeleteRequest.setId(RELATION_ID);
|
||||
|
||||
//ACT
|
||||
String jsonString = getJsonStringForUpdate(profileDocumentDeleteRequest, ID);
|
||||
|
||||
addRecordToKafka((MockConsumer) relationService.getConsumer(), Consts.DESTINATION_RELATION_DELETE, PARTITION, 0, jsonString);
|
||||
|
||||
//ASSERT
|
||||
waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord);
|
||||
Relation resultUpdate = relationMap.getSingleObjectByID(RELATION_ID);
|
||||
// Assertions.assertNull(resultUpdate);
|
||||
assertEquals(WorkflowStatus.Blocked.getKey(), resultUpdate.getServiceStatus());
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
-- DB version: 3.5.0.20
|
||||
-- DATA version: 3.5.0.4
|
||||
-- DB version: 3.5.0.21
|
||||
-- DATA version: 3.5.0.5
|
||||
/* Dictionaries */
|
||||
|
||||
INSERT INTO ALLOWED_DICTIONARY(ID, CODE, NAME) values (1, 'ALWD', 'Разрешено') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -124,6 +124,8 @@ INSERT INTO DOCUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (22, 'LICС', 'До
|
|||
|
||||
INSERT INTO DOCUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (23, 'LICF', 'Документ о лицензии форекс-дилера') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO DOCUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (24, 'LICM', 'Документ о лицензии на управление инвестиционными фондами, паевыми инвестиционными фондами, негосударственными пенсионными фондами') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (1, 'OCVD', 'Общероссийский классификатор видов экономической деятельности', 'ОКВЭД') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SHORTNAME = EXCLUDED.SHORTNAME;
|
||||
|
||||
INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (2, 'INN', 'Индивидуальный налоговый номер', 'ИНН') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SHORTNAME = EXCLUDED.SHORTNAME;
|
||||
|
|
@ -160,7 +162,7 @@ INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (17, 'RG
|
|||
|
||||
INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (18, 'UUID', 'Идентификатор во внешней системе', 'Внешний идентификатор') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SHORTNAME = EXCLUDED.SHORTNAME;
|
||||
|
||||
INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (19, 'RDPZ', 'Требуется получение документа о подтверждении открытия депозитного счета', 'Подтверждение депозитного счета') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SHORTNAME = EXCLUDED.SHORTNAME;
|
||||
INSERT INTO COMPANY_SYMBOL_DICTIONARY(ID, CODE, NAME, SHORTNAME) values (19, 'LICM', 'Лицензия на управление инвестиционными фондами, паевыми инвестиционными фондами, негосударственными пенсионными фондами', 'Лицензия на управление фондами') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SHORTNAME = EXCLUDED.SHORTNAME;
|
||||
|
||||
INSERT INTO COMPANY_ROLE_DICTIONARY(ID, CODE, NAME) values (1, 'RPRT', 'Отчетная организация') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -174,6 +176,8 @@ INSERT INTO COMPANY_ROLE_DICTIONARY(ID, CODE, NAME) values (5, 'DEPS', 'Депо
|
|||
|
||||
INSERT INTO COMPANY_ROLE_DICTIONARY(ID, CODE, NAME) values (6, 'CLRM', 'Участник клиринга') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO COMPANY_ROLE_DICTIONARY(ID, CODE, NAME) values (7, 'ODEP', 'Участник расчетов по открытым депозитным счетам на секции МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CURRENCY_CODE_DICTIONARY(ID, CODE, NAME) values (643, 'RUB', 'Российский рубль') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO INSTRUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'RATE', 'Инструмент Денежного рынка') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -334,6 +338,10 @@ INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (6, 'LIQU', 'Ли
|
|||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (7, 'POOL', 'В клиринге') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (8, 'NACK', 'Не допущено') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (9, 'NACC', 'Не допущено у контрагента') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO BALANCE_DIMENSION_DICTIONARY(ID, CODE, NAME) values (1, 'PICS', 'Штуки') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO BALANCE_DIMENSION_DICTIONARY(ID, CODE, NAME) values (2, 'LOTS', 'Лоты') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -414,9 +422,9 @@ INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (36, 'SPRC', 'Запуск п
|
|||
|
||||
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (37, 'SPOC', 'Запуск постклиринга') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (38, 'LIMM', 'Выгрузка в торговую систему остатков секции МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (38, 'LIMM', 'Выгрузка в торговую систему остатков по деньгам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (39, 'LIMF', 'Выгрузка в торговую систему остатков Фондовой секции') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (39, 'LIMS', 'Выгрузка в торговую систему остатков по бумагам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (40, 'LIQU', 'Ликвидационная сессия по обязательтсвам участника') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -488,39 +496,9 @@ INSERT INTO SIDE_DICTIONARY(ID, CODE, NAME) values (2, 'SELL', 'Продажа')
|
|||
|
||||
INSERT INTO MARKET_CODE_DICTIONARY(ID, CODE, NAME) values (1, 'BMIC', 'СПВБ: ОФЗ-ИН - Аукцион БР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO COURIER_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STHS', 'ЭДО с Расчетной Организацией') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO MARKET_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'PRMR', 'Первичное размещение') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'STLD', 'Рассчитан') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'SENT', 'Отправлен в ПРЦ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'OK', 'Обработан ПРЦ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'FAIL', 'Ошибка ПРЦ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'CHER', 'Ошибка КС') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (6, 'NSNT', 'Не отправлен в ПРЦ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CHARGE_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'PRCT', 'Процент') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CHARGE_DIRECTION_DICTIONARY(ID, CODE, NAME) values (1, 'GET', 'Получить') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CHARGE_DIRECTION_DICTIONARY(ID, CODE, NAME) values (2, 'PAY', 'Заплатить') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CLEARING_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'OK', 'Успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CLEARING_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'FAIL', 'Не успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CLEARING_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'MNG', 'Не учитывать') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CLEARING_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'PROC', 'К клирингу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO BALANCE_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'ACNT', 'Остатки по счетам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO IN_OUT_DIRECTION_DICTIONARY(ID, CODE, NAME) values (1, 'IN', 'Зачисление') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO IN_OUT_DIRECTION_DICTIONARY(ID, CODE, NAME) values (2, 'OUT', 'Списание') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO MARKET_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'SCND', 'Вторичные торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO STATEMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'FULL', 'Установка суммы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -538,33 +516,33 @@ INSERT INTO OPERATION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'EXEC', 'Ис
|
|||
|
||||
INSERT INTO OPERATION_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'CNCL', 'Отменена') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CRPA', 'Корпоративное событие, связанное с допуском') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'DFLT', 'Отсутствие возврата по платежу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'NOTC', 'Генерация уведомления') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'SETL', 'Взаимодействие с расчетной организацией') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'CRT', 'Создано') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (1, 'ACC', 'Доступ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (2, 'NOND', 'Не поставка') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (3, 'DEL', 'Удалена') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'NACK', 'Неуспешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'ACK', 'Успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (1, '0102', 'Входящий ДФ-01/Исходящий ДФ-02') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (2, '1617', 'Входящий ДФ-16/Исходящий ДФ-17') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (2, '0607', 'Входящий ДФ-06/Исходящий ДФ-07') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (3, '0910', 'Входящий ДФ-09/Исходящий ДФ-10') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (3, '0809', 'Входящий ДФ-08/Исходящий ДФ-09') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STMT', 'STATEMENT') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (4, '1011', 'Входящий ДФ-10/Исходящий ДФ-11') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO IN_OUT_S_DF_TYPE_DICTIONARY(ID, CODE, NAME) values (5, '57', 'Входящий ДФ-57') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO IN_OUT_DIRECTION_DICTIONARY(ID, CODE, NAME) values (1, 'IN', 'Зачисление') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO IN_OUT_DIRECTION_DICTIONARY(ID, CODE, NAME) values (2, 'OUT', 'Списание') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'STLD', 'Рассчитан') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'SENT', 'Отправлен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'OK', 'Обработан') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'FAIL', 'Ошибка внешней системы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'CHER', 'Ошибка КС') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (6, 'NSNT', 'Не отправлен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STMT', 'statement') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'VFRS', 'verificationResult') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -576,6 +554,28 @@ INSERT INTO NOTIFICATION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'ACPT', '
|
|||
|
||||
INSERT INTO NOTIFICATION_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'READ', 'Прочтено') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CRPA', 'Корпоративное событие, связанное с допуском') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'DFLT', 'Отсутствие возврата по платежу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'NOTC', 'Генерация уведомления') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'SETL', 'Взаимодействие с расчетной организацией') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (1, 'ACC', 'Доступ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (2, 'NOND', 'Не поставка') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (3, 'DEL', 'Удалена') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO MANAGEMENT_JOURNAL_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'CRT', 'Создано') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO COURIER_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STHS', 'ЭДО с Расчетной Организацией') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'NACK', 'Неуспешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'ACK', 'Успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO EVENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CRET', 'Создание') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO EVENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'UPDT', 'Обновление') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -680,6 +680,8 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3025, 'CMPN', 'Дог
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3026, 'CMPN', 'Запись о договорных отношениях не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3027, 'CMPN', 'Код клиента %s не найден.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (4000, 'RPRT', 'Общая ошибка модуля report-serivce.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5000, 'ACNT', 'Общая ошибка модуля account-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -708,11 +710,13 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5014, 'ACNT', 'Ком
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5015, 'ACNT', 'Для компании %s уже создан информационный счет %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5016, 'ACNT', 'Для Компании %s уже создан ТКР %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5016, 'ACNT', 'Для компании %s уже создан ТКР %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5017, 'ACNT', 'Для Компании %s отсутствует счет ДЕПО.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5017, 'ACNT', 'Для компании %s отсутствует счет ДЕПО.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5018, 'ACNT', 'Для Компании %s отсутствует денежный счет.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5018, 'ACNT', 'Для компании %s отсутствует денежный счет.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5019, 'ACNT', 'Для компании %s отсутствует категория %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5200, 'BLNC', 'Общая ошибка модуля balance-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
|
|
@ -780,6 +784,14 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5418, 'CLRN', 'Тор
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5419, 'CLRN', 'Торгово-клиринговый регистр %s неактивен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5420, 'CLRN', 'Доступ к клирингу на «%s» не найден для компании %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5421, 'CLRN', 'Доступ к клирингу на «%s» неактивен для компании %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5422, 'CLRN', 'Необеспеченность обязательств у компании %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5423, 'CLRN', 'Новые сделки отсутствуют.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5600, 'DBFI', 'Общая ошибка модуля dbf-importer.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5800, 'DBFE', 'Общая ошибка модуля dbf-exporter.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -830,6 +842,10 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9004, 'BAPI', 'Не м
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (9005, 'BAPI', 'Не найдено ресурс %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (10000, 'TRDI', 'Общая ошибка модуля trade-importer.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (10001, 'TRDI', 'Сделка с номером в ТС = %s некорректна.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
/* Business objects */
|
||||
|
||||
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (1, 'АО Санкт-Петербургская Валютная Биржа', 'СПВБ', '', '', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
|
||||
|
|
@ -850,4 +866,146 @@ INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SI
|
|||
|
||||
INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (2, 1, '30414810600000007000', 'ANLT', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN;
|
||||
|
||||
INSERT INTO MARKET(ID, CODE, NAME, SECTION) values (1, 'MKRS', 'Денежный рынок МКР', 'MKR') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SECTION = EXCLUDED.SECTION;
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (1, 'SCND', 'FOND', 'RUB', 'UESC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (2, 'SCND', 'FOND', 'RUB', 'NESC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (3, 'SCND', 'FOND', 'RUB', 'DESC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (4, 'PRMR', 'FOND', 'RUB', 'AESC', 'Размещение: акции (аукцион по цене)', 1, 'Размещение: акции (аукцион по цене): Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (5, 'PRMR', 'FOND', 'RUB', 'WESC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (6, 'SCND', 'FOND', 'RUB', 'UEPC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (7, 'SCND', 'FOND', 'RUB', 'NEPC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (8, 'SCND', 'FOND', 'RUB', 'DEPC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (9, 'PRMR', 'FOND', 'RUB', 'AEPC', 'Размещение: акции (аукцион по цене)', 1, 'Размещение: акции (аукцион по цене): Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (10, 'PRMR', 'FOND', 'RUB', 'WEPC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (11, 'PRMR', 'FOND', 'RUB', 'ABVC', 'Размещение: Аукцион по цене', 1, 'Размещение: Аукцион по цене: Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (12, 'PRMR', 'FOND', 'RUB', 'KBVC', 'Размещение: Аукцион по ставке', 1, 'Размещение: Аукцион по ставке: Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (13, 'SCND', 'FOND', 'RUB', 'UBVC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (14, 'SCND', 'FOND', 'RUB', 'NBVC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (15, 'SCND', 'FOND', 'RUB', 'DBVC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (16, 'PRMR', 'FOND', 'RUB', 'WBVC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (17, 'PRMR', 'FOND', 'RUB', 'ABFC', 'Размещение: Аукцион по цене', 1, 'Размещение: Аукцион по цене: Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (18, 'PRMR', 'FOND', 'RUB', 'KBFC', 'Размещение: Аукцион по ставке', 1, 'Размещение: Аукцион по ставке: Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (19, 'SCND', 'FOND', 'RUB', 'UBFC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (20, 'SCND', 'FOND', 'RUB', 'NBFC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (21, 'SCND', 'FOND', 'RUB', 'DBFC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (22, 'PRMR', 'FOND', 'RUB', 'WBFC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (23, 'PRMR', 'FOND', 'RUB', 'ABIC', 'Размещение: Аукцион по цене', 1, 'Размещение: Аукцион по цене: Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (24, 'PRMR', 'FOND', 'RUB', 'KBIC', 'Размещение: Аукцион по ставке', 1, 'Размещение: Аукцион по ставке: Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (25, 'SCND', 'FOND', 'RUB', 'UBIC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (26, 'SCND', 'FOND', 'RUB', 'NBIC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (27, 'SCND', 'FOND', 'RUB', 'DBIC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (28, 'PRMR', 'FOND', 'RUB', 'WBIC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (29, 'PRMR', 'FOND', 'RUB', 'ABMC', 'Размещение: Аукцион по цене', 1, 'Размещение: Аукцион по цене: Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (30, 'PRMR', 'FOND', 'RUB', 'KBMC', 'Размещение: Аукцион по ставке', 1, 'Размещение: Аукцион по ставке: Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (31, 'SCND', 'FOND', 'RUB', 'UBMC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (32, 'SCND', 'FOND', 'RUB', 'NBMC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (33, 'SCND', 'FOND', 'RUB', 'DBMC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (34, 'PRMR', 'FOND', 'RUB', 'WBMC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (35, 'PRMR', 'FOND', 'RUB', 'BKVC', 'Размещение: Аукцион БР', 1, 'Размещение: Аукцион БР: Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (36, 'PRMR', 'FOND', 'RUB', 'SKVC', 'Доразмещение: Адресные заявки БР', 1, 'Доразмещение: Адресные заявки БР: Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (37, 'SCND', 'FOND', 'RUB', 'UKVC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (38, 'SCND', 'FOND', 'RUB', 'NKVC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (39, 'SCND', 'FOND', 'RUB', 'DKVC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (45, 'PRMR', 'FOND', 'RUB', 'ABEC', 'Размещение: Аукцион СПВБ', 1, 'Размещение: Аукцион СПВБ: Биржевые облигации') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (46, 'SCND', 'FOND', 'RUB', 'UBEC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Биржевые облигации') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (47, 'SCND', 'FOND', 'RUB', 'NBEC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Биржевые облигации') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (48, 'SCND', 'FOND', 'RUB', 'DBEC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Биржевые облигации') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (49, 'PRMR', 'MKR', 'RUB', 'XMDT', 'Размещение: депозитный аукцион', 1, 'Размещение: депозитный аукцион: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (51, 'PRMR', 'MKR', 'RUB', 'XMDS', 'Размещение: депозитный аукцион', 1, 'Размещение: депозитный аукцион: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (52, 'PRMR', 'MKR', 'RUB', 'XMDD', 'Размещение: депозитный аукцион', 1, 'Размещение: депозитный аукцион: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (54, 'PRMR', 'MKR', 'RUB', 'XMTT', 'Размещение: депозитные торги', 1, 'Размещение: депозитные торги: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (55, 'PRMR', 'MKR', 'RUB', 'YMRT', 'Доразмещение: аукцион по ставке депозита', 1, 'Доразмещение: аукцион по ставке депозита: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (56, 'PRMR', 'MKR', 'RUB', 'YMRT', 'Доразмещение: депозитные торги', 1, 'Доразмещение: депозитные торги: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (58, 'PRMR', 'MKR', 'RUB', 'YMTT', 'Доразмещение: депозитные торги', 1, 'Доразмещение: депозитные торги: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (59, 'PRMR', 'MKR', 'RUB', 'XMXD', 'Размещение: отбор заявок', 1, 'Размещение: отбор заявок: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (60, 'PRMR', 'MKR', 'RUB', 'XMXX', 'Размещение: отбор заявок', 1, 'Размещение: отбор заявок: МКР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (61, 'PRMR', 'FOND', 'RUB', 'BMVC', 'ОФЗПК-Размещение: Аукцион БР', 1, 'ОФЗПК-Размещение: Аукцион БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (62, 'PRMR', 'FOND', 'RUB', 'SMVC', 'ОФЗПК-Доразмещение: Адресные заявки БР', 1, 'ОФЗПК-Доразмещение: Адресные заявки БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (63, 'SCND', 'FOND', 'RUB', 'UMVC', 'ОФЗПК-Режим непрерывных торгов', 1, 'ОФЗПК-Режим непрерывных торгов: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (64, 'SCND', 'FOND', 'RUB', 'DMVC', 'ОФЗПК-Дискретный аукцион', 1, 'ОФЗПК-Дискретный аукцион: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (65, 'SCND', 'FOND', 'RUB', 'MMVC', 'ОФЗПК-Торги в режиме выкупа', 1, 'ОФЗПК-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (66, 'PRMR', 'FOND', 'RUB', 'BMFC', 'ОФЗПД-Размещение: Аукцион БР', 1, 'ОФЗПД-Размещение: Аукцион БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (67, 'PRMR', 'FOND', 'RUB', 'SMFC', 'ОФЗПД- Доразмещение: Адресные заявки БР', 1, 'ОФЗПД- Доразмещение: Адресные заявки БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (68, 'SCND', 'FOND', 'RUB', 'UMFC', 'ОФЗПД-Режим непрерывных торгов', 1, 'ОФЗПД-Режим непрерывных торгов: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (69, 'SCND', 'FOND', 'RUB', 'DMFC', 'ОФЗПД-Дискретный аукцион', 1, 'ОФЗПД-Дискретный аукцион: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (70, 'SCND', 'FOND', 'RUB', 'MMFC', 'ОФЗПД-Торги в режиме выкупа', 1, 'ОФЗПД-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (71, 'PRMR', 'FOND', 'RUB', 'BMMC', 'ОФЗАД-Размещение: Аукцион БР', 1, 'ОФЗАД-Размещение: Аукцион БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (72, 'PRMR', 'FOND', 'RUB', 'SMMC', 'ОФЗАД-Доразмещение: Адресные заявки БР', 1, 'ОФЗАД-Доразмещение: Адресные заявки БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (73, 'SCND', 'FOND', 'RUB', 'UMMC', 'ОФЗАД-Режим непрерывных торгов', 1, 'ОФЗАД-Режим непрерывных торгов: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (74, 'SCND', 'FOND', 'RUB', 'DMMC', 'ОФЗАД-Дискретный аукцион', 1, 'ОФЗАД-Дискретный аукцион: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (75, 'SCND', 'FOND', 'RUB', 'MMMC', 'ОФЗАД-Торги в режиме выкупа', 1, 'ОФЗАД-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (76, 'PRMR', 'FOND', 'RUB', 'BMIC', 'ОФЗИН-Размещение: Аукцион БР', 1, 'ОФЗИН-Размещение: Аукцион БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (77, 'PRMR', 'FOND', 'RUB', 'SMIC', 'ОФЗИН-Доразмещение: Адресные заявки БР', 1, 'ОФЗИН-Доразмещение: Адресные заявки БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (78, 'SCND', 'FOND', 'RUB', 'UMIC', 'ОФЗИН-Режим непрерывных торгов', 1, 'ОФЗИН-Режим непрерывных торгов: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (79, 'SCND', 'FOND', 'RUB', 'DMIC', 'ОФЗИН-Дискретный аукцион', 1, 'ОФЗИН-Дискретный аукцион: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (80, 'SCND', 'FOND', 'RUB', 'MMIC', 'ОФЗИН-Торги в режиме выкупа', 1, 'ОФЗИН-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue