Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
6a01cb328f
40 changed files with 261 additions and 72 deletions
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
|
|
|||
|
|
@ -6,13 +6,13 @@
|
|||
<parent>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>cleaning-builders</artifactId>
|
||||
<name>cleaning-builders</name>
|
||||
<description>Cleaning builders module</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
<name>clearing-validation</name>
|
||||
<description>Clearing-module, dependency version of platform-utils</description>
|
||||
<packaging>jar</packaging>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
|
@ -35,13 +35,13 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>dictionary</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import org.springframework.context.annotation.Configuration;
|
|||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.platform.dictionary.ClearingCategoryDictionary;
|
||||
import ru.spcex.clearing.company.config.validation.rules.ProviderMemberCategoryValidationRule;
|
||||
import ru.spcex.clearing.company.error.CompanyErrors;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonDeleteRequest;
|
||||
|
|
@ -50,7 +51,8 @@ public class ClearingMemberCategoryValidationConfig {
|
|||
IMDGDistributedNames.Map_ClearingCategoryDictionary,
|
||||
ClearingCategoryDictionary.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.DictionaryNotFound)
|
||||
CompanyErrors.DictionaryNotFound),
|
||||
ProviderMemberCategoryValidationRule.NEW
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
@ -66,6 +68,7 @@ public class ClearingMemberCategoryValidationConfig {
|
|||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingCategoryDictionary);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingMemberCategory);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Registry);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentSpecificRule.instance("id",
|
||||
ClearingMemberCategoryUpdateRequest::getId,
|
||||
|
|
@ -87,7 +90,8 @@ public class ClearingMemberCategoryValidationConfig {
|
|||
ClearingCategoryDictionary.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.DictionaryNotFound,
|
||||
false)
|
||||
false),
|
||||
ProviderMemberCategoryValidationRule.UPDATE
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
@ -101,13 +105,16 @@ public class ClearingMemberCategoryValidationConfig {
|
|||
context.setValidatedObject(clearingMemberCategoryDeleteRequest);
|
||||
Consumer<String> addImdg = (s) -> context.addImdg(s, imdgForValidation.get(s));
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingMemberCategory);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Registry);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company);
|
||||
return new ValidatorImpl<>(context,
|
||||
IdPresentRule.instance("id",
|
||||
CommonDeleteRequest::getId,
|
||||
IMDGDistributedNames.Map_ClearingMemberCategory,
|
||||
ClearingMemberCategory.class,
|
||||
CompanyErrors.RequiredFieldEmpty,
|
||||
CompanyErrors.CategoryNotFound)
|
||||
CompanyErrors.CategoryNotFound),
|
||||
ProviderMemberCategoryValidationRule.DELETE
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import ru.clearing.classes.statics.data.company.*;
|
|||
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.Registry;
|
||||
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
||||
import ru.clearing.platform.dictionary.*;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -31,6 +32,7 @@ public class ValidationConfig {
|
|||
|
||||
addImdg.accept(IMDGDistributedNames.Map_Company, Company.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ClearingCategoryDictionary, ClearingCategoryDictionary.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class);
|
||||
addImdg.accept(IMDGDistributedNames.Map_DocumentTypeDictionary, DocumentTypeDictionary.class);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,166 @@
|
|||
package ru.spcex.clearing.company.config.validation.rules;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Optional;
|
||||
import ru.clearing.classes.statics.data.company.ClearingMemberCategory;
|
||||
import ru.clearing.classes.statics.data.company.Company;
|
||||
import ru.clearing.classes.statics.data.registry.Registry;
|
||||
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.ClearingMemberCategoryNewRequest;
|
||||
import ru.spcex.clearing.platform.messaging.domain.cud.company.ClearingMemberCategoryUpdateRequest;
|
||||
import ru.spcex.platform.enumeration.ClearingCategory;
|
||||
import ru.spcex.platform.enumeration.RegistryStatus;
|
||||
import ru.spcex.platform.imdg.api.Imdg;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||
import ru.spcex.platform.imdg.validation.ImdgValidationContext;
|
||||
import ru.spcex.platform.utils.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
import ru.spcex.platform.utils.validation.IValidationRule;
|
||||
|
||||
public enum ProviderMemberCategoryValidationRule implements IValidationRule<ImdgValidationContext<?>> {
|
||||
NEW() {
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<?> context) {
|
||||
ClearingMemberCategoryNewRequest categoryReq = (ClearingMemberCategoryNewRequest) context.getValidatedObject();
|
||||
ClearingCategory category = IEnumKey.getEnumByKey(ClearingCategory.class, categoryReq.getClearingMemberCategory());
|
||||
Imdg<ClearingMemberCategory> categoryImdg = context.obtainMap(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
|
||||
ImdgPredicateBuilder predicateBuilder = categoryImdg.predicateBuilder();
|
||||
ImdgPredicate predicate;
|
||||
|
||||
if (ClearingCategory.P == category) {
|
||||
predicate = predicateBuilder.equals("companyId", categoryReq.getCompanyId());
|
||||
} else {
|
||||
predicate = predicateBuilder.and(
|
||||
predicateBuilder.equals("companyId", categoryReq.getCompanyId()),
|
||||
predicateBuilder.equals("clearingMemberCategory", ClearingCategory.P.getKey())
|
||||
);
|
||||
}
|
||||
|
||||
ClearingMemberCategory existCategory = categoryImdg.getFirstObjectByPredicate(predicate);
|
||||
if (existCategory != null) {
|
||||
Company company = companyImdg.getSingleObjectByID(categoryReq.getCompanyId());
|
||||
return Optional.of(new EnumMessage(
|
||||
CompanyErrors.ProviderCompanyAlreadyExist,
|
||||
ClearingCategory.P == category ? categoryReq.getClearingMemberCategory() : existCategory.getClearingMemberCategory(),
|
||||
company.getShortName())
|
||||
);
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
},
|
||||
|
||||
UPDATE() {
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<?> context) {
|
||||
ClearingMemberCategoryUpdateRequest categoryReq = (ClearingMemberCategoryUpdateRequest) context.getValidatedObject();
|
||||
ClearingCategory categoryVal = IEnumKey.getEnumByKey(ClearingCategory.class, categoryReq.getClearingMemberCategory());
|
||||
Imdg<ClearingMemberCategory> categoryImdg = context.obtainMap(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
|
||||
ImdgPredicateBuilder predicateBuilder = categoryImdg.predicateBuilder();
|
||||
|
||||
ClearingMemberCategory clearingMemberCategory = categoryImdg.getSingleObjectByID(categoryReq.getId());
|
||||
|
||||
if (ClearingCategory.P == categoryVal) {
|
||||
Collection<Long> categories = categoryImdg.getCollectionIdsByPredicate(predicateBuilder.and(
|
||||
predicateBuilder.equals("companyId", clearingMemberCategory.getCompanyId()),
|
||||
predicateBuilder.equals("clearingMemberCategory", ClearingCategory.P.getKey())
|
||||
));
|
||||
if (!categories.isEmpty()) {
|
||||
return Optional.of(new EnumMessage(
|
||||
CompanyErrors.ToManyProviderCompany,
|
||||
categoryReq.getClearingMemberCategory())
|
||||
);
|
||||
}
|
||||
} else {
|
||||
Collection<ClearingMemberCategory> categories = categoryImdg.getCollectionObjectsByPredicate(
|
||||
predicateBuilder.equals("companyId", clearingMemberCategory.getCompanyId())
|
||||
);
|
||||
|
||||
boolean hasProvider = false;
|
||||
boolean hasOtherCategory = false;
|
||||
|
||||
ClearingMemberCategory lastOtherCategory = null;
|
||||
for (ClearingMemberCategory category : categories) {
|
||||
ClearingCategory clearingCategory = IEnumKey.getEnumByKey(ClearingCategory.class, category.getClearingMemberCategory());
|
||||
if (ClearingCategory.P == clearingCategory) {
|
||||
hasProvider = true;
|
||||
} else {
|
||||
lastOtherCategory = category;
|
||||
hasOtherCategory = true;
|
||||
}
|
||||
if (hasProvider && hasOtherCategory) break;
|
||||
}
|
||||
|
||||
if (hasProvider) {
|
||||
if (hasOtherCategory) {
|
||||
return Optional.of(new EnumMessage(
|
||||
CompanyErrors.ToManyProviderCompany,
|
||||
lastOtherCategory.getClearingMemberCategory())
|
||||
);
|
||||
}
|
||||
|
||||
Imdg<Registry> registryImdg = context.obtainMap(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
ImdgPredicate registryPredicate = predicateBuilder.and(
|
||||
predicateBuilder.equals("companyId", clearingMemberCategory.getCompanyId()),
|
||||
predicateBuilder.regex("registryCode", "^O.{2}T"),
|
||||
predicateBuilder.or(
|
||||
predicateBuilder.and(
|
||||
predicateBuilder.not(predicateBuilder.equals("registryStatus", RegistryStatus.CLRD.getKey())),
|
||||
predicateBuilder.equals("clearingDate", LocalDate.now())
|
||||
),
|
||||
predicateBuilder.greater("settlementDate", LocalDate.now())
|
||||
)
|
||||
);
|
||||
Collection<Long> registryIds = registryImdg.getCollectionIdsByPredicate(registryPredicate);
|
||||
Company company = companyImdg.getSingleObjectByID(clearingMemberCategory.getCompanyId());
|
||||
if (!registryIds.isEmpty()) {
|
||||
return Optional.of(new EnumMessage(
|
||||
CompanyErrors.FoundUnfulfilledLiabilities,
|
||||
company.getShortName())
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
},
|
||||
DELETE() {
|
||||
@Override
|
||||
public Optional<EnumMessage> validate(ImdgValidationContext<?> context) {
|
||||
CommonDeleteRequest categoryReq = (CommonDeleteRequest) context.getValidatedObject();
|
||||
Imdg<ClearingMemberCategory> categoryImdg = context.obtainMap(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class);
|
||||
Imdg<Registry> registryImdg = context.obtainMap(IMDGDistributedNames.Map_Registry, Registry.class);
|
||||
Imdg<Company> companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class);
|
||||
|
||||
ClearingMemberCategory category = categoryImdg.getSingleObjectByID(categoryReq.getId());
|
||||
|
||||
ImdgPredicateBuilder predicateBuilder = registryImdg.predicateBuilder();
|
||||
ImdgPredicate registryPredicate = predicateBuilder.and(
|
||||
predicateBuilder.equals("companyId", category.getCompanyId()),
|
||||
predicateBuilder.regex("registryCode", "^O.{2}T"),
|
||||
predicateBuilder.or(
|
||||
predicateBuilder.and(
|
||||
predicateBuilder.not(predicateBuilder.equals("registryStatus", RegistryStatus.CLRD.getKey())),
|
||||
predicateBuilder.equals("clearingDate", LocalDate.now())
|
||||
),
|
||||
predicateBuilder.greater("settlementDate", LocalDate.now())
|
||||
)
|
||||
);
|
||||
Collection<Long> registryIds = registryImdg.getCollectionIdsByPredicate(registryPredicate);
|
||||
Company company = companyImdg.getSingleObjectByID(category.getCompanyId());
|
||||
if (!registryIds.isEmpty()) {
|
||||
return Optional.of(new EnumMessage(
|
||||
CompanyErrors.FoundUnfulfilledLiabilities,
|
||||
company.getShortName())
|
||||
);
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -32,6 +32,9 @@ public enum CompanyErrors implements IErrorEnumId {
|
|||
CompanyParametersNotFound(3032L), // Параметр компании %s не найден
|
||||
RuCurrencyMayOnlyNKOAOPRC(3033L),
|
||||
CompanyHasNoSETHRole(3034L), // Компания %s не является расчетной организацией
|
||||
ProviderCompanyAlreadyExist(3035L),
|
||||
ToManyProviderCompany(3036L),
|
||||
FoundUnfulfilledLiabilities(3037L),
|
||||
;
|
||||
private final Long id;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
<artifactId>db-scripts</artifactId>
|
||||
<name>db-scripts</name>
|
||||
<description>db-scripts for PostgreSQL</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -315,6 +315,8 @@ INSERT INTO CLEARING_CATEGORY_DICTIONARY(ID, CODE, NAME) values (6, 'T', 'Кат
|
|||
|
||||
INSERT INTO CLEARING_CATEGORY_DICTIONARY(ID, CODE, NAME) values (7, 'K', 'Категория «К» - Участник клиринга - Контроллер') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CLEARING_CATEGORY_DICTIONARY(ID, CODE, NAME) values (8, 'P', 'Категория «П» - Провайдер ликвидности') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CONTACT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'ADRS', 'Юридический адрес') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO CONTACT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'POST', 'Почтовый адрес') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
|
@ -1085,6 +1087,12 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3033, 'CMPN', 'По в
|
|||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3034, 'CMPN', 'Компания %s не является расчетной организацией') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3035, 'CMPN', 'Категория %s для компании %s должна быть единственной.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3036, 'CMPN', 'Невозможно изменить категорию. Категория %s должна быть единственной.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
|
||||
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3037, '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;
|
||||
|
|
@ -1318,4 +1326,4 @@ INSERT INTO RESIDENCE_DICTIONARY(ID, CODE, NAME) values (2, 'XTRN', 'Нерез
|
|||
INSERT INTO RESIDENCE_DICTIONARY(ID, CODE, NAME) values (3, 'WRLD', 'Международная организация') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
|
||||
/* Business objects */
|
||||
|
||||
INSERT INTO DB_VERSION(ID, DICTIONARY_VERSION) values (1, '3.21.0.103') ON CONFLICT (ID) DO UPDATE SET DICTIONARY_VERSION = EXCLUDED.DICTIONARY_VERSION
|
||||
INSERT INTO DB_VERSION(ID, DICTIONARY_VERSION) values (1, '3.22.0.104') ON CONFLICT (ID) DO UPDATE SET DICTIONARY_VERSION = EXCLUDED.DICTIONARY_VERSION
|
||||
|
|
|
|||
|
|
@ -7,3 +7,5 @@
|
|||
/* Business objects */
|
||||
|
||||
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (2000, 'SCND', 'CURR', 'RUB', 'UVAF', 'Режим непрерывных торгов (торги иностранной валютой с Провайдером ликвидности)', 1, 'Continuous trading mode (foreign currency trading with a Liquidity Provider)') 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 (2001, 'SCND', 'CURR', 'RUB', 'TVAF', 'Технический РПС с ПЛ', 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 (2002, 'SCND', 'CURR', 'RUB', 'TVWF', 'Технический РПС с ПЛ', 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;
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
<artifactId>dbf-exporter</artifactId>
|
||||
<name>dbf-exporter</name>
|
||||
<description>DBF exporter for DBF files</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
<artifactId>dbf-importer</artifactId>
|
||||
<name>dbf-importer</name>
|
||||
<description>DBF loader for DBF files</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
<name>Clearing dictionary</name>
|
||||
<description>Clearing dictionary</description>
|
||||
<packaging>jar</packaging>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@
|
|||
<parent>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<artifactId>extdb-importer</artifactId>
|
||||
<name>extdb-importer</name>
|
||||
<description>Extdb importer module. Аналог trade-importer.</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>imdg-hist</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
|
||||
|
|
@ -36,13 +36,13 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>dictionary</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
|
|
@ -82,7 +82,7 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>cleaning-builders</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
<artifactId>imdg</artifactId>
|
||||
<name>Clearing in memory data grid</name>
|
||||
<packaging>jar</packaging>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
|
@ -32,13 +32,13 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>dictionary</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>cleaning-builders</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>lim-exporter</artifactId>
|
||||
<name>Lim exporter</name>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<parent>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
<name>_parent_clearing</name>
|
||||
<description>Clearing parent module</description>
|
||||
<packaging>pom</packaging>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
<artifactId>reports-service</artifactId>
|
||||
<name>reports-service</name>
|
||||
<description>Service for creating reports</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<dependencies>
|
||||
<!-- Spring boot -->
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>cleaning-builders</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
<name>security-util clearing</name>
|
||||
<description>Clearing misc util for verify user roles</description>
|
||||
<packaging>jar</packaging>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
|
@ -35,13 +35,13 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>dictionary</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>swt-exporter</artifactId>
|
||||
<name>Swt exporter</name>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<parent>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
<parent>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<artifactId>test-clearing</artifactId>
|
||||
<name>Test-clearing</name>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>ru.spcex.platform</groupId>
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@
|
|||
<parent>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<artifactId>trade-importer</artifactId>
|
||||
<name>trade-importer</name>
|
||||
<description>Trade importer module</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
<dependency>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>classes</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@
|
|||
<artifactId>xml-exporter</artifactId>
|
||||
<name>xml-exporter</name>
|
||||
<description>XML exporter for XML files</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
<artifactId>xml-importer</artifactId>
|
||||
<name>xml-importer</name>
|
||||
<description>XML loader for XML files</description>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<parent>
|
||||
<artifactId>clearing-parent</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ public enum ClearingCategory implements IEnumKey {
|
|||
I("I"), // Категория «И» - Инициатор по ТБС
|
||||
V("V"), // Категория «В» - Инициатор по ТКС
|
||||
T("T"), // Категория «Т» - Участник товарного рынка
|
||||
K("K"); // Категория «К» - Участник клиринга - Контроллер
|
||||
K("K"), // Категория «К» - Участник клиринга - Контроллер
|
||||
P("P"); // Категория «П» - Провайдер ликвидности
|
||||
|
||||
private final String key;
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<parent>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<artifactId>clearing</artifactId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
|
|
|||
4
pom.xml
4
pom.xml
|
|
@ -9,7 +9,7 @@
|
|||
<name>__parent_ROOT</name>
|
||||
<description>Clearing main parent</description>
|
||||
<packaging>pom</packaging>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
|
||||
<modules>
|
||||
<module>clearing-parent</module>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<project.java.version>17</project.java.version>
|
||||
<built.by>Maven</built.by>
|
||||
|
||||
<global.project.version>SPCEX-3.21.275</global.project.version>
|
||||
<global.project.version>SPCEX-3.22.285</global.project.version>
|
||||
|
||||
<spring-boot.version>2.6.3</spring-boot.version>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<artifactId>clearing</artifactId>
|
||||
<groupId>ru.spcex.clearing</groupId>
|
||||
<version>SPCEX-3.21.275</version>
|
||||
<version>SPCEX-3.22.285</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue