From 924a6ec1574405ce6a1fa00258c718f48c4eb6e6 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 25 Feb 2026 10:46:30 +0300 Subject: [PATCH 1/4] http://jira.mfd.msk:8088/browse/CLS-927 --- ...learingMemberCategoryValidationConfig.java | 13 +- .../config/validation/ValidationConfig.java | 2 + .../ProviderMemberCategoryValidationRule.java | 166 ++++++++++++++++++ .../clearing/company/error/CompanyErrors.java | 3 + .../enumeration/ClearingCategory.java | 3 +- 5 files changed, 183 insertions(+), 4 deletions(-) create mode 100644 clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/rules/ProviderMemberCategoryValidationRule.java diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ClearingMemberCategoryValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ClearingMemberCategoryValidationConfig.java index 4abf7396c..a38f6af61 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ClearingMemberCategoryValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ClearingMemberCategoryValidationConfig.java @@ -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 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 ); }; } diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java index 2dcbc91f6..374756b13 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java @@ -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); diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/rules/ProviderMemberCategoryValidationRule.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/rules/ProviderMemberCategoryValidationRule.java new file mode 100644 index 000000000..c84922913 --- /dev/null +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/rules/ProviderMemberCategoryValidationRule.java @@ -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> { + NEW() { + @Override + public Optional validate(ImdgValidationContext context) { + ClearingMemberCategoryNewRequest categoryReq = (ClearingMemberCategoryNewRequest) context.getValidatedObject(); + ClearingCategory category = IEnumKey.getEnumByKey(ClearingCategory.class, categoryReq.getClearingMemberCategory()); + Imdg categoryImdg = context.obtainMap(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class); + Imdg 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 validate(ImdgValidationContext context) { + ClearingMemberCategoryUpdateRequest categoryReq = (ClearingMemberCategoryUpdateRequest) context.getValidatedObject(); + ClearingCategory categoryVal = IEnumKey.getEnumByKey(ClearingCategory.class, categoryReq.getClearingMemberCategory()); + Imdg categoryImdg = context.obtainMap(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class); + Imdg companyImdg = context.obtainMap(IMDGDistributedNames.Map_Company, Company.class); + ImdgPredicateBuilder predicateBuilder = categoryImdg.predicateBuilder(); + + ClearingMemberCategory clearingMemberCategory = categoryImdg.getSingleObjectByID(categoryReq.getId()); + + if (ClearingCategory.P == categoryVal) { + Collection 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 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 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 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 validate(ImdgValidationContext context) { + CommonDeleteRequest categoryReq = (CommonDeleteRequest) context.getValidatedObject(); + Imdg categoryImdg = context.obtainMap(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class); + Imdg registryImdg = context.obtainMap(IMDGDistributedNames.Map_Registry, Registry.class); + Imdg 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 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(); + } + } + +} diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java index d1703fcfb..6e3c50367 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/error/CompanyErrors.java @@ -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; diff --git a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingCategory.java b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingCategory.java index e9aa5181e..a84a57c59 100644 --- a/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingCategory.java +++ b/platform-parent/platform-enum/src/main/java/ru/spcex/platform/enumeration/ClearingCategory.java @@ -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; From e55f68bd48dc4ce5c6f30d7737d0819eb73d2cb3 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 25 Feb 2026 14:46:13 +0300 Subject: [PATCH 2/4] http://jira.mfd.msk:8088/browse/CLS-926 --- .../db-scripts/src/main/resources/db/DICTIONARIES.sql | 8 ++++++++ .../db-scripts/src/main/resources/db/MARKET_efis.sql | 2 ++ .../db-scripts/src/main/resources/db/updateDDL_3.22.sql | 3 +++ 3 files changed, 13 insertions(+) create mode 100644 clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql diff --git a/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql b/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql index 1fc8741d3..ee9eb50bc 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql @@ -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; diff --git a/clearing-parent/db-scripts/src/main/resources/db/MARKET_efis.sql b/clearing-parent/db-scripts/src/main/resources/db/MARKET_efis.sql index 5f4ffe401..c9076555a 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/MARKET_efis.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/MARKET_efis.sql @@ -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; diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql new file mode 100644 index 000000000..d58e8cd90 --- /dev/null +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql @@ -0,0 +1,3 @@ +-- DB version: 3.21 -> 3.22 + +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.22') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION; \ No newline at end of file From 80eff4bbfcc9c79c754210b2ea4145b490e3766f Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 25 Feb 2026 14:55:09 +0300 Subject: [PATCH 3/4] http://jira.mfd.msk:8088/browse/CLS-926 --- .../db-scripts/src/main/resources/db/DICTIONARIES.sql | 2 +- .../db-scripts/src/main/resources/db/updateDDL_3.22.sql | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql diff --git a/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql b/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql index ee9eb50bc..6208412e7 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DICTIONARIES.sql @@ -1326,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 diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql deleted file mode 100644 index d58e8cd90..000000000 --- a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql +++ /dev/null @@ -1,3 +0,0 @@ --- DB version: 3.21 -> 3.22 - -INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.22') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION; \ No newline at end of file From e8934d869c9c7e3c4fdb619c4a17f1351dee3b50 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Wed, 25 Feb 2026 17:14:26 +0300 Subject: [PATCH 4/4] http://jira.mfd.msk:8088/browse/CLS-926 --- clearing-parent/account-service/pom.xml | 2 +- clearing-parent/backend-api/pom.xml | 2 +- clearing-parent/balance-service/pom.xml | 2 +- clearing-parent/classes/pom.xml | 2 +- clearing-parent/cleaning-builders/pom.xml | 6 +++--- clearing-parent/clearing-service/pom.xml | 2 +- clearing-parent/clearing-validation/pom.xml | 8 ++++---- clearing-parent/company-service/pom.xml | 2 +- clearing-parent/db-scripts/pom.xml | 4 ++-- clearing-parent/dbf-exporter/pom.xml | 4 ++-- clearing-parent/dbf-importer/pom.xml | 4 ++-- clearing-parent/dictionary/pom.xml | 4 ++-- clearing-parent/extdb-importer/pom.xml | 4 ++-- clearing-parent/gateway-api/pom.xml | 2 +- clearing-parent/imdg-hist/pom.xml | 10 +++++----- clearing-parent/imdg/pom.xml | 10 +++++----- clearing-parent/lim-exporter/pom.xml | 6 +++--- clearing-parent/pom.xml | 4 ++-- clearing-parent/registry-service/pom.xml | 2 +- clearing-parent/reports-service/pom.xml | 4 ++-- clearing-parent/scheduler-service/pom.xml | 4 ++-- clearing-parent/securities-service/pom.xml | 2 +- clearing-parent/security-util/pom.xml | 8 ++++---- clearing-parent/swt-exporter/pom.xml | 6 +++--- clearing-parent/swt-importer/pom.xml | 2 +- clearing-parent/test-clearing/pom.xml | 4 ++-- clearing-parent/trade-importer/pom.xml | 6 +++--- clearing-parent/utility-service/pom.xml | 2 +- clearing-parent/xml-exporter/pom.xml | 4 ++-- clearing-parent/xml-importer/pom.xml | 4 ++-- platform-parent/pom.xml | 2 +- pom.xml | 4 ++-- z-distr/pom.xml | 2 +- 33 files changed, 67 insertions(+), 67 deletions(-) diff --git a/clearing-parent/account-service/pom.xml b/clearing-parent/account-service/pom.xml index 29232f247..df152d125 100644 --- a/clearing-parent/account-service/pom.xml +++ b/clearing-parent/account-service/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/backend-api/pom.xml b/clearing-parent/backend-api/pom.xml index 2fcd8ee07..01369a12c 100644 --- a/clearing-parent/backend-api/pom.xml +++ b/clearing-parent/backend-api/pom.xml @@ -11,7 +11,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/balance-service/pom.xml b/clearing-parent/balance-service/pom.xml index f7550d7b8..969bc8e63 100644 --- a/clearing-parent/balance-service/pom.xml +++ b/clearing-parent/balance-service/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/classes/pom.xml b/clearing-parent/classes/pom.xml index 18a731ad4..9cc81f726 100644 --- a/clearing-parent/classes/pom.xml +++ b/clearing-parent/classes/pom.xml @@ -12,7 +12,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/cleaning-builders/pom.xml b/clearing-parent/cleaning-builders/pom.xml index 452319afe..04928c373 100644 --- a/clearing-parent/cleaning-builders/pom.xml +++ b/clearing-parent/cleaning-builders/pom.xml @@ -6,13 +6,13 @@ ru.spcex.clearing clearing-parent - SPCEX-3.21.275 + SPCEX-3.22.285 cleaning-builders cleaning-builders Cleaning builders module - SPCEX-3.21.275 + SPCEX-3.22.285 jar @@ -26,7 +26,7 @@ ru.spcex.clearing classes - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/clearing-service/pom.xml b/clearing-parent/clearing-service/pom.xml index a7f50825c..dc9ea788a 100644 --- a/clearing-parent/clearing-service/pom.xml +++ b/clearing-parent/clearing-service/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/clearing-validation/pom.xml b/clearing-parent/clearing-validation/pom.xml index 8b20a3038..48a22c561 100644 --- a/clearing-parent/clearing-validation/pom.xml +++ b/clearing-parent/clearing-validation/pom.xml @@ -8,12 +8,12 @@ clearing-validation Clearing-module, dependency version of platform-utils jar - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 @@ -35,13 +35,13 @@ ru.spcex.clearing classes - SPCEX-3.21.275 + SPCEX-3.22.285 compile ru.spcex.clearing dictionary - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/company-service/pom.xml b/clearing-parent/company-service/pom.xml index 500a64368..29e57f9ba 100644 --- a/clearing-parent/company-service/pom.xml +++ b/clearing-parent/company-service/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/db-scripts/pom.xml b/clearing-parent/db-scripts/pom.xml index 666127868..6144d2bc3 100644 --- a/clearing-parent/db-scripts/pom.xml +++ b/clearing-parent/db-scripts/pom.xml @@ -7,12 +7,12 @@ db-scripts db-scripts db-scripts for PostgreSQL - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/dbf-exporter/pom.xml b/clearing-parent/dbf-exporter/pom.xml index 93d7baf2f..c59fa9323 100644 --- a/clearing-parent/dbf-exporter/pom.xml +++ b/clearing-parent/dbf-exporter/pom.xml @@ -7,12 +7,12 @@ dbf-exporter dbf-exporter DBF exporter for DBF files - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/dbf-importer/pom.xml b/clearing-parent/dbf-importer/pom.xml index ae2541713..a4852f292 100644 --- a/clearing-parent/dbf-importer/pom.xml +++ b/clearing-parent/dbf-importer/pom.xml @@ -8,12 +8,12 @@ dbf-importer dbf-importer DBF loader for DBF files - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/dictionary/pom.xml b/clearing-parent/dictionary/pom.xml index e5bc6338d..f24ed0a5e 100644 --- a/clearing-parent/dictionary/pom.xml +++ b/clearing-parent/dictionary/pom.xml @@ -8,12 +8,12 @@ Clearing dictionary Clearing dictionary jar - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/extdb-importer/pom.xml b/clearing-parent/extdb-importer/pom.xml index 1578ca801..686d47a5f 100644 --- a/clearing-parent/extdb-importer/pom.xml +++ b/clearing-parent/extdb-importer/pom.xml @@ -4,12 +4,12 @@ ru.spcex.clearing clearing-parent - SPCEX-3.21.275 + SPCEX-3.22.285 extdb-importer extdb-importer Extdb importer module. Аналог trade-importer. - SPCEX-3.21.275 + SPCEX-3.22.285 jar diff --git a/clearing-parent/gateway-api/pom.xml b/clearing-parent/gateway-api/pom.xml index 4ef850cad..e423b404d 100644 --- a/clearing-parent/gateway-api/pom.xml +++ b/clearing-parent/gateway-api/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/imdg-hist/pom.xml b/clearing-parent/imdg-hist/pom.xml index af8251b4d..567588b9c 100644 --- a/clearing-parent/imdg-hist/pom.xml +++ b/clearing-parent/imdg-hist/pom.xml @@ -5,12 +5,12 @@ 4.0.0 imdg-hist jar - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 @@ -36,13 +36,13 @@ ru.spcex.clearing classes - SPCEX-3.21.275 + SPCEX-3.22.285 compile ru.spcex.clearing dictionary - SPCEX-3.21.275 + SPCEX-3.22.285 compile @@ -82,7 +82,7 @@ ru.spcex.clearing cleaning-builders - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/imdg/pom.xml b/clearing-parent/imdg/pom.xml index 040630603..f7a241fbf 100644 --- a/clearing-parent/imdg/pom.xml +++ b/clearing-parent/imdg/pom.xml @@ -7,12 +7,12 @@ imdg Clearing in memory data grid jar - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 @@ -32,13 +32,13 @@ ru.spcex.clearing classes - SPCEX-3.21.275 + SPCEX-3.22.285 compile ru.spcex.clearing dictionary - SPCEX-3.21.275 + SPCEX-3.22.285 compile @@ -89,7 +89,7 @@ ru.spcex.clearing cleaning-builders - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/lim-exporter/pom.xml b/clearing-parent/lim-exporter/pom.xml index e6b274290..131b44b9d 100644 --- a/clearing-parent/lim-exporter/pom.xml +++ b/clearing-parent/lim-exporter/pom.xml @@ -3,13 +3,13 @@ 4.0.0 lim-exporter Lim exporter - SPCEX-3.21.275 + SPCEX-3.22.285 jar ru.spcex.clearing clearing-parent - SPCEX-3.21.275 + SPCEX-3.22.285 @@ -35,7 +35,7 @@ ru.spcex.clearing classes - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/pom.xml b/clearing-parent/pom.xml index 64057d7f6..37b018e3e 100644 --- a/clearing-parent/pom.xml +++ b/clearing-parent/pom.xml @@ -7,12 +7,12 @@ _parent_clearing Clearing parent module pom - SPCEX-3.21.275 + SPCEX-3.22.285 clearing ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/registry-service/pom.xml b/clearing-parent/registry-service/pom.xml index bdbee347a..c942c31a4 100644 --- a/clearing-parent/registry-service/pom.xml +++ b/clearing-parent/registry-service/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/reports-service/pom.xml b/clearing-parent/reports-service/pom.xml index 3e467148a..81e21b95f 100644 --- a/clearing-parent/reports-service/pom.xml +++ b/clearing-parent/reports-service/pom.xml @@ -8,12 +8,12 @@ reports-service reports-service Service for creating reports - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/scheduler-service/pom.xml b/clearing-parent/scheduler-service/pom.xml index 7563f51f4..79697af09 100644 --- a/clearing-parent/scheduler-service/pom.xml +++ b/clearing-parent/scheduler-service/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 @@ -51,7 +51,7 @@ ru.spcex.clearing cleaning-builders - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/securities-service/pom.xml b/clearing-parent/securities-service/pom.xml index 9b08071b4..b3803aab6 100644 --- a/clearing-parent/securities-service/pom.xml +++ b/clearing-parent/securities-service/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/security-util/pom.xml b/clearing-parent/security-util/pom.xml index 810d83c11..20d035128 100644 --- a/clearing-parent/security-util/pom.xml +++ b/clearing-parent/security-util/pom.xml @@ -8,12 +8,12 @@ security-util clearing Clearing misc util for verify user roles jar - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 @@ -35,13 +35,13 @@ ru.spcex.clearing classes - SPCEX-3.21.275 + SPCEX-3.22.285 compile ru.spcex.clearing dictionary - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/swt-exporter/pom.xml b/clearing-parent/swt-exporter/pom.xml index d2b82ad6d..edf4cbebf 100644 --- a/clearing-parent/swt-exporter/pom.xml +++ b/clearing-parent/swt-exporter/pom.xml @@ -3,13 +3,13 @@ 4.0.0 swt-exporter Swt exporter - SPCEX-3.21.275 + SPCEX-3.22.285 jar ru.spcex.clearing clearing-parent - SPCEX-3.21.275 + SPCEX-3.22.285 @@ -35,7 +35,7 @@ ru.spcex.clearing classes - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/swt-importer/pom.xml b/clearing-parent/swt-importer/pom.xml index 440466eec..e77579ccf 100644 --- a/clearing-parent/swt-importer/pom.xml +++ b/clearing-parent/swt-importer/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/test-clearing/pom.xml b/clearing-parent/test-clearing/pom.xml index 3f0ae395c..6e519acfd 100644 --- a/clearing-parent/test-clearing/pom.xml +++ b/clearing-parent/test-clearing/pom.xml @@ -4,11 +4,11 @@ ru.spcex.clearing clearing-parent - SPCEX-3.21.275 + SPCEX-3.22.285 test-clearing Test-clearing - SPCEX-3.21.275 + SPCEX-3.22.285 ru.spcex.platform diff --git a/clearing-parent/trade-importer/pom.xml b/clearing-parent/trade-importer/pom.xml index dd87227a0..524e37523 100644 --- a/clearing-parent/trade-importer/pom.xml +++ b/clearing-parent/trade-importer/pom.xml @@ -4,12 +4,12 @@ ru.spcex.clearing clearing-parent - SPCEX-3.21.275 + SPCEX-3.22.285 trade-importer trade-importer Trade importer module - SPCEX-3.21.275 + SPCEX-3.22.285 jar @@ -55,7 +55,7 @@ ru.spcex.clearing classes - SPCEX-3.21.275 + SPCEX-3.22.285 compile diff --git a/clearing-parent/utility-service/pom.xml b/clearing-parent/utility-service/pom.xml index 125c17428..fd64021de 100644 --- a/clearing-parent/utility-service/pom.xml +++ b/clearing-parent/utility-service/pom.xml @@ -5,7 +5,7 @@ clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0 diff --git a/clearing-parent/xml-exporter/pom.xml b/clearing-parent/xml-exporter/pom.xml index 27d0a3271..4a8f811a3 100644 --- a/clearing-parent/xml-exporter/pom.xml +++ b/clearing-parent/xml-exporter/pom.xml @@ -7,12 +7,12 @@ xml-exporter xml-exporter XML exporter for XML files - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/clearing-parent/xml-importer/pom.xml b/clearing-parent/xml-importer/pom.xml index ebe2603fb..fc116daac 100644 --- a/clearing-parent/xml-importer/pom.xml +++ b/clearing-parent/xml-importer/pom.xml @@ -8,12 +8,12 @@ xml-importer xml-importer XML loader for XML files - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/platform-parent/pom.xml b/platform-parent/pom.xml index a818c687e..3985023a6 100644 --- a/platform-parent/pom.xml +++ b/platform-parent/pom.xml @@ -14,7 +14,7 @@ ru.spcex.clearing clearing - SPCEX-3.21.275 + SPCEX-3.22.285 diff --git a/pom.xml b/pom.xml index de79f2c3b..ed0200dd7 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ __parent_ROOT Clearing main parent pom - SPCEX-3.21.275 + SPCEX-3.22.285 clearing-parent @@ -24,7 +24,7 @@ 17 Maven - SPCEX-3.21.275 + SPCEX-3.22.285 2.6.3 diff --git a/z-distr/pom.xml b/z-distr/pom.xml index 1a67f7419..cb41e6326 100644 --- a/z-distr/pom.xml +++ b/z-distr/pom.xml @@ -5,7 +5,7 @@ clearing ru.spcex.clearing - SPCEX-3.21.275 + SPCEX-3.22.285 4.0.0