From 4256c053451404d20b2e9f02eb3eaf66b054db79 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Mon, 2 Sep 2024 10:44:49 +0300 Subject: [PATCH 01/16] http://jira.mfd.msk:8088/browse/CLS-742 --- .../account/service/ClearingAccountService.java | 2 +- .../v2/listeners/ClientCodeMessageListener.java | 2 +- .../clearing/backendapi/config/MetaConfiguration.java | 2 +- .../payment/PaymentInstructionOutboundService.java | 11 ++++++++--- .../logic/stages/DbfImportKafkaMessenger.java | 2 +- .../trade/importer/services/TradeImporterService.java | 3 +-- .../platform/messaging/service/QueueConsumer.java | 3 ++- .../platform/messaging/service/QueueConsumerV2.java | 3 ++- 8 files changed, 17 insertions(+), 11 deletions(-) diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java index e92187e32..f95716e4a 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/ClearingAccountService.java @@ -793,7 +793,7 @@ public class ClearingAccountService extends QueueConsumer implements Initializin } if (returnTrigger) { log.debug("Remove from waiting list accountId={} (list groupId={})", accountId, inWaitingLst.getGroupId()); - waitingList.remove(inWaitingLst); + waitingList.remove(accountId); } if (returnTrigger) return inWaitingLst; diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/v2/listeners/ClientCodeMessageListener.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/v2/listeners/ClientCodeMessageListener.java index ee8a81f81..a2d20ec51 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/v2/listeners/ClientCodeMessageListener.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/v2/listeners/ClientCodeMessageListener.java @@ -132,7 +132,7 @@ public class ClientCodeMessageListener extends QueueConsumer implements Initiali clientCodeNewRequest.setCompanyId(company.getId()); clientCodeNewRequest.setCode(tkrAccount.getClientCode()); clientCodeNewRequest.setDepoAccountId(depoAccountId); - Account moneyAccount = accountByCurrency.get(CurrencyCode.RUB); + Account moneyAccount = accountByCurrency.get(CurrencyCode.RUB.getKey()); clientCodeNewRequest.setMoneyAccountId(moneyAccount.getId()); List foreignCurrencyList = accountByCurrency.entrySet() diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java index 515707844..639edd9fb 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java @@ -17,7 +17,7 @@ import java.nio.file.Files; @Configuration public class MetaConfiguration { - @Value("file:${spring.config.location}/meta.json") + @Value("file:${spring.config.location}/meta/meta.json") private Resource meta; @Bean("metaJson") diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/payment/PaymentInstructionOutboundService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/payment/PaymentInstructionOutboundService.java index fc181c258..80b59e008 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/payment/PaymentInstructionOutboundService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/payment/PaymentInstructionOutboundService.java @@ -188,9 +188,14 @@ public class PaymentInstructionOutboundService { sDf54.setId(idGenerator.nextId()); sDf54.setGenerationId(pmt.getId()); if (time.isTradingTime()) { - Supplier builder = () -> GatewayRequestCreator.from(pmt, - assets.get().a__b().getTradingCode(), - tcr.getCode()); + Supplier builder = () -> { + if (tcr != null) { + return GatewayRequestCreator.from(pmt, + assets.get().a__b().getTradingCode(), + tcr.getCode()); + } + return null; + }; Optional gatewayOk = gateway.gatewayRequestAndWait(builder); if (gatewayOk.isEmpty() || gatewayOk.get().equals(Boolean.FALSE)) { String gtwErrMsg = msgs.resolve(mapError(gatewayOk)); diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java index 597e99404..89f21e00f 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java @@ -60,7 +60,7 @@ public class DbfImportKafkaMessenger implements InitializingBean { } public void notifyUserAboutErrorParsing(Throwable error, ResultContainer resultContainer) { - if (resultContainer == null || resultContainer.getDbfFile() == null || resultContainer.getDbfFile() == null) + if (resultContainer == null || resultContainer.getDbfFile() == null || resultContainer.getDbfTable() == null) return; ETable currTable = resultContainer.getDbfTable(); String fileName = resultContainer.getDbfFile().getName(); diff --git a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java index 054038f4c..363d0cda6 100644 --- a/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java +++ b/clearing-parent/trade-importer/src/main/java/ru/spcex/clearing/trade/importer/services/TradeImporterService.java @@ -213,8 +213,7 @@ public class TradeImporterService { private boolean isValidTrades(STrades trades) { return trades.getTradeDate() != null && trades.getTradeNum() != null - && StringUtils.hasText(trades.getOperation()) - && trades.getTradeNum() != null; + && StringUtils.hasText(trades.getOperation()); } public STrades readSTrades(ResultSet resultSet) throws SQLException { diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java index bfe4c6cb4..ca4322b92 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java @@ -2,6 +2,7 @@ package ru.spcex.clearing.platform.messaging.service; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; +import java.util.concurrent.ExecutionException; import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; @@ -196,7 +197,7 @@ public class QueueConsumer implements AutoCloseable { } send = producer.send(respRec); send.get(); - } catch (Exception e) { + } catch (InterruptedException | ExecutionException e) { log.error(ExceptionUtils.getStackTrace(e)); } }); diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumerV2.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumerV2.java index 38d084745..ef9a50f6c 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumerV2.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumerV2.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; @@ -215,7 +216,7 @@ public class QueueConsumerV2 implements AutoCloseable { } send = producer.send(respRec); send.get(); - } catch (Exception e) { + } catch (InterruptedException | ExecutionException e) { log.error(ExceptionUtils.getStackTrace(e)); } }); From 3a43598223e96059f6362c50418c90b70d968228 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Mon, 2 Sep 2024 12:43:07 +0300 Subject: [PATCH 02/16] http://jira.mfd.msk:8088/browse/CLS-742 HazelcastServiceBase --- .../imdg/iml/hazelcast/service/HazelcastServiceBase.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/service/HazelcastServiceBase.java b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/service/HazelcastServiceBase.java index 3ae1ca517..844985cd0 100644 --- a/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/service/HazelcastServiceBase.java +++ b/platform-parent/platform-imdg-api-hazelcast-impl/src/main/java/ru/spcex/platform/imdg/iml/hazelcast/service/HazelcastServiceBase.java @@ -112,7 +112,11 @@ public abstract class HazelcastServiceBase break; } }); - } catch (Throwable e) { + } catch (InterruptedException e) { + log.info("Hazelcast: event interrupted"); + Thread.currentThread().interrupt(); + } + catch (Throwable e) { log.error("reinitializeHazelcastClient() has error: {}", ExceptionUtils.getStackTrace(e)); } } From c947aed01655e79223e833d87a0d7c350526e679 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Mon, 9 Sep 2024 13:30:14 +0300 Subject: [PATCH 03/16] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-747?= =?UTF-8?q?=20DDL=203.14,=20=D1=87=D0=B0=D1=81=D1=82=D1=8C=20CLS-746=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/meta/meta.json | 19958 ++++++++-------- .../src/main/resources/meta/meta.xml | 47 +- .../backend-api/src/test/resources/meta.json | 214 +- .../statics/data/account/BankAccount.java | 140 +- .../src/main/resources/db/DDL.3.13.sql | 5124 ++++ .../db-scripts/src/main/resources/db/DDL.sql | 68 +- .../src/main/resources/db/updateDDL_3.14.sql | 32 + .../BankAccountHistoryMapStore.java | 23 +- .../imdg/object/BankAccountMapStore.java | 34 +- 9 files changed, 15736 insertions(+), 9904 deletions(-) create mode 100644 clearing-parent/db-scripts/src/main/resources/db/DDL.3.13.sql diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.json b/clearing-parent/backend-api/src/main/resources/meta/meta.json index dda588b2f..8d45cadbf 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.json +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.json @@ -1,10533 +1,10713 @@ -{ - "version": "3.14.105.103", - - "enums": { - + { + "version": "3.14.105.104", + + "enums": { + "allowed": { - - "name": "Справочник признаков допустимости использования объектов", - - "class": "com.spicex.platform.dictionary.AllowedDictionary", - - "table": "allowed_dictionary", - + + "name": "Справочник признаков допустимости использования объектов", + + "class": "com.spicex.platform.dictionary.AllowedDictionary", + + "table": "allowed_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Признак допустимости","shortname": "Допустимость","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Признак допустимости","shortname": "Допустимость","type": 2,"length": 50 + } + ] } , "workflowStatus": { - - "name": "Справочник статусов бизнес-процессов", - - "class": "com.spicex.dictionary.WorkflowStatusDictionary", - - "table": "workflow_status_dictionary", - + + "name": "Справочник статусов бизнес-процессов", + + "class": "com.spicex.dictionary.WorkflowStatusDictionary", + + "table": "workflow_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "errorCode": { - - "name": "Коды ошибок", - - "class": "com.spicex.dictionary.ErrorCodeDictionary", - - "table": "error_code_dictionary", - + + "name": "Коды ошибок", + + "class": "com.spicex.dictionary.ErrorCodeDictionary", + + "table": "error_code_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Текст ошибки","shortname": "Ошибка","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Текст ошибки","shortname": "Ошибка","type": 2,"length": 255 + } + ] } , "countryCode": { - - "name": "Справочник кодов стран", - - "class": "ru.clearing.platform.dictionary.CountryCodeDictionary", - - "table": "country_code_dictionary", - + + "name": "Справочник кодов стран", + + "class": "ru.clearing.platform.dictionary.CountryCodeDictionary", + + "table": "country_code_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","type": 2,"length": 255 + } + ] } , "section": { - - "name": "Справочник секций", - - "class": "com.spicex.dictionary.SectionDictionary", - - "table": "section_dictionary", - + + "name": "Справочник секций", + + "class": "com.spicex.dictionary.SectionDictionary", + + "table": "section_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "userRole": { - - "name": "Роли пользователей", - - "class": "com.spicex.dictionary.UserRoleDictionary", - - "table": "user_role_dictionary", - + + "name": "Роли пользователей", + + "class": "com.spicex.dictionary.UserRoleDictionary", + + "table": "user_role_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Роль пользователя","shortname": "Роль","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Роль пользователя","shortname": "Роль","type": 2,"length": 50 + } + ] } , "connectionState": { - - "name": "Справочник состояний соединений", - - "class": "com.spicex.dictionary.ConnectionStateDictionary", - - "table": "connection_state_dictionary", - + + "name": "Справочник состояний соединений", + + "class": "com.spicex.dictionary.ConnectionStateDictionary", + + "table": "connection_state_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Состояние","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Состояние","type": 2,"length": 50 + } + ] } , "legalKind": { - - "name": "Справочник видов субъекта", - - "class": "com.spicex.dictionary.LegalKindDictionary", - - "table": "legal_kind_dictionary", - + + "name": "Справочник видов субъекта", + + "class": "com.spicex.dictionary.LegalKindDictionary", + + "table": "legal_kind_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Вид","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Вид","type": 2,"length": 255 + } + ] } , "organizationType": { - - "name": "Справочник типов организаций", - - "class": "com.spicex.dictionary.OrganizationTypeDictionary", - - "table": "organization_type_dictionary", - + + "name": "Справочник типов организаций", + + "class": "com.spicex.dictionary.OrganizationTypeDictionary", + + "table": "organization_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "corporationSoleType": { - - "name": "Справочник единоличных исполнительных органов", - - "class": "com.spicex.dictionary.CorporationSoleTypeDictionary", - - "table": "corporation_sole_type_dictionary", - + + "name": "Справочник единоличных исполнительных органов", + + "class": "com.spicex.dictionary.CorporationSoleTypeDictionary", + + "table": "corporation_sole_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "clearingCategory": { - - "name": "Справочник категорий участника клиринга", - - "class": "com.spicex.dictionary.ClearingCategoryDictionary", - - "table": "clearing_category_dictionary", - + + "name": "Справочник категорий участника клиринга", + + "class": "com.spicex.dictionary.ClearingCategoryDictionary", + + "table": "clearing_category_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "contactType": { - - "name": "Справочник типов контактов компании", - - "class": "com.spicex.dictionary.ContactTypeDictionary", - - "table": "contact_type_dictionary", - + + "name": "Справочник типов контактов компании", + + "class": "com.spicex.dictionary.ContactTypeDictionary", + + "table": "contact_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "documentType": { - - "name": "Справочник типов документов", - - "class": "com.spicex.dictionary.DocumentTypeDictionary", - - "table": "document_type_dictionary", - + + "name": "Справочник типов документов", + + "class": "com.spicex.dictionary.DocumentTypeDictionary", + + "table": "document_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "companySymbol": { - - "name": "Справочник имен компании", - - "class": "com.spicex.dictionary.CompanySymbolDictionary", - - "logUpdates": "true", - - "table": "company_symbol_dictionary", - + + "name": "Справочник имен компании", + + "class": "com.spicex.dictionary.CompanySymbolDictionary", + + "logUpdates": "true", + + "table": "company_symbol_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Полное имя","type": 2,"length": 255 - } - , - {"code": "shortname", - "name": "Краткое наименование","shortname": "Имя","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Полное имя","type": 2,"length": 255 + } + , + {"code": "shortname", + "name": "Краткое наименование","shortname": "Имя","type": 2,"length": 255 + } + ] } , "companyRole": { - - "name": "Справочник ролей компаний", - - "class": "com.spicex.dictionary.CompanyRoleDictionary", - - "table": "company_role_dictionary", - + + "name": "Справочник ролей компаний", + + "class": "com.spicex.dictionary.CompanyRoleDictionary", + + "table": "company_role_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Роль Участника","shortname": "Роль","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Роль Участника","shortname": "Роль","type": 2,"length": 255 + } + ] } , "currencyCode": { - - "name": "Справочник кодов валют", - - "class": "com.spicex.dictionary.CurrencyCodeDictionary", - - "table": "currency_code_dictionary", - + + "name": "Справочник кодов валют", + + "class": "com.spicex.dictionary.CurrencyCodeDictionary", + + "table": "currency_code_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "instrumentType": { - - "name": "Справочник типов инструментов", - - "class": "com.spicex.dictionary.InstrumentTypeDictionary", - - "table": "instrument_type_dictionary", - + + "name": "Справочник типов инструментов", + + "class": "com.spicex.dictionary.InstrumentTypeDictionary", + + "table": "instrument_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "termType": { - - "name": "Справочник видов инструментов Денежного рынка", - - "class": "com.spicex.dictionary.TermTypeDictionary", - - "table": "term_type_dictionary", - + + "name": "Справочник видов инструментов Денежного рынка", + + "class": "com.spicex.dictionary.TermTypeDictionary", + + "table": "term_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "shareType": { - - "name": "Справочник типов акций", - - "class": "com.spicex.dictionary.ShareTypeDictionary", - - "table": "share_type_dictionary", - + + "name": "Справочник типов акций", + + "class": "com.spicex.dictionary.ShareTypeDictionary", + + "table": "share_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код акции","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код акции","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "bondType": { - - "name": "Справочник типов облигаций", - - "class": "com.spicex.dictionary.BondTypeDictionary", - - "table": "bond_type_dictionary", - + + "name": "Справочник типов облигаций", + + "class": "com.spicex.dictionary.BondTypeDictionary", + + "table": "bond_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код облигации","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код облигации","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "tradingClearingRegistryType": { - - "name": "Справочник типов торгово-клиринговых регистров", - - "class": "com.spicex.dictionary.TradingClearingRegistryTypeDictionary", - - "table": "trading_clearing_registry_type_dictionary", - + + "name": "Справочник типов торгово-клиринговых регистров", + + "class": "com.spicex.dictionary.TradingClearingRegistryTypeDictionary", + + "table": "trading_clearing_registry_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "tradingClearingRegistryLevel": { - - "name": "Справочник уровней торгово-клиринговых регистров", - - "class": "com.spicex.dictionary.TradingClearingRegistryLevelDictionary", - - "table": "trading_clearing_registry_level_dictionary", - + + "name": "Справочник уровней торгово-клиринговых регистров", + + "class": "com.spicex.dictionary.TradingClearingRegistryLevelDictionary", + + "table": "trading_clearing_registry_level_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "tradingClearingRegistryPurpose": { - - "name": "Справочник областей применения", - - "class": "com.spicex.dictionary.TradingClearingRegistryPurposeDictionary", - - "table": "trading_clearing_registry_purpose_dictionary", - + + "name": "Справочник областей применения", + + "class": "com.spicex.dictionary.TradingClearingRegistryPurposeDictionary", + + "table": "trading_clearing_registry_purpose_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "service": { - - "name": "Справочник услуг", - - "class": "com.spicex.dictionary.ServiceDictionary", - - "table": "service_dictionary", - + + "name": "Справочник услуг", + + "class": "com.spicex.dictionary.ServiceDictionary", + + "table": "service_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "serviceStatus": { - - "name": "Справочник статусов услуг", - - "class": "com.spicex.dictionary.ServiceStatusDictionary", - - "table": "service_status_dictionary", - + + "name": "Справочник статусов услуг", + + "class": "com.spicex.dictionary.ServiceStatusDictionary", + + "table": "service_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "serviceProduct": { - - "name": "Справочник продуктов для услуг", - - "class": "com.spicex.dictionary.ServiceProductDictionary", - - "table": "service_product_dictionary", - + + "name": "Справочник продуктов для услуг", + + "class": "com.spicex.dictionary.ServiceProductDictionary", + + "table": "service_product_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "registryDesignation": { - - "name": "Справочник символов регистров - назначения", - - "class": "ru.clearing.platform.dictionary.RegistryDesignationDictionary", - - "table": "registry_designation_dictionary", - + + "name": "Справочник символов регистров - назначения", + + "class": "ru.clearing.platform.dictionary.RegistryDesignationDictionary", + + "table": "registry_designation_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "registryInstrumentType": { - - "name": "Справочник символов регистров - инструменты", - - "class": "ru.clearing.platform.dictionary.RegistryInstrumentTypeDictionary", - - "table": "registry_instrument_type_dictionary", - + + "name": "Справочник символов регистров - инструменты", + + "class": "ru.clearing.platform.dictionary.RegistryInstrumentTypeDictionary", + + "table": "registry_instrument_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "registryCapacity": { - - "name": "Справочник символов регистров - источники средств", - - "class": "ru.clearing.platform.dictionary.RegistryCapacityDictionary", - - "table": "registry_capacity_dictionary", - + + "name": "Справочник символов регистров - источники средств", + + "class": "ru.clearing.platform.dictionary.RegistryCapacityDictionary", + + "table": "registry_capacity_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "registryUnit": { - - "name": "Справочник символов регистров - части регистров", - - "class": "ru.clearing.platform.dictionary.RegistryUnitDictionary", - - "table": "registry_unit_dictionary", - + + "name": "Справочник символов регистров - части регистров", + + "class": "ru.clearing.platform.dictionary.RegistryUnitDictionary", + + "table": "registry_unit_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "registryCode": { - - "name": "Справочник кодов регистров", - - "class": "ru.clearing.platform.dictionary.RegistryCodeDictionary", - - "table": "registry_code_dictionary", - + + "name": "Справочник кодов регистров", + + "class": "ru.clearing.platform.dictionary.RegistryCodeDictionary", + + "table": "registry_code_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "registryStatus": { - - "name": "Справочник статусов регистров", - - "class": "ru.clearing.platform.dictionary.RegistryStatusDictionary", - - "table": "registry_status_dictionary", - + + "name": "Справочник статусов регистров", + + "class": "ru.clearing.platform.dictionary.RegistryStatusDictionary", + + "table": "registry_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "balanceDimension": { - - "name": "Справочник размерностей балансов", - - "class": "ru.clearing.platform.dictionary.BalanceDimensionDictionary", - - "table": "balance_dimention_dictionary", - + + "name": "Справочник размерностей балансов", + + "class": "ru.clearing.platform.dictionary.BalanceDimensionDictionary", + + "table": "balance_dimention_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Размерность баланса","shortname": "Размерность","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Размерность баланса","shortname": "Размерность","type": 2,"length": 50 + } + ] } , "accountType": { - - "name": "Справочник типов счетов", - - "class": "com.spicex.dictionary.AccountTypeDictionary", - - "table": "account_type_dictionary", - + + "name": "Справочник типов счетов", + + "class": "com.spicex.dictionary.AccountTypeDictionary", + + "table": "account_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "depoAccountType": { - - "name": "Справочник типов депозитарных счетов", - - "class": "com.spicex.dictionary.DepoAccountTypeDictionary", - - "table": "depo_account_type_dictionary", - + + "name": "Справочник типов депозитарных счетов", + + "class": "com.spicex.dictionary.DepoAccountTypeDictionary", + + "table": "depo_account_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "clearingAccountType": { - - "name": "Справочник типов клиринговых счетов", - - "class": "com.spicex.dictionary.ClearingAccountTypeDictionary", - - "table": "clearing_account_type_dictionary", - + + "name": "Справочник типов клиринговых счетов", + + "class": "com.spicex.dictionary.ClearingAccountTypeDictionary", + + "table": "clearing_account_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "task": { - - "name": "Справочник задач", - - "class": "com.spicex.dictionary.TaskDictionary", - - "table": "task_dictionary", - + + "name": "Справочник задач", + + "class": "com.spicex.dictionary.TaskDictionary", + + "table": "task_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Задача","shortname": "Задача","type": 2,"length": 150 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Задача","shortname": "Задача","type": 2,"length": 150 + } + ] } , "taskStatus": { - - "name": "Справочник статусов задач", - - "class": "com.spicex.dictionary.TaskStatusDictionary", - - "table": "task_status_dictionary", - + + "name": "Справочник статусов задач", + + "class": "com.spicex.dictionary.TaskStatusDictionary", + + "table": "task_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Статус задачи","shortname": "Статус","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Статус задачи","shortname": "Статус","type": 2,"length": 50 + } + ] } , "dayStatus": { - - "name": "Справочник статусов дней", - - "class": "ru.clearing.platform.dictionary.DayStatusDictionary", - - "table": "day_status_dictionary", - + + "name": "Справочник статусов дней", + + "class": "ru.clearing.platform.dictionary.DayStatusDictionary", + + "table": "day_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Статус дня","shortname": "Статус","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Статус дня","shortname": "Статус","type": 2,"length": 50 + } + ] } , "parent": { - - "name": "Справочник источников", - - "class": "com.spicex.dictionary.ParentDictionary", - - "table": "parent_dictionary", - + + "name": "Справочник источников", + + "class": "com.spicex.dictionary.ParentDictionary", + + "table": "parent_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Источник","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Источник","type": 2,"length": 50 + } + ] } , "sessionStatus": { - - "name": "Справочник статусов клиринговых сессий", - - "class": "ru.clearing.platform.dictionary.SessionStatusDictionary", - - "table": "session_status_dictionary", - + + "name": "Справочник статусов клиринговых сессий", + + "class": "ru.clearing.platform.dictionary.SessionStatusDictionary", + + "table": "session_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 255 + } + ] } , "sessionType": { - - "name": "Справочник типов клиринговых сессий", - - "class": "ru.clearing.platform.dictionary.SessionTypeDictionary", - - "table": "session_type_dictionary", - + + "name": "Справочник типов клиринговых сессий", + + "class": "ru.clearing.platform.dictionary.SessionTypeDictionary", + + "table": "session_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 + } + ] } , "moneyFlowSide": { - - "name": "Справочник направлений денежного рынка", - - "class": "ru.clearing.platform.dictionary.MoneyFlowSideDictionary", - - "table": "money_flow_side_dictionary", - + + "name": "Справочник направлений денежного рынка", + + "class": "ru.clearing.platform.dictionary.MoneyFlowSideDictionary", + + "table": "money_flow_side_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Значение","shortname": "Значение","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Значение","shortname": "Значение","type": 2,"length": 255 + } + ] } , "side": { - - "name": "Справочник направлений", - - "class": "ru.clearing.platform.dictionary.SideDictionary", - - "table": "side_dictionary", - + + "name": "Справочник направлений", + + "class": "ru.clearing.platform.dictionary.SideDictionary", + + "table": "side_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Значение","shortname": "Значение","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Значение","shortname": "Значение","type": 2,"length": 255 + } + ] } , "marketCode": { - - "name": "Справочник кодов рынков", - - "class": "ru.clearing.platform.dictionary.MarketCodeDictionary", - - "table": "market_code_dictionary", - + + "name": "Справочник кодов рынков", + + "class": "ru.clearing.platform.dictionary.MarketCodeDictionary", + + "table": "market_code_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Значение","shortname": "Значение","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Значение","shortname": "Значение","type": 2,"length": 255 + } + ] } , "marketType": { - - "name": "Справочник типов торгов", - - "class": "com.spicex.dictionary.MarketTypeDictionary", - - "table": "market_type_dictionary", - + + "name": "Справочник типов торгов", + + "class": "com.spicex.dictionary.MarketTypeDictionary", + + "table": "market_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Тип","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Тип","type": 2,"length": 255 + } + ] } , "statementType": { - - "name": "Справочник типов поступлений/списаний от ПРЦ", - - "class": "ru.clearing.platform.dictionary.StatementTypeDictionary", - - "table": "statement_type_dictionary", - + + "name": "Справочник типов поступлений/списаний от ПРЦ", + + "class": "ru.clearing.platform.dictionary.StatementTypeDictionary", + + "table": "statement_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Значение","shortname": "Значение","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Значение","shortname": "Значение","type": 2,"length": 255 + } + ] } , "operationType": { - - "name": "Справочник типов операций", - - "class": "ru.clearing.platform.dictionary.OperationTypeDictionary", - - "table": "operation_type_dictionary", - + + "name": "Справочник типов операций", + + "class": "ru.clearing.platform.dictionary.OperationTypeDictionary", + + "table": "operation_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Значение","shortname": "Значение","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Значение","shortname": "Значение","type": 2,"length": 255 + } + ] } , "operationStatus": { - - "name": "Справочник статусов операций", - - "class": "ru.clearing.platform.dictionary.OperationStatusDictionary", - - "table": "operation_status_dictionary", - + + "name": "Справочник статусов операций", + + "class": "ru.clearing.platform.dictionary.OperationStatusDictionary", + + "table": "operation_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Значение","shortname": "Значение","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Значение","shortname": "Значение","type": 2,"length": 255 + } + ] } , "inOutSDfType": { - - "name": "Справочник типов входящих и исходящих записей", - - "class": "ru.clearing.platform.dictionary.InOutSDfTypeDictionary", - - "table": "in_out_s_df_type_dictionary", - + + "name": "Справочник типов входящих и исходящих записей", + + "class": "ru.clearing.platform.dictionary.InOutSDfTypeDictionary", + + "table": "in_out_s_df_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Тип записи","shortname": "Наименование","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Тип записи","shortname": "Наименование","type": 2,"length": 50 + } + ] } , "inOutDirection": { - - "name": "Справочник значений направлений денежного потока", - - "class": "ru.clearing.platform.dictionary.InOutDirectionDictionary", - - "table": "in_out_direction_dictionary", - + + "name": "Справочник значений направлений денежного потока", + + "class": "ru.clearing.platform.dictionary.InOutDirectionDictionary", + + "table": "in_out_direction_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Значение","shortname": "Значение","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Значение","shortname": "Значение","type": 2,"length": 255 + } + ] } , "transactionStatus": { - - "name": "Справочник статусов транзакций", - - "class": "com.spicex.dictionary.TransactionStatusDictionary", - - "table": "transaction_status_dictionary", - + + "name": "Справочник статусов транзакций", + + "class": "com.spicex.dictionary.TransactionStatusDictionary", + + "table": "transaction_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Статус транзакции","shortname": "Статус","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Статус транзакции","shortname": "Статус","type": 2,"length": 50 + } + ] } , "objectType": { - - "name": "Справочник типов объектов", - - "class": "ru.clearing.platform.dictionary.ObjectTypeDictionary", - - "table": "object_type_dictionary", - + + "name": "Справочник типов объектов", + + "class": "ru.clearing.platform.dictionary.ObjectTypeDictionary", + + "table": "object_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 + } + ] } , "notificationStatus": { - - "name": "Справочник статусов сообщений", - - "class": "ru.clearing.platform.dictionary.NotificationStatusDictionary", - - "table": "notification_status_dictionary", - + + "name": "Справочник статусов сообщений", + + "class": "ru.clearing.platform.dictionary.NotificationStatusDictionary", + + "table": "notification_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 + } + ] } , "managementJournalType": { - - "name": "Справочник типов записей в журнале мониторинга и контроля", - - "class": "ru.clearing.platform.dictionary.ManagementJournalTypeDictionary", - - "table": "management_journal_type_dictionary", - + + "name": "Справочник типов записей в журнале мониторинга и контроля", + + "class": "ru.clearing.platform.dictionary.ManagementJournalTypeDictionary", + + "table": "management_journal_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Тип записи","shortname": "Наименование","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Тип записи","shortname": "Наименование","type": 2,"length": 50 + } + ] } , "managementJournalPurpose": { - - "name": "Справочник целей записей в журнале мониторинга и контроля", - - "class": "ru.clearing.platform.dictionary.ManagementJournalPurposeDictionary", - - "table": "management_journal_purpose_dictionary", - + + "name": "Справочник целей записей в журнале мониторинга и контроля", + + "class": "ru.clearing.platform.dictionary.ManagementJournalPurposeDictionary", + + "table": "management_journal_purpose_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Тип записи","shortname": "Наименование","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Тип записи","shortname": "Наименование","type": 2,"length": 50 + } + ] } , "managementJournalStatus": { - - "name": "Справочник статусов журнала мониторинга и контроля", - - "class": "ru.clearing.platform.dictionary.ManagementJournalStatusDictionary", - - "table": "management_journal_status_dictionary", - + + "name": "Справочник статусов журнала мониторинга и контроля", + + "class": "ru.clearing.platform.dictionary.ManagementJournalStatusDictionary", + + "table": "management_journal_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Статус сообщения","shortname": "Наименование","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Статус сообщения","shortname": "Наименование","type": 2,"length": 50 + } + ] } , "majorSign": { - - "name": "Справочник типов конвертируемости валюты", - - "class": "ru.clearing.platform.dictionary.MajorSign", - - "table": "major_sign", - + + "name": "Справочник типов конвертируемости валюты", + + "class": "ru.clearing.platform.dictionary.MajorSign", + + "table": "major_sign", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование типа","shortname": "Наименование","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование типа","shortname": "Наименование","type": 2,"length": 50 + } + ] } , "courierType": { - - "name": "Справочник способов доставки документа", - - "class": "ru.clearing.platform.dictionary.CourierTypeDictionary", - - "table": "courier_type_dictionary", - + + "name": "Справочник способов доставки документа", + + "class": "ru.clearing.platform.dictionary.CourierTypeDictionary", + + "table": "courier_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Способ доставки","shortname": "Способ доставки","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Способ доставки","shortname": "Способ доставки","type": 2,"length": 50 + } + ] } , "currencySettlementType": { - - "name": "Справочник типов расчетов валютных пар", - - "class": "ru.clearing.platform.dictionary.CurrencySettlementType", - - "table": "currency_settlement_type", - + + "name": "Справочник типов расчетов валютных пар", + + "class": "ru.clearing.platform.dictionary.CurrencySettlementType", + + "table": "currency_settlement_type", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Тип расчета","shortname": "Тип расчета","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Тип расчета","shortname": "Тип расчета","type": 2,"length": 50 + } + ] } , "currencyPair": { - - "name": "Справочник валютных пар", - - "class": "ru.clearing.platform.dictionary.CurrencyPairDictionary", - - "table": "currency_pair", - + + "name": "Справочник валютных пар", + + "class": "ru.clearing.platform.dictionary.CurrencyPairDictionary", + + "table": "currency_pair", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 2,"length": 25 - } - , - {"code": "baseCurrency", - "name": "Код валюты лота","shortname": "Валюта лота","link": "currencyCode","type": 12 - } - , - {"code": "quoteCurrency", - "name": "Код сопряженной валюты","shortname": "Сопряженная валюта","link": "currencyCode","type": 12 - } - , - {"code": "majorSign", - "name": "Код признака конвертируемости валюты","shortname": "Конвертируемость валюты","link": "majorSign","type": 12 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 2,"length": 25 + } + , + {"code": "baseCurrency", + "name": "Код валюты лота","shortname": "Валюта лота","link": "currencyCode","type": 12 + } + , + {"code": "quoteCurrency", + "name": "Код сопряженной валюты","shortname": "Сопряженная валюта","link": "currencyCode","type": 12 + } + , + {"code": "majorSign", + "name": "Код признака конвертируемости валюты","shortname": "Конвертируемость валюты","link": "majorSign","type": 12 + } + ] } , "gatewayResultStatus": { - - "name": "Справочник статусов обработки", - - "class": "ru.clearing.platform.dictionary.GatewayResultStatusDictionary", - - "table": "gateway_result_status", - + + "name": "Справочник статусов обработки", + + "class": "ru.clearing.platform.dictionary.GatewayResultStatusDictionary", + + "table": "gateway_result_status", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Статус обработки","shortname": "Статус","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Статус обработки","shortname": "Статус","type": 2,"length": 255 + } + ] } , "resultStatus": { - - "name": "Справочник статусов обработки", - - "class": "ru.clearing.platform.dictionary.ResultStatusDictionary", - - "table": "result_status_dictionary", - + + "name": "Справочник статусов обработки", + + "class": "ru.clearing.platform.dictionary.ResultStatusDictionary", + + "table": "result_status_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор записи","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Статус обработки","shortname": "Статус","type": 2,"length": 255 - } - ] + {"code": "id", + "name": "Идентификатор записи","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Статус обработки","shortname": "Статус","type": 2,"length": 255 + } + ] } , "eventType": { - - "name": "Справочник типов изменений записей", - - "class": "ru.clearing.platform.dictionary.EventTypeDictionary", - - "table": "event_type_dictionary", - + + "name": "Справочник типов изменений записей", + + "class": "ru.clearing.platform.dictionary.EventTypeDictionary", + + "table": "event_type_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Тип события","shortname": "Событие","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Тип события","shortname": "Событие","type": 2,"length": 50 + } + ] } , "priority": { - - "name": "Справочник приоритетов отображения", - - "class": "ru.clearing.platform.dictionary.PriorityDictionary", - - "table": "priority_dictionary", - + + "name": "Справочник приоритетов отображения", + + "class": "ru.clearing.platform.dictionary.PriorityDictionary", + + "table": "priority_dictionary", + "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Приоритет отображения","shortname": "Приоритет","type": 2,"length": 50 - } - ] + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 } - - } - -,"objects": { - - "dbVersion": { - - "name": "Версия базы данных", - - "destination": "db-versions", - - "class": "ru.clearing.classes.statics.data.misc.DbVersion", - - "table": "db_version", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": true - } - , - {"code": "version", - "type": 2,"length": 50,"name": "Версия базы данных, привязанная к релизу","shortname": "Версия БД","searchable": true,"sortable": true,"visible": true - } - , - {"code": "dictionaryVersion", - "type": 2,"length": 100,"name": "Версия справочника","shortname": "Версия справочника","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "userCls": { - - "name": "Пользователь", - - "destination": "users", - - "class": "ru.clearing.classes.statics.data.user.User", - - "logUpdates": "true", - - "table": "user_cls", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - , - {"code": "identifier", - "type": 2,"length": 250,"name": "Внешний идентификатор","shortname": "Идентификатор","searchable": true,"sortable": true,"visible": true - } - , - {"code": "name", - "type": 2,"length": 250,"name": "Имя и фамилия пользователя","shortname": "Имя и фамилия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "firstName", - "type": 2,"length": 250,"name": "Имя пользователя","shortname": "Имя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "lastName", - "type": 2,"length": 250,"name": "Фамилия пользователя","shortname": "Фамилия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "middleName", - "type": 2,"length": 250,"name": "Отчество пользователя","shortname": "Отчество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "email", - "type": 2,"length": 250,"name": "Email пользователя","shortname": "Email","searchable": true,"sortable": true,"visible": true - } - ] - ,"actions":[ + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Приоритет отображения","shortname": "Приоритет","type": 2,"length": 50 + } + ] + } + + } + + ,"objects": { + + "dbVersion": { + + "name": "Версия базы данных", + + "destination": "db-versions", + + "class": "ru.clearing.classes.statics.data.misc.DbVersion", + + "table": "db_version", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": true + } + , + {"code": "version", + "type": 2,"length": 50,"name": "Версия базы данных, привязанная к релизу","shortname": "Версия БД","searchable": true,"sortable": true,"visible": true + } + , + {"code": "dictionaryVersion", + "type": 2,"length": 100,"name": "Версия справочника","shortname": "Версия справочника","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "userCls": { + + "name": "Пользователь", + + "destination": "users", + + "class": "ru.clearing.classes.statics.data.user.User", + + "logUpdates": "true", + + "table": "user_cls", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + , + {"code": "identifier", + "type": 2,"length": 250,"name": "Внешний идентификатор","shortname": "Идентификатор","searchable": true,"sortable": true,"visible": true + } + , + {"code": "name", + "type": 2,"length": 250,"name": "Имя и фамилия пользователя","shortname": "Имя и фамилия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "firstName", + "type": 2,"length": 250,"name": "Имя пользователя","shortname": "Имя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "lastName", + "type": 2,"length": 250,"name": "Фамилия пользователя","shortname": "Фамилия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "middleName", + "type": 2,"length": 250,"name": "Отчество пользователя","shortname": "Отчество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "email", + "type": 2,"length": 250,"name": "Email пользователя","shortname": "Email","searchable": true,"sortable": true,"visible": true + } + ] + ,"actions":[ {"method":"put", - - "name": "Авторизация пользователя", - + + "name": "Авторизация пользователя", + "fields": [ - {"code": "userName", - "type": 2,"length": 255,"name": "Логин пользователя","required": true - } - , - {"code": "roles", - "type": 2,"length": 255,"name": "Роли пользователя","required": false - } - ] + {"code": "userName", + "type": 2,"length": 255,"name": "Логин пользователя","required": true + } + , + {"code": "roles", + "type": 2,"length": 255,"name": "Роли пользователя","required": false + } + ] } ] - } -, - "userRoleSession": { - - "name": "Набор ролей", - - "destination": "user-role-sessions", - - "class": "ru.clearing.classes.statics.data.user.UserRoleSession", - - "table": "user_role_session", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "userId", - "type": 1,"dbname": "Идентификатор пользователя","name": "Имя и фамилия пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" - } - , - {"code": "userRole", - "type": 12,"dbname": "Код роли пользователя","name": "Роль пользователя","shortname": "Роль","searchable": true,"sortable": true,"visible": true,"link": "userRole" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company" - } - , - {"code": "status", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus" - } - ] - - } -, - "userSettings": { - - "name": "Настройки пользователя", - - "destination": "utilities/user-settings", - - "class": "ru.clearing.classes.statics.data.user.UserSettings", - - "table": "user_settings", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "userId", - "type": 1,"dbname": "Идентификатор пользователя","name": "Имя и фамилия пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" - } - , - {"code": "version", - "type": 2,"length": 50,"name": "Версия настроек пользователя","shortname": "Версия","searchable": false,"sortable": false,"visible": true - } - , - {"code": "json", - "type": 2,"length": 200000,"name": "Данные конфигурации","shortname": "Настройки","searchable": false,"sortable": false,"visible": true - } - ] - ,"actions":[ + } + , + "userRoleSession": { + + "name": "Набор ролей", + + "destination": "user-role-sessions", + + "class": "ru.clearing.classes.statics.data.user.UserRoleSession", + + "table": "user_role_session", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "userId", + "type": 1,"dbname": "Идентификатор пользователя","name": "Имя и фамилия пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" + } + , + {"code": "userRole", + "type": 12,"dbname": "Код роли пользователя","name": "Роль пользователя","shortname": "Роль","searchable": true,"sortable": true,"visible": true,"link": "userRole" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company" + } + , + {"code": "status", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus" + } + ] + + } + , + "userSettings": { + + "name": "Настройки пользователя", + + "destination": "utilities/user-settings", + + "class": "ru.clearing.classes.statics.data.user.UserSettings", + + "table": "user_settings", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "userId", + "type": 1,"dbname": "Идентификатор пользователя","name": "Имя и фамилия пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" + } + , + {"code": "version", + "type": 2,"length": 50,"name": "Версия настроек пользователя","shortname": "Версия","searchable": false,"sortable": false,"visible": true + } + , + {"code": "json", + "type": 2,"length": 200000,"name": "Данные конфигурации","shortname": "Настройки","searchable": false,"sortable": false,"visible": true + } + ] + ,"actions":[ {"method":"put", - - "name": "Изменение настроек пользователя", - + + "name": "Изменение настроек пользователя", + "fields": [ - {"code": "userId", - "type": 1,"name": "Имя и фамилия пользователя","shortname": "Пользователь","required": false,"link": "userCls","linkCode": "identifier" - } - , - {"code": "version", - "type": 2,"length": 50,"name": "Версия настроек пользователя","shortname": "Версия","required": false - } - , - {"code": "json", - "type": 2,"length": 200000,"name": "Данные конфигурации","shortname": "Настройки","required": false - } - ] + {"code": "userId", + "type": 1,"name": "Имя и фамилия пользователя","shortname": "Пользователь","required": false,"link": "userCls","linkCode": "identifier" + } + , + {"code": "version", + "type": 2,"length": 50,"name": "Версия настроек пользователя","shortname": "Версия","required": false + } + , + {"code": "json", + "type": 2,"length": 200000,"name": "Данные конфигурации","shortname": "Настройки","required": false + } + ] } ] - } -, - "userConnect": { - - "name": "Активность пользователей в системе", - - "class": "ru.clearing.classes.statics.data.user.UserConnect", - - "logUpdates": "true", - - "table": "user_connect", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - , - {"code": "userId", - "type": 1,"dbname": "Идентификатор пользователя","name": "Имя и фамилия пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" - } - , - {"code": "connectionTime", - "type": 4,"name": "Последнее соединение","shortname": "Вход","searchable": true,"sortable": true - } - , - {"code": "disconnectionTime", - "type": 4,"name": "Разрыв соединения","shortname": "Выход","searchable": true,"sortable": true - } - , - {"code": "serverIp", - "type": 2,"length": 250,"name": "IP адрес сервера","shortname": "IP сервера","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clientIp", - "type": 2,"length": 250,"name": "IP адрес клиента","shortname": "IP клиента","searchable": true,"sortable": true,"visible": true - } - , - {"code": "connectionState", - "type": 12,"dbname": "Код статуса соединения","name": "Статус соединения","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "connectionState" - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true - } - , - {"code": "errorCodeId", - "type": 1,"dbname": "Идентификатор кода ошибки","name": "Код ошибки","shortname": "Код ошибки","searchable": true,"sortable": true,"link": "errorCode","linkCode": "code" - } - , - {"code": "errorTextId", - "type": 1,"dbname": "Идентификатор полного текста ошибки","name": "Полный текст ошибки","shortname": "Ошибка","searchable": true,"sortable": true,"link": "errorText","linkCode": "text" - } - ] - - } -, - "company": { - - "name": "Компании", - - "destination": "companies", - - "class": "ru.clearing.classes.statics.data.company.Company", - - "logUpdates": "true", - - "table": "company", - - "fields": [ - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование","searchable": true,"sortable": true,"visible": true - } - , - {"code": "tradingCode", - "type": 2,"length": 255,"name": "Код участника торгов","shortname": "Биржевой код","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registrationCode", - "type": 2,"length": 255,"name": "Регистрационный код участника","shortname": "Регистрационный код","searchable": true,"sortable": true,"visible": true - } - , - {"code": "companySymbol", - "field": "id","type": 12,"name": "Тип реквизита","shortname": "Тип реквизита","searchable": true,"sortable": true,"linkKeyCode": "companyId","linkCode": "companySymbol","link": "companySymbols","extends": "companySymbols" - } - , - {"code": "companySymbolValue", - "field": "id","type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение реквизита","searchable": true,"sortable": true,"linkKeyCode": "companyId","linkCode": "companySymbolValue","link": "companySymbols","extends": "companySymbols" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "userConnect": { + + "name": "Активность пользователей в системе", + + "class": "ru.clearing.classes.statics.data.user.UserConnect", + + "logUpdates": "true", + + "table": "user_connect", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + , + {"code": "userId", + "type": 1,"dbname": "Идентификатор пользователя","name": "Имя и фамилия пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" + } + , + {"code": "connectionTime", + "type": 4,"name": "Последнее соединение","shortname": "Вход","searchable": true,"sortable": true + } + , + {"code": "disconnectionTime", + "type": 4,"name": "Разрыв соединения","shortname": "Выход","searchable": true,"sortable": true + } + , + {"code": "serverIp", + "type": 2,"length": 250,"name": "IP адрес сервера","shortname": "IP сервера","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clientIp", + "type": 2,"length": 250,"name": "IP адрес клиента","shortname": "IP клиента","searchable": true,"sortable": true,"visible": true + } + , + {"code": "connectionState", + "type": 12,"dbname": "Код статуса соединения","name": "Статус соединения","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "connectionState" + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true + } + , + {"code": "errorCodeId", + "type": 1,"dbname": "Идентификатор кода ошибки","name": "Код ошибки","shortname": "Код ошибки","searchable": true,"sortable": true,"link": "errorCode","linkCode": "code" + } + , + {"code": "errorTextId", + "type": 1,"dbname": "Идентификатор полного текста ошибки","name": "Полный текст ошибки","shortname": "Ошибка","searchable": true,"sortable": true,"link": "errorText","linkCode": "text" + } + ] + + } + , + "company": { + + "name": "Компании", + + "destination": "companies", + + "class": "ru.clearing.classes.statics.data.company.Company", + + "logUpdates": "true", + + "table": "company", + + "fields": [ + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование","searchable": true,"sortable": true,"visible": true + } + , + {"code": "tradingCode", + "type": 2,"length": 255,"name": "Код участника торгов","shortname": "Биржевой код","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registrationCode", + "type": 2,"length": 255,"name": "Регистрационный код участника","shortname": "Регистрационный код","searchable": true,"sortable": true,"visible": true + } + , + {"code": "companySymbol", + "field": "id","type": 12,"name": "Тип реквизита","shortname": "Тип реквизита","searchable": true,"sortable": true,"linkKeyCode": "companyId","linkCode": "companySymbol","link": "companySymbols","extends": "companySymbols" + } + , + {"code": "companySymbolValue", + "field": "id","type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение реквизита","searchable": true,"sortable": true,"linkKeyCode": "companyId","linkCode": "companySymbolValue","link": "companySymbols","extends": "companySymbols" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление компании", - - "confirmation": "shortName,fullName,companySymbol,companySymbolValue,workflowStatus", - + + "name": "Добавление компании", + + "confirmation": "shortName,fullName,companySymbol,companySymbolValue,workflowStatus", + "fields": [ - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Компания","required": true - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование" - } - , - {"code": "companySymbol", - "type": 12,"name": "Тип реквизита","shortname": "Тип реквизита","required": true,"link": "companySymbol","linkCode": "shortname" - } - , - {"code": "companySymbolValue", - "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение реквизита","required": true - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus","required": true - } - ] + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Компания","required": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование" + } + , + {"code": "companySymbol", + "type": 12,"name": "Тип реквизита","shortname": "Тип реквизита","required": true,"link": "companySymbol","linkCode": "shortname" + } + , + {"code": "companySymbolValue", + "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение реквизита","required": true + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus","required": true + } + ] } , {"method":"delete", - - "name": "Блокировка компании", - - "confirmation": "shortName,tradingCode", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка компании", + + "confirmation": "shortName,tradingCode", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "company","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "company","linkCode": "id","required": true + } + ] } ] - } -, - "companyInfo": { - - "name": "Профили компаний", - - "destination": "company-infos", - - "class": "ru.clearing.classes.statics.data.profile.CompanyInfo", - - "logUpdates": "true", - - "table": "company_info", - - "fields": [ - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "corporationSoleType", - "type": 12,"dbname": "Код единоличного исполнительного органа","name": "Единоличный исполнительный орган","shortname": "Исполнительный орган","searchable": true,"sortable": true,"visible": true,"link": "corporationSoleType","ignore": true - } - , - {"code": "countryCode", - "type": 12,"dbname": "Код юрисдикции","name": "Юрисдикция","shortname": "Юрисдикция","searchable": true,"sortable": true,"visible": true,"link": "countryCode" - } - , - {"code": "description", - "type": 2,"length": 255,"name": "Описание компании","shortname": "Описание","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "professionalSign", - "type": 12,"dbname": "Код признака профессионального участника","name": "Признак профессионального участника","shortname": "Проф. участник","searchable": true,"sortable": true,"visible": true,"link": "allowed" - } - , - {"code": "legalKind", - "type": 12,"dbname": "Код вида субъекта","name": "Вид субъекта","shortname": "Юр. лицо/Физ. лицо","searchable": true,"sortable": true,"visible": true,"link": "legalKind" - } - , - {"code": "organizationType", - "type": 12,"dbname": "Код типа организации","name": "Тип организации","shortname": "Тип организации","searchable": true,"sortable": true,"visible": true,"link": "organizationType" - } - , - {"code": "residence", - "type": 12,"dbname": "Код резиденции","name": "Резиденция","shortname": "Резиденция","searchable": true,"sortable": true,"visible": true,"link": "countryCode" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование компании на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование компании на английском","shortname": "Полное наименование на английском","searchable": true,"sortable": true,"visible": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "company" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование","searchable": true,"sortable": true,"visible": true,"extends": "company" - } - , - {"code": "tradingCode", - "type": 2,"length": 255,"name": "Код участника торгов","shortname": "Биржевой код","searchable": true,"sortable": true,"visible": true,"extends": "company" - } - , - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код","searchable": true,"sortable": true,"visible": true,"extends": "company" - } - , - {"code": "registrationCode", - "type": 2,"length": 255,"name": "Регистрационный код участника","shortname": "Регистрационный код","searchable": true,"sortable": true,"visible": true,"extends": "company" - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus","extends": "company" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "companyInfo": { + + "name": "Профили компаний", + + "destination": "company-infos", + + "class": "ru.clearing.classes.statics.data.profile.CompanyInfo", + + "logUpdates": "true", + + "table": "company_info", + + "fields": [ + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "corporationSoleType", + "type": 12,"dbname": "Код единоличного исполнительного органа","name": "Единоличный исполнительный орган","shortname": "Исполнительный орган","searchable": true,"sortable": true,"visible": true,"link": "corporationSoleType","ignore": true + } + , + {"code": "countryCode", + "type": 12,"dbname": "Код юрисдикции","name": "Юрисдикция","shortname": "Юрисдикция","searchable": true,"sortable": true,"visible": true,"link": "countryCode" + } + , + {"code": "description", + "type": 2,"length": 255,"name": "Описание компании","shortname": "Описание","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "professionalSign", + "type": 12,"dbname": "Код признака профессионального участника","name": "Признак профессионального участника","shortname": "Проф. участник","searchable": true,"sortable": true,"visible": true,"link": "allowed" + } + , + {"code": "legalKind", + "type": 12,"dbname": "Код вида субъекта","name": "Вид субъекта","shortname": "Юр. лицо/Физ. лицо","searchable": true,"sortable": true,"visible": true,"link": "legalKind" + } + , + {"code": "organizationType", + "type": 12,"dbname": "Код типа организации","name": "Тип организации","shortname": "Тип организации","searchable": true,"sortable": true,"visible": true,"link": "organizationType" + } + , + {"code": "residence", + "type": 12,"dbname": "Код резиденции","name": "Резиденция","shortname": "Резиденция","searchable": true,"sortable": true,"visible": true,"link": "countryCode" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование компании на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование компании на английском","shortname": "Полное наименование на английском","searchable": true,"sortable": true,"visible": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "company" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование","searchable": true,"sortable": true,"visible": true,"extends": "company" + } + , + {"code": "tradingCode", + "type": 2,"length": 255,"name": "Код участника торгов","shortname": "Биржевой код","searchable": true,"sortable": true,"visible": true,"extends": "company" + } + , + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код","searchable": true,"sortable": true,"visible": true,"extends": "company" + } + , + {"code": "registrationCode", + "type": 2,"length": 255,"name": "Регистрационный код участника","shortname": "Регистрационный код","searchable": true,"sortable": true,"visible": true,"extends": "company" + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus","extends": "company" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"put", - - "name": "Изменение профиля компании", - + + "name": "Изменение профиля компании", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "companyInfo","linkCode": "id","required": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Краткое наименование" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование" - } - , - {"code": "countryCode", - "type": 12,"name": "Юрисдикция","shortname": "Юрисдикция","link": "countryCode" - } - , - {"code": "corporationSoleType", - "type": 12,"name": "Единоличный исполнительный орган","shortname": "Исполнительный орган","link": "corporationSoleType","visible": false - } - , - {"code": "legalKind", - "type": 12,"name": "Вид субъекта","shortname": "Юр. лицо/Физ. лицо","link": "legalKind" - } - , - {"code": "organizationType", - "type": 12,"name": "Тип организации","shortname": "Тип организации","link": "organizationType" - } - , - {"code": "residence", - "type": 12,"name": "Резиденция","shortname": "Резиденция","link": "countryCode" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование компании на английском","shortname": "Полное наименование на английском" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование компании на английском","shortname": "Краткое наименование на английском" - } - , - {"code": "professionalSign", - "type": 12,"name": "Признак профессионального участника","shortname": "Проф. участника","link": "allowed" - } - , - {"code": "description", - "type": 2,"length": 255,"name": "Описание компании","shortname": "Описание компании","visible": false - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "companyInfo","linkCode": "id","required": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Краткое наименование" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование" + } + , + {"code": "countryCode", + "type": 12,"name": "Юрисдикция","shortname": "Юрисдикция","link": "countryCode" + } + , + {"code": "corporationSoleType", + "type": 12,"name": "Единоличный исполнительный орган","shortname": "Исполнительный орган","link": "corporationSoleType","visible": false + } + , + {"code": "legalKind", + "type": 12,"name": "Вид субъекта","shortname": "Юр. лицо/Физ. лицо","link": "legalKind" + } + , + {"code": "organizationType", + "type": 12,"name": "Тип организации","shortname": "Тип организации","link": "organizationType" + } + , + {"code": "residence", + "type": 12,"name": "Резиденция","shortname": "Резиденция","link": "countryCode" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование компании на английском","shortname": "Полное наименование на английском" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование компании на английском","shortname": "Краткое наименование на английском" + } + , + {"code": "professionalSign", + "type": 12,"name": "Признак профессионального участника","shortname": "Проф. участника","link": "allowed" + } + , + {"code": "description", + "type": 2,"length": 255,"name": "Описание компании","shortname": "Описание компании","visible": false + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } ] - } -, - "clearingMemberCategory": { - - "name": "Категории участника клиринга", - - "destination": "clearing-member-categories", - - "class": "ru.clearing.classes.statics.data.company.ClearingMemberCategory", - - "logUpdates": "true", - - "table": "clearing_member_category", - - "fields": [ - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "clearingMemberCategory", - "type": 12,"dbname": "Код категории участника клиринга","name": "Категория участника клиринга","shortname": "Категория","searchable": true,"sortable": true,"visible": true,"link": "clearingCategory" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "clearingMemberCategory": { + + "name": "Категории участника клиринга", + + "destination": "clearing-member-categories", + + "class": "ru.clearing.classes.statics.data.company.ClearingMemberCategory", + + "logUpdates": "true", + + "table": "clearing_member_category", + + "fields": [ + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "clearingMemberCategory", + "type": 12,"dbname": "Код категории участника клиринга","name": "Категория участника клиринга","shortname": "Категория","searchable": true,"sortable": true,"visible": true,"link": "clearingCategory" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление категории участника клиринга", - + + "name": "Добавление категории участника клиринга", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "clearingMemberCategory", - "type": 12,"name": "Категория участника клиринга","shortname": "Категория","link": "clearingCategory","required": true - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "clearingMemberCategory", + "type": 12,"name": "Категория участника клиринга","shortname": "Категория","link": "clearingCategory","required": true + } + ] } , {"method":"put", - - "name": "Изменение категорий участника клиринга", - + + "name": "Изменение категорий участника клиринга", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clearingCategory","linkCode": "id","required": true - } - , - {"code": "clearingMemberCategory", - "type": 12,"name": "Категория участника клиринга","shortname": "Категория","link": "clearingCategory" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clearingCategory","linkCode": "id","required": true + } + , + {"code": "clearingMemberCategory", + "type": 12,"name": "Категория участника клиринга","shortname": "Категория","link": "clearingCategory" + } + ] } , {"method":"delete", - - "name": "Удаление категории участника клиринга", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Удаление категории участника клиринга", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clearingCategory","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clearingCategory","linkCode": "id","required": true + } + ] } ] - } -, - "contact": { - - "name": "Контакты компании", - - "destination": "contacts", - - "class": "ru.clearing.classes.statics.data.profile.Contact", - - "table": "contact", - - "fields": [ - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "contactType", - "type": 12,"dbname": "Код типа контакта","name": "Наименование типа контакта","shortname": "Тип контакта","searchable": true,"sortable": true,"visible": true,"link": "contactType" - } - , - {"code": "contactValue", - "type": 2,"length": 255,"name": "Значение контакта","shortname": "Значение","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "contact": { + + "name": "Контакты компании", + + "destination": "contacts", + + "class": "ru.clearing.classes.statics.data.profile.Contact", + + "table": "contact", + + "fields": [ + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "contactType", + "type": 12,"dbname": "Код типа контакта","name": "Наименование типа контакта","shortname": "Тип контакта","searchable": true,"sortable": true,"visible": true,"link": "contactType" + } + , + {"code": "contactValue", + "type": 2,"length": 255,"name": "Значение контакта","shortname": "Значение","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление контакта компании", - + + "name": "Добавление контакта компании", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "contactType", - "type": 12,"name": "Наименование типа контакта","shortname": "Тип контакта","link": "contactType","required": true - } - , - {"code": "contactValue", - "type": 2,"length": 255,"name": "Значение контакта","shortname": "Значение","required": true - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "contactType", + "type": 12,"name": "Наименование типа контакта","shortname": "Тип контакта","link": "contactType","required": true + } + , + {"code": "contactValue", + "type": 2,"length": 255,"name": "Значение контакта","shortname": "Значение","required": true + } + ] } , {"method":"put", - - "name": "Изменение контакта компании", - + + "name": "Изменение контакта компании", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "contact","linkCode": "id","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName" - } - , - {"code": "contactValue", - "type": 2,"length": 255,"name": "Значение контакта","shortname": "Значение" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "contact","linkCode": "id","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName" + } + , + {"code": "contactValue", + "type": 2,"length": 255,"name": "Значение контакта","shortname": "Значение" + } + ] } , {"method":"delete", - - "name": "Удаление контакта компании", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Удаление контакта компании", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "contact","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "contact","linkCode": "id","required": true + } + ] } ] - } -, - "profileDocument": { - - "name": "Досье компании", - - "destination": "profile-documents", - - "class": "ru.clearing.classes.statics.data.profile.ProfileDocument", - - "logUpdates": "true", - - "table": "profile_document", - - "fields": [ - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "documentType", - "type": 12,"dbname": "Код типа документа","name": "Наименование типа документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true,"link": "documentType" - } - , - {"code": "issueDate", - "type": 6,"name": "Дата выдачи","shortname": "Дата выдачи","searchable": true,"sortable": true - } - , - {"code": "issuePlace", - "type": 2,"length": 255,"name": "Место выдачи","shortname": "Место выдачи","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "issuer", - "type": 2,"length": 255,"name": "Кем выдан","shortname": "Кем выдан","searchable": true,"sortable": true,"visible": true - } - , - {"code": "issuerCode", - "type": 2,"length": 255,"name": "Код выдавшего органа","shortname": "Выдавший орган","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "name", - "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "number", - "type": 2,"length": 255,"name": "Номер документа","shortname": "Номер","searchable": true,"sortable": true,"visible": true - } - , - {"code": "place", - "type": 2,"length": 255,"name": "Место","shortname": "Место","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "validFromDate", - "type": 6,"name": "Дата начала срока действия","shortname": "Начало","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "validToDate", - "type": 6,"name": "Дата окончания срока действия","shortname": "Окончание","searchable": true,"sortable": true - } - , - {"code": "link", - "type": 2,"length": 255,"name": "Ссылка на документ","shortname": "Ссылка на документ","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "profileDocument": { + + "name": "Досье компании", + + "destination": "profile-documents", + + "class": "ru.clearing.classes.statics.data.profile.ProfileDocument", + + "logUpdates": "true", + + "table": "profile_document", + + "fields": [ + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "documentType", + "type": 12,"dbname": "Код типа документа","name": "Наименование типа документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true,"link": "documentType" + } + , + {"code": "issueDate", + "type": 6,"name": "Дата выдачи","shortname": "Дата выдачи","searchable": true,"sortable": true + } + , + {"code": "issuePlace", + "type": 2,"length": 255,"name": "Место выдачи","shortname": "Место выдачи","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "issuer", + "type": 2,"length": 255,"name": "Кем выдан","shortname": "Кем выдан","searchable": true,"sortable": true,"visible": true + } + , + {"code": "issuerCode", + "type": 2,"length": 255,"name": "Код выдавшего органа","shortname": "Выдавший орган","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "number", + "type": 2,"length": 255,"name": "Номер документа","shortname": "Номер","searchable": true,"sortable": true,"visible": true + } + , + {"code": "place", + "type": 2,"length": 255,"name": "Место","shortname": "Место","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "validFromDate", + "type": 6,"name": "Дата начала срока действия","shortname": "Начало","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "validToDate", + "type": 6,"name": "Дата окончания срока действия","shortname": "Окончание","searchable": true,"sortable": true + } + , + {"code": "link", + "type": 2,"length": 255,"name": "Ссылка на документ","shortname": "Ссылка на документ","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление документа", - - "confirmation": "documentType,number,companyId", - + + "name": "Добавление документа", + + "confirmation": "documentType,number,companyId", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true,"enabled": false - } - , - {"code": "documentType", - "type": 12,"name": "Наименование типа документа","shortname": "Тип документа","link": "documentType","required": true - } - , - {"code": "issueDate", - "type": 6,"name": "Дата выдачи","shortname": "Дата выдачи","required": true - } - , - {"code": "issuePlace", - "type": 2,"length": 255,"name": "Место выдачи","shortname": "Место выдачи","visible": false - } - , - {"code": "issuer", - "type": 2,"length": 255,"name": "Кем выдан","shortname": "Кем выдан","required": true - } - , - {"code": "issuerCode", - "type": 2,"length": 255,"name": "Код выдавшего органа","shortname": "Выдавший орган","visible": false - } - , - {"code": "name", - "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","visible": false - } - , - {"code": "number", - "type": 2,"length": 255,"name": "Номер документа","shortname": "Номер","required": true - } - , - {"code": "place", - "type": 2,"length": 255,"name": "Место","shortname": "Место","visible": false - } - , - {"code": "validFromDate", - "type": 6,"name": "Дата начала срока действия","shortname": "Начало","visible": false - } - , - {"code": "validToDate", - "type": 6,"name": "Дата окончания срока действия","shortname": "Окончание","required": true - } - , - {"code": "link", - "type": 2,"length": 255,"name": "Ссылка на документ","shortname": "Ссылка на документ" - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true,"enabled": false + } + , + {"code": "documentType", + "type": 12,"name": "Наименование типа документа","shortname": "Тип документа","link": "documentType","required": true + } + , + {"code": "issueDate", + "type": 6,"name": "Дата выдачи","shortname": "Дата выдачи","required": true + } + , + {"code": "issuePlace", + "type": 2,"length": 255,"name": "Место выдачи","shortname": "Место выдачи","visible": false + } + , + {"code": "issuer", + "type": 2,"length": 255,"name": "Кем выдан","shortname": "Кем выдан","required": true + } + , + {"code": "issuerCode", + "type": 2,"length": 255,"name": "Код выдавшего органа","shortname": "Выдавший орган","visible": false + } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","visible": false + } + , + {"code": "number", + "type": 2,"length": 255,"name": "Номер документа","shortname": "Номер","required": true + } + , + {"code": "place", + "type": 2,"length": 255,"name": "Место","shortname": "Место","visible": false + } + , + {"code": "validFromDate", + "type": 6,"name": "Дата начала срока действия","shortname": "Начало","visible": false + } + , + {"code": "validToDate", + "type": 6,"name": "Дата окончания срока действия","shortname": "Окончание","required": true + } + , + {"code": "link", + "type": 2,"length": 255,"name": "Ссылка на документ","shortname": "Ссылка на документ" + } + ] } , {"method":"put", - - "name": "Изменение документа", - - "confirmation": "documentType,number,companyId", - + + "name": "Изменение документа", + + "confirmation": "documentType,number,companyId", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "profileDocument","linkCode": "id","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","enabled": false - } - , - {"code": "documentType", - "type": 12,"name": "Наименование типа документа","shortname": "Тип документа","link": "documentType" - } - , - {"code": "issueDate", - "type": 6,"name": "Дата выдачи","shortname": "Дата выдачи" - } - , - {"code": "issuePlace", - "type": 2,"length": 255,"name": "Место выдачи","shortname": "Место выдачи","visible": false - } - , - {"code": "issuer", - "type": 2,"length": 255,"name": "Кем выдан","shortname": "Кем выдан" - } - , - {"code": "issuerCode", - "type": 2,"length": 255,"name": "Код выдавшего органа","shortname": "Выдавший орган","visible": false - } - , - {"code": "name", - "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","visible": false - } - , - {"code": "number", - "type": 2,"length": 255,"name": "Номер документа","shortname": "Номер" - } - , - {"code": "place", - "type": 2,"length": 255,"name": "Место","shortname": "Место","visible": false - } - , - {"code": "validFromDate", - "type": 6,"name": "Дата начала срока действия","shortname": "Начало","visible": false - } - , - {"code": "validToDate", - "type": 6,"name": "Дата окончания срока действия","shortname": "Окончание" - } - , - {"code": "link", - "type": 2,"length": 255,"name": "Ссылка на документ","shortname": "Ссылка на документ" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "profileDocument","linkCode": "id","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","enabled": false + } + , + {"code": "documentType", + "type": 12,"name": "Наименование типа документа","shortname": "Тип документа","link": "documentType" + } + , + {"code": "issueDate", + "type": 6,"name": "Дата выдачи","shortname": "Дата выдачи" + } + , + {"code": "issuePlace", + "type": 2,"length": 255,"name": "Место выдачи","shortname": "Место выдачи","visible": false + } + , + {"code": "issuer", + "type": 2,"length": 255,"name": "Кем выдан","shortname": "Кем выдан" + } + , + {"code": "issuerCode", + "type": 2,"length": 255,"name": "Код выдавшего органа","shortname": "Выдавший орган","visible": false + } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","visible": false + } + , + {"code": "number", + "type": 2,"length": 255,"name": "Номер документа","shortname": "Номер" + } + , + {"code": "place", + "type": 2,"length": 255,"name": "Место","shortname": "Место","visible": false + } + , + {"code": "validFromDate", + "type": 6,"name": "Дата начала срока действия","shortname": "Начало","visible": false + } + , + {"code": "validToDate", + "type": 6,"name": "Дата окончания срока действия","shortname": "Окончание" + } + , + {"code": "link", + "type": 2,"length": 255,"name": "Ссылка на документ","shortname": "Ссылка на документ" + } + ] } , {"method":"delete", - - "name": "Удаление документа", - - "confirmation": "documentType,number,companyId", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Удаление документа", + + "confirmation": "documentType,number,companyId", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "profileDocument","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "profileDocument","linkCode": "id","required": true + } + ] } ] - } -, - "companySymbols": { - - "name": "Реквизиты компании", - - "destination": "company-symbols", - - "class": "ru.clearing.classes.statics.data.company.CompanySymbols", - - "logUpdates": "true", - - "table": "company_symbols", - - "fields": [ - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "companySymbol", - "type": 12,"dbname": "Код типа реквизита","name": "Наименование типа реквизита","shortname": "Тип реквизита","searchable": true,"sortable": true,"visible": true,"link": "companySymbol","linkCode": "shortName" - } - , - {"code": "companySymbolValue", - "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "companySymbols": { + + "name": "Реквизиты компании", + + "destination": "company-symbols", + + "class": "ru.clearing.classes.statics.data.company.CompanySymbols", + + "logUpdates": "true", + + "table": "company_symbols", + + "fields": [ + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "companySymbol", + "type": 12,"dbname": "Код типа реквизита","name": "Наименование типа реквизита","shortname": "Тип реквизита","searchable": true,"sortable": true,"visible": true,"link": "companySymbol","linkCode": "shortName" + } + , + {"code": "companySymbolValue", + "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление реквизита компании", - + + "name": "Добавление реквизита компании", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "companySymbol", - "type": 12,"name": "Наименование типа реквизита","shortname": "Тип реквизита","link": "companySymbol","required": true - } - , - {"code": "companySymbolValue", - "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение","required": true - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "companySymbol", + "type": 12,"name": "Наименование типа реквизита","shortname": "Тип реквизита","link": "companySymbol","required": true + } + , + {"code": "companySymbolValue", + "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение","required": true + } + ] } , {"method":"put", - - "name": "Изменение реквизита компании", - + + "name": "Изменение реквизита компании", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "companySymbols","linkCode": "id","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName" - } - , - {"code": "companySymbolValue", - "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "companySymbols","linkCode": "id","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName" + } + , + {"code": "companySymbolValue", + "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение" + } + ] } , {"method":"delete", - - "name": "Удаление реквизита компании", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Удаление реквизита компании", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "profileDocument","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "profileDocument","linkCode": "id","required": true + } + ] } ] - } -, - "companyRoleSet": { - - "name": "Таблица ролей компании", - - "destination": "company-role-sets", - - "class": "ru.clearing.classes.statics.data.company.CompanyRoleSet", - - "table": "company_role_set", - - "fields": [ - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "companyRole", - "type": 12,"dbname": "Код роли компании","name": "Наименование роли компании","shortname": "Роль","searchable": true,"sortable": true,"visible": true,"link": "companyRole" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "companyRoleSet": { + + "name": "Таблица ролей компании", + + "destination": "company-role-sets", + + "class": "ru.clearing.classes.statics.data.company.CompanyRoleSet", + + "table": "company_role_set", + + "fields": [ + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "companyRole", + "type": 12,"dbname": "Код роли компании","name": "Наименование роли компании","shortname": "Роль","searchable": true,"sortable": true,"visible": true,"link": "companyRole" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление роли компании", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.CompanyRoleSetNewAction", - + + "name": "Добавление роли компании", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.CompanyRoleSetNewAction", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "companyRole", - "type": 12,"name": "Наименование роли компании","shortname": "Роль","link": "companyRole","required": true - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "companyRole", + "type": 12,"name": "Наименование роли компании","shortname": "Роль","link": "companyRole","required": true + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"put", - - "name": "Изменение роли компании", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.CompanyRoleSetUpdateAction", - + + "name": "Изменение роли компании", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.CompanyRoleSetUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "companyRoleSet","linkCode": "id" - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "companyRole", - "type": 12,"name": "Наименование роли компании","shortname": "Роль","link": "companyRole","required": true - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "companyRoleSet","linkCode": "id" + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "companyRole", + "type": 12,"name": "Наименование роли компании","shortname": "Роль","link": "companyRole","required": true + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"delete", - - "name": "Удаление роли компании", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Удаление роли компании", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "settlementHouseProperties","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "settlementHouseProperties","linkCode": "id","required": true + } + ] } ] - } -, - "settlementHouseProperties": { - - "name": "Параметры расчетной организации", - - "destination": "settlement-house-properties", - - "class": "ru.clearing.classes.statics.data.company.SettlementHouseProperties", - - "logUpdates": "true", - - "table": "settlement_house_properties", - - "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "currencyCode", - "type": 12,"name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "settlementHouseProperties": { + + "name": "Параметры расчетной организации", + + "destination": "settlement-house-properties", + + "class": "ru.clearing.classes.statics.data.company.SettlementHouseProperties", + + "logUpdates": "true", + + "table": "settlement_house_properties", + + "fields": [ + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "currencyCode", + "type": 12,"name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление параметра РО", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.SettlementHousePropertiesNewAction", - + + "name": "Добавление параметра РО", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.SettlementHousePropertiesNewAction", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "currencyCode", - "type": 12,"name": "Код валюты","shortname": "Валюта","link": "currencyCode","linkCode": "code","required": true - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "currencyCode", + "type": 12,"name": "Код валюты","shortname": "Валюта","link": "currencyCode","linkCode": "code","required": true + } + ] } , {"method":"put", - - "name": "Изменение параметра РО", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.SettlementHousePropertiesUpdateAction", - + + "name": "Изменение параметра РО", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.SettlementHousePropertiesUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "settlementHouseProperties","linkCode": "id","required": true - } - , - {"code": "currencyCode", - "type": 12,"name": "Код валюты","shortname": "Валюта","link": "currencyCode","linkCode": "code","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "settlementHouseProperties","linkCode": "id","required": true + } + , + {"code": "currencyCode", + "type": 12,"name": "Код валюты","shortname": "Валюта","link": "currencyCode","linkCode": "code","required": true + } + ] } , {"method":"delete", - - "name": "Удаление параметра РО", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Удаление параметра РО", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "settlementHouseProperties","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "settlementHouseProperties","linkCode": "id","required": true + } + ] } ] - } -, - "security": { - - "name": "Инструменты", - - "destination": "securities", - - "class": "ru.clearing.classes.statics.data.security.Security", - - "logUpdates": "true", - - "table": "security", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "instrumentType", - "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType" - } - , - {"code": "issuerId", - "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus" - } - , - {"code": "uuid", - "type": 2,"length": 255,"name": "Идентификатор во внешней системе","shortname": "Внешний ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - - } -, - "currency": { - - "name": "Валюты", - - "destination": "currencies", - - "class": "ru.clearing.classes.statics.data.misc.Currency", - - "logUpdates": "true", - - "table": "currency", - - "fields": [ - {"code": "countryCode", - "type": 12,"dbname": "Код страны","name": "Наименование страны","shortname": "Страна","searchable": true,"sortable": true,"visible": true,"link": "countryCode","ignore": true - } - , - {"code": "currencyCode", - "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - - } -, - "moneyMarketSecurity": { - - "name": "Спецификации Денежного рынка", - - "destination": "securities/money-securities", - - "class": "ru.clearing.classes.statics.data.security.MoneyMarketSecurity", - - "logUpdates": "true", - - "table": "money_market_security", - - "fields": [ - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "description", - "type": 2,"length": 255,"name": "Описание","shortname": "Описание","searchable": true,"sortable": false,"ignore": true - } - , - {"code": "startDate", - "type": 6,"name": "Дата начала действия","shortname": "Дата начала","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "endDate", - "type": 6,"name": "Дата окончания действия","shortname": "Дата окончания","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "nominalValue", - "type": 10,"name": "Номинал","shortname": "Номинал","searchable": true,"sortable": true - } - , - {"code": "nominalCurrency", - "type": 12,"dbname": "Код валюты номинала","name": "Наименование валюты номинала","shortname": "Валюта номинала","searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "instrumentType", - "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType","extends": "security" - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "convention", - "type": 2,"length": 255,"name": "Нотация наименования инструмента","shortname": "Маска","visible": true - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "termType", - "type": 12,"dbname": "Код вида инструмента","name": "Наименование вида инструмента","shortname": "Вид инструмента","searchable": true,"sortable": true,"visible": false,"link": "termType" - } - , - {"code": "lotSize", - "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing" - } - , - {"code": "issuerId", - "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"link": "company","extends": "security","linkCode": "shortName" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "clearingOrganization", - "type": 2,"length": 255,"name": "Клиринговая организация","shortname": "Клиринговая организация","searchable": true,"sortable": true,"visible": true,"filterable": "true","filterValue": "АО СПВБ" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "security": { + + "name": "Инструменты", + + "destination": "securities", + + "class": "ru.clearing.classes.statics.data.security.Security", + + "logUpdates": "true", + + "table": "security", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "instrumentType", + "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType" + } + , + {"code": "issuerId", + "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus" + } + , + {"code": "uuid", + "type": 2,"length": 255,"name": "Идентификатор во внешней системе","shortname": "Внешний ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + + } + , + "currency": { + + "name": "Валюты", + + "destination": "currencies", + + "class": "ru.clearing.classes.statics.data.misc.Currency", + + "logUpdates": "true", + + "table": "currency", + + "fields": [ + {"code": "countryCode", + "type": 12,"dbname": "Код страны","name": "Наименование страны","shortname": "Страна","searchable": true,"sortable": true,"visible": true,"link": "countryCode","ignore": true + } + , + {"code": "currencyCode", + "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + + } + , + "moneyMarketSecurity": { + + "name": "Спецификации Денежного рынка", + + "destination": "securities/money-securities", + + "class": "ru.clearing.classes.statics.data.security.MoneyMarketSecurity", + + "logUpdates": "true", + + "table": "money_market_security", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "description", + "type": 2,"length": 255,"name": "Описание","shortname": "Описание","searchable": true,"sortable": false,"ignore": true + } + , + {"code": "startDate", + "type": 6,"name": "Дата начала действия","shortname": "Дата начала","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "endDate", + "type": 6,"name": "Дата окончания действия","shortname": "Дата окончания","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "nominalValue", + "type": 10,"name": "Номинал","shortname": "Номинал","searchable": true,"sortable": true + } + , + {"code": "nominalCurrency", + "type": 12,"dbname": "Код валюты номинала","name": "Наименование валюты номинала","shortname": "Валюта номинала","searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "instrumentType", + "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType","extends": "security" + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "convention", + "type": 2,"length": 255,"name": "Нотация наименования инструмента","shortname": "Маска","visible": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "termType", + "type": 12,"dbname": "Код вида инструмента","name": "Наименование вида инструмента","shortname": "Вид инструмента","searchable": true,"sortable": true,"visible": false,"link": "termType" + } + , + {"code": "lotSize", + "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing" + } + , + {"code": "issuerId", + "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"link": "company","extends": "security","linkCode": "shortName" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "clearingOrganization", + "type": 2,"length": 255,"name": "Клиринговая организация","shortname": "Клиринговая организация","searchable": true,"sortable": true,"visible": true,"filterable": "true","filterValue": "АО СПВБ" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление спецификации Денежного рынка", - - "confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityNewAction", - + + "name": "Добавление спецификации Денежного рынка", + + "confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityNewAction", + "fields": [ - {"code": "instrumentType", - "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","required": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" - } - , - {"code": "convention", - "type": 2,"length": 255,"name": "Нотация наименования инструмента","shortname": "Маска" - } - , - {"code": "lotSize", - "type": 11,"name": "Размер лота","shortname": "Лот","required": true - } - , - {"code": "nominalValue", - "type": 10,"name": "Номинал","shortname": "Номинал","required": true - } - , - {"code": "nominalCurrency", - "type": 12,"name": "Наименование валюты номинала","shortname": "Валюта номинала","link": "currencyCode","linkCode": "code","required": true - } - , - {"code": "startDate", - "type": 6,"name": "Дата начала действия","shortname": "Дата начала","visible": false - } - , - {"code": "endDate", - "type": 6,"name": "Дата окончания действия","shortname": "Дата окончания","visible": false - } - , - {"code": "termType", - "type": 12,"name": "Наименование вида инструмента","shortname": "Вид инструмента","link": "termType","required": true - } - , - {"code": "description", - "type": 2,"length": 255,"name": "Описание","shortname": "Описание","visible": false - } - , - {"code": "issuerId", - "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","required": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" + } + , + {"code": "convention", + "type": 2,"length": 255,"name": "Нотация наименования инструмента","shortname": "Маска" + } + , + {"code": "lotSize", + "type": 11,"name": "Размер лота","shortname": "Лот","required": true + } + , + {"code": "nominalValue", + "type": 10,"name": "Номинал","shortname": "Номинал","required": true + } + , + {"code": "nominalCurrency", + "type": 12,"name": "Наименование валюты номинала","shortname": "Валюта номинала","link": "currencyCode","linkCode": "code","required": true + } + , + {"code": "startDate", + "type": 6,"name": "Дата начала действия","shortname": "Дата начала","visible": false + } + , + {"code": "endDate", + "type": 6,"name": "Дата окончания действия","shortname": "Дата окончания","visible": false + } + , + {"code": "termType", + "type": 12,"name": "Наименование вида инструмента","shortname": "Вид инструмента","link": "termType","required": true + } + , + {"code": "description", + "type": 2,"length": 255,"name": "Описание","shortname": "Описание","visible": false + } + , + {"code": "issuerId", + "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"put", - - "name": "Изменение спецификации Денежного рынка", - - "confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityUpdateAction", - + + "name": "Изменение спецификации Денежного рынка", + + "confirmation": "securitySymbol,shortName,fullName,lotSize,nominalValue,nominalCurrency", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.MoneyMarketSecurityUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "moneyMarketSecurity","linkCode": "id","required": true - } - , - {"code": "instrumentType", - "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","enabled": false - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" - } - , - {"code": "convention", - "type": 2,"length": 255,"name": "Нотация наименования инструмента","shortname": "Маска" - } - , - {"code": "lotSize", - "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","required": true - } - , - {"code": "nominalValue", - "type": 10,"name": "Номинал","shortname": "Номинал" - } - , - {"code": "nominalCurrency", - "type": 12,"name": "Наименование валюты номинала","shortname": "Валюта номинала","link": "currencyCode","linkCode": "code" - } - , - {"code": "startDate", - "type": 6,"name": "Дата начала действия","shortname": "Дата начала","enabled": false,"visible": false - } - , - {"code": "endDate", - "type": 6,"name": "Дата окончания действия","shortname": "Дата окончания","visible": false - } - , - {"code": "termType", - "type": 12,"name": "Наименование вида инструмента","shortname": "Вид инструмента","link": "termType","required": true - } - , - {"code": "description", - "type": 2,"length": 255,"name": "Описание","shortname": "Описание","visible": false - } - , - {"code": "issuerId", - "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "moneyMarketSecurity","linkCode": "id","required": true + } + , + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","enabled": false + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" + } + , + {"code": "convention", + "type": 2,"length": 255,"name": "Нотация наименования инструмента","shortname": "Маска" + } + , + {"code": "lotSize", + "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","required": true + } + , + {"code": "nominalValue", + "type": 10,"name": "Номинал","shortname": "Номинал" + } + , + {"code": "nominalCurrency", + "type": 12,"name": "Наименование валюты номинала","shortname": "Валюта номинала","link": "currencyCode","linkCode": "code" + } + , + {"code": "startDate", + "type": 6,"name": "Дата начала действия","shortname": "Дата начала","enabled": false,"visible": false + } + , + {"code": "endDate", + "type": 6,"name": "Дата окончания действия","shortname": "Дата окончания","visible": false + } + , + {"code": "termType", + "type": 12,"name": "Наименование вида инструмента","shortname": "Вид инструмента","link": "termType","required": true + } + , + {"code": "description", + "type": 2,"length": 255,"name": "Описание","shortname": "Описание","visible": false + } + , + {"code": "issuerId", + "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"delete", - - "name": "Блокировка спецификации Денежного рынка", - - "confirmation": "securitySymbol,shortName", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка спецификации Денежного рынка", + + "confirmation": "securitySymbol,shortName", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "moneyMarketSecurity","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "moneyMarketSecurity","linkCode": "id","required": true + } + ] } ] - } -, - "tradedMoneyMarketSecurity": { - - "name": "Спецификации денежного рынка, учавствующие в сделках", - - "destination": "securities/traded-money-securities", - - "class": "ru.clearing.classes.statics.data.security.TradedMoneyMarketSecurity", - - "table": "traded_money_market_security", - - "fields": [ - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "securityCode", - "type": 2,"length": 255,"name": "Полный код инструмента со сроком","shortname": "Код инструмента","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - - } -, - "equitySecurity": { - - "name": "Акции", - - "destination": "securities/equity-securities", - - "class": "ru.clearing.classes.statics.data.instrument.issue.EquitySecurity", - - "logUpdates": "true", - - "table": "equity_security", - - "fields": [ - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "instrumentType", - "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType","extends": "security" - } - , - {"code": "shareType", - "type": 12,"dbname": "Код типа акции","name": "Наименование типа акции","shortname": "Тип акции","searchable": true,"sortable": true,"visible": true,"link": "shareType" - } - , - {"code": "lotSize", - "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing","ignore": true - } - , - {"code": "issuerId", - "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"link": "company","linkCode": "shortName","extends": "security" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "tradedMoneyMarketSecurity": { + + "name": "Спецификации денежного рынка, учавствующие в сделках", + + "destination": "securities/traded-money-securities", + + "class": "ru.clearing.classes.statics.data.security.TradedMoneyMarketSecurity", + + "table": "traded_money_market_security", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "securityCode", + "type": 2,"length": 255,"name": "Полный код инструмента со сроком","shortname": "Код инструмента","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + + } + , + "equitySecurity": { + + "name": "Акции", + + "destination": "securities/equity-securities", + + "class": "ru.clearing.classes.statics.data.instrument.issue.EquitySecurity", + + "logUpdates": "true", + + "table": "equity_security", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "instrumentType", + "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType","extends": "security" + } + , + {"code": "shareType", + "type": 12,"dbname": "Код типа акции","name": "Наименование типа акции","shortname": "Тип акции","searchable": true,"sortable": true,"visible": true,"link": "shareType" + } + , + {"code": "lotSize", + "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing","ignore": true + } + , + {"code": "issuerId", + "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"link": "company","linkCode": "shortName","extends": "security" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление акции", - - "confirmation": "securitySymbol,shortName,fullName,isin,shareType", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityNewAction", - + + "name": "Добавление акции", + + "confirmation": "securitySymbol,shortName,fullName,isin,shareType", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityNewAction", + "fields": [ - {"code": "instrumentType", - "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","required": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" - } - , - {"code": "shareType", - "type": 12,"dbname": "Код типа акции","name": "Наименование типа акции","shortname": "Тип акции","link": "shareType" - } - , - {"code": "lotSize", - "type": 11,"name": "Размер лота","shortname": "Лот","visible": false - } - , - {"code": "issuerId", - "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","required": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" + } + , + {"code": "shareType", + "type": 12,"dbname": "Код типа акции","name": "Наименование типа акции","shortname": "Тип акции","link": "shareType" + } + , + {"code": "lotSize", + "type": 11,"name": "Размер лота","shortname": "Лот","visible": false + } + , + {"code": "issuerId", + "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"put", - - "name": "Изменение акции", - - "confirmation": "securitySymbol,shortName,fullName,isin,shareType", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityUpdateAction", - + + "name": "Изменение акции", + + "confirmation": "securitySymbol,shortName,fullName,isin,shareType", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.EquitySecurityUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "equitySecurity","linkCode": "id","required": true - } - , - {"code": "instrumentType", - "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","enabled": false - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" - } - , - {"code": "shareType", - "type": 12,"dbname": "Код типа акции","name": "Наименование типа акции","shortname": "Тип акции","link": "shareType" - } - , - {"code": "lotSize", - "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","visible": false - } - , - {"code": "issuerId", - "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "equitySecurity","linkCode": "id","required": true + } + , + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","enabled": false + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" + } + , + {"code": "shareType", + "type": 12,"dbname": "Код типа акции","name": "Наименование типа акции","shortname": "Тип акции","link": "shareType" + } + , + {"code": "lotSize", + "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","visible": false + } + , + {"code": "issuerId", + "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"delete", - - "name": "Блокировка акции", - - "confirmation": "securitySymbol,shortName", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка акции", + + "confirmation": "securitySymbol,shortName", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "equitySecurity","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "equitySecurity","linkCode": "id","required": true + } + ] } ] - } -, - "fixedIncomeSecurity": { - - "name": "Облигации", - - "destination": "securities/fixed-income-securities", - - "class": "ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity", - - "logUpdates": "true", - - "table": "fixed_income_security", - - "fields": [ - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "instrumentType", - "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType","extends": "security" - } - , - {"code": "bondType", - "type": 12,"dbname": "Код типа облигации","name": "Наименование типа облигации","shortname": "Тип облигации","searchable": true,"sortable": true,"visible": true,"link": "bondType" - } - , - {"code": "maturityDate", - "type": 6,"name": "Дата погашения","shortname": "Погашение","searchable": true,"sortable": true - } - , - {"code": "nominalForDate", - "type": 10,"name": "Текущее значение номинала","shortname": "Текущий номинал","searchable": true,"sortable": true - } - , - {"code": "nominalValue", - "type": 10,"name": "Номинал инструмента","shortname": "Номинал","searchable": true,"sortable": true - } - , - {"code": "nominalCurrency", - "type": 12,"dbname": "Код валюты номинала","name": "Наименование валюты номинала","shortname": "Валюта номинала","searchable": true,"sortable": true,"link": "currencyCode" - } - , - {"code": "coupon", - "type": 10,"name": "Купон","shortname": "Купон","searchable": true,"sortable": true - } - , - {"code": "couponFrequency", - "type": 3,"name": "Длительность купона","shortname": "Длительность","searchable": true,"sortable": true - } - , - {"code": "lotSize", - "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing","ignore": true - } - , - {"code": "issuerId", - "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"link": "company","linkCode": "shortName","extends": "security" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "fixedIncomeSecurity": { + + "name": "Облигации", + + "destination": "securities/fixed-income-securities", + + "class": "ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity", + + "logUpdates": "true", + + "table": "fixed_income_security", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "instrumentType", + "type": 12,"dbname": "Код типа инструмента","name": "Наименование типа инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"visible": true,"link": "instrumentType","extends": "security" + } + , + {"code": "bondType", + "type": 12,"dbname": "Код типа облигации","name": "Наименование типа облигации","shortname": "Тип облигации","searchable": true,"sortable": true,"visible": true,"link": "bondType" + } + , + {"code": "maturityDate", + "type": 6,"name": "Дата погашения","shortname": "Погашение","searchable": true,"sortable": true + } + , + {"code": "nominalForDate", + "type": 10,"name": "Текущее значение номинала","shortname": "Текущий номинал","searchable": true,"sortable": true + } + , + {"code": "nominalValue", + "type": 10,"name": "Номинал инструмента","shortname": "Номинал","searchable": true,"sortable": true + } + , + {"code": "nominalCurrency", + "type": 12,"dbname": "Код валюты номинала","name": "Наименование валюты номинала","shortname": "Валюта номинала","searchable": true,"sortable": true,"link": "currencyCode" + } + , + {"code": "coupon", + "type": 10,"name": "Купон","shortname": "Купон","searchable": true,"sortable": true + } + , + {"code": "couponFrequency", + "type": 3,"name": "Длительность купона","shortname": "Длительность","searchable": true,"sortable": true + } + , + {"code": "lotSize", + "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing","ignore": true + } + , + {"code": "issuerId", + "type": 1,"dbname": "Идентификатор эмитента","name": "Наименование эмитента","shortname": "Эмитент","searchable": true,"sortable": true,"link": "company","linkCode": "shortName","extends": "security" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление облигации", - - "confirmation": "securitySymbol,shortName,fullName,isin,bondType,nominalValue,nominalCurrency", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityNewAction", - + + "name": "Добавление облигации", + + "confirmation": "securitySymbol,shortName,fullName,isin,bondType,nominalValue,nominalCurrency", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityNewAction", + "fields": [ - {"code": "instrumentType", - "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","required": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" - } - , - {"code": "bondType", - "type": 12,"dbname": "Код типа облигации","name": "Наименование типа облигации","shortname": "Тип облигации","link": "bondType" - } - , - {"code": "lotSize", - "type": 11,"name": "Размер лота","shortname": "Лот","visible": false - } - , - {"code": "nominalForDate", - "type": 10,"name": "Текущее значение номинала","shortname": "Текущий номинал" - } - , - {"code": "nominalValue", - "type": 10,"name": "Номинал инструмента","shortname": "Номинал" - } - , - {"code": "nominalCurrency", - "type": 12,"name": "Наименование валюты номинала","shortname": "Валюта номинала","link": "currencyCode","linkCode": "code" - } - , - {"code": "maturityDate", - "type": 6,"name": "Дата погашения","shortname": "Погашение" - } - , - {"code": "coupon", - "type": 10,"name": "Купон","shortname": "Купон" - } - , - {"code": "couponFrequency", - "type": 3,"name": "Длительность купона","shortname": "Длительность" - } - , - {"code": "issuerId", - "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","required": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" + } + , + {"code": "bondType", + "type": 12,"dbname": "Код типа облигации","name": "Наименование типа облигации","shortname": "Тип облигации","link": "bondType" + } + , + {"code": "lotSize", + "type": 11,"name": "Размер лота","shortname": "Лот","visible": false + } + , + {"code": "nominalForDate", + "type": 10,"name": "Текущее значение номинала","shortname": "Текущий номинал" + } + , + {"code": "nominalValue", + "type": 10,"name": "Номинал инструмента","shortname": "Номинал" + } + , + {"code": "nominalCurrency", + "type": 12,"name": "Наименование валюты номинала","shortname": "Валюта номинала","link": "currencyCode","linkCode": "code" + } + , + {"code": "maturityDate", + "type": 6,"name": "Дата погашения","shortname": "Погашение" + } + , + {"code": "coupon", + "type": 10,"name": "Купон","shortname": "Купон" + } + , + {"code": "couponFrequency", + "type": 3,"name": "Длительность купона","shortname": "Длительность" + } + , + {"code": "issuerId", + "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"put", - - "name": "Изменение облигации", - - "confirmation": "securitySymbol,shortName,fullName,isin,bondType,nominalValue,nominalCurrency", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityUpdateAction", - + + "name": "Изменение облигации", + + "confirmation": "securitySymbol,shortName,fullName,isin,bondType,nominalValue,nominalCurrency", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.FixedIncomeSecurityUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "fixedIncomeSecurity","linkCode": "id","required": true - } - , - {"code": "instrumentType", - "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","enabled": false - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" - } - , - {"code": "isin", - "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" - } - , - {"code": "bondType", - "type": 12,"dbname": "Код типа облигации","name": "Наименование типа облигации","shortname": "Тип облигации","link": "bondType" - } - , - {"code": "lotSize", - "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","visible": false - } - , - {"code": "nominalForDate", - "type": 10,"name": "Текущее значение номинала","shortname": "Текущий номинал" - } - , - {"code": "nominalValue", - "type": 10,"name": "Номинал инструмента","shortname": "Номинал" - } - , - {"code": "nominalCurrency", - "type": 12,"name": "Наименование валюты номинала","shortname": "Валюта номинала","link": "currencyCode","linkCode": "code" - } - , - {"code": "maturityDate", - "type": 6,"name": "Дата погашения","shortname": "Погашение" - } - , - {"code": "coupon", - "type": 10,"name": "Купон","shortname": "Купон" - } - , - {"code": "couponFrequency", - "type": 3,"name": "Длительность купона","shortname": "Длительность" - } - , - {"code": "issuerId", - "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" - } - , - {"code": "shortNameEng", - "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" - } - , - {"code": "fullNameEng", - "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "fixedIncomeSecurity","linkCode": "id","required": true + } + , + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","enabled": false + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование" + } + , + {"code": "isin", + "type": 2,"length": 50,"name": "Наименование инструмента ISIN","shortname": "ISIN" + } + , + {"code": "bondType", + "type": 12,"dbname": "Код типа облигации","name": "Наименование типа облигации","shortname": "Тип облигации","link": "bondType" + } + , + {"code": "lotSize", + "field": "securityId","type": 11,"name": "Размер лота","shortname": "Лот","linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","visible": false + } + , + {"code": "nominalForDate", + "type": 10,"name": "Текущее значение номинала","shortname": "Текущий номинал" + } + , + {"code": "nominalValue", + "type": 10,"name": "Номинал инструмента","shortname": "Номинал" + } + , + {"code": "nominalCurrency", + "type": 12,"name": "Наименование валюты номинала","shortname": "Валюта номинала","link": "currencyCode","linkCode": "code" + } + , + {"code": "maturityDate", + "type": 6,"name": "Дата погашения","shortname": "Погашение" + } + , + {"code": "coupon", + "type": 10,"name": "Купон","shortname": "Купон" + } + , + {"code": "couponFrequency", + "type": 3,"name": "Длительность купона","shortname": "Длительность" + } + , + {"code": "issuerId", + "type": 1,"name": "Наименование эмитента","shortname": "Эмитент","link": "company","linkCode": "shortName" + } + , + {"code": "shortNameEng", + "type": 2,"length": 255,"name": "Краткое наименование инструмента на английском","shortname": "Краткое название на английском" + } + , + {"code": "fullNameEng", + "type": 2,"length": 255,"name": "Полное наименование инструмента на английском","shortname": "Наименование на английском" + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"delete", - - "name": "Блокировка облигации", - - "confirmation": "securitySymbol,shortName", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка облигации", + + "confirmation": "securitySymbol,shortName", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "fixedIncomeSecurity","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "fixedIncomeSecurity","linkCode": "id","required": true + } + ] } ] - } -, - "fixedIncomeCashFlow": { - - "name": "Выплаты по купонам", - - "destination": "securities/fixed-income-cash-flows", - - "class": "ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow", - - "logUpdates": "true", - - "table": "fixed_income_cash_flow", - - "fields": [ - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "accruedCoupon", - "type": 11,"name": "Купон","shortname": "Купон","searchable": true,"sortable": true,"visible": true - } - , - {"code": "nominalValue", - "type": 10,"name": "Номинал","shortname": "Номинал","searchable": true,"sortable": true - } - , - {"code": "number", - "type": 3,"name": "Номер купона","shortname": "Номер","searchable": true,"sortable": true,"visible": true - } - , - {"code": "valueDate", - "type": 6,"name": "Дата выплаты купона","shortname": "Выплата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - - } -, - "couponPeriod": { - - "name": "Купонное расписание", - - "destination": "securities/coupon-periods", - - "class": "ru.clearing.classes.statics.data.instrument.issue.CouponPeriod", - - "logUpdates": "true", - - "table": "coupon_period", - - "fields": [ - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "couponRate", - "type": 11,"name": "Купонная ставка","shortname": "Ставка","searchable": true,"sortable": true,"visible": true - } - , - {"code": "number", - "type": 3,"name": "Номер купона","shortname": "Номер","searchable": true,"sortable": true,"visible": true - } - , - {"code": "periodStartDate", - "type": 6,"name": "Начало периода действия","shortname": "Начало","searchable": true,"sortable": true,"visible": true - } - , - {"code": "periodEndDate", - "type": 6,"name": "Окончание периода действия","shortname": "Окончание","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - - } -, - "listing": { - - "name": "Инструменты на режимах", - - "destination": "listings", - - "class": "ru.clearing.classes.statics.data.misc.Listing", - - "logUpdates": "true", - - "table": "listing", - - "fields": [ - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"visible": true,"link": "security","linkCode": "shortName" - } - , - {"code": "market", - "type": 12,"dbname": "Код торговой секции","name": "Наименование режима","shortname": "Режим","searchable": true,"sortable": true,"visible": true,"link": "market","linkKeyCode": "code","linkCode": "description" - } - , - {"code": "lotSize", - "type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true - } - , - {"code": "symbolCode", - "type": 2,"length": 255,"name": "Код инструмента на торговой площадке","shortname": "Код инструмента на режиме","searchable": true,"sortable": true - } - , - {"code": "symbolName", - "type": 2,"length": 255,"name": "Наименование инструмента на торговой площадке","shortname": "Наименование инструмента на режиме","searchable": true,"sortable": true - } - , - {"code": "tradingCurrency", - "type": 12,"dbname": "Код валюты расчета","name": "Наименование валюты расчета","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса листинга в системе","name": "Наименование статуса листинга в системе","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus" - } - , - {"code": "minStep", - "type": 11,"name": "Шаг цены","shortname": "Шаг цены","visible": true,"searchable": true,"sortable": true - } - , - {"code": "precision", - "type": 11,"name": "Точность","shortname": "Точность","visible": true,"searchable": true,"sortable": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - ,"actions":[ + } + , + "fixedIncomeCashFlow": { + + "name": "Выплаты по купонам", + + "destination": "securities/fixed-income-cash-flows", + + "class": "ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow", + + "logUpdates": "true", + + "table": "fixed_income_cash_flow", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "accruedCoupon", + "type": 11,"name": "Купон","shortname": "Купон","searchable": true,"sortable": true,"visible": true + } + , + {"code": "nominalValue", + "type": 10,"name": "Номинал","shortname": "Номинал","searchable": true,"sortable": true + } + , + {"code": "number", + "type": 3,"name": "Номер купона","shortname": "Номер","searchable": true,"sortable": true,"visible": true + } + , + {"code": "valueDate", + "type": 6,"name": "Дата выплаты купона","shortname": "Выплата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + + } + , + "couponPeriod": { + + "name": "Купонное расписание", + + "destination": "securities/coupon-periods", + + "class": "ru.clearing.classes.statics.data.instrument.issue.CouponPeriod", + + "logUpdates": "true", + + "table": "coupon_period", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "couponRate", + "type": 11,"name": "Купонная ставка","shortname": "Ставка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "number", + "type": 3,"name": "Номер купона","shortname": "Номер","searchable": true,"sortable": true,"visible": true + } + , + {"code": "periodStartDate", + "type": 6,"name": "Начало периода действия","shortname": "Начало","searchable": true,"sortable": true,"visible": true + } + , + {"code": "periodEndDate", + "type": 6,"name": "Окончание периода действия","shortname": "Окончание","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + + } + , + "listing": { + + "name": "Инструменты на режимах", + + "destination": "listings", + + "class": "ru.clearing.classes.statics.data.misc.Listing", + + "logUpdates": "true", + + "table": "listing", + + "fields": [ + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"visible": true,"link": "security","linkCode": "shortName" + } + , + {"code": "market", + "type": 12,"dbname": "Код торговой секции","name": "Наименование режима","shortname": "Режим","searchable": true,"sortable": true,"visible": true,"link": "market","linkKeyCode": "code","linkCode": "description" + } + , + {"code": "lotSize", + "type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true + } + , + {"code": "symbolCode", + "type": 2,"length": 255,"name": "Код инструмента на торговой площадке","shortname": "Код инструмента на режиме","searchable": true,"sortable": true + } + , + {"code": "symbolName", + "type": 2,"length": 255,"name": "Наименование инструмента на торговой площадке","shortname": "Наименование инструмента на режиме","searchable": true,"sortable": true + } + , + {"code": "tradingCurrency", + "type": 12,"dbname": "Код валюты расчета","name": "Наименование валюты расчета","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса листинга в системе","name": "Наименование статуса листинга в системе","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus" + } + , + {"code": "minStep", + "type": 11,"name": "Шаг цены","shortname": "Шаг цены","visible": true,"searchable": true,"sortable": true + } + , + {"code": "precision", + "type": 11,"name": "Точность","shortname": "Точность","visible": true,"searchable": true,"sortable": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление инструмента на режимах", - - "confirmation": "securityId,market,lotSize,tradingCurrency,workflowStatus", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.ListingNewAction", - + + "name": "Добавление инструмента на режимах", + + "confirmation": "securityId,market,lotSize,tradingCurrency,workflowStatus", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.ListingNewAction", + "fields": [ - {"code": "securityId", - "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","required": true - } - , - {"code": "market", - "type": 12,"name": "Наименование режима","shortname": "Режим","link": "market","linkKeyCode": "code","linkCode": "description","required": true - } - , - {"code": "lotSize", - "type": 11,"name": "Размер лота","shortname": "Лот","required": true - } - , - {"code": "tradingCurrency", - "type": 12,"name": "Наименование валюты расчета","shortname": "Валюта","link": "currencyCode","linkCode": "code","required": true - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса листинга в системе","shortname": "Статус","link": "workflowStatus","required": true - } - ] + {"code": "securityId", + "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","required": true + } + , + {"code": "market", + "type": 12,"name": "Наименование режима","shortname": "Режим","link": "market","linkKeyCode": "code","linkCode": "description","required": true + } + , + {"code": "lotSize", + "type": 11,"name": "Размер лота","shortname": "Лот","required": true + } + , + {"code": "tradingCurrency", + "type": 12,"name": "Наименование валюты расчета","shortname": "Валюта","link": "currencyCode","linkCode": "code","required": true + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса листинга в системе","shortname": "Статус","link": "workflowStatus","required": true + } + ] } , {"method":"put", - - "name": "Изменение инструмента на режимах", - - "confirmation": "securityId,market,lotSize,tradingCurrency,workflowStatus", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.ListingUpdateAction", - + + "name": "Изменение инструмента на режимах", + + "confirmation": "securityId,market,lotSize,tradingCurrency,workflowStatus", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.company.ListingUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "listing","linkCode": "id","required": true - } - , - {"code": "securityId", - "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","required": true,"enabled": false - } - , - {"code": "market", - "type": 12,"name": "Наименование режима","shortname": "Режим","link": "market","linkKeyCode": "code","linkCode": "description","required": true - } - , - {"code": "lotSize", - "type": 11,"name": "Размер лота","shortname": "Лот","required": true - } - , - {"code": "tradingCurrency", - "type": 12,"name": "Наименование валюты расчета","shortname": "Валюта","link": "currencyCode","linkCode": "code","required": true - } - , - {"code": "workflowStatus", - "type": 12,"name": "Наименование статуса листинга в системе","shortname": "Статус","link": "workflowStatus","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "listing","linkCode": "id","required": true + } + , + {"code": "securityId", + "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","required": true,"enabled": false + } + , + {"code": "market", + "type": 12,"name": "Наименование режима","shortname": "Режим","link": "market","linkKeyCode": "code","linkCode": "description","required": true + } + , + {"code": "lotSize", + "type": 11,"name": "Размер лота","shortname": "Лот","required": true + } + , + {"code": "tradingCurrency", + "type": 12,"name": "Наименование валюты расчета","shortname": "Валюта","link": "currencyCode","linkCode": "code","required": true + } + , + {"code": "workflowStatus", + "type": 12,"name": "Наименование статуса листинга в системе","shortname": "Статус","link": "workflowStatus","required": true + } + ] } , {"method":"delete", - - "name": "Блокировка инструмента на режимах", - - "confirmation": "securityId,market", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка инструмента на режимах", + + "confirmation": "securityId,market", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "listing","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "listing","linkCode": "id","required": true + } + ] } ] - } -, - "currencyPairSecurity": { - - "name": "Инструменты валютного рынка", - - "destination": "securities/currency-pair-securities", - - "class": "ru.clearing.classes.statics.data.security.CurrencyPairSecurity", - - "logUpdates": "true", - - "table": "currency_pair_security", - - "fields": [ - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "currencyPairId", - "type": 1,"dbname": "Валютная пара","name": "Валютная пара","shortname": "Инструмент","searchable": true,"sortable": true,"ignore": true,"link": "currencyPair","linkKeyCode": "id","linkCode": "code" - } - , - {"code": "baseUnitSize", - "type": 11,"name": "Количество валюты лота","shortname": "Количество","visible": true,"searchable": true,"sortable": true - } - , - {"code": "code", - "type": 2,"length": 255,"name": "Наименование валютной пары","shortname": "Валютная пара","searchable": true,"sortable": true,"visible": false,"link": "currencyPair","linkKeyCode": "id","linkCode": "name" - } - , - {"code": "settlementType", - "type": 12,"dbname": "Тип расчета","name": "Тип расчета","shortname": "Тип расчета","searchable": true,"sortable": true,"visible": true,"link": "currencySettlementType","linkCode": "code" - } - , - {"code": "clearingOrganization", - "type": 2,"length": 255,"name": "Наименование клиринговой организации","shortname": "Клиринговая организация","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityId", - "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "currencyPairSecurity": { + + "name": "Инструменты валютного рынка", + + "destination": "securities/currency-pair-securities", + + "class": "ru.clearing.classes.statics.data.security.CurrencyPairSecurity", + + "logUpdates": "true", + + "table": "currency_pair_security", + + "fields": [ + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "currencyPairId", + "type": 1,"dbname": "Валютная пара","name": "Валютная пара","shortname": "Инструмент","searchable": true,"sortable": true,"ignore": true,"link": "currencyPair","linkKeyCode": "id","linkCode": "code" + } + , + {"code": "baseUnitSize", + "type": 11,"name": "Количество валюты лота","shortname": "Количество","visible": true,"searchable": true,"sortable": true + } + , + {"code": "code", + "type": 2,"length": 255,"name": "Наименование валютной пары","shortname": "Валютная пара","searchable": true,"sortable": true,"visible": false,"link": "currencyPair","linkKeyCode": "id","linkCode": "name" + } + , + {"code": "settlementType", + "type": 12,"dbname": "Тип расчета","name": "Тип расчета","shortname": "Тип расчета","searchable": true,"sortable": true,"visible": true,"link": "currencySettlementType","linkCode": "code" + } + , + {"code": "clearingOrganization", + "type": 2,"length": 255,"name": "Наименование клиринговой организации","shortname": "Клиринговая организация","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityId", + "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","searchable": true,"sortable": true,"visible": true,"extends": "security" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus","extends": "security" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление валютной пары", - - "confirmation": "securitySymbol,shortName,fullName,section,lotCurrencyCode,counterPartyLotCurrencyCode,lots,price,accuracy,amountLotsCurrency,settlementDate,workflowStatus", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.CurrencyPairSecurityNewAction", - + + "name": "Добавление валютной пары", + + "confirmation": "securitySymbol,shortName,fullName,section,lotCurrencyCode,counterPartyLotCurrencyCode,lots,price,accuracy,amountLotsCurrency,settlementDate,workflowStatus", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.CurrencyPairSecurityNewAction", + "fields": [ - {"code": "instrumentType", - "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Инструмент","required": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","required": true - } - , - {"code": "currencyPairId", - "type": 1,"dbname": "Идентификатор валютной пары","name": "Валютная пара","shortname": "Валютная пара","link": "currencyPair","linkKeyCode": "id","linkCode": "code","required": true - } - , - {"code": "baseUnitSize", - "type": 11,"name": "Количество валюты в лоте","shortname": "Количество валюты в лоте","required": true - } - , - {"code": "settlementType", - "type": 12,"dbname": "Тип расчета","name": "Тип расчета","shortname": "Тип расчета","link": "currencySettlementType","required": true,"linkCode": "code" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","link": "workflowStatus","extends": "security","required": true - } - , - {"code": "clearingOrganization", - "type": 2,"length": 255,"name": "Наименование клиринговой организации","shortname": "Клиринговая организация","required": true,"enabled": false - } - ] + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Инструмент","required": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","required": true + } + , + {"code": "currencyPairId", + "type": 1,"dbname": "Идентификатор валютной пары","name": "Валютная пара","shortname": "Валютная пара","link": "currencyPair","linkKeyCode": "id","linkCode": "code","required": true + } + , + {"code": "baseUnitSize", + "type": 11,"name": "Количество валюты в лоте","shortname": "Количество валюты в лоте","required": true + } + , + {"code": "settlementType", + "type": 12,"dbname": "Тип расчета","name": "Тип расчета","shortname": "Тип расчета","link": "currencySettlementType","required": true,"linkCode": "code" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","link": "workflowStatus","extends": "security","required": true + } + , + {"code": "clearingOrganization", + "type": 2,"length": 255,"name": "Наименование клиринговой организации","shortname": "Клиринговая организация","required": true,"enabled": false + } + ] } , {"method":"put", - - "name": "Изменение валютной пары", - - "confirmation": "securitySymbol,shortName,fullName,section,lotCurrencyCode,counterPartyLotCurrencyCode,lots,price,accuracy,amountLotsCurrency,settlementDate,workflowStatus", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.CurrencyPairSecurityUpdateAction", - + + "name": "Изменение валютной пары", + + "confirmation": "securitySymbol,shortName,fullName,section,lotCurrencyCode,counterPartyLotCurrencyCode,lots,price,accuracy,amountLotsCurrency,settlementDate,workflowStatus", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.securities.CurrencyPairSecurityUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "currencySecurity","linkCode": "id","required": true - } - , - {"code": "instrumentType", - "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Инструмент","required": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","required": true - } - , - {"code": "currencyPairId", - "type": 1,"dbname": "Идентификатор валютной пары","name": "Валютная пара","shortname": "Валютная пара","link": "currencyPair","linkKeyCode": "id","linkCode": "code","required": true - } - , - {"code": "baseUnitSize", - "type": 11,"name": "Количество валюты в лоте","shortname": "Количество валюты в лоте","required": true - } - , - {"code": "settlementType", - "dbname": "Тип расчета","name": "Тип расчета","shortname": "Тип расчета","link": "currencySettlementType","required": true,"linkCode": "code" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","link": "workflowStatus","extends": "security","required": true - } - , - {"code": "clearingOrganization", - "type": 2,"length": 255,"name": "Наименование клиринговой организации","shortname": "Клиринговая организация","required": true,"enabled": false - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "currencySecurity","linkCode": "id","required": true + } + , + {"code": "instrumentType", + "type": 12,"name": "Наименование типа инструмента","shortname": "Тип инструмента","link": "instrumentType","required": true,"enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Инструмент","required": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Краткое наименование","required": true + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Наименование","required": true + } + , + {"code": "currencyPairId", + "type": 1,"dbname": "Идентификатор валютной пары","name": "Валютная пара","shortname": "Валютная пара","link": "currencyPair","linkKeyCode": "id","linkCode": "code","required": true + } + , + {"code": "baseUnitSize", + "type": 11,"name": "Количество валюты в лоте","shortname": "Количество валюты в лоте","required": true + } + , + {"code": "settlementType", + "dbname": "Тип расчета","name": "Тип расчета","shortname": "Тип расчета","link": "currencySettlementType","required": true,"linkCode": "code" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","link": "workflowStatus","extends": "security","required": true + } + , + {"code": "clearingOrganization", + "type": 2,"length": 255,"name": "Наименование клиринговой организации","shortname": "Клиринговая организация","required": true,"enabled": false + } + ] } , {"method":"delete", - - "name": "Блокировка валютной пары", - - "confirmation": "securitySymbol,shortName", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка валютной пары", + + "confirmation": "securitySymbol,shortName", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "currencySecurity","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "currencySecurity","linkCode": "id","required": true + } + ] } ] - } -, - "market": { - - "name": "Рынки", - - "destination": "markets", - - "class": "ru.clearing.classes.statics.data.misc.Market", - - "logUpdates": "true", - - "table": "market", - - "fields": [ - {"code": "description", - "type": 2,"length": 255,"name": "Описание","shortname": "Описание","searchable": true,"sortable": true - } - , - {"code": "exchangeId", - "type": 1,"dbname": "Идентификатор площадки","name": "Наименование площадки","shortname": "Площадка","searchable": true,"sortable": true,"link": "company" - } - , - {"code": "name", - "type": 2,"length": 255,"name": "Наименование рынка","shortname": "Рынок","searchable": true,"sortable": true - } - , - {"code": "code", - "type": 2,"length": 10,"name": "Код рынка","shortname": "Код","searchable": true,"sortable": true - } - , - {"code": "settlementCurrency", - "type": 12,"dbname": "Код валюты расчета","name": "Наименование валюты расчета","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "section", - "type": 12,"dbname": "Код секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" - } - , - {"code": "marketType", - "type": 12,"dbname": "Тип торгов на рынке","name": "Тип торгов на рынке","shortname": "Тип торгов на рынке","searchable": true,"sortable": true,"visible": true,"link": "marketType" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "errorText": { - - "name": "Полные тексты ошибок", - - "destination": "error-texts", - - "class": "ru.clearing.classes.statics.data.messages.ErrorText", - - "table": "error_text", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "errorCodeId", - "type": 1,"dbname": "Идентификатор кода ошибки","name": "Код ошибки","shortname": "Код","searchable": true,"sortable": true,"visible": true,"link": "errorCode" - } - , - {"code": "text", - "type": 2,"length": 255,"name": "Полный текст ошибки","shortname": "Ошибка","searchable": true,"sortable": true,"visible": true - } - , - {"code": "userId", - "type": 1,"dbname": "Идентификатор автора сообщения","name": "Автор сообщения","shortname": "Сотрудник","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier","ignore": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Текущая дата","shortname": "Дата","visible": false,"searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "clientCode": { - - "name": "Коды клиентов компании", - - "destination": "client-codes", - - "class": "ru.clearing.classes.statics.data.account.ClientCode", - - "logUpdates": "true", - - "table": "client_code", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "code", - "type": 2,"length": 255,"name": "Код клиента","shortname": "Код клиента","searchable": true,"sortable": true,"visible": true - } - , - {"code": "tradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code" - } - , - {"code": "moneyAccountId", - "type": 1,"dbname": "Идентификатор денежного счета","name": "Номер денежного счета","shortname": "Денежный счет","searchable": true,"sortable": true,"link": "account","linkCode": "account" - } - , - {"code": "depoAccountId", - "type": 1,"dbname": "Идентификатор депозитарного счета","name": "Номер депозитарного счета","shortname": "Депозитарный счет","searchable": true,"sortable": true,"link": "account","linkCode": "account" - } - , - {"code": "currencyAccountId", - "type": 1,"dbname": "Идентификатор валютного счета","name": "Номер валютного счета","shortname": "Валютный счет","searchable": true,"sortable": true,"link": "account","linkCode": "account" - } - , - {"code": "status", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus" - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "market": { + + "name": "Рынки", + + "destination": "markets", + + "class": "ru.clearing.classes.statics.data.misc.Market", + + "logUpdates": "true", + + "table": "market", + + "fields": [ + {"code": "description", + "type": 2,"length": 255,"name": "Описание","shortname": "Описание","searchable": true,"sortable": true + } + , + {"code": "exchangeId", + "type": 1,"dbname": "Идентификатор площадки","name": "Наименование площадки","shortname": "Площадка","searchable": true,"sortable": true,"link": "company" + } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование рынка","shortname": "Рынок","searchable": true,"sortable": true + } + , + {"code": "code", + "type": 2,"length": 10,"name": "Код рынка","shortname": "Код","searchable": true,"sortable": true + } + , + {"code": "settlementCurrency", + "type": 12,"dbname": "Код валюты расчета","name": "Наименование валюты расчета","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "section", + "type": 12,"dbname": "Код секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" + } + , + {"code": "marketType", + "type": 12,"dbname": "Тип торгов на рынке","name": "Тип торгов на рынке","shortname": "Тип торгов на рынке","searchable": true,"sortable": true,"visible": true,"link": "marketType" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "errorText": { + + "name": "Полные тексты ошибок", + + "destination": "error-texts", + + "class": "ru.clearing.classes.statics.data.messages.ErrorText", + + "table": "error_text", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "errorCodeId", + "type": 1,"dbname": "Идентификатор кода ошибки","name": "Код ошибки","shortname": "Код","searchable": true,"sortable": true,"visible": true,"link": "errorCode" + } + , + {"code": "text", + "type": 2,"length": 255,"name": "Полный текст ошибки","shortname": "Ошибка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "userId", + "type": 1,"dbname": "Идентификатор автора сообщения","name": "Автор сообщения","shortname": "Сотрудник","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier","ignore": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Текущая дата","shortname": "Дата","visible": false,"searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "clientCode": { + + "name": "Коды клиентов компании", + + "destination": "client-codes", + + "class": "ru.clearing.classes.statics.data.account.ClientCode", + + "logUpdates": "true", + + "table": "client_code", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "code", + "type": 2,"length": 255,"name": "Код клиента","shortname": "Код клиента","searchable": true,"sortable": true,"visible": true + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code" + } + , + {"code": "moneyAccountId", + "type": 1,"dbname": "Идентификатор денежного счета","name": "Номер денежного счета","shortname": "Денежный счет","searchable": true,"sortable": true,"link": "account","linkCode": "account" + } + , + {"code": "depoAccountId", + "type": 1,"dbname": "Идентификатор депозитарного счета","name": "Номер депозитарного счета","shortname": "Депозитарный счет","searchable": true,"sortable": true,"link": "account","linkCode": "account" + } + , + {"code": "currencyAccountId", + "type": 1,"dbname": "Идентификатор валютного счета","name": "Номер валютного счета","shortname": "Валютный счет","searchable": true,"sortable": true,"link": "account","linkCode": "account" + } + , + {"code": "status", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "workflowStatus" + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление кода клиента", - - "confirmation": "companyId,code,tradingClearingRegistryId,moneyAccountId,depoAccountId,status", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeNewAction", - + + "name": "Добавление кода клиента", + + "confirmation": "companyId,code,tradingClearingRegistryId,moneyAccountId,depoAccountId,status", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeNewAction", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true,"enabled": false - } - , - {"code": "code", - "type": 2,"length": 255,"name": "Код клиента","shortname": "Код клиента","required": true - } - , - {"code": "tradingClearingRegistryId", - "type": 1,"name": "Торгово-клиринговый регистр","shortname": "ТКР","link": "tradingClearingRegistry","linkCode": "code" - } - , - {"code": "moneyAccountId", - "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account" - } - , - {"code": "depoAccountId", - "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" - } - , - {"code": "currencyAccountList", - "type": 7,"name": "Список валютных счетов","shortname": "Список валютных счетов","link": "account","linkCode": "account" - } - , - {"code": "status", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true,"enabled": false + } + , + {"code": "code", + "type": 2,"length": 255,"name": "Код клиента","shortname": "Код клиента","required": true + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"name": "Торгово-клиринговый регистр","shortname": "ТКР","link": "tradingClearingRegistry","linkCode": "code" + } + , + {"code": "moneyAccountId", + "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account" + } + , + {"code": "depoAccountId", + "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" + } + , + {"code": "currencyAccountList", + "type": 7,"name": "Список валютных счетов","shortname": "Список валютных счетов","link": "account","linkCode": "account" + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"put", - - "name": "Изменение кода клиента", - - "confirmation": "companyId,code,tradingClearingRegistryId,moneyAccountId,depoAccountId,status", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeUpdateAction", - + + "name": "Изменение кода клиента", + + "confirmation": "companyId,code,tradingClearingRegistryId,moneyAccountId,depoAccountId,status", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","enabled": false - } - , - {"code": "code", - "type": 2,"length": 255,"name": "Код клиента","shortname": "Код клиента" - } - , - {"code": "tradingClearingRegistryId", - "type": 1,"name": "Торгово-клиринговый регистр","shortname": "ТКР","link": "tradingClearingRegistry","linkCode": "code" - } - , - {"code": "moneyAccountId", - "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account" - } - , - {"code": "depoAccountId", - "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" - } - , - {"code": "currencyAccountList", - "type": 7,"name": "Список валютных счетов","shortname": "Список валютных счетов","link": "account","linkCode": "account" - } - , - {"code": "status", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","enabled": false + } + , + {"code": "code", + "type": 2,"length": 255,"name": "Код клиента","shortname": "Код клиента" + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"name": "Торгово-клиринговый регистр","shortname": "ТКР","link": "tradingClearingRegistry","linkCode": "code" + } + , + {"code": "moneyAccountId", + "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account" + } + , + {"code": "depoAccountId", + "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" + } + , + {"code": "currencyAccountList", + "type": 7,"name": "Список валютных счетов","shortname": "Список валютных счетов","link": "account","linkCode": "account" + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] } , {"method":"delete", - - "name": "Блокировка кода клиента", - - "confirmation": "companyId,code", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка кода клиента", + + "confirmation": "companyId,code", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true + } + ] } ] - } -, - "tradingClearingRegistry": { - - "name": "Торгово-клиринговый регистр", - - "destination": "trading-clearing-registries", - - "class": "ru.clearing.classes.statics.data.registry.TradingClearingRegistry", - - "logUpdates": "true", - - "table": "trading_clearing_registry", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "code", - "type": 2,"length": 255,"name": "Код торгово-клирингового регистра","shortname": "ТКР","searchable": true,"sortable": true,"visible": true - } - , - {"code": "moneyAccountId", - "type": 1,"dbname": "Идентификатор денежного счета","name": "Номер денежного счета","shortname": "Денежный счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" - } - , - {"code": "depoAccountId", - "type": 1,"dbname": "Идентификатор депозитарного счета","name": "Номер депозитарного счета","shortname": "Депозитарный счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" - } - , - {"code": "tradingClearingRegistryType", - "type": 12,"dbname": "Код торгово-клирингового регистра","name": "Тип торгово-клирингового регистра","shortname": "Тип ТКР","searchable": true,"sortable": true,"link": "tradingClearingRegistryType" - } - , - {"code": "tradingClearingRegistryLevel", - "type": 12,"dbname": "Код торгово-клирингового регистра","name": "Уровень торгово-клирингового регистра","shortname": "Уровень ТКР","searchable": true,"sortable": true,"link": "tradingClearingRegistryLevel","ignore": true - } - , - {"code": "tradingClearingRegistryPurpose", - "type": 12,"dbname": "Код области применения","name": "Область применения","shortname": "Область","searchable": true,"sortable": true,"link": "tradingClearingRegistryPurpose" - } - , - {"code": "status", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "serviceStatus" - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - ,"actions":[ + } + , + "tradingClearingRegistry": { + + "name": "Торгово-клиринговый регистр", + + "destination": "trading-clearing-registries", + + "class": "ru.clearing.classes.statics.data.registry.TradingClearingRegistry", + + "logUpdates": "true", + + "table": "trading_clearing_registry", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "code", + "type": 2,"length": 255,"name": "Код торгово-клирингового регистра","shortname": "ТКР","searchable": true,"sortable": true,"visible": true + } + , + {"code": "moneyAccountId", + "type": 1,"dbname": "Идентификатор денежного счета","name": "Номер денежного счета","shortname": "Денежный счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" + } + , + {"code": "depoAccountId", + "type": 1,"dbname": "Идентификатор депозитарного счета","name": "Номер депозитарного счета","shortname": "Депозитарный счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" + } + , + {"code": "tradingClearingRegistryType", + "type": 12,"dbname": "Код торгово-клирингового регистра","name": "Тип торгово-клирингового регистра","shortname": "Тип ТКР","searchable": true,"sortable": true,"link": "tradingClearingRegistryType" + } + , + {"code": "tradingClearingRegistryLevel", + "type": 12,"dbname": "Код торгово-клирингового регистра","name": "Уровень торгово-клирингового регистра","shortname": "Уровень ТКР","searchable": true,"sortable": true,"link": "tradingClearingRegistryLevel","ignore": true + } + , + {"code": "tradingClearingRegistryPurpose", + "type": 12,"dbname": "Код области применения","name": "Область применения","shortname": "Область","searchable": true,"sortable": true,"link": "tradingClearingRegistryPurpose" + } + , + {"code": "status", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "serviceStatus" + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление ТКР", - - "confirmation": "companyId,moneyAccountId,depoAccountId,status", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction", - + + "name": "Добавление ТКР", + + "confirmation": "companyId,moneyAccountId,depoAccountId,status", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryNewAction", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "moneyAccountId", - "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account","required": true - } - , - {"code": "depoAccountId", - "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" - } - , - {"code": "status", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus" - } - , - {"code": "tradingClearingRegistryType", - "type": 12,"name": "Тип торгово-клирингового регистра","shortname": "Тип ТКР","link": "tradingClearingRegistryType","linkCode": "code" - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "moneyAccountId", + "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account","required": true + } + , + {"code": "depoAccountId", + "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus" + } + , + {"code": "tradingClearingRegistryType", + "type": 12,"name": "Тип торгово-клирингового регистра","shortname": "Тип ТКР","link": "tradingClearingRegistryType","linkCode": "code" + } + ] } , {"method":"put", - - "name": "Изменение ТКР", - - "confirmation": "companyId,code,moneyAccountId,depoAccountId,status", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryUpdateAction", - + + "name": "Изменение ТКР", + + "confirmation": "companyId,code,moneyAccountId,depoAccountId,status", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","enabled": false - } - , - {"code": "code", - "type": 2,"length": 255,"name": "Код торгово-клирингового регистра","shortname": "ТКР","enabled": false - } - , - {"code": "moneyAccountId", - "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account","enabled": false - } - , - {"code": "depoAccountId", - "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" - } - , - {"code": "status", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","enabled": false + } + , + {"code": "code", + "type": 2,"length": 255,"name": "Код торгово-клирингового регистра","shortname": "ТКР","enabled": false + } + , + {"code": "moneyAccountId", + "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account","enabled": false + } + , + {"code": "depoAccountId", + "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus","required": true + } + ] } , {"method":"delete", - - "name": "Блокировка ТКР", - - "confirmation": "companyId,code", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка ТКР", + + "confirmation": "companyId,code", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true + } + ] } ] - } -, - "tradingClearingRegistryList": { - - "name": "Список счетов ТКР", - - "destination": "trading-clearing-registries-list", - - "class": "ru.clearing.classes.statics.data.registry.TradingClearingRegistryList", - - "logUpdates": "true", - - "table": "trading_clearing_registry_list", - - "fields": [ - {"code": "tradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "Торгово-клиринговый регистр","searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkKeyCode": "id","linkCode": "code" - } - , - {"code": "accountId", - "type": 1,"dbname": "Идентификатор валютного счета","name": "Номер валютного счета","shortname": "Денежный счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" - } - , - {"code": "currency", - "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "status", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "serviceStatus" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"name": "Дата и время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"name": "Дата и время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - ,"actions":[ + } + , + "tradingClearingRegistryList": { + + "name": "Список счетов ТКР", + + "destination": "trading-clearing-registries-list", + + "class": "ru.clearing.classes.statics.data.registry.TradingClearingRegistryList", + + "logUpdates": "true", + + "table": "trading_clearing_registry_list", + + "fields": [ + {"code": "tradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "Торгово-клиринговый регистр","searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkKeyCode": "id","linkCode": "code" + } + , + {"code": "accountId", + "type": 1,"dbname": "Идентификатор валютного счета","name": "Номер валютного счета","shortname": "Денежный счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" + } + , + {"code": "currency", + "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "status", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "serviceStatus" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"name": "Дата и время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"name": "Дата и время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление списка счетов ТКР", - - "confirmation": "tradingClearingRegistryId,accountId", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryListNewAction", - + + "name": "Добавление списка счетов ТКР", + + "confirmation": "tradingClearingRegistryId,accountId", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryListNewAction", + "fields": [ - {"code": "tradingClearingRegistryId", - "type": 1,"name": "Торгово-клиринговый регистр","shortname": "ТКР","link": "tradingClearingRegistry","linkCode": "code" - } - , - {"code": "accountId", - "type": 1,"name": "Идентификатор счёта","shortname": "Счёт","link": "account","linkCode": "account" - } - ] + {"code": "tradingClearingRegistryId", + "type": 1,"name": "Торгово-клиринговый регистр","shortname": "ТКР","link": "tradingClearingRegistry","linkCode": "code" + } + , + {"code": "accountId", + "type": 1,"name": "Идентификатор счёта","shortname": "Счёт","link": "account","linkCode": "account" + } + ] } , {"method":"put", - - "name": "Изменение списка счетов ТКР", - - "confirmation": "id,status", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryListUpdateAction", - + + "name": "Изменение списка счетов ТКР", + + "confirmation": "id,status", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.TradingClearingRegistryListUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true - } - , - {"code": "status", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus","required": true + } + ] } ] - } -, - "registry": { - - "name": "Регистр активов, обязательств и требований УК", - - "destination": "registries", - - "class": "ru.clearing.classes.statics.data.registry.Registry", - - "logUpdates": "true", - - "table": "registry", - - "fields": [ - {"code": "companyId", - "type": 1,"dbname": "Идентификатор участника","name": "Наименование участника","shortname": "Участник","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "tradingCode", - "type": 2,"length": 255,"name": "Торговый код участника","shortname": "Торговый код","searchable": true,"sortable": true,"visible": false - } - , - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Клиринговый код участника","shortname": "Клиринговый код","searchable": true,"sortable": true,"visible": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": false - } - , - {"code": "fullName", - "type": 2,"length": 255,"name": "Полное наименование участника","shortname": "Наименование участника","searchable": true,"sortable": true,"visible": false - } - , - {"code": "accountId", - "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"link": "account","ignore": true - } - , - {"code": "accountType", - "type": 12,"dbname": "Код типа счета","name": "Тип счета","shortname": "Тип счета","searchable": true,"sortable": true,"link": "accountType" - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registryDesignation", - "type": 12,"dbname": "Код назначения","name": "Назначение","shortname": "Назначение","searchable": true,"sortable": true,"link": "registryDesignation" - } - , - {"code": "registryInstrumentType", - "type": 12,"dbname": "Код типа инструмента","name": "Тип инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"link": "registryInstrumentType" - } - , - {"code": "registryCapacity", - "type": 12,"dbname": "Код принадлежности регистра","name": "Принадлежность регистра","shortname": "Принадлежность","searchable": true,"sortable": true,"visible": false,"link": "registryCapacity" - } - , - {"code": "registryUnit", - "type": 12,"dbname": "Код части регистра","name": "Часть регистра","shortname": "Часть регистра","searchable": true,"sortable": true,"link": "registryUnit" - } - , - {"code": "registryCode", - "type": 12,"dbname": "Код регистра","name": "Описание регистра","shortname": "Код регистра","searchable": true,"sortable": true,"link": "registryCode","linkCode": "code" - } - , - {"code": "tradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "Торгово-клиринговый регистр","searchable": true,"sortable": true,"link": "tradingClearingRegistry","ignore": true - } - , - {"code": "tradingClearingRegistry", - "type": 2,"length": 50,"name": "Торгово-клиринговый регистр","shortname": "Торгово-клиринговый регистр","searchable": true,"sortable": true - } - , - {"code": "registryStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "registryStatus" - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"dbname": "Код инструмента","name": "Наименование инструмента/валюты","shortname": "Инструмент/валюта","searchable": true,"sortable": true,"visible": true - } - , - {"code": "balance", - "type": 10,"name": "Текущий баланс","shortname": "Баланс","searchable": true,"sortable": true,"visible": true - } - , - {"code": "openBalance", - "type": 10,"name": "Начальная сумма после расчетной организации","shortname": "Начальный баланс","searchable": true,"sortable": true,"visible": false - } - , - {"code": "closeBalance", - "type": 10,"name": "Конечная сумма остатков ден. средств на счете","shortname": "Конечный баланс","searchable": true,"sortable": true,"visible": false - } - , - {"code": "credit", - "type": 10,"name": "Зачисления","shortname": "Зачисления","searchable": true,"sortable": true,"visible": true - } - , - {"code": "debit", - "type": 10,"name": "Списания","shortname": "Списания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "settledCredit", - "type": 10,"name": "Зачисления по расчетам","shortname": "Зачисления по расчетам","searchable": true,"sortable": true,"visible": false - } - , - {"code": "settledDebit", - "type": 10,"name": "Списания по расчетам","shortname": "Списания по расчетам","searchable": true,"sortable": true,"visible": false - } - , - {"code": "checkBalance", - "type": 10,"name": "Сверочный баланс","shortname": "Сверочный баланс","searchable": true,"sortable": true,"visible": true - } - , - {"code": "diffBalance", - "type": 10,"name": "Расхождение в балансе","shortname": "Расхождения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "planBalance", - "type": 10,"name": "Плановый баланс","shortname": "Плановый баланс","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "balanceDimension", - "type": 12,"dbname": "Код единицы измерения","name": "Наименование единицы измерения","shortname": "Единица измерения","searchable": true,"sortable": true,"link": "balanceDimension" - } - , - {"code": "settlementDate", - "type": 6,"name": "Дата расчета","shortname": "Дата расчета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "settlementCode", - "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","searchable": true,"sortable": true,"visible": false,"ignore": true - } - , - {"code": "tradingDate", - "type": 6,"name": "Дата торгов","shortname": "Торги","searchable": true,"sortable": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата клиринга","shortname": "Клиринг","searchable": true,"sortable": true - } - , - {"code": "refundDate", - "type": 6,"name": "Дата возврата депозита","shortname": "Возврат депозита","searchable": true,"sortable": true - } - , - {"code": "valueDate", - "type": 6,"name": "Дата оплаты вклада депозита","shortname": "Дата вклада","searchable": true,"sortable": true - } - , - {"code": "price", - "type": 10,"name": "Ставка по депозиту","shortname": "Ставка","visible": false,"searchable": true,"sortable": true - } - , - {"code": "contract", - "type": 2,"length": 255,"name": "Продукт","shortname": "Продукт","searchable": true,"sortable": true,"visible": true - } - , - {"code": "counterPartyId", - "type": 1,"dbname": "Идентификатор компании-партнера","name": "Наименование компании-партнера, с которым заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "comment", - "type": 2,"length": 255,"name": "Комментарий","shortname": "Комментарий","searchable": true,"sortable": true - } - , - {"code": "parentId", - "type": 1,"dbname": "Идентификатор родительского депозита","name": "Родительский депозит","shortname": "Депозит","searchable": false,"sortable": false - } - , - {"code": "groupId", - "type": 1,"dbname": "Идентификатор группы связанных регистров","name": "Идентификатор группы","shortname": "Группа","searchable": false,"sortable": false - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - , - {"code": "sessionType", - "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип сессии","searchable": true,"sortable": true,"visible": true,"link": "sessionType" - } - , - {"code": "paymentId", - "type": 1,"dbname": "Идентификатор платежа","name": "Платеж","shortname": "Платеж","searchable": true,"sortable": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"name": "Дата и время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"name": "Дата и время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Код инструмента","shortname": "Код инструмента","searchable": false,"sortable": true,"visible": false,"link": "security","linkCode": "shortName" - } - , - {"code": "section", - "type": 12,"dbname": "Код секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" - } - ] - ,"actions":[ + } + , + "registry": { + + "name": "Регистр активов, обязательств и требований УК", + + "destination": "registries", + + "class": "ru.clearing.classes.statics.data.registry.Registry", + + "logUpdates": "true", + + "table": "registry", + + "fields": [ + {"code": "companyId", + "type": 1,"dbname": "Идентификатор участника","name": "Наименование участника","shortname": "Участник","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "tradingCode", + "type": 2,"length": 255,"name": "Торговый код участника","shortname": "Торговый код","searchable": true,"sortable": true,"visible": false + } + , + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Клиринговый код участника","shortname": "Клиринговый код","searchable": true,"sortable": true,"visible": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": false + } + , + {"code": "fullName", + "type": 2,"length": 255,"name": "Полное наименование участника","shortname": "Наименование участника","searchable": true,"sortable": true,"visible": false + } + , + {"code": "accountId", + "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"link": "account","ignore": true + } + , + {"code": "accountType", + "type": 12,"dbname": "Код типа счета","name": "Тип счета","shortname": "Тип счета","searchable": true,"sortable": true,"link": "accountType" + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registryDesignation", + "type": 12,"dbname": "Код назначения","name": "Назначение","shortname": "Назначение","searchable": true,"sortable": true,"link": "registryDesignation" + } + , + {"code": "registryInstrumentType", + "type": 12,"dbname": "Код типа инструмента","name": "Тип инструмента","shortname": "Тип инструмента","searchable": true,"sortable": true,"link": "registryInstrumentType" + } + , + {"code": "registryCapacity", + "type": 12,"dbname": "Код принадлежности регистра","name": "Принадлежность регистра","shortname": "Принадлежность","searchable": true,"sortable": true,"visible": false,"link": "registryCapacity" + } + , + {"code": "registryUnit", + "type": 12,"dbname": "Код части регистра","name": "Часть регистра","shortname": "Часть регистра","searchable": true,"sortable": true,"link": "registryUnit" + } + , + {"code": "registryCode", + "type": 12,"dbname": "Код регистра","name": "Описание регистра","shortname": "Код регистра","searchable": true,"sortable": true,"link": "registryCode","linkCode": "code" + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "Торгово-клиринговый регистр","searchable": true,"sortable": true,"link": "tradingClearingRegistry","ignore": true + } + , + {"code": "tradingClearingRegistry", + "type": 2,"length": 50,"name": "Торгово-клиринговый регистр","shortname": "Торгово-клиринговый регистр","searchable": true,"sortable": true + } + , + {"code": "registryStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"link": "registryStatus" + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"dbname": "Код инструмента","name": "Наименование инструмента/валюты","shortname": "Инструмент/валюта","searchable": true,"sortable": true,"visible": true + } + , + {"code": "balance", + "type": 10,"name": "Текущий баланс","shortname": "Баланс","searchable": true,"sortable": true,"visible": true + } + , + {"code": "openBalance", + "type": 10,"name": "Начальная сумма после расчетной организации","shortname": "Начальный баланс","searchable": true,"sortable": true,"visible": false + } + , + {"code": "closeBalance", + "type": 10,"name": "Конечная сумма остатков ден. средств на счете","shortname": "Конечный баланс","searchable": true,"sortable": true,"visible": false + } + , + {"code": "credit", + "type": 10,"name": "Зачисления","shortname": "Зачисления","searchable": true,"sortable": true,"visible": true + } + , + {"code": "debit", + "type": 10,"name": "Списания","shortname": "Списания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "settledCredit", + "type": 10,"name": "Зачисления по расчетам","shortname": "Зачисления по расчетам","searchable": true,"sortable": true,"visible": false + } + , + {"code": "settledDebit", + "type": 10,"name": "Списания по расчетам","shortname": "Списания по расчетам","searchable": true,"sortable": true,"visible": false + } + , + {"code": "checkBalance", + "type": 10,"name": "Сверочный баланс","shortname": "Сверочный баланс","searchable": true,"sortable": true,"visible": true + } + , + {"code": "diffBalance", + "type": 10,"name": "Расхождение в балансе","shortname": "Расхождения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "planBalance", + "type": 10,"name": "Плановый баланс","shortname": "Плановый баланс","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "balanceDimension", + "type": 12,"dbname": "Код единицы измерения","name": "Наименование единицы измерения","shortname": "Единица измерения","searchable": true,"sortable": true,"link": "balanceDimension" + } + , + {"code": "settlementDate", + "type": 6,"name": "Дата расчета","shortname": "Дата расчета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "settlementCode", + "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","searchable": true,"sortable": true,"visible": false,"ignore": true + } + , + {"code": "tradingDate", + "type": 6,"name": "Дата торгов","shortname": "Торги","searchable": true,"sortable": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Клиринг","searchable": true,"sortable": true + } + , + {"code": "refundDate", + "type": 6,"name": "Дата возврата депозита","shortname": "Возврат депозита","searchable": true,"sortable": true + } + , + {"code": "valueDate", + "type": 6,"name": "Дата оплаты вклада депозита","shortname": "Дата вклада","searchable": true,"sortable": true + } + , + {"code": "price", + "type": 10,"name": "Ставка по депозиту","shortname": "Ставка","visible": false,"searchable": true,"sortable": true + } + , + {"code": "contract", + "type": 2,"length": 255,"name": "Продукт","shortname": "Продукт","searchable": true,"sortable": true,"visible": true + } + , + {"code": "counterPartyId", + "type": 1,"dbname": "Идентификатор компании-партнера","name": "Наименование компании-партнера, с которым заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Комментарий","shortname": "Комментарий","searchable": true,"sortable": true + } + , + {"code": "parentId", + "type": 1,"dbname": "Идентификатор родительского депозита","name": "Родительский депозит","shortname": "Депозит","searchable": false,"sortable": false + } + , + {"code": "groupId", + "type": 1,"dbname": "Идентификатор группы связанных регистров","name": "Идентификатор группы","shortname": "Группа","searchable": false,"sortable": false + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "sessionType", + "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип сессии","searchable": true,"sortable": true,"visible": true,"link": "sessionType" + } + , + {"code": "paymentId", + "type": 1,"dbname": "Идентификатор платежа","name": "Платеж","shortname": "Платеж","searchable": true,"sortable": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"name": "Дата и время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"name": "Дата и время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Код инструмента","shortname": "Код инструмента","searchable": false,"sortable": true,"visible": false,"link": "security","linkCode": "shortName" + } + , + {"code": "section", + "type": 12,"dbname": "Код секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" + } + ] + ,"actions":[ {"method":"post", - - "name": "Разделение депозита", - - "destination": "registries/splitDeposit", - - "confirmation": "contract,outboundAmount,refundDate", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.RSplitDepositActionNew", - + + "name": "Разделение депозита", + + "destination": "registries/splitDeposit", + + "confirmation": "contract,outboundAmount,refundDate", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.RSplitDepositActionNew", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование участника","shortname": "Инициатор","link": "company","linkCode": "shortName","enabled": false - } - , - {"code": "contract", - "type": 2,"length": 255,"name": "Договор","shortname": "Номер договора","required": true,"enabled": false - } - , - {"code": "outboundAmount", - "type": 10,"name": "Сумма изъятия","shortname": "Сумма","required": true - } - , - {"code": "refundDate", - "type": 6,"name": "Дата возврата","shortname": "Дата","required": true - } - , - {"code": "comment", - "type": 2,"length": 255,"name": "Основание для вывода","shortname": "Основание" - } - , - {"code": "direction", - "type": 12,"name": "Направление","shortname": "Направление","link": "inOutDirection" - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование участника","shortname": "Инициатор","link": "company","linkCode": "shortName","enabled": false + } + , + {"code": "contract", + "type": 2,"length": 255,"name": "Договор","shortname": "Номер договора","required": true,"enabled": false + } + , + {"code": "outboundAmount", + "type": 10,"name": "Сумма изъятия","shortname": "Сумма","required": true + } + , + {"code": "refundDate", + "type": 6,"name": "Дата возврата","shortname": "Дата","required": true + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Основание для вывода","shortname": "Основание" + } + , + {"code": "direction", + "type": 12,"name": "Направление","shortname": "Направление","link": "inOutDirection" + } + ] } , {"method":"post", - - "name": "Отметить средства на возврат депозита", - - "destination": "registries/returnDeposit", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.ReturnDepositActionNew", - + + "name": "Отметить средства на возврат депозита", + + "destination": "registries/returnDeposit", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.ReturnDepositActionNew", + "fields": [ - {"code": "id", - "type": 1,"name": "Регистр требований","shortname": "Регистр требований","required": true,"enabled": false,"visible": false - } - , - {"code": "balance", - "type": 10,"name": "Сумма","shortname": "Сумма","required": true - } - ] + {"code": "id", + "type": 1,"name": "Регистр требований","shortname": "Регистр требований","required": true,"enabled": false,"visible": false + } + , + {"code": "balance", + "type": 10,"name": "Сумма","shortname": "Сумма","required": true + } + ] } , {"method":"post", - - "name": "Идентификация неразмеченных средств", - - "destination": "registries/identificationFunds", - - "confirmation": "securitySymbol,balance,tradingClearingRegistryId", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.IdentificationFundsActionNew", - + + "name": "Идентификация неразмеченных средств", + + "destination": "registries/identificationFunds", + + "confirmation": "securitySymbol,balance,tradingClearingRegistryId", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.IdentificationFundsActionNew", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "registry","linkCode": "id","required": true - } - , - {"code": "balance", - "type": 10,"name": "Сумма","shortname": "Сумма","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "tradingClearingRegistryId", - "type": 1,"name": "Торгово-клиринговый регистр","shortname": "Торгово-клиринговый регистр","link": "tradingClearingRegistry","linkCode": "code","required": true - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"dbname": "Код инструмента","name": "Наименование инструмента/валюты","shortname": "Инструмент/валюта","searchable": false,"sortable": false,"visible": false - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "registry","linkCode": "id","required": true + } + , + {"code": "balance", + "type": 10,"name": "Сумма","shortname": "Сумма","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"name": "Торгово-клиринговый регистр","shortname": "Торгово-клиринговый регистр","link": "tradingClearingRegistry","linkCode": "code","required": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"dbname": "Код инструмента","name": "Наименование инструмента/валюты","shortname": "Инструмент/валюта","searchable": false,"sortable": false,"visible": false + } + ] } , {"method":"put", - - "name": "Изменение даты возврата депозита", - - "destination": "registries/changeRefundDate", - - "confirmation": "contact,contract,refundDate", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.ChangeRefundDateActionNew", - + + "name": "Изменение даты возврата депозита", + + "destination": "registries/changeRefundDate", + + "confirmation": "contact,contract,refundDate", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.ChangeRefundDateActionNew", + "fields": [ - {"code": "groupId", - "type": 1,"dbname": "Идентификатор группы связанных регистров","name": "Идентификатор группы","required": true,"enabled": false,"visible": false - } - , - {"code": "contract", - "type": 2,"length": 255,"name": "Договор","shortname": "Номер договора","required": true,"enabled": false - } - , - {"code": "refundDate", - "type": 6,"name": "Дата возврата депозита","shortname": "Возврат депозита","visible": true,"enabled": true - } - ] + {"code": "groupId", + "type": 1,"dbname": "Идентификатор группы связанных регистров","name": "Идентификатор группы","required": true,"enabled": false,"visible": false + } + , + {"code": "contract", + "type": 2,"length": 255,"name": "Договор","shortname": "Номер договора","required": true,"enabled": false + } + , + {"code": "refundDate", + "type": 6,"name": "Дата возврата депозита","shortname": "Возврат депозита","visible": true,"enabled": true + } + ] } , {"method":"put", - - "name": "Установить отметку о получении выписки", - - "destination": "registries/changeStatusExtract", - - "confirmation": "shortName,contract,balance", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.ChangeStatusExtractActionNew", - + + "name": "Установить отметку о получении выписки", + + "destination": "registries/changeStatusExtract", + + "confirmation": "shortName,contract,balance", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.ChangeStatusExtractActionNew", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "registry","linkCode": "id","required": true - } - , - {"code": "shortName", - "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Компания","enabled": false - } - , - {"code": "contract", - "type": 2,"length": 255,"name": "Договор","shortname": "Номер договора","required": true,"enabled": false - } - , - {"code": "balance", - "type": 10,"name": "Текущий баланс","shortname": "Баланс","enabled": false - } - , - {"code": "registryStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","link": "registryStatus","visible": false - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "registry","linkCode": "id","required": true + } + , + {"code": "shortName", + "type": 2,"length": 255,"name": "Краткое наименование компании","shortname": "Компания","enabled": false + } + , + {"code": "contract", + "type": 2,"length": 255,"name": "Договор","shortname": "Номер договора","required": true,"enabled": false + } + , + {"code": "balance", + "type": 10,"name": "Текущий баланс","shortname": "Баланс","enabled": false + } + , + {"code": "registryStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","link": "registryStatus","visible": false + } + ] } ] - } -, - "account": { - - "name": "Счета", - - "destination": "accounting/accounts", - - "class": "ru.clearing.classes.statics.data.account.Account", - - "logUpdates": "true", - - "table": "account", - - "fields": [ - {"code": "account", - "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "accountType", - "type": 12,"dbname": "Код типа счета","name": "Наименование типа счета","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "accountType" - } - , - {"code": "relationId", - "type": 1,"dbname": "Идентификатор договорных отношений","name": "Договорные отношения","shortname": "Договор","searchable": true,"sortable": true,"link": "relation","ignore": true - } - , - {"code": "currency", - "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "status", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "serviceStatus" - } - , - {"code": "processingSign", - "type": 12,"dbname": "Код признака обработки счета","name": "Признак обработки счета","shortname": "Обработка счета","searchable": true,"sortable": true,"visible": true,"link": "allowed","ignore": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "account": { + + "name": "Счета", + + "destination": "accounting/accounts", + + "class": "ru.clearing.classes.statics.data.account.Account", + + "logUpdates": "true", + + "table": "account", + + "fields": [ + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "accountType", + "type": 12,"dbname": "Код типа счета","name": "Наименование типа счета","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "accountType" + } + , + {"code": "relationId", + "type": 1,"dbname": "Идентификатор договорных отношений","name": "Договорные отношения","shortname": "Договор","searchable": true,"sortable": true,"link": "relation","ignore": true + } + , + {"code": "currency", + "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "status", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "serviceStatus" + } + , + {"code": "processingSign", + "type": 12,"dbname": "Код признака обработки счета","name": "Признак обработки счета","shortname": "Обработка счета","searchable": true,"sortable": true,"visible": true,"link": "allowed","ignore": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление счета", - - "confirmation": "companyId,account,status", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.AccountNewAction", - + + "name": "Добавление счета", + + "confirmation": "companyId,account,status", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.AccountNewAction", + "fields": [ - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет" - } - , - {"code": "status", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus" - } - , - {"code": "accountType", - "type": 12,"name": "Наименование типа счета","shortname": "Тип","link": "accountType","required": true,"visible": false - } - , - {"code": "currency", - "type": 12,"name": "Код валюты","shortname": "Валюта","visible": true,"link": "currencyCode","linkCode": "code" - } - ] + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет" + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus" + } + , + {"code": "accountType", + "type": 12,"name": "Наименование типа счета","shortname": "Тип","link": "accountType","required": true,"visible": false + } + , + {"code": "currency", + "type": 12,"name": "Код валюты","shortname": "Валюта","visible": true,"link": "currencyCode","linkCode": "code" + } + ] } , {"method":"put", - - "name": "Изменение счета", - - "confirmation": "companyId,account,status", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.AccountUpdateAction", - + + "name": "Изменение счета", + + "confirmation": "companyId,account,status", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.AccountUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","enabled": false - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","enabled": false - } - , - {"code": "status", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus" - } - , - {"code": "accountType", - "type": 12,"name": "Наименование типа счета","shortname": "Тип","link": "accountType","required": true,"visible": false - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","enabled": false + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","enabled": false + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus" + } + , + {"code": "accountType", + "type": 12,"name": "Наименование типа счета","shortname": "Тип","link": "accountType","required": true,"visible": false + } + ] } , {"method":"delete", - - "name": "Блокировка счета", - - "confirmation": "companyId,account", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка счета", + + "confirmation": "companyId,account", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true + } + ] } ] - } -, - "relation": { - - "name": "Доступ в секцию", - - "destination": "relations", - - "class": "ru.clearing.classes.statics.data.company.relation.Relation", - - "logUpdates": "true", - - "table": "relation", - - "fields": [ - {"code": "consumerId", - "type": 1,"dbname": "Идентификатор компании пользователя услуги","name": "Наименование компании пользователя услуги","shortname": "Потребитель","searchable": true,"sortable": true,"visible": true,"link": "company" - } - , - {"code": "supplierId", - "type": 1,"dbname": "Идентификатор компании поставщика услуги","name": "Наименование компании поставщика услуги","shortname": "Поставщик","searchable": true,"sortable": true,"visible": true,"link": "company" - } - , - {"code": "serviceStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "serviceStatus" - } - , - {"code": "service", - "type": 12,"dbname": "Код услуги","name": "Наименование услуги","shortname": "Услуга","searchable": true,"sortable": true,"visible": true,"link": "service" - } - , - {"code": "serviceProduct", - "type": 12,"dbname": "Код продукта","name": "Наименование продукта","shortname": "Продукт","searchable": true,"sortable": true,"visible": true,"link": "serviceProduct" - } - , - {"code": "comment", - "type": 2,"length": 255,"name": "Текст причины","shortname": "Причина","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "relation": { + + "name": "Доступ в секцию", + + "destination": "relations", + + "class": "ru.clearing.classes.statics.data.company.relation.Relation", + + "logUpdates": "true", + + "table": "relation", + + "fields": [ + {"code": "consumerId", + "type": 1,"dbname": "Идентификатор компании пользователя услуги","name": "Наименование компании пользователя услуги","shortname": "Потребитель","searchable": true,"sortable": true,"visible": true,"link": "company" + } + , + {"code": "supplierId", + "type": 1,"dbname": "Идентификатор компании поставщика услуги","name": "Наименование компании поставщика услуги","shortname": "Поставщик","searchable": true,"sortable": true,"visible": true,"link": "company" + } + , + {"code": "serviceStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "serviceStatus" + } + , + {"code": "service", + "type": 12,"dbname": "Код услуги","name": "Наименование услуги","shortname": "Услуга","searchable": true,"sortable": true,"visible": true,"link": "service" + } + , + {"code": "serviceProduct", + "type": 12,"dbname": "Код продукта","name": "Наименование продукта","shortname": "Продукт","searchable": true,"sortable": true,"visible": true,"link": "serviceProduct" + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Текст причины","shortname": "Причина","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"put", - - "name": "Изменение статуса договорных отношений", - - "confirmation": "serviceStatus,comment", - + + "name": "Изменение статуса договорных отношений", + + "confirmation": "serviceStatus,comment", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "relation","linkCode": "id","required": true - } - , - {"code": "serviceStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus","required": true - } - , - {"code": "comment", - "type": 2,"length": 255,"name": "Текст причины","shortname": "Причина" - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "relation","linkCode": "id","required": true + } + , + {"code": "serviceStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus","required": true + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Текст причины","shortname": "Причина" + } + ] } ] - } -, - "bankAccount": { - - "name": "Счета вывода средств", - - "destination": "accounting/bank-accounts", - - "class": "ru.clearing.classes.statics.data.account.BankAccount", - - "logUpdates": "true", - - "table": "bank_account", - - "fields": [ - {"code": "accountId", - "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"link": "account","ignore": true - } - , - {"code": "bankIdentificationCode", - "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК)","shortname": "БИК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "bankName", - "type": 2,"length": 255,"name": "Наименование компании в банке","shortname": "Наименование компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "correspondentAccount", - "type": 2,"length": 255,"name": "Корреспондентский счет","shortname": "Корр. счет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "correspondentAccountName", - "type": 2,"length": 255,"name": "Наименование корреспондентского счета","shortname": "Наименование корр. счета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "currency", - "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "destination", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "iban", - "type": 2,"length": 255,"name": "Международный номер банковского счета","shortname": "Международный номер банковского счета","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "internationalTransferSign", - "type": 12,"dbname": "Код доступности международных переводов","name": "Доступность международных переводов","shortname": "Международные переводы","searchable": true,"sortable": true,"visible": true,"link": "allowed","ignore": true - } - , - {"code": "swiftCode", - "type": 2,"length": 255,"name": "Код SWIFT","shortname": "SWIFT","searchable": true,"sortable": true,"visible": true - } - , - {"code": "taxpayerIdentificationNumber", - "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН","searchable": true,"sortable": true,"visible": true - } - , - {"code": "taxRegistrationReasonCode", - "type": 2,"length": 255,"name": "Код причины постановки (КПП)","shortname": "КПП","searchable": true,"sortable": true,"visible": true - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "status", - "field": "accountId","type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "id","linkCode": "status","link": "account","extends": "account" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "intermediarySwiftCode", - "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true - } - ] - ,"actions":[ + } + , + "bankAccount": { + + "name": "Счета вывода средств", + + "destination": "accounting/bank-accounts", + + "class": "ru.clearing.classes.statics.data.account.BankAccount", + + "logUpdates": "true", + + "table": "bank_account", + + "fields": [ + {"code": "accountId", + "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"link": "account","ignore": true + } + , + {"code": "bankIdentificationCode", + "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК)","shortname": "БИК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName", + "type": 2,"length": 255,"name": "Наименование компании в банке","shortname": "Наименование компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "correspondentAccount", + "type": 2,"length": 255,"name": "Корреспондентский счет","shortname": "Корр. счет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "correspondentAccountName", + "type": 2,"length": 255,"name": "Наименование корреспондентского счета","shortname": "Наименование корр. счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "currency", + "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "destination", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "iban", + "type": 2,"length": 255,"name": "Международный номер банковского счета","shortname": "Международный номер банковского счета","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "internationalTransferSign", + "type": 12,"dbname": "Код доступности международных переводов","name": "Доступность международных переводов","shortname": "Международные переводы","searchable": true,"sortable": true,"visible": true,"link": "allowed","ignore": true + } + , + {"code": "swiftCode", + "type": 2,"length": 255,"name": "Код SWIFT","shortname": "SWIFT","searchable": true,"sortable": true,"visible": true + } + , + {"code": "taxpayerIdentificationNumber", + "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН","searchable": true,"sortable": true,"visible": true + } + , + {"code": "taxRegistrationReasonCode", + "type": 2,"length": 255,"name": "Код причины постановки (КПП)","shortname": "КПП","searchable": true,"sortable": true,"visible": true + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "status", + "field": "accountId","type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "id","linkCode": "status","link": "account","extends": "account" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "intermediarySwiftCode", + "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true + } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование владельца счета","shortname": "Владелец счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "address", + "type": 2,"length": 255,"name": "Адрес владельца счета","shortname": "Адрес владельца","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress", + "type": 2,"length": 255,"name": "Место нахождения банка получателя средств","shortname": "Место нахождение банка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankSwiftCode", + "type": 2,"length": 12,"name": "SWIFT банка получателя средств","shortname": "SWIFT банка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount", + "type": 2,"length": 35,"name": "Номер счета банка получателя средств","shortname": "Номер счёта получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName1", + "type": 2,"length": 255,"name": "Наименование банка-посредника 1","shortname": "Банк посредник 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress1", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 1","shortname": "Место нахождения банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount1", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 1","shortname": "Счет банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName2", + "type": 2,"length": 255,"name": "Наименование банка-посредника 2","shortname": "Банк посредник 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress2", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 2","shortname": "Место нахождения банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "intermediarySwiftCode2", + "type": 2,"length": 12,"name": "SWIFT банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount2", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "personalAccount", + "type": 2,"length": 20,"name": "Лицевой счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "budgetClassificationCode", + "type": 2,"length": 20,"name": "КБК","shortname": "КБК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "oktmo", + "type": 2,"length": 20,"name": "ОКТМО получателя средств","shortname": "ОКТМО","searchable": true,"sortable": true,"visible": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление счета вывода средств", - - "confirmation": "currency,bankIdentificationCode,bankName,correspondentAccount,correspondentAccountName,taxpayerIdentificationNumber,taxRegistrationReasonCode,account", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountNewAction", - + + "name": "Добавление счета вывода средств", + + "confirmation": "currency,bankIdentificationCode,bankName,correspondentAccount,correspondentAccountName,taxpayerIdentificationNumber,taxRegistrationReasonCode,account", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountNewAction", + "fields": [ - {"code": "currency", - "type": 12,"name": "Код валюты","shortname": "Валюта","required": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "bankIdentificationCode", - "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК)","shortname": "БИК","required": true - } - , - {"code": "bankName", - "type": 2,"length": 255,"name": "Наименование компании в банке","shortname": "Наименование компании","required": true - } - , - {"code": "correspondentAccount", - "type": 2,"length": 255,"name": "Корреспондентский счет","shortname": "Корр. счет" - } - , - {"code": "correspondentAccountName", - "type": 2,"length": 255,"name": "Наименование корреспондентского счета","shortname": "Наименование корр. счета" - } - , - {"code": "swiftCode", - "type": 2,"length": 255,"shortname": "SWIFT" - } - , - {"code": "taxpayerIdentificationNumber", - "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН" - } - , - {"code": "taxRegistrationReasonCode", - "type": 2,"length": 255,"name": "Код причины постановки (КПП)","shortname": "КПП" - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","required": false - } - , - {"code": "companyId", - "type": 1,"name": "Компания","shortname": "Компания","link": "company","linkCode": "shortName","visible": false - } - , - {"code": "destination", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","visible": true - } - , - {"code": "intermediarySwiftCode", - "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true - } - ] + {"code": "currency", + "type": 12,"name": "Код валюты","shortname": "Валюта","required": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "bankIdentificationCode", + "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК)","shortname": "БИК","required": true + } + , + {"code": "bankName", + "type": 2,"length": 255,"name": "Наименование компании в банке","shortname": "Наименование компании","required": true + } + , + {"code": "correspondentAccount", + "type": 2,"length": 255,"name": "Корреспондентский счет","shortname": "Корр. счет" + } + , + {"code": "correspondentAccountName", + "type": 2,"length": 255,"name": "Наименование корреспондентского счета","shortname": "Наименование корр. счета" + } + , + {"code": "swiftCode", + "type": 2,"length": 255,"shortname": "SWIFT" + } + , + {"code": "taxpayerIdentificationNumber", + "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН" + } + , + {"code": "taxRegistrationReasonCode", + "type": 2,"length": 255,"name": "Код причины постановки (КПП)","shortname": "КПП" + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","required": false + } + , + {"code": "companyId", + "type": 1,"name": "Компания","shortname": "Компания","link": "company","linkCode": "shortName","visible": false + } + , + {"code": "destination", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","visible": true + } + , + {"code": "intermediarySwiftCode", + "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true + } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование владельца счета","shortname": "Владелец счета","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "address", + "type": 2,"length": 255,"name": "Адрес владельца счета","shortname": "Адрес владельца","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankAddress", + "type": 2,"length": 255,"name": "Место нахождения банка получателя средств","shortname": "Место нахождение банка","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankSwiftCode", + "type": 2,"length": 12,"name": "SWIFT банка получателя средств","shortname": "SWIFT банка","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankAccount", + "type": 2,"length": 35,"name": "Номер счета банка получателя средств","shortname": "Номер счёта получателя","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankName1", + "type": 2,"length": 255,"name": "Наименование банка-посредника 1","shortname": "Банк посредник 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress1", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 1","shortname": "Место нахождения банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount1", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 1","shortname": "Счет банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName2", + "type": 2,"length": 255,"name": "Наименование банка-посредника 2","shortname": "Банк посредник 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress2", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 2","shortname": "Место нахождения банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "intermediarySwiftCode2", + "type": 2,"length": 12,"name": "SWIFT банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount2", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "personalAccount", + "type": 2,"length": 20,"name": "Лицевой счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "budgetClassificationCode", + "type": 2,"length": 20,"name": "КБК","shortname": "КБК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "oktmo", + "type": 2,"length": 20,"name": "ОКТМО получателя средств","shortname": "ОКТМО","searchable": true,"sortable": true,"visible": true + } + ] } , {"method":"put", - - "name": "Изменение счета вывода средств", - - "confirmation": "currency,bankIdentificationCode,bankName,correspondentAccount,correspondentAccountName,taxpayerIdentificationNumber,taxRegistrationReasonCode,account", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountUpdateAction", - + + "name": "Изменение счета вывода средств", + + "confirmation": "currency,bankIdentificationCode,bankName,correspondentAccount,correspondentAccountName,taxpayerIdentificationNumber,taxRegistrationReasonCode,account", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.BankAccountUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "bankAccount","linkCode": "id","required": true - } - , - {"code": "currency", - "type": 12,"name": "Код валюты","shortname": "Валюта","link": "currencyCode","linkCode": "code" - } - , - {"code": "bankIdentificationCode", - "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК)","shortname": "БИК" - } - , - {"code": "bankName", - "type": 2,"length": 255,"name": "Наименование компании в банке","shortname": "Наименование компании" - } - , - {"code": "correspondentAccount", - "type": 2,"length": 255,"name": "Корреспондентский счет","shortname": "Корр. счет" - } - , - {"code": "correspondentAccountName", - "type": 2,"length": 255,"name": "Наименование корреспондентского счета","shortname": "Наименование корр. счета" - } - , - {"code": "swiftCode", - "type": 2,"length": 255,"shortname": "SWIFT" - } - , - {"code": "taxpayerIdentificationNumber", - "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН" - } - , - {"code": "taxRegistrationReasonCode", - "type": 2,"length": 255,"name": "Код причины постановки (КПП)","shortname": "КПП" - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет" - } - , - {"code": "destination", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","visible": true - } - , - {"code": "intermediarySwiftCode", - "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "bankAccount","linkCode": "id","required": true + } + , + {"code": "currency", + "type": 12,"name": "Код валюты","shortname": "Валюта","link": "currencyCode","linkCode": "code" + } + , + {"code": "bankIdentificationCode", + "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК)","shortname": "БИК" + } + , + {"code": "bankName", + "type": 2,"length": 255,"name": "Наименование компании в банке","shortname": "Наименование компании" + } + , + {"code": "correspondentAccount", + "type": 2,"length": 255,"name": "Корреспондентский счет","shortname": "Корр. счет" + } + , + {"code": "correspondentAccountName", + "type": 2,"length": 255,"name": "Наименование корреспондентского счета","shortname": "Наименование корр. счета" + } + , + {"code": "swiftCode", + "type": 2,"length": 255,"shortname": "SWIFT" + } + , + {"code": "taxpayerIdentificationNumber", + "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН" + } + , + {"code": "taxRegistrationReasonCode", + "type": 2,"length": 255,"name": "Код причины постановки (КПП)","shortname": "КПП" + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет" + } + , + {"code": "destination", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","visible": true + } + , + {"code": "intermediarySwiftCode", + "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true + } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование владельца счета","shortname": "Владелец счета","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "address", + "type": 2,"length": 255,"name": "Адрес владельца счета","shortname": "Адрес владельца","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankAddress", + "type": 2,"length": 255,"name": "Место нахождения банка получателя средств","shortname": "Место нахождение банка","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankSwiftCode", + "type": 2,"length": 12,"name": "SWIFT банка получателя средств","shortname": "SWIFT банка","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankAccount", + "type": 2,"length": 35,"name": "Номер счета банка получателя средств","shortname": "Номер счёта получателя","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankName1", + "type": 2,"length": 255,"name": "Наименование банка-посредника 1","shortname": "Банк посредник 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress1", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 1","shortname": "Место нахождения банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount1", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 1","shortname": "Счет банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName2", + "type": 2,"length": 255,"name": "Наименование банка-посредника 2","shortname": "Банк посредник 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress2", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 2","shortname": "Место нахождения банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "intermediarySwiftCode2", + "type": 2,"length": 12,"name": "SWIFT банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount2", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "personalAccount", + "type": 2,"length": 20,"name": "Лицевой счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "budgetClassificationCode", + "type": 2,"length": 20,"name": "КБК","shortname": "КБК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "oktmo", + "type": 2,"length": 20,"name": "ОКТМО получателя средств","shortname": "ОКТМО","searchable": true,"sortable": true,"visible": true + } + ] } , {"method":"delete", - - "name": "Блокировка счета вывода средств", - - "confirmation": "currency,bankIdentificationCode,correspondentAccount,taxpayerIdentificationNumber,taxRegistrationReasonCode,account", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка счета вывода средств", + + "confirmation": "currency,bankIdentificationCode,correspondentAccount,taxpayerIdentificationNumber,taxRegistrationReasonCode,account", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "bankAccount","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "bankAccount","linkCode": "id","required": true + } + ] } ] - } -, - "informationAccount": { - - "name": "Регистр КС", - - "destination": "accounting/information-accounts", - - "class": "ru.clearing.classes.statics.data.account.InformationAccount", - - "logUpdates": "true", - - "table": "information_account", - - "fields": [ - {"code": "accountId", - "type": 1,"dbname": "Идентификатор информационного счета","name": "Номер информационного счета","shortname": "Регистр на КС","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" - } - , - {"code": "clearingAccountId", - "type": 1,"dbname": "Идентификатор аналитического счета","name": "Номер аналитического счета","shortname": "Клиринговый счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "serviceStatus", - "field": "accountId","type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "id","linkCode": "status","link": "account","extends": "account" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - - } -, - "depoAccount": { - - "name": "Депозитарные счета", - - "destination": "accounting/depo-accounts", - - "class": "ru.clearing.classes.statics.data.account.DepoAccount", - - "logUpdates": "true", - - "table": "depo_account", - - "fields": [ - {"code": "accountId", - "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" - } - , - {"code": "depoAccountType", - "type": 12,"dbname": "Код типа счета","name": "Наименование типа счета","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "depoAccountType" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "serviceStatus", - "field": "accountId","type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "id","linkCode": "status","link": "account","extends": "account" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - - } -, - "accountSymbols": { - - "name": "Депо КС - РДЦ", - - "destination": "accounting/depo-accounts-symbols", - - "class": "ru.clearing.classes.statics.data.account.AccountSymbols", - - "logUpdates": "true", - - "table": "depo_account_symbols", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "accountId", - "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" - } - , - {"code": "accountSymbolValue", - "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение","searchable": true,"sortable": true,"visible": true - } - ] - ,"actions":[ + } + , + "informationAccount": { + + "name": "Регистр КС", + + "destination": "accounting/information-accounts", + + "class": "ru.clearing.classes.statics.data.account.InformationAccount", + + "logUpdates": "true", + + "table": "information_account", + + "fields": [ + {"code": "accountId", + "type": 1,"dbname": "Идентификатор информационного счета","name": "Номер информационного счета","shortname": "Регистр на КС","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" + } + , + {"code": "clearingAccountId", + "type": 1,"dbname": "Идентификатор аналитического счета","name": "Номер аналитического счета","shortname": "Клиринговый счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "serviceStatus", + "field": "accountId","type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "id","linkCode": "status","link": "account","extends": "account" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + + } + , + "depoAccount": { + + "name": "Депозитарные счета", + + "destination": "accounting/depo-accounts", + + "class": "ru.clearing.classes.statics.data.account.DepoAccount", + + "logUpdates": "true", + + "table": "depo_account", + + "fields": [ + {"code": "accountId", + "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" + } + , + {"code": "depoAccountType", + "type": 12,"dbname": "Код типа счета","name": "Наименование типа счета","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "depoAccountType" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "serviceStatus", + "field": "accountId","type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "id","linkCode": "status","link": "account","extends": "account" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + + } + , + "accountSymbols": { + + "name": "Депо КС - РДЦ", + + "destination": "accounting/depo-accounts-symbols", + + "class": "ru.clearing.classes.statics.data.account.AccountSymbols", + + "logUpdates": "true", + + "table": "depo_account_symbols", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "accountId", + "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" + } + , + {"code": "accountSymbolValue", + "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение","searchable": true,"sortable": true,"visible": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление депо КС - РДЦ", - - "confirmation": "accountId,accountSymbolValue", - + + "name": "Добавление депо КС - РДЦ", + + "confirmation": "accountId,accountSymbolValue", + "fields": [ - {"code": "accountId", - "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","link": "account","linkCode": "account","required": true - } - , - {"code": "accountSymbolValue", - "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение","required": true - } - ] + {"code": "accountId", + "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","link": "account","linkCode": "account","required": true + } + , + {"code": "accountSymbolValue", + "type": 2,"length": 255,"name": "Значение реквизита","shortname": "Значение","required": true + } + ] } , {"method":"delete", - - "name": "Удаление депо КС - РДЦ", - - "confirmation": "accountId,accountSymbolValue", - + + "name": "Удаление депо КС - РДЦ", + + "confirmation": "accountId,accountSymbolValue", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true + } + ] } ] - } -, - "clearingAccount": { - - "name": "Торгово-Банковские счета", - - "destination": "accounting/clearing-accounts", - - "class": "ru.clearing.classes.statics.data.account.ClearingAccount", - - "logUpdates": "true", - - "table": "clearing_account", - - "fields": [ - {"code": "accountId", - "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" - } - , - {"code": "clearingAccountType", - "type": 12,"dbname": "Код типа счета","name": "Наименование типа счета","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "clearingAccountType","linkCode": "name" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "serviceStatus", - "field": "accountId","type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "id","linkCode": "status","link": "account","extends": "account" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - ] - - } -, - "plannerTemplate": { - - "name": "Шаблон расписания операционного дня", - - "destination": "schedule/planner-templates", - - "class": "ru.clearing.classes.statics.data.scheduler.PlannerTemplate", - - "table": "planner_template", - - "fields": [ - {"code": "task", - "type": 12,"dbname": "Код задачи","name": "Наименование задачи","shortname": "Задача","searchable": false,"sortable": false,"visible": true,"link": "task" - } - , - {"code": "taskTime", - "type": 5,"name": "Время задачи","shortname": "Время задачи","searchable": false,"sortable": false,"visible": true - } - , - {"code": "market", - "type": 12,"dbname": "Код рынка","name": "Наименование рынка","shortname": "Рынок","searchable": true,"sortable": true,"visible": true,"link": "market","linkKeyCode": "code","linkCode": "description","ignore": true - } - , - {"code": "section", - "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section","linkCode": "name" - } - , - {"code": "sessionType", - "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип КС","searchable": true,"sortable": true,"visible": true,"link": "sessionType","linkCode": "name" - } - , - {"code": "taskStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": false,"sortable": true,"visible": true,"link": "taskStatus" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": false,"sortable": false,"link": "company","linkCode": "shortName" - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "clearingAccount": { + + "name": "Торгово-Банковские счета", + + "destination": "accounting/clearing-accounts", + + "class": "ru.clearing.classes.statics.data.account.ClearingAccount", + + "logUpdates": "true", + + "table": "clearing_account", + + "fields": [ + {"code": "accountId", + "type": 1,"dbname": "Идентификатор счета","name": "Номер счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true,"link": "account","linkCode": "account" + } + , + {"code": "clearingAccountType", + "type": 12,"dbname": "Код типа счета","name": "Наименование типа счета","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "clearingAccountType","linkCode": "name" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "serviceStatus", + "field": "accountId","type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "id","linkCode": "status","link": "account","extends": "account" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + ] + + } + , + "plannerTemplate": { + + "name": "Шаблон расписания операционного дня", + + "destination": "schedule/planner-templates", + + "class": "ru.clearing.classes.statics.data.scheduler.PlannerTemplate", + + "table": "planner_template", + + "fields": [ + {"code": "task", + "type": 12,"dbname": "Код задачи","name": "Наименование задачи","shortname": "Задача","searchable": false,"sortable": false,"visible": true,"link": "task" + } + , + {"code": "taskTime", + "type": 5,"name": "Время задачи","shortname": "Время задачи","searchable": false,"sortable": false,"visible": true + } + , + {"code": "market", + "type": 12,"dbname": "Код рынка","name": "Наименование рынка","shortname": "Рынок","searchable": true,"sortable": true,"visible": true,"link": "market","linkKeyCode": "code","linkCode": "description","ignore": true + } + , + {"code": "section", + "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section","linkCode": "name" + } + , + {"code": "sessionType", + "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип КС","searchable": true,"sortable": true,"visible": true,"link": "sessionType","linkCode": "name" + } + , + {"code": "taskStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": false,"sortable": true,"visible": true,"link": "taskStatus" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": false,"sortable": false,"link": "company","linkCode": "shortName" + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Новый шаблон расписания операционного дня", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerTemplateNewAction", - + + "name": "Новый шаблон расписания операционного дня", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerTemplateNewAction", + "fields": [ - {"code": "task", - "type": 12,"name": "Наименование задачи","shortname": "Задача","link": "task","required": true - } - , - {"code": "taskTime", - "type": 5,"name": "Время задачи","shortname": "Время задачи","required": true - } - , - {"code": "taskStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "taskStatus","required": true - } - , - {"code": "section", - "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code" - } - , - {"code": "sessionType", - "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code" - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false - } - , - {"code": "securityId", - "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false - } - ] + {"code": "task", + "type": 12,"name": "Наименование задачи","shortname": "Задача","link": "task","required": true + } + , + {"code": "taskTime", + "type": 5,"name": "Время задачи","shortname": "Время задачи","required": true + } + , + {"code": "taskStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "taskStatus","required": true + } + , + {"code": "section", + "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code" + } + , + {"code": "sessionType", + "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code" + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false + } + , + {"code": "securityId", + "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false + } + ] } , {"method":"put", - - "name": "Изменение шаблона расписания операционного дня", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerTemplateUpdateAction", - + + "name": "Изменение шаблона расписания операционного дня", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerTemplateUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "plannerTemplate","linkCode": "id","required": true - } - , - {"code": "task", - "type": 12,"name": "Наименование задачи","shortname": "Задача","link": "task","required": true - } - , - {"code": "taskTime", - "type": 5,"name": "Время задачи","shortname": "Время задачи","required": true - } - , - {"code": "taskStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "taskStatus","required": true - } - , - {"code": "section", - "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code" - } - , - {"code": "sessionType", - "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code" - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false - } - , - {"code": "securityId", - "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "plannerTemplate","linkCode": "id","required": true + } + , + {"code": "task", + "type": 12,"name": "Наименование задачи","shortname": "Задача","link": "task","required": true + } + , + {"code": "taskTime", + "type": 5,"name": "Время задачи","shortname": "Время задачи","required": true + } + , + {"code": "taskStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "taskStatus","required": true + } + , + {"code": "section", + "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code" + } + , + {"code": "sessionType", + "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code" + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false + } + , + {"code": "securityId", + "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false + } + ] } , {"method":"delete", - - "name": "Блокировка шаблона расписания операционного дня", - - "confirmation": "task,taskTime,taskStatus,section,sessionType", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка шаблона расписания операционного дня", + + "confirmation": "task,taskTime,taskStatus,section,sessionType", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "plannerTemplate","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "plannerTemplate","linkCode": "id","required": true + } + ] } ] - } -, - "clearingCalendar": { - - "name": "Рабочие и нерабочие дни", - - "destination": "schedule/clearing-calendars", - - "class": "ru.clearing.classes.statics.data.scheduler.ClearingCalendar", - - "table": "clearing_calendar", - - "fields": [ - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": false,"sortable": false,"visible": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": false,"sortable": false,"link": "company","linkCode": "shortName" - } - , - {"code": "dayStatus", - "type": 12,"dbname": "Код статуса","name": "Статус","shortname": "Статус","searchable": false,"sortable": true,"visible": true,"link": "dayStatus" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "clearingCalendar": { + + "name": "Рабочие и нерабочие дни", + + "destination": "schedule/clearing-calendars", + + "class": "ru.clearing.classes.statics.data.scheduler.ClearingCalendar", + + "table": "clearing_calendar", + + "fields": [ + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": false,"sortable": false,"visible": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": false,"sortable": false,"link": "company","linkCode": "shortName" + } + , + {"code": "dayStatus", + "type": 12,"dbname": "Код статуса","name": "Статус","shortname": "Статус","searchable": false,"sortable": true,"visible": true,"link": "dayStatus" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Добавление записи в календарь", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.ClearingCalendarNewAction", - + + "name": "Добавление записи в календарь", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.ClearingCalendarNewAction", + "fields": [ - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","required": true - } - , - {"code": "dayStatus", - "type": 12,"name": "Статус","shortname": "Статус","link": "dayStatus","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false - } - ] + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","required": true + } + , + {"code": "dayStatus", + "type": 12,"name": "Статус","shortname": "Статус","link": "dayStatus","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false + } + ] } , {"method":"put", - - "name": "Изменение записи в календаре", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.ClearingCalendarUpdateAction", - + + "name": "Изменение записи в календаре", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.ClearingCalendarUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clearingCalendar","linkCode": "id","required": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","required": true - } - , - {"code": "dayStatus", - "type": 12,"name": "Статус","shortname": "Статус","link": "dayStatus","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clearingCalendar","linkCode": "id","required": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","required": true + } + , + {"code": "dayStatus", + "type": 12,"name": "Статус","shortname": "Статус","link": "dayStatus","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false + } + ] } , {"method":"delete", - - "name": "Блокировка записи в календаре", - - "confirmation": "clearingDate,dayStatus", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка записи в календаре", + + "confirmation": "clearingDate,dayStatus", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clearingCalendar","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clearingCalendar","linkCode": "id","required": true + } + ] } ] - } -, - "planner": { - - "name": "Расписание на все даты", - - "destination": "schedule/planners", - - "class": "ru.clearing.classes.statics.data.scheduler.Planner", - - "table": "planner", - - "fields": [ - {"code": "task", - "type": 12,"dbname": "Код задачи","name": "Наименование задачи","shortname": "Задача","searchable": false,"sortable": false,"visible": true,"link": "task" - } - , - {"code": "taskTime", - "type": 5,"name": "Время задачи","shortname": "Время задачи","searchable": false,"sortable": false,"visible": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата задачи","shortname": "Дата задачи","searchable": false,"sortable": false,"visible": true - } - , - {"code": "market", - "type": 12,"dbname": "Код рынка","name": "Наименование рынка","shortname": "Рынок","searchable": true,"sortable": true,"visible": true,"link": "market","linkKeyCode": "code","linkCode": "description","ignore": true - } - , - {"code": "section", - "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section","linkCode": "name" - } - , - {"code": "sessionType", - "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип КС","searchable": true,"sortable": true,"visible": true,"link": "sessionType","linkCode": "name" - } - , - {"code": "taskStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": false,"sortable": true,"visible": true,"link": "taskStatus" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": false,"sortable": false,"link": "company","linkCode": "shortName" - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "planner": { + + "name": "Расписание на все даты", + + "destination": "schedule/planners", + + "class": "ru.clearing.classes.statics.data.scheduler.Planner", + + "table": "planner", + + "fields": [ + {"code": "task", + "type": 12,"dbname": "Код задачи","name": "Наименование задачи","shortname": "Задача","searchable": false,"sortable": false,"visible": true,"link": "task" + } + , + {"code": "taskTime", + "type": 5,"name": "Время задачи","shortname": "Время задачи","searchable": false,"sortable": false,"visible": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата задачи","shortname": "Дата задачи","searchable": false,"sortable": false,"visible": true + } + , + {"code": "market", + "type": 12,"dbname": "Код рынка","name": "Наименование рынка","shortname": "Рынок","searchable": true,"sortable": true,"visible": true,"link": "market","linkKeyCode": "code","linkCode": "description","ignore": true + } + , + {"code": "section", + "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section","linkCode": "name" + } + , + {"code": "sessionType", + "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип КС","searchable": true,"sortable": true,"visible": true,"link": "sessionType","linkCode": "name" + } + , + {"code": "taskStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": false,"sortable": true,"visible": true,"link": "taskStatus" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": false,"sortable": false,"link": "company","linkCode": "shortName" + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "name": "Новое расписание", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerNewAction", - + + "name": "Новое расписание", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerNewAction", + "fields": [ - {"code": "task", - "type": 12,"name": "Наименование задачи","shortname": "Задача","link": "task","required": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата задачи","shortname": "Дата задачи","required": true - } - , - {"code": "taskTime", - "type": 5,"name": "Время задачи","shortname": "Время задачи","required": true - } - , - {"code": "taskStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "taskStatus","required": true - } - , - {"code": "section", - "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code" - } - , - {"code": "sessionType", - "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code" - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false - } - , - {"code": "securityId", - "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false - } - ] + {"code": "task", + "type": 12,"name": "Наименование задачи","shortname": "Задача","link": "task","required": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата задачи","shortname": "Дата задачи","required": true + } + , + {"code": "taskTime", + "type": 5,"name": "Время задачи","shortname": "Время задачи","required": true + } + , + {"code": "taskStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "taskStatus","required": true + } + , + {"code": "section", + "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code" + } + , + {"code": "sessionType", + "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code" + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false + } + , + {"code": "securityId", + "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false + } + ] } , {"method":"put", - - "name": "Изменение расписания", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerUpdateAction", - + + "name": "Изменение расписания", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "planner","required": true,"linkCode": "id" - } - , - {"code": "task", - "type": 12,"name": "Наименование задачи","shortname": "Задача","link": "task","required": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата задачи","shortname": "Дата задачи","required": true - } - , - {"code": "taskTime", - "type": 5,"name": "Время задачи","shortname": "Время задачи","required": true - } - , - {"code": "taskStatus", - "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "taskStatus","required": true - } - , - {"code": "section", - "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code" - } - , - {"code": "sessionType", - "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code" - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false - } - , - {"code": "securityId", - "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "planner","required": true,"linkCode": "id" + } + , + {"code": "task", + "type": 12,"name": "Наименование задачи","shortname": "Задача","link": "task","required": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата задачи","shortname": "Дата задачи","required": true + } + , + {"code": "taskTime", + "type": 5,"name": "Время задачи","shortname": "Время задачи","required": true + } + , + {"code": "taskStatus", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "taskStatus","required": true + } + , + {"code": "section", + "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code" + } + , + {"code": "sessionType", + "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code" + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","visible": false + } + , + {"code": "securityId", + "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false + } + ] } , {"method":"delete", - - "name": "Блокировка расписания", - - "confirmation": "task,clearingDate,taskTime,taskStatus,section,sessionType", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", - + + "name": "Блокировка расписания", + + "confirmation": "task,clearingDate,taskTime,taskStatus,section,sessionType", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "planner","linkCode": "id","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "planner","linkCode": "id","required": true + } + ] } ] - } -, - "plannerAllToday": { - - "name": "Расписание на текущий день", - - "destination": "schedule/planners-all-today", - - "class": "ru.clearing.classes.statics.data.scheduler.PlannerAllToday", - - "table": "planner_all_today", - - "fields": [ - {"code": "task", - "type": 12,"dbname": "Код задачи","name": "Наименование задачи","shortname": "Задача","searchable": true,"sortable": true,"visible": true,"link": "task" - } - , - {"code": "taskTime", - "type": 5,"name": "Время","shortname": "Время","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "market", - "type": 12,"dbname": "Код рынка","name": "Наименование рынка","shortname": "Рынок","searchable": true,"sortable": true,"visible": true,"link": "market","linkKeyCode": "code","linkCode": "description","ignore": true - } - , - {"code": "section", - "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section","linkCode": "name" - } - , - {"code": "sessionType", - "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип КС","searchable": true,"sortable": true,"visible": true,"link": "sessionType","linkCode": "name" - } - , - {"code": "taskStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "taskStatus" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": false,"sortable": false,"link": "company","linkCode": "shortName" - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" - } - , - {"code": "parent", - "type": 12,"dbname": "Код источника записи расписания","name": "Источник записи расписания","shortname": "Источник","searchable": true,"sortable": true,"link": "parent" - } - , - {"code": "parentId", - "type": 1,"name": "Идентификатор записи в таблице-источнике","shortname": "ID источника","searchable": false,"sortable": false - } - , - {"code": "id", - "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true - } - ] - - } -, - "launcher": { - - "name": "Запуск задачи", - - "destination": "launchers", - - "class": "ru.clearing.classes.statics.data.scheduler.Launcher", - - "table": "launcher", - - "fields": [ - {"code": "senderId", - "type": 1,"dbname": "Идентификатор отправителя","name": "Наименование отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" - } - , - {"code": "task", - "type": 12,"dbname": "Код задачи","name": "Наименование задачи","shortname": "Задача","searchable": true,"sortable": true,"visible": true,"link": "task" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true - } - ] - ,"actions":[ + } + , + "plannerAllToday": { + + "name": "Расписание на текущий день", + + "destination": "schedule/planners-all-today", + + "class": "ru.clearing.classes.statics.data.scheduler.PlannerAllToday", + + "table": "planner_all_today", + + "fields": [ + {"code": "task", + "type": 12,"dbname": "Код задачи","name": "Наименование задачи","shortname": "Задача","searchable": true,"sortable": true,"visible": true,"link": "task" + } + , + {"code": "taskTime", + "type": 5,"name": "Время","shortname": "Время","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "market", + "type": 12,"dbname": "Код рынка","name": "Наименование рынка","shortname": "Рынок","searchable": true,"sortable": true,"visible": true,"link": "market","linkKeyCode": "code","linkCode": "description","ignore": true + } + , + {"code": "section", + "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section","linkCode": "name" + } + , + {"code": "sessionType", + "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип КС","searchable": true,"sortable": true,"visible": true,"link": "sessionType","linkCode": "name" + } + , + {"code": "taskStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "taskStatus" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": false,"sortable": false,"link": "company","linkCode": "shortName" + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"link": "security","linkCode": "shortName" + } + , + {"code": "parent", + "type": 12,"dbname": "Код источника записи расписания","name": "Источник записи расписания","shortname": "Источник","searchable": true,"sortable": true,"link": "parent" + } + , + {"code": "parentId", + "type": 1,"name": "Идентификатор записи в таблице-источнике","shortname": "ID источника","searchable": false,"sortable": false + } + , + {"code": "id", + "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true + } + ] + + } + , + "launcher": { + + "name": "Запуск задачи", + + "destination": "launchers", + + "class": "ru.clearing.classes.statics.data.scheduler.Launcher", + + "table": "launcher", + + "fields": [ + {"code": "senderId", + "type": 1,"dbname": "Идентификатор отправителя","name": "Наименование отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" + } + , + {"code": "task", + "type": 12,"dbname": "Код задачи","name": "Наименование задачи","shortname": "Задача","searchable": true,"sortable": true,"visible": true,"link": "task" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true + } + ] + ,"actions":[ {"method":"post", - - "destination": "GVER", - - "group": "Общее", - - "name": "Запуск сверки", - + + "destination": "GVER", + + "group": "Общее", + + "name": "Запуск сверки", + "fields": [] } , {"method":"post", - - "destination": "GRYT", - - "group": "Общее", - - "name": "Подготовка КС к клиринговому дню", - + + "destination": "GRYT", + + "group": "Общее", + + "name": "Подготовка КС к клиринговому дню", + "fields": [] } , {"method":"post", - - "destination": "LOCM", - - "group": "Обмен с интеграционными модулями", - - "name": "Загрузка участников", - + + "destination": "LOCM", + + "group": "Обмен с интеграционными модулями", + + "name": "Загрузка участников", + "fields": [] } , {"method":"post", - - "destination": "LOSC", - - "group": "Обмен с интеграционными модулями", - - "name": "Загрузка инструментов", - + + "destination": "LOSC", + + "group": "Обмен с интеграционными модулями", + + "name": "Загрузка инструментов", + "fields": [] } , {"method":"post", - - "destination": "GALB", - - "group": "Обмен с расчетной организацией", - - "name": "Запрос остатков по всем счетам (отправка ДФ-56 для получения ответа ДФ-01, ДФ-57)", - + + "destination": "GALB", + + "group": "Обмен с расчетной организацией", + + "name": "Запрос остатков по всем счетам (отправка ДФ-56 для получения ответа ДФ-01, ДФ-57)", + "fields": [ - {"code": "fromTime", - "type": 5,"name": "Запросить с ","shortname": "Запросить с " - } - ] + {"code": "fromTime", + "type": 5,"name": "Запросить с ","shortname": "Запросить с " + } + ] } , {"method":"post", - - "destination": "OUTV", - - "group": "Обмен с расчетной организацией", - - "name": "Вывод свободных средств с клирингового регистра (отправка ДФ-54 для получения ответа ДФ-55)", - + + "destination": "OUTV", + + "group": "Обмен с расчетной организацией", + + "name": "Вывод свободных средств с клирингового регистра (отправка ДФ-54 для получения ответа ДФ-55)", + "fields": [ - {"code": "fullBalance", - "type": 10,"name": "Текущий баланс (всего)","shortname": "Текущие средства (всего)","enabled": false - } - , - {"code": "balance", - "type": 10,"name": "Текущий баланс (свободно)","shortname": "Текущие средства (свободно)","enabled": false - } - , - {"code": "securitySymbol", - "type": 2,"name": "Наименование инструмента/валюты","shortname": "Валюта","enabled": false - } - , - {"code": "creditLeg_amount", - "type": 10,"name": "Сумма отправителя","shortname": "Сумма","required": true - } - , - {"code": "paymentPurpose", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Основание","required": false - } - , - {"code": "senderId", - "type": 1,"group": "Отправитель","name": "Участник отправитель","shortname": "Отправитель","link": "company","linkCode": "shortName","required": true - } - , - {"code": "creditLeg_accountId", - "type": 1,"group": "Отправитель","name": "Наименование счета отправителя","shortname": "Регистр списания","link": "account","linkCode": "account","required": true - } - , - {"code": "addresseeId", - "type": 1,"group": "Получатель","name": "Участник получатель","shortname": "Получатель","link": "company","linkCode": "shortName","required": true,"enabled": false - } - , - {"code": "correspondentAccountId", - "type": 1,"group": "Получатель","name": "Корреспондентский счет","shortname": "Корр. счет","link": "bankAccount","linkCode": "correspondentAccount","linkKeyCode": "id","required": true,"enabled": true - } - , - {"code": "debitLeg_accountId", - "type": 1,"group": "Получатель","name": "Наименование счета получателя","shortname": "Счет получателя","link": "bankAccount","linkCode": "account" - } - , - {"code": "swiftCode", - "type": 2,"length": 255,"group": "Получатель","shortname": "SWIFT","enabled": false - } - ] + {"code": "fullBalance", + "type": 10,"name": "Текущий баланс (всего)","shortname": "Текущие средства (всего)","enabled": false + } + , + {"code": "balance", + "type": 10,"name": "Текущий баланс (свободно)","shortname": "Текущие средства (свободно)","enabled": false + } + , + {"code": "securitySymbol", + "type": 2,"name": "Наименование инструмента/валюты","shortname": "Валюта","enabled": false + } + , + {"code": "creditLeg_amount", + "type": 10,"name": "Сумма отправителя","shortname": "Сумма","required": true + } + , + {"code": "paymentPurpose", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Основание","required": false + } + , + {"code": "senderId", + "type": 1,"group": "Отправитель","name": "Участник отправитель","shortname": "Отправитель","link": "company","linkCode": "shortName","required": true + } + , + {"code": "creditLeg_accountId", + "type": 1,"group": "Отправитель","name": "Наименование счета отправителя","shortname": "Регистр списания","link": "account","linkCode": "account","required": true + } + , + {"code": "addresseeId", + "type": 1,"group": "Получатель","name": "Участник получатель","shortname": "Получатель","link": "company","linkCode": "shortName","required": true,"enabled": false + } + , + {"code": "correspondentAccountId", + "type": 1,"group": "Получатель","name": "Корреспондентский счет","shortname": "Корр. счет","link": "bankAccount","linkCode": "correspondentAccount","linkKeyCode": "id","required": true,"enabled": true + } + , + {"code": "debitLeg_accountId", + "type": 1,"group": "Получатель","name": "Наименование счета получателя","shortname": "Счет получателя","link": "bankAccount","linkCode": "account" + } + , + {"code": "swiftCode", + "type": 2,"length": 255,"group": "Получатель","shortname": "SWIFT","enabled": false + } + ] } , {"method":"post", - - "destination": "GTRD", - - "group": "Обмен с Торговой системой", - - "name": "Получение сделок из Торговой системы", - + + "destination": "GTRD", + + "group": "Обмен с Торговой системой", + + "name": "Получение сделок из Торговой системы", + "fields": [] } , {"method":"post", - - "destination": "CBRR", - - "group": "Обмен с интеграционными модулями", - - "name": "Загрузка кросс-курсов", - + + "destination": "CBRR", + + "group": "Обмен с интеграционными модулями", + + "name": "Загрузка кросс-курсов", + "fields": [] } , {"method":"post", - - "destination": "LIMM", - - "group": "Обмен с Торговой системой", - - "name": "Выгрузка в Торговую систему остатков по деньгам (отправка lim)", - + + "destination": "LIMM", + + "group": "Обмен с Торговой системой", + + "name": "Выгрузка в Торговую систему остатков по деньгам (отправка lim)", + "fields": [] } , {"method":"post", - - "destination": "LIMS", - - "group": "Обмен с Торговой системой", - - "name": "Выгрузка в Торговую систему остатков по бумагам (отправка lim)", - + + "destination": "LIMS", + + "group": "Обмен с Торговой системой", + + "name": "Выгрузка в Торговую систему остатков по бумагам (отправка lim)", + "fields": [] } , {"method":"post", - - "destination": "SCLR", - - "group": "Клиринг", - - "name": "Запуск клиринговой сессии", - - "confirmation": "section,sessionType", - + + "destination": "SCLR", + + "group": "Клиринг", + + "name": "Запуск клиринговой сессии", + + "confirmation": "section,sessionType", + "fields": [ - {"code": "section", - "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code","required": true - } - , - {"code": "sessionType", - "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code","required": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование инициатора","shortname": "Инициатор","link": "company","linkCode": "shortName","visible": false - } - , - {"code": "securityId", - "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false - } - ] + {"code": "section", + "type": 12,"name": "Секция","shortname": "Секция","link": "section","linkCode": "name","linkKeyCode": "code","required": true + } + , + {"code": "sessionType", + "type": 12,"name": "Тип клиринговой сессии","shortname": "Тип клиринговой сессии","link": "sessionType","linkCode": "name","linkKeyCode": "code","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование инициатора","shortname": "Инициатор","link": "company","linkCode": "shortName","visible": false + } + , + {"code": "securityId", + "type": 1,"name": "Наименование инструмента","shortname": "Инструмент","link": "security","linkCode": "shortName","visible": false + } + ] } , {"method":"post", - - "destination": "GREP", - - "group": "Формирование отчетности", - - "name": "Формирование промежуточной отчетности", - + + "destination": "GREP", + + "group": "Формирование отчетности", + + "name": "Формирование промежуточной отчетности", + "fields": [] } , {"method":"post", - - "destination": "GBRR", - - "group": "Формирование реестров", - - "name": "Формирование реестров за период", - + + "destination": "GBRR", + + "group": "Формирование реестров", + + "name": "Формирование реестров за период", + "fields": [ - {"code": "fromDate", - "type": 6,"name": "С дата","shortname": "с" - } - , - {"code": "toDate", - "type": 6,"name": "По дату","shortname": "по" - } - ] + {"code": "fromDate", + "type": 6,"name": "С дата","shortname": "с" + } + , + {"code": "toDate", + "type": 6,"name": "По дату","shortname": "по" + } + ] } , {"method":"post", - - "destination": "GRET", - - "group": "Формирование отчетности", - - "name": "Формирование отчетности PFX64/PFX65", - + + "destination": "GRET", + + "group": "Формирование отчетности", + + "name": "Формирование отчетности PFX64/PFX65", + "fields": [] } , {"method":"post", - - "destination": "GREF", - - "group": "Формирование отчетности", - - "name": "Формирование итоговой отчетности", - + + "destination": "GREF", + + "group": "Формирование отчетности", + + "name": "Формирование итоговой отчетности", + "fields": [] } , {"method":"post", - - "destination": "FDFF", - - "group": "Обмен с расчетной организацией", - - "name": "Формирование ДФ-05 с кодом 9 (финальный)", - + + "destination": "FDFF", + + "group": "Обмен с расчетной организацией", + + "name": "Формирование ДФ-05 с кодом 9 (финальный)", + "fields": [] } , {"method":"post", - - "destination": "CHDF", - - "group": "Общее", - - "name": "Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21", - + + "destination": "CHDF", + + "group": "Общее", + + "name": "Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21", + "fields": [] } , {"method":"post", - - "destination": "CCLR", - - "group": "Клиринг", - - "name": "Завершение неудачных клиринговых сессий", - + + "destination": "CCLR", + + "group": "Клиринг", + + "name": "Завершение неудачных клиринговых сессий", + "fields": [] } , {"method":"post", - - "destination": "MTCR", - - "group": "Обмен с интеграционными модулями", - - "name": "Выгрузка ТКР", - + + "destination": "MTCR", + + "group": "Обмен с интеграционными модулями", + + "name": "Выгрузка ТКР", + "fields": [] } ] - } -, - "session": { - - "name": "Клиринговые сессии", - - "destination": "sessions", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.misc.Session", - - "logUpdates": "true", - - "table": "session", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Завершено","searchable": true,"sortable": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sessionStatus", - "type": 12,"dbname": "Код статуса клиринговой сессии","name": "Статус клиринговой сессии","shortname": "Шаг","searchable": true,"sortable": true,"visible": true,"link": "sessionStatus" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор инициатора торгов","name": "Наименование инициатора торгов","shortname": "Инициатор","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"visible": true,"link": "security","linkCode": "shortName" - } - , - {"code": "userId", - "type": 1,"dbname": "Идентификатор пользователя","name": "Наименование пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" - } - , - {"code": "section", - "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" - } - , - {"code": "sessionType", - "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "sessionType" - } - , - {"code": "workflowStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus" - } - ] - - } -, - "sTrades": { - - "name": "Сделки из Торговой системы", - - "class": "ru.clearing.classes.statics.data.misc.STrades", - - "table": "s_trades", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "tradeNum", - "type": 1,"name": "Номер сделки","shortname": "Номер сделки","searchable": true,"sortable": true - } - , - {"code": "operation", - "type": 2,"length": 40,"name": "Направленность сделки (BUY или SELL)","shortname": "Направленность сделки","searchable": true,"sortable": true - } - , - {"code": "classCode", - "type": 2,"length": 255,"name": "Код класса инструментов","shortname": "Код класса инструментов","searchable": true,"sortable": true - } - , - {"code": "tradeDate", - "type": 6,"name": "Дата торговой сессии","shortname": "Дата торговой сессии","searchable": true,"sortable": true - } - , - {"code": "secCode", - "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код инструмента","searchable": true,"sortable": true - } - , - {"code": "accruedint", - "type": 10,"name": "Накопленный купонный доход","shortname": "НКД","searchable": true,"sortable": true - } - , - {"code": "accruedint2", - "type": 10,"name": "Доход(%) на дату выкупа","shortname": "Доход(%) на дату выкупа","searchable": true,"sortable": true - } - , - {"code": "lowerDiscount", - "type": 10,"name": "Нижний дисконт(%)","shortname": "Нижний дисконт(%)","searchable": true,"sortable": true - } - , - {"code": "orderNum", - "type": 1,"name": "Номер заявки","shortname": "Номер заявки","searchable": true,"sortable": true - } - , - {"code": "price", - "type": 10,"name": "Цена сделки","shortname": "Цена сделки","searchable": true,"sortable": true - } - , - {"code": "price2", - "type": 10,"name": "Цена выкупа второй части РЕПО","shortname": "Цена выкупа второй части РЕПО","searchable": true,"sortable": true - } - , - {"code": "repoRate", - "type": 10,"name": "Ставка РЕПО (%)","shortname": "Ставка РЕПО (%)","searchable": true,"sortable": true - } - , - {"code": "repoValue", - "type": 10,"name": "Сумма РЕПО","shortname": "Сумма РЕПО","searchable": true,"sortable": true - } - , - {"code": "repo2Value", - "type": 10,"name": "Объем сделки выкупа РЕПО, рублей","shortname": "Объем сделки выкупа РЕПО, рублей","searchable": true,"sortable": true - } - , - {"code": "startDiscount", - "type": 10,"name": "Начальный дисконт(%)","shortname": "Начальный дисконт(%)","searchable": true,"sortable": true - } - , - {"code": "tsCommission", - "type": 10,"name": "Комиссия торговой системы","shortname": "Комиссия торговой системы","searchable": true,"sortable": true - } - , - {"code": "upperDiscount", - "type": 10,"name": "Верхний дисконт(%)","shortname": "Верхний дисконт(%)","searchable": true,"sortable": true - } - , - {"code": "value", - "type": 10,"name": "Объем сделки без учета комиссионного сбора биржи и % дохода","shortname": "Объем сделки без сбора","searchable": true,"sortable": true - } - , - {"code": "yield", - "type": 10,"name": "Доходность","shortname": "Доходность","searchable": true,"sortable": true - } - , - {"code": "qty", - "type": 10,"name": "Количество бумаг в лотах","shortname": "Количество в лотах","searchable": true,"sortable": true - } - , - {"code": "qtyPcs", - "type": 10,"name": "Количество бумаг в штуках","shortname": "Количество в штуках","searchable": true,"sortable": true - } - , - {"code": "tradeDateTime", - "type": 4,"name": "Дата и время сделки","shortname": "Дата и время сделки","searchable": true,"sortable": true - } - , - {"code": "repoTerm", - "type": 3,"name": "Срок РЕПО","shortname": "Срок РЕПО","searchable": true,"sortable": true - } - , - {"code": "clearingCommission", - "type": 10,"name": "Клиринговая комиссия. Параметр сделок на МБ","shortname": "Клиринговая комиссия","searchable": true,"sortable": true - } - , - {"code": "exchangeCommission", - "type": 10,"name": "Комиссия Фондовой биржи. Параметр сделок на МБ","shortname": "Комиссия Фондовой биржи","searchable": true,"sortable": true - } - , - {"code": "techCenterCommission", - "type": 10,"name": "Комиссия Технического центра. Параметр сделок на МБ","shortname": "Комиссия Технического центра","searchable": true,"sortable": true - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Торговый счет","shortname": "Торговый счет","searchable": true,"sortable": true - } - , - {"code": "brokerRef", - "type": 2,"length": 34,"name": "Комментарий, обычно: код клиента>/номер поручения>","shortname": "Комментарий","searchable": true,"sortable": true - } - , - {"code": "clientCode", - "type": 2,"length": 255,"name": "Код участника торгов = Код участника клиринга = Код участника расчетов","shortname": "Код клиента","searchable": true,"sortable": true - } - , - {"code": "settleCode", - "type": 2,"length": 50,"name": "Код расчетов по сделке","shortname": "Код расчетов","searchable": true,"sortable": true - } - , - {"code": "userId", - "type": 2,"length": 32,"name": "Идентификатор трейдера","shortname": "Идентификатор трейдера","searchable": true,"sortable": true - } - , - {"code": "exchangeCode", - "type": 2,"length": 64,"name": "Идентификатор биржи","shortname": "Идентификатор биржи","searchable": true,"sortable": true - } - , - {"code": "firmId", - "type": 2,"length": 255,"name": "Трейдер","shortname": "Трейдер","searchable": true,"sortable": true - } - , - {"code": "firmName", - "type": 2,"length": 255,"name": "Организация трейдера","shortname": "Организация трейдера","searchable": true,"sortable": true - } - , - {"code": "cpFirmId", - "type": 2,"length": 255,"name": "Партнер","shortname": "Партнер","searchable": true,"sortable": true - } - , - {"code": "cpFirmName", - "type": 2,"length": 255,"name": "Организация партнера","shortname": "Организация партнера","searchable": true,"sortable": true - } - , - {"code": "className", - "type": 2,"length": 255,"name": "Класс инструмента","shortname": "Класс инструмента","searchable": true,"sortable": true - } - , - {"code": "secName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Полное наименование инструмента","searchable": true,"sortable": true - } - , - {"code": "settleDate", - "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true - } - , - {"code": "settleCurrency", - "type": 2,"length": 4,"name": "Валюта расчетов","shortname": "Валюта расчетов","searchable": true,"sortable": true - } - , - {"code": "tradeCurrency", - "type": 2,"length": 4,"name": "Валюта сделки","shortname": "Валюта сделки","searchable": true,"sortable": true - } - , - {"code": "tradeTimeMs", - "type": 3,"name": "Микросекунды времени сделки","shortname": "Микросекунды времени сделки","searchable": true,"sortable": true - } - , - {"code": "bankAccId", - "type": 2,"length": 12,"name": "Идентификатор расчетного счета/кода в клиринговой организации","shortname": "Код позиции","searchable": true,"sortable": true - } - , - {"code": "section", - "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" - } - ] - - } -, - "executionDeposit": { - - "name": "Сделки на секции МКР", - - "destination": "execution-deposits", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.execution.ExecutionDeposit", - - "logUpdates": "true", - - "table": "execution_deposit", - - "fields": [ - {"code": "exchangeExecutionId", - "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "exchangeExecutionTime", - "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "tradingDate", - "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "tradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code" - } - , - {"code": "partyTradingClearingRegistry", - "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр ","name": "Торгово-клиринговый регистр ","shortname": "ТКР ","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "market", - "type": 2,"length": 8,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true - } - , - {"code": "price", - "type": 10,"name": "Ставка по депозиту","shortname": "Ставка, %","visible": true,"searchable": true,"sortable": true - } - , - {"code": "lots", - "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true - } - , - {"code": "quantity", - "type": 11,"name": "Количество штук","shortname": "Штуки","visible": false,"searchable": true,"sortable": true - } - , - {"code": "firstLegAmount", - "type": 11,"name": "Объем сделки","shortname": "Объем","visible": true,"searchable": true,"sortable": true - } - , - {"code": "secondLegAmount", - "type": 11,"name": "Объем возврата","shortname": "Объем возврата","visible": false,"searchable": true,"sortable": true - } - , - {"code": "interestAmount", - "type": 11,"name": "Объем процентов","shortname": "Проценты","visible": false,"searchable": true,"sortable": true,"ignore": true - } - , - {"code": "side", - "type": 12,"dbname": "Код направления сделки","name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "moneyFlowSide" - } - , - {"code": "settlementCurrency", - "type": 12,"dbname": "Код валюты расчетов по инструменту","name": "Валюта расчетов по инструменту","shortname": "Валюта","visible": true,"searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "duration", - "type": 1,"name": "Срок, дней","shortname": "Срок","visible": true,"searchable": true,"sortable": true - } - , - {"code": "firstLegSettlementDate", - "type": 6,"name": "Дата размещения","shortname": "Дата размещения","visible": true,"searchable": true,"sortable": true - } - , - {"code": "secondLegSettlementDate", - "type": 6,"name": "Дата возврата","shortname": "Дата возврата","visible": true,"searchable": true,"sortable": true - } - , - {"code": "firstLegSettlementCode", - "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true - } - , - {"code": "secondLegSettlementCode", - "type": 2,"length": 12,"name": "Код расчетов при возврате","shortname": "Код расчетов","visible": false,"searchable": true,"sortable": true,"ignore": true - } - , - {"code": "securityFullName", - "type": 2,"length": 255,"name": "Наименование инструмента","shortname": "Инструмент","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securityCode", - "type": 2,"length": 255,"name": "Полный код инструмента со сроком","shortname": "Код инструмента","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "moneyMarketSecurity","linkCode": "securitySymbol","ignore": true - } - , - {"code": "contract", - "type": 2,"name": "Продукт","shortname": "Продукт","searchable": true,"sortable": true,"length": 255,"visible": true - } - , - {"code": "counterPartyId", - "type": 1,"dbname": "Идентификатор компании-партнера, с которой заключена сделка","name": "Наименование компании-партнера, с которой заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "counterPartyTradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code","ignore": true - } - , - {"code": "counterPartyTradingClearingRegistry", - "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true - } - , - {"code": "coverageStatus", - "type": 12,"dbname": "Код статуса достаточности обеспечения","name": "Статус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true - } - ] - - } -, - "executionFond": { - - "name": "Сделки на Фондовой секции", - - "destination": "execution-fonds", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.execution.ExecutionFond", - - "logUpdates": "true", - - "table": "execution_fond", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true - } - , - {"code": "exchangeExecutionId", - "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "side", - "type": 12,"dbname": "Код направления сделки","name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "side" - } - , - {"code": "market", - "type": 12,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true - } - , - {"code": "tradingDate", - "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "security","linkCode": "securitySymbol","ignore": true - } - , - {"code": "interestAmount", - "type": 11,"name": "НКД","shortname": "НКД","visible": true,"searchable": true,"sortable": true - } - , - {"code": "exchangeOrderId", - "type": 1,"name": "Идентификационный номер заявки в Торговой системе","shortname": "Номер заявки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "price", - "type": 10,"name": "Цена, %","shortname": "Цена, %","visible": true,"searchable": true,"sortable": true - } - , - {"code": "settlementAmount", - "type": 11,"name": "Объем сделки","shortname": "Объем","visible": true,"searchable": true,"sortable": true - } - , - {"code": "lots", - "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true - } - , - {"code": "quantity", - "type": 11,"name": "Количество штук","shortname": "Штуки","visible": false,"searchable": true,"sortable": true - } - , - {"code": "exchangeExecutionTime", - "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "duration", - "type": 1,"name": "Срок, дней","shortname": "Срок","visible": true,"searchable": true,"sortable": true - } - , - {"code": "tradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code" - } - , - {"code": "partyTradingClearingRegistry", - "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр ","name": "Торгово-клиринговый регистр ","shortname": "ТКР ","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "comment", - "type": 2,"name": "Комментарий","shortname": "Комментарий","searchable": true,"sortable": true,"length": 255 - } - , - {"code": "clientCodeId", - "type": 1,"dbname": "Идентификатор кода клиента","name": "Код клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "settlementCode", - "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "counterPartyId", - "type": 1,"dbname": "Идентификатор компании-партнера, с которой заключена сделка","name": "Наименование компании-партнера, с которой заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "counterPartyTradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code","ignore": true - } - , - {"code": "counterPartyTradingClearingRegistry", - "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securityFullName", - "type": 2,"length": 255,"name": "Наименование инструмента","shortname": "Инструмент","visible": true,"searchable": true,"sortable": true - } - , - {"code": "settlementDate", - "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","visible": true,"searchable": true,"sortable": true - } - , - {"code": "settlementCurrency", - "type": 12,"dbname": "Код валюты расчетов по инструменту","name": "Валюта расчетов по инструменту","shortname": "Валюта","visible": true,"searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "exchangeExecutionMicroseconds", - "type": 4,"name": "Микросекунды заключения сделки в Торговой системе","shortname": "Микросекунды заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "coverageStatus", - "type": 12,"dbname": "Код статуса достаточности обеспечения","name": "Статус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - ] - - } -, - "executionCurrency": { - - "name": "Сделки с валютными инструментами", - - "destination": "execution-currency", - - "class": "ru.clearing.classes.statics.data.execution.ExecutionCurrency", - - "logUpdates": "true", - - "table": "execution_currency", - - "fields": [ - {"code": "exchangeExecutionId", - "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "exchangeExecutionTime", - "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "exchangeExecutionMicroseconds", - "type": 4,"name": "Микросекунды заключения сделки в Торговой системе","shortname": "Микросекунды заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "tradingDate", - "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "settlementDate", - "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","visible": true,"searchable": true,"sortable": true - } - , - {"code": "settlementCode", - "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "security","linkCode": "securitySymbol","ignore": true - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securityName", - "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Наименование инструмента","searchable": true,"sortable": true,"visible": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "partyTradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code" - } - , - {"code": "partyTradingClearingRegistry", - "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр ","name": "Торгово-клиринговый регистр ","shortname": "ТКР ","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "counterPartyId", - "type": 1,"dbname": "Идентификатор компании-партнера, с которой заключена сделка","name": "Наименование компании-партнера, с которой заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "counterPartyTradingClearingRegistryId", - "type": 1,"dbname": "Идентификатор торгово-клирингового регистра партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code","ignore": true - } - , - {"code": "counterPartyTradingClearingRegistry", - "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true - } - , - {"code": "market", - "type": 12,"dbname": "Код секции валютного инструмента","name": "Секция валютного инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkKeyCode": "code","linkCode": "description" - } - , - {"code": "price", - "type": 10,"name": "Цена","shortname": "Цена","visible": true,"searchable": true,"sortable": true - } - , - {"code": "lotSize", - "type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing" - } - , - {"code": "lots", - "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true - } - , - {"code": "settlementAmount", - "type": 11,"name": "Объем сделки в валюте лота","shortname": "Объем в валюте","visible": true,"searchable": true,"sortable": true - } - , - {"code": "quantity", - "type": 11,"name": "Количество штук","shortname": "Количество штук","visible": true,"searchable": true,"sortable": true - } - , - {"code": "side", - "type": 12,"dbname": "Код направления сделки","name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "side" - } - , - {"code": "currencyCode", - "type": 12,"name": "Код валюты лота","shortname": "Код валюты лота","searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "settlementOrganization", - "type": 2,"length": 255,"name": "Наименование расчетной организации","shortname": "Расчетная организация","searchable": true,"sortable": true,"visible": true - } - , - {"code": "coverageStatus", - "type": 12,"dbname": "Код статуса достаточности обеспечения","name": "Статус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true - } - ] - - } -, - "depoBalanceRegister": { - - "name": "Реестр остатков ценных бумаг", - - "destination": "depo-balance-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.DepoBalanceRegister", - - "table": "balance_depo_register", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session","ignore": true - } - , - {"code": "setHouseName", - "type": 2,"length": 255,"name": "Наименование РД","shortname": "Наименование РД","searchable": true,"sortable": true,"visible": true - } - , - {"code": "number", - "type": 2,"length": 255,"name": "Номер отчета","shortname": "Номер отчета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCode", - "type": 2,"length": 50,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true - } - , - {"code": "quantity", - "type": 11,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true - } - ] - - } -, - "moneyBalanceRegister": { - - "name": "Реестр остатков денежных средств", - - "destination": "money-balance-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.MoneyBalanceRegister", - - "table": "money_balance_register", - - "fields": [ - {"code": "setHouseName", - "type": 2,"length": 255,"name": "Наименование РО","shortname": "Наименование РО","searchable": true,"sortable": true,"visible": true - } - , - {"code": "number", - "type": 2,"length": 255,"name": "Номер отчета","shortname": "Номер отчета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true - } - , - {"code": "currencyCode", - "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Номер торгового /клирингового счета/ счета внутреннего учета СПВБ","shortname": "Счет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "remainderSum", - "type": 10,"name": "Остаток денежных средств","shortname": "Остаток","searchable": true,"sortable": true - } - , - {"code": "infoAccount", - "type": 2,"length": 50,"name": "Номер счета внутреннего учета СПВБ","shortname": "Номер счета внутреннего учета СПВБ","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "companyFullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "inn", - "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН","searchable": true,"sortable": true,"visible": true,"ignore": true - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session","ignore": true - } - , - {"code": "blockedSum", - "type": 10,"name": "Сумма блокированных денежных средств","shortname": "Блокированные","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "unblockedSum", - "type": 10,"name": "Сумма свободных денежных средств","shortname": "Свободные","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "admittedLiabilitiesRegister": { - - "name": "Реестр обязательств, допущенных к клирингу", - - "destination": "admitted-liabilities-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.AdmittedLiabilitiesRegister", - - "table": "admitted_liabilities_register", - - "fields": [ - {"code": "companyFullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityFullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Полное наименование инструмента","searchable": true,"sortable": true,"visible": false - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Счет компании","shortname": "Счет компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "amount", - "type": 10,"name": "Сумма обязательств","shortname": "Сумма обязательств","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": false - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"visible": false - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","searchable": true,"sortable": true,"visible": false - } - ] - - } -, - "coveredLiabilitiesRegister": { - - "name": "Реестр обязательств, прошедших процедуру контроля обеспечения", - - "destination": "covered-liabilities-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.CoveredLiabilitiesRegister", - - "table": "covered_Liabilities_register", - - "fields": [ - {"code": "companyFullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityFullName", - "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Полное наименование инструмента","searchable": true,"sortable": true,"visible": false - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Счет компании","shortname": "Счет компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "amount", - "type": 10,"name": "Сумма обязательств","shortname": "Сумма обязательств","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": false - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"visible": false - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","searchable": true,"sortable": true,"visible": false - } - ] - - } -, - "moneyPaymentInstructionRegister": { - - "name": "Реестр распоряжений, направленных расчетной организации", - - "destination": "money-payment-instruction-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.MoneyPaymentInstructionRegister", - - "table": "money_payment_instruction_register", - - "fields": [ - {"code": "creditLegAccount", - "type": 2,"length": 50,"name": "Счет отправителя","shortname": "Счет отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "creditLegAmount", - "type": 10,"name": "Сумма отправителя","shortname": "Сумма отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "creditLegCurrencyCode", - "type": 12,"dbname": "Код валюты отправителя","name": "Наименование валюты отправителя","shortname": "Валюта отправителя","searchable": true,"sortable": true,"visible": true,"link": "currency" - } - , - {"code": "debitLegAccount", - "type": 2,"length": 50,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sender", - "type": 2,"length": 255,"name": "Отправитель","shortname": "Отправитель","searchable": true,"sortable": true,"visible": true - } - , - {"code": "addressee", - "type": 2,"length": 255,"name": "Получатель","shortname": "Получатель","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата расчета","shortname": "Дата расчета","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "depoPaymentInstructionRegister": { - - "name": "Реестр распоряжений, направленных расчетному депозитарию", - - "destination": "depo-payment-instruction-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.DepoPaymentInstructionRegister", - - "table": "depo_payment_instruction_register", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "tradingClearingRegistryType", - "type": 2,"length": 255,"name": "Тип торгово-клирингового регистра","shortname": "Тип ТКР","searchable": true,"sortable": true,"visible": true - } - , - {"code": "tradingClearingRegistry", - "type": 2,"length": 50,"name": "Торгово-клиринговый регистр","shortname": "ТКР","searchable": true,"sortable": true - } - , - {"code": "cbCode", - "type": 2,"length": 50,"name": "Код ЦБ","shortname": "Код ЦБ","searchable": true,"sortable": true - } - , - {"code": "quantity", - "type": 11,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "direction", - "type": 1,"name": "Направление","shortname": "Направление","searchable": true,"sortable": true,"link": "inOutDirection","ignore": true - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - ] - - } -, - "excludeLiabilitiesRegister": { - - "name": "Реестр обязательств, исключенных из клирингового пула", - - "destination": "exclude-liabilities-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.ExcludeLiabilitiesRegister", - - "table": "exclude_liabilities_register", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - , - {"code": "validFromDate", - "type": 6,"name": "Дата начала сессии","shortname": "Дата начала сессии","searchable": true,"sortable": true - } - , - {"code": "validToDate", - "type": 6,"name": "Дата окончания сессии","shortname": "Дата окончания сессии","searchable": true,"sortable": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "companyFullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn", - "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН","searchable": true,"sortable": true,"visible": true - } - , - {"code": "segment", - "type": 2,"length": 10,"name": "Сегмент","shortname": "Сегмент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registryCode", - "type": 12,"dbname": "Код регистра","name": "Описание регистра","shortname": "Код регистра","searchable": true,"sortable": true,"link": "tradingClearingRegistryType" - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Наименование счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registryStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true - } - , - {"code": "currency", - "type": 12,"dbname": "Код валюты отправителя","name": "Наименование валюты отправителя","shortname": "Валюта отправителя","searchable": true,"sortable": true,"visible": true,"link": "currency" - } - , - {"code": "sumLiabilities", - "type": 10,"name": "Сумма обязательств","shortname": "Обязательства","searchable": true,"sortable": true,"visible": true - } - , - {"code": "settlementDate", - "type": 6,"name": "Дата расчета","shortname": "Расчет","searchable": true,"sortable": true - } - ] - - } -, - "pairSdf": { - - "name": "Пары файлов", - - "destination": "pair-sdf", - - "class": "ru.clearing.classes.statics.data.register.PairSdf", - - "table": "pair_sdf", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inSDfId", - "type": 2,"length": 255,"name": "Идентификатор входящего файла","shortname": "Входящая запись","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "inSDf", - "type": 2,"length": 255,"name": "Входящий файл","shortname": "Входящий","searchable": true,"sortable": true,"visible": true - } - , - {"code": "outSDfId", - "type": 2,"length": 255,"name": "Идентификатор исходящего файла","shortname": "Исходящий файл","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "outSDf", - "type": 2,"length": 255,"name": "Исходящий файл","shortname": "Исходящий файл","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "gatewayResult": { - - "name": "Результаты запросов к ТС", - - "destination": "gateway-result", - - "class": "ru.clearing.classes.statics.data.register.GatewayResult", - - "table": "gateway_result", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"visible": true - } - , - {"code": "requestId", - "type": 2,"length": 255,"name": "ID запроса","shortname": "ID","searchable": true,"sortable": true,"visible": true - } - , - {"code": "nameRequest", - "type": 2,"length": 255,"name": "Наименование запроса","shortname": "Наименование","searchable": true,"sortable": true,"visible": true - } - , - {"code": "request", - "type": 2,"length": 1023,"name": "Тело запроса","shortname": "Запрос","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 2,"length": 1023,"name": "Тело ответа","shortname": "Ответ","searchable": true,"sortable": true,"visible": true - } - , - {"code": "gatewayResultStatus", - "type": 12,"name": "Статус запроса","shortname": "Статус","searchable": true,"sortable": true,"link": "gatewayResultStatus","visible": true - } - ] - - } -, - "liabilitiesRegister": { - - "name": "Реестр учета обязательств", - - "destination": "liabilities-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.LiabilitiesRegister", - - "table": "liabilities_register", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - , - {"code": "validFromDate", - "type": 6,"name": "Дата начала сессии","shortname": "Дата начала сессии","searchable": true,"sortable": true - } - , - {"code": "validToDate", - "type": 6,"name": "Дата окончания сессии","shortname": "Дата окончания сессии","searchable": true,"sortable": true - } - , - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "companyFullName", - "type": 2,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"length": 255,"visible": true - } - , - {"code": "inn", - "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН","searchable": true,"sortable": true,"visible": true - } - , - {"code": "segment", - "type": 2,"length": 10,"name": "Сегмент","shortname": "Сегмент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registryCode", - "type": 12,"dbname": "Код регистра","name": "Описание регистра","shortname": "Код регистра","searchable": true,"sortable": true,"link": "tradingClearingRegistryType" - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Наименование счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registryStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true - } - , - {"code": "currency", - "type": 12,"dbname": "Код валюты отправителя","name": "Наименование валюты отправителя","shortname": "Валюта отправителя","searchable": true,"sortable": true,"visible": true,"link": "currency" - } - , - {"code": "sumLiabilities", - "type": 10,"name": "Сумма обязательств","shortname": "Обязательства","searchable": true,"sortable": true,"visible": true - } - , - {"code": "settlementDate", - "type": 6,"name": "Дата расчета","shortname": "Расчет","searchable": true,"sortable": true - } - ] - - } -, - "executionRegister": { - - "name": "Реестр сделок", - - "destination": "execution-registers", - - "historyDestination": "history", - - "class": "ru.clearing.classes.statics.data.register.ExecutionRegister", - - "table": "execution_register", - - "fields": [ - {"code": "tradingDate", - "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "exchangeExecutionId", - "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "exchangeExecutionTime", - "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "security","linkCode": "securitySymbol" - } - , - {"code": "sellerId", - "type": 1,"dbname": "Идентификатор компании-продавца","name": "Наименование компании-продавца","shortname": "Продавец","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "sellerClearingCode", - "type": 2,"length": 255,"name": "Клиринговый код продавца","shortname": "Код продавца","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sellerTradingClearingRegister", - "type": 2,"length": 255,"name": "Торгово-клиринговый регистр продавца","shortname": "ТКР продавца","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sellerMoneyAccount", - "type": 2,"length": 50,"name": "Денежный счет продавца","shortname": "Денежный счет продавца","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sellerDepoAccount", - "type": 2,"length": 50,"name": "Депо счет продавца","shortname": "Депо счет продавца","searchable": true,"sortable": true,"visible": true - } - , - {"code": "buyerId", - "type": 1,"dbname": "Идентификатор компании-покупателя","name": "Наименование компании-покупателя","shortname": "Покупатель","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "buyerClearingCode", - "type": 2,"length": 255,"name": "Клиринговый код покупателя","shortname": "Код покупателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "buyerTradingClearingRegister", - "type": 2,"length": 255,"name": "Торгово-клиринговый регистр покупателя","shortname": "ТКР покупателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "buyerMoneyAccount", - "type": 2,"length": 50,"name": "Денежный счет покупателя","shortname": "Денежный счет покупателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "buyerDepoAccount", - "type": 2,"length": 50,"name": "Депо счет покупателя","shortname": "Депо счет покупателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "amount", - "type": 11,"name": "Сумма сделки","shortname": "Сумма сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "quantity", - "type": 11,"name": "Количество ценных бумаг","shortname": "Количество ценных бумаг","visible": false,"searchable": true,"sortable": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true - } - ] - - } -, - "statement": { - - "name": "Транзакции по деньгам/бумагам", - - "destination": "statements", - - "class": "ru.clearing.classes.statics.data.statement.Statement", - - "table": "statement", - - "fields": [ - {"code": "addresseeId", - "type": 1,"dbname": "Идентификатор компании-получателя","name": "Наименование компании-получателя","shortname": "Получатель","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "senderId", - "type": 1,"dbname": "Идентификатор компании-отправителя","name": "Наименование компании-отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "statementType", - "type": 12,"dbname": "Код типа поступления средств","name": "Наименование типа поступления средств","shortname": "Тип поступления средств","searchable": true,"sortable": true,"link": "statementType" - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"visible": true,"link": "security","linkCode": "shortName" - } - , - {"code": "contract", - "type": 2,"length": 255,"name": "Продукт","shortname": "Продукт","searchable": true,"sortable": true,"visible": true - } - , - {"code": "comment", - "type": 2,"length": 255,"name": "Комментарий","shortname": "Основание","searchable": true,"sortable": true - } - , - {"code": "accountId", - "type": 1,"dbname": "Идентификатор счета","name": "Наименование счета","shortname": "Счет","searchable": true,"sortable": true,"link": "account","ignore": true - } - , - {"code": "account", - "type": 2,"length": 50,"name": "Наименование счета","shortname": "Счет","searchable": true,"sortable": true - } - , - {"code": "inOutDirection", - "type": 12,"dbname": "Код направления","name": "Наименование направления","shortname": "Направление","searchable": true,"sortable": true,"link": "inOutDirection" - } - , - {"code": "settlementDate", - "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true - } - , - {"code": "amount", - "type": 11,"name": "Объем","shortname": "Объем","searchable": true,"sortable": true,"visible": true - } - , - {"code": "operationStatus", - "type": 12,"dbname": "Код статуса обработки","name": "Наименование статуса обработки","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "operationStatus" - } - , - {"code": "errorCodeId", - "type": 1,"dbname": "Идентификатор кода ошибки","name": "Код ошибки","shortname": "Код ошибки","searchable": true,"sortable": true,"visible": true,"link": "errorCode","linkCode": "code","linkKeyCode": "id" - } - , - {"code": "errorTextId", - "type": 1,"dbname": "Идентификатор полного текста ошибки","name": "Полный текст ошибки","shortname": "Ошибка","searchable": true,"sortable": true,"visible": true,"link": "errorText","linkCode": "text" - } - , - {"code": "inSDfId", - "type": 1,"name": "Идентификатор записи, инициировавшая изменения этой таблицы","shortname": "Входящая запись","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "outSDfId", - "type": 1,"name": "Идентификатор записи, сформированная в результате изменения этой таблицы","shortname": "Исходящая запись","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "inOutSDfType", - "type": 12,"dbname": "Код типа входящей и исходящей записей","name": "Типы входящей и исходящей записей","shortname": "Типы входящей и исходящей записей","searchable": true,"sortable": true,"ignore": true,"link": "inOutSDfType" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата расчета","shortname": "Дата расчета","searchable": true,"sortable": true,"visible": true,"ignore": true - } - ] - - } -, - "paymentInstruction": { - - "name": "Платежные поручения", - - "destination": "payment-instructions", - - "class": "ru.clearing.classes.statics.data.payment.PaymentInstruction", - - "table": "payment_instruction", - - "fields": [ - {"code": "senderId", - "type": 1,"dbname": "Идентификатор компании-отправителя","name": "Наименование компании-отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"link": "company","linkCode": "shortName","visible": true - } - , - {"code": "addresseeId", - "type": 1,"dbname": "Идентификатор компании-получателя","name": "Наименование компании-получателя","shortname": "Получатель","searchable": true,"sortable": true,"link": "company","linkCode": "shortName","visible": true - } - , - {"code": "payeeBic", - "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК) отправителя","shortname": "БИК отправителя","searchable": true,"sortable": true - } - , - {"code": "adresseeBic", - "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК) получателя","shortname": "БИК получателя","searchable": true,"sortable": true - } - , - {"code": "payeeBankName", - "type": 2,"length": 255,"name": "Наименование банка отправителя","shortname": "Банк отправителя","searchable": true,"sortable": true - } - , - {"code": "addresseeBankName", - "type": 2,"length": 255,"name": "Наименование банка получателя","shortname": "Банк получателя","searchable": true,"sortable": true - } - , - {"code": "paymentDate", - "type": 4,"name": "Дата и время платежа","shortname": "Дата и время платежа","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "paymentPurpose", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение","searchable": true,"sortable": true,"visible": true - } - , - {"code": "settlementDate", - "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true,"visible": true - } - , - {"code": "creditLeg_amount", - "type": 10,"name": "Сумма отправителя","shortname": "Сумма отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "debitLeg_amount", - "type": 10,"name": "Сумма получателя","shortname": "Сумма получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "creditLeg_accountId", - "type": 1,"dbname": "Идентификатор счета отправителя","name": "Счет отправителя","shortname": "Счет отправителя","searchable": true,"sortable": true,"link": "account","ignore": true - } - , - {"code": "credit_csAccount", - "type": 2,"length": 255,"name": "Корреспондентский счет отправителя","shortname": "Корр. счет отправителя","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "creditLeg_account", - "type": 2,"length": 50,"name": "Счет отправителя","shortname": "Счет отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "debitLeg_accountId", - "type": 1,"dbname": "Идентификатор счета получателя","name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"link": "account","ignore": true - } - , - {"code": "debit_csAccount", - "type": 2,"length": 255,"name": "Корреспондентский счет получателя","shortname": "Корр. счет получателя","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "debitLeg_account", - "type": 2,"length": 50,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "creditLeg_direction", - "type": 12,"dbname": "Код направления отправителя","name": "Наименование направления отправителя","shortname": "Направление отправителя","searchable": true,"sortable": true,"link": "inOutDirection","ignore": true - } - , - {"code": "debitLeg_direction", - "type": 12,"dbname": "Код направления получателя","name": "Наименование направления получателя","shortname": "Направление получателя","searchable": true,"sortable": true,"link": "inOutDirection","ignore": true - } - , - {"code": "creditLeg_currencyCode", - "type": 12,"dbname": "Код валюты отправителя","name": "Наименование валюты отправителя","shortname": "Валюта отправителя","searchable": true,"sortable": true,"link": "currency" - } - , - {"code": "debitLeg_currencyCode", - "type": 12,"dbname": "Код валюты получателя","name": "Наименование валюты получателя","shortname": "Валюта получателя","searchable": true,"sortable": true,"link": "currency" - } - , - {"code": "creditLeg_securityId", - "type": 1,"dbname": "Идентификатор инструмента отправителя","name": "Наименование инструмента отправителя","shortname": "Инструмент отправителя","searchable": false,"sortable": true,"visible": true,"link": "security" - } - , - {"code": "debitLeg_securityId", - "type": 1,"dbname": "Идентификатор инструмента получателя","name": "Наименование инструмента получателя","shortname": "Инструмент получателя","searchable": false,"sortable": true,"visible": true,"link": "security" - } - , - {"code": "transactionStatus", - "type": 12,"dbname": "Код статуса транзакции","name": "Наименование статуса транзакции","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "transactionStatus","ignore": true - } - , - {"code": "documentNumber", - "type": 2,"length": 255,"name": "Номер документа в сторонней системе","shortname": "Номер РО","searchable": true,"sortable": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата расчета","shortname": "Дата расчета","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - ] - ,"actions":[ + } + , + "session": { + + "name": "Клиринговые сессии", + + "destination": "sessions", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.misc.Session", + + "logUpdates": "true", + + "table": "session", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Завершено","searchable": true,"sortable": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sessionStatus", + "type": 12,"dbname": "Код статуса клиринговой сессии","name": "Статус клиринговой сессии","shortname": "Шаг","searchable": true,"sortable": true,"visible": true,"link": "sessionStatus" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор инициатора торгов","name": "Наименование инициатора торгов","shortname": "Инициатор","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"visible": true,"link": "security","linkCode": "shortName" + } + , + {"code": "userId", + "type": 1,"dbname": "Идентификатор пользователя","name": "Наименование пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" + } + , + {"code": "section", + "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" + } + , + {"code": "sessionType", + "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "sessionType" + } + , + {"code": "workflowStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "workflowStatus" + } + ] + + } + , + "sTrades": { + + "name": "Сделки из Торговой системы", + + "class": "ru.clearing.classes.statics.data.misc.STrades", + + "table": "s_trades", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "tradeNum", + "type": 1,"name": "Номер сделки","shortname": "Номер сделки","searchable": true,"sortable": true + } + , + {"code": "operation", + "type": 2,"length": 40,"name": "Направленность сделки (BUY или SELL)","shortname": "Направленность сделки","searchable": true,"sortable": true + } + , + {"code": "classCode", + "type": 2,"length": 255,"name": "Код класса инструментов","shortname": "Код класса инструментов","searchable": true,"sortable": true + } + , + {"code": "tradeDate", + "type": 6,"name": "Дата торговой сессии","shortname": "Дата торговой сессии","searchable": true,"sortable": true + } + , + {"code": "secCode", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код инструмента","searchable": true,"sortable": true + } + , + {"code": "accruedint", + "type": 10,"name": "Накопленный купонный доход","shortname": "НКД","searchable": true,"sortable": true + } + , + {"code": "accruedint2", + "type": 10,"name": "Доход(%) на дату выкупа","shortname": "Доход(%) на дату выкупа","searchable": true,"sortable": true + } + , + {"code": "lowerDiscount", + "type": 10,"name": "Нижний дисконт(%)","shortname": "Нижний дисконт(%)","searchable": true,"sortable": true + } + , + {"code": "orderNum", + "type": 1,"name": "Номер заявки","shortname": "Номер заявки","searchable": true,"sortable": true + } + , + {"code": "price", + "type": 10,"name": "Цена сделки","shortname": "Цена сделки","searchable": true,"sortable": true + } + , + {"code": "price2", + "type": 10,"name": "Цена выкупа второй части РЕПО","shortname": "Цена выкупа второй части РЕПО","searchable": true,"sortable": true + } + , + {"code": "repoRate", + "type": 10,"name": "Ставка РЕПО (%)","shortname": "Ставка РЕПО (%)","searchable": true,"sortable": true + } + , + {"code": "repoValue", + "type": 10,"name": "Сумма РЕПО","shortname": "Сумма РЕПО","searchable": true,"sortable": true + } + , + {"code": "repo2Value", + "type": 10,"name": "Объем сделки выкупа РЕПО, рублей","shortname": "Объем сделки выкупа РЕПО, рублей","searchable": true,"sortable": true + } + , + {"code": "startDiscount", + "type": 10,"name": "Начальный дисконт(%)","shortname": "Начальный дисконт(%)","searchable": true,"sortable": true + } + , + {"code": "tsCommission", + "type": 10,"name": "Комиссия торговой системы","shortname": "Комиссия торговой системы","searchable": true,"sortable": true + } + , + {"code": "upperDiscount", + "type": 10,"name": "Верхний дисконт(%)","shortname": "Верхний дисконт(%)","searchable": true,"sortable": true + } + , + {"code": "value", + "type": 10,"name": "Объем сделки без учета комиссионного сбора биржи и % дохода","shortname": "Объем сделки без сбора","searchable": true,"sortable": true + } + , + {"code": "yield", + "type": 10,"name": "Доходность","shortname": "Доходность","searchable": true,"sortable": true + } + , + {"code": "qty", + "type": 10,"name": "Количество бумаг в лотах","shortname": "Количество в лотах","searchable": true,"sortable": true + } + , + {"code": "qtyPcs", + "type": 10,"name": "Количество бумаг в штуках","shortname": "Количество в штуках","searchable": true,"sortable": true + } + , + {"code": "tradeDateTime", + "type": 4,"name": "Дата и время сделки","shortname": "Дата и время сделки","searchable": true,"sortable": true + } + , + {"code": "repoTerm", + "type": 3,"name": "Срок РЕПО","shortname": "Срок РЕПО","searchable": true,"sortable": true + } + , + {"code": "clearingCommission", + "type": 10,"name": "Клиринговая комиссия. Параметр сделок на МБ","shortname": "Клиринговая комиссия","searchable": true,"sortable": true + } + , + {"code": "exchangeCommission", + "type": 10,"name": "Комиссия Фондовой биржи. Параметр сделок на МБ","shortname": "Комиссия Фондовой биржи","searchable": true,"sortable": true + } + , + {"code": "techCenterCommission", + "type": 10,"name": "Комиссия Технического центра. Параметр сделок на МБ","shortname": "Комиссия Технического центра","searchable": true,"sortable": true + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Торговый счет","shortname": "Торговый счет","searchable": true,"sortable": true + } + , + {"code": "brokerRef", + "type": 2,"length": 34,"name": "Комментарий, обычно: код клиента>/номер поручения>","shortname": "Комментарий","searchable": true,"sortable": true + } + , + {"code": "clientCode", + "type": 2,"length": 255,"name": "Код участника торгов = Код участника клиринга = Код участника расчетов","shortname": "Код клиента","searchable": true,"sortable": true + } + , + {"code": "settleCode", + "type": 2,"length": 50,"name": "Код расчетов по сделке","shortname": "Код расчетов","searchable": true,"sortable": true + } + , + {"code": "userId", + "type": 2,"length": 32,"name": "Идентификатор трейдера","shortname": "Идентификатор трейдера","searchable": true,"sortable": true + } + , + {"code": "exchangeCode", + "type": 2,"length": 64,"name": "Идентификатор биржи","shortname": "Идентификатор биржи","searchable": true,"sortable": true + } + , + {"code": "firmId", + "type": 2,"length": 255,"name": "Трейдер","shortname": "Трейдер","searchable": true,"sortable": true + } + , + {"code": "firmName", + "type": 2,"length": 255,"name": "Организация трейдера","shortname": "Организация трейдера","searchable": true,"sortable": true + } + , + {"code": "cpFirmId", + "type": 2,"length": 255,"name": "Партнер","shortname": "Партнер","searchable": true,"sortable": true + } + , + {"code": "cpFirmName", + "type": 2,"length": 255,"name": "Организация партнера","shortname": "Организация партнера","searchable": true,"sortable": true + } + , + {"code": "className", + "type": 2,"length": 255,"name": "Класс инструмента","shortname": "Класс инструмента","searchable": true,"sortable": true + } + , + {"code": "secName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Полное наименование инструмента","searchable": true,"sortable": true + } + , + {"code": "settleDate", + "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true + } + , + {"code": "settleCurrency", + "type": 2,"length": 4,"name": "Валюта расчетов","shortname": "Валюта расчетов","searchable": true,"sortable": true + } + , + {"code": "tradeCurrency", + "type": 2,"length": 4,"name": "Валюта сделки","shortname": "Валюта сделки","searchable": true,"sortable": true + } + , + {"code": "tradeTimeMs", + "type": 3,"name": "Микросекунды времени сделки","shortname": "Микросекунды времени сделки","searchable": true,"sortable": true + } + , + {"code": "bankAccId", + "type": 2,"length": 12,"name": "Идентификатор расчетного счета/кода в клиринговой организации","shortname": "Код позиции","searchable": true,"sortable": true + } + , + {"code": "section", + "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" + } + ] + + } + , + "executionDeposit": { + + "name": "Сделки на секции МКР", + + "destination": "execution-deposits", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.execution.ExecutionDeposit", + + "logUpdates": "true", + + "table": "execution_deposit", + + "fields": [ + {"code": "exchangeExecutionId", + "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionTime", + "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "tradingDate", + "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code" + } + , + {"code": "partyTradingClearingRegistry", + "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр ","name": "Торгово-клиринговый регистр ","shortname": "ТКР ","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "market", + "type": 2,"length": 8,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true + } + , + {"code": "price", + "type": 10,"name": "Ставка по депозиту","shortname": "Ставка, %","visible": true,"searchable": true,"sortable": true + } + , + {"code": "lots", + "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 11,"name": "Количество штук","shortname": "Штуки","visible": false,"searchable": true,"sortable": true + } + , + {"code": "firstLegAmount", + "type": 11,"name": "Объем сделки","shortname": "Объем","visible": true,"searchable": true,"sortable": true + } + , + {"code": "secondLegAmount", + "type": 11,"name": "Объем возврата","shortname": "Объем возврата","visible": false,"searchable": true,"sortable": true + } + , + {"code": "interestAmount", + "type": 11,"name": "Объем процентов","shortname": "Проценты","visible": false,"searchable": true,"sortable": true,"ignore": true + } + , + {"code": "side", + "type": 12,"dbname": "Код направления сделки","name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "moneyFlowSide" + } + , + {"code": "settlementCurrency", + "type": 12,"dbname": "Код валюты расчетов по инструменту","name": "Валюта расчетов по инструменту","shortname": "Валюта","visible": true,"searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "duration", + "type": 1,"name": "Срок, дней","shortname": "Срок","visible": true,"searchable": true,"sortable": true + } + , + {"code": "firstLegSettlementDate", + "type": 6,"name": "Дата размещения","shortname": "Дата размещения","visible": true,"searchable": true,"sortable": true + } + , + {"code": "secondLegSettlementDate", + "type": 6,"name": "Дата возврата","shortname": "Дата возврата","visible": true,"searchable": true,"sortable": true + } + , + {"code": "firstLegSettlementCode", + "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true + } + , + {"code": "secondLegSettlementCode", + "type": 2,"length": 12,"name": "Код расчетов при возврате","shortname": "Код расчетов","visible": false,"searchable": true,"sortable": true,"ignore": true + } + , + {"code": "securityFullName", + "type": 2,"length": 255,"name": "Наименование инструмента","shortname": "Инструмент","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securityCode", + "type": 2,"length": 255,"name": "Полный код инструмента со сроком","shortname": "Код инструмента","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "moneyMarketSecurity","linkCode": "securitySymbol","ignore": true + } + , + {"code": "contract", + "type": 2,"name": "Продукт","shortname": "Продукт","searchable": true,"sortable": true,"length": 255,"visible": true + } + , + {"code": "counterPartyId", + "type": 1,"dbname": "Идентификатор компании-партнера, с которой заключена сделка","name": "Наименование компании-партнера, с которой заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "counterPartyTradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code","ignore": true + } + , + {"code": "counterPartyTradingClearingRegistry", + "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true + } + , + {"code": "coverageStatus", + "type": 12,"dbname": "Код статуса достаточности обеспечения","name": "Статус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true + } + ] + + } + , + "executionFond": { + + "name": "Сделки на Фондовой секции", + + "destination": "execution-fonds", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.execution.ExecutionFond", + + "logUpdates": "true", + + "table": "execution_fond", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionId", + "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "side", + "type": 12,"dbname": "Код направления сделки","name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "side" + } + , + {"code": "market", + "type": 12,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true + } + , + {"code": "tradingDate", + "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "security","linkCode": "securitySymbol","ignore": true + } + , + {"code": "interestAmount", + "type": 11,"name": "НКД","shortname": "НКД","visible": true,"searchable": true,"sortable": true + } + , + {"code": "exchangeOrderId", + "type": 1,"name": "Идентификационный номер заявки в Торговой системе","shortname": "Номер заявки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "price", + "type": 10,"name": "Цена, %","shortname": "Цена, %","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementAmount", + "type": 11,"name": "Объем сделки","shortname": "Объем","visible": true,"searchable": true,"sortable": true + } + , + {"code": "lots", + "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 11,"name": "Количество штук","shortname": "Штуки","visible": false,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionTime", + "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "duration", + "type": 1,"name": "Срок, дней","shortname": "Срок","visible": true,"searchable": true,"sortable": true + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code" + } + , + {"code": "partyTradingClearingRegistry", + "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр ","name": "Торгово-клиринговый регистр ","shortname": "ТКР ","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "comment", + "type": 2,"name": "Комментарий","shortname": "Комментарий","searchable": true,"sortable": true,"length": 255 + } + , + {"code": "clientCodeId", + "type": 1,"dbname": "Идентификатор кода клиента","name": "Код клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "settlementCode", + "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "counterPartyId", + "type": 1,"dbname": "Идентификатор компании-партнера, с которой заключена сделка","name": "Наименование компании-партнера, с которой заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "counterPartyTradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code","ignore": true + } + , + {"code": "counterPartyTradingClearingRegistry", + "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securityFullName", + "type": 2,"length": 255,"name": "Наименование инструмента","shortname": "Инструмент","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementDate", + "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementCurrency", + "type": 12,"dbname": "Код валюты расчетов по инструменту","name": "Валюта расчетов по инструменту","shortname": "Валюта","visible": true,"searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "exchangeExecutionMicroseconds", + "type": 4,"name": "Микросекунды заключения сделки в Торговой системе","shortname": "Микросекунды заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "coverageStatus", + "type": 12,"dbname": "Код статуса достаточности обеспечения","name": "Статус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + ] + + } + , + "executionCurrency": { + + "name": "Сделки с валютными инструментами", + + "destination": "execution-currency", + + "class": "ru.clearing.classes.statics.data.execution.ExecutionCurrency", + + "logUpdates": "true", + + "table": "execution_currency", + + "fields": [ + {"code": "exchangeExecutionId", + "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionTime", + "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionMicroseconds", + "type": 4,"name": "Микросекунды заключения сделки в Торговой системе","shortname": "Микросекунды заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "tradingDate", + "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementDate", + "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementCode", + "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "security","linkCode": "securitySymbol","ignore": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securityName", + "type": 2,"length": 255,"name": "Краткое наименование инструмента","shortname": "Наименование инструмента","searchable": true,"sortable": true,"visible": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "partyTradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code" + } + , + {"code": "partyTradingClearingRegistry", + "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр ","name": "Торгово-клиринговый регистр ","shortname": "ТКР ","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "counterPartyId", + "type": 1,"dbname": "Идентификатор компании-партнера, с которой заключена сделка","name": "Наименование компании-партнера, с которой заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "counterPartyTradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry","linkCode": "code","ignore": true + } + , + {"code": "counterPartyTradingClearingRegistry", + "type": 2,"length": 20,"dbname": "Торгово-клиринговый регистр партнера","name": "Торгово-клиринговый регистр партнера","shortname": "ТКР партнера","visible": true,"searchable": true,"sortable": true + } + , + {"code": "market", + "type": 12,"dbname": "Код секции валютного инструмента","name": "Секция валютного инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkKeyCode": "code","linkCode": "description" + } + , + {"code": "price", + "type": 10,"name": "Цена","shortname": "Цена","visible": true,"searchable": true,"sortable": true + } + , + {"code": "lotSize", + "type": 11,"name": "Размер лота","shortname": "Лот","searchable": true,"sortable": true,"visible": true,"linkKeyCode": "securityId","linkCode": "lotSize","link": "listing","extends": "listing" + } + , + {"code": "lots", + "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementAmount", + "type": 11,"name": "Объем сделки в валюте лота","shortname": "Объем в валюте","visible": true,"searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 11,"name": "Количество штук","shortname": "Количество штук","visible": true,"searchable": true,"sortable": true + } + , + {"code": "side", + "type": 12,"dbname": "Код направления сделки","name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "side" + } + , + {"code": "currencyCode", + "type": 12,"name": "Код валюты лота","shortname": "Код валюты лота","searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "settlementOrganization", + "type": 2,"length": 255,"name": "Наименование расчетной организации","shortname": "Расчетная организация","searchable": true,"sortable": true,"visible": true + } + , + {"code": "coverageStatus", + "type": 12,"dbname": "Код статуса достаточности обеспечения","name": "Статус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true + } + ] + + } + , + "depoBalanceRegister": { + + "name": "Реестр остатков ценных бумаг", + + "destination": "depo-balance-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.DepoBalanceRegister", + + "table": "balance_depo_register", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session","ignore": true + } + , + {"code": "setHouseName", + "type": 2,"length": 255,"name": "Наименование РД","shortname": "Наименование РД","searchable": true,"sortable": true,"visible": true + } + , + {"code": "number", + "type": 2,"length": 255,"name": "Номер отчета","shortname": "Номер отчета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCode", + "type": 2,"length": 50,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 11,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true + } + ] + + } + , + "moneyBalanceRegister": { + + "name": "Реестр остатков денежных средств", + + "destination": "money-balance-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.MoneyBalanceRegister", + + "table": "money_balance_register", + + "fields": [ + {"code": "setHouseName", + "type": 2,"length": 255,"name": "Наименование РО","shortname": "Наименование РО","searchable": true,"sortable": true,"visible": true + } + , + {"code": "number", + "type": 2,"length": 255,"name": "Номер отчета","shortname": "Номер отчета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true + } + , + {"code": "currencyCode", + "type": 12,"dbname": "Код валюты","name": "Код валюты","shortname": "Валюта","searchable": true,"sortable": true,"visible": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер торгового /клирингового счета/ счета внутреннего учета СПВБ","shortname": "Счет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "remainderSum", + "type": 10,"name": "Остаток денежных средств","shortname": "Остаток","searchable": true,"sortable": true + } + , + {"code": "infoAccount", + "type": 2,"length": 50,"name": "Номер счета внутреннего учета СПВБ","shortname": "Номер счета внутреннего учета СПВБ","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "companyFullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "inn", + "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН","searchable": true,"sortable": true,"visible": true,"ignore": true + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session","ignore": true + } + , + {"code": "blockedSum", + "type": 10,"name": "Сумма блокированных денежных средств","shortname": "Блокированные","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "unblockedSum", + "type": 10,"name": "Сумма свободных денежных средств","shortname": "Свободные","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "admittedLiabilitiesRegister": { + + "name": "Реестр обязательств, допущенных к клирингу", + + "destination": "admitted-liabilities-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.AdmittedLiabilitiesRegister", + + "table": "admitted_liabilities_register", + + "fields": [ + {"code": "companyFullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityFullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Полное наименование инструмента","searchable": true,"sortable": true,"visible": false + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Счет компании","shortname": "Счет компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "amount", + "type": 10,"name": "Сумма обязательств","shortname": "Сумма обязательств","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": false + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"visible": false + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","searchable": true,"sortable": true,"visible": false + } + ] + + } + , + "coveredLiabilitiesRegister": { + + "name": "Реестр обязательств, прошедших процедуру контроля обеспечения", + + "destination": "covered-liabilities-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.CoveredLiabilitiesRegister", + + "table": "covered_Liabilities_register", + + "fields": [ + {"code": "companyFullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityFullName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Полное наименование инструмента","searchable": true,"sortable": true,"visible": false + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Счет компании","shortname": "Счет компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "amount", + "type": 10,"name": "Сумма обязательств","shortname": "Сумма обязательств","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": false + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"visible": false + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","searchable": true,"sortable": true,"visible": false + } + ] + + } + , + "moneyPaymentInstructionRegister": { + + "name": "Реестр распоряжений, направленных расчетной организации", + + "destination": "money-payment-instruction-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.MoneyPaymentInstructionRegister", + + "table": "money_payment_instruction_register", + + "fields": [ + {"code": "creditLegAccount", + "type": 2,"length": 50,"name": "Счет отправителя","shortname": "Счет отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "creditLegAmount", + "type": 10,"name": "Сумма отправителя","shortname": "Сумма отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "creditLegCurrencyCode", + "type": 12,"dbname": "Код валюты отправителя","name": "Наименование валюты отправителя","shortname": "Валюта отправителя","searchable": true,"sortable": true,"visible": true,"link": "currency" + } + , + {"code": "debitLegAccount", + "type": 2,"length": 50,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sender", + "type": 2,"length": 255,"name": "Отправитель","shortname": "Отправитель","searchable": true,"sortable": true,"visible": true + } + , + {"code": "addressee", + "type": 2,"length": 255,"name": "Получатель","shortname": "Получатель","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата расчета","shortname": "Дата расчета","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "depoPaymentInstructionRegister": { + + "name": "Реестр распоряжений, направленных расчетному депозитарию", + + "destination": "depo-payment-instruction-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.DepoPaymentInstructionRegister", + + "table": "depo_payment_instruction_register", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "tradingClearingRegistryType", + "type": 2,"length": 255,"name": "Тип торгово-клирингового регистра","shortname": "Тип ТКР","searchable": true,"sortable": true,"visible": true + } + , + {"code": "tradingClearingRegistry", + "type": 2,"length": 50,"name": "Торгово-клиринговый регистр","shortname": "ТКР","searchable": true,"sortable": true + } + , + {"code": "cbCode", + "type": 2,"length": 50,"name": "Код ЦБ","shortname": "Код ЦБ","searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 11,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "direction", + "type": 1,"name": "Направление","shortname": "Направление","searchable": true,"sortable": true,"link": "inOutDirection","ignore": true + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + ] + + } + , + "excludeLiabilitiesRegister": { + + "name": "Реестр обязательств, исключенных из клирингового пула", + + "destination": "exclude-liabilities-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.ExcludeLiabilitiesRegister", + + "table": "exclude_liabilities_register", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "validFromDate", + "type": 6,"name": "Дата начала сессии","shortname": "Дата начала сессии","searchable": true,"sortable": true + } + , + {"code": "validToDate", + "type": 6,"name": "Дата окончания сессии","shortname": "Дата окончания сессии","searchable": true,"sortable": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "companyFullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn", + "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН","searchable": true,"sortable": true,"visible": true + } + , + {"code": "segment", + "type": 2,"length": 10,"name": "Сегмент","shortname": "Сегмент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registryCode", + "type": 12,"dbname": "Код регистра","name": "Описание регистра","shortname": "Код регистра","searchable": true,"sortable": true,"link": "tradingClearingRegistryType" + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Наименование счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registryStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true + } + , + {"code": "currency", + "type": 12,"dbname": "Код валюты отправителя","name": "Наименование валюты отправителя","shortname": "Валюта отправителя","searchable": true,"sortable": true,"visible": true,"link": "currency" + } + , + {"code": "sumLiabilities", + "type": 10,"name": "Сумма обязательств","shortname": "Обязательства","searchable": true,"sortable": true,"visible": true + } + , + {"code": "settlementDate", + "type": 6,"name": "Дата расчета","shortname": "Расчет","searchable": true,"sortable": true + } + ] + + } + , + "pairSdf": { + + "name": "Пары файлов", + + "destination": "pair-sdf", + + "class": "ru.clearing.classes.statics.data.register.PairSdf", + + "table": "pair_sdf", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inSDfId", + "type": 2,"length": 255,"name": "Идентификатор входящего файла","shortname": "Входящая запись","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "inSDf", + "type": 2,"length": 255,"name": "Входящий файл","shortname": "Входящий","searchable": true,"sortable": true,"visible": true + } + , + {"code": "outSDfId", + "type": 2,"length": 255,"name": "Идентификатор исходящего файла","shortname": "Исходящий файл","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "outSDf", + "type": 2,"length": 255,"name": "Исходящий файл","shortname": "Исходящий файл","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "gatewayResult": { + + "name": "Результаты запросов к ТС", + + "destination": "gateway-result", + + "class": "ru.clearing.classes.statics.data.register.GatewayResult", + + "table": "gateway_result", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"visible": true + } + , + {"code": "requestId", + "type": 2,"length": 255,"name": "ID запроса","shortname": "ID","searchable": true,"sortable": true,"visible": true + } + , + {"code": "nameRequest", + "type": 2,"length": 255,"name": "Наименование запроса","shortname": "Наименование","searchable": true,"sortable": true,"visible": true + } + , + {"code": "request", + "type": 2,"length": 1023,"name": "Тело запроса","shortname": "Запрос","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 2,"length": 1023,"name": "Тело ответа","shortname": "Ответ","searchable": true,"sortable": true,"visible": true + } + , + {"code": "gatewayResultStatus", + "type": 12,"name": "Статус запроса","shortname": "Статус","searchable": true,"sortable": true,"link": "gatewayResultStatus","visible": true + } + ] + + } + , + "liabilitiesRegister": { + + "name": "Реестр учета обязательств", + + "destination": "liabilities-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.LiabilitiesRegister", + + "table": "liabilities_register", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "validFromDate", + "type": 6,"name": "Дата начала сессии","shortname": "Дата начала сессии","searchable": true,"sortable": true + } + , + {"code": "validToDate", + "type": 6,"name": "Дата окончания сессии","shortname": "Дата окончания сессии","searchable": true,"sortable": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "companyFullName", + "type": 2,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"length": 255,"visible": true + } + , + {"code": "inn", + "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика (ИНН)","shortname": "ИНН","searchable": true,"sortable": true,"visible": true + } + , + {"code": "segment", + "type": 2,"length": 10,"name": "Сегмент","shortname": "Сегмент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registryCode", + "type": 12,"dbname": "Код регистра","name": "Описание регистра","shortname": "Код регистра","searchable": true,"sortable": true,"link": "tradingClearingRegistryType" + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Наименование счета","shortname": "Счет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registryStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true + } + , + {"code": "currency", + "type": 12,"dbname": "Код валюты отправителя","name": "Наименование валюты отправителя","shortname": "Валюта отправителя","searchable": true,"sortable": true,"visible": true,"link": "currency" + } + , + {"code": "sumLiabilities", + "type": 10,"name": "Сумма обязательств","shortname": "Обязательства","searchable": true,"sortable": true,"visible": true + } + , + {"code": "settlementDate", + "type": 6,"name": "Дата расчета","shortname": "Расчет","searchable": true,"sortable": true + } + ] + + } + , + "executionRegister": { + + "name": "Реестр сделок", + + "destination": "execution-registers", + + "historyDestination": "history", + + "class": "ru.clearing.classes.statics.data.register.ExecutionRegister", + + "table": "execution_register", + + "fields": [ + {"code": "tradingDate", + "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionId", + "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionTime", + "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "security","linkCode": "securitySymbol" + } + , + {"code": "sellerId", + "type": 1,"dbname": "Идентификатор компании-продавца","name": "Наименование компании-продавца","shortname": "Продавец","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "sellerClearingCode", + "type": 2,"length": 255,"name": "Клиринговый код продавца","shortname": "Код продавца","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sellerTradingClearingRegister", + "type": 2,"length": 255,"name": "Торгово-клиринговый регистр продавца","shortname": "ТКР продавца","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sellerMoneyAccount", + "type": 2,"length": 50,"name": "Денежный счет продавца","shortname": "Денежный счет продавца","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sellerDepoAccount", + "type": 2,"length": 50,"name": "Депо счет продавца","shortname": "Депо счет продавца","searchable": true,"sortable": true,"visible": true + } + , + {"code": "buyerId", + "type": 1,"dbname": "Идентификатор компании-покупателя","name": "Наименование компании-покупателя","shortname": "Покупатель","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "buyerClearingCode", + "type": 2,"length": 255,"name": "Клиринговый код покупателя","shortname": "Код покупателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "buyerTradingClearingRegister", + "type": 2,"length": 255,"name": "Торгово-клиринговый регистр покупателя","shortname": "ТКР покупателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "buyerMoneyAccount", + "type": 2,"length": 50,"name": "Денежный счет покупателя","shortname": "Денежный счет покупателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "buyerDepoAccount", + "type": 2,"length": 50,"name": "Депо счет покупателя","shortname": "Депо счет покупателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "amount", + "type": 11,"name": "Сумма сделки","shortname": "Сумма сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 11,"name": "Количество ценных бумаг","shortname": "Количество ценных бумаг","visible": false,"searchable": true,"sortable": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true + } + ] + + } + , + "statement": { + + "name": "Транзакции по деньгам/бумагам", + + "destination": "statements", + + "class": "ru.clearing.classes.statics.data.statement.Statement", + + "table": "statement", + + "fields": [ + {"code": "addresseeId", + "type": 1,"dbname": "Идентификатор компании-получателя","name": "Наименование компании-получателя","shortname": "Получатель","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "senderId", + "type": 1,"dbname": "Идентификатор компании-отправителя","name": "Наименование компании-отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "statementType", + "type": 12,"dbname": "Код типа поступления средств","name": "Наименование типа поступления средств","shortname": "Тип поступления средств","searchable": true,"sortable": true,"link": "statementType" + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"visible": true,"link": "security","linkCode": "shortName" + } + , + {"code": "contract", + "type": 2,"length": 255,"name": "Продукт","shortname": "Продукт","searchable": true,"sortable": true,"visible": true + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Комментарий","shortname": "Основание","searchable": true,"sortable": true + } + , + {"code": "accountId", + "type": 1,"dbname": "Идентификатор счета","name": "Наименование счета","shortname": "Счет","searchable": true,"sortable": true,"link": "account","ignore": true + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Наименование счета","shortname": "Счет","searchable": true,"sortable": true + } + , + {"code": "inOutDirection", + "type": 12,"dbname": "Код направления","name": "Наименование направления","shortname": "Направление","searchable": true,"sortable": true,"link": "inOutDirection" + } + , + {"code": "settlementDate", + "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true + } + , + {"code": "amount", + "type": 11,"name": "Объем","shortname": "Объем","searchable": true,"sortable": true,"visible": true + } + , + {"code": "operationStatus", + "type": 12,"dbname": "Код статуса обработки","name": "Наименование статуса обработки","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "operationStatus" + } + , + {"code": "errorCodeId", + "type": 1,"dbname": "Идентификатор кода ошибки","name": "Код ошибки","shortname": "Код ошибки","searchable": true,"sortable": true,"visible": true,"link": "errorCode","linkCode": "code","linkKeyCode": "id" + } + , + {"code": "errorTextId", + "type": 1,"dbname": "Идентификатор полного текста ошибки","name": "Полный текст ошибки","shortname": "Ошибка","searchable": true,"sortable": true,"visible": true,"link": "errorText","linkCode": "text" + } + , + {"code": "inSDfId", + "type": 1,"name": "Идентификатор записи, инициировавшая изменения этой таблицы","shortname": "Входящая запись","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "outSDfId", + "type": 1,"name": "Идентификатор записи, сформированная в результате изменения этой таблицы","shortname": "Исходящая запись","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "inOutSDfType", + "type": 12,"dbname": "Код типа входящей и исходящей записей","name": "Типы входящей и исходящей записей","shortname": "Типы входящей и исходящей записей","searchable": true,"sortable": true,"ignore": true,"link": "inOutSDfType" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата расчета","shortname": "Дата расчета","searchable": true,"sortable": true,"visible": true,"ignore": true + } + ] + + } + , + "paymentInstruction": { + + "name": "Платежные поручения", + + "destination": "payment-instructions", + + "class": "ru.clearing.classes.statics.data.payment.PaymentInstruction", + + "table": "payment_instruction", + + "fields": [ + {"code": "senderId", + "type": 1,"dbname": "Идентификатор компании-отправителя","name": "Наименование компании-отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"link": "company","linkCode": "shortName","visible": true + } + , + {"code": "addresseeId", + "type": 1,"dbname": "Идентификатор компании-получателя","name": "Наименование компании-получателя","shortname": "Получатель","searchable": true,"sortable": true,"link": "company","linkCode": "shortName","visible": true + } + , + {"code": "payeeBic", + "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК) отправителя","shortname": "БИК отправителя","searchable": true,"sortable": true + } + , + {"code": "adresseeBic", + "type": 2,"length": 255,"name": "Банковский идентификационный код (БИК) получателя","shortname": "БИК получателя","searchable": true,"sortable": true + } + , + {"code": "payeeBankName", + "type": 2,"length": 255,"name": "Наименование банка отправителя","shortname": "Банк отправителя","searchable": true,"sortable": true + } + , + {"code": "addresseeBankName", + "type": 2,"length": 255,"name": "Наименование банка получателя","shortname": "Банк получателя","searchable": true,"sortable": true + } + , + {"code": "paymentDate", + "type": 4,"name": "Дата и время платежа","shortname": "Дата и время платежа","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "paymentPurpose", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение","searchable": true,"sortable": true,"visible": true + } + , + {"code": "settlementDate", + "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true,"visible": true + } + , + {"code": "creditLeg_amount", + "type": 10,"name": "Сумма отправителя","shortname": "Сумма отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "debitLeg_amount", + "type": 10,"name": "Сумма получателя","shortname": "Сумма получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "creditLeg_accountId", + "type": 1,"dbname": "Идентификатор счета отправителя","name": "Счет отправителя","shortname": "Счет отправителя","searchable": true,"sortable": true,"link": "account","ignore": true + } + , + {"code": "credit_csAccount", + "type": 2,"length": 255,"name": "Корреспондентский счет отправителя","shortname": "Корр. счет отправителя","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "creditLeg_account", + "type": 2,"length": 50,"name": "Счет отправителя","shortname": "Счет отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "debitLeg_accountId", + "type": 1,"dbname": "Идентификатор счета получателя","name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"link": "account","ignore": true + } + , + {"code": "debit_csAccount", + "type": 2,"length": 255,"name": "Корреспондентский счет получателя","shortname": "Корр. счет получателя","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "debitLeg_account", + "type": 2,"length": 50,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "creditLeg_direction", + "type": 12,"dbname": "Код направления отправителя","name": "Наименование направления отправителя","shortname": "Направление отправителя","searchable": true,"sortable": true,"link": "inOutDirection","ignore": true + } + , + {"code": "debitLeg_direction", + "type": 12,"dbname": "Код направления получателя","name": "Наименование направления получателя","shortname": "Направление получателя","searchable": true,"sortable": true,"link": "inOutDirection","ignore": true + } + , + {"code": "creditLeg_currencyCode", + "type": 12,"dbname": "Код валюты отправителя","name": "Наименование валюты отправителя","shortname": "Валюта отправителя","searchable": true,"sortable": true,"link": "currency" + } + , + {"code": "debitLeg_currencyCode", + "type": 12,"dbname": "Код валюты получателя","name": "Наименование валюты получателя","shortname": "Валюта получателя","searchable": true,"sortable": true,"link": "currency" + } + , + {"code": "creditLeg_securityId", + "type": 1,"dbname": "Идентификатор инструмента отправителя","name": "Наименование инструмента отправителя","shortname": "Инструмент отправителя","searchable": false,"sortable": true,"visible": true,"link": "security" + } + , + {"code": "debitLeg_securityId", + "type": 1,"dbname": "Идентификатор инструмента получателя","name": "Наименование инструмента получателя","shortname": "Инструмент получателя","searchable": false,"sortable": true,"visible": true,"link": "security" + } + , + {"code": "transactionStatus", + "type": 12,"dbname": "Код статуса транзакции","name": "Наименование статуса транзакции","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "transactionStatus","ignore": true + } + , + {"code": "documentNumber", + "type": 2,"length": 255,"name": "Номер документа в сторонней системе","shortname": "Номер РО","searchable": true,"sortable": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата расчета","shortname": "Дата расчета","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + ] + ,"actions":[ {"method":"post", - - "name": "Вывод денежных средств c регистра инициатора", - - "destination": "payment-instructions/clearing-outbound", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.payment.PIClearingOutbondActionNew", - + + "name": "Вывод денежных средств c регистра инициатора", + + "destination": "payment-instructions/clearing-outbound", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.payment.PIClearingOutbondActionNew", + "fields": [ - {"code": "senderId", - "type": 1,"name": "Участник отправитель","shortname": "Отправитель","link": "company","required": true - } - , - {"code": "addresseeId", - "type": 1,"name": "Участник получатель","shortname": "Получатель","link": "company","required": true - } - , - {"code": "paymentPurpose", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение","searchable": true,"sortable": true,"visible": true - } - , - {"code": "creditLeg_amount", - "type": 10,"name": "Сумма отправителя","shortname": "Сумма отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "creditLeg_accountId", - "type": 1,"name": "Наименование счета отправителя","shortname": "Счет отправителя","searchable": true,"sortable": true,"link": "account","ignore": true - } - , - {"code": "debitLeg_accountId", - "type": 1,"name": "Наименование счета получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"link": "account","ignore": true - } - ] + {"code": "senderId", + "type": 1,"name": "Участник отправитель","shortname": "Отправитель","link": "company","required": true + } + , + {"code": "addresseeId", + "type": 1,"name": "Участник получатель","shortname": "Получатель","link": "company","required": true + } + , + {"code": "paymentPurpose", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение","searchable": true,"sortable": true,"visible": true + } + , + {"code": "creditLeg_amount", + "type": 10,"name": "Сумма отправителя","shortname": "Сумма отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "creditLeg_accountId", + "type": 1,"name": "Наименование счета отправителя","shortname": "Счет отправителя","searchable": true,"sortable": true,"link": "account","ignore": true + } + , + {"code": "debitLeg_accountId", + "type": 1,"name": "Наименование счета получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"link": "account","ignore": true + } + ] } ] - } -, - "notification": { - - "name": "Сообщения", - - "destination": "notifications", - - "class": "ru.clearing.classes.statics.data.misc.Notification", - - "logUpdates": "true", - - "table": "notification", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время прочтения записи","shortname": "Прочитано","searchable": true,"sortable": true - } - , - {"code": "senderId", - "type": 1,"dbname": "Идентификатор компании-отправителя","name": "Наименование компании-отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"link": "company","ignore": true - } - , - {"code": "addresseeId", - "type": 1,"dbname": "Идентификатор компании-получателя","name": "Наименование компании-получателя","shortname": "Получатель","searchable": true,"sortable": true,"link": "company","ignore": true - } - , - {"code": "objectType", - "type": 12,"dbname": "Код типа объекта","name": "Наименование типа объекта","shortname": "Объект","searchable": true,"sortable": true,"link": "objectType","ignore": true - } - , - {"code": "objectId", - "type": 1,"name": "Идентификатор объекта","shortname": "ID объекта","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "notificationStatus", - "type": 12,"dbname": "Код статуса сообщения","name": "Наименование статуса сообщения","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "notificationStatus" - } - , - {"code": "comment", - "type": 2,"length": 255,"name": "Текст сообщения","shortname": "Сообщение","searchable": true,"sortable": true,"visible": true - } - , - {"code": "priority", - "type": 12,"dbname": "Код приоритета отображения","name": "Наименование приоритета отображения","shortname": "Приоритет отображения","searchable": true,"sortable": true,"link": "priority" - } - ] - ,"actions":[ + } + , + "notification": { + + "name": "Сообщения", + + "destination": "notifications", + + "class": "ru.clearing.classes.statics.data.misc.Notification", + + "logUpdates": "true", + + "table": "notification", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"visible": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время прочтения записи","shortname": "Прочитано","searchable": true,"sortable": true + } + , + {"code": "senderId", + "type": 1,"dbname": "Идентификатор компании-отправителя","name": "Наименование компании-отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"link": "company","ignore": true + } + , + {"code": "addresseeId", + "type": 1,"dbname": "Идентификатор компании-получателя","name": "Наименование компании-получателя","shortname": "Получатель","searchable": true,"sortable": true,"link": "company","ignore": true + } + , + {"code": "objectType", + "type": 12,"dbname": "Код типа объекта","name": "Наименование типа объекта","shortname": "Объект","searchable": true,"sortable": true,"link": "objectType","ignore": true + } + , + {"code": "objectId", + "type": 1,"name": "Идентификатор объекта","shortname": "ID объекта","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "notificationStatus", + "type": 12,"dbname": "Код статуса сообщения","name": "Наименование статуса сообщения","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "notificationStatus" + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Текст сообщения","shortname": "Сообщение","searchable": true,"sortable": true,"visible": true + } + , + {"code": "priority", + "type": 12,"dbname": "Код приоритета отображения","name": "Наименование приоритета отображения","shortname": "Приоритет отображения","searchable": true,"sortable": true,"link": "priority" + } + ] + ,"actions":[ {"method":"put", - - "name": "Изменение статуса сообщения", - - "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.NotificationUpdateAction", - + + "name": "Изменение статуса сообщения", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.registry.NotificationUpdateAction", + "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "notification","linkCode": "id","required": true - } - , - {"code": "notificationStatus", - "type": 12,"name": "Наименование статуса сообщения","shortname": "Статус","link": "notificationStatus","required": true - } - ] + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "notification","linkCode": "id","required": true + } + , + {"code": "notificationStatus", + "type": 12,"name": "Наименование статуса сообщения","shortname": "Статус","link": "notificationStatus","required": true + } + ] } ] - } -, - "verificationResult": { - - "name": "Результаты сверки", - - "destination": "verification-results", - - "class": "ru.clearing.classes.statics.data.clearing.VerificationResult", - - "table": "verification_result", - - "fields": [ - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код","searchable": true,"sortable": true,"visible": true - } - , - {"code": "accountId", - "type": 1,"dbname": "Идентификатор счета УК, по которому проводится сверка","name": "Счет УК, по которому проводится сверка","shortname": "Счет УК","searchable": true,"sortable": true - } - , - {"code": "inSum", - "type": 11,"name": "Входящая сумма остатков","shortname": "Остатки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "outIntSum", - "type": 11,"name": "Исходящая сумма остатков, полученная в КС","shortname": "Остатки, полученные в КС","visible": true,"searchable": true,"sortable": true - } - , - {"code": "outExtSum", - "type": 11,"name": "Исходящая сумма остатков из отчета ПРЦ","shortname": "Остатки, полученные из ПРЦ","visible": true,"searchable": true,"sortable": true - } - , - {"code": "diffSum", - "type": 11,"name": "Сумма расхождений","shortname": "Сумма расхождений","visible": true,"searchable": true,"sortable": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true - } - , - {"code": "generationStatus", - "type": 12,"dbname": "Код общего статуса сверки","name": "Наименование общего статуса сверки","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "resultStatus" - } - , - {"code": "resultStatus", - "type": 12,"dbname": "Код статуса сверки","name": "Наименование статуса сверки","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "resultStatus" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "sDf01": { - - "name": "ДФ-01 Информация о денежных средствах, находящихся на торгово-банковских счетах участников клиринга", - - "destination": "s-dfs/s-df01", - - "class": "ru.clearing.classes.statics.data.sdf.SDf01", - - "table": "s_df_01", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "curr_code", - "type": 2,"length": 12,"name": "Код валюты","shortname": "Код валюты","searchable": true,"sortable": true,"visible": true - } - , - {"code": "account", - "type": 2,"length": 35,"name": "Счет участника клиринга","shortname": "Счет УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "remainder", - "type": 2,"length": 22,"name": "Остаток денежных средств","shortname": "Остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal", - "type": 2,"length": 10,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_code", - "type": 2,"length": 5,"name": "Код счета","shortname": "Код счета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "dat", - "type": 2,"length": 8,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true,"visible": true - } - , - {"code": "market", - "type": 2,"length": 1,"name": "Биржевая секция","shortname": "Биржевая секция","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_name", - "type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_type", - "type": 2,"length": 2,"name": "Признак счета","shortname": "Признак счета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sumengage", - "type": 2,"length": 22,"name": "Сумма блокированных денежных средств","shortname": "Блокированные","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sumunblock", - "type": 2,"length": 22,"name": "Сумма свободных денежных средств","shortname": "Свободные","searchable": true,"sortable": true,"visible": true - } - , - {"code": "file_type", - "type": 2,"length": 1,"name": "Тип файла","shortname": "Тип файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf02": { - - "name": "ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке", - - "destination": "s-dfs/s-df02", - - "class": "ru.clearing.classes.statics.data.sdf.SDf02", - - "table": "s_df_02", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "curr_code", - "type": 2,"length": 12,"name": "Код валюты","shortname": "Код валюты","searchable": true,"sortable": true,"visible": true - } - , - {"code": "account", - "type": 2,"length": 35,"name": "Счет участника клиринга","shortname": "Счет УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "remainder", - "type": 2,"length": 22,"name": "Остаток денежных средств","shortname": "Остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal", - "type": 2,"length": 10,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_code", - "type": 2,"length": 5,"name": "Код счета","shortname": "Код счета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "dat", - "type": 2,"length": 8,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true,"visible": true - } - , - {"code": "market", - "type": 2,"length": 1,"name": "Биржевая секция","shortname": "Биржевая секция","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_name", - "type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_type", - "type": 2,"length": 2,"name": "Признак счета","shortname": "Признак счета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sumengage", - "type": 2,"length": 22,"name": "Сумма блокированных денежных средств","shortname": "Блокированные","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sumunblock", - "type": 2,"length": 22,"name": "Сумма свободных денежных средств","shortname": "Свободные","searchable": true,"sortable": true,"visible": true - } - , - {"code": "file_type", - "type": 2,"length": 1,"name": "Тип файла","shortname": "Тип файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 2,"length": 3,"name": "Результат обработки каждой записи исходного файла ДФ-01","shortname": "Результат обработки ДФ-01","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inSDfId", - "type": 1,"name": "Идентификатор соответствующей записи из таблицы-источника","shortname": "Входящая запись","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf03": { - - "name": "ДФ-03 Реестр платежных поручений", - - "destination": "s-dfs/s-df03", - - "class": "ru.clearing.classes.statics.data.sdf.SDf03", - - "table": "s_df_03", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "seg_type", - "type": 2,"length": 1,"name": "Код инициатора в КС","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_type", - "type": 2,"length": 4,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "docnm_ref", - "type": 2,"length": 16,"name": "Ссылочный номер документа у отправителя","shortname": "Номер документа у отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "docnmprev", - "type": 2,"length": 16,"name": "Ссылка на предшествующий документ","shortname": "Предшествующий документ","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_deb", - "type": 2,"length": 35,"name": "Счет по дебету","shortname": "Счет дебет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_cred", - "type": 2,"length": 35,"name": "Счет по кредиту","shortname": "Счет кредит","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_date", - "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_val", - "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sum_deb", - "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "specif_1", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "imp_result", - "type": 2,"length": 3,"name": "Результат приема","shortname": "Результат приема","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "paymentInstructionId", - "type": 1,"name": "Идентификатор соответствующей записи из таблицы-источника","shortname": "Входящая запись","searchable": true,"sortable": true,"visible": true,"link": "paymentInstruction" - } - ] - - } -, - "sDf04": { - - "name": "ДФ-04 Подтверждение проведения расчетов", - - "destination": "s-dfs/s-df04", - - "class": "ru.clearing.classes.statics.data.sdf.SDf04", - - "table": "s_df_04", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "seg_type", - "type": 2,"length": 1,"name": "Код инициатора в КС","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_type", - "type": 2,"length": 4,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "docnm_ref", - "type": 2,"length": 16,"name": "Ссылочный номер документа у отправителя","shortname": "Номер документа у отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "docnmprev", - "type": 2,"length": 16,"name": "Ссылка на предшествующий документ","shortname": "Предшествующий документ","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_deb", - "type": 2,"length": 35,"name": "Счет по дебету","shortname": "Счет дебет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_cred", - "type": 2,"length": 35,"name": "Счет по кредиту","shortname": "Счет кредит","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_date", - "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_val", - "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sum_deb", - "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "specif_1", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "imp_result", - "type": 2,"length": 3,"name": "Результат приема","shortname": "Результат приема","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "field": "file_name","type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf05": { - - "name": "ДФ-05 Уведомление о завершении расчетов", - - "destination": "s-dfs/s-df05", - - "class": "ru.clearing.classes.statics.data.sdf.SDf05", - - "table": "s_df_05", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "tp", - "type": 10,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "dt", - "type": 6,"name": "Дата завершения расчетов","shortname": "Дата завершения расчетов","searchable": true,"sortable": true,"visible": true - } - , - {"code": "tm", - "type": 2,"length": 255,"name": "Время завершения расчетов","shortname": "Время завершения расчетов","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pr", - "type": 2,"length": 1,"name": "Результат обработки запроса","shortname": "Результат обработки запроса","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf06": { - - "name": "ДФ-06 Запрос на зачисление/списание денежных средств", - - "destination": "s-dfs/s-df06", - - "class": "ru.clearing.classes.statics.data.sdf.SDf06", - - "table": "s_df_06", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "account", - "type": 2,"length": 20,"name": "Номер счета участника торгов","shortname": "Номер счета участника торгов","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sum", - "type": 10,"name": "Сумма платежного документа (операции)","shortname": "Сумма платежного документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "market", - "type": 2,"length": 1,"name": "Код сегмента рынка","shortname": "Код сегмента рынка","searchable": true,"sortable": true,"visible": true - } - , - {"code": "type", - "type": 2,"length": 255,"name": "Код типа платежного документа (операции)","shortname": "Код типа платежного документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal", - "type": 2,"length": 10,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clientN", - "type": 2,"length": 255,"name": "Наименование клиента - плательщика","shortname": "Плательщик","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn", - "field": "inn","type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика","shortname": "ИНН","searchable": true,"sortable": true,"visible": true - } - , - {"code": "bic", - "field": "bic","type": 2,"length": 255,"name": "Банковский идентификационный код","shortname": "БИК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "spec", - "field": "spec","type": 2,"length": 255,"name": "Назначение","shortname": "Назначение","searchable": true,"sortable": true,"visible": true - } - , - {"code": "number", - "type": 10,"name": "Номер платежного документа (операции)","shortname": "Номер платежного документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_num", - "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_date", - "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_val", - "type": 2,"length": 12,"name": "Валюта документа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf07": { - - "name": "ДФ-07 Ответ на запрос по зачислению/списанию денежных средств", - - "destination": "s-dfs/s-df07", - - "class": "ru.clearing.classes.statics.data.sdf.SDf07", - - "table": "s_df_07", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "account", - "type": 2,"length": 20,"name": "Номер счета участника торгов","shortname": "Номер счета участника торгов","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sum", - "type": 10,"name": "Сумма платежного документа (операции)","shortname": "Сумма платежного документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "market", - "type": 2,"length": 1,"name": "Код сегмента рынка","shortname": "Код сегмента рынка","searchable": true,"sortable": true,"visible": true - } - , - {"code": "type", - "type": 2,"length": 255,"name": "Код типа платежного документа (операции)","shortname": "Код типа платежного документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal", - "type": 2,"length": 10,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clientN", - "type": 2,"length": 255,"name": "Наименование клиента - плательщика","shortname": "Плательщик","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn", - "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика","shortname": "ИНН","searchable": true,"sortable": true,"visible": true - } - , - {"code": "bic", - "type": 2,"length": 255,"name": "Банковский идентификационный код","shortname": "БИК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "spec", - "type": 2,"length": 255,"name": "Назначение","shortname": "Назначение","searchable": true,"sortable": true,"visible": true - } - , - {"code": "number", - "type": 10,"name": "Номер платежного документа (операции)","shortname": "Номер платежного документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 10,"name": "Код завершения операции","shortname": "Код завершения операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inSDfId", - "type": 1,"name": "Идентификатор соответствующей записи из таблицы-источника","shortname": "Входящая запись","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_num", - "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_date", - "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_val", - "type": 2,"length": 12,"name": "Валюта документа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf08": { - - "name": "ДФ-08 Загрузка счетов с остатками", - - "destination": "s-dfs/s-df08", - - "class": "ru.clearing.classes.statics.data.sdf.SDf08", - - "table": "s_df_08", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCode", - "type": 2,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 2,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityCode", - "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clientName", - "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf09": { - - "name": "ДФ-09 Ответ на загрузку счетов с остатками", - - "destination": "s-dfs/s-df09", - - "class": "ru.clearing.classes.statics.data.sdf.SDf09", - - "table": "s_df_09", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inDocument", - "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Исходящий номер","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCode", - "type": 2,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 2,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityCode", - "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clientName", - "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf10": { - - "name": "ДФ-10 Запрос на зачисление/списание ценных бумаг", - - "destination": "s-dfs/s-df10", - - "class": "ru.clearing.classes.statics.data.sdf.SDf10", - - "table": "s_df_10", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCode", - "type": 2,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 2,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityCode", - "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clientName", - "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf11": { - - "name": "ДФ-11 Ответ на Запрос на зачисление/списание ценных бумаг", - - "destination": "s-dfs/s-df11", - - "class": "ru.clearing.classes.statics.data.sdf.SDf11", - - "table": "s_df_11", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inDocument", - "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Сформировано","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCode", - "type": 2,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 2,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityCode", - "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clientName", - "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf12": { - - "name": "ДФ-12 Распоряжение на проведение операций по итогам клиринга", - - "destination": "s-dfs/s-df12", - - "class": "ru.clearing.classes.statics.data.sdf.SDf12", - - "table": "s_df_12", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "direction", - "type": 2,"length": 255,"name": "Направление (списание/зачисление)","shortname": "Направление","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 2,"name": "Количество ценных бумаг","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityCode", - "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCodeSender", - "type": 2,"name": "Депо счет списания","shortname": "Счет списания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCodeAdressee", - "type": 2,"name": "Депо счет зачисления","shortname": "Счет зачисления","searchable": true,"sortable": true,"visible": true - } - , - {"code": "transactionNumber", - "type": 2,"length": 255,"name": "Порядковый номер транзакции","shortname": "Номер транзакции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "transactionQuantity", - "type": 2,"length": 255,"name": "Количество транзакций","shortname": "Количество транзакций","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf13": { - - "name": "ДФ-13 Уведомление о статусе исполнения или мотивированный отказ", - - "destination": "s-dfs/s-df13", - - "class": "ru.clearing.classes.statics.data.sdf.SDf13", - - "table": "s_df_13", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inDocument", - "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Сформировано","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "textError", - "type": 2,"name": "Описание ошибки","shortname": "Ошибка","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf14": { - - "name": "ДФ-14 Уведомление о завершении расчетов", - - "destination": "s-dfs/s-df14", - - "class": "ru.clearing.classes.statics.data.sdf.SDf14", - - "table": "s_df_14", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf20": { - - "name": "ДФ-20 Отчет об исполнении поручения на зачисление/списание ценных бумаг", - - "destination": "s-dfs/s-df20", - - "class": "ru.clearing.classes.statics.data.sdf.SDf20", - - "table": "s_df_20", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inDocument", - "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Сформировано","searchable": true,"sortable": true,"visible": true - } - , - {"code": "security", - "type": 2,"name": "Ценная бумага","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityName", - "type": 2,"name": "Наименование ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityType", - "type": 2,"name": "Тип ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "openBalance", - "type": 2,"name": "Входящий остаток","shortname": "Входящий остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCodeCl", - "type": 2,"name": "Код раздела тех.счета/счета депо/ и наименование клиента","shortname": "Код раздела тех.счета/счета депо/ и наименование клиента","searchable": true,"sortable": true,"visible": true - } - , - {"code": "nameCl", - "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 2,"name": "Количество ценных бумаг","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "operationCode", - "type": 2,"name": "Код операции","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCodeCorr", - "type": 2,"name": "Код раздела субсчета/счета депо корреспондента","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true - } - , - {"code": "operationDate", - "type": 2,"name": "Дата операции","shortname": "Дата операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "closeBalance", - "type": 2,"name": "Исходящий остаток","shortname": "Исходящий остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "transactionNumber", - "type": 2,"length": 255,"name": "ID транзакции депозитария","shortname": "Номер транзакции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf21": { - - "name": "ДФ-21 Отчет об операциях", - - "destination": "s-dfs/s-df21", - - "class": "ru.clearing.classes.statics.data.sdf.SDf21", - - "table": "s_df_21", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "outDocument", - "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inDocument", - "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Сформировано","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityCode", - "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityName", - "type": 2,"name": "Наименование ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "securityType", - "type": 2,"name": "Тип ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true - } - , - {"code": "openBalance", - "type": 2,"name": "Входящий остаток","shortname": "Входящий остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCodeCl", - "type": 2,"name": "Код раздела тех.счета/счета депо","shortname": "Код раздела тех.счета/счета депо","searchable": true,"sortable": true,"visible": true - } - , - {"code": "nameCl", - "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 2,"name": "Количество ценных бумаг","shortname": "Количество","searchable": true,"sortable": true,"visible": true - } - , - {"code": "operationCode", - "type": 2,"name": "Код операции","shortname": "Код операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "depoCodeCorr", - "type": 2,"name": "Код раздела субсчета/счета депо корреспондента","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true - } - , - {"code": "operationDate", - "type": 2,"name": "Дата операции","shortname": "Дата операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "closeBalance", - "type": 2,"name": "Исходящий остаток","shortname": "Исходящий остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "comment", - "type": 2,"length": 250,"name": "Основание проведения операции","shortname": "Основание","searchable": true,"sortable": true,"visible": true - } - , - {"code": "transactionNumber", - "type": 2,"length": 255,"name": "ID транзакции депозитария","shortname": "Номер транзакции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf51": { - - "name": "ДФ-51 Запрос остатков по всем счетам", - - "destination": "s-dfs/s-df51", - - "class": "ru.clearing.classes.statics.data.sdf.SDf51", - - "table": "s_df_51", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "number", - "type": 2,"length": 10,"name": "Номер запроса остатков по счетам","shortname": "Номер запроса","searchable": true,"sortable": true,"visible": true - } - , - {"code": "datetime", - "type": 2,"length": 13,"name": "Дата и время сообщения","shortname": "Дата и время сообщения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf52": { - - "name": "ДФ-52 Информация о состоянии счета (блокировка/разблокировка/закрытие/открытие)", - - "destination": "s-dfs/s-df52", - - "class": "ru.clearing.classes.statics.data.sdf.SDf52", - - "table": "s_df_52", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "account", - "type": 2,"length": 25,"name": "Код счета участника клиринга","shortname": "Код счета УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_name", - "type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_type", - "type": 2,"length": 3,"name": "Признак счета","shortname": "Признак счета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal", - "type": 2,"length": 4,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "date", - "type": 2,"length": 8,"name": "Дата изменения состояния счета","shortname": "Дата изменения состояния счета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "status", - "type": 3,"name": "Статус счета","shortname": "Статус","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf53": { - - "name": "ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)", - - "destination": "s-dfs/s-df53", - - "class": "ru.clearing.classes.statics.data.sdf.SDf53", - - "table": "s_df_53", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "acc_name", - "field": "accName","type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "account", - "type": 2,"length": 25,"name": "Код счета участника клиринга","shortname": "Код счета УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal", - "type": 2,"length": 4,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "date", - "type": 2,"length": 8,"name": "Дата изменения состояния счета","shortname": "Дата изменения состояния счета","searchable": true,"sortable": true,"visible": true - } - , - {"code": "status", - "type": 3,"name": "Статус счета","shortname": "Статус","searchable": true,"sortable": true,"visible": true - } - , - {"code": "result", - "type": 2,"length": 255,"name": "Код завершения операции","shortname": "Код завершения операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inSDfId", - "type": 1,"name": "Идентификатор соответствующей записи из таблицы-источника","shortname": "Входящая запись","searchable": true,"sortable": true,"visible": true - } - , - {"code": "accType", - "type": 3,"name": "Признак счета","shortname": "Признак счета","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf54": { - - "name": "ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414", - - "destination": "s-dfs/s-df54", - - "class": "ru.clearing.classes.statics.data.sdf.SDf54", - - "table": "s_df_54", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "seg_type", - "type": 2,"length": 1,"name": "Код инициатора в КС","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_type", - "type": 2,"length": 4,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "docnm_ref", - "type": 2,"length": 16,"name": "Ссылочный номер документа у отправителя","shortname": "Номер документа у отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "docnmprev", - "type": 2,"length": 16,"name": "Ссылка на предшествующий документ","shortname": "Предшествующий документ","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbankcode", - "type": 2,"length": 12,"name": "Код банка-плательщика","shortname": "Банк-плательщик","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_deb", - "type": 2,"length": 35,"name": "Кор счет банка-плательщика в системе - акт.","shortname": "Кор счет банка-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbankcode", - "type": 2,"length": 12,"name": "Код банка-получателя","shortname": "Код банка-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_cred", - "type": 2,"length": 35,"name": "Кор счет банка-получателя в системе - акт. ","shortname": "Кор счет банка-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "op_type", - "type": 2,"length": 2,"name": "Вид операции","shortname": "Вид операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "op_order", - "type": 2,"length": 1,"name": "Очередность платежа","shortname": "Очередность платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_date", - "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_val", - "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sum_deb", - "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn1", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 1","shortname": "Клиент-плательщик 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn2", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 2","shortname": "Клиент-плательщик 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn3", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 3","shortname": "Клиент-плательщик 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn4", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 4","shortname": "Клиент-плательщик 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn_deb", - "type": 2,"length": 12,"name": "ИНН клиента-плательщика","shortname": "ИНН клиента-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "kpp_deb", - "type": 2,"length": 9,"name": "КПП клиента-плательщика","shortname": "КПП клиента-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_deb", - "type": 2,"length": 35,"name": "Счет клиента-плательщика(дебет)","shortname": "Счет клиента-плательщика(дебет)","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn1", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 1","shortname": "Клиент-получатель 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn2", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 2","shortname": "Клиент-получатель 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn3", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 3","shortname": "Клиент-получатель 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn4", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 4","shortname": "Клиент-получатель 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn_cred", - "type": 2,"length": 12,"name": "ИНН клиента-получателя","shortname": "ИНН клиента-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "kpp_cred", - "type": 2,"length": 9,"name": "КПП клиента-получателя","shortname": "КПП клиента-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_kr_1", - "type": 2,"length": 35,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "specif_1", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "send_type", - "type": 2,"length": 10,"name": "Вид платежа","shortname": "Вид платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_result", - "type": 2,"length": 2,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_num", - "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_date", - "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "value_date", - "field": "value_date","type": 2,"length": 8,"name": "Дата валютирования","shortname": "Дата валютирования","searchable": true,"sortable": true,"visible": true - } - , - {"code": "swift_ben", - "field": "swift_ben","type": 2,"length": 11,"name": "Свифт банка бенефициара","shortname": "Свифт банка бенефициара","searchable": true,"sortable": true,"visible": true - } - , - {"code": "swift_int", - "field": "swift_int","type": 2,"length": 11,"name": "Свифт банка посредника","shortname": "Свифт банка посредника","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf55": { - - "name": "ДФ-55 Квитанция об обработке ДФ-54", - - "destination": "s-dfs/s-df55", - - "class": "ru.clearing.classes.statics.data.sdf.SDf55", - - "table": "s_df_55", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "seg_type", - "type": 2,"length": 1,"name": "Код инициатора в КС","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_type", - "type": 2,"length": 4,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "docnm_ref", - "type": 2,"length": 16,"name": "Ссылочный номер документа у отправителя","shortname": "Номер документа у отправителя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "docnmprev", - "type": 2,"length": 16,"name": "Ссылка на предшествующий документ","shortname": "Предшествующий документ","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbankcode", - "type": 2,"length": 12,"name": "Код банка-плательщика","shortname": "Банк-плательщик","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_deb", - "type": 2,"length": 35,"name": "Кор счет банка-плательщика в системе - акт.","shortname": "Кор счет банка-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbankcode", - "type": 2,"length": 12,"name": "Код банка-получателя","shortname": "Код банка-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_cred", - "type": 2,"length": 35,"name": "Кор счет банка-получателя в системе - акт. ","shortname": "Кор счет банка-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "op_type", - "type": 2,"length": 2,"name": "Вид операции","shortname": "Вид операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "op_order", - "type": 2,"length": 1,"name": "Очередность платежа","shortname": "Очередность платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_date", - "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_val", - "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sum_deb", - "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn1", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 1","shortname": "Клиент-плательщик 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn2", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 2","shortname": "Клиент-плательщик 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn3", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 3","shortname": "Клиент-плательщик 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn4", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 4","shortname": "Клиент-плательщик 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn_deb", - "type": 2,"length": 12,"name": "ИНН клиента-плательщика","shortname": "ИНН клиента-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "kpp_deb", - "type": 2,"length": 9,"name": "КПП клиента-плательщика","shortname": "КПП клиента-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_deb", - "type": 2,"length": 35,"name": "Счет клиента-плательщика(дебет)","shortname": "Счет клиента-плательщика(дебет)","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn1", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 1","shortname": "Клиент-получатель 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn2", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 2","shortname": "Клиент-получатель 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn3", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 3","shortname": "Клиент-получатель 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn4", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 4","shortname": "Клиент-получатель 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn_cred", - "type": 2,"length": 12,"name": "ИНН клиента-получателя","shortname": "ИНН клиента-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "kpp_cred", - "type": 2,"length": 9,"name": "КПП клиента-получателя","shortname": "КПП клиента-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_kr_1", - "type": 2,"length": 35,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "specif_1", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "send_type", - "type": 2,"length": 10,"name": "Вид платежа","shortname": "Вид платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_result", - "type": 2,"length": 2,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_num", - "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_date", - "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "value_date", - "field": "value_date","type": 2,"length": 8,"name": "Дата валютирования","shortname": "Дата валютирования","searchable": true,"sortable": true,"visible": true - } - , - {"code": "swift_ben", - "field": "swift_ben","type": 2,"length": 11,"name": "Свифт банка бенефициара","shortname": "Свифт банка бенефициара","searchable": true,"sortable": true,"visible": true - } - , - {"code": "swift_int", - "field": "swift_int","type": 2,"length": 11,"name": "Свифт банка посредника","shortname": "Свифт банка посредника","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf56": { - - "name": "ДФ-56 Запрос транзакций за период", - - "destination": "s-dfs/s-df56", - - "class": "ru.clearing.classes.statics.data.sdf.SDf56", - - "table": "s_df_56", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "number", - "type": 2,"length": 10,"name": "Номер запроса","shortname": "Номер запроса","searchable": true,"sortable": true,"visible": true - } - , - {"code": "start_datetime", - "type": 2,"length": 13,"name": "Дата и время для фильтрации транзакций с большим или равным указанным параметром","shortname": "Дата и время начала","searchable": true,"sortable": true,"visible": true - } - , - {"code": "end_datetime", - "type": 2,"length": 13,"name": "Дата и время для фильтрации транзакций с меньшим указанным параметром","shortname": "Дата и время окончания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "account", - "type": 2,"length": 25,"name": "Код счета участника клиринга для фильтрации транзакций по значению","shortname": "Счет участника клиринга","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal", - "type": 2,"length": 4,"name": "Биржевой код участника клиринга для фильтрации транзакций по значению","shortname": "Биржевой код участника клиринга","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "sDf57": { - - "name": "ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)", - - "destination": "s-dfs/s-df57", - - "class": "ru.clearing.classes.statics.data.sdf.SDf57", - - "table": "s_df_57", - - "fields": [ - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "dbfId", - "type": 1,"name": "Уникальный идентификатор платежного документа (транзакции)","shortname": "ID платежного поручения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal_deb", - "type": 2,"length": 4,"name": "Биржевой код участника клиринга (плательщик)","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true - } - , - {"code": "deal_cred", - "type": 2,"length": 4,"name": "Биржевой код участника клиринга (получатель)","shortname": "Получатель","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbankcode", - "type": 2,"length": 12,"name": "Код банка-плательщика","shortname": "Код банка-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_deb", - "type": 2,"length": 35,"name": "Кор счет банка-плательщика в системе - акт.","shortname": "Кор счет банка-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbankcode", - "type": 2,"length": 35,"name": "Код банка-получателя","shortname": "Код банка-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "c_acc_cred", - "type": 2,"length": 35,"name": "Кор счет банка-получателя в системе - акт.","shortname": "Кор счет банка-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam1", - "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam2", - "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam3", - "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam4", - "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rbanknam5", - "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true - } - , - {"code": "op_type", - "type": 2,"length": 2,"name": "Вид операции","shortname": "Вид операции","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_date", - "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "ext_date", - "type": 2,"length": 255,"name": "Дата по выписке","shortname": "Дата по выписке","searchable": true,"sortable": true,"visible": true - } - , - {"code": "pay_val", - "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sum_deb", - "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn1", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 1","shortname": "Клиент-плательщик 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn2", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 2","shortname": "Клиент-плательщик 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn3", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 3","shortname": "Клиент-плательщик 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sclientn4", - "type": 2,"length": 35,"name": "Наименование клиента-плательщика 4","shortname": "Клиент-плательщик 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn_deb", - "type": 2,"length": 12,"name": "ИНН клиента-плательщика","shortname": "ИНН клиента-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "kpp_deb", - "type": 2,"length": 9,"name": "КПП клиента-плательщика","shortname": "КПП клиента-плательщика","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_deb", - "type": 2,"length": 35,"name": "Счет клиента-плательщика(дебет)","shortname": "Счет клиента-плательщика(дебет)","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn1", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 1","shortname": "Клиент-получатель 1","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn2", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 2","shortname": "Клиент-получатель 2","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn3", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 3","shortname": "Клиент-получатель 3","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rclientn4", - "type": 2,"length": 35,"name": "Наименование клиента-получателя 4","shortname": "Клиент-получатель 4","searchable": true,"sortable": true,"visible": true - } - , - {"code": "inn_cred", - "type": 2,"length": 12,"name": "ИНН клиента-получателя","shortname": "ИНН клиента-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "kpp_cred", - "type": 2,"length": 9,"name": "КПП клиента-получателя","shortname": "КПП клиента-получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "acc_kr", - "type": 2,"length": 35,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true - } - , - {"code": "specif", - "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "fileName", - "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_num", - "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "doc_date", - "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "dt_in", - "type": 2,"length": 22,"name": "Входящий дебетовый остаток","shortname": "Входящий дебетовый остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "kt_in", - "type": 2,"length": 22,"name": "Входящий кредитовый остаток","shortname": "Входящий кредитовый остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "dt_out", - "type": 2,"length": 22,"name": "Исходящий дебетовый остаток","shortname": "Исходящий дебетовый остаток","searchable": true,"sortable": true,"visible": true - } - , - {"code": "kt_out", - "type": 2,"length": 22,"name": "Исходящий кредитовый остаток","shortname": "Исходящий кредитовый остаток","searchable": true,"sortable": true,"visible": true - } - ] - - } -, - "managementJournal": { - - "name": "Журнал мониторинга и контроля", - - "destination": "management-journals", - - "class": "ru.clearing.classes.statics.data.journal.ManagementJournal", - - "table": "management_journal", - - "fields": [ - {"code": "companyId", - "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "userId", - "type": 1,"dbname": "Идентификатор пользователя","name": "Автор сообщения","shortname": "Сотрудник","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" - } - , - {"code": "managementJournalType", - "type": 12,"dbname": "Код типа мониторинга","name": "Наименование типа мониторинга","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "managementJournalType" - } - , - {"code": "managementJournalPurpose", - "type": 12,"dbname": "Код цели мониторинга","name": "Цель мониторинга","shortname": "Цель","searchable": true,"sortable": true,"visible": true,"link": "managementJournalPurpose" - } - , - {"code": "managementJournalStatus", - "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "managementJournalStatus" - } - , - {"code": "text", - "type": 2,"name": "Текст сообщения","shortname": "Сообщение","searchable": true,"visible": true,"sortable": true,"length": 4096 - } - , - {"code": "changeAccessSign", - "type": 12,"dbname": "Код признака изменения доступа","name": "Признак изменения доступа","shortname": "Изменение доступа","searchable": true,"sortable": true,"visible": true,"link": "allowed" - } - , - {"code": "changeDataSign", - "type": 12,"dbname": "Код признака изменения данных","name": "Признак изменения данных","shortname": "Изменение данных","searchable": true,"sortable": true,"visible": true,"link": "allowed" - } - , - {"code": "eventDate", - "type": 4,"name": "Дата события ЕГРЮЛ","shortname": "Дата события","searchable": true,"sortable": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "inDocumentJournal": { - - "name": "Журнал входящих документов", - - "destination": "in-document-journals", - - "class": "ru.clearing.classes.statics.data.journal.InDocumentJournal", - - "table": "in_document_journal", - - "fields": [ - {"code": "registrationDate", - "type": 6,"name": "Дата регистрации","shortname": "Дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registrationTime", - "type": 5,"name": "Время регистрации","shortname": "Время","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registrationNumber", - "type": 1,"name": "Регистационный номер","shortname": "Регистационный номер","searchable": true,"sortable": true,"visible": true - } - , - {"code": "documentName", - "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sender", - "type": 2,"length": 255,"name": "Полное наименование отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 1,"name": "Количествово экземпляров","shortname": "Кол-во экз.","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Код УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "courierType", - "type": 12,"dbname": "Код способа отправки","name": "Наименование способа отправки","shortname": "Способ отправки","searchable": true,"sortable": true,"visible": true,"link": "courierType" - } - , - {"code": "emailDate", - "type": 6,"name": "Дата отправки электронной почтой","shortname": "Дата отправки эл. почтой","searchable": true,"sortable": true,"visible": true - } - , - {"code": "amount", - "type": 11,"name": "Сумма","shortname": "Сумма","searchable": true,"sortable": true,"visible": true - } - , - {"code": "dossierNumber", - "type": 2,"length": 50,"name": "Номер дела","shortname": "Дело №","searchable": true,"sortable": true,"visible": true - } - , - {"code": "comment", - "type": 2,"length": 255,"name": "Комментарий","shortname": "Комментарий","searchable": true,"sortable": true,"visible": true - } - , - {"code": "receiptDate", - "type": 6,"name": "Дата получения оригинала","shortname": "Дата получения","searchable": true,"sortable": true,"visible": true - } - , - {"code": "resultStatus", - "type": 12,"dbname": "Код статуса загрузки документа","name": "Наименование статуса загрузки документа","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "resultStatus" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - ] - - } -, - "outDocumentJournal": { - - "name": "Журнал исходящих документов", - - "destination": "out-document-journals", - - "class": "ru.clearing.classes.statics.data.journal.OutDocumentJournal", - - "table": "out_document_journal", - - "fields": [ - {"code": "registrationDate", - "type": 6,"name": "Дата регистрации","shortname": "Дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registrationTime", - "type": 5,"name": "Время регистрации","shortname": "Время","searchable": true,"sortable": true,"visible": true - } - , - {"code": "registrationNumber", - "type": 1,"name": "Регистационный номер","shortname": "Регистационный номер","searchable": true,"sortable": true,"visible": true - } - , - {"code": "documentName", - "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","searchable": true,"sortable": true,"visible": true - } - , - {"code": "addressee", - "type": 2,"length": 255,"name": "Полное наименование получателя","shortname": "Получатель","searchable": true,"sortable": true,"visible": true - } - , - {"code": "quantity", - "type": 1,"name": "Количествово экземпляров","shortname": "Кол-во экз.","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Код УК","searchable": true,"sortable": true,"visible": true - } - , - {"code": "courierType", - "type": 12,"dbname": "Код способа отправки","name": "Наименование способа отправки","shortname": "Способ отправки","searchable": true,"sortable": true,"visible": true,"link": "courierType" - } - , - {"code": "emailDate", - "type": 6,"name": "Дата отправки электронной почтой","shortname": "Дата отправки эл. почтой","searchable": true,"sortable": true,"visible": true - } - , - {"code": "amount", - "type": 11,"name": "Сумма","shortname": "Сумма","searchable": true,"sortable": true,"visible": true - } - , - {"code": "dossierNumber", - "type": 2,"length": 50,"name": "Номер дела","shortname": "Дело №","searchable": true,"sortable": true,"visible": true - } - , - {"code": "postDate", - "type": 6,"name": "Дата почтового отправления","shortname": "Дата отправления","searchable": true,"sortable": true,"visible": true - } - , - {"code": "resultStatus", - "type": 12,"dbname": "Код статуса загрузки документа","name": "Наименование статуса загрузки документа","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "resultStatus" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - ] - - } -, - "reportRegister": { - - "name": "Реестр отправленных отчетов", - - "destination": "report-registers", - - "class": "ru.clearing.classes.statics.data.register.ReportRegister", - - "table": "report_register", - - "fields": [ - {"code": "companyFullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true - } - , - {"code": "clearingCode", - "type": 2,"length": 255,"name": "Код клиринга","shortname": "Код участника","searchable": true,"sortable": true - } - , - {"code": "sessionId", - "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" - } - , - {"code": "comment", - "type": 2,"name": "Комментарий","shortname": "Основание","searchable": true,"sortable": true,"length": 255 - } - , - {"code": "name", - "type": 2,"length": 255,"name": "Наименование","shortname": "Наименование","visible": false,"searchable": true,"sortable": true - } - , - {"code": "quantity", - "type": 1,"name": "Количество записей","shortname": "Количество","visible": false,"searchable": true,"sortable": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "contractRegister": { - - "name": "Журнал регистрации договоров", - - "destination": "contract-registers", - - "class": "ru.clearing.classes.statics.data.register.ContractRegister", - - "table": "contract_register", - - "fields": [ - {"code": "name", - "type": 2,"length": 255,"name": "Наименование документа","shortname": "Наименование","searchable": true,"sortable": true,"visible": true - } - , - {"code": "number", - "type": 2,"length": 255,"name": "Номер документа","shortname": "Номер","searchable": true,"sortable": true,"visible": true - } - , - {"code": "issueDate", - "type": 6,"name": "Дата составления","shortname": "Дата выдачи","searchable": true,"sortable": true - } - , - {"code": "companyFullName", - "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true - } - , - {"code": "companyId", - "type": 1,"name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" - } - , - {"code": "documentType", - "type": 12,"dbname": "Код типа документа","name": "Наименование типа документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true,"link": "documentType" - } - , - {"code": "issuePlace", - "type": 2,"length": 255,"name": "Место выдачи","shortname": "Место выдачи","searchable": true,"sortable": true,"visible": true - } - , - {"code": "issuer", - "type": 2,"length": 255,"name": "Кем выдан","shortname": "Кем выдан","searchable": true,"sortable": true,"visible": true - } - , - {"code": "issuerCode", - "type": 2,"length": 255,"name": "Код выдавшего органа","shortname": "Код выдавшего органа","searchable": true,"sortable": true,"visible": true - } - , - {"code": "place", - "type": 2,"length": 255,"name": "Место","shortname": "Место","searchable": true,"sortable": true,"visible": true - } - , - {"code": "validFromDate", - "type": 6,"name": "Дата начала срока действия","shortname": "Дата начала срока действия","searchable": true,"sortable": true - } - , - {"code": "validToDate", - "type": 6,"name": "Дата окончания срока действия","shortname": "Дата окончания срока действия","searchable": true,"sortable": true - } - , - {"code": "closeDate", - "type": 6,"name": "Дата расторжения","shortname": "Дата расторжения","searchable": true,"sortable": true - } - , - {"code": "comment", - "type": 2,"length": 255,"name": "Место","shortname": "Место","searchable": true,"sortable": true,"visible": true - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "operation": { - - "name": "Проводки", - - "destination": "operations", - - "class": "ru.clearing.classes.statics.data.payment.Operation", - - "table": "operation", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "addresseeId", - "type": 1,"dbname": "Идентификатор компании-получателя","name": "Наименование компании-получателя","shortname": "Получатель","searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "senderId", - "type": 1,"dbname": "Идентификатор компании-отправителя","name": "Наименование компании-отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "operationTypeId", - "type": 1,"name": "Тип проводки","shortname": "Тип","searchable": true,"sortable": true,"link": "operationType" - } - , - {"code": "operationStatus", - "type": 12,"dbname": "Код статуса обработки","name": "Наименование статуса обработки","shortname": "Статус","searchable": true,"sortable": true,"link": "operationStatus" - } - ] - - } -, - "marketDataLiquidation": { - - "name": "Статичная ценовая информация для ликвидации активов", - - "destination": "market-data-liquidations", - - "class": "ru.clearing.classes.statics.data.misc.MarketDataLiquidation", - - "table": "market_data_liquidation", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "securityId", - "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"visible": true,"link": "security","linkCode": "securitySymbol" - } - , - {"code": "price", - "type": 10,"name": "Цена за 1 штуку ликвидационного актива","shortname": "Цена за шт.","searchable": true,"sortable": true,"visible": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "sCrossRate": { - - "name": "Кросс курсы валют от ЦБ", - - "destination": "cross-rate", - - "class": "ru.clearing.classes.statics.data.misc.SCrossRate", - - "table": "s_cross_rate", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false - } - , - {"code": "date", - "type": 6,"name": "Дата торгов","shortname": "Дата торгов","searchable": true,"sortable": true,"visible": false - } - , - {"code": "currency", - "type": 2,"length": 50,"name": "Наименование валюты","shortname": "Наименование валюты","searchable": true,"sortable": true,"visible": true - } - , - {"code": "currCode", - "type": 2,"length": 50,"name": "Код валюты","shortname": "Код валюты","searchable": true,"sortable": true,"visible": true - } - , - {"code": "faceValue", - "type": 10,"name": "Номинал","shortname": "Номинал","searchable": true,"sortable": true,"visible": true - } - , - {"code": "rate", - "type": 10,"name": "Курс валюты с учетом размера лота","shortname": "Курс валюты","searchable": true,"sortable": true,"visible": true - } - , - {"code": "unitRate", - "type": 10,"name": "Курс за единицу иностранной валюты","shortname": "Курс за единицу валюты","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationTime", - "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true - } - , - {"code": "generationId", - "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - ] - - } -, - "blacklistMarket": { - - "name": "blacklist площадок", - - "destination": "blacklist-market", - - "class": "ru.clearing.classes.statics.data.misc.BlacklistMarket", - - "table": "blacklist_market", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": true - } - , - {"code": "code", - "name": "Код рынка","shortname": "Код рынка","type": 2,"length": 12 - } - , - {"code": "section", - "name": "Секция","shortname": "Секция","type": 12 - } - ] - - } - -} - -,"views": { - -} - -,"types": [ - - { + } + , + "verificationResult": { + + "name": "Результаты сверки", + + "destination": "verification-results", + + "class": "ru.clearing.classes.statics.data.clearing.VerificationResult", + + "table": "verification_result", + + "fields": [ + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Клиринговый код","searchable": true,"sortable": true,"visible": true + } + , + {"code": "accountId", + "type": 1,"dbname": "Идентификатор счета УК, по которому проводится сверка","name": "Счет УК, по которому проводится сверка","shortname": "Счет УК","searchable": true,"sortable": true + } + , + {"code": "inSum", + "type": 11,"name": "Входящая сумма остатков","shortname": "Остатки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "outIntSum", + "type": 11,"name": "Исходящая сумма остатков, полученная в КС","shortname": "Остатки, полученные в КС","visible": true,"searchable": true,"sortable": true + } + , + {"code": "outExtSum", + "type": 11,"name": "Исходящая сумма остатков из отчета ПРЦ","shortname": "Остатки, полученные из ПРЦ","visible": true,"searchable": true,"sortable": true + } + , + {"code": "diffSum", + "type": 11,"name": "Сумма расхождений","shortname": "Сумма расхождений","visible": true,"searchable": true,"sortable": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true + } + , + {"code": "generationStatus", + "type": 12,"dbname": "Код общего статуса сверки","name": "Наименование общего статуса сверки","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "resultStatus" + } + , + {"code": "resultStatus", + "type": 12,"dbname": "Код статуса сверки","name": "Наименование статуса сверки","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "resultStatus" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "sDf01": { + + "name": "ДФ-01 Информация о денежных средствах, находящихся на торгово-банковских счетах участников клиринга", + + "destination": "s-dfs/s-df01", + + "class": "ru.clearing.classes.statics.data.sdf.SDf01", + + "table": "s_df_01", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "curr_code", + "type": 2,"length": 12,"name": "Код валюты","shortname": "Код валюты","searchable": true,"sortable": true,"visible": true + } + , + {"code": "account", + "type": 2,"length": 35,"name": "Счет участника клиринга","shortname": "Счет УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "remainder", + "type": 2,"length": 22,"name": "Остаток денежных средств","shortname": "Остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal", + "type": 2,"length": 10,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_code", + "type": 2,"length": 5,"name": "Код счета","shortname": "Код счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "dat", + "type": 2,"length": 8,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true,"visible": true + } + , + {"code": "market", + "type": 2,"length": 1,"name": "Биржевая секция","shortname": "Биржевая секция","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_name", + "type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_type", + "type": 2,"length": 2,"name": "Признак счета","shortname": "Признак счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sumengage", + "type": 2,"length": 22,"name": "Сумма блокированных денежных средств","shortname": "Блокированные","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sumunblock", + "type": 2,"length": 22,"name": "Сумма свободных денежных средств","shortname": "Свободные","searchable": true,"sortable": true,"visible": true + } + , + {"code": "file_type", + "type": 2,"length": 1,"name": "Тип файла","shortname": "Тип файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf02": { + + "name": "ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке", + + "destination": "s-dfs/s-df02", + + "class": "ru.clearing.classes.statics.data.sdf.SDf02", + + "table": "s_df_02", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "curr_code", + "type": 2,"length": 12,"name": "Код валюты","shortname": "Код валюты","searchable": true,"sortable": true,"visible": true + } + , + {"code": "account", + "type": 2,"length": 35,"name": "Счет участника клиринга","shortname": "Счет УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "remainder", + "type": 2,"length": 22,"name": "Остаток денежных средств","shortname": "Остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal", + "type": 2,"length": 10,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_code", + "type": 2,"length": 5,"name": "Код счета","shortname": "Код счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "dat", + "type": 2,"length": 8,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true,"visible": true + } + , + {"code": "market", + "type": 2,"length": 1,"name": "Биржевая секция","shortname": "Биржевая секция","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_name", + "type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_type", + "type": 2,"length": 2,"name": "Признак счета","shortname": "Признак счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sumengage", + "type": 2,"length": 22,"name": "Сумма блокированных денежных средств","shortname": "Блокированные","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sumunblock", + "type": 2,"length": 22,"name": "Сумма свободных денежных средств","shortname": "Свободные","searchable": true,"sortable": true,"visible": true + } + , + {"code": "file_type", + "type": 2,"length": 1,"name": "Тип файла","shortname": "Тип файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 2,"length": 3,"name": "Результат обработки каждой записи исходного файла ДФ-01","shortname": "Результат обработки ДФ-01","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inSDfId", + "type": 1,"name": "Идентификатор соответствующей записи из таблицы-источника","shortname": "Входящая запись","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf03": { + + "name": "ДФ-03 Реестр платежных поручений", + + "destination": "s-dfs/s-df03", + + "class": "ru.clearing.classes.statics.data.sdf.SDf03", + + "table": "s_df_03", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "seg_type", + "type": 2,"length": 1,"name": "Код инициатора в КС","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_type", + "type": 2,"length": 4,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "docnm_ref", + "type": 2,"length": 16,"name": "Ссылочный номер документа у отправителя","shortname": "Номер документа у отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "docnmprev", + "type": 2,"length": 16,"name": "Ссылка на предшествующий документ","shortname": "Предшествующий документ","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_deb", + "type": 2,"length": 35,"name": "Счет по дебету","shortname": "Счет дебет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_cred", + "type": 2,"length": 35,"name": "Счет по кредиту","shortname": "Счет кредит","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_date", + "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_val", + "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sum_deb", + "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "specif_1", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "imp_result", + "type": 2,"length": 3,"name": "Результат приема","shortname": "Результат приема","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "paymentInstructionId", + "type": 1,"name": "Идентификатор соответствующей записи из таблицы-источника","shortname": "Входящая запись","searchable": true,"sortable": true,"visible": true,"link": "paymentInstruction" + } + ] + + } + , + "sDf04": { + + "name": "ДФ-04 Подтверждение проведения расчетов", + + "destination": "s-dfs/s-df04", + + "class": "ru.clearing.classes.statics.data.sdf.SDf04", + + "table": "s_df_04", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "seg_type", + "type": 2,"length": 1,"name": "Код инициатора в КС","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_type", + "type": 2,"length": 4,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "docnm_ref", + "type": 2,"length": 16,"name": "Ссылочный номер документа у отправителя","shortname": "Номер документа у отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "docnmprev", + "type": 2,"length": 16,"name": "Ссылка на предшествующий документ","shortname": "Предшествующий документ","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_deb", + "type": 2,"length": 35,"name": "Счет по дебету","shortname": "Счет дебет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_cred", + "type": 2,"length": 35,"name": "Счет по кредиту","shortname": "Счет кредит","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_date", + "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_val", + "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sum_deb", + "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "specif_1", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "imp_result", + "type": 2,"length": 3,"name": "Результат приема","shortname": "Результат приема","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "field": "file_name","type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf05": { + + "name": "ДФ-05 Уведомление о завершении расчетов", + + "destination": "s-dfs/s-df05", + + "class": "ru.clearing.classes.statics.data.sdf.SDf05", + + "table": "s_df_05", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "tp", + "type": 10,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "dt", + "type": 6,"name": "Дата завершения расчетов","shortname": "Дата завершения расчетов","searchable": true,"sortable": true,"visible": true + } + , + {"code": "tm", + "type": 2,"length": 255,"name": "Время завершения расчетов","shortname": "Время завершения расчетов","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pr", + "type": 2,"length": 1,"name": "Результат обработки запроса","shortname": "Результат обработки запроса","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf06": { + + "name": "ДФ-06 Запрос на зачисление/списание денежных средств", + + "destination": "s-dfs/s-df06", + + "class": "ru.clearing.classes.statics.data.sdf.SDf06", + + "table": "s_df_06", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "account", + "type": 2,"length": 20,"name": "Номер счета участника торгов","shortname": "Номер счета участника торгов","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sum", + "type": 10,"name": "Сумма платежного документа (операции)","shortname": "Сумма платежного документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "market", + "type": 2,"length": 1,"name": "Код сегмента рынка","shortname": "Код сегмента рынка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "type", + "type": 2,"length": 255,"name": "Код типа платежного документа (операции)","shortname": "Код типа платежного документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal", + "type": 2,"length": 10,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clientN", + "type": 2,"length": 255,"name": "Наименование клиента - плательщика","shortname": "Плательщик","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn", + "field": "inn","type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика","shortname": "ИНН","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bic", + "field": "bic","type": 2,"length": 255,"name": "Банковский идентификационный код","shortname": "БИК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "spec", + "field": "spec","type": 2,"length": 255,"name": "Назначение","shortname": "Назначение","searchable": true,"sortable": true,"visible": true + } + , + {"code": "number", + "type": 10,"name": "Номер платежного документа (операции)","shortname": "Номер платежного документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_num", + "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_date", + "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_val", + "type": 2,"length": 12,"name": "Валюта документа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf07": { + + "name": "ДФ-07 Ответ на запрос по зачислению/списанию денежных средств", + + "destination": "s-dfs/s-df07", + + "class": "ru.clearing.classes.statics.data.sdf.SDf07", + + "table": "s_df_07", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "account", + "type": 2,"length": 20,"name": "Номер счета участника торгов","shortname": "Номер счета участника торгов","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sum", + "type": 10,"name": "Сумма платежного документа (операции)","shortname": "Сумма платежного документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "market", + "type": 2,"length": 1,"name": "Код сегмента рынка","shortname": "Код сегмента рынка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "type", + "type": 2,"length": 255,"name": "Код типа платежного документа (операции)","shortname": "Код типа платежного документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal", + "type": 2,"length": 10,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clientN", + "type": 2,"length": 255,"name": "Наименование клиента - плательщика","shortname": "Плательщик","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn", + "type": 2,"length": 255,"name": "Идентификационный номер налогоплательщика","shortname": "ИНН","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bic", + "type": 2,"length": 255,"name": "Банковский идентификационный код","shortname": "БИК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "spec", + "type": 2,"length": 255,"name": "Назначение","shortname": "Назначение","searchable": true,"sortable": true,"visible": true + } + , + {"code": "number", + "type": 10,"name": "Номер платежного документа (операции)","shortname": "Номер платежного документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 10,"name": "Код завершения операции","shortname": "Код завершения операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inSDfId", + "type": 1,"name": "Идентификатор соответствующей записи из таблицы-источника","shortname": "Входящая запись","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_num", + "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_date", + "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_val", + "type": 2,"length": 12,"name": "Валюта документа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf08": { + + "name": "ДФ-08 Загрузка счетов с остатками", + + "destination": "s-dfs/s-df08", + + "class": "ru.clearing.classes.statics.data.sdf.SDf08", + + "table": "s_df_08", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCode", + "type": 2,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 2,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityCode", + "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clientName", + "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf09": { + + "name": "ДФ-09 Ответ на загрузку счетов с остатками", + + "destination": "s-dfs/s-df09", + + "class": "ru.clearing.classes.statics.data.sdf.SDf09", + + "table": "s_df_09", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inDocument", + "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Исходящий номер","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCode", + "type": 2,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 2,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityCode", + "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clientName", + "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf10": { + + "name": "ДФ-10 Запрос на зачисление/списание ценных бумаг", + + "destination": "s-dfs/s-df10", + + "class": "ru.clearing.classes.statics.data.sdf.SDf10", + + "table": "s_df_10", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCode", + "type": 2,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 2,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityCode", + "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clientName", + "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf11": { + + "name": "ДФ-11 Ответ на Запрос на зачисление/списание ценных бумаг", + + "destination": "s-dfs/s-df11", + + "class": "ru.clearing.classes.statics.data.sdf.SDf11", + + "table": "s_df_11", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inDocument", + "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Сформировано","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCode", + "type": 2,"name": "Код раздела субсчета/счета депо","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 2,"name": "Количество","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityCode", + "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clientName", + "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf12": { + + "name": "ДФ-12 Распоряжение на проведение операций по итогам клиринга", + + "destination": "s-dfs/s-df12", + + "class": "ru.clearing.classes.statics.data.sdf.SDf12", + + "table": "s_df_12", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "direction", + "type": 2,"length": 255,"name": "Направление (списание/зачисление)","shortname": "Направление","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 2,"name": "Количество ценных бумаг","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityCode", + "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCodeSender", + "type": 2,"name": "Депо счет списания","shortname": "Счет списания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCodeAdressee", + "type": 2,"name": "Депо счет зачисления","shortname": "Счет зачисления","searchable": true,"sortable": true,"visible": true + } + , + {"code": "transactionNumber", + "type": 2,"length": 255,"name": "Порядковый номер транзакции","shortname": "Номер транзакции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "transactionQuantity", + "type": 2,"length": 255,"name": "Количество транзакций","shortname": "Количество транзакций","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf13": { + + "name": "ДФ-13 Уведомление о статусе исполнения или мотивированный отказ", + + "destination": "s-dfs/s-df13", + + "class": "ru.clearing.classes.statics.data.sdf.SDf13", + + "table": "s_df_13", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inDocument", + "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Сформировано","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "textError", + "type": 2,"name": "Описание ошибки","shortname": "Ошибка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf14": { + + "name": "ДФ-14 Уведомление о завершении расчетов", + + "destination": "s-dfs/s-df14", + + "class": "ru.clearing.classes.statics.data.sdf.SDf14", + + "table": "s_df_14", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 2,"length": 255,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf20": { + + "name": "ДФ-20 Отчет об исполнении поручения на зачисление/списание ценных бумаг", + + "destination": "s-dfs/s-df20", + + "class": "ru.clearing.classes.statics.data.sdf.SDf20", + + "table": "s_df_20", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inDocument", + "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Сформировано","searchable": true,"sortable": true,"visible": true + } + , + {"code": "security", + "type": 2,"name": "Ценная бумага","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityName", + "type": 2,"name": "Наименование ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityType", + "type": 2,"name": "Тип ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "openBalance", + "type": 2,"name": "Входящий остаток","shortname": "Входящий остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCodeCl", + "type": 2,"name": "Код раздела тех.счета/счета депо/ и наименование клиента","shortname": "Код раздела тех.счета/счета депо/ и наименование клиента","searchable": true,"sortable": true,"visible": true + } + , + {"code": "nameCl", + "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 2,"name": "Количество ценных бумаг","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "operationCode", + "type": 2,"name": "Код операции","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCodeCorr", + "type": 2,"name": "Код раздела субсчета/счета депо корреспондента","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true + } + , + {"code": "operationDate", + "type": 2,"name": "Дата операции","shortname": "Дата операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "closeBalance", + "type": 2,"name": "Исходящий остаток","shortname": "Исходящий остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "transactionNumber", + "type": 2,"length": 255,"name": "ID транзакции депозитария","shortname": "Номер транзакции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf21": { + + "name": "ДФ-21 Отчет об операциях", + + "destination": "s-dfs/s-df21", + + "class": "ru.clearing.classes.statics.data.sdf.SDf21", + + "table": "s_df_21", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "outDocument", + "type": 2,"name": "Уникальный исходящий номер сообщения","shortname": "Исходящий номер сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inDocument", + "type": 2,"name": "Исходящий номер входящего сообщения","shortname": "Сформировано","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityCode", + "type": 2,"name": "Код ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityName", + "type": 2,"name": "Наименование ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "securityType", + "type": 2,"name": "Тип ценной бумаги","shortname": "Ценная бумага","searchable": true,"sortable": true,"visible": true + } + , + {"code": "openBalance", + "type": 2,"name": "Входящий остаток","shortname": "Входящий остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCodeCl", + "type": 2,"name": "Код раздела тех.счета/счета депо","shortname": "Код раздела тех.счета/счета депо","searchable": true,"sortable": true,"visible": true + } + , + {"code": "nameCl", + "type": 2,"name": "Наименование клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 2,"name": "Количество ценных бумаг","shortname": "Количество","searchable": true,"sortable": true,"visible": true + } + , + {"code": "operationCode", + "type": 2,"name": "Код операции","shortname": "Код операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "depoCodeCorr", + "type": 2,"name": "Код раздела субсчета/счета депо корреспондента","shortname": "Код счета депо","searchable": true,"sortable": true,"visible": true + } + , + {"code": "operationDate", + "type": 2,"name": "Дата операции","shortname": "Дата операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "closeBalance", + "type": 2,"name": "Исходящий остаток","shortname": "Исходящий остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "comment", + "type": 2,"length": 250,"name": "Основание проведения операции","shortname": "Основание","searchable": true,"sortable": true,"visible": true + } + , + {"code": "transactionNumber", + "type": 2,"length": 255,"name": "ID транзакции депозитария","shortname": "Номер транзакции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf51": { + + "name": "ДФ-51 Запрос остатков по всем счетам", + + "destination": "s-dfs/s-df51", + + "class": "ru.clearing.classes.statics.data.sdf.SDf51", + + "table": "s_df_51", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "number", + "type": 2,"length": 10,"name": "Номер запроса остатков по счетам","shortname": "Номер запроса","searchable": true,"sortable": true,"visible": true + } + , + {"code": "datetime", + "type": 2,"length": 13,"name": "Дата и время сообщения","shortname": "Дата и время сообщения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf52": { + + "name": "ДФ-52 Информация о состоянии счета (блокировка/разблокировка/закрытие/открытие)", + + "destination": "s-dfs/s-df52", + + "class": "ru.clearing.classes.statics.data.sdf.SDf52", + + "table": "s_df_52", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "account", + "type": 2,"length": 25,"name": "Код счета участника клиринга","shortname": "Код счета УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_name", + "type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_type", + "type": 2,"length": 3,"name": "Признак счета","shortname": "Признак счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal", + "type": 2,"length": 4,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "date", + "type": 2,"length": 8,"name": "Дата изменения состояния счета","shortname": "Дата изменения состояния счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "status", + "type": 3,"name": "Статус счета","shortname": "Статус","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf53": { + + "name": "ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)", + + "destination": "s-dfs/s-df53", + + "class": "ru.clearing.classes.statics.data.sdf.SDf53", + + "table": "s_df_53", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "acc_name", + "field": "accName","type": 2,"length": 30,"name": "Наименование участника клиринга","shortname": "Наименование УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "account", + "type": 2,"length": 25,"name": "Код счета участника клиринга","shortname": "Код счета УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal", + "type": 2,"length": 4,"name": "Биржевой код участника клиринга","shortname": "Биржевой код УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "date", + "type": 2,"length": 8,"name": "Дата изменения состояния счета","shortname": "Дата изменения состояния счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "status", + "type": 3,"name": "Статус счета","shortname": "Статус","searchable": true,"sortable": true,"visible": true + } + , + {"code": "result", + "type": 2,"length": 255,"name": "Код завершения операции","shortname": "Код завершения операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inSDfId", + "type": 1,"name": "Идентификатор соответствующей записи из таблицы-источника","shortname": "Входящая запись","searchable": true,"sortable": true,"visible": true + } + , + {"code": "accType", + "type": 3,"name": "Признак счета","shortname": "Признак счета","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf54": { + + "name": "ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414", + + "destination": "s-dfs/s-df54", + + "class": "ru.clearing.classes.statics.data.sdf.SDf54", + + "table": "s_df_54", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "seg_type", + "type": 2,"length": 1,"name": "Код инициатора в КС","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_type", + "type": 2,"length": 4,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "docnm_ref", + "type": 2,"length": 16,"name": "Ссылочный номер документа у отправителя","shortname": "Номер документа у отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "docnmprev", + "type": 2,"length": 16,"name": "Ссылка на предшествующий документ","shortname": "Предшествующий документ","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbankcode", + "type": 2,"length": 12,"name": "Код банка-плательщика","shortname": "Банк-плательщик","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_deb", + "type": 2,"length": 35,"name": "Кор счет банка-плательщика в системе - акт.","shortname": "Кор счет банка-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbankcode", + "type": 2,"length": 12,"name": "Код банка-получателя","shortname": "Код банка-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_cred", + "type": 2,"length": 35,"name": "Кор счет банка-получателя в системе - акт. ","shortname": "Кор счет банка-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "op_type", + "type": 2,"length": 2,"name": "Вид операции","shortname": "Вид операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "op_order", + "type": 2,"length": 1,"name": "Очередность платежа","shortname": "Очередность платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_date", + "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_val", + "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sum_deb", + "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn1", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 1","shortname": "Клиент-плательщик 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn2", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 2","shortname": "Клиент-плательщик 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn3", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 3","shortname": "Клиент-плательщик 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn4", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 4","shortname": "Клиент-плательщик 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn_deb", + "type": 2,"length": 12,"name": "ИНН клиента-плательщика","shortname": "ИНН клиента-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "kpp_deb", + "type": 2,"length": 9,"name": "КПП клиента-плательщика","shortname": "КПП клиента-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_deb", + "type": 2,"length": 35,"name": "Счет клиента-плательщика(дебет)","shortname": "Счет клиента-плательщика(дебет)","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn1", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 1","shortname": "Клиент-получатель 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn2", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 2","shortname": "Клиент-получатель 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn3", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 3","shortname": "Клиент-получатель 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn4", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 4","shortname": "Клиент-получатель 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn_cred", + "type": 2,"length": 12,"name": "ИНН клиента-получателя","shortname": "ИНН клиента-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "kpp_cred", + "type": 2,"length": 9,"name": "КПП клиента-получателя","shortname": "КПП клиента-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_kr_1", + "type": 2,"length": 35,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "specif_1", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "send_type", + "type": 2,"length": 10,"name": "Вид платежа","shortname": "Вид платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_result", + "type": 2,"length": 2,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_num", + "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_date", + "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "value_date", + "field": "value_date","type": 2,"length": 8,"name": "Дата валютирования","shortname": "Дата валютирования","searchable": true,"sortable": true,"visible": true + } + , + {"code": "swift_ben", + "field": "swift_ben","type": 2,"length": 11,"name": "Свифт банка бенефициара","shortname": "Свифт банка бенефициара","searchable": true,"sortable": true,"visible": true + } + , + {"code": "swift_int", + "field": "swift_int","type": 2,"length": 11,"name": "Свифт банка посредника","shortname": "Свифт банка посредника","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf55": { + + "name": "ДФ-55 Квитанция об обработке ДФ-54", + + "destination": "s-dfs/s-df55", + + "class": "ru.clearing.classes.statics.data.sdf.SDf55", + + "table": "s_df_55", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "seg_type", + "type": 2,"length": 1,"name": "Код инициатора в КС","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_type", + "type": 2,"length": 4,"name": "Тип документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "docnm_ref", + "type": 2,"length": 16,"name": "Ссылочный номер документа у отправителя","shortname": "Номер документа у отправителя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "docnmprev", + "type": 2,"length": 16,"name": "Ссылка на предшествующий документ","shortname": "Предшествующий документ","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbankcode", + "type": 2,"length": 12,"name": "Код банка-плательщика","shortname": "Банк-плательщик","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_deb", + "type": 2,"length": 35,"name": "Кор счет банка-плательщика в системе - акт.","shortname": "Кор счет банка-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbankcode", + "type": 2,"length": 12,"name": "Код банка-получателя","shortname": "Код банка-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_cred", + "type": 2,"length": 35,"name": "Кор счет банка-получателя в системе - акт. ","shortname": "Кор счет банка-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "op_type", + "type": 2,"length": 2,"name": "Вид операции","shortname": "Вид операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "op_order", + "type": 2,"length": 1,"name": "Очередность платежа","shortname": "Очередность платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_date", + "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_val", + "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sum_deb", + "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn1", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 1","shortname": "Клиент-плательщик 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn2", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 2","shortname": "Клиент-плательщик 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn3", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 3","shortname": "Клиент-плательщик 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn4", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 4","shortname": "Клиент-плательщик 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn_deb", + "type": 2,"length": 12,"name": "ИНН клиента-плательщика","shortname": "ИНН клиента-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "kpp_deb", + "type": 2,"length": 9,"name": "КПП клиента-плательщика","shortname": "КПП клиента-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_deb", + "type": 2,"length": 35,"name": "Счет клиента-плательщика(дебет)","shortname": "Счет клиента-плательщика(дебет)","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn1", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 1","shortname": "Клиент-получатель 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn2", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 2","shortname": "Клиент-получатель 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn3", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 3","shortname": "Клиент-получатель 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn4", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 4","shortname": "Клиент-получатель 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn_cred", + "type": 2,"length": 12,"name": "ИНН клиента-получателя","shortname": "ИНН клиента-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "kpp_cred", + "type": 2,"length": 9,"name": "КПП клиента-получателя","shortname": "КПП клиента-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_kr_1", + "type": 2,"length": 35,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "specif_1", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "send_type", + "type": 2,"length": 10,"name": "Вид платежа","shortname": "Вид платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_result", + "type": 2,"length": 2,"name": "Результат операции","shortname": "Результат операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время обработки файла","shortname": "Дата и время обработки","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_num", + "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_date", + "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "value_date", + "field": "value_date","type": 2,"length": 8,"name": "Дата валютирования","shortname": "Дата валютирования","searchable": true,"sortable": true,"visible": true + } + , + {"code": "swift_ben", + "field": "swift_ben","type": 2,"length": 11,"name": "Свифт банка бенефициара","shortname": "Свифт банка бенефициара","searchable": true,"sortable": true,"visible": true + } + , + {"code": "swift_int", + "field": "swift_int","type": 2,"length": 11,"name": "Свифт банка посредника","shortname": "Свифт банка посредника","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf56": { + + "name": "ДФ-56 Запрос транзакций за период", + + "destination": "s-dfs/s-df56", + + "class": "ru.clearing.classes.statics.data.sdf.SDf56", + + "table": "s_df_56", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "number", + "type": 2,"length": 10,"name": "Номер запроса","shortname": "Номер запроса","searchable": true,"sortable": true,"visible": true + } + , + {"code": "start_datetime", + "type": 2,"length": 13,"name": "Дата и время для фильтрации транзакций с большим или равным указанным параметром","shortname": "Дата и время начала","searchable": true,"sortable": true,"visible": true + } + , + {"code": "end_datetime", + "type": 2,"length": 13,"name": "Дата и время для фильтрации транзакций с меньшим указанным параметром","shortname": "Дата и время окончания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "account", + "type": 2,"length": 25,"name": "Код счета участника клиринга для фильтрации транзакций по значению","shortname": "Счет участника клиринга","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal", + "type": 2,"length": 4,"name": "Биржевой код участника клиринга для фильтрации транзакций по значению","shortname": "Биржевой код участника клиринга","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "sDf57": { + + "name": "ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)", + + "destination": "s-dfs/s-df57", + + "class": "ru.clearing.classes.statics.data.sdf.SDf57", + + "table": "s_df_57", + + "fields": [ + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "dbfId", + "type": 1,"name": "Уникальный идентификатор платежного документа (транзакции)","shortname": "ID платежного поручения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal_deb", + "type": 2,"length": 4,"name": "Биржевой код участника клиринга (плательщик)","shortname": "Инициатор в КС","searchable": true,"sortable": true,"visible": true + } + , + {"code": "deal_cred", + "type": 2,"length": 4,"name": "Биржевой код участника клиринга (получатель)","shortname": "Получатель","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbankcode", + "type": 2,"length": 12,"name": "Код банка-плательщика","shortname": "Код банка-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_deb", + "type": 2,"length": 35,"name": "Кор счет банка-плательщика в системе - акт.","shortname": "Кор счет банка-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 1","shortname": "Банк-плательщик 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 2","shortname": "Банк-плательщик 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 3","shortname": "Банк-плательщик 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 4","shortname": "Банк-плательщик 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-плательщика 5","shortname": "Банк-плательщик 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbankcode", + "type": 2,"length": 35,"name": "Код банка-получателя","shortname": "Код банка-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "c_acc_cred", + "type": 2,"length": 35,"name": "Кор счет банка-получателя в системе - акт.","shortname": "Кор счет банка-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam1", + "type": 2,"length": 35,"name": "Наименование банка-получателя 1","shortname": "Банк-получатель 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam2", + "type": 2,"length": 35,"name": "Наименование банка-получателя 2","shortname": "Банк-получатель 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam3", + "type": 2,"length": 35,"name": "Наименование банка-получателя 3","shortname": "Банк-получатель 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam4", + "type": 2,"length": 35,"name": "Наименование банка-получателя 4","shortname": "Банк-получатель 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rbanknam5", + "type": 2,"length": 35,"name": "Наименование банка-получателя 5","shortname": "Банк-получатель 5","searchable": true,"sortable": true,"visible": true + } + , + {"code": "op_type", + "type": 2,"length": 2,"name": "Вид операции","shortname": "Вид операции","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_date", + "type": 2,"length": 8,"name": "Платеж-дата","shortname": "Платеж-дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "ext_date", + "type": 2,"length": 255,"name": "Дата по выписке","shortname": "Дата по выписке","searchable": true,"sortable": true,"visible": true + } + , + {"code": "pay_val", + "type": 2,"length": 12,"name": "Валюта платежа","shortname": "Валюта","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sum_deb", + "type": 2,"length": 22,"name": "Сумма дебет","shortname": "Сумма дебет","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn1", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 1","shortname": "Клиент-плательщик 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn2", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 2","shortname": "Клиент-плательщик 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn3", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 3","shortname": "Клиент-плательщик 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sclientn4", + "type": 2,"length": 35,"name": "Наименование клиента-плательщика 4","shortname": "Клиент-плательщик 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn_deb", + "type": 2,"length": 12,"name": "ИНН клиента-плательщика","shortname": "ИНН клиента-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "kpp_deb", + "type": 2,"length": 9,"name": "КПП клиента-плательщика","shortname": "КПП клиента-плательщика","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_deb", + "type": 2,"length": 35,"name": "Счет клиента-плательщика(дебет)","shortname": "Счет клиента-плательщика(дебет)","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn1", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 1","shortname": "Клиент-получатель 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn2", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 2","shortname": "Клиент-получатель 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn3", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 3","shortname": "Клиент-получатель 3","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rclientn4", + "type": 2,"length": 35,"name": "Наименование клиента-получателя 4","shortname": "Клиент-получатель 4","searchable": true,"sortable": true,"visible": true + } + , + {"code": "inn_cred", + "type": 2,"length": 12,"name": "ИНН клиента-получателя","shortname": "ИНН клиента-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "kpp_cred", + "type": 2,"length": 9,"name": "КПП клиента-получателя","shortname": "КПП клиента-получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "acc_kr", + "type": 2,"length": 35,"name": "Счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "specif", + "type": 2,"length": 255,"name": "Назначение платежа","shortname": "Назначение платежа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "fileName", + "type": 2,"length": 255,"name": "Наименование входящего файла","shortname": "Наименование файла","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_num", + "field": "doc_num","type": 2,"length": 3,"name": "Номер выгружаемого документа","shortname": "Номер выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "doc_date", + "field": "doc_date","type": 2,"length": 8,"name": "Дата выгружаемого документа","shortname": "Дата выгружаемого документа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "dt_in", + "type": 2,"length": 22,"name": "Входящий дебетовый остаток","shortname": "Входящий дебетовый остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "kt_in", + "type": 2,"length": 22,"name": "Входящий кредитовый остаток","shortname": "Входящий кредитовый остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "dt_out", + "type": 2,"length": 22,"name": "Исходящий дебетовый остаток","shortname": "Исходящий дебетовый остаток","searchable": true,"sortable": true,"visible": true + } + , + {"code": "kt_out", + "type": 2,"length": 22,"name": "Исходящий кредитовый остаток","shortname": "Исходящий кредитовый остаток","searchable": true,"sortable": true,"visible": true + } + ] + + } + , + "managementJournal": { + + "name": "Журнал мониторинга и контроля", + + "destination": "management-journals", + + "class": "ru.clearing.classes.statics.data.journal.ManagementJournal", + + "table": "management_journal", + + "fields": [ + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "userId", + "type": 1,"dbname": "Идентификатор пользователя","name": "Автор сообщения","shortname": "Сотрудник","searchable": true,"sortable": true,"visible": true,"link": "userCls","linkCode": "identifier" + } + , + {"code": "managementJournalType", + "type": 12,"dbname": "Код типа мониторинга","name": "Наименование типа мониторинга","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "managementJournalType" + } + , + {"code": "managementJournalPurpose", + "type": 12,"dbname": "Код цели мониторинга","name": "Цель мониторинга","shortname": "Цель","searchable": true,"sortable": true,"visible": true,"link": "managementJournalPurpose" + } + , + {"code": "managementJournalStatus", + "type": 12,"dbname": "Код статуса","name": "Наименование статуса","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "managementJournalStatus" + } + , + {"code": "text", + "type": 2,"name": "Текст сообщения","shortname": "Сообщение","searchable": true,"visible": true,"sortable": true,"length": 4096 + } + , + {"code": "changeAccessSign", + "type": 12,"dbname": "Код признака изменения доступа","name": "Признак изменения доступа","shortname": "Изменение доступа","searchable": true,"sortable": true,"visible": true,"link": "allowed" + } + , + {"code": "changeDataSign", + "type": 12,"dbname": "Код признака изменения данных","name": "Признак изменения данных","shortname": "Изменение данных","searchable": true,"sortable": true,"visible": true,"link": "allowed" + } + , + {"code": "eventDate", + "type": 4,"name": "Дата события ЕГРЮЛ","shortname": "Дата события","searchable": true,"sortable": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "inDocumentJournal": { + + "name": "Журнал входящих документов", + + "destination": "in-document-journals", + + "class": "ru.clearing.classes.statics.data.journal.InDocumentJournal", + + "table": "in_document_journal", + + "fields": [ + {"code": "registrationDate", + "type": 6,"name": "Дата регистрации","shortname": "Дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registrationTime", + "type": 5,"name": "Время регистрации","shortname": "Время","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registrationNumber", + "type": 1,"name": "Регистационный номер","shortname": "Регистационный номер","searchable": true,"sortable": true,"visible": true + } + , + {"code": "documentName", + "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sender", + "type": 2,"length": 255,"name": "Полное наименование отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 1,"name": "Количествово экземпляров","shortname": "Кол-во экз.","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Код УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "courierType", + "type": 12,"dbname": "Код способа отправки","name": "Наименование способа отправки","shortname": "Способ отправки","searchable": true,"sortable": true,"visible": true,"link": "courierType" + } + , + {"code": "emailDate", + "type": 6,"name": "Дата отправки электронной почтой","shortname": "Дата отправки эл. почтой","searchable": true,"sortable": true,"visible": true + } + , + {"code": "amount", + "type": 11,"name": "Сумма","shortname": "Сумма","searchable": true,"sortable": true,"visible": true + } + , + {"code": "dossierNumber", + "type": 2,"length": 50,"name": "Номер дела","shortname": "Дело №","searchable": true,"sortable": true,"visible": true + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Комментарий","shortname": "Комментарий","searchable": true,"sortable": true,"visible": true + } + , + {"code": "receiptDate", + "type": 6,"name": "Дата получения оригинала","shortname": "Дата получения","searchable": true,"sortable": true,"visible": true + } + , + {"code": "resultStatus", + "type": 12,"dbname": "Код статуса загрузки документа","name": "Наименование статуса загрузки документа","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "resultStatus" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + ] + + } + , + "outDocumentJournal": { + + "name": "Журнал исходящих документов", + + "destination": "out-document-journals", + + "class": "ru.clearing.classes.statics.data.journal.OutDocumentJournal", + + "table": "out_document_journal", + + "fields": [ + {"code": "registrationDate", + "type": 6,"name": "Дата регистрации","shortname": "Дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registrationTime", + "type": 5,"name": "Время регистрации","shortname": "Время","searchable": true,"sortable": true,"visible": true + } + , + {"code": "registrationNumber", + "type": 1,"name": "Регистационный номер","shortname": "Регистационный номер","searchable": true,"sortable": true,"visible": true + } + , + {"code": "documentName", + "type": 2,"length": 255,"name": "Наименование документа","shortname": "Документ","searchable": true,"sortable": true,"visible": true + } + , + {"code": "addressee", + "type": 2,"length": 255,"name": "Полное наименование получателя","shortname": "Получатель","searchable": true,"sortable": true,"visible": true + } + , + {"code": "quantity", + "type": 1,"name": "Количествово экземпляров","shortname": "Кол-во экз.","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Код участника клиринга","shortname": "Код УК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "courierType", + "type": 12,"dbname": "Код способа отправки","name": "Наименование способа отправки","shortname": "Способ отправки","searchable": true,"sortable": true,"visible": true,"link": "courierType" + } + , + {"code": "emailDate", + "type": 6,"name": "Дата отправки электронной почтой","shortname": "Дата отправки эл. почтой","searchable": true,"sortable": true,"visible": true + } + , + {"code": "amount", + "type": 11,"name": "Сумма","shortname": "Сумма","searchable": true,"sortable": true,"visible": true + } + , + {"code": "dossierNumber", + "type": 2,"length": 50,"name": "Номер дела","shortname": "Дело №","searchable": true,"sortable": true,"visible": true + } + , + {"code": "postDate", + "type": 6,"name": "Дата почтового отправления","shortname": "Дата отправления","searchable": true,"sortable": true,"visible": true + } + , + {"code": "resultStatus", + "type": 12,"dbname": "Код статуса загрузки документа","name": "Наименование статуса загрузки документа","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "resultStatus" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + ] + + } + , + "reportRegister": { + + "name": "Реестр отправленных отчетов", + + "destination": "report-registers", + + "class": "ru.clearing.classes.statics.data.register.ReportRegister", + + "table": "report_register", + + "fields": [ + {"code": "companyFullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true + } + , + {"code": "clearingCode", + "type": 2,"length": 255,"name": "Код клиринга","shortname": "Код участника","searchable": true,"sortable": true + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор клиринговой сессии","name": "Клиринговая сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "comment", + "type": 2,"name": "Комментарий","shortname": "Основание","searchable": true,"sortable": true,"length": 255 + } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование","shortname": "Наименование","visible": false,"searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 1,"name": "Количество записей","shortname": "Количество","visible": false,"searchable": true,"sortable": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "contractRegister": { + + "name": "Журнал регистрации договоров", + + "destination": "contract-registers", + + "class": "ru.clearing.classes.statics.data.register.ContractRegister", + + "table": "contract_register", + + "fields": [ + {"code": "name", + "type": 2,"length": 255,"name": "Наименование документа","shortname": "Наименование","searchable": true,"sortable": true,"visible": true + } + , + {"code": "number", + "type": 2,"length": 255,"name": "Номер документа","shortname": "Номер","searchable": true,"sortable": true,"visible": true + } + , + {"code": "issueDate", + "type": 6,"name": "Дата составления","shortname": "Дата выдачи","searchable": true,"sortable": true + } + , + {"code": "companyFullName", + "type": 2,"length": 255,"name": "Полное наименование компании","shortname": "Полное наименование компании","searchable": true,"sortable": true,"visible": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","searchable": true,"sortable": true,"visible": true,"link": "company","linkCode": "shortName" + } + , + {"code": "documentType", + "type": 12,"dbname": "Код типа документа","name": "Наименование типа документа","shortname": "Тип документа","searchable": true,"sortable": true,"visible": true,"link": "documentType" + } + , + {"code": "issuePlace", + "type": 2,"length": 255,"name": "Место выдачи","shortname": "Место выдачи","searchable": true,"sortable": true,"visible": true + } + , + {"code": "issuer", + "type": 2,"length": 255,"name": "Кем выдан","shortname": "Кем выдан","searchable": true,"sortable": true,"visible": true + } + , + {"code": "issuerCode", + "type": 2,"length": 255,"name": "Код выдавшего органа","shortname": "Код выдавшего органа","searchable": true,"sortable": true,"visible": true + } + , + {"code": "place", + "type": 2,"length": 255,"name": "Место","shortname": "Место","searchable": true,"sortable": true,"visible": true + } + , + {"code": "validFromDate", + "type": 6,"name": "Дата начала срока действия","shortname": "Дата начала срока действия","searchable": true,"sortable": true + } + , + {"code": "validToDate", + "type": 6,"name": "Дата окончания срока действия","shortname": "Дата окончания срока действия","searchable": true,"sortable": true + } + , + {"code": "closeDate", + "type": 6,"name": "Дата расторжения","shortname": "Дата расторжения","searchable": true,"sortable": true + } + , + {"code": "comment", + "type": 2,"length": 255,"name": "Место","shortname": "Место","searchable": true,"sortable": true,"visible": true + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "operation": { + + "name": "Проводки", + + "destination": "operations", + + "class": "ru.clearing.classes.statics.data.payment.Operation", + + "table": "operation", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "addresseeId", + "type": 1,"dbname": "Идентификатор компании-получателя","name": "Наименование компании-получателя","shortname": "Получатель","searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "senderId", + "type": 1,"dbname": "Идентификатор компании-отправителя","name": "Наименование компании-отправителя","shortname": "Отправитель","searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "operationTypeId", + "type": 1,"name": "Тип проводки","shortname": "Тип","searchable": true,"sortable": true,"link": "operationType" + } + , + {"code": "operationStatus", + "type": 12,"dbname": "Код статуса обработки","name": "Наименование статуса обработки","shortname": "Статус","searchable": true,"sortable": true,"link": "operationStatus" + } + ] + + } + , + "marketDataLiquidation": { + + "name": "Статичная ценовая информация для ликвидации активов", + + "destination": "market-data-liquidations", + + "class": "ru.clearing.classes.statics.data.misc.MarketDataLiquidation", + + "table": "market_data_liquidation", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": true,"sortable": true,"visible": true,"link": "security","linkCode": "securitySymbol" + } + , + {"code": "price", + "type": 10,"name": "Цена за 1 штуку ликвидационного актива","shortname": "Цена за шт.","searchable": true,"sortable": true,"visible": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "sCrossRate": { + + "name": "Кросс курсы валют от ЦБ", + + "destination": "cross-rate", + + "class": "ru.clearing.classes.statics.data.misc.SCrossRate", + + "table": "s_cross_rate", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": false + } + , + {"code": "date", + "type": 6,"name": "Дата торгов","shortname": "Дата торгов","searchable": true,"sortable": true,"visible": false + } + , + {"code": "currency", + "type": 2,"length": 50,"name": "Наименование валюты","shortname": "Наименование валюты","searchable": true,"sortable": true,"visible": true + } + , + {"code": "currCode", + "type": 2,"length": 50,"name": "Код валюты","shortname": "Код валюты","searchable": true,"sortable": true,"visible": true + } + , + {"code": "faceValue", + "type": 10,"name": "Номинал","shortname": "Номинал","searchable": true,"sortable": true,"visible": true + } + , + {"code": "rate", + "type": 10,"name": "Курс валюты с учетом размера лота","shortname": "Курс валюты","searchable": true,"sortable": true,"visible": true + } + , + {"code": "unitRate", + "type": 10,"name": "Курс за единицу иностранной валюты","shortname": "Курс за единицу валюты","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationTime", + "type": 4,"name": "Дата и время создания записи","shortname": "Дата и время создания","searchable": true,"sortable": true,"visible": true + } + , + {"code": "generationId", + "type": 1,"name": "Идентификатор взаимодействия","shortname": "ID взаимодействия","searchable": true,"sortable": true,"visible": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + ] + + } + , + "blacklistMarket": { + + "name": "blacklist площадок", + + "destination": "blacklist-market", + + "class": "ru.clearing.classes.statics.data.misc.BlacklistMarket", + + "table": "blacklist_market", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": true + } + , + {"code": "code", + "name": "Код рынка","shortname": "Код рынка","type": 2,"length": 12 + } + , + {"code": "section", + "name": "Секция","shortname": "Секция","type": 12 + } + ] + + } + + } + + ,"views": { + + } + + ,"types": [ + + { "code": "identity", - - "id": "1" + + "id": "1" + , + "name": "Идентификатор" + , + "type": "bigint" + , + "javatype": "Long" + + } , - "name": "Идентификатор" - , - "type": "bigint" - , - "javatype": "Long" - - } -, - { + { "code": "string", - - "id": "2" + + "id": "2" + , + "name": "Строка" + , + "type": "varchar" + , + "javatype": "String" + + } , - "name": "Строка" - , - "type": "varchar" - , - "javatype": "String" - - } -, - { + { "code": "long", - - "id": "3" + + "id": "3" + , + "name": "Целый" + , + "type": "bigint" + , + "javatype": "Long" + + } , - "name": "Целый" - , - "type": "bigint" - , - "javatype": "Long" - - } -, - { + { "code": "dateTime", - - "id": "4" + + "id": "4" + , + "name": "Дата и время" + , + "type": "timestamp" + , + "javatype": "Instant" + + } , - "name": "Дата и время" - , - "type": "timestamp" - , - "javatype": "Instant" - - } -, - { + { "code": "time", - - "id": "5" + + "id": "5" + , + "name": "Время" + , + "type": "time" + , + "javatype": "LocalTime" + + } , - "name": "Время" - , - "type": "time" - , - "javatype": "LocalTime" - - } -, - { + { "code": "date", - - "id": "6" + + "id": "6" + , + "name": "Дата" + , + "type": "date" + , + "javatype": "LocalDate" + + } , - "name": "Дата" - , - "type": "date" - , - "javatype": "LocalDate" - - } -, - { + { "code": "array", - - "id": "7" + + "id": "7" + , + "name": "Массив" + , + "type": "json" + , + "javatype": "String" + + } , - "name": "Массив" - , - "type": "json" - , - "javatype": "String" - - } -, - { + { "code": "object", - - "id": "8" + + "id": "8" + , + "name": "Объект" + , + "type": "jsonb" + , + "javatype": "String" + + } , - "name": "Объект" - , - "type": "jsonb" - , - "javatype": "String" - - } -, - { + { "code": "boolean", - - "id": "9" + + "id": "9" + , + "name": "Булевый" + , + "type": "boolean" + , + "javatype": "Boolean" + + } , - "name": "Булевый" - , - "type": "boolean" - , - "javatype": "Boolean" - - } -, - { + { "code": "double", - - "id": "10" + + "id": "10" + , + "name": "Число с точкой" + , + "type": "numeric(72,18)" + , + "javatype": "BigDecimal" + + } , - "name": "Число с точкой" - , - "type": "numeric(72,18)" - , - "javatype": "BigDecimal" - - } -, - { + { "code": "amount", - - "id": "11" + + "id": "11" + , + "name": "Объем из числа с точкой" + , + "type": "numeric(72,2)" + , + "javatype": "BigDecimal" + + } , - "name": "Объем из числа с точкой" - , - "type": "numeric(72,2)" - , - "javatype": "BigDecimal" - - } -, - { + { "code": "code", - - "id": "12" - , - "name": "Код 4 символа" - , - "type": "varchar(4)" - , - "javatype": "String" - - } - -] - -} + + "id": "12" + , + "name": "Код 4 символа" + , + "type": "varchar(4)" + , + "javatype": "String" + + } + + ] + + } \ No newline at end of file diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.xml b/clearing-parent/backend-api/src/main/resources/meta/meta.xml index fa908d426..3fcad10b3 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.xml @@ -1,6 +1,6 @@ - + @@ -1159,6 +1159,21 @@ + +
+ + + + + + + + + + + + + @@ -1173,6 +1188,21 @@ + +
+ + + + + + + + + + + + + @@ -1187,6 +1217,21 @@ + +
+ + + + + + + + + + + + + diff --git a/clearing-parent/backend-api/src/test/resources/meta.json b/clearing-parent/backend-api/src/test/resources/meta.json index 618c2bbc1..8d45cadbf 100644 --- a/clearing-parent/backend-api/src/test/resources/meta.json +++ b/clearing-parent/backend-api/src/test/resources/meta.json @@ -1,6 +1,6 @@ { - "version": "3.12.8.101", + "version": "3.14.105.104", "enums": { @@ -1523,7 +1523,7 @@ "destination": "db-versions", - "class": "", + "class": "ru.clearing.classes.statics.data.misc.DbVersion", "table": "db_version", @@ -1535,6 +1535,10 @@ {"code": "version", "type": 2,"length": 50,"name": "Версия базы данных, привязанная к релизу","shortname": "Версия БД","searchable": true,"sortable": true,"visible": true } + , + {"code": "dictionaryVersion", + "type": 2,"length": 100,"name": "Версия справочника","shortname": "Версия справочника","searchable": true,"sortable": true,"visible": true + } ] } @@ -4984,6 +4988,66 @@ {"code": "intermediarySwiftCode", "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование владельца счета","shortname": "Владелец счета","searchable": true,"sortable": true,"visible": true + } + , + {"code": "address", + "type": 2,"length": 255,"name": "Адрес владельца счета","shortname": "Адрес владельца","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress", + "type": 2,"length": 255,"name": "Место нахождения банка получателя средств","shortname": "Место нахождение банка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankSwiftCode", + "type": 2,"length": 12,"name": "SWIFT банка получателя средств","shortname": "SWIFT банка","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount", + "type": 2,"length": 35,"name": "Номер счета банка получателя средств","shortname": "Номер счёта получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName1", + "type": 2,"length": 255,"name": "Наименование банка-посредника 1","shortname": "Банк посредник 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress1", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 1","shortname": "Место нахождения банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount1", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 1","shortname": "Счет банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName2", + "type": 2,"length": 255,"name": "Наименование банка-посредника 2","shortname": "Банк посредник 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress2", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 2","shortname": "Место нахождения банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "intermediarySwiftCode2", + "type": 2,"length": 12,"name": "SWIFT банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount2", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "personalAccount", + "type": 2,"length": 20,"name": "Лицевой счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "budgetClassificationCode", + "type": 2,"length": 20,"name": "КБК","shortname": "КБК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "oktmo", + "type": 2,"length": 20,"name": "ОКТМО получателя средств","shortname": "ОКТМО","searchable": true,"sortable": true,"visible": true + } ] ,"actions":[ {"method":"post", @@ -5042,6 +5106,66 @@ {"code": "intermediarySwiftCode", "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование владельца счета","shortname": "Владелец счета","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "address", + "type": 2,"length": 255,"name": "Адрес владельца счета","shortname": "Адрес владельца","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankAddress", + "type": 2,"length": 255,"name": "Место нахождения банка получателя средств","shortname": "Место нахождение банка","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankSwiftCode", + "type": 2,"length": 12,"name": "SWIFT банка получателя средств","shortname": "SWIFT банка","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankAccount", + "type": 2,"length": 35,"name": "Номер счета банка получателя средств","shortname": "Номер счёта получателя","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankName1", + "type": 2,"length": 255,"name": "Наименование банка-посредника 1","shortname": "Банк посредник 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress1", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 1","shortname": "Место нахождения банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount1", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 1","shortname": "Счет банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName2", + "type": 2,"length": 255,"name": "Наименование банка-посредника 2","shortname": "Банк посредник 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress2", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 2","shortname": "Место нахождения банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "intermediarySwiftCode2", + "type": 2,"length": 12,"name": "SWIFT банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount2", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "personalAccount", + "type": 2,"length": 20,"name": "Лицевой счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "budgetClassificationCode", + "type": 2,"length": 20,"name": "КБК","shortname": "КБК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "oktmo", + "type": 2,"length": 20,"name": "ОКТМО получателя средств","shortname": "ОКТМО","searchable": true,"sortable": true,"visible": true + } ] } , @@ -5101,6 +5225,66 @@ {"code": "intermediarySwiftCode", "type": 2,"length": 255,"name": "Код SWIFT посредника","shortname": "SWIFT посредника","searchable": true,"sortable": true,"visible": true } + , + {"code": "name", + "type": 2,"length": 255,"name": "Наименование владельца счета","shortname": "Владелец счета","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "address", + "type": 2,"length": 255,"name": "Адрес владельца счета","shortname": "Адрес владельца","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankAddress", + "type": 2,"length": 255,"name": "Место нахождения банка получателя средств","shortname": "Место нахождение банка","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankSwiftCode", + "type": 2,"length": 12,"name": "SWIFT банка получателя средств","shortname": "SWIFT банка","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankAccount", + "type": 2,"length": 35,"name": "Номер счета банка получателя средств","shortname": "Номер счёта получателя","searchable": true,"sortable": true,"visible": true,"required": true + } + , + {"code": "bankName1", + "type": 2,"length": 255,"name": "Наименование банка-посредника 1","shortname": "Банк посредник 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress1", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 1","shortname": "Место нахождения банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount1", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 1","shortname": "Счет банка-посредника 1","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankName2", + "type": 2,"length": 255,"name": "Наименование банка-посредника 2","shortname": "Банк посредник 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAddress2", + "type": 2,"length": 255,"name": "Место нахождения банка-посредника 2","shortname": "Место нахождения банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "intermediarySwiftCode2", + "type": 2,"length": 12,"name": "SWIFT банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "bankAccount2", + "type": 2,"length": 35,"name": "Номер счета банка-посредника 2","shortname": "Счет банка-посредника 2","searchable": true,"sortable": true,"visible": true + } + , + {"code": "personalAccount", + "type": 2,"length": 20,"name": "Лицевой счет получателя","shortname": "Счет получателя","searchable": true,"sortable": true,"visible": true + } + , + {"code": "budgetClassificationCode", + "type": 2,"length": 20,"name": "КБК","shortname": "КБК","searchable": true,"sortable": true,"visible": true + } + , + {"code": "oktmo", + "type": 2,"length": 20,"name": "ОКТМО получателя средств","shortname": "ОКТМО","searchable": true,"sortable": true,"visible": true + } ] } , @@ -10332,6 +10516,32 @@ ] } + , + "blacklistMarket": { + + "name": "blacklist площадок", + + "destination": "blacklist-market", + + "class": "ru.clearing.classes.statics.data.misc.BlacklistMarket", + + "table": "blacklist_market", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true,"visible": true + } + , + {"code": "code", + "name": "Код рынка","shortname": "Код рынка","type": 2,"length": 12 + } + , + {"code": "section", + "name": "Секция","shortname": "Секция","type": 12 + } + ] + + } } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccount.java index 78fbb69d5..61112f353 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccount.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/BankAccount.java @@ -26,6 +26,21 @@ public class BankAccount extends SpcexObjectBase { private String account; private Long companyId; private String intermediarySwiftCode; + private String name; + private String address; + private String bankAddress; + private String bankSwiftCode; + private String bankAccount; + private String bankName1; + private String bankAddress1; + private String bankAccount1; + private String bankName2; + private String bankAddress2; + private String intermediarySwiftCode2; + private String bankAccount2; + private String personalAccount; + private String budgetClassificationCode; + private String oktmo; public Long getAccountId() { return accountId; @@ -143,7 +158,128 @@ public class BankAccount extends SpcexObjectBase { return intermediarySwiftCode; } - public void setIntermediarySwiftCode(String intermediarySwiftCode) { - this.intermediarySwiftCode = intermediarySwiftCode; + public void setIntermediarySwiftCode(String value) { + this.intermediarySwiftCode = value; } + + public String getName() { + return name; + } + + public void setName(String value) { + this.name = value; + } + + public String getAddress() { + return address; + } + + public void setAddress(String value) { + this.address = value; + } + + public String getBankAddress() { + return bankAddress; + } + + public void setBankAddress(String value) { + this.bankAddress = value; + } + + public String getBankSwiftCode() { + return bankSwiftCode; + } + + public void setBankSwiftCode(String value) { + this.bankSwiftCode = value; + } + + public String getBankAccount() { + return bankAccount; + } + + public void setBankAccount(String value) { + this.bankAccount = value; + } + + public String getBankName1() { + return bankName1; + } + + public void setBankName1(String value) { + this.bankName1 = value; + } + + public String getBankAddress1() { + return bankAddress1; + } + + public void setBankAddress1(String value) { + this.bankAddress1 = value; + } + + public String getBankAccount1() { + return bankAccount1; + } + + public void setBankAccount1(String value) { + this.bankAccount1 = value; + } + + public String getBankName2() { + return bankName2; + } + + public void setBankName2(String value) { + this.bankName2 = value; + } + + public String getBankAddress2() { + return bankAddress2; + } + + public void setBankAddress2(String value) { + this.bankAddress2 = value; + } + + public String getIntermediarySwiftCode2() { + return intermediarySwiftCode2; + } + + public void setIntermediarySwiftCode2(String value) { + this.intermediarySwiftCode2 = value; + } + + public String getBankAccount2() { + return bankAccount2; + } + + public void setBankAccount2(String value) { + this.bankAccount2 = value; + } + + public String getPersonalAccount() { + return personalAccount; + } + + public void setPersonalAccount(String value) { + this.personalAccount = value; + } + + public String getBudgetClassificationCode() { + return budgetClassificationCode; + } + + public void setBudgetClassificationCode(String value) { + this.budgetClassificationCode = value; + } + + public String getOktmo() { + return oktmo; + } + + public void setOktmo(String value) { + this.oktmo = value; + } + } \ No newline at end of file diff --git a/clearing-parent/db-scripts/src/main/resources/db/DDL.3.13.sql b/clearing-parent/db-scripts/src/main/resources/db/DDL.3.13.sql new file mode 100644 index 000000000..f24a888d8 --- /dev/null +++ b/clearing-parent/db-scripts/src/main/resources/db/DDL.3.13.sql @@ -0,0 +1,5124 @@ +-- DB version: 3.13 +/* Dictionaries */ + +-- allowed - +DROP TABLE IF EXISTS ALLOWED_DICTIONARY; +CREATE TABLE ALLOWED_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE ALLOWED_DICTIONARY IS ' '; + +COMMENT ON COLUMN ALLOWED_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN ALLOWED_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN ALLOWED_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE ALLOWED_DICTIONARY TO clearing; + +-- workflowStatus - - +DROP TABLE IF EXISTS WORKFLOW_STATUS_DICTIONARY; +CREATE TABLE WORKFLOW_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE WORKFLOW_STATUS_DICTIONARY IS ' -'; + +COMMENT ON COLUMN WORKFLOW_STATUS_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN WORKFLOW_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN WORKFLOW_STATUS_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE WORKFLOW_STATUS_DICTIONARY TO clearing; + +-- errorCode - +DROP TABLE IF EXISTS ERROR_CODE_DICTIONARY; +CREATE TABLE ERROR_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE ERROR_CODE_DICTIONARY IS ' '; + +COMMENT ON COLUMN ERROR_CODE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN ERROR_CODE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN ERROR_CODE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE ERROR_CODE_DICTIONARY TO clearing; + +-- countryCode - +DROP TABLE IF EXISTS COUNTRY_CODE_DICTIONARY; +CREATE TABLE COUNTRY_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE COUNTRY_CODE_DICTIONARY IS ' '; + +COMMENT ON COLUMN COUNTRY_CODE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN COUNTRY_CODE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN COUNTRY_CODE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE COUNTRY_CODE_DICTIONARY TO clearing; + +-- section - +DROP TABLE IF EXISTS SECTION_DICTIONARY; +CREATE TABLE SECTION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SECTION_DICTIONARY IS ' '; + +COMMENT ON COLUMN SECTION_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN SECTION_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN SECTION_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE SECTION_DICTIONARY TO clearing; + +-- userRole - +DROP TABLE IF EXISTS USER_ROLE_DICTIONARY; +CREATE TABLE USER_ROLE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE USER_ROLE_DICTIONARY IS ' '; + +COMMENT ON COLUMN USER_ROLE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN USER_ROLE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN USER_ROLE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE USER_ROLE_DICTIONARY TO clearing; + +-- connectionState - +DROP TABLE IF EXISTS CONNECTION_STATE_DICTIONARY; +CREATE TABLE CONNECTION_STATE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE CONNECTION_STATE_DICTIONARY IS ' '; + +COMMENT ON COLUMN CONNECTION_STATE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN CONNECTION_STATE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN CONNECTION_STATE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE CONNECTION_STATE_DICTIONARY TO clearing; + +-- legalKind - +DROP TABLE IF EXISTS LEGAL_KIND_DICTIONARY; +CREATE TABLE LEGAL_KIND_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE LEGAL_KIND_DICTIONARY IS ' '; + +COMMENT ON COLUMN LEGAL_KIND_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN LEGAL_KIND_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN LEGAL_KIND_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE LEGAL_KIND_DICTIONARY TO clearing; + +-- organizationType - +DROP TABLE IF EXISTS ORGANIZATION_TYPE_DICTIONARY; +CREATE TABLE ORGANIZATION_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE ORGANIZATION_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN ORGANIZATION_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN ORGANIZATION_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN ORGANIZATION_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE ORGANIZATION_TYPE_DICTIONARY TO clearing; + +-- corporationSoleType - +DROP TABLE IF EXISTS CORPORATION_SOLE_TYPE_DICTIONARY; +CREATE TABLE CORPORATION_SOLE_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE CORPORATION_SOLE_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN CORPORATION_SOLE_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN CORPORATION_SOLE_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN CORPORATION_SOLE_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE CORPORATION_SOLE_TYPE_DICTIONARY TO clearing; + +-- clearingCategory - +DROP TABLE IF EXISTS CLEARING_CATEGORY_DICTIONARY; +CREATE TABLE CLEARING_CATEGORY_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE CLEARING_CATEGORY_DICTIONARY IS ' '; + +COMMENT ON COLUMN CLEARING_CATEGORY_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN CLEARING_CATEGORY_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN CLEARING_CATEGORY_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE CLEARING_CATEGORY_DICTIONARY TO clearing; + +-- contactType - +DROP TABLE IF EXISTS CONTACT_TYPE_DICTIONARY; +CREATE TABLE CONTACT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE CONTACT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN CONTACT_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN CONTACT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN CONTACT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE CONTACT_TYPE_DICTIONARY TO clearing; + +-- documentType - +DROP TABLE IF EXISTS DOCUMENT_TYPE_DICTIONARY; +CREATE TABLE DOCUMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE DOCUMENT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN DOCUMENT_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN DOCUMENT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN DOCUMENT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE DOCUMENT_TYPE_DICTIONARY TO clearing; + +-- companySymbol - +DROP TABLE IF EXISTS COMPANY_SYMBOL_DICTIONARY; +CREATE TABLE COMPANY_SYMBOL_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255), SHORTNAME varchar(255)); +COMMENT ON TABLE COMPANY_SYMBOL_DICTIONARY IS ' '; + +COMMENT ON COLUMN COMPANY_SYMBOL_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN COMPANY_SYMBOL_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN COMPANY_SYMBOL_DICTIONARY.NAME IS ''; + +COMMENT ON COLUMN COMPANY_SYMBOL_DICTIONARY.SHORTNAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY_SYMBOL_DICTIONARY TO clearing; + +-- companyRole - +DROP TABLE IF EXISTS COMPANY_ROLE_DICTIONARY; +CREATE TABLE COMPANY_ROLE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE COMPANY_ROLE_DICTIONARY IS ' '; + +COMMENT ON COLUMN COMPANY_ROLE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN COMPANY_ROLE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN COMPANY_ROLE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY_ROLE_DICTIONARY TO clearing; + +-- currencyCode - +DROP TABLE IF EXISTS CURRENCY_CODE_DICTIONARY; +CREATE TABLE CURRENCY_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE CURRENCY_CODE_DICTIONARY IS ' '; + +COMMENT ON COLUMN CURRENCY_CODE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN CURRENCY_CODE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN CURRENCY_CODE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE CURRENCY_CODE_DICTIONARY TO clearing; + +-- instrumentType - +DROP TABLE IF EXISTS INSTRUMENT_TYPE_DICTIONARY; +CREATE TABLE INSTRUMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE INSTRUMENT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN INSTRUMENT_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN INSTRUMENT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN INSTRUMENT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE INSTRUMENT_TYPE_DICTIONARY TO clearing; + +-- termType - +DROP TABLE IF EXISTS TERM_TYPE_DICTIONARY; +CREATE TABLE TERM_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TERM_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN TERM_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN TERM_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN TERM_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE TERM_TYPE_DICTIONARY TO clearing; + +-- shareType - +DROP TABLE IF EXISTS SHARE_TYPE_DICTIONARY; +CREATE TABLE SHARE_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SHARE_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN SHARE_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN SHARE_TYPE_DICTIONARY.CODE IS ' '; + +COMMENT ON COLUMN SHARE_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE SHARE_TYPE_DICTIONARY TO clearing; + +-- bondType - +DROP TABLE IF EXISTS BOND_TYPE_DICTIONARY; +CREATE TABLE BOND_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE BOND_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN BOND_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN BOND_TYPE_DICTIONARY.CODE IS ' '; + +COMMENT ON COLUMN BOND_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE BOND_TYPE_DICTIONARY TO clearing; + +-- tradingClearingRegistryType - - +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY IS ' - '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY TO clearing; + +-- tradingClearingRegistryLevel - - +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY IS ' - '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY TO clearing; + +-- tradingClearingRegistryPurpose - +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY TO clearing; + +-- service - +DROP TABLE IF EXISTS SERVICE_DICTIONARY; +CREATE TABLE SERVICE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SERVICE_DICTIONARY IS ' '; + +COMMENT ON COLUMN SERVICE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN SERVICE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN SERVICE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE SERVICE_DICTIONARY TO clearing; + +-- serviceStatus - +DROP TABLE IF EXISTS SERVICE_STATUS_DICTIONARY; +CREATE TABLE SERVICE_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SERVICE_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN SERVICE_STATUS_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN SERVICE_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN SERVICE_STATUS_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE SERVICE_STATUS_DICTIONARY TO clearing; + +-- serviceProduct - +DROP TABLE IF EXISTS SERVICE_PRODUCT_DICTIONARY; +CREATE TABLE SERVICE_PRODUCT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SERVICE_PRODUCT_DICTIONARY IS ' '; + +COMMENT ON COLUMN SERVICE_PRODUCT_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN SERVICE_PRODUCT_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN SERVICE_PRODUCT_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE SERVICE_PRODUCT_DICTIONARY TO clearing; + +-- registryDesignation - - +DROP TABLE IF EXISTS REGISTRY_DESIGNATION_DICTIONARY; +CREATE TABLE REGISTRY_DESIGNATION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_DESIGNATION_DICTIONARY IS ' - '; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE REGISTRY_DESIGNATION_DICTIONARY TO clearing; + +-- registryInstrumentType - - +DROP TABLE IF EXISTS REGISTRY_INSTRUMENT_TYPE_DICTIONARY; +CREATE TABLE REGISTRY_INSTRUMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_INSTRUMENT_TYPE_DICTIONARY IS ' - '; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE REGISTRY_INSTRUMENT_TYPE_DICTIONARY TO clearing; + +-- registryCapacity - - +DROP TABLE IF EXISTS REGISTRY_CAPACITY_DICTIONARY; +CREATE TABLE REGISTRY_CAPACITY_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_CAPACITY_DICTIONARY IS ' - '; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE REGISTRY_CAPACITY_DICTIONARY TO clearing; + +-- registryUnit - - +DROP TABLE IF EXISTS REGISTRY_UNIT_DICTIONARY; +CREATE TABLE REGISTRY_UNIT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_UNIT_DICTIONARY IS ' - '; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE REGISTRY_UNIT_DICTIONARY TO clearing; + +-- registryCode - +DROP TABLE IF EXISTS REGISTRY_CODE_DICTIONARY; +CREATE TABLE REGISTRY_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_CODE_DICTIONARY IS ' '; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE REGISTRY_CODE_DICTIONARY TO clearing; + +-- registryStatus - +DROP TABLE IF EXISTS REGISTRY_STATUS_DICTIONARY; +CREATE TABLE REGISTRY_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE REGISTRY_STATUS_DICTIONARY TO clearing; + +-- balanceDimension - +DROP TABLE IF EXISTS BALANCE_DIMENSION_DICTIONARY; +CREATE TABLE BALANCE_DIMENSION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE BALANCE_DIMENSION_DICTIONARY IS ' '; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE BALANCE_DIMENSION_DICTIONARY TO clearing; + +-- accountType - +DROP TABLE IF EXISTS ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE ACCOUNT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN ACCOUNT_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN ACCOUNT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN ACCOUNT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE ACCOUNT_TYPE_DICTIONARY TO clearing; + +-- depoAccountType - +DROP TABLE IF EXISTS DEPO_ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE DEPO_ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE DEPO_ACCOUNT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE DEPO_ACCOUNT_TYPE_DICTIONARY TO clearing; + +-- clearingAccountType - +DROP TABLE IF EXISTS CLEARING_ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE CLEARING_ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE CLEARING_ACCOUNT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE CLEARING_ACCOUNT_TYPE_DICTIONARY TO clearing; + +-- task - +DROP TABLE IF EXISTS TASK_DICTIONARY; +CREATE TABLE TASK_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(150)); +COMMENT ON TABLE TASK_DICTIONARY IS ' '; + +COMMENT ON COLUMN TASK_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN TASK_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN TASK_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE TASK_DICTIONARY TO clearing; + +-- taskStatus - +DROP TABLE IF EXISTS TASK_STATUS_DICTIONARY; +CREATE TABLE TASK_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE TASK_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN TASK_STATUS_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN TASK_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN TASK_STATUS_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE TASK_STATUS_DICTIONARY TO clearing; + +-- dayStatus - +DROP TABLE IF EXISTS DAY_STATUS_DICTIONARY; +CREATE TABLE DAY_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE DAY_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE DAY_STATUS_DICTIONARY TO clearing; + +-- parent - +DROP TABLE IF EXISTS PARENT_DICTIONARY; +CREATE TABLE PARENT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE PARENT_DICTIONARY IS ' '; + +COMMENT ON COLUMN PARENT_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN PARENT_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN PARENT_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE PARENT_DICTIONARY TO clearing; + +-- sessionStatus - +DROP TABLE IF EXISTS SESSION_STATUS_DICTIONARY; +CREATE TABLE SESSION_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SESSION_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE SESSION_STATUS_DICTIONARY TO clearing; + +-- sessionType - +DROP TABLE IF EXISTS SESSION_TYPE_DICTIONARY; +CREATE TABLE SESSION_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE SESSION_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN SESSION_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN SESSION_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN SESSION_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE SESSION_TYPE_DICTIONARY TO clearing; + +-- moneyFlowSide - +DROP TABLE IF EXISTS MONEY_FLOW_SIDE_DICTIONARY; +CREATE TABLE MONEY_FLOW_SIDE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE MONEY_FLOW_SIDE_DICTIONARY IS ' '; + +COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE MONEY_FLOW_SIDE_DICTIONARY TO clearing; + +-- side - +DROP TABLE IF EXISTS SIDE_DICTIONARY; +CREATE TABLE SIDE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SIDE_DICTIONARY IS ' '; + +COMMENT ON COLUMN SIDE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN SIDE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN SIDE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE SIDE_DICTIONARY TO clearing; + +-- marketCode - +DROP TABLE IF EXISTS MARKET_CODE_DICTIONARY; +CREATE TABLE MARKET_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE MARKET_CODE_DICTIONARY IS ' '; + +COMMENT ON COLUMN MARKET_CODE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN MARKET_CODE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN MARKET_CODE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE MARKET_CODE_DICTIONARY TO clearing; + +-- marketType - +DROP TABLE IF EXISTS MARKET_TYPE_DICTIONARY; +CREATE TABLE MARKET_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE MARKET_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN MARKET_TYPE_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN MARKET_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN MARKET_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE MARKET_TYPE_DICTIONARY TO clearing; + +-- statementType - / +DROP TABLE IF EXISTS STATEMENT_TYPE_DICTIONARY; +CREATE TABLE STATEMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE STATEMENT_TYPE_DICTIONARY IS ' / '; + +COMMENT ON COLUMN STATEMENT_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN STATEMENT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN STATEMENT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE STATEMENT_TYPE_DICTIONARY TO clearing; + +-- operationType - +DROP TABLE IF EXISTS OPERATION_TYPE_DICTIONARY; +CREATE TABLE OPERATION_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE OPERATION_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN OPERATION_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN OPERATION_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN OPERATION_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE OPERATION_TYPE_DICTIONARY TO clearing; + +-- operationStatus - +DROP TABLE IF EXISTS OPERATION_STATUS_DICTIONARY; +CREATE TABLE OPERATION_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE OPERATION_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN OPERATION_STATUS_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN OPERATION_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN OPERATION_STATUS_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE OPERATION_STATUS_DICTIONARY TO clearing; + +-- inOutSDfType - +DROP TABLE IF EXISTS IN_OUT_S_DF_TYPE_DICTIONARY; +CREATE TABLE IN_OUT_S_DF_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE IN_OUT_S_DF_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN IN_OUT_S_DF_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN IN_OUT_S_DF_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN IN_OUT_S_DF_TYPE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE IN_OUT_S_DF_TYPE_DICTIONARY TO clearing; + +-- inOutDirection - +DROP TABLE IF EXISTS IN_OUT_DIRECTION_DICTIONARY; +CREATE TABLE IN_OUT_DIRECTION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE IN_OUT_DIRECTION_DICTIONARY IS ' '; + +COMMENT ON COLUMN IN_OUT_DIRECTION_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN IN_OUT_DIRECTION_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN IN_OUT_DIRECTION_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE IN_OUT_DIRECTION_DICTIONARY TO clearing; + +-- transactionStatus - +DROP TABLE IF EXISTS TRANSACTION_STATUS_DICTIONARY; +CREATE TABLE TRANSACTION_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE TRANSACTION_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN TRANSACTION_STATUS_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN TRANSACTION_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN TRANSACTION_STATUS_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE TRANSACTION_STATUS_DICTIONARY TO clearing; + +-- objectType - +DROP TABLE IF EXISTS OBJECT_TYPE_DICTIONARY; +CREATE TABLE OBJECT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE OBJECT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN OBJECT_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN OBJECT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN OBJECT_TYPE_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE OBJECT_TYPE_DICTIONARY TO clearing; + +-- notificationStatus - +DROP TABLE IF EXISTS NOTIFICATION_STATUS_DICTIONARY; +CREATE TABLE NOTIFICATION_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE NOTIFICATION_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN NOTIFICATION_STATUS_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN NOTIFICATION_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN NOTIFICATION_STATUS_DICTIONARY.NAME IS ''; + +GRANT ALL PRIVILEGES ON TABLE NOTIFICATION_STATUS_DICTIONARY TO clearing; + +-- managementJournalType - +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL_TYPE_DICTIONARY; +CREATE TABLE MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE MANAGEMENT_JOURNAL_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_TYPE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE MANAGEMENT_JOURNAL_TYPE_DICTIONARY TO clearing; + +-- managementJournalPurpose - +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY; +CREATE TABLE MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY IS ' '; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY TO clearing; + +-- managementJournalStatus - +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL_STATUS_DICTIONARY; +CREATE TABLE MANAGEMENT_JOURNAL_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE MANAGEMENT_JOURNAL_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_STATUS_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_STATUS_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE MANAGEMENT_JOURNAL_STATUS_DICTIONARY TO clearing; + +-- majorSign - +DROP TABLE IF EXISTS MAJOR_SIGN_DICTIONARY; +CREATE TABLE MAJOR_SIGN_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE MAJOR_SIGN_DICTIONARY IS ' '; + +COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE MAJOR_SIGN_DICTIONARY TO clearing; + +-- courierType - +DROP TABLE IF EXISTS COURIER_TYPE_DICTIONARY; +CREATE TABLE COURIER_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE COURIER_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COURIER_TYPE_DICTIONARY TO clearing; + +-- currencySettlementType - +DROP TABLE IF EXISTS CURRENCY_SETTLEMENT_TYPE_DICTIONARY; +CREATE TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY TO clearing; + +-- currencyPair - +DROP TABLE IF EXISTS CURRENCY_PAIR_DICTIONARY; +CREATE TABLE CURRENCY_PAIR_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(25), BASE_CURRENCY varchar(4), QUOTE_CURRENCY varchar(4), MAJOR_SIGN varchar(4)); +COMMENT ON TABLE CURRENCY_PAIR_DICTIONARY IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.BASE_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.QUOTE_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.MAJOR_SIGN IS ' (linked to majorSign)'; + +GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_DICTIONARY TO clearing; + +-- gatewayResultStatus - +DROP TABLE IF EXISTS GATEWAY_RESULT_STATUS_DICTIONARY; +CREATE TABLE GATEWAY_RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE GATEWAY_RESULT_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE GATEWAY_RESULT_STATUS_DICTIONARY TO clearing; + +-- resultStatus - +DROP TABLE IF EXISTS RESULT_STATUS_DICTIONARY; +CREATE TABLE RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE RESULT_STATUS_DICTIONARY IS ' '; + +COMMENT ON COLUMN RESULT_STATUS_DICTIONARY.ID IS ' '; + +COMMENT ON COLUMN RESULT_STATUS_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN RESULT_STATUS_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE RESULT_STATUS_DICTIONARY TO clearing; + +-- eventType - +DROP TABLE IF EXISTS EVENT_TYPE_DICTIONARY; +CREATE TABLE EVENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE EVENT_TYPE_DICTIONARY IS ' '; + +COMMENT ON COLUMN EVENT_TYPE_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN EVENT_TYPE_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN EVENT_TYPE_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE EVENT_TYPE_DICTIONARY TO clearing; + +-- priority - +DROP TABLE IF EXISTS PRIORITY_DICTIONARY; +CREATE TABLE PRIORITY_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE PRIORITY_DICTIONARY IS ' '; + +COMMENT ON COLUMN PRIORITY_DICTIONARY.ID IS ''; + +COMMENT ON COLUMN PRIORITY_DICTIONARY.CODE IS ''; + +COMMENT ON COLUMN PRIORITY_DICTIONARY.NAME IS ' '; + +GRANT ALL PRIVILEGES ON TABLE PRIORITY_DICTIONARY TO clearing; + +/* Business objects */ + +-- dbVersion - +DROP TABLE IF EXISTS DB_VERSION; +CREATE TABLE DB_VERSION(ID bigint PRIMARY KEY, VERSION varchar(50), DICTIONARY_VERSION varchar(100)); +COMMENT ON TABLE DB_VERSION IS ' '; + +COMMENT ON COLUMN DB_VERSION.ID IS ' '; + +COMMENT ON COLUMN DB_VERSION.VERSION IS ' , '; + +COMMENT ON COLUMN DB_VERSION.DICTIONARY_VERSION IS ' '; + +GRANT ALL PRIVILEGES ON TABLE DB_VERSION TO clearing; + +-- userCls - +DROP TABLE IF EXISTS USER_CLS; +CREATE TABLE USER_CLS(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, IDENTIFIER varchar(250), NAME varchar(250), FIRST_NAME varchar(250), LAST_NAME varchar(250), MIDDLE_NAME varchar(250), EMAIL varchar(250)); +COMMENT ON TABLE USER_CLS IS ''; + +COMMENT ON COLUMN USER_CLS.ID IS ' '; + +COMMENT ON COLUMN USER_CLS.CREATED_AT IS '- '; + +COMMENT ON COLUMN USER_CLS.UPDATED_AT IS '- '; + +COMMENT ON COLUMN USER_CLS.IDENTIFIER IS ' '; + +COMMENT ON COLUMN USER_CLS.NAME IS ' '; + +COMMENT ON COLUMN USER_CLS.FIRST_NAME IS ' '; + +COMMENT ON COLUMN USER_CLS.LAST_NAME IS ' '; + +COMMENT ON COLUMN USER_CLS.MIDDLE_NAME IS ' '; + +COMMENT ON COLUMN USER_CLS.EMAIL IS 'Email '; + +GRANT ALL PRIVILEGES ON TABLE USER_CLS TO clearing; + + +-- History log of userCls - +DROP TABLE IF EXISTS USER_CLS_HISTORY; +CREATE TABLE USER_CLS_HISTORY(USER_CLS_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, IDENTIFIER varchar(250), NAME varchar(250), FIRST_NAME varchar(250), LAST_NAME varchar(250), MIDDLE_NAME varchar(250), EMAIL varchar(250)); +COMMENT ON TABLE USER_CLS_HISTORY IS ' userCls'; +COMMENT ON COLUMN USER_CLS_HISTORY.USER_CLS_ID IS ' USER_CLS'; +COMMENT ON COLUMN USER_CLS_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN USER_CLS_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN USER_CLS_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN USER_CLS_HISTORY.ID IS ' '; + +COMMENT ON COLUMN USER_CLS_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN USER_CLS_HISTORY.UPDATED_AT IS '- '; + +COMMENT ON COLUMN USER_CLS_HISTORY.IDENTIFIER IS ' '; + +COMMENT ON COLUMN USER_CLS_HISTORY.NAME IS ' '; + +COMMENT ON COLUMN USER_CLS_HISTORY.FIRST_NAME IS ' '; + +COMMENT ON COLUMN USER_CLS_HISTORY.LAST_NAME IS ' '; + +COMMENT ON COLUMN USER_CLS_HISTORY.MIDDLE_NAME IS ' '; + +COMMENT ON COLUMN USER_CLS_HISTORY.EMAIL IS 'Email '; + +GRANT ALL PRIVILEGES ON TABLE USER_CLS_HISTORY TO clearing; + +-- userRoleSession - +DROP TABLE IF EXISTS USER_ROLE_SESSION; +CREATE TABLE USER_ROLE_SESSION(ID bigint PRIMARY KEY, USER_ID bigint, USER_ROLE varchar(4), COMPANY_ID bigint, STATUS varchar(4)); +COMMENT ON TABLE USER_ROLE_SESSION IS ' '; + +COMMENT ON COLUMN USER_ROLE_SESSION.ID IS ' '; + +COMMENT ON COLUMN USER_ROLE_SESSION.USER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN USER_ROLE_SESSION.USER_ROLE IS ' (linked to userRole)'; + +COMMENT ON COLUMN USER_ROLE_SESSION.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN USER_ROLE_SESSION.STATUS IS ' (linked to workflowStatus)'; + +GRANT ALL PRIVILEGES ON TABLE USER_ROLE_SESSION TO clearing; + +-- userSettings - +DROP TABLE IF EXISTS USER_SETTINGS; +CREATE TABLE USER_SETTINGS(ID bigint PRIMARY KEY, USER_ID bigint, VERSION varchar(50), JSON varchar(200000)); +COMMENT ON TABLE USER_SETTINGS IS ' '; + +COMMENT ON COLUMN USER_SETTINGS.ID IS ' '; + +COMMENT ON COLUMN USER_SETTINGS.USER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN USER_SETTINGS.VERSION IS ' '; + +COMMENT ON COLUMN USER_SETTINGS.JSON IS ' '; + +GRANT ALL PRIVILEGES ON TABLE USER_SETTINGS TO clearing; + +-- userConnect - +DROP TABLE IF EXISTS USER_CONNECT; +CREATE TABLE USER_CONNECT(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, USER_ID bigint, CONNECTION_TIME timestamp, DISCONNECTION_TIME timestamp, SERVER_IP varchar(250), CLIENT_IP varchar(250), CONNECTION_STATE varchar(4), CLEARING_DATE date, ERROR_CODE_ID bigint, ERROR_TEXT_ID bigint); +COMMENT ON TABLE USER_CONNECT IS ' '; + +COMMENT ON COLUMN USER_CONNECT.ID IS ' '; + +COMMENT ON COLUMN USER_CONNECT.CREATED_AT IS '- '; + +COMMENT ON COLUMN USER_CONNECT.UPDATED_AT IS '- '; + +COMMENT ON COLUMN USER_CONNECT.USER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN USER_CONNECT.CONNECTION_TIME IS ' '; + +COMMENT ON COLUMN USER_CONNECT.DISCONNECTION_TIME IS ' '; + +COMMENT ON COLUMN USER_CONNECT.SERVER_IP IS 'IP '; + +COMMENT ON COLUMN USER_CONNECT.CLIENT_IP IS 'IP '; + +COMMENT ON COLUMN USER_CONNECT.CONNECTION_STATE IS ' (linked to connectionState)'; + +COMMENT ON COLUMN USER_CONNECT.CLEARING_DATE IS ''; + +COMMENT ON COLUMN USER_CONNECT.ERROR_CODE_ID IS ' (linked to errorCode)'; + +COMMENT ON COLUMN USER_CONNECT.ERROR_TEXT_ID IS ' (linked to errorText)'; + +GRANT ALL PRIVILEGES ON TABLE USER_CONNECT TO clearing; + + +-- History log of userConnect - +DROP TABLE IF EXISTS USER_CONNECT_HISTORY; +CREATE TABLE USER_CONNECT_HISTORY(USER_CONNECT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, USER_ID bigint, CONNECTION_TIME timestamp, DISCONNECTION_TIME timestamp, SERVER_IP varchar(250), CLIENT_IP varchar(250), CONNECTION_STATE varchar(4), CLEARING_DATE date, ERROR_CODE_ID bigint, ERROR_TEXT_ID bigint); +COMMENT ON TABLE USER_CONNECT_HISTORY IS ' userConnect'; +COMMENT ON COLUMN USER_CONNECT_HISTORY.USER_CONNECT_ID IS ' USER_CONNECT'; +COMMENT ON COLUMN USER_CONNECT_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN USER_CONNECT_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN USER_CONNECT_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.ID IS ' '; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.UPDATED_AT IS '- '; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.USER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CONNECTION_TIME IS ' '; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.DISCONNECTION_TIME IS ' '; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.SERVER_IP IS 'IP '; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CLIENT_IP IS 'IP '; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CONNECTION_STATE IS ' (linked to connectionState)'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CLEARING_DATE IS ''; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.ERROR_CODE_ID IS ' (linked to errorCode)'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.ERROR_TEXT_ID IS ' (linked to errorText)'; + +GRANT ALL PRIVILEGES ON TABLE USER_CONNECT_HISTORY TO clearing; + +-- company - +DROP TABLE IF EXISTS COMPANY; +CREATE TABLE COMPANY(SHORT_NAME varchar(255), FULL_NAME varchar(255), TRADING_CODE varchar(255), CLEARING_CODE varchar(255), REGISTRATION_CODE varchar(255), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE COMPANY IS ''; + +COMMENT ON COLUMN COMPANY.SHORT_NAME IS ' '; + +COMMENT ON COLUMN COMPANY.FULL_NAME IS ' '; + +COMMENT ON COLUMN COMPANY.TRADING_CODE IS ' '; + +COMMENT ON COLUMN COMPANY.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN COMPANY.REGISTRATION_CODE IS ' '; + +COMMENT ON COLUMN COMPANY.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN COMPANY.ID IS ' '; + +COMMENT ON COLUMN COMPANY.CREATED_AT IS '- '; + +COMMENT ON COLUMN COMPANY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY TO clearing; + + +-- History log of company - +DROP TABLE IF EXISTS COMPANY_HISTORY; +CREATE TABLE COMPANY_HISTORY(COMPANY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SHORT_NAME varchar(255), FULL_NAME varchar(255), TRADING_CODE varchar(255), CLEARING_CODE varchar(255), REGISTRATION_CODE varchar(255), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE COMPANY_HISTORY IS ' company'; +COMMENT ON COLUMN COMPANY_HISTORY.COMPANY_ID IS ' COMPANY'; +COMMENT ON COLUMN COMPANY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN COMPANY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN COMPANY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN COMPANY_HISTORY.SHORT_NAME IS ' '; + +COMMENT ON COLUMN COMPANY_HISTORY.FULL_NAME IS ' '; + +COMMENT ON COLUMN COMPANY_HISTORY.TRADING_CODE IS ' '; + +COMMENT ON COLUMN COMPANY_HISTORY.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN COMPANY_HISTORY.REGISTRATION_CODE IS ' '; + +COMMENT ON COLUMN COMPANY_HISTORY.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN COMPANY_HISTORY.ID IS ' '; + +COMMENT ON COLUMN COMPANY_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN COMPANY_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY_HISTORY TO clearing; + +-- companyInfo - +DROP TABLE IF EXISTS COMPANY_INFO; +CREATE TABLE COMPANY_INFO(COMPANY_ID bigint, CORPORATION_SOLE_TYPE varchar(4), COUNTRY_CODE varchar(4), DESCRIPTION varchar(255), PROFESSIONAL_SIGN varchar(4), LEGAL_KIND varchar(4), ORGANIZATION_TYPE varchar(4), RESIDENCE varchar(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_INFO IS ' '; + +COMMENT ON COLUMN COMPANY_INFO.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN COMPANY_INFO.CORPORATION_SOLE_TYPE IS ' (linked to corporationSoleType)'; + +COMMENT ON COLUMN COMPANY_INFO.COUNTRY_CODE IS ' (linked to countryCode)'; + +COMMENT ON COLUMN COMPANY_INFO.DESCRIPTION IS ' '; + +COMMENT ON COLUMN COMPANY_INFO.PROFESSIONAL_SIGN IS ' (linked to allowed)'; + +COMMENT ON COLUMN COMPANY_INFO.LEGAL_KIND IS ' (linked to legalKind)'; + +COMMENT ON COLUMN COMPANY_INFO.ORGANIZATION_TYPE IS ' (linked to organizationType)'; + +COMMENT ON COLUMN COMPANY_INFO.RESIDENCE IS ' (linked to countryCode)'; + +COMMENT ON COLUMN COMPANY_INFO.SHORT_NAME_ENG IS ' '; + +COMMENT ON COLUMN COMPANY_INFO.FULL_NAME_ENG IS ' '; + +COMMENT ON COLUMN COMPANY_INFO.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY_INFO TO clearing; + + +-- History log of companyInfo - +DROP TABLE IF EXISTS COMPANY_INFO_HISTORY; +CREATE TABLE COMPANY_INFO_HISTORY(COMPANY_INFO_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CORPORATION_SOLE_TYPE varchar(4), COUNTRY_CODE varchar(4), DESCRIPTION varchar(255), PROFESSIONAL_SIGN varchar(4), LEGAL_KIND varchar(4), ORGANIZATION_TYPE varchar(4), RESIDENCE varchar(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_INFO_HISTORY IS ' companyInfo'; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.COMPANY_INFO_ID IS ' COMPANY_INFO'; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.CORPORATION_SOLE_TYPE IS ' (linked to corporationSoleType)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.COUNTRY_CODE IS ' (linked to countryCode)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.DESCRIPTION IS ' '; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.PROFESSIONAL_SIGN IS ' (linked to allowed)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.LEGAL_KIND IS ' (linked to legalKind)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.ORGANIZATION_TYPE IS ' (linked to organizationType)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.RESIDENCE IS ' (linked to countryCode)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.SHORT_NAME_ENG IS ' '; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.FULL_NAME_ENG IS ' '; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY_INFO_HISTORY TO clearing; + +-- clearingMemberCategory - +DROP TABLE IF EXISTS CLEARING_MEMBER_CATEGORY; +CREATE TABLE CLEARING_MEMBER_CATEGORY(COMPANY_ID bigint, CLEARING_MEMBER_CATEGORY varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_MEMBER_CATEGORY IS ' '; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.CLEARING_MEMBER_CATEGORY IS ' (linked to clearingCategory)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CLEARING_MEMBER_CATEGORY TO clearing; + + +-- History log of clearingMemberCategory - +DROP TABLE IF EXISTS CLEARING_MEMBER_CATEGORY_HISTORY; +CREATE TABLE CLEARING_MEMBER_CATEGORY_HISTORY(CLEARING_MEMBER_CATEGORY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CLEARING_MEMBER_CATEGORY varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_MEMBER_CATEGORY_HISTORY IS ' clearingMemberCategory'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.CLEARING_MEMBER_CATEGORY_ID IS ' CLEARING_MEMBER_CATEGORY'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.CLEARING_MEMBER_CATEGORY IS ' (linked to clearingCategory)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CLEARING_MEMBER_CATEGORY_HISTORY TO clearing; + +-- contact - +DROP TABLE IF EXISTS CONTACT; +CREATE TABLE CONTACT(COMPANY_ID bigint, CONTACT_TYPE varchar(4), CONTACT_VALUE varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE CONTACT IS ' '; + +COMMENT ON COLUMN CONTACT.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CONTACT.CONTACT_TYPE IS ' (linked to contactType)'; + +COMMENT ON COLUMN CONTACT.CONTACT_VALUE IS ' '; + +COMMENT ON COLUMN CONTACT.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CONTACT TO clearing; + +-- profileDocument - +DROP TABLE IF EXISTS PROFILE_DOCUMENT; +CREATE TABLE PROFILE_DOCUMENT(COMPANY_ID bigint, DOCUMENT_TYPE varchar(4), ISSUE_DATE date, ISSUE_PLACE varchar(255), ISSUER varchar(255), ISSUER_CODE varchar(255), NAME varchar(255), NUMBER varchar(255), PLACE varchar(255), VALID_FROM_DATE date, VALID_TO_DATE date, LINK varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE PROFILE_DOCUMENT IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.DOCUMENT_TYPE IS ' (linked to documentType)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ISSUE_DATE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ISSUE_PLACE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ISSUER IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ISSUER_CODE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.NAME IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.NUMBER IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.PLACE IS ''; + +COMMENT ON COLUMN PROFILE_DOCUMENT.VALID_FROM_DATE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.VALID_TO_DATE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.LINK IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE PROFILE_DOCUMENT TO clearing; + + +-- History log of profileDocument - +DROP TABLE IF EXISTS PROFILE_DOCUMENT_HISTORY; +CREATE TABLE PROFILE_DOCUMENT_HISTORY(PROFILE_DOCUMENT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, DOCUMENT_TYPE varchar(4), ISSUE_DATE date, ISSUE_PLACE varchar(255), ISSUER varchar(255), ISSUER_CODE varchar(255), NAME varchar(255), NUMBER varchar(255), PLACE varchar(255), VALID_FROM_DATE date, VALID_TO_DATE date, LINK varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE PROFILE_DOCUMENT_HISTORY IS ' profileDocument'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.PROFILE_DOCUMENT_ID IS ' PROFILE_DOCUMENT'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.DOCUMENT_TYPE IS ' (linked to documentType)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUE_DATE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUE_PLACE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUER IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUER_CODE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.NAME IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.NUMBER IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.PLACE IS ''; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.VALID_FROM_DATE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.VALID_TO_DATE IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.LINK IS ' '; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE PROFILE_DOCUMENT_HISTORY TO clearing; + +-- companySymbols - +DROP TABLE IF EXISTS COMPANY_SYMBOLS; +CREATE TABLE COMPANY_SYMBOLS(COMPANY_ID bigint, COMPANY_SYMBOL varchar(4), COMPANY_SYMBOL_VALUE varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_SYMBOLS IS ' '; + +COMMENT ON COLUMN COMPANY_SYMBOLS.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS.COMPANY_SYMBOL IS ' (linked to companySymbol)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS.COMPANY_SYMBOL_VALUE IS ' '; + +COMMENT ON COLUMN COMPANY_SYMBOLS.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY_SYMBOLS TO clearing; + + +-- History log of companySymbols - +DROP TABLE IF EXISTS COMPANY_SYMBOLS_HISTORY; +CREATE TABLE COMPANY_SYMBOLS_HISTORY(COMPANY_SYMBOLS_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, COMPANY_SYMBOL varchar(4), COMPANY_SYMBOL_VALUE varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_SYMBOLS_HISTORY IS ' companySymbols'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOLS_ID IS ' COMPANY_SYMBOLS'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOL IS ' (linked to companySymbol)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOL_VALUE IS ' '; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY_SYMBOLS_HISTORY TO clearing; + +-- companyRoleSet - +DROP TABLE IF EXISTS COMPANY_ROLE_SET; +CREATE TABLE COMPANY_ROLE_SET(COMPANY_ID bigint, COMPANY_ROLE varchar(4), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_ROLE_SET IS ' '; + +COMMENT ON COLUMN COMPANY_ROLE_SET.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.COMPANY_ROLE IS ' (linked to companyRole)'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COMPANY_ROLE_SET TO clearing; + +-- settlementHouseProperties - +DROP TABLE IF EXISTS SETTLEMENT_HOUSE_PROPERTIES; +CREATE TABLE SETTLEMENT_HOUSE_PROPERTIES(COMPANY_ID bigint, CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE SETTLEMENT_HOUSE_PROPERTIES IS ' '; + +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.CURRENCY_CODE IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE SETTLEMENT_HOUSE_PROPERTIES TO clearing; + + +-- History log of settlementHouseProperties - +DROP TABLE IF EXISTS SETTLEMENT_HOUSE_PROPERTIES_HISTORY; +CREATE TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY(SETTLEMENT_HOUSE_PROPERTIES_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY IS ' settlementHouseProperties'; +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.SETTLEMENT_HOUSE_PROPERTIES_ID IS ' SETTLEMENT_HOUSE_PROPERTIES'; +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.CURRENCY_CODE IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY TO clearing; + +-- security - +DROP TABLE IF EXISTS SECURITY; +CREATE TABLE SECURITY(ID bigint PRIMARY KEY, INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), UUID varchar(255), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE SECURITY IS ''; + +COMMENT ON COLUMN SECURITY.ID IS ' '; + +COMMENT ON COLUMN SECURITY.INSTRUMENT_TYPE IS ' (linked to instrumentType)'; + +COMMENT ON COLUMN SECURITY.ISSUER_ID IS ' (linked to company)'; + +COMMENT ON COLUMN SECURITY.SHORT_NAME IS ' '; + +COMMENT ON COLUMN SECURITY.FULL_NAME IS ' '; + +COMMENT ON COLUMN SECURITY.SHORT_NAME_ENG IS ' '; + +COMMENT ON COLUMN SECURITY.FULL_NAME_ENG IS ' '; + +COMMENT ON COLUMN SECURITY.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN SECURITY.ISIN IS ' ISIN'; + +COMMENT ON COLUMN SECURITY.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN SECURITY.UUID IS ' '; + +COMMENT ON COLUMN SECURITY.CREATED_AT IS '- '; + +COMMENT ON COLUMN SECURITY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE SECURITY TO clearing; + + +-- History log of security - +DROP TABLE IF EXISTS SECURITY_HISTORY; +CREATE TABLE SECURITY_HISTORY(SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), UUID varchar(255), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE SECURITY_HISTORY IS ' security'; +COMMENT ON COLUMN SECURITY_HISTORY.SECURITY_ID IS ' SECURITY'; +COMMENT ON COLUMN SECURITY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN SECURITY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN SECURITY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN SECURITY_HISTORY.ID IS ' '; + +COMMENT ON COLUMN SECURITY_HISTORY.INSTRUMENT_TYPE IS ' (linked to instrumentType)'; + +COMMENT ON COLUMN SECURITY_HISTORY.ISSUER_ID IS ' (linked to company)'; + +COMMENT ON COLUMN SECURITY_HISTORY.SHORT_NAME IS ' '; + +COMMENT ON COLUMN SECURITY_HISTORY.FULL_NAME IS ' '; + +COMMENT ON COLUMN SECURITY_HISTORY.SHORT_NAME_ENG IS ' '; + +COMMENT ON COLUMN SECURITY_HISTORY.FULL_NAME_ENG IS ' '; + +COMMENT ON COLUMN SECURITY_HISTORY.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN SECURITY_HISTORY.ISIN IS ' ISIN'; + +COMMENT ON COLUMN SECURITY_HISTORY.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN SECURITY_HISTORY.UUID IS ' '; + +COMMENT ON COLUMN SECURITY_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN SECURITY_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE SECURITY_HISTORY TO clearing; + +-- currency - +DROP TABLE IF EXISTS CURRENCY; +CREATE TABLE CURRENCY(COUNTRY_CODE varchar(4), CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE CURRENCY IS ''; + +COMMENT ON COLUMN CURRENCY.COUNTRY_CODE IS ' (linked to countryCode)'; + +COMMENT ON COLUMN CURRENCY.CURRENCY_CODE IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN CURRENCY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CURRENCY TO clearing; + + +-- History log of currency - +DROP TABLE IF EXISTS CURRENCY_HISTORY; +CREATE TABLE CURRENCY_HISTORY(CURRENCY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COUNTRY_CODE varchar(4), CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE CURRENCY_HISTORY IS ' currency'; +COMMENT ON COLUMN CURRENCY_HISTORY.CURRENCY_ID IS ' CURRENCY'; +COMMENT ON COLUMN CURRENCY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN CURRENCY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN CURRENCY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN CURRENCY_HISTORY.COUNTRY_CODE IS ' (linked to countryCode)'; + +COMMENT ON COLUMN CURRENCY_HISTORY.CURRENCY_CODE IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN CURRENCY_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CURRENCY_HISTORY TO clearing; + +-- moneyMarketSecurity - +DROP TABLE IF EXISTS MONEY_MARKET_SECURITY; +CREATE TABLE MONEY_MARKET_SECURITY(SECURITY_ID bigint, DESCRIPTION varchar(255), START_DATE date, END_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), CONVENTION varchar(255), TERM_TYPE varchar(4), CLEARING_ORGANIZATION varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE MONEY_MARKET_SECURITY IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.DESCRIPTION IS ''; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.START_DATE IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.END_DATE IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.NOMINAL_VALUE IS ''; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.NOMINAL_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.CONVENTION IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.TERM_TYPE IS ' (linked to termType)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.CLEARING_ORGANIZATION IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE MONEY_MARKET_SECURITY TO clearing; + + +-- History log of moneyMarketSecurity - +DROP TABLE IF EXISTS MONEY_MARKET_SECURITY_HISTORY; +CREATE TABLE MONEY_MARKET_SECURITY_HISTORY(MONEY_MARKET_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, DESCRIPTION varchar(255), START_DATE date, END_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), CONVENTION varchar(255), TERM_TYPE varchar(4), CLEARING_ORGANIZATION varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE MONEY_MARKET_SECURITY_HISTORY IS ' moneyMarketSecurity'; +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.MONEY_MARKET_SECURITY_ID IS ' MONEY_MARKET_SECURITY'; +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.DESCRIPTION IS ''; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.START_DATE IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.END_DATE IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.NOMINAL_VALUE IS ''; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.NOMINAL_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.CONVENTION IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.TERM_TYPE IS ' (linked to termType)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.CLEARING_ORGANIZATION IS ' '; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE MONEY_MARKET_SECURITY_HISTORY TO clearing; + +-- tradedMoneyMarketSecurity - , +DROP TABLE IF EXISTS TRADED_MONEY_MARKET_SECURITY; +CREATE TABLE TRADED_MONEY_MARKET_SECURITY(SECURITY_ID bigint, SECURITY_CODE varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE TRADED_MONEY_MARKET_SECURITY IS ' , '; + +COMMENT ON COLUMN TRADED_MONEY_MARKET_SECURITY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN TRADED_MONEY_MARKET_SECURITY.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN TRADED_MONEY_MARKET_SECURITY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE TRADED_MONEY_MARKET_SECURITY TO clearing; + +-- equitySecurity - +DROP TABLE IF EXISTS EQUITY_SECURITY; +CREATE TABLE EQUITY_SECURITY(SECURITY_ID bigint, SHARE_TYPE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE EQUITY_SECURITY IS ''; + +COMMENT ON COLUMN EQUITY_SECURITY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN EQUITY_SECURITY.SHARE_TYPE IS ' (linked to shareType)'; + +COMMENT ON COLUMN EQUITY_SECURITY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE EQUITY_SECURITY TO clearing; + + +-- History log of equitySecurity - +DROP TABLE IF EXISTS EQUITY_SECURITY_HISTORY; +CREATE TABLE EQUITY_SECURITY_HISTORY(EQUITY_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, SHARE_TYPE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE EQUITY_SECURITY_HISTORY IS ' equitySecurity'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EQUITY_SECURITY_ID IS ' EQUITY_SECURITY'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.SHARE_TYPE IS ' (linked to shareType)'; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE EQUITY_SECURITY_HISTORY TO clearing; + +-- fixedIncomeSecurity - +DROP TABLE IF EXISTS FIXED_INCOME_SECURITY; +CREATE TABLE FIXED_INCOME_SECURITY(SECURITY_ID bigint, BOND_TYPE varchar(4), MATURITY_DATE date, NOMINAL_FOR_DATE numeric(72,18), NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), COUPON numeric(72,18), COUPON_FREQUENCY bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_SECURITY IS ''; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.BOND_TYPE IS ' (linked to bondType)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.MATURITY_DATE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.NOMINAL_FOR_DATE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.NOMINAL_VALUE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.NOMINAL_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.COUPON IS ''; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.COUPON_FREQUENCY IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE FIXED_INCOME_SECURITY TO clearing; + + +-- History log of fixedIncomeSecurity - +DROP TABLE IF EXISTS FIXED_INCOME_SECURITY_HISTORY; +CREATE TABLE FIXED_INCOME_SECURITY_HISTORY(FIXED_INCOME_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, BOND_TYPE varchar(4), MATURITY_DATE date, NOMINAL_FOR_DATE numeric(72,18), NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), COUPON numeric(72,18), COUPON_FREQUENCY bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_SECURITY_HISTORY IS ' fixedIncomeSecurity'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.FIXED_INCOME_SECURITY_ID IS ' FIXED_INCOME_SECURITY'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.BOND_TYPE IS ' (linked to bondType)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.MATURITY_DATE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.NOMINAL_FOR_DATE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.NOMINAL_VALUE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.NOMINAL_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.COUPON IS ''; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.COUPON_FREQUENCY IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE FIXED_INCOME_SECURITY_HISTORY TO clearing; + +-- fixedIncomeCashFlow - +DROP TABLE IF EXISTS FIXED_INCOME_CASH_FLOW; +CREATE TABLE FIXED_INCOME_CASH_FLOW(SECURITY_ID bigint, ACCRUED_COUPON numeric(72,2), NOMINAL_VALUE numeric(72,18), NUMBER bigint, VALUE_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_CASH_FLOW IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.ACCRUED_COUPON IS ''; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.NOMINAL_VALUE IS ''; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.NUMBER IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.VALUE_DATE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE FIXED_INCOME_CASH_FLOW TO clearing; + + +-- History log of fixedIncomeCashFlow - +DROP TABLE IF EXISTS FIXED_INCOME_CASH_FLOW_HISTORY; +CREATE TABLE FIXED_INCOME_CASH_FLOW_HISTORY(FIXED_INCOME_CASH_FLOW_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, ACCRUED_COUPON numeric(72,2), NOMINAL_VALUE numeric(72,18), NUMBER bigint, VALUE_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_CASH_FLOW_HISTORY IS ' fixedIncomeCashFlow'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.FIXED_INCOME_CASH_FLOW_ID IS ' FIXED_INCOME_CASH_FLOW'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.ACCRUED_COUPON IS ''; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.NOMINAL_VALUE IS ''; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.NUMBER IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.VALUE_DATE IS ' '; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE FIXED_INCOME_CASH_FLOW_HISTORY TO clearing; + +-- couponPeriod - +DROP TABLE IF EXISTS COUPON_PERIOD; +CREATE TABLE COUPON_PERIOD(SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_START_DATE date, PERIOD_END_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE COUPON_PERIOD IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN COUPON_PERIOD.COUPON_RATE IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD.NUMBER IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD.PERIOD_START_DATE IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD.PERIOD_END_DATE IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COUPON_PERIOD TO clearing; + + +-- History log of couponPeriod - +DROP TABLE IF EXISTS COUPON_PERIOD_HISTORY; +CREATE TABLE COUPON_PERIOD_HISTORY(COUPON_PERIOD_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_START_DATE date, PERIOD_END_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE COUPON_PERIOD_HISTORY IS ' couponPeriod'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_PERIOD_ID IS ' COUPON_PERIOD'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_RATE IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.NUMBER IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_START_DATE IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_END_DATE IS ' '; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COUPON_PERIOD_HISTORY TO clearing; + +-- listing - +DROP TABLE IF EXISTS LISTING; +CREATE TABLE LISTING(SECURITY_ID bigint, MARKET varchar(4), LOT_SIZE numeric(72,2), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), MIN_STEP numeric(72,2), PRECISION numeric(72,2), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE LISTING IS ' '; + +COMMENT ON COLUMN LISTING.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN LISTING.MARKET IS ' (linked to market)'; + +COMMENT ON COLUMN LISTING.LOT_SIZE IS ' '; + +COMMENT ON COLUMN LISTING.SYMBOL_CODE IS ' '; + +COMMENT ON COLUMN LISTING.SYMBOL_NAME IS ' '; + +COMMENT ON COLUMN LISTING.TRADING_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN LISTING.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN LISTING.MIN_STEP IS ' '; + +COMMENT ON COLUMN LISTING.PRECISION IS ''; + +COMMENT ON COLUMN LISTING.ID IS ' '; + +COMMENT ON COLUMN LISTING.CREATED_AT IS '- '; + +COMMENT ON COLUMN LISTING.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE LISTING TO clearing; + + +-- History log of listing - +DROP TABLE IF EXISTS LISTING_HISTORY; +CREATE TABLE LISTING_HISTORY(LISTING_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, MARKET varchar(4), LOT_SIZE numeric(72,2), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), MIN_STEP numeric(72,2), PRECISION numeric(72,2), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE LISTING_HISTORY IS ' listing'; +COMMENT ON COLUMN LISTING_HISTORY.LISTING_ID IS ' LISTING'; +COMMENT ON COLUMN LISTING_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN LISTING_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN LISTING_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN LISTING_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN LISTING_HISTORY.MARKET IS ' (linked to market)'; + +COMMENT ON COLUMN LISTING_HISTORY.LOT_SIZE IS ' '; + +COMMENT ON COLUMN LISTING_HISTORY.SYMBOL_CODE IS ' '; + +COMMENT ON COLUMN LISTING_HISTORY.SYMBOL_NAME IS ' '; + +COMMENT ON COLUMN LISTING_HISTORY.TRADING_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN LISTING_HISTORY.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN LISTING_HISTORY.MIN_STEP IS ' '; + +COMMENT ON COLUMN LISTING_HISTORY.PRECISION IS ''; + +COMMENT ON COLUMN LISTING_HISTORY.ID IS ' '; + +COMMENT ON COLUMN LISTING_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN LISTING_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE LISTING_HISTORY TO clearing; + +-- currencyPairSecurity - +DROP TABLE IF EXISTS CURRENCY_PAIR_SECURITY; +CREATE TABLE CURRENCY_PAIR_SECURITY(ID bigint PRIMARY KEY, CURRENCY_PAIR_ID bigint, BASE_UNIT_SIZE numeric(72,2), CODE varchar(255), SETTLEMENT_TYPE varchar(4), CLEARING_ORGANIZATION varchar(255), SECURITY_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CURRENCY_PAIR_SECURITY IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CURRENCY_PAIR_ID IS ' (linked to currencyPair)'; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.BASE_UNIT_SIZE IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CODE IS ' (linked to currencyPair)'; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.SETTLEMENT_TYPE IS ' (linked to currencySettlementType)'; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CLEARING_ORGANIZATION IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.ID IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CREATED_AT IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.UPDATED_AT IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_SECURITY TO clearing; + + +-- History log of currencyPairSecurity - +DROP TABLE IF EXISTS CURRENCY_PAIR_SECURITY_HISTORY; +CREATE TABLE CURRENCY_PAIR_SECURITY_HISTORY(CURRENCY_PAIR_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CURRENCY_PAIR_ID bigint, BASE_UNIT_SIZE numeric(72,2), CODE varchar(255), SETTLEMENT_TYPE varchar(4), CLEARING_ORGANIZATION varchar(255), SECURITY_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CURRENCY_PAIR_SECURITY_HISTORY IS ' currencyPairSecurity'; +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CURRENCY_PAIR_SECURITY_ID IS ' CURRENCY_PAIR_SECURITY'; +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CURRENCY_PAIR_ID IS ' (linked to currencyPair)'; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.BASE_UNIT_SIZE IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CODE IS ' (linked to currencyPair)'; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.SETTLEMENT_TYPE IS ' (linked to currencySettlementType)'; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CLEARING_ORGANIZATION IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.ID IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CREATED_AT IS ' '; + +COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.UPDATED_AT IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_SECURITY_HISTORY TO clearing; + +-- market - +DROP TABLE IF EXISTS MARKET; +CREATE TABLE MARKET(DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), CODE varchar(10), SETTLEMENT_CURRENCY varchar(4), SECTION varchar(4), MARKET_TYPE varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE MARKET IS ''; + +COMMENT ON COLUMN MARKET.DESCRIPTION IS ''; + +COMMENT ON COLUMN MARKET.EXCHANGE_ID IS ' (linked to company)'; + +COMMENT ON COLUMN MARKET.NAME IS ' '; + +COMMENT ON COLUMN MARKET.CODE IS ' '; + +COMMENT ON COLUMN MARKET.SETTLEMENT_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN MARKET.SECTION IS ' (linked to section)'; + +COMMENT ON COLUMN MARKET.MARKET_TYPE IS ' (linked to marketType)'; + +COMMENT ON COLUMN MARKET.ID IS ' '; + +COMMENT ON COLUMN MARKET.CREATED_AT IS '- '; + +COMMENT ON COLUMN MARKET.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE MARKET TO clearing; + + +-- History log of market - +DROP TABLE IF EXISTS MARKET_HISTORY; +CREATE TABLE MARKET_HISTORY(MARKET_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), CODE varchar(10), SETTLEMENT_CURRENCY varchar(4), SECTION varchar(4), MARKET_TYPE varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE MARKET_HISTORY IS ' market'; +COMMENT ON COLUMN MARKET_HISTORY.MARKET_ID IS ' MARKET'; +COMMENT ON COLUMN MARKET_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN MARKET_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN MARKET_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN MARKET_HISTORY.DESCRIPTION IS ''; + +COMMENT ON COLUMN MARKET_HISTORY.EXCHANGE_ID IS ' (linked to company)'; + +COMMENT ON COLUMN MARKET_HISTORY.NAME IS ' '; + +COMMENT ON COLUMN MARKET_HISTORY.CODE IS ' '; + +COMMENT ON COLUMN MARKET_HISTORY.SETTLEMENT_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN MARKET_HISTORY.SECTION IS ' (linked to section)'; + +COMMENT ON COLUMN MARKET_HISTORY.MARKET_TYPE IS ' (linked to marketType)'; + +COMMENT ON COLUMN MARKET_HISTORY.ID IS ' '; + +COMMENT ON COLUMN MARKET_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN MARKET_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE MARKET_HISTORY TO clearing; + +-- errorText - +DROP TABLE IF EXISTS ERROR_TEXT; +CREATE TABLE ERROR_TEXT(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, ERROR_CODE_ID bigint, TEXT varchar(255), USER_ID bigint, CLEARING_DATE date); +COMMENT ON TABLE ERROR_TEXT IS ' '; + +COMMENT ON COLUMN ERROR_TEXT.ID IS ' '; + +COMMENT ON COLUMN ERROR_TEXT.CREATED_AT IS '- '; + +COMMENT ON COLUMN ERROR_TEXT.UPDATED_AT IS '- '; + +COMMENT ON COLUMN ERROR_TEXT.ERROR_CODE_ID IS ' (linked to errorCode)'; + +COMMENT ON COLUMN ERROR_TEXT.TEXT IS ' '; + +COMMENT ON COLUMN ERROR_TEXT.USER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN ERROR_TEXT.CLEARING_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE ERROR_TEXT TO clearing; + +-- clientCode - +DROP TABLE IF EXISTS CLIENT_CODE; +CREATE TABLE CLIENT_CODE(ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, CURRENCY_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLIENT_CODE IS ' '; + +COMMENT ON COLUMN CLIENT_CODE.ID IS ' '; + +COMMENT ON COLUMN CLIENT_CODE.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CLIENT_CODE.CODE IS ' '; + +COMMENT ON COLUMN CLIENT_CODE.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN CLIENT_CODE.MONEY_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE.DEPO_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE.CURRENCY_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE.STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN CLIENT_CODE.CREATED_AT IS '- '; + +COMMENT ON COLUMN CLIENT_CODE.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE CLIENT_CODE TO clearing; + + +-- History log of clientCode - +DROP TABLE IF EXISTS CLIENT_CODE_HISTORY; +CREATE TABLE CLIENT_CODE_HISTORY(CLIENT_CODE_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, CURRENCY_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLIENT_CODE_HISTORY IS ' clientCode'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CLIENT_CODE_ID IS ' CLIENT_CODE'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.ID IS ' '; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CODE IS ' '; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.MONEY_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.DEPO_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CURRENCY_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.STATUS IS ' (linked to workflowStatus)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE CLIENT_CODE_HISTORY TO clearing; + +-- tradingClearingRegistry - - +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY; +CREATE TABLE TRADING_CLEARING_REGISTRY(ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, TRADING_CLEARING_REGISTRY_TYPE varchar(4), TRADING_CLEARING_REGISTRY_LEVEL varchar(4), TRADING_CLEARING_REGISTRY_PURPOSE varchar(4), STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.ID IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.CODE IS ' - '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.MONEY_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.DEPO_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_TYPE IS ' - (linked to tradingClearingRegistryType)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_LEVEL IS ' - (linked to tradingClearingRegistryLevel)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_PURPOSE IS ' (linked to tradingClearingRegistryPurpose)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.STATUS IS ' (linked to serviceStatus)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.CREATED_AT IS '- '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY TO clearing; + + +-- History log of tradingClearingRegistry - - +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_HISTORY; +CREATE TABLE TRADING_CLEARING_REGISTRY_HISTORY(TRADING_CLEARING_REGISTRY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, TRADING_CLEARING_REGISTRY_TYPE varchar(4), TRADING_CLEARING_REGISTRY_LEVEL varchar(4), TRADING_CLEARING_REGISTRY_PURPOSE varchar(4), STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_HISTORY IS ' tradingClearingRegistry'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_ID IS ' TRADING_CLEARING_REGISTRY'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.ID IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.CODE IS ' - '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.MONEY_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.DEPO_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_TYPE IS ' - (linked to tradingClearingRegistryType)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_LEVEL IS ' - (linked to tradingClearingRegistryLevel)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_PURPOSE IS ' (linked to tradingClearingRegistryPurpose)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.STATUS IS ' (linked to serviceStatus)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_HISTORY TO clearing; + +-- tradingClearingRegistryList - +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LIST; +CREATE TABLE TRADING_CLEARING_REGISTRY_LIST(TRADING_CLEARING_REGISTRY_ID bigint, ACCOUNT_ID bigint, CURRENCY varchar(4), STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LIST IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.STATUS IS ' (linked to serviceStatus)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.ID IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.CREATED_AT IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.UPDATED_AT IS ' '; + +GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_LIST TO clearing; + + +-- History log of tradingClearingRegistryList - +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LIST_HISTORY; +CREATE TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY(TRADING_CLEARING_REGISTRY_LIST_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), TRADING_CLEARING_REGISTRY_ID bigint, ACCOUNT_ID bigint, CURRENCY varchar(4), STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY IS ' tradingClearingRegistryList'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.TRADING_CLEARING_REGISTRY_LIST_ID IS ' TRADING_CLEARING_REGISTRY_LIST'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.STATUS IS ' (linked to serviceStatus)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.ID IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.CREATED_AT IS ' '; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.UPDATED_AT IS ' '; + +GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY TO clearing; + +-- registry - , +DROP TABLE IF EXISTS REGISTRY; +CREATE TABLE REGISTRY(COMPANY_ID bigint, TRADING_CODE varchar(255), CLEARING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), REGISTRY_DESIGNATION varchar(4), REGISTRY_INSTRUMENT_TYPE varchar(4), REGISTRY_CAPACITY varchar(4), REGISTRY_UNIT varchar(4), REGISTRY_CODE varchar(4), TRADING_CLEARING_REGISTRY_ID bigint, TRADING_CLEARING_REGISTRY varchar(50), REGISTRY_STATUS varchar(4), SECURITY_SYMBOL varchar(255), BALANCE numeric(72,18), OPEN_BALANCE numeric(72,18), CLOSE_BALANCE numeric(72,18), CREDIT numeric(72,18), DEBIT numeric(72,18), SETTLED_CREDIT numeric(72,18), SETTLED_DEBIT numeric(72,18), CHECK_BALANCE numeric(72,18), DIFF_BALANCE numeric(72,18), PLAN_BALANCE numeric(72,18), BALANCE_DIMENSION varchar(4), SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), TRADING_DATE date, CLEARING_DATE date, REFUND_DATE date, VALUE_DATE date, PRICE numeric(72,18), CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COMMENT varchar(255), PARENT_ID bigint, GROUP_ID bigint, SESSION_ID bigint, SESSION_TYPE varchar(4), PAYMENT_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, SECURITY_ID bigint, SECTION varchar(4)); +COMMENT ON TABLE REGISTRY IS ' , '; + +COMMENT ON COLUMN REGISTRY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CODE IS ' '; + +COMMENT ON COLUMN REGISTRY.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN REGISTRY.SHORT_NAME IS ' '; + +COMMENT ON COLUMN REGISTRY.FULL_NAME IS ' '; + +COMMENT ON COLUMN REGISTRY.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN REGISTRY.ACCOUNT_TYPE IS ' (linked to accountType)'; + +COMMENT ON COLUMN REGISTRY.ACCOUNT IS ' '; + +COMMENT ON COLUMN REGISTRY.REGISTRY_DESIGNATION IS ' (linked to registryDesignation)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_INSTRUMENT_TYPE IS ' (linked to registryInstrumentType)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_CAPACITY IS ' (linked to registryCapacity)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_UNIT IS ' (linked to registryUnit)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_CODE IS ' (linked to registryCode)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN REGISTRY.REGISTRY_STATUS IS ' (linked to registryStatus)'; + +COMMENT ON COLUMN REGISTRY.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN REGISTRY.BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY.OPEN_BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY.CLOSE_BALANCE IS ' . '; + +COMMENT ON COLUMN REGISTRY.CREDIT IS ''; + +COMMENT ON COLUMN REGISTRY.DEBIT IS ''; + +COMMENT ON COLUMN REGISTRY.SETTLED_CREDIT IS ' '; + +COMMENT ON COLUMN REGISTRY.SETTLED_DEBIT IS ' '; + +COMMENT ON COLUMN REGISTRY.CHECK_BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY.DIFF_BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY.PLAN_BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY.BALANCE_DIMENSION IS ' (linked to balanceDimension)'; + +COMMENT ON COLUMN REGISTRY.SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY.SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN REGISTRY.TRADING_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY.CLEARING_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY.REFUND_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY.VALUE_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY.PRICE IS ' '; + +COMMENT ON COLUMN REGISTRY.CONTRACT IS ''; + +COMMENT ON COLUMN REGISTRY.COUNTER_PARTY_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN REGISTRY.COMMENT IS ''; + +COMMENT ON COLUMN REGISTRY.PARENT_ID IS ' '; + +COMMENT ON COLUMN REGISTRY.GROUP_ID IS ' '; + +COMMENT ON COLUMN REGISTRY.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN REGISTRY.SESSION_TYPE IS ' (linked to sessionType)'; + +COMMENT ON COLUMN REGISTRY.PAYMENT_ID IS ' '; + +COMMENT ON COLUMN REGISTRY.ID IS ' '; + +COMMENT ON COLUMN REGISTRY.CREATED_AT IS ' '; + +COMMENT ON COLUMN REGISTRY.UPDATED_AT IS ' '; + +COMMENT ON COLUMN REGISTRY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN REGISTRY.SECTION IS ' (linked to section)'; + +GRANT ALL PRIVILEGES ON TABLE REGISTRY TO clearing; + + +-- History log of registry - , +DROP TABLE IF EXISTS REGISTRY_HISTORY; +CREATE TABLE REGISTRY_HISTORY(REGISTRY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, TRADING_CODE varchar(255), CLEARING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), REGISTRY_DESIGNATION varchar(4), REGISTRY_INSTRUMENT_TYPE varchar(4), REGISTRY_CAPACITY varchar(4), REGISTRY_UNIT varchar(4), REGISTRY_CODE varchar(4), TRADING_CLEARING_REGISTRY_ID bigint, TRADING_CLEARING_REGISTRY varchar(50), REGISTRY_STATUS varchar(4), SECURITY_SYMBOL varchar(255), BALANCE numeric(72,18), OPEN_BALANCE numeric(72,18), CLOSE_BALANCE numeric(72,18), CREDIT numeric(72,18), DEBIT numeric(72,18), SETTLED_CREDIT numeric(72,18), SETTLED_DEBIT numeric(72,18), CHECK_BALANCE numeric(72,18), DIFF_BALANCE numeric(72,18), PLAN_BALANCE numeric(72,18), BALANCE_DIMENSION varchar(4), SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), TRADING_DATE date, CLEARING_DATE date, REFUND_DATE date, VALUE_DATE date, PRICE numeric(72,18), CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COMMENT varchar(255), PARENT_ID bigint, GROUP_ID bigint, SESSION_ID bigint, SESSION_TYPE varchar(4), PAYMENT_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, SECURITY_ID bigint, SECTION varchar(4)); +COMMENT ON TABLE REGISTRY_HISTORY IS ' registry'; +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_ID IS ' REGISTRY'; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CODE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.SHORT_NAME IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.FULL_NAME IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT_TYPE IS ' (linked to accountType)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_DESIGNATION IS ' (linked to registryDesignation)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_INSTRUMENT_TYPE IS ' (linked to registryInstrumentType)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_CAPACITY IS ' (linked to registryCapacity)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_UNIT IS ' (linked to registryUnit)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_CODE IS ' (linked to registryCode)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_STATUS IS ' (linked to registryStatus)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.OPEN_BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLOSE_BALANCE IS ' . '; + +COMMENT ON COLUMN REGISTRY_HISTORY.CREDIT IS ''; + +COMMENT ON COLUMN REGISTRY_HISTORY.DEBIT IS ''; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLED_CREDIT IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLED_DEBIT IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.CHECK_BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.DIFF_BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.PLAN_BALANCE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.BALANCE_DIMENSION IS ' (linked to balanceDimension)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLEARING_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.REFUND_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.VALUE_DATE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.PRICE IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.CONTRACT IS ''; + +COMMENT ON COLUMN REGISTRY_HISTORY.COUNTER_PARTY_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.COMMENT IS ''; + +COMMENT ON COLUMN REGISTRY_HISTORY.PARENT_ID IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.GROUP_ID IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SESSION_TYPE IS ' (linked to sessionType)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PAYMENT_ID IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.ID IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.CREATED_AT IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.UPDATED_AT IS ' '; + +COMMENT ON COLUMN REGISTRY_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SECTION IS ' (linked to section)'; + +GRANT ALL PRIVILEGES ON TABLE REGISTRY_HISTORY TO clearing; + +-- account - +DROP TABLE IF EXISTS ACCOUNT; +CREATE TABLE ACCOUNT(ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, CURRENCY varchar(4), STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE ACCOUNT IS ''; + +COMMENT ON COLUMN ACCOUNT.ACCOUNT IS ' '; + +COMMENT ON COLUMN ACCOUNT.ACCOUNT_TYPE IS ' (linked to accountType)'; + +COMMENT ON COLUMN ACCOUNT.RELATION_ID IS ' (linked to relation)'; + +COMMENT ON COLUMN ACCOUNT.CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN ACCOUNT.STATUS IS ' (linked to serviceStatus)'; + +COMMENT ON COLUMN ACCOUNT.PROCESSING_SIGN IS ' (linked to allowed)'; + +COMMENT ON COLUMN ACCOUNT.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN ACCOUNT.ID IS ' '; + +COMMENT ON COLUMN ACCOUNT.CREATED_AT IS '- '; + +COMMENT ON COLUMN ACCOUNT.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE ACCOUNT TO clearing; + + +-- History log of account - +DROP TABLE IF EXISTS ACCOUNT_HISTORY; +CREATE TABLE ACCOUNT_HISTORY(ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, CURRENCY varchar(4), STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE ACCOUNT_HISTORY IS ' account'; +COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_ID IS ' ACCOUNT'; +COMMENT ON COLUMN ACCOUNT_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN ACCOUNT_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN ACCOUNT_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT IS ' '; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_TYPE IS ' (linked to accountType)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.RELATION_ID IS ' (linked to relation)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.STATUS IS ' (linked to serviceStatus)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.PROCESSING_SIGN IS ' (linked to allowed)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ID IS ' '; + +COMMENT ON COLUMN ACCOUNT_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN ACCOUNT_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE ACCOUNT_HISTORY TO clearing; + +-- relation - +DROP TABLE IF EXISTS RELATION; +CREATE TABLE RELATION(CONSUMER_ID bigint, SUPPLIER_ID bigint, SERVICE_STATUS varchar(4), SERVICE varchar(4), SERVICE_PRODUCT varchar(4), COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE RELATION IS ' '; + +COMMENT ON COLUMN RELATION.CONSUMER_ID IS ' (linked to company)'; + +COMMENT ON COLUMN RELATION.SUPPLIER_ID IS ' (linked to company)'; + +COMMENT ON COLUMN RELATION.SERVICE_STATUS IS ' (linked to serviceStatus)'; + +COMMENT ON COLUMN RELATION.SERVICE IS ' (linked to service)'; + +COMMENT ON COLUMN RELATION.SERVICE_PRODUCT IS ' (linked to serviceProduct)'; + +COMMENT ON COLUMN RELATION.COMMENT IS ' '; + +COMMENT ON COLUMN RELATION.ID IS ' '; + +COMMENT ON COLUMN RELATION.CREATED_AT IS '- '; + +COMMENT ON COLUMN RELATION.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE RELATION TO clearing; + + +-- History log of relation - +DROP TABLE IF EXISTS RELATION_HISTORY; +CREATE TABLE RELATION_HISTORY(RELATION_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), CONSUMER_ID bigint, SUPPLIER_ID bigint, SERVICE_STATUS varchar(4), SERVICE varchar(4), SERVICE_PRODUCT varchar(4), COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE RELATION_HISTORY IS ' relation'; +COMMENT ON COLUMN RELATION_HISTORY.RELATION_ID IS ' RELATION'; +COMMENT ON COLUMN RELATION_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN RELATION_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN RELATION_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN RELATION_HISTORY.CONSUMER_ID IS ' (linked to company)'; + +COMMENT ON COLUMN RELATION_HISTORY.SUPPLIER_ID IS ' (linked to company)'; + +COMMENT ON COLUMN RELATION_HISTORY.SERVICE_STATUS IS ' (linked to serviceStatus)'; + +COMMENT ON COLUMN RELATION_HISTORY.SERVICE IS ' (linked to service)'; + +COMMENT ON COLUMN RELATION_HISTORY.SERVICE_PRODUCT IS ' (linked to serviceProduct)'; + +COMMENT ON COLUMN RELATION_HISTORY.COMMENT IS ' '; + +COMMENT ON COLUMN RELATION_HISTORY.ID IS ' '; + +COMMENT ON COLUMN RELATION_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN RELATION_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE RELATION_HISTORY TO clearing; + +-- bankAccount - +DROP TABLE IF EXISTS BANK_ACCOUNT; +CREATE TABLE BANK_ACCOUNT(ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY, INTERMEDIARY_SWIFT_CODE varchar(255)); +COMMENT ON TABLE BANK_ACCOUNT IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_IDENTIFICATION_CODE IS ' ()'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_NAME IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT.CORRESPONDENT_ACCOUNT IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT.CORRESPONDENT_ACCOUNT_NAME IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT.CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN BANK_ACCOUNT.DESTINATION IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT.IBAN IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT.INTERNATIONAL_TRANSFER_SIGN IS ' (linked to allowed)'; + +COMMENT ON COLUMN BANK_ACCOUNT.SWIFT_CODE IS ' SWIFT'; + +COMMENT ON COLUMN BANK_ACCOUNT.TAXPAYER_IDENTIFICATION_NUMBER IS ' ()'; + +COMMENT ON COLUMN BANK_ACCOUNT.TAX_REGISTRATION_REASON_CODE IS ' ()'; + +COMMENT ON COLUMN BANK_ACCOUNT.ACCOUNT IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN BANK_ACCOUNT.ID IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT.INTERMEDIARY_SWIFT_CODE IS ' SWIFT '; + +GRANT ALL PRIVILEGES ON TABLE BANK_ACCOUNT TO clearing; + + +-- History log of bankAccount - +DROP TABLE IF EXISTS BANK_ACCOUNT_HISTORY; +CREATE TABLE BANK_ACCOUNT_HISTORY(BANK_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY, INTERMEDIARY_SWIFT_CODE varchar(255)); +COMMENT ON TABLE BANK_ACCOUNT_HISTORY IS ' bankAccount'; +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ACCOUNT_ID IS ' BANK_ACCOUNT'; +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_IDENTIFICATION_CODE IS ' ()'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_NAME IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.CORRESPONDENT_ACCOUNT IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.CORRESPONDENT_ACCOUNT_NAME IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.DESTINATION IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.IBAN IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.INTERNATIONAL_TRANSFER_SIGN IS ' (linked to allowed)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.SWIFT_CODE IS ' SWIFT'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.TAXPAYER_IDENTIFICATION_NUMBER IS ' ()'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.TAX_REGISTRATION_REASON_CODE IS ' ()'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ACCOUNT IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ID IS ' '; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.INTERMEDIARY_SWIFT_CODE IS ' SWIFT '; + +GRANT ALL PRIVILEGES ON TABLE BANK_ACCOUNT_HISTORY TO clearing; + +-- informationAccount - +DROP TABLE IF EXISTS INFORMATION_ACCOUNT; +CREATE TABLE INFORMATION_ACCOUNT(ACCOUNT_ID bigint, CLEARING_ACCOUNT_ID bigint, COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE INFORMATION_ACCOUNT IS ' '; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.CLEARING_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE INFORMATION_ACCOUNT TO clearing; + + +-- History log of informationAccount - +DROP TABLE IF EXISTS INFORMATION_ACCOUNT_HISTORY; +CREATE TABLE INFORMATION_ACCOUNT_HISTORY(INFORMATION_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, CLEARING_ACCOUNT_ID bigint, COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE INFORMATION_ACCOUNT_HISTORY IS ' informationAccount'; +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.INFORMATION_ACCOUNT_ID IS ' INFORMATION_ACCOUNT'; +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.CLEARING_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE INFORMATION_ACCOUNT_HISTORY TO clearing; + +-- depoAccount - +DROP TABLE IF EXISTS DEPO_ACCOUNT; +CREATE TABLE DEPO_ACCOUNT(ACCOUNT_ID bigint, DEPO_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE DEPO_ACCOUNT IS ' '; + +COMMENT ON COLUMN DEPO_ACCOUNT.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.DEPO_ACCOUNT_TYPE IS ' (linked to depoAccountType)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE DEPO_ACCOUNT TO clearing; + + +-- History log of depoAccount - +DROP TABLE IF EXISTS DEPO_ACCOUNT_HISTORY; +CREATE TABLE DEPO_ACCOUNT_HISTORY(DEPO_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, DEPO_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE DEPO_ACCOUNT_HISTORY IS ' depoAccount'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.DEPO_ACCOUNT_ID IS ' DEPO_ACCOUNT'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.DEPO_ACCOUNT_TYPE IS ' (linked to depoAccountType)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE DEPO_ACCOUNT_HISTORY TO clearing; + +-- accountSymbols - - +DROP TABLE IF EXISTS ACCOUNT_SYMBOLS; +CREATE TABLE ACCOUNT_SYMBOLS(ID bigint PRIMARY KEY, ACCOUNT_ID bigint, ACCOUNT_SYMBOL_VALUE varchar(255)); +COMMENT ON TABLE ACCOUNT_SYMBOLS IS ' - '; + +COMMENT ON COLUMN ACCOUNT_SYMBOLS.ID IS ' '; + +COMMENT ON COLUMN ACCOUNT_SYMBOLS.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN ACCOUNT_SYMBOLS.ACCOUNT_SYMBOL_VALUE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE ACCOUNT_SYMBOLS TO clearing; + + +-- History log of accountSymbols - - +DROP TABLE IF EXISTS ACCOUNT_SYMBOLS_HISTORY; +CREATE TABLE ACCOUNT_SYMBOLS_HISTORY(ACCOUNT_SYMBOLS_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, ACCOUNT_ID bigint, ACCOUNT_SYMBOL_VALUE varchar(255)); +COMMENT ON TABLE ACCOUNT_SYMBOLS_HISTORY IS ' accountSymbols'; +COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ACCOUNT_SYMBOLS_ID IS ' ACCOUNT_SYMBOLS'; +COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ID IS ' '; + +COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ACCOUNT_SYMBOL_VALUE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE ACCOUNT_SYMBOLS_HISTORY TO clearing; + +-- clearingAccount - - +DROP TABLE IF EXISTS CLEARING_ACCOUNT; +CREATE TABLE CLEARING_ACCOUNT(ACCOUNT_ID bigint, CLEARING_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_ACCOUNT IS '- '; + +COMMENT ON COLUMN CLEARING_ACCOUNT.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.CLEARING_ACCOUNT_TYPE IS ' (linked to clearingAccountType)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CLEARING_ACCOUNT TO clearing; + + +-- History log of clearingAccount - - +DROP TABLE IF EXISTS CLEARING_ACCOUNT_HISTORY; +CREATE TABLE CLEARING_ACCOUNT_HISTORY(CLEARING_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, CLEARING_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_ACCOUNT_HISTORY IS ' clearingAccount'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.CLEARING_ACCOUNT_ID IS ' CLEARING_ACCOUNT'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.CLEARING_ACCOUNT_TYPE IS ' (linked to clearingAccountType)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE CLEARING_ACCOUNT_HISTORY TO clearing; + +-- plannerTemplate - +DROP TABLE IF EXISTS PLANNER_TEMPLATE; +CREATE TABLE PLANNER_TEMPLATE(TASK varchar(4), TASK_TIME time, MARKET varchar(4), SECTION varchar(4), SESSION_TYPE varchar(4), TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE PLANNER_TEMPLATE IS ' '; + +COMMENT ON COLUMN PLANNER_TEMPLATE.TASK IS ' (linked to task)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.TASK_TIME IS ' '; + +COMMENT ON COLUMN PLANNER_TEMPLATE.MARKET IS ' (linked to market)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.SECTION IS ' (linked to section)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.SESSION_TYPE IS ' (linked to sessionType)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.TASK_STATUS IS ' (linked to taskStatus)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.ID IS ''; + +COMMENT ON COLUMN PLANNER_TEMPLATE.CREATED_AT IS '- '; + +COMMENT ON COLUMN PLANNER_TEMPLATE.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE PLANNER_TEMPLATE TO clearing; + +-- clearingCalendar - +DROP TABLE IF EXISTS CLEARING_CALENDAR; +CREATE TABLE CLEARING_CALENDAR(CLEARING_DATE date, COMPANY_ID bigint, DAY_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLEARING_CALENDAR IS ' '; + +COMMENT ON COLUMN CLEARING_CALENDAR.CLEARING_DATE IS ''; + +COMMENT ON COLUMN CLEARING_CALENDAR.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CLEARING_CALENDAR.DAY_STATUS IS ' (linked to dayStatus)'; + +COMMENT ON COLUMN CLEARING_CALENDAR.ID IS ''; + +COMMENT ON COLUMN CLEARING_CALENDAR.CREATED_AT IS '- '; + +COMMENT ON COLUMN CLEARING_CALENDAR.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE CLEARING_CALENDAR TO clearing; + +-- planner - +DROP TABLE IF EXISTS PLANNER; +CREATE TABLE PLANNER(TASK varchar(4), TASK_TIME time, CLEARING_DATE date, MARKET varchar(4), SECTION varchar(4), SESSION_TYPE varchar(4), TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE PLANNER IS ' '; + +COMMENT ON COLUMN PLANNER.TASK IS ' (linked to task)'; + +COMMENT ON COLUMN PLANNER.TASK_TIME IS ' '; + +COMMENT ON COLUMN PLANNER.CLEARING_DATE IS ' '; + +COMMENT ON COLUMN PLANNER.MARKET IS ' (linked to market)'; + +COMMENT ON COLUMN PLANNER.SECTION IS ' (linked to section)'; + +COMMENT ON COLUMN PLANNER.SESSION_TYPE IS ' (linked to sessionType)'; + +COMMENT ON COLUMN PLANNER.TASK_STATUS IS ' (linked to taskStatus)'; + +COMMENT ON COLUMN PLANNER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN PLANNER.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN PLANNER.ID IS ''; + +COMMENT ON COLUMN PLANNER.CREATED_AT IS '- '; + +COMMENT ON COLUMN PLANNER.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE PLANNER TO clearing; + +-- plannerAllToday - +DROP TABLE IF EXISTS PLANNER_ALL_TODAY; +CREATE TABLE PLANNER_ALL_TODAY(TASK varchar(4), TASK_TIME time, CLEARING_DATE date, MARKET varchar(4), SECTION varchar(4), SESSION_TYPE varchar(4), TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, PARENT varchar(4), PARENT_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE PLANNER_ALL_TODAY IS ' '; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK IS ' (linked to task)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK_TIME IS ''; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.CLEARING_DATE IS ''; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.MARKET IS ' (linked to market)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.SECTION IS ' (linked to section)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.SESSION_TYPE IS ' (linked to sessionType)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK_STATUS IS ' (linked to taskStatus)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.PARENT IS ' (linked to parent)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.PARENT_ID IS ' -'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.ID IS ''; + +GRANT ALL PRIVILEGES ON TABLE PLANNER_ALL_TODAY TO clearing; + +-- launcher - +DROP TABLE IF EXISTS LAUNCHER; +CREATE TABLE LAUNCHER(SENDER_ID bigint, TASK varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE LAUNCHER IS ' '; + +COMMENT ON COLUMN LAUNCHER.SENDER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN LAUNCHER.TASK IS ' (linked to task)'; + +COMMENT ON COLUMN LAUNCHER.ID IS ''; + +COMMENT ON COLUMN LAUNCHER.CREATED_AT IS '- '; + +COMMENT ON COLUMN LAUNCHER.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE LAUNCHER TO clearing; + +-- session - +DROP TABLE IF EXISTS SESSION; +CREATE TABLE SESSION(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, USER_ID bigint, SECTION varchar(4), SESSION_TYPE varchar(4), WORKFLOW_STATUS varchar(4)); +COMMENT ON TABLE SESSION IS ' '; + +COMMENT ON COLUMN SESSION.ID IS ' '; + +COMMENT ON COLUMN SESSION.CREATED_AT IS '- '; + +COMMENT ON COLUMN SESSION.UPDATED_AT IS '- '; + +COMMENT ON COLUMN SESSION.CLEARING_DATE IS ''; + +COMMENT ON COLUMN SESSION.SESSION_STATUS IS ' (linked to sessionStatus)'; + +COMMENT ON COLUMN SESSION.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN SESSION.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN SESSION.USER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN SESSION.SECTION IS ' (linked to section)'; + +COMMENT ON COLUMN SESSION.SESSION_TYPE IS ' (linked to sessionType)'; + +COMMENT ON COLUMN SESSION.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +GRANT ALL PRIVILEGES ON TABLE SESSION TO clearing; + + +-- History log of session - +DROP TABLE IF EXISTS SESSION_HISTORY; +CREATE TABLE SESSION_HISTORY(SESSION_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, USER_ID bigint, SECTION varchar(4), SESSION_TYPE varchar(4), WORKFLOW_STATUS varchar(4)); +COMMENT ON TABLE SESSION_HISTORY IS ' session'; +COMMENT ON COLUMN SESSION_HISTORY.SESSION_ID IS ' SESSION'; +COMMENT ON COLUMN SESSION_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN SESSION_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN SESSION_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN SESSION_HISTORY.ID IS ' '; + +COMMENT ON COLUMN SESSION_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN SESSION_HISTORY.UPDATED_AT IS '- '; + +COMMENT ON COLUMN SESSION_HISTORY.CLEARING_DATE IS ''; + +COMMENT ON COLUMN SESSION_HISTORY.SESSION_STATUS IS ' (linked to sessionStatus)'; + +COMMENT ON COLUMN SESSION_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN SESSION_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN SESSION_HISTORY.USER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN SESSION_HISTORY.SECTION IS ' (linked to section)'; + +COMMENT ON COLUMN SESSION_HISTORY.SESSION_TYPE IS ' (linked to sessionType)'; + +COMMENT ON COLUMN SESSION_HISTORY.WORKFLOW_STATUS IS ' (linked to workflowStatus)'; + +GRANT ALL PRIVILEGES ON TABLE SESSION_HISTORY TO clearing; + +-- sTrades - +DROP TABLE IF EXISTS S_TRADES; +CREATE TABLE S_TRADES(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, TRADE_NUM bigint, OPERATION varchar(40), CLASS_CODE varchar(255), TRADE_DATE date, SEC_CODE varchar(255), ACCRUEDINT numeric(72,18), ACCRUEDINT2 numeric(72,18), LOWER_DISCOUNT numeric(72,18), ORDER_NUM bigint, PRICE numeric(72,18), PRICE2 numeric(72,18), REPO_RATE numeric(72,18), REPO_VALUE numeric(72,18), REPO2_VALUE numeric(72,18), START_DISCOUNT numeric(72,18), TS_COMMISSION numeric(72,18), UPPER_DISCOUNT numeric(72,18), VALUE numeric(72,18), YIELD numeric(72,18), QTY numeric(72,18), QTY_PCS numeric(72,18), TRADE_DATE_TIME timestamp, REPO_TERM bigint, CLEARING_COMMISSION numeric(72,18), EXCHANGE_COMMISSION numeric(72,18), TECH_CENTER_COMMISSION numeric(72,18), ACCOUNT varchar(50), BROKER_REF varchar(34), CLIENT_CODE varchar(255), SETTLE_CODE varchar(50), USER_ID varchar(32), EXCHANGE_CODE varchar(64), FIRM_ID varchar(255), FIRM_NAME varchar(255), CP_FIRM_ID varchar(255), CP_FIRM_NAME varchar(255), CLASS_NAME varchar(255), SEC_NAME varchar(255), SETTLE_DATE date, SETTLE_CURRENCY varchar(4), TRADE_CURRENCY varchar(4), TRADE_TIME_MS bigint, BANK_ACC_ID varchar(12), SECTION varchar(4)); +COMMENT ON TABLE S_TRADES IS ' '; + +COMMENT ON COLUMN S_TRADES.ID IS ' '; + +COMMENT ON COLUMN S_TRADES.CREATED_AT IS '- '; + +COMMENT ON COLUMN S_TRADES.UPDATED_AT IS '- '; + +COMMENT ON COLUMN S_TRADES.TRADE_NUM IS ' '; + +COMMENT ON COLUMN S_TRADES.OPERATION IS ' (BUY SELL)'; + +COMMENT ON COLUMN S_TRADES.CLASS_CODE IS ' '; + +COMMENT ON COLUMN S_TRADES.TRADE_DATE IS ' '; + +COMMENT ON COLUMN S_TRADES.SEC_CODE IS ' '; + +COMMENT ON COLUMN S_TRADES.ACCRUEDINT IS ' '; + +COMMENT ON COLUMN S_TRADES.ACCRUEDINT2 IS '(%) '; + +COMMENT ON COLUMN S_TRADES.LOWER_DISCOUNT IS ' (%)'; + +COMMENT ON COLUMN S_TRADES.ORDER_NUM IS ' '; + +COMMENT ON COLUMN S_TRADES.PRICE IS ' '; + +COMMENT ON COLUMN S_TRADES.PRICE2 IS ' '; + +COMMENT ON COLUMN S_TRADES.REPO_RATE IS ' (%)'; + +COMMENT ON COLUMN S_TRADES.REPO_VALUE IS ' '; + +COMMENT ON COLUMN S_TRADES.REPO2_VALUE IS ' , '; + +COMMENT ON COLUMN S_TRADES.START_DISCOUNT IS ' (%)'; + +COMMENT ON COLUMN S_TRADES.TS_COMMISSION IS ' '; + +COMMENT ON COLUMN S_TRADES.UPPER_DISCOUNT IS ' (%)'; + +COMMENT ON COLUMN S_TRADES.VALUE IS ' % '; + +COMMENT ON COLUMN S_TRADES.YIELD IS ''; + +COMMENT ON COLUMN S_TRADES.QTY IS ' '; + +COMMENT ON COLUMN S_TRADES.QTY_PCS IS ' '; + +COMMENT ON COLUMN S_TRADES.TRADE_DATE_TIME IS ' '; + +COMMENT ON COLUMN S_TRADES.REPO_TERM IS ' '; + +COMMENT ON COLUMN S_TRADES.CLEARING_COMMISSION IS ' . '; + +COMMENT ON COLUMN S_TRADES.EXCHANGE_COMMISSION IS ' . '; + +COMMENT ON COLUMN S_TRADES.TECH_CENTER_COMMISSION IS ' . '; + +COMMENT ON COLUMN S_TRADES.ACCOUNT IS ' '; + +COMMENT ON COLUMN S_TRADES.BROKER_REF IS ', : >/ >'; + +COMMENT ON COLUMN S_TRADES.CLIENT_CODE IS ' = = '; + +COMMENT ON COLUMN S_TRADES.SETTLE_CODE IS ' '; + +COMMENT ON COLUMN S_TRADES.USER_ID IS ' '; + +COMMENT ON COLUMN S_TRADES.EXCHANGE_CODE IS ' '; + +COMMENT ON COLUMN S_TRADES.FIRM_ID IS ''; + +COMMENT ON COLUMN S_TRADES.FIRM_NAME IS ' '; + +COMMENT ON COLUMN S_TRADES.CP_FIRM_ID IS ''; + +COMMENT ON COLUMN S_TRADES.CP_FIRM_NAME IS ' '; + +COMMENT ON COLUMN S_TRADES.CLASS_NAME IS ' '; + +COMMENT ON COLUMN S_TRADES.SEC_NAME IS ' '; + +COMMENT ON COLUMN S_TRADES.SETTLE_DATE IS ' '; + +COMMENT ON COLUMN S_TRADES.SETTLE_CURRENCY IS ' '; + +COMMENT ON COLUMN S_TRADES.TRADE_CURRENCY IS ' '; + +COMMENT ON COLUMN S_TRADES.TRADE_TIME_MS IS ' '; + +COMMENT ON COLUMN S_TRADES.BANK_ACC_ID IS ' / '; + +COMMENT ON COLUMN S_TRADES.SECTION IS ' (linked to section)'; + +GRANT ALL PRIVILEGES ON TABLE S_TRADES TO clearing; + +-- executionDeposit - +DROP TABLE IF EXISTS EXECUTION_DEPOSIT; +CREATE TABLE EXECUTION_DEPOSIT(EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, TRADING_DATE date, TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), MARKET varchar(8), PRICE numeric(72,18), LOTS numeric(72,2), QUANTITY numeric(72,2), FIRST_LEG_AMOUNT numeric(72,2), SECOND_LEG_AMOUNT numeric(72,2), INTEREST_AMOUNT numeric(72,2), SIDE varchar(4), SETTLEMENT_CURRENCY varchar(4), COMPANY_ID bigint, DURATION bigint, FIRST_LEG_SETTLEMENT_DATE date, SECOND_LEG_SETTLEMENT_DATE date, FIRST_LEG_SETTLEMENT_CODE varchar(12), SECOND_LEG_SETTLEMENT_CODE varchar(12), SECURITY_FULL_NAME varchar(255), SECURITY_SYMBOL varchar(255), SECURITY_CODE varchar(255), SECURITY_ID bigint, CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE EXECUTION_DEPOSIT IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_TIME IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.MARKET IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.PRICE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.LOTS IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.QUANTITY IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.INTEREST_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SIDE IS ' (linked to moneyFlowSide)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SETTLEMENT_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.DURATION IS ', '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_FULL_NAME IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_ID IS ' (linked to moneyMarketSecurity)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.CONTRACT IS ''; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COUNTER_PARTY_ID IS ' -, (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COVERAGE_STATUS IS ' (linked to allowed)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.ID IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.CREATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.UPDATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.CLEARING_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE EXECUTION_DEPOSIT TO clearing; + + +-- History log of executionDeposit - +DROP TABLE IF EXISTS EXECUTION_DEPOSIT_HISTORY; +CREATE TABLE EXECUTION_DEPOSIT_HISTORY(EXECUTION_DEPOSIT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, TRADING_DATE date, TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), MARKET varchar(8), PRICE numeric(72,18), LOTS numeric(72,2), QUANTITY numeric(72,2), FIRST_LEG_AMOUNT numeric(72,2), SECOND_LEG_AMOUNT numeric(72,2), INTEREST_AMOUNT numeric(72,2), SIDE varchar(4), SETTLEMENT_CURRENCY varchar(4), COMPANY_ID bigint, DURATION bigint, FIRST_LEG_SETTLEMENT_DATE date, SECOND_LEG_SETTLEMENT_DATE date, FIRST_LEG_SETTLEMENT_CODE varchar(12), SECOND_LEG_SETTLEMENT_CODE varchar(12), SECURITY_FULL_NAME varchar(255), SECURITY_SYMBOL varchar(255), SECURITY_CODE varchar(255), SECURITY_ID bigint, CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE EXECUTION_DEPOSIT_HISTORY IS ' executionDeposit'; +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EXECUTION_DEPOSIT_ID IS ' EXECUTION_DEPOSIT'; +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EXCHANGE_EXECUTION_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.EXCHANGE_EXECUTION_TIME IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.TRADING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.MARKET IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.PRICE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.LOTS IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.QUANTITY IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.FIRST_LEG_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECOND_LEG_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.INTEREST_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SIDE IS ' (linked to moneyFlowSide)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SETTLEMENT_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.DURATION IS ', '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.FIRST_LEG_SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECOND_LEG_SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.FIRST_LEG_SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECOND_LEG_SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECURITY_FULL_NAME IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SECURITY_ID IS ' (linked to moneyMarketSecurity)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.CONTRACT IS ''; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COUNTER_PARTY_ID IS ' -, (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COVERAGE_STATUS IS ' (linked to allowed)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.ID IS ' '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.UPDATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.CLEARING_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE EXECUTION_DEPOSIT_HISTORY TO clearing; + +-- executionFond - +DROP TABLE IF EXISTS EXECUTION_FOND; +CREATE TABLE EXECUTION_FOND(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, EXCHANGE_EXECUTION_ID bigint, SIDE varchar(4), MARKET varchar(4), TRADING_DATE date, SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, INTEREST_AMOUNT numeric(72,2), EXCHANGE_ORDER_ID bigint, PRICE numeric(72,18), SETTLEMENT_AMOUNT numeric(72,2), LOTS numeric(72,2), QUANTITY numeric(72,2), EXCHANGE_EXECUTION_TIME timestamp, DURATION bigint, TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), COMMENT varchar(255), CLIENT_CODE_ID bigint, SETTLEMENT_CODE varchar(12), COMPANY_ID bigint, COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), SECURITY_FULL_NAME varchar(255), SETTLEMENT_DATE date, SETTLEMENT_CURRENCY varchar(4), EXCHANGE_EXECUTION_MICROSECONDS timestamp, COVERAGE_STATUS varchar(4), SESSION_ID bigint); +COMMENT ON TABLE EXECUTION_FOND IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.ID IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.CREATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_FOND.UPDATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_FOND.CLEARING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_EXECUTION_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.SIDE IS ' (linked to side)'; + +COMMENT ON COLUMN EXECUTION_FOND.MARKET IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.TRADING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN EXECUTION_FOND.INTEREST_AMOUNT IS ''; + +COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_ORDER_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.PRICE IS ', %'; + +COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.LOTS IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.QUANTITY IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_EXECUTION_TIME IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.DURATION IS ', '; + +COMMENT ON COLUMN EXECUTION_FOND.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_FOND.PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_FOND.COMMENT IS ''; + +COMMENT ON COLUMN EXECUTION_FOND.CLIENT_CODE_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN EXECUTION_FOND.COUNTER_PARTY_ID IS ' -, (linked to company)'; + +COMMENT ON COLUMN EXECUTION_FOND.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_FOND.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_FOND.SECURITY_FULL_NAME IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_EXECUTION_MICROSECONDS IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND.COVERAGE_STATUS IS ' (linked to allowed)'; + +COMMENT ON COLUMN EXECUTION_FOND.SESSION_ID IS ' (linked to session)'; + +GRANT ALL PRIVILEGES ON TABLE EXECUTION_FOND TO clearing; + + +-- History log of executionFond - +DROP TABLE IF EXISTS EXECUTION_FOND_HISTORY; +CREATE TABLE EXECUTION_FOND_HISTORY(EXECUTION_FOND_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, EXCHANGE_EXECUTION_ID bigint, SIDE varchar(4), MARKET varchar(4), TRADING_DATE date, SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, INTEREST_AMOUNT numeric(72,2), EXCHANGE_ORDER_ID bigint, PRICE numeric(72,18), SETTLEMENT_AMOUNT numeric(72,2), LOTS numeric(72,2), QUANTITY numeric(72,2), EXCHANGE_EXECUTION_TIME timestamp, DURATION bigint, TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), COMMENT varchar(255), CLIENT_CODE_ID bigint, SETTLEMENT_CODE varchar(12), COMPANY_ID bigint, COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), SECURITY_FULL_NAME varchar(255), SETTLEMENT_DATE date, SETTLEMENT_CURRENCY varchar(4), EXCHANGE_EXECUTION_MICROSECONDS timestamp, COVERAGE_STATUS varchar(4), SESSION_ID bigint); +COMMENT ON TABLE EXECUTION_FOND_HISTORY IS ' executionFond'; +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXECUTION_FOND_ID IS ' EXECUTION_FOND'; +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.ID IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.UPDATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.CLEARING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_EXECUTION_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SIDE IS ' (linked to side)'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.MARKET IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.TRADING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.INTEREST_AMOUNT IS ''; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_ORDER_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.PRICE IS ', %'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.LOTS IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.QUANTITY IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_EXECUTION_TIME IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.DURATION IS ', '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COMMENT IS ''; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.CLIENT_CODE_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COUNTER_PARTY_ID IS ' -, (linked to company)'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SECURITY_FULL_NAME IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_CURRENCY IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_EXECUTION_MICROSECONDS IS ' '; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COVERAGE_STATUS IS ' (linked to allowed)'; + +COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SESSION_ID IS ' (linked to session)'; + +GRANT ALL PRIVILEGES ON TABLE EXECUTION_FOND_HISTORY TO clearing; + +-- executionCurrency - +DROP TABLE IF EXISTS EXECUTION_CURRENCY; +CREATE TABLE EXECUTION_CURRENCY(EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, EXCHANGE_EXECUTION_MICROSECONDS timestamp, TRADING_DATE date, SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), SECURITY_ID bigint, SECURITY_SYMBOL varchar(255), SECURITY_NAME varchar(255), COMPANY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), SETTLEMENT_AMOUNT numeric(72,2), QUANTITY numeric(72,2), SIDE varchar(4), CURRENCY_CODE varchar(4), SETTLEMENT_ORGANIZATION varchar(255), COVERAGE_STATUS varchar(4), SESSION_ID bigint, CLEARING_DATE date, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE EXECUTION_CURRENCY IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_TIME IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_MICROSECONDS IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.TRADING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_NAME IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.PARTY_TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_ID IS ' -, (linked to company)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.MARKET IS ' (linked to market)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.PRICE IS ''; + +COMMENT ON COLUMN EXECUTION_CURRENCY.LOTS IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.QUANTITY IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SIDE IS ' (linked to side)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.CURRENCY_CODE IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_ORGANIZATION IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.COVERAGE_STATUS IS ' (linked to allowed)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.CLEARING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.ID IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.CREATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_CURRENCY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE EXECUTION_CURRENCY TO clearing; + + +-- History log of executionCurrency - +DROP TABLE IF EXISTS EXECUTION_CURRENCY_HISTORY; +CREATE TABLE EXECUTION_CURRENCY_HISTORY(EXECUTION_CURRENCY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, EXCHANGE_EXECUTION_MICROSECONDS timestamp, TRADING_DATE date, SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), SECURITY_ID bigint, SECURITY_SYMBOL varchar(255), SECURITY_NAME varchar(255), COMPANY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), SETTLEMENT_AMOUNT numeric(72,2), QUANTITY numeric(72,2), SIDE varchar(4), CURRENCY_CODE varchar(4), SETTLEMENT_ORGANIZATION varchar(255), COVERAGE_STATUS varchar(4), SESSION_ID bigint, CLEARING_DATE date, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE EXECUTION_CURRENCY_HISTORY IS ' executionCurrency'; +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXECUTION_CURRENCY_ID IS ' EXECUTION_CURRENCY'; +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_TIME IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_MICROSECONDS IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.TRADING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_NAME IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PARTY_TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_ID IS ' -, (linked to company)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS ' - (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.MARKET IS ' (linked to market)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PRICE IS ''; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.LOTS IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.QUANTITY IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SIDE IS ' (linked to side)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CURRENCY_CODE IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_ORGANIZATION IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COVERAGE_STATUS IS ' (linked to allowed)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CLEARING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.ID IS ' '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE EXECUTION_CURRENCY_HISTORY TO clearing; + +-- depoBalanceRegister - +DROP TABLE IF EXISTS DEPO_BALANCE_REGISTER; +CREATE TABLE DEPO_BALANCE_REGISTER(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, COMPANY_ID bigint, SESSION_ID bigint, SET_HOUSE_NAME varchar(255), NUMBER varchar(255), DEPO_CODE varchar(50), QUANTITY numeric(72,2), SECURITY_SYMBOL varchar(255)); +COMMENT ON TABLE DEPO_BALANCE_REGISTER IS ' '; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.ID IS ' '; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.SET_HOUSE_NAME IS ' '; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.NUMBER IS ' '; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.DEPO_CODE IS ' / '; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.QUANTITY IS ''; + +COMMENT ON COLUMN DEPO_BALANCE_REGISTER.SECURITY_SYMBOL IS ' '; + +GRANT ALL PRIVILEGES ON TABLE DEPO_BALANCE_REGISTER TO clearing; + +-- moneyBalanceRegister - +DROP TABLE IF EXISTS MONEY_BALANCE_REGISTER; +CREATE TABLE MONEY_BALANCE_REGISTER(SET_HOUSE_NAME varchar(255), NUMBER varchar(255), CREATED_AT timestamp, CURRENCY_CODE varchar(4), COMPANY_ID bigint, ACCOUNT varchar(50), REMAINDER_SUM numeric(72,18), INFO_ACCOUNT varchar(50), COMPANY_FULL_NAME varchar(255), ID bigint PRIMARY KEY, INN varchar(255), SESSION_ID bigint, BLOCKED_SUM numeric(72,18), UNBLOCKED_SUM numeric(72,18), UPDATED_AT timestamp); +COMMENT ON TABLE MONEY_BALANCE_REGISTER IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.SET_HOUSE_NAME IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.NUMBER IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.CURRENCY_CODE IS ' (linked to currencyCode)'; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.ACCOUNT IS ' / / '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.REMAINDER_SUM IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.INFO_ACCOUNT IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.COMPANY_FULL_NAME IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.ID IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.INN IS ' ()'; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.BLOCKED_SUM IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.UNBLOCKED_SUM IS ' '; + +COMMENT ON COLUMN MONEY_BALANCE_REGISTER.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE MONEY_BALANCE_REGISTER TO clearing; + +-- admittedLiabilitiesRegister - , +DROP TABLE IF EXISTS ADMITTED_LIABILITIES_REGISTER; +CREATE TABLE ADMITTED_LIABILITIES_REGISTER(COMPANY_FULL_NAME varchar(255), SESSION_ID bigint, SECURITY_SYMBOL varchar(255), SECURITY_FULL_NAME varchar(255), COMPANY_ID bigint, CLEARING_CODE varchar(255), ACCOUNT varchar(50), AMOUNT numeric(72,18), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE ADMITTED_LIABILITIES_REGISTER IS ' , '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.COMPANY_FULL_NAME IS ' '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.SECURITY_FULL_NAME IS ' '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.ACCOUNT IS ' '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.AMOUNT IS ' '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.ID IS ' '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN ADMITTED_LIABILITIES_REGISTER.CLEARING_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE ADMITTED_LIABILITIES_REGISTER TO clearing; + +-- coveredLiabilitiesRegister - , +DROP TABLE IF EXISTS COVERED_LIABILITIES_REGISTER; +CREATE TABLE COVERED_LIABILITIES_REGISTER(COMPANY_FULL_NAME varchar(255), SESSION_ID bigint, SECURITY_SYMBOL varchar(255), SECURITY_FULL_NAME varchar(255), COMPANY_ID bigint, CLEARING_CODE varchar(255), ACCOUNT varchar(50), AMOUNT numeric(72,18), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE COVERED_LIABILITIES_REGISTER IS ' , '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.COMPANY_FULL_NAME IS ' '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.SECURITY_SYMBOL IS ' '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.SECURITY_FULL_NAME IS ' '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.ACCOUNT IS ' '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.AMOUNT IS ' '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.ID IS ' '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN COVERED_LIABILITIES_REGISTER.CLEARING_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE COVERED_LIABILITIES_REGISTER TO clearing; + +-- moneyPaymentInstructionRegister - , +DROP TABLE IF EXISTS MONEY_PAYMENT_INSTRUCTION_REGISTER; +CREATE TABLE MONEY_PAYMENT_INSTRUCTION_REGISTER(CREDIT_LEG_ACCOUNT varchar(50), CREDIT_LEG_AMOUNT numeric(72,18), CREDIT_LEG_CURRENCY_CODE varchar(4), DEBIT_LEG_ACCOUNT varchar(50), SENDER varchar(255), ADDRESSEE varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE MONEY_PAYMENT_INSTRUCTION_REGISTER IS ' , '; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.CREDIT_LEG_ACCOUNT IS ' '; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.CREDIT_LEG_AMOUNT IS ' '; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.CREDIT_LEG_CURRENCY_CODE IS ' (linked to currency)'; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.DEBIT_LEG_ACCOUNT IS ' '; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.SENDER IS ''; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.ADDRESSEE IS ''; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.ID IS ' '; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN MONEY_PAYMENT_INSTRUCTION_REGISTER.CLEARING_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE MONEY_PAYMENT_INSTRUCTION_REGISTER TO clearing; + +-- depoPaymentInstructionRegister - , +DROP TABLE IF EXISTS DEPO_PAYMENT_INSTRUCTION_REGISTER; +CREATE TABLE DEPO_PAYMENT_INSTRUCTION_REGISTER(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, COMPANY_ID bigint, TRADING_CLEARING_REGISTRY_TYPE varchar(255), TRADING_CLEARING_REGISTRY varchar(50), CB_CODE varchar(50), QUANTITY numeric(72,2), DIRECTION bigint, SESSION_ID bigint); +COMMENT ON TABLE DEPO_PAYMENT_INSTRUCTION_REGISTER IS ' , '; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.ID IS ' '; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.TRADING_CLEARING_REGISTRY_TYPE IS ' - '; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.TRADING_CLEARING_REGISTRY IS '- '; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.CB_CODE IS ' '; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.QUANTITY IS ''; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.DIRECTION IS ' (linked to inOutDirection)'; + +COMMENT ON COLUMN DEPO_PAYMENT_INSTRUCTION_REGISTER.SESSION_ID IS ' (linked to session)'; + +GRANT ALL PRIVILEGES ON TABLE DEPO_PAYMENT_INSTRUCTION_REGISTER TO clearing; + +-- excludeLiabilitiesRegister - , +DROP TABLE IF EXISTS EXCLUDE_LIABILITIES_REGISTER; +CREATE TABLE EXCLUDE_LIABILITIES_REGISTER(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, SESSION_ID bigint, VALID_FROM_DATE date, VALID_TO_DATE date, COMPANY_ID bigint, COMPANY_FULL_NAME varchar(255), INN varchar(255), SEGMENT varchar(10), REGISTRY_CODE varchar(4), ACCOUNT varchar(50), REGISTRY_STATUS varchar(4), CURRENCY varchar(4), SUM_LIABILITIES numeric(72,18), SETTLEMENT_DATE date); +COMMENT ON TABLE EXCLUDE_LIABILITIES_REGISTER IS ' , '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.ID IS ' '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.VALID_FROM_DATE IS ' '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.VALID_TO_DATE IS ' '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.COMPANY_FULL_NAME IS ' '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.INN IS ' ()'; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.SEGMENT IS ''; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.REGISTRY_CODE IS ' (linked to tradingClearingRegistryType)'; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.ACCOUNT IS ' '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.REGISTRY_STATUS IS ' '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.CURRENCY IS ' (linked to currency)'; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.SUM_LIABILITIES IS ' '; + +COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.SETTLEMENT_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE EXCLUDE_LIABILITIES_REGISTER TO clearing; + +-- pairSdf - +DROP TABLE IF EXISTS PAIR_SDF; +CREATE TABLE PAIR_SDF(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, IN_S_DF_ID varchar(255), IN_S_DF varchar(255), OUT_S_DF_ID varchar(255), OUT_S_DF varchar(255)); +COMMENT ON TABLE PAIR_SDF IS ' '; + +COMMENT ON COLUMN PAIR_SDF.ID IS ' '; + +COMMENT ON COLUMN PAIR_SDF.CREATED_AT IS ' '; + +COMMENT ON COLUMN PAIR_SDF.UPDATED_AT IS ' '; + +COMMENT ON COLUMN PAIR_SDF.IN_S_DF_ID IS ' '; + +COMMENT ON COLUMN PAIR_SDF.IN_S_DF IS ' '; + +COMMENT ON COLUMN PAIR_SDF.OUT_S_DF_ID IS ' '; + +COMMENT ON COLUMN PAIR_SDF.OUT_S_DF IS ' '; + +GRANT ALL PRIVILEGES ON TABLE PAIR_SDF TO clearing; + +-- gatewayResult - +DROP TABLE IF EXISTS GATEWAY_RESULT; +CREATE TABLE GATEWAY_RESULT(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, REQUEST_ID varchar(255), NAME_REQUEST varchar(255), REQUEST varchar(1023), RESULT varchar(1023), GATEWAY_RESULT_STATUS varchar(4)); +COMMENT ON TABLE GATEWAY_RESULT IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT.ID IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT.CREATED_AT IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT.UPDATED_AT IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT.REQUEST_ID IS 'ID '; + +COMMENT ON COLUMN GATEWAY_RESULT.NAME_REQUEST IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT.REQUEST IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT.RESULT IS ' '; + +COMMENT ON COLUMN GATEWAY_RESULT.GATEWAY_RESULT_STATUS IS ' (linked to gatewayResultStatus)'; + +GRANT ALL PRIVILEGES ON TABLE GATEWAY_RESULT TO clearing; + +-- liabilitiesRegister - +DROP TABLE IF EXISTS LIABILITIES_REGISTER; +CREATE TABLE LIABILITIES_REGISTER(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, SESSION_ID bigint, VALID_FROM_DATE date, VALID_TO_DATE date, COMPANY_ID bigint, COMPANY_FULL_NAME varchar(255), INN varchar(255), SEGMENT varchar(10), REGISTRY_CODE varchar(4), ACCOUNT varchar(50), REGISTRY_STATUS varchar(4), CURRENCY varchar(4), SUM_LIABILITIES numeric(72,18), SETTLEMENT_DATE date); +COMMENT ON TABLE LIABILITIES_REGISTER IS ' '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.ID IS ' '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN LIABILITIES_REGISTER.VALID_FROM_DATE IS ' '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.VALID_TO_DATE IS ' '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_REGISTER.COMPANY_FULL_NAME IS ' '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.INN IS ' ()'; + +COMMENT ON COLUMN LIABILITIES_REGISTER.SEGMENT IS ''; + +COMMENT ON COLUMN LIABILITIES_REGISTER.REGISTRY_CODE IS ' (linked to tradingClearingRegistryType)'; + +COMMENT ON COLUMN LIABILITIES_REGISTER.ACCOUNT IS ' '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.REGISTRY_STATUS IS ' '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.CURRENCY IS ' (linked to currency)'; + +COMMENT ON COLUMN LIABILITIES_REGISTER.SUM_LIABILITIES IS ' '; + +COMMENT ON COLUMN LIABILITIES_REGISTER.SETTLEMENT_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE LIABILITIES_REGISTER TO clearing; + +-- executionRegister - +DROP TABLE IF EXISTS EXECUTION_REGISTER; +CREATE TABLE EXECUTION_REGISTER(TRADING_DATE date, EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, SECURITY_ID bigint, SELLER_ID bigint, SELLER_CLEARING_CODE varchar(255), SELLER_TRADING_CLEARING_REGISTER varchar(255), SELLER_MONEY_ACCOUNT varchar(50), SELLER_DEPO_ACCOUNT varchar(50), BUYER_ID bigint, BUYER_CLEARING_CODE varchar(255), BUYER_TRADING_CLEARING_REGISTER varchar(255), BUYER_MONEY_ACCOUNT varchar(50), BUYER_DEPO_ACCOUNT varchar(50), AMOUNT numeric(72,2), QUANTITY numeric(72,2), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE EXECUTION_REGISTER IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.TRADING_DATE IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.EXCHANGE_EXECUTION_ID IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.EXCHANGE_EXECUTION_TIME IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN EXECUTION_REGISTER.SELLER_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN EXECUTION_REGISTER.SELLER_CLEARING_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.SELLER_TRADING_CLEARING_REGISTER IS '- '; + +COMMENT ON COLUMN EXECUTION_REGISTER.SELLER_MONEY_ACCOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.SELLER_DEPO_ACCOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.BUYER_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN EXECUTION_REGISTER.BUYER_CLEARING_CODE IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.BUYER_TRADING_CLEARING_REGISTER IS '- '; + +COMMENT ON COLUMN EXECUTION_REGISTER.BUYER_MONEY_ACCOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.BUYER_DEPO_ACCOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.AMOUNT IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.QUANTITY IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.ID IS ' '; + +COMMENT ON COLUMN EXECUTION_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN EXECUTION_REGISTER.CLEARING_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE EXECUTION_REGISTER TO clearing; + +-- statement - / +DROP TABLE IF EXISTS STATEMENT; +CREATE TABLE STATEMENT(ADDRESSEE_ID bigint, SENDER_ID bigint, STATEMENT_TYPE varchar(4), SECURITY_ID bigint, CONTRACT varchar(255), COMMENT varchar(255), ACCOUNT_ID bigint, ACCOUNT varchar(50), IN_OUT_DIRECTION varchar(4), SETTLEMENT_DATE date, AMOUNT numeric(72,2), OPERATION_STATUS varchar(4), ERROR_CODE_ID bigint, ERROR_TEXT_ID bigint, IN_S_DF_ID bigint, OUT_S_DF_ID bigint, IN_OUT_S_DF_TYPE varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE STATEMENT IS ' /'; + +COMMENT ON COLUMN STATEMENT.ADDRESSEE_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN STATEMENT.SENDER_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN STATEMENT.STATEMENT_TYPE IS ' (linked to statementType)'; + +COMMENT ON COLUMN STATEMENT.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN STATEMENT.CONTRACT IS ''; + +COMMENT ON COLUMN STATEMENT.COMMENT IS ''; + +COMMENT ON COLUMN STATEMENT.ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN STATEMENT.ACCOUNT IS ' '; + +COMMENT ON COLUMN STATEMENT.IN_OUT_DIRECTION IS ' (linked to inOutDirection)'; + +COMMENT ON COLUMN STATEMENT.SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN STATEMENT.AMOUNT IS ''; + +COMMENT ON COLUMN STATEMENT.OPERATION_STATUS IS ' (linked to operationStatus)'; + +COMMENT ON COLUMN STATEMENT.ERROR_CODE_ID IS ' (linked to errorCode)'; + +COMMENT ON COLUMN STATEMENT.ERROR_TEXT_ID IS ' (linked to errorText)'; + +COMMENT ON COLUMN STATEMENT.IN_S_DF_ID IS ' , '; + +COMMENT ON COLUMN STATEMENT.OUT_S_DF_ID IS ' , '; + +COMMENT ON COLUMN STATEMENT.IN_OUT_S_DF_TYPE IS ' (linked to inOutSDfType)'; + +COMMENT ON COLUMN STATEMENT.ID IS ' '; + +COMMENT ON COLUMN STATEMENT.CREATED_AT IS '- '; + +COMMENT ON COLUMN STATEMENT.UPDATED_AT IS '- '; + +COMMENT ON COLUMN STATEMENT.CLEARING_DATE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE STATEMENT TO clearing; + +-- paymentInstruction - +DROP TABLE IF EXISTS PAYMENT_INSTRUCTION; +CREATE TABLE PAYMENT_INSTRUCTION(SENDER_ID bigint, ADDRESSEE_ID bigint, PAYEE_BIC varchar(255), ADRESSEE_BIC varchar(255), PAYEE_BANK_NAME varchar(255), ADDRESSEE_BANK_NAME varchar(255), PAYMENT_DATE timestamp, PAYMENT_PURPOSE varchar(255), SETTLEMENT_DATE date, CREDIT_LEG_AMOUNT numeric(72,18), DEBIT_LEG_AMOUNT numeric(72,18), CREDIT_LEG_ACCOUNT_ID bigint, CREDIT_CS_ACCOUNT varchar(255), CREDIT_LEG_ACCOUNT varchar(50), DEBIT_LEG_ACCOUNT_ID bigint, DEBIT_CS_ACCOUNT varchar(255), DEBIT_LEG_ACCOUNT varchar(50), CREDIT_LEG_DIRECTION varchar(4), DEBIT_LEG_DIRECTION varchar(4), CREDIT_LEG_CURRENCY_CODE varchar(4), DEBIT_LEG_CURRENCY_CODE varchar(4), CREDIT_LEG_SECURITY_ID bigint, DEBIT_LEG_SECURITY_ID bigint, TRANSACTION_STATUS varchar(4), DOCUMENT_NUMBER varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_ID bigint); +COMMENT ON TABLE PAYMENT_INSTRUCTION IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.SENDER_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ADDRESSEE_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYEE_BIC IS ' () '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ADRESSEE_BIC IS ' () '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYEE_BANK_NAME IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ADDRESSEE_BANK_NAME IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYMENT_DATE IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYMENT_PURPOSE IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.SETTLEMENT_DATE IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_AMOUNT IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_AMOUNT IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_CS_ACCOUNT IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_ACCOUNT IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_ACCOUNT_ID IS ' (linked to account)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_CS_ACCOUNT IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_ACCOUNT IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_DIRECTION IS ' (linked to inOutDirection)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_DIRECTION IS ' (linked to inOutDirection)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_CURRENCY_CODE IS ' (linked to currency)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_CURRENCY_CODE IS ' (linked to currency)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.TRANSACTION_STATUS IS ' (linked to transactionStatus)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DOCUMENT_NUMBER IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ID IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREATED_AT IS '- '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.UPDATED_AT IS '- '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CLEARING_DATE IS ' '; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.SESSION_ID IS ' (linked to session)'; + +GRANT ALL PRIVILEGES ON TABLE PAYMENT_INSTRUCTION TO clearing; + +-- notification - +DROP TABLE IF EXISTS NOTIFICATION; +CREATE TABLE NOTIFICATION(ID bigint PRIMARY KEY, CLEARING_DATE date, CREATED_AT timestamp, UPDATED_AT timestamp, SENDER_ID bigint, ADDRESSEE_ID bigint, OBJECT_TYPE varchar(4), OBJECT_ID bigint, NOTIFICATION_STATUS varchar(4), COMMENT varchar(255), PRIORITY varchar(4)); +COMMENT ON TABLE NOTIFICATION IS ''; + +COMMENT ON COLUMN NOTIFICATION.ID IS ' '; + +COMMENT ON COLUMN NOTIFICATION.CLEARING_DATE IS ''; + +COMMENT ON COLUMN NOTIFICATION.CREATED_AT IS '- '; + +COMMENT ON COLUMN NOTIFICATION.UPDATED_AT IS '- '; + +COMMENT ON COLUMN NOTIFICATION.SENDER_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN NOTIFICATION.ADDRESSEE_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN NOTIFICATION.OBJECT_TYPE IS ' (linked to objectType)'; + +COMMENT ON COLUMN NOTIFICATION.OBJECT_ID IS ' '; + +COMMENT ON COLUMN NOTIFICATION.NOTIFICATION_STATUS IS ' (linked to notificationStatus)'; + +COMMENT ON COLUMN NOTIFICATION.COMMENT IS ' '; + +COMMENT ON COLUMN NOTIFICATION.PRIORITY IS ' (linked to priority)'; + +GRANT ALL PRIVILEGES ON TABLE NOTIFICATION TO clearing; + + +-- History log of notification - +DROP TABLE IF EXISTS NOTIFICATION_HISTORY; +CREATE TABLE NOTIFICATION_HISTORY(NOTIFICATION_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CLEARING_DATE date, CREATED_AT timestamp, UPDATED_AT timestamp, SENDER_ID bigint, ADDRESSEE_ID bigint, OBJECT_TYPE varchar(4), OBJECT_ID bigint, NOTIFICATION_STATUS varchar(4), COMMENT varchar(255), PRIORITY varchar(4)); +COMMENT ON TABLE NOTIFICATION_HISTORY IS ' notification'; +COMMENT ON COLUMN NOTIFICATION_HISTORY.NOTIFICATION_ID IS ' NOTIFICATION'; +COMMENT ON COLUMN NOTIFICATION_HISTORY.EVENT_TIME IS ' '; +COMMENT ON COLUMN NOTIFICATION_HISTORY.EVENT_USER_ID IS ' '; +COMMENT ON COLUMN NOTIFICATION_HISTORY.EVENT_TYPE IS ' '; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.ID IS ' '; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.CLEARING_DATE IS ''; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.CREATED_AT IS '- '; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.UPDATED_AT IS '- '; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.SENDER_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.ADDRESSEE_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.OBJECT_TYPE IS ' (linked to objectType)'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.OBJECT_ID IS ' '; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.NOTIFICATION_STATUS IS ' (linked to notificationStatus)'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.COMMENT IS ' '; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.PRIORITY IS ' (linked to priority)'; + +GRANT ALL PRIVILEGES ON TABLE NOTIFICATION_HISTORY TO clearing; + +-- verificationResult - +DROP TABLE IF EXISTS VERIFICATION_RESULT; +CREATE TABLE VERIFICATION_RESULT(CLEARING_CODE varchar(255), ACCOUNT_ID bigint, IN_SUM numeric(72,2), OUT_INT_SUM numeric(72,2), OUT_EXT_SUM numeric(72,2), DIFF_SUM numeric(72,2), GENERATION_ID bigint, GENERATION_STATUS varchar(4), RESULT_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE VERIFICATION_RESULT IS ' '; + +COMMENT ON COLUMN VERIFICATION_RESULT.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN VERIFICATION_RESULT.ACCOUNT_ID IS ' , '; + +COMMENT ON COLUMN VERIFICATION_RESULT.IN_SUM IS ' '; + +COMMENT ON COLUMN VERIFICATION_RESULT.OUT_INT_SUM IS ' , '; + +COMMENT ON COLUMN VERIFICATION_RESULT.OUT_EXT_SUM IS ' '; + +COMMENT ON COLUMN VERIFICATION_RESULT.DIFF_SUM IS ' '; + +COMMENT ON COLUMN VERIFICATION_RESULT.GENERATION_ID IS ' '; + +COMMENT ON COLUMN VERIFICATION_RESULT.GENERATION_STATUS IS ' (linked to resultStatus)'; + +COMMENT ON COLUMN VERIFICATION_RESULT.RESULT_STATUS IS ' (linked to resultStatus)'; + +COMMENT ON COLUMN VERIFICATION_RESULT.ID IS ' '; + +COMMENT ON COLUMN VERIFICATION_RESULT.CREATED_AT IS '- '; + +COMMENT ON COLUMN VERIFICATION_RESULT.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE VERIFICATION_RESULT TO clearing; + +-- sDf01 - -01 , - +DROP TABLE IF EXISTS S_DF01; +CREATE TABLE S_DF01(ID bigint PRIMARY KEY, CURR_CODE varchar(12), ACCOUNT varchar(35), REMAINDER varchar(22), DEAL varchar(10), ACC_CODE varchar(5), DAT varchar(8), MARKET varchar(1), ACC_NAME varchar(30), ACC_TYPE varchar(2), SUMENGAGE varchar(22), SUMUNBLOCK varchar(22), FILE_TYPE varchar(1), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF01 IS '-01 , - '; + +COMMENT ON COLUMN S_DF01.ID IS ' '; + +COMMENT ON COLUMN S_DF01.CURR_CODE IS ' '; + +COMMENT ON COLUMN S_DF01.ACCOUNT IS ' '; + +COMMENT ON COLUMN S_DF01.REMAINDER IS ' '; + +COMMENT ON COLUMN S_DF01.DEAL IS ' '; + +COMMENT ON COLUMN S_DF01.ACC_CODE IS ' '; + +COMMENT ON COLUMN S_DF01.DAT IS ' '; + +COMMENT ON COLUMN S_DF01.MARKET IS ' '; + +COMMENT ON COLUMN S_DF01.ACC_NAME IS ' '; + +COMMENT ON COLUMN S_DF01.ACC_TYPE IS ' '; + +COMMENT ON COLUMN S_DF01.SUMENGAGE IS ' '; + +COMMENT ON COLUMN S_DF01.SUMUNBLOCK IS ' '; + +COMMENT ON COLUMN S_DF01.FILE_TYPE IS ' '; + +COMMENT ON COLUMN S_DF01.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF01.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF01.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF01 TO clearing; + +-- sDf02 - -02 +DROP TABLE IF EXISTS S_DF02; +CREATE TABLE S_DF02(ID bigint PRIMARY KEY, CURR_CODE varchar(12), ACCOUNT varchar(35), REMAINDER varchar(22), DEAL varchar(10), ACC_CODE varchar(5), DAT varchar(8), MARKET varchar(1), ACC_NAME varchar(30), ACC_TYPE varchar(2), SUMENGAGE varchar(22), SUMUNBLOCK varchar(22), FILE_TYPE varchar(1), RESULT varchar(3), GENERATION_TIME timestamp, GENERATION_ID bigint, FILE_NAME varchar(255), IN_S_DF_ID bigint); +COMMENT ON TABLE S_DF02 IS '-02 '; + +COMMENT ON COLUMN S_DF02.ID IS ' '; + +COMMENT ON COLUMN S_DF02.CURR_CODE IS ' '; + +COMMENT ON COLUMN S_DF02.ACCOUNT IS ' '; + +COMMENT ON COLUMN S_DF02.REMAINDER IS ' '; + +COMMENT ON COLUMN S_DF02.DEAL IS ' '; + +COMMENT ON COLUMN S_DF02.ACC_CODE IS ' '; + +COMMENT ON COLUMN S_DF02.DAT IS ' '; + +COMMENT ON COLUMN S_DF02.MARKET IS ' '; + +COMMENT ON COLUMN S_DF02.ACC_NAME IS ' '; + +COMMENT ON COLUMN S_DF02.ACC_TYPE IS ' '; + +COMMENT ON COLUMN S_DF02.SUMENGAGE IS ' '; + +COMMENT ON COLUMN S_DF02.SUMUNBLOCK IS ' '; + +COMMENT ON COLUMN S_DF02.FILE_TYPE IS ' '; + +COMMENT ON COLUMN S_DF02.RESULT IS ' -01'; + +COMMENT ON COLUMN S_DF02.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF02.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_DF02.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF02.IN_S_DF_ID IS ' -'; + +GRANT ALL PRIVILEGES ON TABLE S_DF02 TO clearing; + +-- sDf03 - -03 +DROP TABLE IF EXISTS S_DF03; +CREATE TABLE S_DF03(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SPECIF_1 varchar(255), IMP_RESULT varchar(3), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, PAYMENT_INSTRUCTION_ID bigint); +COMMENT ON TABLE S_DF03 IS '-03 '; + +COMMENT ON COLUMN S_DF03.ID IS ' '; + +COMMENT ON COLUMN S_DF03.SEG_TYPE IS ' '; + +COMMENT ON COLUMN S_DF03.DOC_TYPE IS ' '; + +COMMENT ON COLUMN S_DF03.DOCNM_REF IS ' '; + +COMMENT ON COLUMN S_DF03.DOCNMPREV IS ' '; + +COMMENT ON COLUMN S_DF03.C_ACC_DEB IS ' '; + +COMMENT ON COLUMN S_DF03.SBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF03.SBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF03.SBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF03.SBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF03.SBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF03.C_ACC_CRED IS ' '; + +COMMENT ON COLUMN S_DF03.RBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF03.RBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF03.RBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF03.RBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF03.RBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF03.PAY_DATE IS '-'; + +COMMENT ON COLUMN S_DF03.PAY_VAL IS ' '; + +COMMENT ON COLUMN S_DF03.SUM_DEB IS ' '; + +COMMENT ON COLUMN S_DF03.SPECIF_1 IS ' '; + +COMMENT ON COLUMN S_DF03.IMP_RESULT IS ' '; + +COMMENT ON COLUMN S_DF03.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF03.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF03.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_DF03.PAYMENT_INSTRUCTION_ID IS ' - (linked to paymentInstruction)'; + +GRANT ALL PRIVILEGES ON TABLE S_DF03 TO clearing; + +-- sDf04 - -04 +DROP TABLE IF EXISTS S_DF04; +CREATE TABLE S_DF04(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SPECIF_1 varchar(255), IMP_RESULT varchar(3), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF04 IS '-04 '; + +COMMENT ON COLUMN S_DF04.ID IS ' '; + +COMMENT ON COLUMN S_DF04.SEG_TYPE IS ' '; + +COMMENT ON COLUMN S_DF04.DOC_TYPE IS ' '; + +COMMENT ON COLUMN S_DF04.DOCNM_REF IS ' '; + +COMMENT ON COLUMN S_DF04.DOCNMPREV IS ' '; + +COMMENT ON COLUMN S_DF04.C_ACC_DEB IS ' '; + +COMMENT ON COLUMN S_DF04.SBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF04.SBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF04.SBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF04.SBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF04.SBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF04.C_ACC_CRED IS ' '; + +COMMENT ON COLUMN S_DF04.RBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF04.RBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF04.RBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF04.RBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF04.RBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF04.PAY_DATE IS '-'; + +COMMENT ON COLUMN S_DF04.PAY_VAL IS ' '; + +COMMENT ON COLUMN S_DF04.SUM_DEB IS ' '; + +COMMENT ON COLUMN S_DF04.SPECIF_1 IS ' '; + +COMMENT ON COLUMN S_DF04.IMP_RESULT IS ' '; + +COMMENT ON COLUMN S_DF04.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF04.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF04.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF04 TO clearing; + +-- sDf05 - -05 +DROP TABLE IF EXISTS S_DF05; +CREATE TABLE S_DF05(ID bigint PRIMARY KEY, TP numeric(72,18), DT date, TM varchar(255), PR varchar(1), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF05 IS '-05 '; + +COMMENT ON COLUMN S_DF05.ID IS ' '; + +COMMENT ON COLUMN S_DF05.TP IS ' '; + +COMMENT ON COLUMN S_DF05.DT IS ' '; + +COMMENT ON COLUMN S_DF05.TM IS ' '; + +COMMENT ON COLUMN S_DF05.PR IS ' '; + +COMMENT ON COLUMN S_DF05.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF05.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF05 TO clearing; + +-- sDf06 - -06 / +DROP TABLE IF EXISTS S_DF06; +CREATE TABLE S_DF06(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), PAY_VAL varchar(12)); +COMMENT ON TABLE S_DF06 IS '-06 / '; + +COMMENT ON COLUMN S_DF06.ID IS ' '; + +COMMENT ON COLUMN S_DF06.ACCOUNT IS ' '; + +COMMENT ON COLUMN S_DF06.SUM IS ' ()'; + +COMMENT ON COLUMN S_DF06.MARKET IS ' '; + +COMMENT ON COLUMN S_DF06.TYPE IS ' ()'; + +COMMENT ON COLUMN S_DF06.DEAL IS ' '; + +COMMENT ON COLUMN S_DF06.CLIENT_N IS ' - '; + +COMMENT ON COLUMN S_DF06.INN IS ' '; + +COMMENT ON COLUMN S_DF06.BIC IS ' '; + +COMMENT ON COLUMN S_DF06.SPEC IS ''; + +COMMENT ON COLUMN S_DF06.NUMBER IS ' ()'; + +COMMENT ON COLUMN S_DF06.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF06.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF06.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_DF06.DOC_NUM IS ' '; + +COMMENT ON COLUMN S_DF06.DOC_DATE IS ' '; + +COMMENT ON COLUMN S_DF06.PAY_VAL IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF06 TO clearing; + +-- sDf07 - -07 / +DROP TABLE IF EXISTS S_DF07; +CREATE TABLE S_DF07(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), RESULT numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), PAY_VAL varchar(12)); +COMMENT ON TABLE S_DF07 IS '-07 / '; + +COMMENT ON COLUMN S_DF07.ID IS ' '; + +COMMENT ON COLUMN S_DF07.ACCOUNT IS ' '; + +COMMENT ON COLUMN S_DF07.SUM IS ' ()'; + +COMMENT ON COLUMN S_DF07.MARKET IS ' '; + +COMMENT ON COLUMN S_DF07.TYPE IS ' ()'; + +COMMENT ON COLUMN S_DF07.DEAL IS ' '; + +COMMENT ON COLUMN S_DF07.CLIENT_N IS ' - '; + +COMMENT ON COLUMN S_DF07.INN IS ' '; + +COMMENT ON COLUMN S_DF07.BIC IS ' '; + +COMMENT ON COLUMN S_DF07.SPEC IS ''; + +COMMENT ON COLUMN S_DF07.NUMBER IS ' ()'; + +COMMENT ON COLUMN S_DF07.RESULT IS ' '; + +COMMENT ON COLUMN S_DF07.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF07.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF07.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_DF07.IN_S_DF_ID IS ' -'; + +COMMENT ON COLUMN S_DF07.DOC_NUM IS ' '; + +COMMENT ON COLUMN S_DF07.DOC_DATE IS ' '; + +COMMENT ON COLUMN S_DF07.PAY_VAL IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF07 TO clearing; + +-- sDf08 - -08 +DROP TABLE IF EXISTS S_DF08; +CREATE TABLE S_DF08(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, DEPO_CODE varchar, QUANTITY varchar, SECURITY_CODE varchar, CLIENT_NAME varchar, FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF08 IS '-08 '; + +COMMENT ON COLUMN S_DF08.ID IS ' '; + +COMMENT ON COLUMN S_DF08.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF08.DEPO_CODE IS ' / '; + +COMMENT ON COLUMN S_DF08.QUANTITY IS ''; + +COMMENT ON COLUMN S_DF08.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN S_DF08.CLIENT_NAME IS ' '; + +COMMENT ON COLUMN S_DF08.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF08.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF08.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF08 TO clearing; + +-- sDf09 - -09 +DROP TABLE IF EXISTS S_DF09; +CREATE TABLE S_DF09(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, IN_DOCUMENT varchar, DEPO_CODE varchar, QUANTITY varchar, SECURITY_CODE varchar, CLIENT_NAME varchar, RESULT varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF09 IS '-09 '; + +COMMENT ON COLUMN S_DF09.ID IS ' '; + +COMMENT ON COLUMN S_DF09.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF09.IN_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF09.DEPO_CODE IS ' / '; + +COMMENT ON COLUMN S_DF09.QUANTITY IS ''; + +COMMENT ON COLUMN S_DF09.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN S_DF09.CLIENT_NAME IS ' '; + +COMMENT ON COLUMN S_DF09.RESULT IS ' '; + +COMMENT ON COLUMN S_DF09.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF09.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF09 TO clearing; + +-- sDf10 - -10 / +DROP TABLE IF EXISTS S_DF10; +CREATE TABLE S_DF10(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, DEPO_CODE varchar, QUANTITY varchar, SECURITY_CODE varchar, CLIENT_NAME varchar, FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF10 IS '-10 / '; + +COMMENT ON COLUMN S_DF10.ID IS ' '; + +COMMENT ON COLUMN S_DF10.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF10.DEPO_CODE IS ' / '; + +COMMENT ON COLUMN S_DF10.QUANTITY IS ''; + +COMMENT ON COLUMN S_DF10.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN S_DF10.CLIENT_NAME IS ' '; + +COMMENT ON COLUMN S_DF10.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF10.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF10.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF10 TO clearing; + +-- sDf11 - -11 / +DROP TABLE IF EXISTS S_DF11; +CREATE TABLE S_DF11(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, IN_DOCUMENT varchar, DEPO_CODE varchar, QUANTITY varchar, SECURITY_CODE varchar, CLIENT_NAME varchar, RESULT varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF11 IS '-11 / '; + +COMMENT ON COLUMN S_DF11.ID IS ' '; + +COMMENT ON COLUMN S_DF11.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF11.IN_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF11.DEPO_CODE IS ' / '; + +COMMENT ON COLUMN S_DF11.QUANTITY IS ''; + +COMMENT ON COLUMN S_DF11.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN S_DF11.CLIENT_NAME IS ' '; + +COMMENT ON COLUMN S_DF11.RESULT IS ' '; + +COMMENT ON COLUMN S_DF11.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF11.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF11 TO clearing; + +-- sDf12 - -12 +DROP TABLE IF EXISTS S_DF12; +CREATE TABLE S_DF12(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, DIRECTION varchar(255), QUANTITY varchar, SECURITY_CODE varchar, DEPO_CODE_SENDER varchar, DEPO_CODE_ADRESSEE varchar, TRANSACTION_NUMBER varchar(255), TRANSACTION_QUANTITY varchar(255), RESULT varchar(255), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF12 IS '-12 '; + +COMMENT ON COLUMN S_DF12.ID IS ' '; + +COMMENT ON COLUMN S_DF12.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF12.DIRECTION IS ' (/)'; + +COMMENT ON COLUMN S_DF12.QUANTITY IS ' '; + +COMMENT ON COLUMN S_DF12.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN S_DF12.DEPO_CODE_SENDER IS ' '; + +COMMENT ON COLUMN S_DF12.DEPO_CODE_ADRESSEE IS ' '; + +COMMENT ON COLUMN S_DF12.TRANSACTION_NUMBER IS ' '; + +COMMENT ON COLUMN S_DF12.TRANSACTION_QUANTITY IS ' '; + +COMMENT ON COLUMN S_DF12.RESULT IS ' '; + +COMMENT ON COLUMN S_DF12.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF12.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF12.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF12 TO clearing; + +-- sDf13 - -13 +DROP TABLE IF EXISTS S_DF13; +CREATE TABLE S_DF13(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, IN_DOCUMENT varchar, RESULT varchar(255), TEXT_ERROR varchar, FILE_NAME varchar, GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF13 IS '-13 '; + +COMMENT ON COLUMN S_DF13.ID IS ' '; + +COMMENT ON COLUMN S_DF13.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF13.IN_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF13.RESULT IS ' '; + +COMMENT ON COLUMN S_DF13.TEXT_ERROR IS ' '; + +COMMENT ON COLUMN S_DF13.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF13.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF13.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF13 TO clearing; + +-- sDf14 - -14 +DROP TABLE IF EXISTS S_DF14; +CREATE TABLE S_DF14(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, RESULT varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF14 IS '-14 '; + +COMMENT ON COLUMN S_DF14.ID IS ' '; + +COMMENT ON COLUMN S_DF14.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF14.RESULT IS ' '; + +COMMENT ON COLUMN S_DF14.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF14.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF14 TO clearing; + +-- sDf20 - -20 / +DROP TABLE IF EXISTS S_DF20; +CREATE TABLE S_DF20(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, IN_DOCUMENT varchar, SECURITY varchar, SECURITY_NAME varchar, SECURITY_TYPE varchar, OPEN_BALANCE varchar, DEPO_CODE_CL varchar, NAME_CL varchar, QUANTITY varchar, OPERATION_CODE varchar, DEPO_CODE_CORR varchar, OPERATION_DATE varchar, CLOSE_BALANCE varchar, TRANSACTION_NUMBER varchar(255), FILE_NAME varchar, GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF20 IS '-20 / '; + +COMMENT ON COLUMN S_DF20.ID IS ' '; + +COMMENT ON COLUMN S_DF20.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF20.IN_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF20.SECURITY IS ' '; + +COMMENT ON COLUMN S_DF20.SECURITY_NAME IS ' '; + +COMMENT ON COLUMN S_DF20.SECURITY_TYPE IS ' '; + +COMMENT ON COLUMN S_DF20.OPEN_BALANCE IS ' '; + +COMMENT ON COLUMN S_DF20.DEPO_CODE_CL IS ' ./ / '; + +COMMENT ON COLUMN S_DF20.NAME_CL IS ' '; + +COMMENT ON COLUMN S_DF20.QUANTITY IS ' '; + +COMMENT ON COLUMN S_DF20.OPERATION_CODE IS ' '; + +COMMENT ON COLUMN S_DF20.DEPO_CODE_CORR IS ' / '; + +COMMENT ON COLUMN S_DF20.OPERATION_DATE IS ' '; + +COMMENT ON COLUMN S_DF20.CLOSE_BALANCE IS ' '; + +COMMENT ON COLUMN S_DF20.TRANSACTION_NUMBER IS 'ID '; + +COMMENT ON COLUMN S_DF20.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF20.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF20.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF20 TO clearing; + +-- sDf21 - -21 +DROP TABLE IF EXISTS S_DF21; +CREATE TABLE S_DF21(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, IN_DOCUMENT varchar, SECURITY_CODE varchar, SECURITY_NAME varchar, SECURITY_TYPE varchar, OPEN_BALANCE varchar, DEPO_CODE_CL varchar, NAME_CL varchar, QUANTITY varchar, OPERATION_CODE varchar, DEPO_CODE_CORR varchar, OPERATION_DATE varchar, CLOSE_BALANCE varchar, COMMENT varchar(250), TRANSACTION_NUMBER varchar(255), FILE_NAME varchar, GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF21 IS '-21 '; + +COMMENT ON COLUMN S_DF21.ID IS ' '; + +COMMENT ON COLUMN S_DF21.OUT_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF21.IN_DOCUMENT IS ' '; + +COMMENT ON COLUMN S_DF21.SECURITY_CODE IS ' '; + +COMMENT ON COLUMN S_DF21.SECURITY_NAME IS ' '; + +COMMENT ON COLUMN S_DF21.SECURITY_TYPE IS ' '; + +COMMENT ON COLUMN S_DF21.OPEN_BALANCE IS ' '; + +COMMENT ON COLUMN S_DF21.DEPO_CODE_CL IS ' ./ '; + +COMMENT ON COLUMN S_DF21.NAME_CL IS ' '; + +COMMENT ON COLUMN S_DF21.QUANTITY IS ' '; + +COMMENT ON COLUMN S_DF21.OPERATION_CODE IS ' '; + +COMMENT ON COLUMN S_DF21.DEPO_CODE_CORR IS ' / '; + +COMMENT ON COLUMN S_DF21.OPERATION_DATE IS ' '; + +COMMENT ON COLUMN S_DF21.CLOSE_BALANCE IS ' '; + +COMMENT ON COLUMN S_DF21.COMMENT IS ' '; + +COMMENT ON COLUMN S_DF21.TRANSACTION_NUMBER IS 'ID '; + +COMMENT ON COLUMN S_DF21.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF21.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF21.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF21 TO clearing; + +-- sDf51 - -51 +DROP TABLE IF EXISTS S_DF51; +CREATE TABLE S_DF51(ID bigint PRIMARY KEY, NUMBER varchar(10), DATETIME varchar(13), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF51 IS '-51 '; + +COMMENT ON COLUMN S_DF51.ID IS ' '; + +COMMENT ON COLUMN S_DF51.NUMBER IS ' '; + +COMMENT ON COLUMN S_DF51.DATETIME IS ' '; + +COMMENT ON COLUMN S_DF51.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF51.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF51 TO clearing; + +-- sDf52 - -52 (///) +DROP TABLE IF EXISTS S_DF52; +CREATE TABLE S_DF52(ID bigint PRIMARY KEY, ACCOUNT varchar(25), ACC_NAME varchar(30), ACC_TYPE varchar(3), DEAL varchar(4), DATE varchar(8), STATUS bigint, FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF52 IS '-52 (///)'; + +COMMENT ON COLUMN S_DF52.ID IS ' '; + +COMMENT ON COLUMN S_DF52.ACCOUNT IS ' '; + +COMMENT ON COLUMN S_DF52.ACC_NAME IS ' '; + +COMMENT ON COLUMN S_DF52.ACC_TYPE IS ' '; + +COMMENT ON COLUMN S_DF52.DEAL IS ' '; + +COMMENT ON COLUMN S_DF52.DATE IS ' '; + +COMMENT ON COLUMN S_DF52.STATUS IS ' '; + +COMMENT ON COLUMN S_DF52.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF52.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF52.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF52 TO clearing; + +-- sDf53 - -53 (///) +DROP TABLE IF EXISTS S_DF53; +CREATE TABLE S_DF53(ID bigint PRIMARY KEY, ACC_NAME varchar(30), ACCOUNT varchar(25), DEAL varchar(4), DATE varchar(8), STATUS bigint, RESULT varchar(255), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint, ACC_TYPE bigint); +COMMENT ON TABLE S_DF53 IS '-53 (///)'; + +COMMENT ON COLUMN S_DF53.ID IS ' '; + +COMMENT ON COLUMN S_DF53.ACC_NAME IS ' '; + +COMMENT ON COLUMN S_DF53.ACCOUNT IS ' '; + +COMMENT ON COLUMN S_DF53.DEAL IS ' '; + +COMMENT ON COLUMN S_DF53.DATE IS ' '; + +COMMENT ON COLUMN S_DF53.STATUS IS ' '; + +COMMENT ON COLUMN S_DF53.RESULT IS ' '; + +COMMENT ON COLUMN S_DF53.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF53.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF53.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_DF53.IN_S_DF_ID IS ' -'; + +COMMENT ON COLUMN S_DF53.ACC_TYPE IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF53 TO clearing; + +-- sDf54 - -54 30414 +DROP TABLE IF EXISTS S_DF54; +CREATE TABLE S_DF54(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), VALUE_DATE varchar(8), SWIFT_BEN varchar(11), SWIFT_INT varchar(11)); +COMMENT ON TABLE S_DF54 IS '-54 30414'; + +COMMENT ON COLUMN S_DF54.ID IS ' '; + +COMMENT ON COLUMN S_DF54.SEG_TYPE IS ' '; + +COMMENT ON COLUMN S_DF54.DOC_TYPE IS ' '; + +COMMENT ON COLUMN S_DF54.DOCNM_REF IS ' '; + +COMMENT ON COLUMN S_DF54.DOCNMPREV IS ' '; + +COMMENT ON COLUMN S_DF54.SBANKCODE IS ' -'; + +COMMENT ON COLUMN S_DF54.C_ACC_DEB IS ' - - .'; + +COMMENT ON COLUMN S_DF54.SBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF54.SBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF54.SBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF54.SBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF54.SBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF54.RBANKCODE IS ' -'; + +COMMENT ON COLUMN S_DF54.C_ACC_CRED IS ' - - . '; + +COMMENT ON COLUMN S_DF54.RBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF54.RBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF54.RBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF54.RBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF54.RBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF54.OP_TYPE IS ' '; + +COMMENT ON COLUMN S_DF54.OP_ORDER IS ' '; + +COMMENT ON COLUMN S_DF54.PAY_DATE IS '-'; + +COMMENT ON COLUMN S_DF54.PAY_VAL IS ' '; + +COMMENT ON COLUMN S_DF54.SUM_DEB IS ' '; + +COMMENT ON COLUMN S_DF54.SCLIENTN1 IS ' - 1'; + +COMMENT ON COLUMN S_DF54.SCLIENTN2 IS ' - 2'; + +COMMENT ON COLUMN S_DF54.SCLIENTN3 IS ' - 3'; + +COMMENT ON COLUMN S_DF54.SCLIENTN4 IS ' - 4'; + +COMMENT ON COLUMN S_DF54.INN_DEB IS ' -'; + +COMMENT ON COLUMN S_DF54.KPP_DEB IS ' -'; + +COMMENT ON COLUMN S_DF54.ACC_DEB IS ' -()'; + +COMMENT ON COLUMN S_DF54.RCLIENTN1 IS ' - 1'; + +COMMENT ON COLUMN S_DF54.RCLIENTN2 IS ' - 2'; + +COMMENT ON COLUMN S_DF54.RCLIENTN3 IS ' - 3'; + +COMMENT ON COLUMN S_DF54.RCLIENTN4 IS ' - 4'; + +COMMENT ON COLUMN S_DF54.INN_CRED IS ' -'; + +COMMENT ON COLUMN S_DF54.KPP_CRED IS ' -'; + +COMMENT ON COLUMN S_DF54.ACC_KR_1 IS ' '; + +COMMENT ON COLUMN S_DF54.SPECIF_1 IS ' '; + +COMMENT ON COLUMN S_DF54.SEND_TYPE IS ' '; + +COMMENT ON COLUMN S_DF54.DOC_RESULT IS ' '; + +COMMENT ON COLUMN S_DF54.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF54.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_DF54.DOC_NUM IS ' '; + +COMMENT ON COLUMN S_DF54.DOC_DATE IS ' '; + +COMMENT ON COLUMN S_DF54.VALUE_DATE IS ' '; + +COMMENT ON COLUMN S_DF54.SWIFT_BEN IS ' '; + +COMMENT ON COLUMN S_DF54.SWIFT_INT IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF54 TO clearing; + +-- sDf55 - -55 -54 +DROP TABLE IF EXISTS S_DF55; +CREATE TABLE S_DF55(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), VALUE_DATE varchar(8), SWIFT_BEN varchar(11), SWIFT_INT varchar(11)); +COMMENT ON TABLE S_DF55 IS '-55 -54'; + +COMMENT ON COLUMN S_DF55.ID IS ' '; + +COMMENT ON COLUMN S_DF55.SEG_TYPE IS ' '; + +COMMENT ON COLUMN S_DF55.DOC_TYPE IS ' '; + +COMMENT ON COLUMN S_DF55.DOCNM_REF IS ' '; + +COMMENT ON COLUMN S_DF55.DOCNMPREV IS ' '; + +COMMENT ON COLUMN S_DF55.SBANKCODE IS ' -'; + +COMMENT ON COLUMN S_DF55.C_ACC_DEB IS ' - - .'; + +COMMENT ON COLUMN S_DF55.SBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF55.SBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF55.SBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF55.SBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF55.SBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF55.RBANKCODE IS ' -'; + +COMMENT ON COLUMN S_DF55.C_ACC_CRED IS ' - - . '; + +COMMENT ON COLUMN S_DF55.RBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF55.RBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF55.RBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF55.RBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF55.RBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF55.OP_TYPE IS ' '; + +COMMENT ON COLUMN S_DF55.OP_ORDER IS ' '; + +COMMENT ON COLUMN S_DF55.PAY_DATE IS '-'; + +COMMENT ON COLUMN S_DF55.PAY_VAL IS ' '; + +COMMENT ON COLUMN S_DF55.SUM_DEB IS ' '; + +COMMENT ON COLUMN S_DF55.SCLIENTN1 IS ' - 1'; + +COMMENT ON COLUMN S_DF55.SCLIENTN2 IS ' - 2'; + +COMMENT ON COLUMN S_DF55.SCLIENTN3 IS ' - 3'; + +COMMENT ON COLUMN S_DF55.SCLIENTN4 IS ' - 4'; + +COMMENT ON COLUMN S_DF55.INN_DEB IS ' -'; + +COMMENT ON COLUMN S_DF55.KPP_DEB IS ' -'; + +COMMENT ON COLUMN S_DF55.ACC_DEB IS ' -()'; + +COMMENT ON COLUMN S_DF55.RCLIENTN1 IS ' - 1'; + +COMMENT ON COLUMN S_DF55.RCLIENTN2 IS ' - 2'; + +COMMENT ON COLUMN S_DF55.RCLIENTN3 IS ' - 3'; + +COMMENT ON COLUMN S_DF55.RCLIENTN4 IS ' - 4'; + +COMMENT ON COLUMN S_DF55.INN_CRED IS ' -'; + +COMMENT ON COLUMN S_DF55.KPP_CRED IS ' -'; + +COMMENT ON COLUMN S_DF55.ACC_KR_1 IS ' '; + +COMMENT ON COLUMN S_DF55.SPECIF_1 IS ' '; + +COMMENT ON COLUMN S_DF55.SEND_TYPE IS ' '; + +COMMENT ON COLUMN S_DF55.DOC_RESULT IS ' '; + +COMMENT ON COLUMN S_DF55.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF55.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF55.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_DF55.DOC_NUM IS ' '; + +COMMENT ON COLUMN S_DF55.DOC_DATE IS ' '; + +COMMENT ON COLUMN S_DF55.VALUE_DATE IS ' '; + +COMMENT ON COLUMN S_DF55.SWIFT_BEN IS ' '; + +COMMENT ON COLUMN S_DF55.SWIFT_INT IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF55 TO clearing; + +-- sDf56 - -56 +DROP TABLE IF EXISTS S_DF56; +CREATE TABLE S_DF56(ID bigint PRIMARY KEY, NUMBER varchar(10), START_DATETIME varchar(13), END_DATETIME varchar(13), ACCOUNT varchar(25), DEAL varchar(4), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF56 IS '-56 '; + +COMMENT ON COLUMN S_DF56.ID IS ' '; + +COMMENT ON COLUMN S_DF56.NUMBER IS ' '; + +COMMENT ON COLUMN S_DF56.START_DATETIME IS ' '; + +COMMENT ON COLUMN S_DF56.END_DATETIME IS ' '; + +COMMENT ON COLUMN S_DF56.ACCOUNT IS ' '; + +COMMENT ON COLUMN S_DF56.DEAL IS ' '; + +COMMENT ON COLUMN S_DF56.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF56.GENERATION_ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF56 TO clearing; + +-- sDf57 - -57 / ( ) +DROP TABLE IF EXISTS S_DF57; +CREATE TABLE S_DF57(GENERATION_TIME timestamp, ID bigint PRIMARY KEY, DBF_ID bigint, DEAL_DEB varchar(4), DEAL_CRED varchar(4), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), PAY_DATE varchar(8), EXT_DATE varchar(255), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR varchar(35), SPECIF varchar(255), FILE_NAME varchar(255), GENERATION_ID bigint, DOC_NUM varchar(3), DOC_DATE varchar(8), DT_IN varchar(22), KT_IN varchar(22), DT_OUT varchar(22), KT_OUT varchar(22)); +COMMENT ON TABLE S_DF57 IS '-57 / ( )'; + +COMMENT ON COLUMN S_DF57.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_DF57.ID IS ' '; + +COMMENT ON COLUMN S_DF57.DBF_ID IS ' ()'; + +COMMENT ON COLUMN S_DF57.DEAL_DEB IS ' ()'; + +COMMENT ON COLUMN S_DF57.DEAL_CRED IS ' ()'; + +COMMENT ON COLUMN S_DF57.SBANKCODE IS ' -'; + +COMMENT ON COLUMN S_DF57.C_ACC_DEB IS ' - - .'; + +COMMENT ON COLUMN S_DF57.SBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF57.SBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF57.SBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF57.SBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF57.SBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF57.RBANKCODE IS ' -'; + +COMMENT ON COLUMN S_DF57.C_ACC_CRED IS ' - - .'; + +COMMENT ON COLUMN S_DF57.RBANKNAM1 IS ' - 1'; + +COMMENT ON COLUMN S_DF57.RBANKNAM2 IS ' - 2'; + +COMMENT ON COLUMN S_DF57.RBANKNAM3 IS ' - 3'; + +COMMENT ON COLUMN S_DF57.RBANKNAM4 IS ' - 4'; + +COMMENT ON COLUMN S_DF57.RBANKNAM5 IS ' - 5'; + +COMMENT ON COLUMN S_DF57.OP_TYPE IS ' '; + +COMMENT ON COLUMN S_DF57.PAY_DATE IS '-'; + +COMMENT ON COLUMN S_DF57.EXT_DATE IS ' '; + +COMMENT ON COLUMN S_DF57.PAY_VAL IS ' '; + +COMMENT ON COLUMN S_DF57.SUM_DEB IS ' '; + +COMMENT ON COLUMN S_DF57.SCLIENTN1 IS ' - 1'; + +COMMENT ON COLUMN S_DF57.SCLIENTN2 IS ' - 2'; + +COMMENT ON COLUMN S_DF57.SCLIENTN3 IS ' - 3'; + +COMMENT ON COLUMN S_DF57.SCLIENTN4 IS ' - 4'; + +COMMENT ON COLUMN S_DF57.INN_DEB IS ' -'; + +COMMENT ON COLUMN S_DF57.KPP_DEB IS ' -'; + +COMMENT ON COLUMN S_DF57.ACC_DEB IS ' -()'; + +COMMENT ON COLUMN S_DF57.RCLIENTN1 IS ' - 1'; + +COMMENT ON COLUMN S_DF57.RCLIENTN2 IS ' - 2'; + +COMMENT ON COLUMN S_DF57.RCLIENTN3 IS ' - 3'; + +COMMENT ON COLUMN S_DF57.RCLIENTN4 IS ' - 4'; + +COMMENT ON COLUMN S_DF57.INN_CRED IS ' -'; + +COMMENT ON COLUMN S_DF57.KPP_CRED IS ' -'; + +COMMENT ON COLUMN S_DF57.ACC_KR IS ' '; + +COMMENT ON COLUMN S_DF57.SPECIF IS ' '; + +COMMENT ON COLUMN S_DF57.FILE_NAME IS ' '; + +COMMENT ON COLUMN S_DF57.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_DF57.DOC_NUM IS ' '; + +COMMENT ON COLUMN S_DF57.DOC_DATE IS ' '; + +COMMENT ON COLUMN S_DF57.DT_IN IS ' '; + +COMMENT ON COLUMN S_DF57.KT_IN IS ' '; + +COMMENT ON COLUMN S_DF57.DT_OUT IS ' '; + +COMMENT ON COLUMN S_DF57.KT_OUT IS ' '; + +GRANT ALL PRIVILEGES ON TABLE S_DF57 TO clearing; + +-- managementJournal - +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL; +CREATE TABLE MANAGEMENT_JOURNAL(COMPANY_ID bigint, USER_ID bigint, MANAGEMENT_JOURNAL_TYPE varchar(4), MANAGEMENT_JOURNAL_PURPOSE varchar(4), MANAGEMENT_JOURNAL_STATUS varchar(4), TEXT varchar(4096), CHANGE_ACCESS_SIGN varchar(4), CHANGE_DATA_SIGN varchar(4), EVENT_DATE timestamp, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE MANAGEMENT_JOURNAL IS ' '; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.USER_ID IS ' (linked to userCls)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.MANAGEMENT_JOURNAL_TYPE IS ' (linked to managementJournalType)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.MANAGEMENT_JOURNAL_PURPOSE IS ' (linked to managementJournalPurpose)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.MANAGEMENT_JOURNAL_STATUS IS ' (linked to managementJournalStatus)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.TEXT IS ' '; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.CHANGE_ACCESS_SIGN IS ' (linked to allowed)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.CHANGE_DATA_SIGN IS ' (linked to allowed)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.EVENT_DATE IS ' '; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.ID IS ' '; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.CREATED_AT IS '- '; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE MANAGEMENT_JOURNAL TO clearing; + +-- inDocumentJournal - +DROP TABLE IF EXISTS IN_DOCUMENT_JOURNAL; +CREATE TABLE IN_DOCUMENT_JOURNAL(REGISTRATION_DATE date, REGISTRATION_TIME time, REGISTRATION_NUMBER bigint, DOCUMENT_NAME varchar(255), SENDER varchar(255), QUANTITY bigint, CLEARING_CODE varchar(255), COURIER_TYPE varchar(4), EMAIL_DATE date, AMOUNT numeric(72,2), DOSSIER_NUMBER varchar(50), COMMENT varchar(255), RECEIPT_DATE date, RESULT_STATUS varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE IN_DOCUMENT_JOURNAL IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.REGISTRATION_DATE IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.REGISTRATION_TIME IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.REGISTRATION_NUMBER IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.DOCUMENT_NAME IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.SENDER IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.QUANTITY IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.COURIER_TYPE IS ' (linked to courierType)'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.EMAIL_DATE IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.AMOUNT IS ''; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.DOSSIER_NUMBER IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.COMMENT IS ''; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.RECEIPT_DATE IS ' '; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.RESULT_STATUS IS ' (linked to resultStatus)'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE IN_DOCUMENT_JOURNAL TO clearing; + +-- outDocumentJournal - +DROP TABLE IF EXISTS OUT_DOCUMENT_JOURNAL; +CREATE TABLE OUT_DOCUMENT_JOURNAL(REGISTRATION_DATE date, REGISTRATION_TIME time, REGISTRATION_NUMBER bigint, DOCUMENT_NAME varchar(255), ADDRESSEE varchar(255), QUANTITY bigint, CLEARING_CODE varchar(255), COURIER_TYPE varchar(4), EMAIL_DATE date, AMOUNT numeric(72,2), DOSSIER_NUMBER varchar(50), POST_DATE date, RESULT_STATUS varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE OUT_DOCUMENT_JOURNAL IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.REGISTRATION_DATE IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.REGISTRATION_TIME IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.REGISTRATION_NUMBER IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.DOCUMENT_NAME IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.ADDRESSEE IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.QUANTITY IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.COURIER_TYPE IS ' (linked to courierType)'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.EMAIL_DATE IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.AMOUNT IS ''; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.DOSSIER_NUMBER IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.POST_DATE IS ' '; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.RESULT_STATUS IS ' (linked to resultStatus)'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.ID IS ' '; + +GRANT ALL PRIVILEGES ON TABLE OUT_DOCUMENT_JOURNAL TO clearing; + +-- reportRegister - +DROP TABLE IF EXISTS REPORT_REGISTER; +CREATE TABLE REPORT_REGISTER(COMPANY_FULL_NAME varchar(255), CLEARING_CODE varchar(255), SESSION_ID bigint, COMMENT varchar(255), NAME varchar(255), QUANTITY bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE REPORT_REGISTER IS ' '; + +COMMENT ON COLUMN REPORT_REGISTER.COMPANY_FULL_NAME IS ' '; + +COMMENT ON COLUMN REPORT_REGISTER.CLEARING_CODE IS ' '; + +COMMENT ON COLUMN REPORT_REGISTER.SESSION_ID IS ' (linked to session)'; + +COMMENT ON COLUMN REPORT_REGISTER.COMMENT IS ''; + +COMMENT ON COLUMN REPORT_REGISTER.NAME IS ''; + +COMMENT ON COLUMN REPORT_REGISTER.QUANTITY IS ' '; + +COMMENT ON COLUMN REPORT_REGISTER.ID IS ' '; + +COMMENT ON COLUMN REPORT_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN REPORT_REGISTER.UPDATED_AT IS '- '; + +COMMENT ON COLUMN REPORT_REGISTER.CLEARING_DATE IS ''; + +GRANT ALL PRIVILEGES ON TABLE REPORT_REGISTER TO clearing; + +-- contractRegister - +DROP TABLE IF EXISTS CONTRACT_REGISTER; +CREATE TABLE CONTRACT_REGISTER(NAME varchar(255), NUMBER varchar(255), ISSUE_DATE date, COMPANY_FULL_NAME varchar(255), COMPANY_ID bigint, DOCUMENT_TYPE varchar(4), ISSUE_PLACE varchar(255), ISSUER varchar(255), ISSUER_CODE varchar(255), PLACE varchar(255), VALID_FROM_DATE date, VALID_TO_DATE date, CLOSE_DATE date, COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CONTRACT_REGISTER IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.NAME IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.NUMBER IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.ISSUE_DATE IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.COMPANY_FULL_NAME IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.COMPANY_ID IS ' (linked to company)'; + +COMMENT ON COLUMN CONTRACT_REGISTER.DOCUMENT_TYPE IS ' (linked to documentType)'; + +COMMENT ON COLUMN CONTRACT_REGISTER.ISSUE_PLACE IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.ISSUER IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.ISSUER_CODE IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.PLACE IS ''; + +COMMENT ON COLUMN CONTRACT_REGISTER.VALID_FROM_DATE IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.VALID_TO_DATE IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.CLOSE_DATE IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.COMMENT IS ''; + +COMMENT ON COLUMN CONTRACT_REGISTER.ID IS ' '; + +COMMENT ON COLUMN CONTRACT_REGISTER.CREATED_AT IS '- '; + +COMMENT ON COLUMN CONTRACT_REGISTER.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE CONTRACT_REGISTER TO clearing; + +-- operation - +DROP TABLE IF EXISTS OPERATION; +CREATE TABLE OPERATION(ID bigint PRIMARY KEY, ADDRESSEE_ID bigint, SENDER_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, OPERATION_TYPE_ID bigint, OPERATION_STATUS varchar(4)); +COMMENT ON TABLE OPERATION IS ''; + +COMMENT ON COLUMN OPERATION.ID IS ' '; + +COMMENT ON COLUMN OPERATION.ADDRESSEE_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN OPERATION.SENDER_ID IS ' - (linked to company)'; + +COMMENT ON COLUMN OPERATION.CREATED_AT IS '- '; + +COMMENT ON COLUMN OPERATION.UPDATED_AT IS '- '; + +COMMENT ON COLUMN OPERATION.CLEARING_DATE IS ''; + +COMMENT ON COLUMN OPERATION.OPERATION_TYPE_ID IS ' (linked to operationType)'; + +COMMENT ON COLUMN OPERATION.OPERATION_STATUS IS ' (linked to operationStatus)'; + +GRANT ALL PRIVILEGES ON TABLE OPERATION TO clearing; + +-- marketDataLiquidation - +DROP TABLE IF EXISTS MARKET_DATA_LIQUIDATION; +CREATE TABLE MARKET_DATA_LIQUIDATION(ID bigint PRIMARY KEY, SECURITY_ID bigint, PRICE numeric(72,18), CLEARING_DATE date); +COMMENT ON TABLE MARKET_DATA_LIQUIDATION IS ' '; + +COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.ID IS ''; + +COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.SECURITY_ID IS ' (linked to security)'; + +COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.PRICE IS ' 1 '; + +COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.CLEARING_DATE IS ''; + +GRANT ALL PRIVILEGES ON TABLE MARKET_DATA_LIQUIDATION TO clearing; + +-- sCrossRate - +DROP TABLE IF EXISTS S_CROSS_RATE; +CREATE TABLE S_CROSS_RATE(ID bigint PRIMARY KEY, DATE date, CURRENCY varchar(50), CURR_CODE varchar(50), FACE_VALUE numeric(72,18), RATE numeric(72,18), UNIT_RATE numeric(72,18), GENERATION_TIME timestamp, GENERATION_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE S_CROSS_RATE IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.ID IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.DATE IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.CURRENCY IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.CURR_CODE IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.FACE_VALUE IS ''; + +COMMENT ON COLUMN S_CROSS_RATE.RATE IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.UNIT_RATE IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.GENERATION_TIME IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.GENERATION_ID IS ' '; + +COMMENT ON COLUMN S_CROSS_RATE.CREATED_AT IS '- '; + +COMMENT ON COLUMN S_CROSS_RATE.UPDATED_AT IS '- '; + +GRANT ALL PRIVILEGES ON TABLE S_CROSS_RATE TO clearing; + +-- blacklistMarket - blacklist +DROP TABLE IF EXISTS BLACKLIST_MARKET; +CREATE TABLE BLACKLIST_MARKET(ID bigint PRIMARY KEY, CODE varchar(4), SECTION varchar(4)); +COMMENT ON TABLE BLACKLIST_MARKET IS 'blacklist '; + +COMMENT ON COLUMN BLACKLIST_MARKET.ID IS ' '; + +COMMENT ON COLUMN BLACKLIST_MARKET.CODE IS ' '; + +COMMENT ON COLUMN BLACKLIST_MARKET.SECTION IS ''; + +GRANT ALL PRIVILEGES ON TABLE BLACKLIST_MARKET TO clearing; + +/* views */ + +-- Data types + +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.13') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION \ No newline at end of file diff --git a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql index cf5af4e65..50617d50c 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql @@ -1,4 +1,4 @@ --- DB version: 3.13 +-- DB version: 3.14 /* Dictionaries */ -- allowed - Справочник признаков допустимости использования объектов @@ -2381,7 +2381,7 @@ GRANT ALL PRIVILEGES ON TABLE RELATION_HISTORY TO clearing; -- bankAccount - Счета вывода средств DROP TABLE IF EXISTS BANK_ACCOUNT; -CREATE TABLE BANK_ACCOUNT(ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY, INTERMEDIARY_SWIFT_CODE varchar(255)); +CREATE TABLE BANK_ACCOUNT(ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY, INTERMEDIARY_SWIFT_CODE varchar(255), NAME varchar(255), ADDRESS varchar(255), BANK_ADDRESS varchar(255), BANK_SWIFT_CODE varchar(12), BANK_ACCOUNT varchar(35), BANK_NAME1 varchar(255), BANK_ADDRESS1 varchar(255), BANK_ACCOUNT1 varchar(35), BANK_NAME2 varchar(255), BANK_ADDRESS2 varchar(255), INTERMEDIARY_SWIFT_CODE2 varchar(12), BANK_ACCOUNT2 varchar(35), PERSONAL_ACCOUNT varchar(20), BUDGET_CLASSIFICATION_CODE varchar(20), OKTMO varchar(20)); COMMENT ON TABLE BANK_ACCOUNT IS 'Счета вывода средств'; COMMENT ON COLUMN BANK_ACCOUNT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; @@ -2416,12 +2416,42 @@ COMMENT ON COLUMN BANK_ACCOUNT.ID IS 'Идентификатор записи'; COMMENT ON COLUMN BANK_ACCOUNT.INTERMEDIARY_SWIFT_CODE IS 'Код SWIFT посредника'; +COMMENT ON COLUMN BANK_ACCOUNT.NAME IS 'Наименование владельца счета'; + +COMMENT ON COLUMN BANK_ACCOUNT.ADDRESS IS 'Адрес владельца счета'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ADDRESS IS 'Место нахождения банка получателя средств'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_SWIFT_CODE IS 'SWIFT банка получателя средств'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ACCOUNT IS 'Номер счета банка получателя средств'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_NAME1 IS 'Наименование банка-посредника 1'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ADDRESS1 IS 'Место нахождения банка-посредника 1'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ACCOUNT1 IS 'Номер счета банка-посредника 1'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_NAME2 IS 'Наименование банка-посредника 2'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ADDRESS2 IS 'Место нахождения банка-посредника 2'; + +COMMENT ON COLUMN BANK_ACCOUNT.INTERMEDIARY_SWIFT_CODE2 IS 'SWIFT банка-посредника 2'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ACCOUNT2 IS 'Номер счета банка-посредника 2'; + +COMMENT ON COLUMN BANK_ACCOUNT.PERSONAL_ACCOUNT IS 'Лицевой счет получателя'; + +COMMENT ON COLUMN BANK_ACCOUNT.BUDGET_CLASSIFICATION_CODE IS 'КБК'; + +COMMENT ON COLUMN BANK_ACCOUNT.OKTMO IS 'ОКТМО получателя средств'; + GRANT ALL PRIVILEGES ON TABLE BANK_ACCOUNT TO clearing; -- History log of bankAccount - Счета вывода средств DROP TABLE IF EXISTS BANK_ACCOUNT_HISTORY; -CREATE TABLE BANK_ACCOUNT_HISTORY(BANK_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY, INTERMEDIARY_SWIFT_CODE varchar(255)); +CREATE TABLE BANK_ACCOUNT_HISTORY(BANK_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY, INTERMEDIARY_SWIFT_CODE varchar(255), NAME varchar(255), ADDRESS varchar(255), BANK_ADDRESS varchar(255), BANK_SWIFT_CODE varchar(12), BANK_ACCOUNT varchar(35), BANK_NAME1 varchar(255), BANK_ADDRESS1 varchar(255), BANK_ACCOUNT1 varchar(35), BANK_NAME2 varchar(255), BANK_ADDRESS2 varchar(255), INTERMEDIARY_SWIFT_CODE2 varchar(12), BANK_ACCOUNT2 varchar(35), PERSONAL_ACCOUNT varchar(20), BUDGET_CLASSIFICATION_CODE varchar(20), OKTMO varchar(20)); COMMENT ON TABLE BANK_ACCOUNT_HISTORY IS 'История изменений таблицы bankAccount'; COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ACCOUNT_ID IS 'Идентификатор записи в таблице BANK_ACCOUNT'; COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; @@ -2460,6 +2490,36 @@ COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ID IS 'Идентификатор зап COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.INTERMEDIARY_SWIFT_CODE IS 'Код SWIFT посредника'; +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.NAME IS 'Наименование владельца счета'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ADDRESS IS 'Адрес владельца счета'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ADDRESS IS 'Место нахождения банка получателя средств'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_SWIFT_CODE IS 'SWIFT банка получателя средств'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ACCOUNT IS 'Номер счета банка получателя средств'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_NAME1 IS 'Наименование банка-посредника 1'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ADDRESS1 IS 'Место нахождения банка-посредника 1'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ACCOUNT1 IS 'Номер счета банка-посредника 1'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_NAME2 IS 'Наименование банка-посредника 2'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ADDRESS2 IS 'Место нахождения банка-посредника 2'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.INTERMEDIARY_SWIFT_CODE2 IS 'SWIFT банка-посредника 2'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ACCOUNT2 IS 'Номер счета банка-посредника 2'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.PERSONAL_ACCOUNT IS 'Лицевой счет получателя'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BUDGET_CLASSIFICATION_CODE IS 'КБК'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.OKTMO IS 'ОКТМО получателя средств'; + GRANT ALL PRIVILEGES ON TABLE BANK_ACCOUNT_HISTORY TO clearing; -- informationAccount - Регистр КС @@ -5121,4 +5181,4 @@ GRANT ALL PRIVILEGES ON TABLE BLACKLIST_MARKET TO clearing; -- Data types -INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.13') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION \ No newline at end of file +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.14') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION \ No newline at end of file diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.14.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.14.sql index 854bfaa27..34d424898 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.14.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.14.sql @@ -3,4 +3,36 @@ -- == alter exist tables == ALTER TABLE BLACKLIST_MARKET ALTER COLUMN CODE TYPE varchar(12); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS NAME varchar(255); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS ADDRESS varchar(255); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ADDRESS varchar(255); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_SWIFT_CODE varchar(12); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ACCOUNT varchar(35); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_NAME1 varchar(255); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ADDRESS1 varchar(255); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ACCOUNT1 varchar(35); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_NAME2 varchar(255); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ADDRESS2 varchar(255); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS INTERMEDIARY_SWIFT_CODE_2 varchar(12); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ACCOUNT2 varchar(35); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS PERSONAL_ACCOUNT varchar(20); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BUDGET_CLASSIFICATION_CODE varchar(20); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS OKTMO varchar(20); +COMMENT ON COLUMN BANK_ACCOUNT.NAME IS ' '; +COMMENT ON COLUMN BANK_ACCOUNT.ADDRESS IS ' ( )'; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ADDRESS IS ' '; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_SWIFT_CODE IS 'SWIFT '; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ACCOUNT IS ' '; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_NAME1 IS ' - 1 ( )'; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ADDRESS1 IS ' - 1 ( )'; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ACCOUNT1 IS ' - 1'; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_NAME2 IS ' - 2'; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ADDRESS2 IS ' - 2'; +COMMENT ON COLUMN BANK_ACCOUNT.INTERMEDIARY_SWIFT_CODE_2 IS 'SWIFT - 2'; +COMMENT ON COLUMN BANK_ACCOUNT.BANK_ACCOUNT2 IS ' - 2'; +COMMENT ON COLUMN BANK_ACCOUNT.PERSONAL_ACCOUNT IS ' '; +COMMENT ON COLUMN BANK_ACCOUNT.BUDGET_CLASSIFICATION_CODE IS ''; +COMMENT ON COLUMN BANK_ACCOUNT.OKTMO IS ' '; + + INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.14') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/BankAccountHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/BankAccountHistoryMapStore.java index 2463e5b25..3d1039c79 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/BankAccountHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/BankAccountHistoryMapStore.java @@ -27,8 +27,8 @@ public class BankAccountHistoryMapStore extends TemplateEventMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "ACCOUNT_ID", "BANK_IDENTIFICATION_CODE", "BANK_NAME", "CORRESPONDENT_ACCOUNT", "CORRESPONDENT_ACCOUNT_NAME", "CURRENCY", "DESTINATION", "IBAN", "INTERNATIONAL_TRANSFER_SIGN", "SWIFT_CODE", "TAXPAYER_IDENTIFICATION_NUMBER", "TAX_REGISTRATION_REASON_CODE", "ACCOUNT", "COMPANY_ID", "INTERMEDIARY_SWIFT_CODE" + "ID", "ACCOUNT_ID", "BANK_IDENTIFICATION_CODE", "BANK_NAME", "CORRESPONDENT_ACCOUNT", "CORRESPONDENT_ACCOUNT_NAME", "CURRENCY", "DESTINATION", "IBAN", "INTERNATIONAL_TRANSFER_SIGN", "SWIFT_CODE", "TAXPAYER_IDENTIFICATION_NUMBER", "TAX_REGISTRATION_REASON_CODE", "ACCOUNT", "COMPANY_ID", "INTERMEDIARY_SWIFT_CODE", "NAME", "ADDRESS", "BANK_ADDRESS", "BANK_SWIFT_CODE", "BANK_ACCOUNT", "BANK_NAME1", "BANK_ADDRESS1", "BANK_ACCOUNT1", "BANK_NAME2", "BANK_ADDRESS2", "INTERMEDIARY_SWIFT_CODE2", "BANK_ACCOUNT2", "PERSONAL_ACCOUNT", "BUDGET_CLASSIFICATION_CODE", "OKTMO" }; } @@ -56,6 +56,21 @@ public class BankAccountMapStore extends TemplateMapStore { object.setAccount(resultSet.getObject("ACCOUNT", String.class)); object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); object.setIntermediarySwiftCode(resultSet.getObject("INTERMEDIARY_SWIFT_CODE", String.class)); + object.setName(resultSet.getObject("NAME", String.class)); + object.setAddress(resultSet.getObject("ADDRESS", String.class)); + object.setBankAddress(resultSet.getObject("BANK_ADDRESS", String.class)); + object.setBankSwiftCode(resultSet.getObject("BANK_SWIFT_CODE", String.class)); + object.setBankAccount(resultSet.getObject("BANK_ACCOUNT", String.class)); + object.setBankName1(resultSet.getObject("BANK_NAME1", String.class)); + object.setBankAddress1(resultSet.getObject("BANK_ADDRESS1", String.class)); + object.setBankAccount1(resultSet.getObject("BANK_ACCOUNT1", String.class)); + object.setBankName2(resultSet.getObject("BANK_NAME2", String.class)); + object.setBankAddress2(resultSet.getObject("BANK_ADDRESS2", String.class)); + object.setIntermediarySwiftCode2(resultSet.getObject("INTERMEDIARY_SWIFT_CODE2", String.class)); + object.setBankAccount2(resultSet.getObject("BANK_ACCOUNT2", String.class)); + object.setPersonalAccount(resultSet.getObject("PERSONAL_ACCOUNT", String.class)); + object.setBudgetClassificationCode(resultSet.getObject("BUDGET_CLASSIFICATION_CODE", String.class)); + object.setOktmo(resultSet.getObject("OKTMO", String.class)); return object; } @@ -77,7 +92,22 @@ public class BankAccountMapStore extends TemplateMapStore { object.getTaxRegistrationReasonCode(), object.getAccount(), object.getCompanyId(), - object.getIntermediarySwiftCode() + object.getIntermediarySwiftCode(), + object.getName(), + object.getAddress(), + object.getBankAddress(), + object.getBankSwiftCode(), + object.getBankAccount(), + object.getBankName1(), + object.getBankAddress1(), + object.getBankAccount1(), + object.getBankName2(), + object.getBankAddress2(), + object.getIntermediarySwiftCode2(), + object.getBankAccount2(), + object.getPersonalAccount(), + object.getBudgetClassificationCode(), + object.getOktmo() }; return args; } From 30d1d660f14491b75032713c7cfed67b549f6e9b Mon Sep 17 00:00:00 2001 From: AKurakin Date: Mon, 9 Sep 2024 13:45:09 +0300 Subject: [PATCH 04/16] =?UTF-8?q?backend-api=20http://jira.mfd.msk:8088/br?= =?UTF-8?q?owse/CLS-746=20=D1=80=D0=B5=D0=BA=D0=B2=D0=B5=D1=81=D1=82=D1=8B?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BC=D0=B5=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cud/account/BankAccountNewAction.java | 180 +++++++++++++++++ .../cud/account/BankAccountUpdateAction.java | 181 ++++++++++++++++++ .../cud/account/BankAccountNewRequest.java | 151 +++++++++++++++ .../cud/account/BankAccountUpdateRequest.java | 150 +++++++++++++++ 4 files changed, 662 insertions(+) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/BankAccountNewAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/BankAccountNewAction.java index 7f252b347..091f8d3f8 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/BankAccountNewAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/BankAccountNewAction.java @@ -53,6 +53,51 @@ public class BankAccountNewAction implements IAction { @ApiModelProperty(value = "Код SWIFT посредника", example = "ABCDE") @JsonProperty private String intermediarySwiftCode; + @ApiModelProperty(value = "Наименование владельца счета", example = "ABCDE") + @JsonProperty + private String name; + @ApiModelProperty(value = "Адрес владельца счета", example = "ABCDE") + @JsonProperty + private String address; + @ApiModelProperty(value = "Место нахождения банка получателя средств", example = "ABCDE") + @JsonProperty + private String bankAddress; + @ApiModelProperty(value = "SWIFT банка получателя средств", example = "ABCDE") + @JsonProperty + private String bankSwiftCode; + @ApiModelProperty(value = "Номер счета банка получателя средств", example = "ABCDE") + @JsonProperty + private String bankAccount; + @ApiModelProperty(value = "Наименование банка-посредника 1", example = "ABCDE") + @JsonProperty + private String bankName1; + @ApiModelProperty(value = "Место нахождения банка-посредника 1", example = "ABCDE") + @JsonProperty + private String bankAddress1; + @ApiModelProperty(value = "Номер счета банка-посредника 1", example = "ABCDE") + @JsonProperty + private String bankAccount1; + @ApiModelProperty(value = "Наименование банка-посредника 2", example = "ABCDE") + @JsonProperty + private String bankName2; + @ApiModelProperty(value = "Место нахождения банка-посредника 2", example = "ABCDE") + @JsonProperty + private String bankAddress2; + @ApiModelProperty(value = "SWIFT банка-посредника 2", example = "ABCDE") + @JsonProperty + private String intermediarySwiftCode2; + @ApiModelProperty(value = "Номер счета банка-посредника 2", example = "ABCDE") + @JsonProperty + private String bankAccount2; + @ApiModelProperty(value = "Лицевой счет получателя", example = "ABCDE") + @JsonProperty + private String personalAccount; + @ApiModelProperty(value = "КБК", example = "ABCDE") + @JsonProperty + private String budgetClassificationCode; + @ApiModelProperty(value = "ОКТМО получателя средств", example = "ABCDE") + @JsonProperty + private String oktmo; @Override public BankAccountNewRequest toRequest() { @@ -69,6 +114,21 @@ public class BankAccountNewAction implements IAction { req.setCompanyId(this.companyId); req.setSwiftCode(swiftCode); req.setIntermediarySwiftCode(intermediarySwiftCode); + req.setName(name); + req.setAddress(address); + req.setBankAddress(bankAddress); + req.setBankSwiftCode(bankSwiftCode); + req.setBankAccount(bankAccount); + req.setBankName1(bankName1); + req.setBankAddress1(bankAddress1); + req.setBankAccount1(bankAccount1); + req.setBankName2(bankName2); + req.setBankAddress2(bankAddress2); + req.setIntermediarySwiftCode2(intermediarySwiftCode2); + req.setBankAccount2(bankAccount2); + req.setPersonalAccount(personalAccount); + req.setBudgetClassificationCode(budgetClassificationCode); + req.setOktmo(oktmo); return req; } @@ -173,4 +233,124 @@ public class BankAccountNewAction implements IAction { public void setIntermediarySwiftCode(String intermediarySwiftCode) { this.intermediarySwiftCode = intermediarySwiftCode; } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getBankAddress() { + return bankAddress; + } + + public void setBankAddress(String bankAddress) { + this.bankAddress = bankAddress; + } + + public String getBankSwiftCode() { + return bankSwiftCode; + } + + public void setBankSwiftCode(String bankSwiftCode) { + this.bankSwiftCode = bankSwiftCode; + } + + public String getBankAccount() { + return bankAccount; + } + + public void setBankAccount(String bankAccount) { + this.bankAccount = bankAccount; + } + + public String getBankName1() { + return bankName1; + } + + public void setBankName1(String bankName1) { + this.bankName1 = bankName1; + } + + public String getBankAddress1() { + return bankAddress1; + } + + public void setBankAddress1(String bankAddress1) { + this.bankAddress1 = bankAddress1; + } + + public String getBankAccount1() { + return bankAccount1; + } + + public void setBankAccount1(String bankAccount1) { + this.bankAccount1 = bankAccount1; + } + + public String getBankName2() { + return bankName2; + } + + public void setBankName2(String bankName2) { + this.bankName2 = bankName2; + } + + public String getBankAddress2() { + return bankAddress2; + } + + public void setBankAddress2(String bankAddress2) { + this.bankAddress2 = bankAddress2; + } + + public String getIntermediarySwiftCode2() { + return intermediarySwiftCode2; + } + + public void setIntermediarySwiftCode2(String intermediarySwiftCode2) { + this.intermediarySwiftCode2 = intermediarySwiftCode2; + } + + public String getBankAccount2() { + return bankAccount2; + } + + public void setBankAccount2(String bankAccount2) { + this.bankAccount2 = bankAccount2; + } + + public String getPersonalAccount() { + return personalAccount; + } + + public void setPersonalAccount(String personalAccount) { + this.personalAccount = personalAccount; + } + + public String getBudgetClassificationCode() { + return budgetClassificationCode; + } + + public void setBudgetClassificationCode(String budgetClassificationCode) { + this.budgetClassificationCode = budgetClassificationCode; + } + + public String getOktmo() { + return oktmo; + } + + public void setOktmo(String oktmo) { + this.oktmo = oktmo; + } } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/BankAccountUpdateAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/BankAccountUpdateAction.java index bbdfff7be..00753c382 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/BankAccountUpdateAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/BankAccountUpdateAction.java @@ -48,6 +48,52 @@ public class BankAccountUpdateAction implements IAction Date: Tue, 10 Sep 2024 16:55:50 +0300 Subject: [PATCH 05/16] http://jira.mfd.msk:8088/browse/CLS-730 --- .../importer/config/ImporterImdgConfig.java | 22 +- .../xml/importer/config/KafkaConfig.java | 66 +++- .../xml/importer/config/SFTPConfig.java | 90 +++-- .../xml/importer/config/SFTPMockConfig.java | 22 +- .../importer/config/XMLImporterConfig.java | 5 +- .../settings/ImportXMLServiceSettings.java | 79 +++-- .../settings/KafkaHazelcastSettings.java | 41 +++ .../{Store.java => StoreSettings.java} | 6 +- .../importer/logic/data/ResultContainer.java | 26 +- .../xml/importer/logic/data/enums/ETable.java | 48 +-- .../importer/logic/data/enums/FileType.java | 6 + .../xml/importer/logic/data/tags/XmlFile.java | 4 + .../logic/data/tags/lks/AccountListCur.java | 66 ++++ .../logic/data/tags/lks/AccountListRub.java | 65 ++++ .../tags/lks/document/DocumentTagCur.java | 111 ++++++ .../tags/lks/document/DocumentTagRub.java | 111 ++++++ .../lks/registrator/RegistratorTagCur.java | 77 +++++ .../lks/registrator/RegistratorTagRub.java | 77 +++++ .../lks/registrator/client/ClientTagCur.java | 61 ++++ .../lks/registrator/client/ClientTagRub.java | 62 ++++ .../client/account/AccountTagCur.java | 317 ++++++++++++++++++ .../client/account/AccountTagRub.java | 257 ++++++++++++++ .../client/account/respond/RespondTagCur.java | 46 +++ .../client/account/respond/RespondTagRub.java | 46 +++ .../data/tags/{ => sdf}/DocumentTag.java | 6 +- .../data/tags/{ => sdf}/ParentDocTag.java | 2 +- .../tags/{ => sdf}/objects/DF01ObjectTag.java | 2 +- .../tags/{ => sdf}/objects/DF04ObjectTag.java | 2 +- .../tags/{ => sdf}/objects/DF06ObjectTag.java | 2 +- .../tags/{ => sdf}/objects/DF52ObjectTag.java | 2 +- .../tags/{ => sdf}/objects/DF55ObjectTag.java | 2 +- .../tags/{ => sdf}/objects/DF57ObjectTag.java | 2 +- .../tags/{ => sdf}/objects/ObjectTag.java | 2 +- .../logic/steps/ChangeDirOfFileStage.java | 25 +- .../xml/importer/logic/steps/ImportToDB.java | 56 +++- .../xml/importer/logic/steps/ReadXMLFile.java | 17 +- .../logic/steps/XmlImportKafkaMessenger.java | 83 +++-- .../xml/importer/services/FileChecker.java | 63 +++- .../importer/services/XMLImporterService.java | 15 +- .../src/main/resources/application.properties | 101 ++++-- .../config/ImporterImdgTestConfig.java | 117 +++++++ .../xml/importer/config/KafkaTestConfig.java | 172 ++++++++++ .../importer/logic/steps/ImportToDBTest.java | 52 ++- .../importer/logic/steps/ReadXMLFileTest.java | 222 +++++++++--- .../src/test/resources/application.properties | 101 ++++-- ...FIRMID_ACCOUNT_LIST_20240910_CNY_00001.xml | 33 ++ ...FIRMID_ACCOUNT_LIST_20240910_RUB_00001.xml | 29 ++ 47 files changed, 2502 insertions(+), 317 deletions(-) create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/KafkaHazelcastSettings.java rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/{Store.java => StoreSettings.java} (88%) create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/enums/FileType.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/XmlFile.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/AccountListCur.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/AccountListRub.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/document/DocumentTagCur.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/document/DocumentTagRub.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/RegistratorTagCur.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/RegistratorTagRub.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/ClientTagCur.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/ClientTagRub.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/AccountTagCur.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/AccountTagRub.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/respond/RespondTagCur.java create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/respond/RespondTagRub.java rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/DocumentTag.java (95%) rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/ParentDocTag.java (93%) rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/objects/DF01ObjectTag.java (98%) rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/objects/DF04ObjectTag.java (99%) rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/objects/DF06ObjectTag.java (98%) rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/objects/DF52ObjectTag.java (98%) rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/objects/DF55ObjectTag.java (99%) rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/objects/DF57ObjectTag.java (99%) rename clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/{ => sdf}/objects/ObjectTag.java (96%) create mode 100644 clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java create mode 100644 clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java create mode 100644 clearing-parent/xml-importer/src/test/resources/xml/FIRMID_ACCOUNT_LIST_20240910_CNY_00001.xml create mode 100644 clearing-parent/xml-importer/src/test/resources/xml/FIRMID_ACCOUNT_LIST_20240910_RUB_00001.xml diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java index 5a2800f81..32243b8f3 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java @@ -2,11 +2,11 @@ package ru.spcex.clearing.xml.importer.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; -import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @Configuration @@ -33,14 +33,28 @@ public class ImporterImdgConfig { } @Autowired - @Bean - public HazelcastService imdgProvider( + @Bean(name = "sdfImdgProvider") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public HazelcastService sdfImdgProvider( @Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, ImportXMLServiceSettings settings ) { return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, - settings.getHazelcast()); + settings.getSdfHazelcastAndKafka().getHazelcast()); + } + + @Autowired + @Bean(name = "lksImdgProvider") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public HazelcastService lksImdgProvider( + @Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, + @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, + ImportXMLServiceSettings settings + ) { + return new HazelcastService(taskExecutorHazelcastClientInitializer, + taskExecutorIdGeneratorAwaiter, + settings.getLksHazelcastAndKafka().getHazelcast()); } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java index 16ab062f7..852bc85e4 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java @@ -3,7 +3,9 @@ package ru.spcex.clearing.xml.importer.config; import java.util.function.Supplier; import org.apache.kafka.clients.consumer.Consumer; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; @@ -22,21 +24,54 @@ import ru.spcex.platform.imdg.api.ImdgProvider; @Configuration public class KafkaConfig { - @Bean - public ProducerFactory pf(ImportXMLServiceSettings settings) { - KafkaProducerSettings kafkaSettings = settings.getKafkaProducer(); + @Bean(name = "pfSdf") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public ProducerFactory pfSdf(ImportXMLServiceSettings settings) { + KafkaProducerSettings kafkaSettings = settings.getSdfHazelcastAndKafka().getKafkaProducer(); return KafkaProducerFactory.producerFactory(kafkaSettings); } - @Bean("kafkaTemplate") - public KafkaTemplate kafkaTemplate(ProducerFactory pf) { + @Bean(name = "pfLks") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public ProducerFactory pfLks(ImportXMLServiceSettings settings) { + KafkaProducerSettings kafkaSettings = settings.getLksHazelcastAndKafka().getKafkaProducer(); + return KafkaProducerFactory.producerFactory(kafkaSettings); + } + + @Bean("kafkaTemplateSdf") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public KafkaTemplate kafkaTemplateSdf(@Qualifier("pfSdf") ProducerFactory pf) { + return new KafkaTemplate<>(pf); + } + + @Bean("kafkaTemplateLks") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public KafkaTemplate kafkaTemplateLks(@Qualifier("pfLks") ProducerFactory pf) { return new KafkaTemplate<>(pf); } @Autowired - @Bean - public Supplier kafkaSender(KafkaTemplate kafkaTemplate, - ImdgProvider imdgProvider) { + @Bean("kafkaSenderSdf") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public Supplier kafkaSenderSdf(@Qualifier("kafkaTemplateSdf") KafkaTemplate kafkaTemplate, + @Qualifier("sdfImdgProvider") ImdgProvider imdgProvider) { + ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); + return () -> KafkaSender + .setup() + .setKafkaTemplate(kafkaTemplate) + .idGenerator(imdgIdGenerator::nextId) + .imdgProvider(s -> { + Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); + return imdg::insert; + }) + .build(); + } + + @Autowired + @Bean("kafkaSenderLks") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public Supplier kafkaSenderLks(@Qualifier("kafkaTemplateLks") KafkaTemplate kafkaTemplate, + @Qualifier("lksImdgProvider") ImdgProvider imdgProvider) { ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); return () -> KafkaSender .setup() @@ -51,8 +86,17 @@ public class KafkaConfig { @Autowired @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - @Bean - public Consumer createConsumer(ImportXMLServiceSettings settings) { - return KafkaConsumerFactory.consumer(settings.getKafkaConsumer()); + @Bean("createConsumerSdf") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public Consumer createConsumerSdf(ImportXMLServiceSettings settings) { + return KafkaConsumerFactory.consumer(settings.getSdfHazelcastAndKafka().getKafkaConsumer()); + } + + @Autowired + @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) + @Bean("createConsumerLks") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public Consumer createConsumerLks(ImportXMLServiceSettings settings) { + return KafkaConsumerFactory.consumer(settings.getLksHazelcastAndKafka().getKafkaConsumer()); } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPConfig.java index d881be0bc..6b8a3a8d6 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPConfig.java @@ -7,6 +7,8 @@ import java.io.File; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; @@ -28,40 +30,90 @@ import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; public class SFTPConfig { private final Logger log = LoggerFactory.getLogger(getClass()); - @Bean - public SessionFactory sftpSessionFactory(ImportXMLServiceSettings settings) { + @Bean("sftpSessionFactorySdf") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public SessionFactory sftpSessionFactorySdf(ImportXMLServiceSettings settings) { DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory(true); - factory.setHost(settings.getStore().getSftpIn().getServerIp()); - factory.setPort(settings.getStore().getSftpIn().getServerPort()); - factory.setUser(settings.getStore().getSftpIn().getUser()); - factory.setPassword(settings.getStore().getSftpIn().getPassword()); + factory.setHost(settings.getStoreSdf().getSftpIn().getServerIp()); + factory.setPort(settings.getStoreSdf().getSftpIn().getServerPort()); + factory.setUser(settings.getStoreSdf().getSftpIn().getUser()); + factory.setPassword(settings.getStoreSdf().getSftpIn().getPassword()); + factory.setAllowUnknownKeys(true); + return new CachingSessionFactory<>(factory); + } + + @Bean("sftpSessionFactoryLks") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public SessionFactory sftpSessionFactoryLks(ImportXMLServiceSettings settings) { + DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory(true); + factory.setHost(settings.getStoreLks().getSftpIn().getServerIp()); + factory.setPort(settings.getStoreLks().getSftpIn().getServerPort()); + factory.setUser(settings.getStoreLks().getSftpIn().getUser()); + factory.setPassword(settings.getStoreLks().getSftpIn().getPassword()); factory.setAllowUnknownKeys(true); return new CachingSessionFactory<>(factory); } // https://stackoverflow.com/questions/53655208/profile-doesnt-work-with-messaging-gateway - @Bean("xmlGateway") - public AnnotationGatewayProxyFactoryBean xmlGateway() { - return new AnnotationGatewayProxyFactoryBean(XmlGateway.class); - } - - public interface XmlGateway { - @Gateway(requestChannel = "listSftpChannel") + public interface XmlGatewaySdf { + @Gateway(requestChannel = "listSftpChannelSdf") List listFiles(String dir); } - @Bean - public MessageChannel listSftpChannel(SessionFactory sessionFactory, ImportXMLServiceSettings settings) { + public interface XmlGatewayLks { + @Gateway(requestChannel = "listSftpChannelLks") + List listFiles(String dir); + } + + @Bean("xmlGatewaySdf") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public AnnotationGatewayProxyFactoryBean xmlGatewaySdf() { + return new AnnotationGatewayProxyFactoryBean(XmlGatewaySdf.class); + } + + @Bean("xmlGatewayLks") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public AnnotationGatewayProxyFactoryBean xmlGatewayLks() { + return new AnnotationGatewayProxyFactoryBean(XmlGatewayLks.class); + } + + @Bean("listSftpChannelSdf") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public MessageChannel listSftpChannelSdf(@Qualifier("sftpSessionFactorySdf") SessionFactory sessionFactory, + ImportXMLServiceSettings settings) { DirectChannel dc = new DirectChannel(); - dc.subscribe(handlerList(sessionFactory, settings)); + dc.subscribe(handlerListSdf(sessionFactory, settings)); + return dc; + } + + @Bean("listSftpChannelLks") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public MessageChannel listSftpChannelLks(@Qualifier("sftpSessionFactoryLks") SessionFactory sessionFactory, + ImportXMLServiceSettings settings) { + DirectChannel dc = new DirectChannel(); + dc.subscribe(handlerListLks(sessionFactory, settings)); return dc; } @Bean - @ServiceActivator(inputChannel = "listSftpChannel") - public MessageHandler handlerList(SessionFactory sessionFactory, ImportXMLServiceSettings settings) { + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + @ServiceActivator(inputChannel = "listSftpChannelSdf") + public MessageHandler handlerListSdf(@Qualifier("sftpSessionFactorySdf") SessionFactory sessionFactory, + ImportXMLServiceSettings settings) { SftpOutboundGateway sftpOutboundGateway = new SftpOutboundGateway(sessionFactory, MGET.getCommand(), null); - sftpOutboundGateway.setLocalDirectory(new File(settings.getStore().getSrcDir())); + sftpOutboundGateway.setLocalDirectory(new File(settings.getStoreSdf().getSrcDir())); + sftpOutboundGateway.setAutoCreateLocalDirectory(true); + sftpOutboundGateway.setOption(AbstractRemoteFileOutboundGateway.Option.DELETE); + return sftpOutboundGateway; + } + + @Bean + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + @ServiceActivator(inputChannel = "listSftpChannelLks") + public MessageHandler handlerListLks(@Qualifier("sftpSessionFactoryLks") SessionFactory sessionFactory, + ImportXMLServiceSettings settings) { + SftpOutboundGateway sftpOutboundGateway = new SftpOutboundGateway(sessionFactory, MGET.getCommand(), null); + sftpOutboundGateway.setLocalDirectory(new File(settings.getStoreLks().getSrcDir())); sftpOutboundGateway.setAutoCreateLocalDirectory(true); sftpOutboundGateway.setOption(AbstractRemoteFileOutboundGateway.Option.DELETE); return sftpOutboundGateway; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPMockConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPMockConfig.java index 46ef69ca5..4d3421c79 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPMockConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPMockConfig.java @@ -3,6 +3,7 @@ package ru.spcex.clearing.xml.importer.config; import java.io.File; import java.util.ArrayList; import java.util.List; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; @@ -10,13 +11,26 @@ import org.springframework.context.annotation.Profile; @Profile("test") @Configuration public class SFTPMockConfig { - @Bean("xmlGateway") - public SFTPConfig.XmlGateway xmlGateway(){ - return new XGateway(); + @Bean("xmlGatewaySdf") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") + public SFTPConfig.XmlGatewaySdf xmlGatewaySdf(){ + return new XGatewaySdf(); } - public static class XGateway implements SFTPConfig.XmlGateway{ + public static class XGatewaySdf implements SFTPConfig.XmlGatewaySdf{ + @Override + public List listFiles(String dir) { + return new ArrayList<>(); + } + } + @Bean("xmlGatewayLks") + @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") + public SFTPConfig.XmlGatewayLks xmlGatewayLks(){ + return new XGatewayLks(); + } + + public static class XGatewayLks implements SFTPConfig.XmlGatewayLks{ @Override public List listFiles(String dir) { return new ArrayList<>(); diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java index 71ba9758b..092313f9c 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java @@ -13,6 +13,8 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; @@ -41,7 +43,7 @@ public class XMLImporterConfig { public XMLImporterConfig(ImportXMLServiceSettings settings, ApplicationContext context, - ImdgProvider hazelcastService) { + @Qualifier("sdfImdgProvider") ImdgProvider hazelcastService) { this.settings = settings; this.context = context; this.hazelcastService = hazelcastService; @@ -62,6 +64,7 @@ public class XMLImporterConfig { } @Bean("mapOfTable") + @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") public Map> getMapOfTables() { Map> map = new HashMap<>(); map.put(ETable.DF_01, (ImdgHazelcast) hazelcastService.getImdg(IMDGDistributedNames.Map_SDf01, SDf01.class)); diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/ImportXMLServiceSettings.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/ImportXMLServiceSettings.java index 1e6ae57d6..e32cf7da4 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/ImportXMLServiceSettings.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/ImportXMLServiceSettings.java @@ -1,45 +1,62 @@ package ru.spcex.clearing.xml.importer.config.settings; import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.NestedConfigurationProperty; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; -import ru.spcex.clearing.platform.messaging.config.element.KafkaConsumerSettings; -import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings; -import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; @Component @PropertySource("file:${spring.config.location}/application.properties") @ConfigurationProperties("import-xml-service") public class ImportXMLServiceSettings { - private HazelcastClientParams hazelcast; - private KafkaProducerSettings kafkaProducer; - private KafkaConsumerSettings kafkaConsumer; + @NestedConfigurationProperty + private KafkaHazelcastSettings sdfHazelcastAndKafka; + @NestedConfigurationProperty + private KafkaHazelcastSettings lksHazelcastAndKafka; + + @NestedConfigurationProperty + private StoreSettings storeSdf; + @NestedConfigurationProperty + private StoreSettings storeLks; + + @NestedConfigurationProperty private Common common; - private Store store; + @NestedConfigurationProperty private Cron cron; - public HazelcastClientParams getHazelcast() { - return hazelcast; + private boolean processSdfFiles; + private boolean processLksFiles; + + public KafkaHazelcastSettings getSdfHazelcastAndKafka() { + return sdfHazelcastAndKafka; } - public void setHazelcast(HazelcastClientParams hazelcast) { - this.hazelcast = hazelcast; + public void setSdfHazelcastAndKafka(KafkaHazelcastSettings sdfHazelcastAndKafka) { + this.sdfHazelcastAndKafka = sdfHazelcastAndKafka; } - public KafkaProducerSettings getKafkaProducer() { - return kafkaProducer; + public KafkaHazelcastSettings getLksHazelcastAndKafka() { + return lksHazelcastAndKafka; } - public void setKafkaProducer(KafkaProducerSettings kafkaProducer) { - this.kafkaProducer = kafkaProducer; + public void setLksHazelcastAndKafka(KafkaHazelcastSettings lksHazelcastAndKafka) { + this.lksHazelcastAndKafka = lksHazelcastAndKafka; } - public KafkaConsumerSettings getKafkaConsumer() { - return kafkaConsumer; + public StoreSettings getStoreSdf() { + return storeSdf; } - public void setKafkaConsumer(KafkaConsumerSettings kafkaConsumer) { - this.kafkaConsumer = kafkaConsumer; + public void setStoreSdf(StoreSettings storeSdf) { + this.storeSdf = storeSdf; + } + + public StoreSettings getStoreLks() { + return storeLks; + } + + public void setStoreLks(StoreSettings storeLks) { + this.storeLks = storeLks; } public Common getCommon() { @@ -50,14 +67,6 @@ public class ImportXMLServiceSettings { this.common = common; } - public Store getStore() { - return store; - } - - public void setStore(Store store) { - this.store = store; - } - public Cron getCron() { return cron; } @@ -65,4 +74,20 @@ public class ImportXMLServiceSettings { public void setCron(Cron cron) { this.cron = cron; } + + public boolean isProcessSdfFiles() { + return processSdfFiles; + } + + public void setProcessSdfFiles(boolean processSdfFiles) { + this.processSdfFiles = processSdfFiles; + } + + public boolean isProcessLksFiles() { + return processLksFiles; + } + + public void setProcessLksFiles(boolean processLksFiles) { + this.processLksFiles = processLksFiles; + } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/KafkaHazelcastSettings.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/KafkaHazelcastSettings.java new file mode 100644 index 000000000..0b689551f --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/KafkaHazelcastSettings.java @@ -0,0 +1,41 @@ +package ru.spcex.clearing.xml.importer.config.settings; + +import org.springframework.boot.context.properties.NestedConfigurationProperty; +import ru.spcex.clearing.platform.messaging.config.element.KafkaConsumerSettings; +import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings; +import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; + +public class KafkaHazelcastSettings { + @NestedConfigurationProperty + private HazelcastClientParams hazelcast; + + @NestedConfigurationProperty + private KafkaProducerSettings kafkaProducer; + + @NestedConfigurationProperty + private KafkaConsumerSettings kafkaConsumer; + + public HazelcastClientParams getHazelcast() { + return hazelcast; + } + + public void setHazelcast(HazelcastClientParams hazelcast) { + this.hazelcast = hazelcast; + } + + public KafkaProducerSettings getKafkaProducer() { + return kafkaProducer; + } + + public void setKafkaProducer(KafkaProducerSettings kafkaProducer) { + this.kafkaProducer = kafkaProducer; + } + + public KafkaConsumerSettings getKafkaConsumer() { + return kafkaConsumer; + } + + public void setKafkaConsumer(KafkaConsumerSettings kafkaConsumer) { + this.kafkaConsumer = kafkaConsumer; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/Store.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/StoreSettings.java similarity index 88% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/Store.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/StoreSettings.java index 43eae6f47..0fafdfed1 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/Store.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/StoreSettings.java @@ -1,14 +1,18 @@ package ru.spcex.clearing.xml.importer.config.settings; +import org.springframework.boot.context.properties.NestedConfigurationProperty; import ru.spcex.platform.utils.config.SftpInboundFolderSetting; -public class Store { +public class StoreSettings { private String srcDir; private String outDir; private String outDirError; private boolean deleteSrcFiles = true; + //sftp settings + @NestedConfigurationProperty private SftpInboundFolderSetting sftpIn; + public String getSrcDir() { return srcDir; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/ResultContainer.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/ResultContainer.java index 89eaebf39..2d495afea 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/ResultContainer.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/ResultContainer.java @@ -4,18 +4,18 @@ import java.io.File; import java.util.UUID; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.XmlFile; public class ResultContainer { private UUID uuid; private ETable xmlTable; - private File xmlFile; + private File xmlFilePath; private StageResult lastStageStatus; - private DocumentTag documentTag; + private XmlFile xmlFile; - public ResultContainer(ETable xmlTable, File xmlFile) { + public ResultContainer(ETable xmlTable, File xmlFilePath) { this.xmlTable = xmlTable; - this.xmlFile = xmlFile; + this.xmlFilePath = xmlFilePath; this.uuid = UUID.randomUUID(); } @@ -27,12 +27,12 @@ public class ResultContainer { this.xmlTable = xmlTable; } - public File getXmlFile() { - return xmlFile; + public File getXmlFilePath() { + return xmlFilePath; } - public void setXmlFile(File xmlFile) { - this.xmlFile = xmlFile; + public void setXmlFilePath(File xmlFilePath) { + this.xmlFilePath = xmlFilePath; } public UUID getUuid() { @@ -51,11 +51,11 @@ public class ResultContainer { this.lastStageStatus = lastStageRes; } - public DocumentTag getDocumentTag() { - return documentTag; + public XmlFile getXmlFile() { + return xmlFile; } - public void setDocumentTag(DocumentTag documentTag) { - this.documentTag = documentTag; + public void setXmlFile(XmlFile xmlFile) { + this.xmlFile = xmlFile; } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/enums/ETable.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/enums/ETable.java index 8d0233f71..2c52197d0 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/enums/ETable.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/enums/ETable.java @@ -1,39 +1,39 @@ package ru.spcex.clearing.xml.importer.logic.data.enums; -public enum ETable { - DF_01("DF-01"), - DF_04("DF-04"), - DF_06("DF-06"), - DF_52("DF-52"), - DF_55("DF-55"), - DF_57("DF-57"); +import java.util.regex.Pattern; - public String getPrefix() { - return prefix; +public enum ETable { + DF_01(Pattern.compile("DF-01_\\w_.*_.*.XML"), FileType.SDF), + DF_04(Pattern.compile("DF-04_\\w_.*_.*.XML"), FileType.SDF), + DF_06(Pattern.compile("DF-06_\\w_.*_.*.XML"), FileType.SDF), + DF_52(Pattern.compile("DF-52_\\w_.*_.*.XML"), FileType.SDF), + DF_55(Pattern.compile("DF-55_\\w_.*_.*.XML"), FileType.SDF), + DF_57(Pattern.compile("DF-57_\\w_.*_.*.XML"), FileType.SDF), + ACCOUNT_LIST_RUB(Pattern.compile(".*_ACCOUNT_LIST_\\d{8}_RUB_\\d{5}.XML"), FileType.LKS), + ACCOUNT_LIST_CUR(Pattern.compile(".*_ACCOUNT_LIST_\\d{8}_\\w{3}_\\d{5}.XML"), FileType.LKS); + + private final Pattern pattern; + private final FileType fileType; + + ETable(Pattern pattern, FileType fileType) { + this.pattern = pattern; + this.fileType = fileType; } - private final String prefix; + public Pattern getPattern() { + return pattern; + } - ETable(String prefix) { - this.prefix = prefix; + public FileType getFileType() { + return fileType; } public static ETable getTableForFilename(String filename) { for (ETable table : ETable.values()) { - if (table.fileForThisTable(filename)) return table; - } - return null; - } - - public static ETable tableForName(String name) { - for (ETable table : values()) { - if (name.equalsIgnoreCase(table.name())) + if (table.getPattern().matcher(filename.toUpperCase()).matches()) { return table; + } } return null; } - - public boolean fileForThisTable(String filename) { - return filename != null && filename.startsWith(prefix); - } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/enums/FileType.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/enums/FileType.java new file mode 100644 index 000000000..7ebc0049f --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/enums/FileType.java @@ -0,0 +1,6 @@ +package ru.spcex.clearing.xml.importer.logic.data.enums; + +public enum FileType { + SDF, + LKS +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/XmlFile.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/XmlFile.java new file mode 100644 index 000000000..c33b351d4 --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/XmlFile.java @@ -0,0 +1,4 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags; + +public interface XmlFile { +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/AccountListCur.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/AccountListCur.java new file mode 100644 index 000000000..2261f216b --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/AccountListCur.java @@ -0,0 +1,66 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +import java.util.Objects; +import ru.spcex.clearing.xml.importer.logic.data.tags.XmlFile; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.document.DocumentTagCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.RegistratorTagCur; + +@JacksonXmlRootElement(localName = "FIRM_DOC") +public class AccountListCur implements XmlFile { + @JacksonXmlProperty(localName = "DOCUMENT") + @JsonProperty(required = true) + private DocumentTagCur document; + + @JacksonXmlProperty(localName = "REGISTRATOR") + @JsonProperty(required = true) + private RegistratorTagCur registrator; + + public AccountListCur() { + } + + public AccountListCur(DocumentTagCur document, + RegistratorTagCur registrator) { + this.document = document; + this.registrator = registrator; + } + + public DocumentTagCur getDocument() { + return document; + } + + public void setDocument(DocumentTagCur document) { + this.document = document; + } + + public RegistratorTagCur getRegistrator() { + return registrator; + } + + public void setRegistrator(RegistratorTagCur registrator) { + this.registrator = registrator; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AccountListCur that = (AccountListCur) o; + return Objects.equals(document, that.document) && Objects.equals(registrator, that.registrator); + } + + @Override + public int hashCode() { + return Objects.hash(document, registrator); + } + + @Override + public String toString() { + return "AccountListCur{" + + "document=" + document + + ", registrator=" + registrator + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/AccountListRub.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/AccountListRub.java new file mode 100644 index 000000000..aa1efeeed --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/AccountListRub.java @@ -0,0 +1,65 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +import java.util.Objects; +import ru.spcex.clearing.xml.importer.logic.data.tags.XmlFile; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.document.DocumentTagRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.RegistratorTagRub; + +@JacksonXmlRootElement(localName = "FIRM_DOC") +public class AccountListRub implements XmlFile { + @JacksonXmlProperty(localName = "DOCUMENT") + @JsonProperty(required = true) + private DocumentTagRub document; + + @JacksonXmlProperty(localName = "REGISTRATOR") + @JsonProperty(required = true) + private RegistratorTagRub registrator; + + public AccountListRub() { + } + + public AccountListRub(DocumentTagRub document, RegistratorTagRub registrator) { + this.document = document; + this.registrator = registrator; + } + + public DocumentTagRub getDocument() { + return document; + } + + public void setDocument(DocumentTagRub document) { + this.document = document; + } + + public RegistratorTagRub getRegistrator() { + return registrator; + } + + public void setRegistrator(RegistratorTagRub registrator) { + this.registrator = registrator; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AccountListRub that = (AccountListRub) o; + return Objects.equals(document, that.document) && Objects.equals(registrator, that.registrator); + } + + @Override + public int hashCode() { + return Objects.hash(document, registrator); + } + + @Override + public String toString() { + return "AccountListRub{" + + "document=" + document + + ", registrator=" + registrator + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/document/DocumentTagCur.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/document/DocumentTagCur.java new file mode 100644 index 000000000..5a57a3b14 --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/document/DocumentTagCur.java @@ -0,0 +1,111 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.document; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.Objects; + +public class DocumentTagCur { + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "AUTHOR") + private String author; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "TIME") + @JsonFormat(pattern = "HH:mm:ss") + private LocalTime time; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "DATE") + @JsonFormat(pattern = "dd.MM.yyyy") + private LocalDate date; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "NAME") + private String name; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "DOC_NUM") + private String docNum; + + public DocumentTagCur() { + } + + public DocumentTagCur(String author, + LocalTime time, + LocalDate date, + String name, + String docNum) { + this.author = author; + this.time = time; + this.date = date; + this.name = name; + this.docNum = docNum; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public LocalTime getTime() { + return time; + } + + public void setTime(LocalTime time) { + this.time = time; + } + + public LocalDate getDate() { + return date; + } + + public void setDate(LocalDate date) { + this.date = date; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDocNum() { + return docNum; + } + + public void setDocNum(String docNum) { + this.docNum = docNum; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DocumentTagCur that = (DocumentTagCur) o; + return Objects.equals(author, that.author) && Objects.equals(time, that.time) && Objects.equals(date, that.date) && Objects.equals(name, that.name) && Objects.equals(docNum, that.docNum); + } + + @Override + public int hashCode() { + return Objects.hash(author, time, date, name, docNum); + } + + @Override + public String toString() { + return "DocumentTagCur{" + + "author='" + author + '\'' + + ", time=" + time + + ", date=" + date + + ", name='" + name + '\'' + + ", docNum='" + docNum + '\'' + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/document/DocumentTagRub.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/document/DocumentTagRub.java new file mode 100644 index 000000000..94a850a0c --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/document/DocumentTagRub.java @@ -0,0 +1,111 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.document; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.Objects; + +public class DocumentTagRub { + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "AUTHOR") + private String author; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "TIME") + @JsonFormat(pattern = "HH:mm:ss") + private LocalTime time; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "DATE") + @JsonFormat(pattern = "dd.MM.yyyy") + private LocalDate date; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "NAME") + private String name; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "DOC_NUM") + private String docNum; + + public DocumentTagRub() { + } + + public DocumentTagRub(String author, + LocalTime time, + LocalDate date, + String name, + String docNum) { + this.author = author; + this.time = time; + this.date = date; + this.name = name; + this.docNum = docNum; + } + + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + + public LocalTime getTime() { + return time; + } + + public void setTime(LocalTime time) { + this.time = time; + } + + public LocalDate getDate() { + return date; + } + + public void setDate(LocalDate date) { + this.date = date; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDocNum() { + return docNum; + } + + public void setDocNum(String docNum) { + this.docNum = docNum; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + DocumentTagRub that = (DocumentTagRub) o; + return Objects.equals(author, that.author) && Objects.equals(time, that.time) && Objects.equals(date, that.date) && Objects.equals(name, that.name) && Objects.equals(docNum, that.docNum); + } + + @Override + public int hashCode() { + return Objects.hash(author, time, date, name, docNum); + } + + @Override + public String toString() { + return "DocumentTagRub{" + + "author='" + author + '\'' + + ", time=" + time + + ", date=" + date + + ", name='" + name + '\'' + + ", docNum='" + docNum + '\'' + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/RegistratorTagCur.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/RegistratorTagCur.java new file mode 100644 index 000000000..b427a170f --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/RegistratorTagCur.java @@ -0,0 +1,77 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.util.Objects; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.ClientTagCur; + +public class RegistratorTagCur { + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "FIRMID") + private String firmId; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "NAME") + private String name; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "CLIENT") + private ClientTagCur client; + + public RegistratorTagCur() { + } + + public RegistratorTagCur(String firmId, + String name, + ClientTagCur client) { + this.firmId = firmId; + this.name = name; + this.client = client; + } + + public String getFirmId() { + return firmId; + } + + public void setFirmId(String firmId) { + this.firmId = firmId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ClientTagCur getClient() { + return client; + } + + public void setClient(ClientTagCur client) { + this.client = client; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + RegistratorTagCur that = (RegistratorTagCur) o; + return Objects.equals(firmId, that.firmId) && Objects.equals(name, that.name) && Objects.equals(client, that.client); + } + + @Override + public int hashCode() { + return Objects.hash(firmId, name, client); + } + + @Override + public String toString() { + return "RegistratorTagCur{" + + "firmId='" + firmId + '\'' + + ", name='" + name + '\'' + + ", client=" + client + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/RegistratorTagRub.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/RegistratorTagRub.java new file mode 100644 index 000000000..de5437bee --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/RegistratorTagRub.java @@ -0,0 +1,77 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.util.Objects; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.ClientTagRub; + +public class RegistratorTagRub { + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "FIRMID") + private String firmId; + + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "NAME") + private String name; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "CLIENT") + private ClientTagRub client; + + public RegistratorTagRub() { + } + + public RegistratorTagRub(String firmId, + String name, + ClientTagRub client) { + this.firmId = firmId; + this.name = name; + this.client = client; + } + + public String getFirmId() { + return firmId; + } + + public void setFirmId(String firmId) { + this.firmId = firmId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ClientTagRub getClient() { + return client; + } + + public void setClient(ClientTagRub client) { + this.client = client; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + RegistratorTagRub that = (RegistratorTagRub) o; + return Objects.equals(firmId, that.firmId) && Objects.equals(name, that.name) && Objects.equals(client, that.client); + } + + @Override + public int hashCode() { + return Objects.hash(firmId, name, client); + } + + @Override + public String toString() { + return "RegistratorTagRub{" + + "firmId='" + firmId + '\'' + + ", name='" + name + '\'' + + ", client=" + client + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/ClientTagCur.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/ClientTagCur.java new file mode 100644 index 000000000..781368dac --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/ClientTagCur.java @@ -0,0 +1,61 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.util.Objects; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.AccountTagCur; + +public class ClientTagCur { + @JsonProperty + @JacksonXmlProperty(isAttribute = true, localName = "CLIENT_NAME") + private String clientName; + + @JsonProperty + @JacksonXmlProperty(localName = "ACCOUNT") + private AccountTagCur account; + + public ClientTagCur() { + } + + public ClientTagCur(String clientName, AccountTagCur account) { + this.clientName = clientName; + this.account = account; + } + + public String getClientName() { + return clientName; + } + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + public AccountTagCur getAccount() { + return account; + } + + public void setAccount(AccountTagCur account) { + this.account = account; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ClientTagCur that = (ClientTagCur) o; + return Objects.equals(clientName, that.clientName) && Objects.equals(account, that.account); + } + + @Override + public int hashCode() { + return Objects.hash(clientName, account); + } + + @Override + public String toString() { + return "ClientTagCur{" + + "clientName='" + clientName + '\'' + + ", account=" + account + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/ClientTagRub.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/ClientTagRub.java new file mode 100644 index 000000000..b13f5a295 --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/ClientTagRub.java @@ -0,0 +1,62 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.util.Objects; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.AccountTagRub; + +public class ClientTagRub { + @JsonProperty + @JacksonXmlProperty(isAttribute = true, localName = "CLIENT_NAME") + private String clientName; + + @JsonProperty + @JacksonXmlProperty(localName = "ACCOUNT") + private AccountTagRub account; + + public ClientTagRub() { + } + + public ClientTagRub(String clientName, + AccountTagRub account) { + this.clientName = clientName; + this.account = account; + } + + public String getClientName() { + return clientName; + } + + public void setClientName(String clientName) { + this.clientName = clientName; + } + + public AccountTagRub getAccount() { + return account; + } + + public void setAccount(AccountTagRub account) { + this.account = account; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + ClientTagRub that = (ClientTagRub) o; + return Objects.equals(clientName, that.clientName) && Objects.equals(account, that.account); + } + + @Override + public int hashCode() { + return Objects.hash(clientName, account); + } + + @Override + public String toString() { + return "ClientTagRub{" + + "clientName='" + clientName + '\'' + + ", account=" + account + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/AccountTagCur.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/AccountTagCur.java new file mode 100644 index 000000000..d1adc11ca --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/AccountTagCur.java @@ -0,0 +1,317 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.util.Objects; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.respond.RespondTagCur; + +public class AccountTagCur { + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "CURRENCY") + private String currency; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "NAME") + private String name; + + @JsonProperty + @JacksonXmlProperty(localName = "SWIFT_CODE") + private String swiftCode; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "ADDRESS") + private String address; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "ACCOUNT") + private String account; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "BANK_NAME") + private String bankName; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "BANK_ADDRESS") + private String bankAddress; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "BANK_SWIFT_CODE") + private String bankSwiftCode; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "BANK_ACCOUNT") + private String bankAccount; + + @JsonProperty + @JacksonXmlProperty(localName = "BANK_NAME_1") + private String bankName1; + + @JsonProperty + @JacksonXmlProperty(localName = "BANK_ADDRESS_1") + private String bankAddress1; + + @JsonProperty + @JacksonXmlProperty(localName = "BANK_ACCOUNT_1") + private String bankAccount1; + + @JsonProperty + @JacksonXmlProperty(localName = "INTERMEDIARY_SWIFT_CODE") + private String intermediarySwiftCode1; + + @JsonProperty + @JacksonXmlProperty(localName = "BANK_NAME_2") + private String bankName2; + + @JsonProperty + @JacksonXmlProperty(localName = "BANK_ADDRESS_2") + private String bankAddress2; + + @JsonProperty + @JacksonXmlProperty(localName = "BANK_ACCOUNT_2") + private String bankAccount2; + + @JsonProperty + @JacksonXmlProperty(localName = "INTERMEDIARY_SWIFT_CODE_2") + private String intermediarySwiftCode2; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "DESTINATION") + private String destination; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "RESPOND") + private RespondTagCur respondTag; + + public AccountTagCur() { + } + + public AccountTagCur(String currency, + String name, + String swiftCode, + String address, + String account, + String bankName, + String bankAddress, + String bankSwiftCode, + String bankAccount, + String bankName1, + String bankAddress1, + String bankAccount1, + String intermediarySwiftCode1, + String bankName2, + String bankAddress2, + String bankAccount2, + String intermediarySwiftCode2, + String destination, + RespondTagCur respondTag) { + this.currency = currency; + this.name = name; + this.swiftCode = swiftCode; + this.address = address; + this.account = account; + this.bankName = bankName; + this.bankAddress = bankAddress; + this.bankSwiftCode = bankSwiftCode; + this.bankAccount = bankAccount; + this.bankName1 = bankName1; + this.bankAddress1 = bankAddress1; + this.bankAccount1 = bankAccount1; + this.intermediarySwiftCode1 = intermediarySwiftCode1; + this.bankName2 = bankName2; + this.bankAddress2 = bankAddress2; + this.bankAccount2 = bankAccount2; + this.intermediarySwiftCode2 = intermediarySwiftCode2; + this.destination = destination; + this.respondTag = respondTag; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getSwiftCode() { + return swiftCode; + } + + public void setSwiftCode(String swiftCode) { + this.swiftCode = swiftCode; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + public String getBankAddress() { + return bankAddress; + } + + public void setBankAddress(String bankAddress) { + this.bankAddress = bankAddress; + } + + public String getBankSwiftCode() { + return bankSwiftCode; + } + + public void setBankSwiftCode(String bankSwiftCode) { + this.bankSwiftCode = bankSwiftCode; + } + + public String getBankAccount() { + return bankAccount; + } + + public void setBankAccount(String bankAccount) { + this.bankAccount = bankAccount; + } + + public String getBankName1() { + return bankName1; + } + + public void setBankName1(String bankName1) { + this.bankName1 = bankName1; + } + + public String getBankAddress1() { + return bankAddress1; + } + + public void setBankAddress1(String bankAddress1) { + this.bankAddress1 = bankAddress1; + } + + public String getBankAccount1() { + return bankAccount1; + } + + public void setBankAccount1(String bankAccount1) { + this.bankAccount1 = bankAccount1; + } + + public String getIntermediarySwiftCode1() { + return intermediarySwiftCode1; + } + + public void setIntermediarySwiftCode1(String intermediarySwiftCode1) { + this.intermediarySwiftCode1 = intermediarySwiftCode1; + } + + public String getBankName2() { + return bankName2; + } + + public void setBankName2(String bankName2) { + this.bankName2 = bankName2; + } + + public String getBankAddress2() { + return bankAddress2; + } + + public void setBankAddress2(String bankAddress2) { + this.bankAddress2 = bankAddress2; + } + + public String getBankAccount2() { + return bankAccount2; + } + + public void setBankAccount2(String bankAccount2) { + this.bankAccount2 = bankAccount2; + } + + public String getIntermediarySwiftCode2() { + return intermediarySwiftCode2; + } + + public void setIntermediarySwiftCode2(String intermediarySwiftCode2) { + this.intermediarySwiftCode2 = intermediarySwiftCode2; + } + + public String getDestination() { + return destination; + } + + public void setDestination(String destination) { + this.destination = destination; + } + + public RespondTagCur getRespondTag() { + return respondTag; + } + + public void setRespondTag(RespondTagCur respondTag) { + this.respondTag = respondTag; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AccountTagCur that = (AccountTagCur) o; + return Objects.equals(currency, that.currency) && Objects.equals(name, that.name) && Objects.equals(swiftCode, that.swiftCode) && Objects.equals(address, that.address) && Objects.equals(account, that.account) && Objects.equals(bankName, that.bankName) && Objects.equals(bankAddress, that.bankAddress) && Objects.equals(bankSwiftCode, that.bankSwiftCode) && Objects.equals(bankAccount, that.bankAccount) && Objects.equals(bankName1, that.bankName1) && Objects.equals(bankAddress1, that.bankAddress1) && Objects.equals(bankAccount1, that.bankAccount1) && Objects.equals(intermediarySwiftCode1, that.intermediarySwiftCode1) && Objects.equals(bankName2, that.bankName2) && Objects.equals(bankAddress2, that.bankAddress2) && Objects.equals(bankAccount2, that.bankAccount2) && Objects.equals(intermediarySwiftCode2, that.intermediarySwiftCode2) && Objects.equals(destination, that.destination) && Objects.equals(respondTag, that.respondTag); + } + + @Override + public int hashCode() { + return Objects.hash(currency, name, swiftCode, address, account, bankName, bankAddress, bankSwiftCode, bankAccount, bankName1, bankAddress1, bankAccount1, intermediarySwiftCode1, bankName2, bankAddress2, bankAccount2, intermediarySwiftCode2, destination, respondTag); + } + + @Override + public String toString() { + return "AccountTagCur{" + + "currency='" + currency + '\'' + + ", name='" + name + '\'' + + ", swiftCode='" + swiftCode + '\'' + + ", address='" + address + '\'' + + ", account='" + account + '\'' + + ", bankName='" + bankName + '\'' + + ", bankAddress='" + bankAddress + '\'' + + ", bankSwiftCode='" + bankSwiftCode + '\'' + + ", bankAccount='" + bankAccount + '\'' + + ", bankName1='" + bankName1 + '\'' + + ", bankAddress1='" + bankAddress1 + '\'' + + ", bankAccount1='" + bankAccount1 + '\'' + + ", intermediarySwiftCode1='" + intermediarySwiftCode1 + '\'' + + ", bankName2='" + bankName2 + '\'' + + ", bankAddress2='" + bankAddress2 + '\'' + + ", bankAccount2='" + bankAccount2 + '\'' + + ", intermediarySwiftCode2='" + intermediarySwiftCode2 + '\'' + + ", destination='" + destination + '\'' + + ", respondTag=" + respondTag + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/AccountTagRub.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/AccountTagRub.java new file mode 100644 index 000000000..2771e2a49 --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/AccountTagRub.java @@ -0,0 +1,257 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.util.Objects; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.respond.RespondTagRub; + +public class AccountTagRub { + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "CURRENCY") + private String currency; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "NAME") + private String name; + + @JsonProperty + @JacksonXmlProperty(localName = "PERSONAL_ACCOUNT") + private String personalAccount; + + @JsonProperty + @JacksonXmlProperty(localName = "BUDGET_CLASSIFICATION_CODE") + private String budgetClassificationCode; + + @JsonProperty + @JacksonXmlProperty(localName = "OKTMO") + private String oktmo; + + @JsonProperty + @JacksonXmlProperty(localName = "TIN") + private String tin; + + @JsonProperty + @JacksonXmlProperty(localName = "TRRC") + private String trrc; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "ACCOUNT") + private String account; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "BANK_NAME") + private String bankName; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "BANK_ADDRESS") + private String bankAddress; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "BIC") + private String bic; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "CORRESPONDENT_ACCOUNT") + private String correspondentAccount; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "DESTINATION") + private String destination; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "DISCONTINUATION_DATE") + private String discontinuationDate; + + @JsonProperty(required = true) + @JacksonXmlProperty(localName = "RESPOND") + private RespondTagRub respondTag; + + public AccountTagRub() { + } + + public AccountTagRub(String currency, + String name, + String personalAccount, + String budgetClassificationCode, + String oktmo, + String tin, + String trrc, + String account, + String bankName, + String bankAddress, + String bic, + String correspondentAccount, + String destination, + String discontinuationDate, + RespondTagRub respondTag) { + this.currency = currency; + this.name = name; + this.personalAccount = personalAccount; + this.budgetClassificationCode = budgetClassificationCode; + this.oktmo = oktmo; + this.tin = tin; + this.trrc = trrc; + this.account = account; + this.bankName = bankName; + this.bankAddress = bankAddress; + this.bic = bic; + this.correspondentAccount = correspondentAccount; + this.destination = destination; + this.discontinuationDate = discontinuationDate; + this.respondTag = respondTag; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPersonalAccount() { + return personalAccount; + } + + public void setPersonalAccount(String personalAccount) { + this.personalAccount = personalAccount; + } + + public String getBudgetClassificationCode() { + return budgetClassificationCode; + } + + public void setBudgetClassificationCode(String budgetClassificationCode) { + this.budgetClassificationCode = budgetClassificationCode; + } + + public String getOktmo() { + return oktmo; + } + + public void setOktmo(String oktmo) { + this.oktmo = oktmo; + } + + public String getTin() { + return tin; + } + + public void setTin(String tin) { + this.tin = tin; + } + + public String getTrrc() { + return trrc; + } + + public void setTrrc(String trrc) { + this.trrc = trrc; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + public String getBankAddress() { + return bankAddress; + } + + public void setBankAddress(String bankAddress) { + this.bankAddress = bankAddress; + } + + public String getBic() { + return bic; + } + + public void setBic(String bic) { + this.bic = bic; + } + + public String getCorrespondentAccount() { + return correspondentAccount; + } + + public void setCorrespondentAccount(String correspondentAccount) { + this.correspondentAccount = correspondentAccount; + } + + public String getDestination() { + return destination; + } + + public void setDestination(String destination) { + this.destination = destination; + } + + public String getDiscontinuationDate() { + return discontinuationDate; + } + + public void setDiscontinuationDate(String discontinuationDate) { + this.discontinuationDate = discontinuationDate; + } + + public void setRespondTag(RespondTagRub respondTag) { + this.respondTag = respondTag; + } + + public RespondTagRub getRespondTag() { + return respondTag; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + AccountTagRub that = (AccountTagRub) o; + return Objects.equals(currency, that.currency) && Objects.equals(name, that.name) && Objects.equals(personalAccount, that.personalAccount) && Objects.equals(budgetClassificationCode, that.budgetClassificationCode) && Objects.equals(oktmo, that.oktmo) && Objects.equals(tin, that.tin) && Objects.equals(trrc, that.trrc) && Objects.equals(account, that.account) && Objects.equals(bankName, that.bankName) && Objects.equals(bankAddress, that.bankAddress) && Objects.equals(bic, that.bic) && Objects.equals(correspondentAccount, that.correspondentAccount) && Objects.equals(destination, that.destination) && Objects.equals(discontinuationDate, that.discontinuationDate) && Objects.equals(respondTag, that.respondTag); + } + + @Override + public int hashCode() { + return Objects.hash(currency, name, personalAccount, budgetClassificationCode, oktmo, tin, trrc, account, bankName, bankAddress, bic, correspondentAccount, destination, discontinuationDate, respondTag); + } + + @Override + public String toString() { + return "AccountTagRub{" + + "currency='" + currency + '\'' + + ", name='" + name + '\'' + + ", personalAccount='" + personalAccount + '\'' + + ", budgetClassificationCode='" + budgetClassificationCode + '\'' + + ", oktmo='" + oktmo + '\'' + + ", tin='" + tin + '\'' + + ", trrc='" + trrc + '\'' + + ", account='" + account + '\'' + + ", bankName='" + bankName + '\'' + + ", bankAddress='" + bankAddress + '\'' + + ", bic='" + bic + '\'' + + ", correspondentAccount='" + correspondentAccount + '\'' + + ", destination='" + destination + '\'' + + ", discontinuationDate='" + discontinuationDate + '\'' + + ", respondTag=" + respondTag + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/respond/RespondTagCur.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/respond/RespondTagCur.java new file mode 100644 index 000000000..4f13107d5 --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/respond/RespondTagCur.java @@ -0,0 +1,46 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.respond; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.util.Objects; + +public class RespondTagCur { + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "STATUS") + private String status; + + public RespondTagCur() { + } + + public RespondTagCur(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + RespondTagCur that = (RespondTagCur) o; + return Objects.equals(status, that.status); + } + + @Override + public int hashCode() { + return Objects.hashCode(status); + } + + @Override + public String toString() { + return "RespondTagCur{" + + "status='" + status + '\'' + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/respond/RespondTagRub.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/respond/RespondTagRub.java new file mode 100644 index 000000000..362af6ea0 --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/lks/registrator/client/account/respond/RespondTagRub.java @@ -0,0 +1,46 @@ +package ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.respond; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import java.util.Objects; + +public class RespondTagRub { + @JsonProperty(required = true) + @JacksonXmlProperty(isAttribute = true, localName = "STATUS") + private String status; + + public RespondTagRub() { + } + + public RespondTagRub(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + RespondTagRub that = (RespondTagRub) o; + return Objects.equals(status, that.status); + } + + @Override + public int hashCode() { + return Objects.hashCode(status); + } + + @Override + public String toString() { + return "RespondTagRub{" + + "status='" + status + '\'' + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/DocumentTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/DocumentTag.java similarity index 95% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/DocumentTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/DocumentTag.java index ecd398e2b..214f71321 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/DocumentTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/DocumentTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; @@ -8,11 +8,11 @@ import java.time.LocalDate; import java.time.LocalTime; import java.util.List; import java.util.Objects; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.ObjectTag; import ru.spcex.platform.classes.base.SpcexObjectBase; @JacksonXmlRootElement(localName = "DOCUMENT") -public class DocumentTag { +public class DocumentTag implements ru.spcex.clearing.xml.importer.logic.data.tags.XmlFile { @JacksonXmlProperty(isAttribute = true, localName = "MESSAGEID") private String messageId; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/ParentDocTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/ParentDocTag.java similarity index 93% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/ParentDocTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/ParentDocTag.java index a1f8bb862..f64914356 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/ParentDocTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/ParentDocTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import java.util.Objects; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF01ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF01ObjectTag.java similarity index 98% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF01ObjectTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF01ObjectTag.java index 88797830f..f170306aa 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF01ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF01ObjectTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags.objects; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF04ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF04ObjectTag.java similarity index 99% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF04ObjectTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF04ObjectTag.java index e40382446..adf6f584e 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF04ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF04ObjectTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags.objects; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF06ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF06ObjectTag.java similarity index 98% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF06ObjectTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF06ObjectTag.java index 334b0e653..cb9cd4347 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF06ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF06ObjectTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags.objects; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF52ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF52ObjectTag.java similarity index 98% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF52ObjectTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF52ObjectTag.java index 7fc25418e..c68ff10b3 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF52ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF52ObjectTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags.objects; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF55ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF55ObjectTag.java similarity index 99% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF55ObjectTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF55ObjectTag.java index ea7298862..121cb6474 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF55ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF55ObjectTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags.objects; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF57ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF57ObjectTag.java similarity index 99% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF57ObjectTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF57ObjectTag.java index 2baa0c917..315892dbd 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/DF57ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/DF57ObjectTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags.objects; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/ObjectTag.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/ObjectTag.java similarity index 96% rename from clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/ObjectTag.java rename to clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/ObjectTag.java index 533fecf8c..c5f26079b 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/objects/ObjectTag.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/tags/sdf/objects/ObjectTag.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.xml.importer.logic.data.tags.objects; +package ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonSubTypes; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ChangeDirOfFileStage.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ChangeDirOfFileStage.java index a61c716de..b54918397 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ChangeDirOfFileStage.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ChangeDirOfFileStage.java @@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; +import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; import ru.spcex.platform.utils.time.TimeUtil; @@ -27,27 +28,33 @@ public class ChangeDirOfFileStage { public StageResult process(ResultContainer resultContainer) { log.info("uuid {}. Stage: Change directory of file", resultContainer.getUuid()); - File srcDir = new File(settings.getStore().getSrcDir()); + + File srcDir = new File(resultContainer.getXmlTable().getFileType().equals(FileType.SDF) ? + settings.getStoreSdf().getSrcDir() : + settings.getStoreLks().getSrcDir()); File outDir; if (resultContainer.getLastStageStatus().equals(StageResult.ERROR)) { - outDir = new File(settings.getStore().getOutDirError()); - + outDir = new File(resultContainer.getXmlTable().getFileType().equals(FileType.SDF) ? + settings.getStoreSdf().getOutDirError() : + settings.getStoreLks().getOutDirError()); } else { - outDir = new File(settings.getStore().getOutDir()); + outDir = new File(resultContainer.getXmlTable().getFileType().equals(FileType.SDF) ? + settings.getStoreSdf().getOutDir() : + settings.getStoreLks().getOutDir()); } - File xmlFile = resultContainer.getXmlFile(); + File xmlFile = resultContainer.getXmlFilePath(); if (!srcDir.exists()) { - log.error("SettlementHouse_DocIn does not exists!"); + log.error("Input directory does not exists!"); notifyWithCode(resultContainer, StageResult.ERROR); return StageResult.ERROR; } if (!outDir.exists()) { - log.warn("ouput directory {} does not exists! Trying to made new!", outDir.getAbsolutePath()); + log.warn("Output directory {} does not exists! Trying to made new!", outDir.getAbsolutePath()); if (outDir.mkdir()) { - log.error("Made dir {} successfully!", outDir.getName()); + log.error("Made directory {} successfully!", outDir.getName()); } else { - log.error("SettlementHouse_DocIn does not exists!"); + log.error("Can't create output directory {}!", outDir.getName()); notifyWithCode(resultContainer, StageResult.ERROR); return StageResult.ERROR; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java index a8ef05a82..36c6a02ca 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java @@ -2,13 +2,17 @@ package ru.spcex.clearing.xml.importer.logic.steps; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.sdf.SDf57; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; +import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.DocumentTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.ObjectTag; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; @@ -17,24 +21,35 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @Component public class ImportToDB { private final Logger log = LoggerFactory.getLogger(getClass()); - private final HazelcastService hazelcastService; + private final HazelcastService hazelcastServiceSdf; + private final HazelcastService hazelcastServiceLks; private final XmlImportKafkaMessenger kafkaMessenger; - public ImportToDB(HazelcastService hazelcastService, + public ImportToDB(@Qualifier("sdfImdgProvider") HazelcastService hazelcastServiceSdf, + @Qualifier("lksImdgProvider") HazelcastService hazelcastServiceLks, XmlImportKafkaMessenger kafkaMessenger) { - this.hazelcastService = hazelcastService; + this.hazelcastServiceSdf = hazelcastServiceSdf; + this.hazelcastServiceLks = hazelcastServiceLks; this.kafkaMessenger = kafkaMessenger; } public StageResult process(ResultContainer resultContainer) { log.info("uuid {}. Stage: Import to DB", resultContainer.getUuid()); - ETable currTable = resultContainer.getXmlTable(); - DocumentTag documentTag = resultContainer.getDocumentTag(); - String fileName = resultContainer.getXmlFile().getName(); - Long fileId = hazelcastService.getImdgIdGenerator().nextId(); + return switch (resultContainer.getXmlTable().getFileType()) { + case SDF -> processSdfFile(resultContainer); + case LKS -> processLksFile(resultContainer); + }; + } + + private StageResult processSdfFile(ResultContainer resultContainer) { + ETable currTable = resultContainer.getXmlTable(); + DocumentTag documentTag = (DocumentTag) resultContainer.getXmlFile(); + + String fileName = resultContainer.getXmlFilePath().getName(); + Long fileId = hazelcastServiceSdf.getImdgIdGenerator().nextId(); for (ObjectTag o : documentTag.getObjects()) { - o.setHazelcastService(hazelcastService); + o.setHazelcastService(hazelcastServiceSdf); o.setFileName(fileName); o.setGenerationId(fileId); @@ -42,14 +57,14 @@ public class ImportToDB { if (!o.checkOnExisting(entityTable) && entityTable instanceof SDf57) { kafkaMessenger.sendUserNotification(ObjectType.rgst, "Номер транзакции " + ((SDf57) entityTable).getDbfId() + " в полученном df57 уже был обработан ранее", - Priority.HIGH); + Priority.HIGH, FileType.SDF); } else { o.injectEntity(entityTable); } } if (ETable.DF_01.equals(currTable)) { - kafkaMessenger.sendPairSdfRequest(fileName, fileId, currTable.getPrefix()); + kafkaMessenger.sendPairSdfRequest(fileName, fileId, currTable.name()); } kafkaMessenger.notifySystemIfNeeded(currTable, fileId); kafkaMessenger.notifyUserAboutSuccessLoad(resultContainer); @@ -57,4 +72,21 @@ public class ImportToDB { log.info("uuid {}. Stage import to DB finished with status {}", resultContainer.getUuid(), StageResult.OK); return StageResult.OK; } + + private StageResult processLksFile(ResultContainer resultContainer) { + if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_RUB)) { + AccountListRub accountListRub = (AccountListRub) resultContainer.getXmlFile(); + log.info(accountListRub.toString()); + + return StageResult.OK; + } else if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_CUR)) { + AccountListCur accountListCur = (AccountListCur) resultContainer.getXmlFile(); + log.info(accountListCur.toString()); + + return StageResult.OK; + } + + log.error("Table type {} is not supported", resultContainer.getXmlTable()); + return StageResult.ERROR; + } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ReadXMLFile.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ReadXMLFile.java index 48b10fc16..12b22b9c8 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ReadXMLFile.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ReadXMLFile.java @@ -7,8 +7,12 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; +import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; +import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.DocumentTag; import ru.spcex.platform.utils.log.ExceptionUtils; @Component @@ -26,7 +30,16 @@ public class ReadXMLFile { public StageResult process(ResultContainer resultContainer) { log.info("uuid {}. Stage: Reading XML file", resultContainer.getUuid()); try { - resultContainer.setDocumentTag(xmlMapper.readValue(resultContainer.getXmlFile(), DocumentTag.class)); + if (resultContainer.getXmlTable().getFileType().equals(FileType.SDF)) { + resultContainer.setXmlFile(xmlMapper.readValue(resultContainer.getXmlFilePath(), DocumentTag.class)); + } else if (resultContainer.getXmlTable().getFileType().equals(FileType.LKS)) { + if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_RUB)) { + resultContainer.setXmlFile(xmlMapper.readValue(resultContainer.getXmlFilePath(), AccountListRub.class)); + } else if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_CUR)) { + resultContainer.setXmlFile(xmlMapper.readValue(resultContainer.getXmlFilePath(), AccountListCur.class)); + } + } + return StageResult.OK; } catch (IOException e) { log.error(ExceptionUtils.getStackTrace(e)); diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java index 166fcdb8f..d031068d4 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java @@ -9,6 +9,7 @@ import java.util.function.Supplier; 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.Component; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest; @@ -17,8 +18,10 @@ import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationNew import ru.spcex.clearing.platform.messaging.domain.cud.utilities.PairSdfRequest; import ru.spcex.clearing.platform.messaging.serialization.LogFormatter; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; +import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; @@ -27,22 +30,29 @@ import ru.spcex.platform.enumeration.SdfTable; @Component public class XmlImportKafkaMessenger implements InitializingBean { final Logger log = LoggerFactory.getLogger(getClass()); - private final Supplier kafka; + private final Supplier kafkaSdf; + private final Supplier kafkaLks; private final Map> messengers; - public XmlImportKafkaMessenger(Supplier kafka) { - this.kafka = kafka; + private final ImportXMLServiceSettings settings; + + public XmlImportKafkaMessenger(@Qualifier("kafkaSenderSdf") Supplier kafkaSdf, + @Qualifier("kafkaSenderLks") Supplier kafkaLks, + ImportXMLServiceSettings settings) { + this.kafkaSdf = kafkaSdf; + this.kafkaLks = kafkaLks; + this.settings = settings; this.messengers = new HashMap<>(); } @Override public void afterPropertiesSet() { - messengers.put(ETable.DF_01, groupId -> messageStatement(groupId, SdfTable.SDF_01)); - messengers.put(ETable.DF_04, groupId -> messageStatement(groupId, SdfTable.SDF_04)); - messengers.put(ETable.DF_06, groupId -> messageStatement(groupId, SdfTable.SDF_06, Consts.STATEMENT_PROCESS_SDF06)); - messengers.put(ETable.DF_52, groupId -> messageStatement(groupId, SdfTable.SDF_52, Consts.ACCOUNT_PROCESS_SDF52)); - messengers.put(ETable.DF_55, groupId -> messageStatement(groupId, SdfTable.SDF_55)); - messengers.put(ETable.DF_57, groupId -> messageStatement(groupId, SdfTable.SDF_57)); + messengers.put(ETable.DF_01, groupId -> messageStatement(groupId, SdfTable.SDF_01, FileType.SDF)); + messengers.put(ETable.DF_04, groupId -> messageStatement(groupId, SdfTable.SDF_04, FileType.SDF)); + messengers.put(ETable.DF_06, groupId -> messageStatement(groupId, SdfTable.SDF_06, Consts.STATEMENT_PROCESS_SDF06, FileType.SDF)); + messengers.put(ETable.DF_52, groupId -> messageStatement(groupId, SdfTable.SDF_52, Consts.ACCOUNT_PROCESS_SDF52, FileType.SDF)); + messengers.put(ETable.DF_55, groupId -> messageStatement(groupId, SdfTable.SDF_55, FileType.SDF)); + messengers.put(ETable.DF_57, groupId -> messageStatement(groupId, SdfTable.SDF_57, FileType.SDF)); } /** @@ -57,12 +67,12 @@ public class XmlImportKafkaMessenger implements InitializingBean { } public void notifyUserAboutErrorParsing(Throwable error, ResultContainer resultContainer) { - if (resultContainer == null || resultContainer.getXmlFile() == null) + if (resultContainer == null || resultContainer.getXmlFilePath() == null) return; - String fileName = resultContainer.getXmlFile().getName(); + String fileName = resultContainer.getXmlFilePath().getName(); log.debug("Notify user about error {} \"{}\"", resultContainer.getXmlTable(), fileName); - sendUserNotification(ObjectType.rgst, String.format("Файл \"%s\" не сохранен", fileName), Priority.HIGH); + sendUserNotification(ObjectType.rgst, String.format("Файл \"%s\" не сохранен", fileName), Priority.HIGH, resultContainer.getXmlTable().getFileType()); } public void notifyUserAboutSuccessLoad(ResultContainer resultContainer) { @@ -70,35 +80,54 @@ public class XmlImportKafkaMessenger implements InitializingBean { if (!(StageResult.OK == resultContainer.getLastStageStatus() || StageResult.COMPLETE == resultContainer.getLastStageStatus())) { return; } - String fileName = resultContainer.getXmlFile().getName(); + String fileName = resultContainer.getXmlFilePath().getName(); log.debug("Notify user about success {} \"{}\"", resultContainer.getXmlTable(), fileName); - sendUserNotification(ObjectType.rgst, String.format("Загружен \"%s\" - успешно", fileName), Priority.LOW); + sendUserNotification(ObjectType.rgst, String.format("Загружен \"%s\" - успешно", fileName), Priority.LOW, resultContainer.getXmlTable().getFileType()); } } - public void sendUserNotification(ObjectType objectType, String comment, Priority priority) { + public void sendUserNotification(ObjectType objectType, String comment, Priority priority, FileType fileType) { final String destination = Consts.NOTIFICATION_NEW; NotificationNewRequest request = new NotificationNewRequest(); request.setObjectType(objectType.getKey()); request.setPriority(priority.getKey()); request.setComment(comment); log.debug("Send message to kafka \"{}\": {}", destination, LogFormatter.toStringWrapper(request)); - Long rKey = kafka.get().sendRequestToQueue(destination, request); - log.trace("For user send message, request id={}", rKey); + + switch (fileType) { + case SDF -> { + Long rKey = kafkaSdf.get().sendRequestToQueue(destination, request); + log.trace("For user send message to SDF kafka, request id={}", rKey); + } + case LKS -> { + Long rKey = kafkaLks.get().sendRequestToQueue(destination, request); + log.trace("For user send message to LKS kafka, request id={}", rKey); + } + } } - private void messageStatement(Long groupId, SdfTable table) { - messageStatement(groupId, table, Consts.STATEMENT_PROCESS); + private void messageStatement(Long groupId, SdfTable table, FileType fileType) { + messageStatement(groupId, table, Consts.STATEMENT_PROCESS, fileType); } - private void messageStatement(Long groupId, SdfTable table, String destination) { + private void messageStatement(Long groupId, SdfTable table, String destination, FileType fileType) { StatementRequest statementRequest = new StatementRequest(); statementRequest.setGroupId(groupId); statementRequest.setTable(table); - Long msgId = kafka.get().sendRequestToQueue(destination, statementRequest); - log.debug("Send StatementRequest({}, {}) message id={} to kafka \"{}\"", - groupId, table, msgId, destination); + + switch (fileType) { + case SDF -> { + Long msgId = kafkaSdf.get().sendRequestToQueue(destination, statementRequest); + log.debug("Send StatementRequest({}, {}) message id={} to SDF kafka \"{}\"", + groupId, table, msgId, destination); + } + case LKS -> { + Long msgId = kafkaLks.get().sendRequestToQueue(destination, statementRequest); + log.debug("Send StatementRequest({}, {}) message id={} to LKS kafka \"{}\"", + groupId, table, msgId, destination); + } + } } public void sendPairSdfRequest(String fileName, Long fileId, String tableSdf) { @@ -106,13 +135,15 @@ public class XmlImportKafkaMessenger implements InitializingBean { request.setFileNameSDf(fileName); request.setGenerationId(fileId); request.setTableSDf(tableSdf); - Long msgId = kafka.get().sendRequestToQueue(PAIR_SDF, request); - log.info("Send PairSdfRequest={} message id={} to kafka \"{}\"", LogFormatter.toString(request), msgId, PAIR_SDF); + + Long msgId = kafkaSdf.get().sendRequestToQueue(PAIR_SDF, request); + log.info("Send PairSdfRequest={} message id={} to SDF kafka \"{}\"", LogFormatter.toString(request), msgId, PAIR_SDF); } private void messageDf04(Long groupId) { Sdf04Request sdf04ImportNotification = new Sdf04Request(); sdf04ImportNotification.setGroupId(groupId); - kafka.get().sendRequestToQueue(Consts.SDF04_PROCESS, sdf04ImportNotification); + + kafkaSdf.get().sendRequestToQueue(Consts.SDF04_PROCESS, sdf04ImportNotification); } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java index 08ca7dc2c..f8662b972 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java @@ -20,24 +20,45 @@ import org.springframework.stereotype.Service; import ru.spcex.clearing.xml.importer.config.SFTPConfig; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; +import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.platform.utils.log.ExceptionUtils; @Service("fileChecker") public class FileChecker { private final Logger log = LoggerFactory.getLogger(this.getClass()); private final ImportXMLServiceSettings settings; - private final SFTPConfig.XmlGateway gateway; + private final SFTPConfig.XmlGatewaySdf gatewaySdf; + private final SFTPConfig.XmlGatewayLks gatewayLks; - public FileChecker(ImportXMLServiceSettings settings, SFTPConfig.XmlGateway gateway) { + public FileChecker(ImportXMLServiceSettings settings, + SFTPConfig.XmlGatewaySdf gatewaySdf, + SFTPConfig.XmlGatewayLks gatewayLks) { this.settings = settings; - this.gateway = gateway; + this.gatewaySdf = gatewaySdf; + this.gatewayLks = gatewayLks; } public Map> checkNewFiles(ETable specificTable) { Map> newFiles = new EnumMap<>(ETable.class); - String srcDir = settings.getStore().getSrcDir(); - List xmlFiles = lsXML(srcDir); + List srcDir = new ArrayList<>(); + if (specificTable == null) { + if (settings.isProcessSdfFiles()) { + srcDir.add(settings.getStoreSdf().getSrcDir()); + } + if (settings.isProcessLksFiles()) { + srcDir.add(settings.getStoreLks().getSrcDir()); + } + } else { + srcDir.add(specificTable.getFileType().equals(FileType.SDF) ? + settings.getStoreSdf().getSrcDir() : + settings.getStoreLks().getSrcDir()); + } + + List xmlFiles = srcDir.stream() + .map(this::lsXML) + .flatMap(List::stream) + .toList(); if (xmlFiles.isEmpty()) return newFiles; for (File xmlFile : xmlFiles) { @@ -60,7 +81,7 @@ public class FileChecker { .map(Path::toFile) .filter(file -> file.getName().toLowerCase(Locale.ROOT).endsWith(".xml")) .sorted(Comparator.comparingLong(File::lastModified)) - .collect(Collectors.toList()); + .toList(); } catch (IOException e) { log.error("Error reading 'service.store.src-dir' : {}", ExceptionUtils.getStackTrace(e)); } @@ -69,15 +90,31 @@ public class FileChecker { } public void checkAndLoadSFTP() { - if (settings.getStore().getSftpIn().getSftpSrcPayValDir() == null || settings.getStore().getSftpIn().getSftpSrcPayValDir().isEmpty()) { - log.error("No SFTP scanning directories, need will be adding setting like 'import-xml-service.store.sftp-in.sftp-src-pay-val-dir.VAL=/VAL' and restart app"); + if (settings.isProcessSdfFiles() && (settings.getStoreSdf().getSftpIn().getSftpSrcPayValDir() == null || settings.getStoreSdf().getSftpIn().getSftpSrcPayValDir().isEmpty())) { + log.error("No SFTP scanning directories, need will be adding setting like 'import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.VAL=/VAL' and restart app"); return; } - List files = new ArrayList<>(); - log.trace("Load from SFTP paths: {}", settings.getStore().getSftpIn().getSftpSrcPayValDir().values()); - for (String path : settings.getStore().getSftpIn().getSftpSrcPayValDir().values()) { - files.addAll(gateway.listFiles(path)); + if (settings.isProcessLksFiles() && (settings.getStoreLks().getSftpIn().getSftpSrcPayValDir() == null || settings.getStoreLks().getSftpIn().getSftpSrcPayValDir().isEmpty())) { + log.error("No SFTP scanning directories, need will be adding setting like 'import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.VAL=/VAL' and restart app"); + return; + } + + List files = new ArrayList<>(); + if (settings.isProcessSdfFiles()) { + log.trace("Load from SFTP paths: {}", settings.getStoreSdf().getSftpIn().getSftpSrcPayValDir().values()); + for (String path : settings.getStoreSdf().getSftpIn().getSftpSrcPayValDir().values()) { + files.addAll(gatewaySdf.listFiles(path)); + } + if (!files.isEmpty()) + log.info("Loaded from SFTP SDF files count={}", files.size()); + } + if (settings.isProcessLksFiles()) { + log.trace("Load from SFTP paths: {}", settings.getStoreLks().getSftpIn().getSftpSrcPayValDir().values()); + for (String path : settings.getStoreLks().getSftpIn().getSftpSrcPayValDir().values()) { + files.addAll(gatewayLks.listFiles(path)); + } + if (!files.isEmpty()) + log.info("Loaded from SFTP LKS files count={}", files.size()); } - if (!files.isEmpty()) log.info("Loaded from SFTP files count={}", files.size()); } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/XMLImporterService.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/XMLImporterService.java index 42d947cc8..2ee47a039 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/XMLImporterService.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/XMLImporterService.java @@ -21,6 +21,7 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; +import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; @@ -41,22 +42,30 @@ public class XMLImporterService { private final ImportToDB importToDB; private final ChangeDirOfFileStage changeDirOfFileStage; + private final ImportXMLServiceSettings settings; + public XMLImporterService(@Qualifier("fileChecker") FileChecker fileChecker, @Qualifier("executor") ThreadPoolTaskExecutor executorService, ReadXMLFile readXMLFile, ImportToDB importToDB, - ChangeDirOfFileStage changeDirOfFileStage) { + ChangeDirOfFileStage changeDirOfFileStage, + ImportXMLServiceSettings settings) { this.fileChecker = fileChecker; this.executorService = executorService; this.readXMLFile = readXMLFile; this.importToDB = importToDB; this.changeDirOfFileStage = changeDirOfFileStage; + this.settings = settings; this.filesCurrentlyInProcess = new HashSet<>(); } - @Scheduled(cron = "${import-xml-service.scheduler.check-src-dir-cron}") + @Scheduled(cron = "${import-xml-service.cron.check-src-dir-cron}") public void run() { - processTable(null); + if (settings.isProcessSdfFiles() || settings.isProcessLksFiles()) { + processTable(null); + } else { + log.warn("Turn on SDF or LKS file processing in application.properties!"); + } } public void processTable(ETable specificTable) { diff --git a/clearing-parent/xml-importer/src/main/resources/application.properties b/clearing-parent/xml-importer/src/main/resources/application.properties index ce6eeec80..a7caae4a6 100644 --- a/clearing-parent/xml-importer/src/main/resources/application.properties +++ b/clearing-parent/xml-importer/src/main/resources/application.properties @@ -2,42 +2,85 @@ server.port=8081 server.servlet.context-path=/xml-importer spring.main.web-application-type=servlet -import-xml-service.scheduler.check-src-dir-cron=* * * * 1 ? +import-xml-service.process-sdf-files=true +import-xml-service.process-lks-files=true -import-xml-service.store.delete-src-files=false -import-xml-service.store.src-dir=/opt/clearing/file/xml-importer/ -import-xml-service.store.out-dir=/opt/clearing/file/xml-importer/loaded/ -import-xml-service.store.out-dir-error=/opt/clearing/file/xml-importer/error/ +import-xml-service.cron.check-src-dir-cron=* * * * 1 ? import-xml-service.common.encoding-source=cp866 import-xml-service.common.insert-batch-size=100 import-xml-service.common.threads-count=10 -#sftpSrcDir -import-xml-service.store.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ -import-xml-service.store.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ -import-xml-service.store.sftp-in.sftp-src-dir=clearing_xml-importer_sftp -import-xml-service.store.sftp-in.user=user -import-xml-service.store.sftp-in.password=********* -import-xml-service.store.sftp-in.server-ip=127.0.0.1 -import-xml-service.store.sftp-in.server-port=22 +# SDF settings +# Hazelcast cluster +import-xml-service.sdf-hazelcast-and-kafka.hazelcast.cluster-members=10.200.200.181:5701 +import-xml-service.sdf-hazelcast-and-kafka.hazelcast.login=dev +import-xml-service.sdf-hazelcast-and-kafka.hazelcast.password=dev-pass -import-xml-service.hazelcast.cluster-members=10.200.200.181:5701 -import-xml-service.hazelcast.login=dev -import-xml-service.hazelcast.password=dev-pass +# Store directories +import-xml-service.store-sdf.delete-src-files=false +import-xml-service.store-sdf.src-dir=/opt/clearing/file/xml-importer/ +import-xml-service.store-sdf.out-dir=/opt/clearing/file/xml-importer/loaded/ +import-xml-service.store-sdf.out-dir-error=/opt/clearing/file/xml-importer/error/= +# Sftp directories and credentials +import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ +import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ +import-xml-service.store-sdf.sftp-in.sftp-src-dir=clearing_xml-importer_sftp +import-xml-service.store-sdf.sftp-in.user=user +import-xml-service.store-sdf.sftp-in.password=********* +import-xml-service.store-sdf.sftp-in.server-ip=127.0.0.1 +import-xml-service.store-sdf.sftp-in.server-port=22 -import-xml-service.kafka-producer.bootstrap-servers=localhost:9092 -import-xml-service.kafka-producer.acks=all -import-xml-service.kafka-producer.retries=0 -import-xml-service.kafka-producer.batch-size=16384 -import-xml-service.kafka-producer.linger-ms=1 -import-xml-service.kafka-producer.buffer-memory=33554432 +# Kafka settings +# Kafka producer +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.bootstrap-servers=localhost:9092 +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.acks=all +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.retries=0 +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.batch-size=16384 +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.linger-ms=1 +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.buffer-memory=33554432 -import-xml-service.kafka-consumer.bootstrap-servers=localhost:9092 -import-xml-service.kafka-consumer.group-id=dev-group-clearing-service -import-xml-service.kafka-consumer.enable-auto-commit=false -import-xml-service.kafka-consumer.session-timeout-ms=30000 -import-xml-service.kafka-consumer.auto-offset-reset=latest -import-xml-service.kafka-consumer.linger-ms=1 -import-xml-service.kafka-consumer.buffer-memory=33554432 \ No newline at end of file +# Kafka consumer +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.bootstrap-servers=localhost:9092 +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.group-id=dev-group-clearing-service +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.enable-auto-commit=false +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.session-timeout-ms=30000 +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.auto-offset-reset=latest + +# LKS settings +# Hazelcast cluster +import-xml-service.lks-hazelcast-and-kafka.hazelcast.cluster-members=10.200.200.181:5701 +import-xml-service.lks-hazelcast-and-kafka.hazelcast.login=dev +import-xml-service.lks-hazelcast-and-kafka.hazelcast.password=dev-pass + +# Store directories +import-xml-service.store-lks.delete-src-files=false +import-xml-service.store-lks.src-dir=/opt/clearing/file/xml-importer/ +import-xml-service.store-lks.out-dir=/opt/clearing/file/xml-importer/loaded/ +import-xml-service.store-lks.out-dir-error=/opt/clearing/file/xml-importer/error/= + +# Sftp directories and credentials +import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ +import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ +import-xml-service.store-lks.sftp-in.sftp-src-dir=clearing_xml-importer_sftp +import-xml-service.store-lks.sftp-in.user=user +import-xml-service.store-lks.sftp-in.password=********* +import-xml-service.store-lks.sftp-in.server-ip=127.0.0.1 +import-xml-service.store-lks.sftp-in.server-port=22 + +# Kafka settings +# Kafka producer +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.bootstrap-servers=localhost:9092 +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.acks=all +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.retries=0 +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.batch-size=16384 +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.linger-ms=1 +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.buffer-memory=33554432 + +# Kafka consumer +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.bootstrap-servers=localhost:9092 +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.group-id=dev-group-clearing-service +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.enable-auto-commit=false +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.session-timeout-ms=30000 +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.auto-offset-reset=latest \ No newline at end of file diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java new file mode 100644 index 000000000..eb4f76190 --- /dev/null +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java @@ -0,0 +1,117 @@ +package ru.spcex.clearing.xml.importer.config; + +import com.hazelcast.config.Config; +import com.hazelcast.config.JoinConfig; +import com.hazelcast.config.MulticastConfig; +import com.hazelcast.config.NetworkConfig; +import com.hazelcast.config.TcpIpConfig; +import com.hazelcast.core.Hazelcast; +import com.hazelcast.core.HazelcastInstance; +import java.util.List; +import java.util.Random; +import java.util.concurrent.atomic.AtomicLong; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import ru.clearing.classes.statics.data.user.UserRoleSession; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.platform.enumeration.Status; +import ru.spcex.platform.enumeration.UserRole; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; +import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; +import ru.spcex.platform.imdg.iml.hazelcast.util.HazelcastHelper; + +@Configuration +public class ImporterImdgTestConfig { + public static final AtomicLong currentID = new AtomicLong(0L); + public static final Long defaultAdminId = 1000L; + private HazelcastInstance hazelcastInstance; + private static ImdgProvider imdgProvider; + + public static void waitAvailableImdgProviderAndAddAdminWithDefaultId(){ + imdgProvider.waitAvailable(); + Imdg userRoleSessions = imdgProvider.getImdg(IMDGDistributedNames.Map_UserRoleSession, UserRoleSession.class); + UserRoleSession userRoleSession = new UserRoleSession(); + userRoleSession.setUserId(defaultAdminId); + userRoleSession.setUserRole(UserRole.Admin.getKey()); + userRoleSession.setStatus(Status.Active.getKey()); + userRoleSessions.insert(userRoleSession); + } + + private static ThreadPoolTaskExecutor createThreadPoolTestTaskExecutor(int maxPoolSz, boolean waitForCompletion) { + ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor(); + if (maxPoolSz > 2) { + pool.setKeepAliveSeconds(60); + pool.setAllowCoreThreadTimeOut(true); + } + pool.setCorePoolSize(maxPoolSz); + pool.setWaitForTasksToCompleteOnShutdown(waitForCompletion); + return pool; + } + + @Bean(name = "taskExecutorHazelcastTestClientInitializerXmlImporter") + public ThreadPoolTaskExecutor taskExecutorHazelcastTestClientInitializer() { + return createThreadPoolTestTaskExecutor(1, true); + } + + @Bean(name = "taskExecutorTestIdGeneratorAwaiterXmlImporter") + public ThreadPoolTaskExecutor taskExecutorTestIdGeneratorAwaiter() { + return createThreadPoolTestTaskExecutor(1, false); + } + + @Autowired + @Bean(name = "sdfImdgProvider") + public HazelcastService imdgTestProviderSdf( + @Qualifier("taskExecutorHazelcastTestClientInitializerXmlImporter") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, + @Qualifier("taskExecutorTestIdGeneratorAwaiterXmlImporter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, + @Qualifier("hazelcastClientParamsXmlImporter") HazelcastClientParams params) { + Config cfg = new Config(); + cfg.setInstanceName("localhost"); + + NetworkConfig networkConfig = new NetworkConfig(); + JoinConfig joinConfig = new JoinConfig(); + joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(false)); + joinConfig.setTcpIpConfig(new TcpIpConfig().setEnabled(true).setMembers(List.of("127.0.0.1"))); + networkConfig.setJoin(joinConfig); + cfg.setNetworkConfig(networkConfig); + hazelcastInstance = Hazelcast.getOrCreateHazelcastInstance(cfg); + HazelcastHelper.imdgSystem_setStorageState(true, hazelcastInstance); + return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, params); + } + + @Autowired + @Bean(name = "lksImdgProvider") + public HazelcastService imdgTestProviderLks( + @Qualifier("taskExecutorHazelcastTestClientInitializerXmlImporter") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, + @Qualifier("taskExecutorTestIdGeneratorAwaiterXmlImporter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, + @Qualifier("hazelcastClientParamsXmlImporter") HazelcastClientParams params) { + Config cfg = new Config(); + cfg.setInstanceName("localhost"); + + NetworkConfig networkConfig = new NetworkConfig(); + JoinConfig joinConfig = new JoinConfig(); + joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(false)); + joinConfig.setTcpIpConfig(new TcpIpConfig().setEnabled(true).setMembers(List.of("127.0.0.1"))); + networkConfig.setJoin(joinConfig); + cfg.setNetworkConfig(networkConfig); + hazelcastInstance = Hazelcast.getOrCreateHazelcastInstance(cfg); + HazelcastHelper.imdgSystem_setStorageState(true, hazelcastInstance); + return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, params); + } + + @Bean(name = "hazelcastClientParamsXmlImporter") + public HazelcastClientParams getHazelcastClientParams() { + HazelcastClientParams params = new HazelcastClientParams(); + params.setLogin("dev"); + params.setPassword("dev-pass"); + params.setClusterMembers("127.0.0.1"); + params.setInstanceName("hzTestClient" + new Random().nextInt()); +// params.setNearCacheConfig(new NearCacheConfig()); Если добавить будет с опазданием(8-12с) обновлятся данные для метода Imdg.getSingleObjectByID +// (getSingleObjectByFieldValues, getAllValues, getSingleObjectBySQL работают корректно) при ТРАНЗАКЦИЯХ. Используется в проде(по факту нет) если в конфиг добавить эту настройку.. + return params; + } +} diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java new file mode 100644 index 000000000..01767a7ec --- /dev/null +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java @@ -0,0 +1,172 @@ +package ru.spcex.clearing.xml.importer.config; + +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.function.Supplier; +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.MockConsumer; +import org.apache.kafka.clients.consumer.OffsetResetStrategy; +import org.apache.kafka.clients.producer.MockProducer; +import org.apache.kafka.clients.producer.Producer; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.mockito.ArgumentCaptor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.boot.test.mock.mockito.MockReset; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.Scope; +import org.springframework.kafka.core.KafkaTemplate; +import org.springframework.kafka.requestreply.ReplyingKafkaTemplate; +import org.springframework.kafka.requestreply.RequestReplyFuture; +import org.springframework.kafka.support.SendResult; +import org.springframework.util.concurrent.ListenableFuture; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.service.RequestInfo; +import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.clearing.test.TestUtils; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgId; +import ru.spcex.platform.imdg.api.ImdgProvider; + +@Configuration +@Import(ImporterImdgTestConfig.class) +public class KafkaTestConfig { + public static final Map, ArgumentCaptor> producerCaptors = new HashMap<>(); + public static final Map, ArgumentCaptor> templateCaptors = new HashMap<>(); + + //из-за очисткой перед каждым тестом(MockReset.withSettings(MockReset.AFTER) необходимо каждый раз обновлять doReturn + public static ArgumentCaptor getCaptor(Producer mockProducer) { + ArgumentCaptor captor = producerCaptors.get(mockProducer); + setFuture(captor, mockProducer); + return captor; + } + + public static ArgumentCaptor getCaptor(KafkaTemplate kafkaTemplate) { + ArgumentCaptor captor = templateCaptors.get(kafkaTemplate); + setFuture(captor, (ReplyingKafkaTemplate) kafkaTemplate); + return captor; + } + + public static void setFuture(ArgumentCaptor captor, Producer mockProducer) { + TestUtils.FutureRecordMetadata future = spy(new TestUtils.FutureRecordMetadata()); + doReturn(future).when(mockProducer).send(captor.capture()); + } + + /** + * Позволяет избежать NPE при вызове Future.get(), из-за очисткой перед каждым тестом(MockReset.withSettings(MockReset.AFTER) необходимо обновлять перед вызовом + * + * @param mockProducer + */ + public static void setMockFuture(Producer mockProducer) { + ArgumentCaptor captor = producerCaptors.get(mockProducer); + setFuture(captor, mockProducer); + } + + public static void setFuture(ArgumentCaptor recordArgumentCaptor, ReplyingKafkaTemplate kafkaTemplate) { + + //sendToQueueWaitForAnswer + RequestReplyFuture replyFuture = spy(RequestReplyFuture.class); + + doReturn(replyFuture).when(kafkaTemplate).sendAndReceive(recordArgumentCaptor.capture()); + + ConsumerRecord consumerRecord = mock(ConsumerRecord.class); + try { + doReturn(consumerRecord).when(replyFuture).get(10, TimeUnit.SECONDS); + } catch (InterruptedException | ExecutionException | TimeoutException | ClassCastException e) { + if (e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + } + doReturn(null).when(consumerRecord).value(); + + //sendRequestToQueue + ListenableFuture> send = mock(ListenableFuture.class); + doReturn(send).when(kafkaTemplate).send(recordArgumentCaptor.capture()); + try { + doReturn(null).when(send).get(); + } catch (InterruptedException | ExecutionException e) { + if (e instanceof InterruptedException) { + Thread.currentThread().interrupt(); + } + } + } + + /** + * Позволяет избежать NPE при вызове Future.get(), из-за очисткой перед каждым тестом(MockReset.withSettings(MockReset.AFTER) необходимо обновлять перед вызовом + * + * @param kafkaTemplate + */ + public static void setMockFuture(KafkaTemplate kafkaTemplate) { + ArgumentCaptor captor = templateCaptors.get(kafkaTemplate); + setFuture(captor, (ReplyingKafkaTemplate) kafkaTemplate); + } + + // @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) + @Bean("mockProducer") + public Producer kafkaProducer() { + Producer mockProducer = mock(MockProducer.class, MockReset.withSettings(MockReset.AFTER)); + ArgumentCaptor recordArgumentCaptor = ArgumentCaptor.forClass(ProducerRecord.class); + setFuture(recordArgumentCaptor, mockProducer); + producerCaptors.put(mockProducer, recordArgumentCaptor); + return mockProducer; + } + + @Bean("kafkaTestTemplate") + public KafkaTemplate kafkaTemplate() { + ReplyingKafkaTemplate kafkaTemplate = mock(ReplyingKafkaTemplate.class, MockReset.withSettings(MockReset.AFTER)); + ArgumentCaptor recordArgumentCaptor = ArgumentCaptor.forClass(ProducerRecord.class); + setFuture(recordArgumentCaptor, kafkaTemplate); + templateCaptors.put(kafkaTemplate, recordArgumentCaptor); + return kafkaTemplate; + } + + @Bean("kafkaSenderSdf") + public Supplier kafkaSenderSdf(@Qualifier("kafkaTestTemplate") KafkaTemplate kafkaTemplate, + @Qualifier("sdfImdgProvider") ImdgProvider imdgProvider, + Producer mockProducer) { + ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); + return () -> KafkaSender + .setup() + .setKafkaTemplate(kafkaTemplate) + .producer(mockProducer) + .idGenerator(imdgIdGenerator::nextId) + .imdgProvider(s -> { + Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); + return imdg::insert; + }) + .build(); + } + + @Bean("kafkaSenderLks") + public Supplier kafkaSenderLks(@Qualifier("kafkaTestTemplate") KafkaTemplate kafkaTemplate, + @Qualifier("lksImdgProvider") ImdgProvider imdgProvider, + Producer mockProducer) { + ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); + return () -> KafkaSender + .setup() + .setKafkaTemplate(kafkaTemplate) + .producer(mockProducer) + .idGenerator(imdgIdGenerator::nextId) + .imdgProvider(s -> { + Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); + return imdg::insert; + }) + .build(); + } + + @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) + @Bean + public MockConsumer createTestConsumer() { + return new MockConsumer<>(OffsetResetStrategy.EARLIEST); + } +} diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java index 9778f8e1b..7ef3616ab 100644 --- a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java @@ -9,19 +9,13 @@ import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Objects; import javax.annotation.PostConstruct; -import org.apache.kafka.clients.producer.MockProducer; -import org.apache.kafka.clients.producer.Producer; -import org.apache.kafka.clients.producer.ProducerRecord; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; -import org.mockito.ArgumentCaptor; -import org.mockito.Captor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.TestPropertySource; import ru.clearing.classes.statics.data.sdf.SDf01; @@ -32,31 +26,31 @@ import ru.clearing.classes.statics.data.sdf.SDf55; import ru.clearing.classes.statics.data.sdf.SDf57; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.test.TestObjectCreator; -import ru.spcex.clearing.test.config.ImdgTestConfig; -import ru.spcex.clearing.test.config.KafkaTestConfig; +import ru.spcex.clearing.xml.importer.config.ImporterImdgTestConfig; +import ru.spcex.clearing.xml.importer.config.KafkaTestConfig; import ru.spcex.clearing.xml.importer.config.XMLImporterConfig; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.ParentDocTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF01ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF04ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF06ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF52ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF55ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF57ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.DocumentTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.ParentDocTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF01ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF04ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF06ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF52ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF55ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF57ObjectTag; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @SpringBootTest(classes = { + ImporterImdgTestConfig.class, + KafkaTestConfig.class, ImportToDB.class, ImportXMLServiceSettings.class, XmlImportKafkaMessenger.class, XMLImporterConfig.class, - ImdgTestConfig.class, - KafkaTestConfig.class, }) @TestPropertySource(properties = {"spring.config.location=./src/test/resources/"}) @DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD) @@ -65,17 +59,9 @@ class ImportToDBTest { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yy"); @Autowired - @Qualifier("hazelcastServiceTest") + @Qualifier("sdfImdgProvider") private HazelcastService hazelcastService; - @Captor - private ArgumentCaptor producerRecord; - @SpyBean - private MockProducer producer; - @Autowired - @Qualifier("mockProducer") - protected Producer mockProducer; - @Autowired private ImportToDB importToDB; @@ -120,7 +106,7 @@ class ImportToDBTest { new File(Objects.requireNonNull(getClass() .getClassLoader() .getResource("xml/DF-01_S_PRC1604240915_1.xml")).getFile())); - actualResultContainer.setDocumentTag(expectedDocumentTag); + actualResultContainer.setXmlFile(expectedDocumentTag); StageResult stageResult = importToDB.process(actualResultContainer); @@ -179,7 +165,7 @@ class ImportToDBTest { new File(Objects.requireNonNull(getClass() .getClassLoader() .getResource("xml/DF-04_S_PRC1604240915_1.xml")).getFile())); - actualResultContainer.setDocumentTag(expectedDocumentTag); + actualResultContainer.setXmlFile(expectedDocumentTag); StageResult stageResult = importToDB.process(actualResultContainer); @@ -239,7 +225,7 @@ class ImportToDBTest { new File(Objects.requireNonNull(getClass() .getClassLoader() .getResource("xml/DF-06_S_PRC1604240915_1.xml")).getFile())); - actualResultContainer.setDocumentTag(expectedDocumentTag); + actualResultContainer.setXmlFile(expectedDocumentTag); StageResult stageResult = importToDB.process(actualResultContainer); @@ -292,7 +278,7 @@ class ImportToDBTest { new File(Objects.requireNonNull(getClass() .getClassLoader() .getResource("xml/DF-52_S_PRC1604240915_1.xml")).getFile())); - actualResultContainer.setDocumentTag(expectedDocumentTag); + actualResultContainer.setXmlFile(expectedDocumentTag); StageResult stageResult = importToDB.process(actualResultContainer); @@ -363,7 +349,7 @@ class ImportToDBTest { new File(Objects.requireNonNull(getClass() .getClassLoader() .getResource("xml/DF-55_S_PRC1604240915_1.xml")).getFile())); - actualResultContainer.setDocumentTag(expectedDocumentTag); + actualResultContainer.setXmlFile(expectedDocumentTag); StageResult stageResult = importToDB.process(actualResultContainer); @@ -457,7 +443,7 @@ class ImportToDBTest { new File(Objects.requireNonNull(getClass() .getClassLoader() .getResource("xml/DF-57_S_PRC1604240915_1.xml")).getFile())); - actualResultContainer.setDocumentTag(expectedDocumentTag); + actualResultContainer.setXmlFile(expectedDocumentTag); StageResult stageResult = importToDB.process(actualResultContainer); diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ReadXMLFileTest.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ReadXMLFileTest.java index dfd5299a4..7102d3796 100644 --- a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ReadXMLFileTest.java +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ReadXMLFileTest.java @@ -3,6 +3,7 @@ package ru.spcex.clearing.xml.importer.logic.steps; import java.io.File; import java.math.BigDecimal; import java.math.BigInteger; +import java.net.URISyntaxException; import java.time.LocalDate; import java.time.LocalTime; import java.util.Objects; @@ -14,27 +15,40 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.TestPropertySource; import ru.spcex.clearing.test.config.ImdgTestConfig; -import ru.spcex.clearing.test.config.KafkaTestConfig; +import ru.spcex.clearing.xml.importer.config.ImporterImdgTestConfig; +import ru.spcex.clearing.xml.importer.config.KafkaTestConfig; import ru.spcex.clearing.xml.importer.config.XMLImporterConfig; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.importer.logic.data.tags.DocumentTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF01ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF04ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF06ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF52ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF55ObjectTag; -import ru.spcex.clearing.xml.importer.logic.data.tags.objects.DF57ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.document.DocumentTagCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.document.DocumentTagRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.RegistratorTagCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.RegistratorTagRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.ClientTagCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.ClientTagRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.AccountTagCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.AccountTagRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.respond.RespondTagCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.respond.RespondTagRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.DocumentTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF01ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF04ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF06ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF52ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF55ObjectTag; +import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.DF57ObjectTag; @SpringBootTest(classes = { + ImporterImdgTestConfig.class, + KafkaTestConfig.class, ReadXMLFile.class, ImportXMLServiceSettings.class, XmlImportKafkaMessenger.class, XMLImporterConfig.class, - ImdgTestConfig.class, - KafkaTestConfig.class, }) @TestPropertySource(properties = {"spring.config.location=./src/test/resources/"}) class ReadXMLFileTest { @@ -44,11 +58,39 @@ class ReadXMLFileTest { private ReadXMLFile readXMLFile; @Test - void process_shouldReadSDf01XMLFile() { + void process_shouldReadSDf01XMLFileAndTestHeaders() throws URISyntaxException { ResultContainer actualResultContainer = new ResultContainer(ETable.DF_01, new File(Objects.requireNonNull(getClass() .getClassLoader() - .getResource("xml/DF-01_S_PRC1604240915_1.xml")).getFile())); + .getResource("xml/DF-01_S_PRC1604240915_1.xml")).toURI())); + + StageResult processResult = readXMLFile.process(actualResultContainer); + + DocumentTag expectedDocumentTag = new DocumentTag(); + expectedDocumentTag.setMessageId("qq"); + expectedDocumentTag.setMessageType("DF01"); + expectedDocumentTag.setMessageName("ww"); + expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); + expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); + expectedDocumentTag.setSender("БИСКВИТ"); + expectedDocumentTag.setReceiver(""); + + Assertions.assertThat(processResult).isEqualTo(StageResult.OK); + Assertions.assertThat(((DocumentTag) actualResultContainer.getXmlFile()).getMessageId()).isEqualTo(expectedDocumentTag.getMessageId()); + Assertions.assertThat(((DocumentTag) actualResultContainer.getXmlFile()).getMessageType()).isEqualTo(expectedDocumentTag.getMessageType()); + Assertions.assertThat(((DocumentTag) actualResultContainer.getXmlFile()).getMessageName()).isEqualTo(expectedDocumentTag.getMessageName()); + Assertions.assertThat(((DocumentTag) actualResultContainer.getXmlFile()).getMessageDate()).isEqualTo(expectedDocumentTag.getMessageDate()); + Assertions.assertThat(((DocumentTag) actualResultContainer.getXmlFile()).getMessageTime()).isEqualTo(expectedDocumentTag.getMessageTime()); + Assertions.assertThat(((DocumentTag) actualResultContainer.getXmlFile()).getSender()).isEqualTo(expectedDocumentTag.getSender()); + Assertions.assertThat(((DocumentTag) actualResultContainer.getXmlFile()).getReceiver()).isEqualTo(expectedDocumentTag.getReceiver()); + } + + @Test + void process_shouldReadSDf01XMLFile() throws URISyntaxException { + ResultContainer actualResultContainer = new ResultContainer(ETable.DF_01, + new File(Objects.requireNonNull(getClass() + .getClassLoader() + .getResource("xml/DF-01_S_PRC1604240915_1.xml")).toURI())); StageResult processResult = readXMLFile.process(actualResultContainer); @@ -66,7 +108,7 @@ class ReadXMLFileTest { expectedObjectTag.setSumunblock("test10"); expectedObjectTag.setFileType("1"); - DF01ObjectTag actualObjectTag = (DF01ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); + DF01ObjectTag actualObjectTag = (DF01ObjectTag) ((DocumentTag) actualResultContainer.getXmlFile()).getObjects().get(0); Assertions.assertThat(processResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualObjectTag.getCurrCode()).isEqualTo(expectedObjectTag.getCurrCode()); @@ -84,11 +126,11 @@ class ReadXMLFileTest { } @Test - void process_shouldReadSDf04XMLFile() { + void process_shouldReadSDf04XMLFile() throws URISyntaxException { ResultContainer actualResultContainer = new ResultContainer(ETable.DF_04, new File(Objects.requireNonNull(getClass() .getClassLoader() - .getResource("xml/DF-04_S_PRC1604240915_1.xml")).getFile())); + .getResource("xml/DF-04_S_PRC1604240915_1.xml")).toURI())); StageResult processResult = readXMLFile.process(actualResultContainer); @@ -107,7 +149,7 @@ class ReadXMLFileTest { expectedObjectTag.setSpecif1("test11"); expectedObjectTag.setImpResult("t12"); - DF04ObjectTag actualObjectTag = (DF04ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); + DF04ObjectTag actualObjectTag = (DF04ObjectTag) ((DocumentTag) actualResultContainer.getXmlFile()).getObjects().get(0); Assertions.assertThat(processResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualObjectTag.getSegType()).isEqualTo(expectedObjectTag.getSegType()); @@ -126,11 +168,11 @@ class ReadXMLFileTest { } @Test - void process_shouldReadSDf06XMLFile() { + void process_shouldReadSDf06XMLFile() throws URISyntaxException { ResultContainer actualResultContainer = new ResultContainer(ETable.DF_06, new File(Objects.requireNonNull(getClass() .getClassLoader() - .getResource("xml/DF-06_S_PRC1604240915_1.xml")).getFile())); + .getResource("xml/DF-06_S_PRC1604240915_1.xml")).toURI())); StageResult processResult = readXMLFile.process(actualResultContainer); @@ -149,7 +191,7 @@ class ReadXMLFileTest { expectedObjectTag.setDocDate(LocalDate.parse("2024-03-14")); expectedObjectTag.setPayVal("test12"); - DF06ObjectTag actualObjectTag = (DF06ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); + DF06ObjectTag actualObjectTag = (DF06ObjectTag) ((DocumentTag) actualResultContainer.getXmlFile()).getObjects().get(0); Assertions.assertThat(processResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualObjectTag.getAccount()).isEqualTo(expectedObjectTag.getAccount()); @@ -168,11 +210,11 @@ class ReadXMLFileTest { } @Test - void process_shouldReadSDf52XMLFile() { + void process_shouldReadSDf52XMLFile() throws URISyntaxException { ResultContainer actualResultContainer = new ResultContainer(ETable.DF_52, new File(Objects.requireNonNull(getClass() .getClassLoader() - .getResource("xml/DF-52_S_PRC1604240915_1.xml")).getFile())); + .getResource("xml/DF-52_S_PRC1604240915_1.xml")).toURI())); StageResult processResult = readXMLFile.process(actualResultContainer); @@ -184,7 +226,7 @@ class ReadXMLFileTest { expectedObjectTag.setAccType("t5"); expectedObjectTag.setStatus(1L); - DF52ObjectTag actualObjectTag = (DF52ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); + DF52ObjectTag actualObjectTag = (DF52ObjectTag) ((DocumentTag) actualResultContainer.getXmlFile()).getObjects().get(0); Assertions.assertThat(processResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualObjectTag.getAccount()).isEqualTo(expectedObjectTag.getAccount()); @@ -196,11 +238,11 @@ class ReadXMLFileTest { } @Test - void process_shouldReadSDf55XMLFile() { + void process_shouldReadSDf55XMLFile() throws URISyntaxException { ResultContainer actualResultContainer = new ResultContainer(ETable.DF_55, new File(Objects.requireNonNull(getClass() .getClassLoader() - .getResource("xml/DF-55_S_PRC1604240915_1.xml")).getFile())); + .getResource("xml/DF-55_S_PRC1604240915_1.xml")).toURI())); StageResult processResult = readXMLFile.process(actualResultContainer); @@ -237,7 +279,7 @@ class ReadXMLFileTest { expectedObjectTag.setSwiftBen("test27"); expectedObjectTag.setSwiftInt("test28"); - DF55ObjectTag actualObjectTag = (DF55ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); + DF55ObjectTag actualObjectTag = (DF55ObjectTag) ((DocumentTag) actualResultContainer.getXmlFile()).getObjects().get(0); Assertions.assertThat(processResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualObjectTag.getSegType()).isEqualTo(expectedObjectTag.getSegType()); @@ -274,11 +316,11 @@ class ReadXMLFileTest { } @Test - void process_shouldReadSDf57XMLFile() { + void process_shouldReadSDf57XMLFile() throws URISyntaxException { ResultContainer actualResultContainer = new ResultContainer(ETable.DF_57, new File(Objects.requireNonNull(getClass() .getClassLoader() - .getResource("xml/DF-57_S_PRC1604240915_1.xml")).getFile())); + .getResource("xml/DF-57_S_PRC1604240915_1.xml")).toURI())); StageResult processResult = readXMLFile.process(actualResultContainer); @@ -313,7 +355,7 @@ class ReadXMLFileTest { expectedObjectTag.setDtOut("test25"); expectedObjectTag.setKtOut("test26"); - DF57ObjectTag actualObjectTag = (DF57ObjectTag) actualResultContainer.getDocumentTag().getObjects().get(0); + DF57ObjectTag actualObjectTag = (DF57ObjectTag) ((DocumentTag) actualResultContainer.getXmlFile()).getObjects().get(0); Assertions.assertThat(processResult).isEqualTo(StageResult.OK); Assertions.assertThat(actualObjectTag.getId()).isEqualTo(expectedObjectTag.getId()); @@ -348,30 +390,118 @@ class ReadXMLFileTest { } @Test - void process_shouldReadSDf01XMLFileAndTestHeaders() { - ResultContainer actualResultContainer = new ResultContainer(ETable.DF_01, + void process_shouldReaLKSAccountListRubXMLFile() throws URISyntaxException { + ResultContainer actualResultContainer = new ResultContainer(ETable.ACCOUNT_LIST_RUB, new File(Objects.requireNonNull(getClass() .getClassLoader() - .getResource("xml/DF-01_S_PRC1604240915_1.xml")).getFile())); + .getResource("xml/FIRMID_ACCOUNT_LIST_20240910_RUB_00001.XML")).toURI())); StageResult processResult = readXMLFile.process(actualResultContainer); - DocumentTag expectedDocumentTag = new DocumentTag(); - expectedDocumentTag.setMessageId("qq"); - expectedDocumentTag.setMessageType("DF01"); - expectedDocumentTag.setMessageName("ww"); - expectedDocumentTag.setMessageDate(LocalDate.parse("2024-03-14")); - expectedDocumentTag.setMessageTime(LocalTime.parse("09:15:31")); - expectedDocumentTag.setSender("БИСКВИТ"); - expectedDocumentTag.setReceiver(""); + DocumentTagRub expectedDocumentTagRub = new DocumentTagRub(); + expectedDocumentTagRub.setAuthor("Система БИС"); + expectedDocumentTagRub.setTime(LocalTime.parse("14:23:01")); + expectedDocumentTagRub.setDate(LocalDate.parse("2024-08-21")); + expectedDocumentTagRub.setName("Запрос на согласование перечня счетов в рублях"); + expectedDocumentTagRub.setDocNum("1"); + + RespondTagRub expectedRespondTagRub = new RespondTagRub("1"); + + AccountTagRub expectedAccountTagRub = new AccountTagRub(); + expectedAccountTagRub.setCurrency("RUB"); + expectedAccountTagRub.setName("Public Join Stock Company «Romashka»"); + expectedAccountTagRub.setPersonalAccount("test1"); + expectedAccountTagRub.setBudgetClassificationCode("test2"); + expectedAccountTagRub.setOktmo("test3"); + expectedAccountTagRub.setTin("test4"); + expectedAccountTagRub.setTrrc("test5"); + expectedAccountTagRub.setAccount("test6"); + expectedAccountTagRub.setBankName("test7"); + expectedAccountTagRub.setBankAddress("test8"); + expectedAccountTagRub.setBic("test9"); + expectedAccountTagRub.setCorrespondentAccount("test10"); + expectedAccountTagRub.setDestination("test11"); + expectedAccountTagRub.setDiscontinuationDate("test12"); + expectedAccountTagRub.setRespondTag(expectedRespondTagRub); + + ClientTagRub expectedClientTagRub = new ClientTagRub(); + expectedClientTagRub.setClientName("ПАО ВТБ"); + expectedClientTagRub.setAccount(expectedAccountTagRub); + + RegistratorTagRub expectedRegistratorTagRub = new RegistratorTagRub(); + expectedRegistratorTagRub.setFirmId("001"); + expectedRegistratorTagRub.setName("ПРЦ"); + expectedRegistratorTagRub.setClient(expectedClientTagRub); + + AccountListRub expectedAccountListRub = new AccountListRub(); + expectedAccountListRub.setDocument(expectedDocumentTagRub); + expectedAccountListRub.setRegistrator(expectedRegistratorTagRub); + + AccountListRub actualAccountListRub = (AccountListRub) actualResultContainer.getXmlFile(); Assertions.assertThat(processResult).isEqualTo(StageResult.OK); - Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageId()).isEqualTo(expectedDocumentTag.getMessageId()); - Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageType()).isEqualTo(expectedDocumentTag.getMessageType()); - Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageName()).isEqualTo(expectedDocumentTag.getMessageName()); - Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageDate()).isEqualTo(expectedDocumentTag.getMessageDate()); - Assertions.assertThat(actualResultContainer.getDocumentTag().getMessageTime()).isEqualTo(expectedDocumentTag.getMessageTime()); - Assertions.assertThat(actualResultContainer.getDocumentTag().getSender()).isEqualTo(expectedDocumentTag.getSender()); - Assertions.assertThat(actualResultContainer.getDocumentTag().getReceiver()).isEqualTo(expectedDocumentTag.getReceiver()); + Assertions.assertThat(actualAccountListRub) + .usingRecursiveComparison() + .isEqualTo(expectedAccountListRub); + } + + @Test + void process_shouldReaLKSAccountListCurXMLFile() throws URISyntaxException { + ResultContainer actualResultContainer = new ResultContainer(ETable.ACCOUNT_LIST_CUR, + new File(Objects.requireNonNull(getClass() + .getClassLoader() + .getResource("xml/FIRMID_ACCOUNT_LIST_20240910_CNY_00001.XML")).toURI())); + + StageResult processResult = readXMLFile.process(actualResultContainer); + + DocumentTagCur expectedDocumentTagCur = new DocumentTagCur(); + expectedDocumentTagCur.setAuthor("Система БИС"); + expectedDocumentTagCur.setTime(LocalTime.parse("14:23:01")); + expectedDocumentTagCur.setDate(LocalDate.parse("2024-08-21")); + expectedDocumentTagCur.setName("Запрос на согласование перечня счетов в юанях"); + expectedDocumentTagCur.setDocNum("1"); + + RespondTagCur expectedRespondTagCur = new RespondTagCur("1"); + + AccountTagCur expectedAccountTagCur = new AccountTagCur(); + expectedAccountTagCur.setCurrency("CNY"); + expectedAccountTagCur.setName("Public Join Stock Company «Romashka»"); + expectedAccountTagCur.setSwiftCode("SUBRRUMM"); + expectedAccountTagCur.setAddress("Moscow,Russia"); + expectedAccountTagCur.setAccount("BR1500000000000010932840814P2"); + expectedAccountTagCur.setBankName("Cberbank PJSC"); + expectedAccountTagCur.setBankAddress("Moscow, Russia"); + expectedAccountTagCur.setBankSwiftCode("SUBRRUMM"); + expectedAccountTagCur.setBankAccount("30101840000000000225"); + expectedAccountTagCur.setBankName1("ZiaBao"); + expectedAccountTagCur.setBankAddress1("Beijing, China"); + expectedAccountTagCur.setBankAccount1("8900085754"); + expectedAccountTagCur.setIntermediarySwiftCode1("BKCHCNBJ"); + expectedAccountTagCur.setBankName2("XuiTao Inc"); + expectedAccountTagCur.setBankAddress2("Beijing, China"); + expectedAccountTagCur.setBankAccount2("890008777"); + expectedAccountTagCur.setIntermediarySwiftCode2("BKCHCXXX"); + expectedAccountTagCur.setDestination("Clearing services agr. № 45872 from 21.05.2023"); + expectedAccountTagCur.setRespondTag(expectedRespondTagCur); + + ClientTagCur expectedClientTagCur = new ClientTagCur(); + expectedClientTagCur.setClientName("ПАО ВТБ"); + expectedClientTagCur.setAccount(expectedAccountTagCur); + + RegistratorTagCur expectedRegistratorTagCur = new RegistratorTagCur(); + expectedRegistratorTagCur.setFirmId("001"); + expectedRegistratorTagCur.setName("ПРЦ"); + expectedRegistratorTagCur.setClient(expectedClientTagCur); + + AccountListCur expectedAccountListCur = new AccountListCur(); + expectedAccountListCur.setDocument(expectedDocumentTagCur); + expectedAccountListCur.setRegistrator(expectedRegistratorTagCur); + + AccountListCur actualAccountListCur = (AccountListCur) actualResultContainer.getXmlFile(); + + Assertions.assertThat(processResult).isEqualTo(StageResult.OK); + Assertions.assertThat(actualAccountListCur) + .usingRecursiveComparison() + .isEqualTo(expectedAccountListCur); } } \ No newline at end of file diff --git a/clearing-parent/xml-importer/src/test/resources/application.properties b/clearing-parent/xml-importer/src/test/resources/application.properties index 6150e0955..386256555 100644 --- a/clearing-parent/xml-importer/src/test/resources/application.properties +++ b/clearing-parent/xml-importer/src/test/resources/application.properties @@ -2,42 +2,85 @@ server.port=8081 server.servlet.context-path=/xml-importer spring.main.web-application-type=servlet -import-xml-service.scheduler.check-src-dir-cron=* * * * 1 ? +import-xml-service.process-sdf-files=true +import-xml-service.process-lks-files=true -import-xml-service.store.delete-src-files=false -import-xml-service.store.src-dir=/opt/clearing/file/xml-importer/ -import-xml-service.store.out-dir=/opt/clearing/file/xml-importer/loaded/ -import-xml-service.store.out-dir-error=/opt/clearing/file/xml-importer/error/ +import-xml-service.cron.check-src-dir-cron=* * * * 1 ? import-xml-service.common.encoding-source=cp866 import-xml-service.common.insert-batch-size=100 import-xml-service.common.threads-count=10 -#sftpSrcDir -import-xml-service.store.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ -import-xml-service.store.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ -import-xml-service.store.sftp-in.sftp-src-dir=clearing_xml-importer_sftp -import-xml-service.store.sftp-in.user=user -import-xml-service.store.sftp-in.password=********* -import-xml-service.store.sftp-in.server-ip=127.0.0.1 -import-xml-service.store.sftp-in.server-port=22 +# SDF settings +# Hazelcast cluster +import-xml-service.sdf-hazelcast-and-kafka.hazelcast.cluster-members=localhost:5701 +import-xml-service.sdf-hazelcast-and-kafka.hazelcast.login=dev +import-xml-service.sdf-hazelcast-and-kafka.hazelcast.password=dev-pass -import-xml-service.hazelcast.cluster-members=127.0.0.1:5701 -import-xml-service.hazelcast.login=dev -import-xml-service.hazelcast.password=dev-pass +# Store directories +import-xml-service.store-sdf.delete-src-files=false +import-xml-service.store-sdf.src-dir=/opt/clearing/file/xml-importer/ +import-xml-service.store-sdf.out-dir=/opt/clearing/file/xml-importer/loaded/ +import-xml-service.store-sdf.out-dir-error=/opt/clearing/file/xml-importer/error/= +# Sftp directories and credentials +import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ +import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ +import-xml-service.store-sdf.sftp-in.sftp-src-dir=clearing_xml-importer_sftp +import-xml-service.store-sdf.sftp-in.user=user +import-xml-service.store-sdf.sftp-in.password=********* +import-xml-service.store-sdf.sftp-in.server-ip=127.0.0.1 +import-xml-service.store-sdf.sftp-in.server-port=22 -import-xml-service.kafka-producer.bootstrap-servers=localhost:9092 -import-xml-service.kafka-producer.acks=all -import-xml-service.kafka-producer.retries=0 -import-xml-service.kafka-producer.batch-size=16384 -import-xml-service.kafka-producer.linger-ms=1 -import-xml-service.kafka-producer.buffer-memory=33554432 +# Kafka settings +# Kafka producer +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.bootstrap-servers=localhost:9092 +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.acks=all +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.retries=0 +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.batch-size=16384 +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.linger-ms=1 +import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.buffer-memory=33554432 -import-xml-service.kafka-consumer.bootstrap-servers=localhost:9092 -import-xml-service.kafka-consumer.group-id=dev-group-clearing-service -import-xml-service.kafka-consumer.enable-auto-commit=false -import-xml-service.kafka-consumer.session-timeout-ms=30000 -import-xml-service.kafka-consumer.auto-offset-reset=latest -import-xml-service.kafka-consumer.linger-ms=1 -import-xml-service.kafka-consumer.buffer-memory=33554432 \ No newline at end of file +# Kafka consumer +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.bootstrap-servers=localhost:9092 +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.group-id=dev-group-clearing-service +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.enable-auto-commit=false +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.session-timeout-ms=30000 +import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.auto-offset-reset=latest + +# LKS settings +# Hazelcast cluster +import-xml-service.lks-hazelcast-and-kafka.hazelcast.cluster-members=localhost:5701 +import-xml-service.lks-hazelcast-and-kafka.hazelcast.login=dev +import-xml-service.lks-hazelcast-and-kafka.hazelcast.password=dev-pass + +# Store directories +import-xml-service.store-lks.delete-src-files=false +import-xml-service.store-lks.src-dir=/opt/clearing/file/xml-importer/ +import-xml-service.store-lks.out-dir=/opt/clearing/file/xml-importer/loaded/ +import-xml-service.store-lks.out-dir-error=/opt/clearing/file/xml-importer/error/= + +# Sftp directories and credentials +import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ +import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ +import-xml-service.store-lks.sftp-in.sftp-src-dir=clearing_xml-importer_sftp +import-xml-service.store-lks.sftp-in.user=user +import-xml-service.store-lks.sftp-in.password=********* +import-xml-service.store-lks.sftp-in.server-ip=127.0.0.1 +import-xml-service.store-lks.sftp-in.server-port=22 + +# Kafka settings +# Kafka producer +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.bootstrap-servers=localhost:9092 +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.acks=all +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.retries=0 +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.batch-size=16384 +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.linger-ms=1 +import-xml-service.lks-hazelcast-and-kafka.kafka-producer.buffer-memory=33554432 + +# Kafka consumer +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.bootstrap-servers=localhost:9092 +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.group-id=dev-group-clearing-service +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.enable-auto-commit=false +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.session-timeout-ms=30000 +import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.auto-offset-reset=latest \ No newline at end of file diff --git a/clearing-parent/xml-importer/src/test/resources/xml/FIRMID_ACCOUNT_LIST_20240910_CNY_00001.xml b/clearing-parent/xml-importer/src/test/resources/xml/FIRMID_ACCOUNT_LIST_20240910_CNY_00001.xml new file mode 100644 index 000000000..01d8ad82f --- /dev/null +++ b/clearing-parent/xml-importer/src/test/resources/xml/FIRMID_ACCOUNT_LIST_20240910_CNY_00001.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/clearing-parent/xml-importer/src/test/resources/xml/FIRMID_ACCOUNT_LIST_20240910_RUB_00001.xml b/clearing-parent/xml-importer/src/test/resources/xml/FIRMID_ACCOUNT_LIST_20240910_RUB_00001.xml new file mode 100644 index 000000000..30a52d887 --- /dev/null +++ b/clearing-parent/xml-importer/src/test/resources/xml/FIRMID_ACCOUNT_LIST_20240910_RUB_00001.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + \ No newline at end of file From 426d608a445eb7b9df728d75b9f11a54a35238b8 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Tue, 10 Sep 2024 17:51:43 +0300 Subject: [PATCH 06/16] http://jira.mfd.msk:8088/browse/CLS-742 bug fixes --- .../backendapi/config/MetaConfiguration.java | 7 +++-- .../PaymentInstructionOutboundService.java | 16 +++++------ .../messaging/service/QueueConsumer.java | 27 ++++++++++--------- .../messaging/service/QueueConsumerV2.java | 12 ++++++--- 4 files changed, 32 insertions(+), 30 deletions(-) diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java index 639edd9fb..e5527b883 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/config/MetaConfiguration.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.nio.file.Files; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; @@ -12,12 +14,9 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.io.Resource; import ru.spcex.clearing.backendapi.meta.MetaServer; -import java.io.IOException; -import java.nio.file.Files; - @Configuration public class MetaConfiguration { - @Value("file:${spring.config.location}/meta/meta.json") + @Value("file:${spring.config.location}/meta.json") private Resource meta; @Bean("metaJson") diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/payment/PaymentInstructionOutboundService.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/payment/PaymentInstructionOutboundService.java index 80b59e008..96e2c35fc 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/payment/PaymentInstructionOutboundService.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/payment/PaymentInstructionOutboundService.java @@ -1,5 +1,8 @@ package ru.spcex.clearing.service.payment; +import static ru.spcex.clearing.session.stage.impl.GatewayRequester.mapError; +import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; + import java.math.BigDecimal; import java.time.Instant; import java.util.Locale; @@ -40,7 +43,6 @@ import ru.spcex.clearing.service.registry.RegistryManager; import ru.spcex.clearing.service.schedule.TradingTimeService; import ru.spcex.clearing.service.validation.ValidationStored; import ru.spcex.clearing.session.stage.impl.GatewayRequester; -import static ru.spcex.clearing.session.stage.impl.GatewayRequester.mapError; import ru.spcex.clearing.util.LocaleUtil; import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.platform.enumeration.CurrencyCode; @@ -55,7 +57,6 @@ import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.IEnumId; import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.localization.SpringPropertiesLocalizer; -import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; import ru.spcex.platform.utils.text.TextUtil; import ru.spcex.platform.utils.validation.IValidator; @@ -188,14 +189,9 @@ public class PaymentInstructionOutboundService { sDf54.setId(idGenerator.nextId()); sDf54.setGenerationId(pmt.getId()); if (time.isTradingTime()) { - Supplier builder = () -> { - if (tcr != null) { - return GatewayRequestCreator.from(pmt, - assets.get().a__b().getTradingCode(), - tcr.getCode()); - } - return null; - }; + Supplier builder = () -> GatewayRequestCreator.from(pmt, + assets.get().a__b().getTradingCode(), + tcr == null ? null : tcr.getCode()); Optional gatewayOk = gateway.gatewayRequestAndWait(builder); if (gatewayOk.isEmpty() || gatewayOk.get().equals(Boolean.FALSE)) { String gtwErrMsg = msgs.resolve(mapError(gatewayOk)); diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java index ca4322b92..1e86f5c0b 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumer.java @@ -2,7 +2,17 @@ package ru.spcex.clearing.platform.messaging.service; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; +import java.time.Duration; +import java.time.temporal.ChronoUnit; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.Function; import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; @@ -25,17 +35,6 @@ import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.log.ExceptionUtils; import ru.spcex.platform.utils.validation.IValidator; -import java.time.Duration; -import java.time.temporal.ChronoUnit; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.function.Function; - /** * утилитный класс для обработки сообщений из очереди */ @@ -130,6 +129,7 @@ public class QueueConsumer implements AutoCloseable { try { Thread.sleep(1000L); } catch (InterruptedException ie) { + Thread.currentThread().interrupt(); log.info("Thread interrupted. {}", ExceptionUtils.getStackTrace(ie)); break; } @@ -197,7 +197,10 @@ public class QueueConsumer implements AutoCloseable { } send = producer.send(respRec); send.get(); - } catch (InterruptedException | ExecutionException e) { + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + log.error(ExceptionUtils.getStackTrace(e)); + } catch (ExecutionException e) { log.error(ExceptionUtils.getStackTrace(e)); } }); diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumerV2.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumerV2.java index ef9a50f6c..03a5d1403 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumerV2.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/service/QueueConsumerV2.java @@ -1,5 +1,7 @@ package ru.spcex.clearing.platform.messaging.service; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.ObjectMapper; import java.time.Duration; import java.time.temporal.ChronoUnit; import java.util.HashMap; @@ -13,8 +15,6 @@ import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; -import com.fasterxml.jackson.databind.JavaType; -import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; @@ -104,7 +104,8 @@ public class QueueConsumerV2 implements AutoCloseable { log.warn("Too many error at row, {}. Sleep.", lastErrors); try { Thread.sleep(1000L); - } catch (InterruptedException e){ + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); log.info("Thread interrupted. {}", ExceptionUtils.getStackTrace(e)); break; } @@ -216,7 +217,10 @@ public class QueueConsumerV2 implements AutoCloseable { } send = producer.send(respRec); send.get(); - } catch (InterruptedException | ExecutionException e) { + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + log.error(ExceptionUtils.getStackTrace(e)); + } catch (ExecutionException e) { log.error(ExceptionUtils.getStackTrace(e)); } }); From dc23b321414e2f7321b4dd27177b60218446a8cc Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Wed, 11 Sep 2024 15:35:05 +0300 Subject: [PATCH 07/16] http://jira.mfd.msk:8088/browse/CLS-730 messaging to bankAccount kafka's topic added --- .../data/kafka/BankAccountNewAction.java | 295 ++++++++++++++++++ .../xml/importer/logic/steps/ImportToDB.java | 47 ++- .../logic/steps/XmlImportKafkaMessenger.java | 6 + 3 files changed, 346 insertions(+), 2 deletions(-) create mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/kafka/BankAccountNewAction.java diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/kafka/BankAccountNewAction.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/kafka/BankAccountNewAction.java new file mode 100644 index 000000000..6fc3b5e1c --- /dev/null +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/kafka/BankAccountNewAction.java @@ -0,0 +1,295 @@ +package ru.spcex.clearing.xml.importer.logic.data.kafka; + +import java.util.Objects; + +public class BankAccountNewAction { + private String bankIdentificationCode; + private String bankName; + private String correspondentAccount; + private String correspondentAccountName; + private String currency; + private String destination; + private String taxpayerIdentificationNumber; + private String taxRegistrationReasonCode; + private String account; + private Long companyId; + private String swiftCode; + private String intermediarySwiftCode; + private String name; + private String address; + private String bankAddress; + private String bankSwiftCode; + private String bankAccount; + private String bankName1; + private String bankAddress1; + private String bankAccount1; + private String bankName2; + private String bankAddress2; + private String intermediarySwiftCode2; + private String bankAccount2; + private String personalAccount; + private String budgetClassificationCode; + private String oktmo; + + public String getBankIdentificationCode() { + return bankIdentificationCode; + } + + public void setBankIdentificationCode(String bankIdentificationCode) { + this.bankIdentificationCode = bankIdentificationCode; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String bankName) { + this.bankName = bankName; + } + + public String getCorrespondentAccount() { + return correspondentAccount; + } + + public void setCorrespondentAccount(String correspondentAccount) { + this.correspondentAccount = correspondentAccount; + } + + public String getCorrespondentAccountName() { + return correspondentAccountName; + } + + public void setCorrespondentAccountName(String correspondentAccountName) { + this.correspondentAccountName = correspondentAccountName; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + public String getDestination() { + return destination; + } + + public void setDestination(String destination) { + this.destination = destination; + } + + public String getTaxpayerIdentificationNumber() { + return taxpayerIdentificationNumber; + } + + public void setTaxpayerIdentificationNumber(String taxpayerIdentificationNumber) { + this.taxpayerIdentificationNumber = taxpayerIdentificationNumber; + } + + public String getTaxRegistrationReasonCode() { + return taxRegistrationReasonCode; + } + + public void setTaxRegistrationReasonCode(String taxRegistrationReasonCode) { + this.taxRegistrationReasonCode = taxRegistrationReasonCode; + } + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public String getSwiftCode() { + return swiftCode; + } + + public void setSwiftCode(String swiftCode) { + this.swiftCode = swiftCode; + } + + public String getIntermediarySwiftCode() { + return intermediarySwiftCode; + } + + public void setIntermediarySwiftCode(String intermediarySwiftCode) { + this.intermediarySwiftCode = intermediarySwiftCode; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public String getBankAddress() { + return bankAddress; + } + + public void setBankAddress(String bankAddress) { + this.bankAddress = bankAddress; + } + + public String getBankSwiftCode() { + return bankSwiftCode; + } + + public void setBankSwiftCode(String bankSwiftCode) { + this.bankSwiftCode = bankSwiftCode; + } + + public String getBankAccount() { + return bankAccount; + } + + public void setBankAccount(String bankAccount) { + this.bankAccount = bankAccount; + } + + public String getBankName1() { + return bankName1; + } + + public void setBankName1(String bankName1) { + this.bankName1 = bankName1; + } + + public String getBankAddress1() { + return bankAddress1; + } + + public void setBankAddress1(String bankAddress1) { + this.bankAddress1 = bankAddress1; + } + + public String getBankAccount1() { + return bankAccount1; + } + + public void setBankAccount1(String bankAccount1) { + this.bankAccount1 = bankAccount1; + } + + public String getBankName2() { + return bankName2; + } + + public void setBankName2(String bankName2) { + this.bankName2 = bankName2; + } + + public String getBankAddress2() { + return bankAddress2; + } + + public void setBankAddress2(String bankAddress2) { + this.bankAddress2 = bankAddress2; + } + + public String getIntermediarySwiftCode2() { + return intermediarySwiftCode2; + } + + public void setIntermediarySwiftCode2(String intermediarySwiftCode2) { + this.intermediarySwiftCode2 = intermediarySwiftCode2; + } + + public String getBankAccount2() { + return bankAccount2; + } + + public void setBankAccount2(String bankAccount2) { + this.bankAccount2 = bankAccount2; + } + + public String getPersonalAccount() { + return personalAccount; + } + + public void setPersonalAccount(String personalAccount) { + this.personalAccount = personalAccount; + } + + public String getBudgetClassificationCode() { + return budgetClassificationCode; + } + + public void setBudgetClassificationCode(String budgetClassificationCode) { + this.budgetClassificationCode = budgetClassificationCode; + } + + public String getOktmo() { + return oktmo; + } + + public void setOktmo(String oktmo) { + this.oktmo = oktmo; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + BankAccountNewAction that = (BankAccountNewAction) o; + return Objects.equals(bankIdentificationCode, that.bankIdentificationCode) && Objects.equals(bankName, that.bankName) && Objects.equals(correspondentAccount, that.correspondentAccount) && Objects.equals(correspondentAccountName, that.correspondentAccountName) && Objects.equals(currency, that.currency) && Objects.equals(destination, that.destination) && Objects.equals(taxpayerIdentificationNumber, that.taxpayerIdentificationNumber) && Objects.equals(taxRegistrationReasonCode, that.taxRegistrationReasonCode) && Objects.equals(account, that.account) && Objects.equals(companyId, that.companyId) && Objects.equals(swiftCode, that.swiftCode) && Objects.equals(intermediarySwiftCode, that.intermediarySwiftCode) && Objects.equals(name, that.name) && Objects.equals(address, that.address) && Objects.equals(bankAddress, that.bankAddress) && Objects.equals(bankSwiftCode, that.bankSwiftCode) && Objects.equals(bankAccount, that.bankAccount) && Objects.equals(bankName1, that.bankName1) && Objects.equals(bankAddress1, that.bankAddress1) && Objects.equals(bankAccount1, that.bankAccount1) && Objects.equals(bankName2, that.bankName2) && Objects.equals(bankAddress2, that.bankAddress2) && Objects.equals(intermediarySwiftCode2, that.intermediarySwiftCode2) && Objects.equals(bankAccount2, that.bankAccount2) && Objects.equals(personalAccount, that.personalAccount) && Objects.equals(budgetClassificationCode, that.budgetClassificationCode) && Objects.equals(oktmo, that.oktmo); + } + + @Override + public int hashCode() { + return Objects.hash(bankIdentificationCode, bankName, correspondentAccount, correspondentAccountName, currency, destination, taxpayerIdentificationNumber, taxRegistrationReasonCode, account, companyId, swiftCode, intermediarySwiftCode, name, address, bankAddress, bankSwiftCode, bankAccount, bankName1, bankAddress1, bankAccount1, bankName2, bankAddress2, intermediarySwiftCode2, bankAccount2, personalAccount, budgetClassificationCode, oktmo); + } + + @Override + public String toString() { + return "BankAccountNewAction{" + + "bankIdentificationCode='" + bankIdentificationCode + '\'' + + ", bankName='" + bankName + '\'' + + ", correspondentAccount='" + correspondentAccount + '\'' + + ", correspondentAccountName='" + correspondentAccountName + '\'' + + ", currency='" + currency + '\'' + + ", destination='" + destination + '\'' + + ", taxpayerIdentificationNumber='" + taxpayerIdentificationNumber + '\'' + + ", taxRegistrationReasonCode='" + taxRegistrationReasonCode + '\'' + + ", account='" + account + '\'' + + ", companyId=" + companyId + + ", swiftCode='" + swiftCode + '\'' + + ", intermediarySwiftCode='" + intermediarySwiftCode + '\'' + + ", name='" + name + '\'' + + ", address='" + address + '\'' + + ", bankAddress='" + bankAddress + '\'' + + ", bankSwiftCode='" + bankSwiftCode + '\'' + + ", bankAccount='" + bankAccount + '\'' + + ", bankName1='" + bankName1 + '\'' + + ", bankAddress1='" + bankAddress1 + '\'' + + ", bankAccount1='" + bankAccount1 + '\'' + + ", bankName2='" + bankName2 + '\'' + + ", bankAddress2='" + bankAddress2 + '\'' + + ", intermediarySwiftCode2='" + intermediarySwiftCode2 + '\'' + + ", bankAccount2='" + bankAccount2 + '\'' + + ", personalAccount='" + personalAccount + '\'' + + ", budgetClassificationCode='" + budgetClassificationCode + '\'' + + ", oktmo='" + oktmo + '\'' + + '}'; + } +} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java index 36c6a02ca..02ae62784 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java @@ -9,8 +9,11 @@ import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; +import ru.spcex.clearing.xml.importer.logic.data.kafka.BankAccountNewAction; import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListCur; import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListRub; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.AccountTagCur; +import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.AccountTagRub; import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.DocumentTag; import ru.spcex.clearing.xml.importer.logic.data.tags.sdf.objects.ObjectTag; import ru.spcex.platform.classes.base.SpcexObjectBase; @@ -76,12 +79,52 @@ public class ImportToDB { private StageResult processLksFile(ResultContainer resultContainer) { if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_RUB)) { AccountListRub accountListRub = (AccountListRub) resultContainer.getXmlFile(); - log.info(accountListRub.toString()); + AccountTagRub accountTagRub = accountListRub.getRegistrator().getClient().getAccount(); + + BankAccountNewAction bankAccountNewAction = new BankAccountNewAction(); + bankAccountNewAction.setBankIdentificationCode(accountTagRub.getBic()); + bankAccountNewAction.setBankName(accountTagRub.getBankName()); + bankAccountNewAction.setCorrespondentAccount(accountTagRub.getCorrespondentAccount()); + bankAccountNewAction.setCurrency(accountTagRub.getCurrency()); + bankAccountNewAction.setDestination(accountTagRub.getDestination()); + bankAccountNewAction.setTaxpayerIdentificationNumber(accountTagRub.getTin()); + bankAccountNewAction.setTaxRegistrationReasonCode(accountTagRub.getTrrc()); + bankAccountNewAction.setAccount(accountTagRub.getAccount()); + bankAccountNewAction.setName(accountTagRub.getName()); + bankAccountNewAction.setBankAddress(accountTagRub.getBankAddress()); + bankAccountNewAction.setPersonalAccount(accountTagRub.getPersonalAccount()); + bankAccountNewAction.setBudgetClassificationCode(accountTagRub.getBudgetClassificationCode()); + bankAccountNewAction.setOktmo(accountTagRub.getOktmo()); + // No DISCONTINUATION_DATE in BankAccountNewAction + + kafkaMessenger.sendToBankAccount(bankAccountNewAction); return StageResult.OK; } else if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_CUR)) { AccountListCur accountListCur = (AccountListCur) resultContainer.getXmlFile(); - log.info(accountListCur.toString()); + AccountTagCur accountTagCur = accountListCur.getRegistrator().getClient().getAccount(); + + BankAccountNewAction bankAccountNewAction = new BankAccountNewAction(); + bankAccountNewAction.setBankName(accountTagCur.getBankName()); + bankAccountNewAction.setCurrency(accountTagCur.getCurrency()); + bankAccountNewAction.setDestination(accountTagCur.getDestination()); + bankAccountNewAction.setAccount(accountTagCur.getAccount()); + bankAccountNewAction.setSwiftCode(accountTagCur.getSwiftCode()); + bankAccountNewAction.setIntermediarySwiftCode(accountTagCur.getIntermediarySwiftCode1()); + bankAccountNewAction.setName(accountTagCur.getName()); + bankAccountNewAction.setAddress(accountTagCur.getAddress()); + bankAccountNewAction.setBankAddress(accountTagCur.getBankAddress()); + bankAccountNewAction.setBankSwiftCode(accountTagCur.getBankSwiftCode()); + bankAccountNewAction.setBankAccount(accountTagCur.getBankAccount()); + bankAccountNewAction.setBankName1(accountTagCur.getBankName1()); + bankAccountNewAction.setBankAddress1(accountTagCur.getBankAddress1()); + bankAccountNewAction.setBankAccount1(accountTagCur.getBankAccount1()); + bankAccountNewAction.setBankName2(accountTagCur.getBankName2()); + bankAccountNewAction.setBankAddress2(accountTagCur.getBankAddress2()); + bankAccountNewAction.setIntermediarySwiftCode2(accountTagCur.getIntermediarySwiftCode2()); + bankAccountNewAction.setBankAccount2(accountTagCur.getBankAccount2()); + + kafkaMessenger.sendToBankAccount(bankAccountNewAction); return StageResult.OK; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java index d031068d4..e1e295d28 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java @@ -23,6 +23,7 @@ import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; +import ru.spcex.clearing.xml.importer.logic.data.kafka.BankAccountNewAction; import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; import ru.spcex.platform.enumeration.SdfTable; @@ -55,6 +56,11 @@ public class XmlImportKafkaMessenger implements InitializingBean { messengers.put(ETable.DF_57, groupId -> messageStatement(groupId, SdfTable.SDF_57, FileType.SDF)); } + public void sendToBankAccount(BankAccountNewAction bankAccountNewAction) { + kafkaSdf.get().sendRequestToQueue(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewAction); + log.info("Message to {} was sent {}", Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewAction); + } + /** * отправляет в кафку сообщение, при необходимости * (обрабатывается, например, в balance-service, clearing-service) From a06300b9f355e8f0b28d7dc970ea445c673613ef Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Thu, 12 Sep 2024 12:31:16 +0300 Subject: [PATCH 08/16] http://jira.mfd.msk:8088/browse/CLS-730 messaging to bankAccount kafka's topic fixed --- .../data/kafka/BankAccountNewAction.java | 295 ------------------ .../xml/importer/logic/steps/ImportToDB.java | 84 ++--- .../logic/steps/XmlImportKafkaMessenger.java | 8 +- 3 files changed, 48 insertions(+), 339 deletions(-) delete mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/kafka/BankAccountNewAction.java diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/kafka/BankAccountNewAction.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/kafka/BankAccountNewAction.java deleted file mode 100644 index 6fc3b5e1c..000000000 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/data/kafka/BankAccountNewAction.java +++ /dev/null @@ -1,295 +0,0 @@ -package ru.spcex.clearing.xml.importer.logic.data.kafka; - -import java.util.Objects; - -public class BankAccountNewAction { - private String bankIdentificationCode; - private String bankName; - private String correspondentAccount; - private String correspondentAccountName; - private String currency; - private String destination; - private String taxpayerIdentificationNumber; - private String taxRegistrationReasonCode; - private String account; - private Long companyId; - private String swiftCode; - private String intermediarySwiftCode; - private String name; - private String address; - private String bankAddress; - private String bankSwiftCode; - private String bankAccount; - private String bankName1; - private String bankAddress1; - private String bankAccount1; - private String bankName2; - private String bankAddress2; - private String intermediarySwiftCode2; - private String bankAccount2; - private String personalAccount; - private String budgetClassificationCode; - private String oktmo; - - public String getBankIdentificationCode() { - return bankIdentificationCode; - } - - public void setBankIdentificationCode(String bankIdentificationCode) { - this.bankIdentificationCode = bankIdentificationCode; - } - - public String getBankName() { - return bankName; - } - - public void setBankName(String bankName) { - this.bankName = bankName; - } - - public String getCorrespondentAccount() { - return correspondentAccount; - } - - public void setCorrespondentAccount(String correspondentAccount) { - this.correspondentAccount = correspondentAccount; - } - - public String getCorrespondentAccountName() { - return correspondentAccountName; - } - - public void setCorrespondentAccountName(String correspondentAccountName) { - this.correspondentAccountName = correspondentAccountName; - } - - public String getCurrency() { - return currency; - } - - public void setCurrency(String currency) { - this.currency = currency; - } - - public String getDestination() { - return destination; - } - - public void setDestination(String destination) { - this.destination = destination; - } - - public String getTaxpayerIdentificationNumber() { - return taxpayerIdentificationNumber; - } - - public void setTaxpayerIdentificationNumber(String taxpayerIdentificationNumber) { - this.taxpayerIdentificationNumber = taxpayerIdentificationNumber; - } - - public String getTaxRegistrationReasonCode() { - return taxRegistrationReasonCode; - } - - public void setTaxRegistrationReasonCode(String taxRegistrationReasonCode) { - this.taxRegistrationReasonCode = taxRegistrationReasonCode; - } - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public Long getCompanyId() { - return companyId; - } - - public void setCompanyId(Long companyId) { - this.companyId = companyId; - } - - public String getSwiftCode() { - return swiftCode; - } - - public void setSwiftCode(String swiftCode) { - this.swiftCode = swiftCode; - } - - public String getIntermediarySwiftCode() { - return intermediarySwiftCode; - } - - public void setIntermediarySwiftCode(String intermediarySwiftCode) { - this.intermediarySwiftCode = intermediarySwiftCode; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getAddress() { - return address; - } - - public void setAddress(String address) { - this.address = address; - } - - public String getBankAddress() { - return bankAddress; - } - - public void setBankAddress(String bankAddress) { - this.bankAddress = bankAddress; - } - - public String getBankSwiftCode() { - return bankSwiftCode; - } - - public void setBankSwiftCode(String bankSwiftCode) { - this.bankSwiftCode = bankSwiftCode; - } - - public String getBankAccount() { - return bankAccount; - } - - public void setBankAccount(String bankAccount) { - this.bankAccount = bankAccount; - } - - public String getBankName1() { - return bankName1; - } - - public void setBankName1(String bankName1) { - this.bankName1 = bankName1; - } - - public String getBankAddress1() { - return bankAddress1; - } - - public void setBankAddress1(String bankAddress1) { - this.bankAddress1 = bankAddress1; - } - - public String getBankAccount1() { - return bankAccount1; - } - - public void setBankAccount1(String bankAccount1) { - this.bankAccount1 = bankAccount1; - } - - public String getBankName2() { - return bankName2; - } - - public void setBankName2(String bankName2) { - this.bankName2 = bankName2; - } - - public String getBankAddress2() { - return bankAddress2; - } - - public void setBankAddress2(String bankAddress2) { - this.bankAddress2 = bankAddress2; - } - - public String getIntermediarySwiftCode2() { - return intermediarySwiftCode2; - } - - public void setIntermediarySwiftCode2(String intermediarySwiftCode2) { - this.intermediarySwiftCode2 = intermediarySwiftCode2; - } - - public String getBankAccount2() { - return bankAccount2; - } - - public void setBankAccount2(String bankAccount2) { - this.bankAccount2 = bankAccount2; - } - - public String getPersonalAccount() { - return personalAccount; - } - - public void setPersonalAccount(String personalAccount) { - this.personalAccount = personalAccount; - } - - public String getBudgetClassificationCode() { - return budgetClassificationCode; - } - - public void setBudgetClassificationCode(String budgetClassificationCode) { - this.budgetClassificationCode = budgetClassificationCode; - } - - public String getOktmo() { - return oktmo; - } - - public void setOktmo(String oktmo) { - this.oktmo = oktmo; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - BankAccountNewAction that = (BankAccountNewAction) o; - return Objects.equals(bankIdentificationCode, that.bankIdentificationCode) && Objects.equals(bankName, that.bankName) && Objects.equals(correspondentAccount, that.correspondentAccount) && Objects.equals(correspondentAccountName, that.correspondentAccountName) && Objects.equals(currency, that.currency) && Objects.equals(destination, that.destination) && Objects.equals(taxpayerIdentificationNumber, that.taxpayerIdentificationNumber) && Objects.equals(taxRegistrationReasonCode, that.taxRegistrationReasonCode) && Objects.equals(account, that.account) && Objects.equals(companyId, that.companyId) && Objects.equals(swiftCode, that.swiftCode) && Objects.equals(intermediarySwiftCode, that.intermediarySwiftCode) && Objects.equals(name, that.name) && Objects.equals(address, that.address) && Objects.equals(bankAddress, that.bankAddress) && Objects.equals(bankSwiftCode, that.bankSwiftCode) && Objects.equals(bankAccount, that.bankAccount) && Objects.equals(bankName1, that.bankName1) && Objects.equals(bankAddress1, that.bankAddress1) && Objects.equals(bankAccount1, that.bankAccount1) && Objects.equals(bankName2, that.bankName2) && Objects.equals(bankAddress2, that.bankAddress2) && Objects.equals(intermediarySwiftCode2, that.intermediarySwiftCode2) && Objects.equals(bankAccount2, that.bankAccount2) && Objects.equals(personalAccount, that.personalAccount) && Objects.equals(budgetClassificationCode, that.budgetClassificationCode) && Objects.equals(oktmo, that.oktmo); - } - - @Override - public int hashCode() { - return Objects.hash(bankIdentificationCode, bankName, correspondentAccount, correspondentAccountName, currency, destination, taxpayerIdentificationNumber, taxRegistrationReasonCode, account, companyId, swiftCode, intermediarySwiftCode, name, address, bankAddress, bankSwiftCode, bankAccount, bankName1, bankAddress1, bankAccount1, bankName2, bankAddress2, intermediarySwiftCode2, bankAccount2, personalAccount, budgetClassificationCode, oktmo); - } - - @Override - public String toString() { - return "BankAccountNewAction{" + - "bankIdentificationCode='" + bankIdentificationCode + '\'' + - ", bankName='" + bankName + '\'' + - ", correspondentAccount='" + correspondentAccount + '\'' + - ", correspondentAccountName='" + correspondentAccountName + '\'' + - ", currency='" + currency + '\'' + - ", destination='" + destination + '\'' + - ", taxpayerIdentificationNumber='" + taxpayerIdentificationNumber + '\'' + - ", taxRegistrationReasonCode='" + taxRegistrationReasonCode + '\'' + - ", account='" + account + '\'' + - ", companyId=" + companyId + - ", swiftCode='" + swiftCode + '\'' + - ", intermediarySwiftCode='" + intermediarySwiftCode + '\'' + - ", name='" + name + '\'' + - ", address='" + address + '\'' + - ", bankAddress='" + bankAddress + '\'' + - ", bankSwiftCode='" + bankSwiftCode + '\'' + - ", bankAccount='" + bankAccount + '\'' + - ", bankName1='" + bankName1 + '\'' + - ", bankAddress1='" + bankAddress1 + '\'' + - ", bankAccount1='" + bankAccount1 + '\'' + - ", bankName2='" + bankName2 + '\'' + - ", bankAddress2='" + bankAddress2 + '\'' + - ", intermediarySwiftCode2='" + intermediarySwiftCode2 + '\'' + - ", bankAccount2='" + bankAccount2 + '\'' + - ", personalAccount='" + personalAccount + '\'' + - ", budgetClassificationCode='" + budgetClassificationCode + '\'' + - ", oktmo='" + oktmo + '\'' + - '}'; - } -} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java index 02ae62784..d48f414aa 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java @@ -5,11 +5,11 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.sdf.SDf57; +import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.importer.logic.data.kafka.BankAccountNewAction; import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListCur; import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListRub; import ru.spcex.clearing.xml.importer.logic.data.tags.lks.registrator.client.account.AccountTagCur; @@ -78,53 +78,57 @@ public class ImportToDB { private StageResult processLksFile(ResultContainer resultContainer) { if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_RUB)) { - AccountListRub accountListRub = (AccountListRub) resultContainer.getXmlFile(); - AccountTagRub accountTagRub = accountListRub.getRegistrator().getClient().getAccount(); + AccountTagRub accountTagRub = ((AccountListRub) resultContainer.getXmlFile()) + .getRegistrator() + .getClient() + .getAccount(); - BankAccountNewAction bankAccountNewAction = new BankAccountNewAction(); - bankAccountNewAction.setBankIdentificationCode(accountTagRub.getBic()); - bankAccountNewAction.setBankName(accountTagRub.getBankName()); - bankAccountNewAction.setCorrespondentAccount(accountTagRub.getCorrespondentAccount()); - bankAccountNewAction.setCurrency(accountTagRub.getCurrency()); - bankAccountNewAction.setDestination(accountTagRub.getDestination()); - bankAccountNewAction.setTaxpayerIdentificationNumber(accountTagRub.getTin()); - bankAccountNewAction.setTaxRegistrationReasonCode(accountTagRub.getTrrc()); - bankAccountNewAction.setAccount(accountTagRub.getAccount()); - bankAccountNewAction.setName(accountTagRub.getName()); - bankAccountNewAction.setBankAddress(accountTagRub.getBankAddress()); - bankAccountNewAction.setPersonalAccount(accountTagRub.getPersonalAccount()); - bankAccountNewAction.setBudgetClassificationCode(accountTagRub.getBudgetClassificationCode()); - bankAccountNewAction.setOktmo(accountTagRub.getOktmo()); + BankAccountNewRequest bankAccountNewRequest = new BankAccountNewRequest(); + bankAccountNewRequest.setBankIdentificationCode(accountTagRub.getBic()); + bankAccountNewRequest.setBankName(accountTagRub.getBankName()); + bankAccountNewRequest.setCorrespondentAccount(accountTagRub.getCorrespondentAccount()); + bankAccountNewRequest.setCurrency(accountTagRub.getCurrency()); + bankAccountNewRequest.setDestination(accountTagRub.getDestination()); + bankAccountNewRequest.setTaxpayerIdentificationNumber(accountTagRub.getTin()); + bankAccountNewRequest.setTaxRegistrationReasonCode(accountTagRub.getTrrc()); + bankAccountNewRequest.setAccount(accountTagRub.getAccount()); + bankAccountNewRequest.setName(accountTagRub.getName()); + bankAccountNewRequest.setBankAddress(accountTagRub.getBankAddress()); + bankAccountNewRequest.setPersonalAccount(accountTagRub.getPersonalAccount()); + bankAccountNewRequest.setBudgetClassificationCode(accountTagRub.getBudgetClassificationCode()); + bankAccountNewRequest.setOktmo(accountTagRub.getOktmo()); // No DISCONTINUATION_DATE in BankAccountNewAction - kafkaMessenger.sendToBankAccount(bankAccountNewAction); + kafkaMessenger.sendToBankAccount(bankAccountNewRequest); return StageResult.OK; } else if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_CUR)) { - AccountListCur accountListCur = (AccountListCur) resultContainer.getXmlFile(); - AccountTagCur accountTagCur = accountListCur.getRegistrator().getClient().getAccount(); + AccountTagCur accountTagCur = ((AccountListCur) resultContainer.getXmlFile()) + .getRegistrator() + .getClient() + .getAccount(); - BankAccountNewAction bankAccountNewAction = new BankAccountNewAction(); - bankAccountNewAction.setBankName(accountTagCur.getBankName()); - bankAccountNewAction.setCurrency(accountTagCur.getCurrency()); - bankAccountNewAction.setDestination(accountTagCur.getDestination()); - bankAccountNewAction.setAccount(accountTagCur.getAccount()); - bankAccountNewAction.setSwiftCode(accountTagCur.getSwiftCode()); - bankAccountNewAction.setIntermediarySwiftCode(accountTagCur.getIntermediarySwiftCode1()); - bankAccountNewAction.setName(accountTagCur.getName()); - bankAccountNewAction.setAddress(accountTagCur.getAddress()); - bankAccountNewAction.setBankAddress(accountTagCur.getBankAddress()); - bankAccountNewAction.setBankSwiftCode(accountTagCur.getBankSwiftCode()); - bankAccountNewAction.setBankAccount(accountTagCur.getBankAccount()); - bankAccountNewAction.setBankName1(accountTagCur.getBankName1()); - bankAccountNewAction.setBankAddress1(accountTagCur.getBankAddress1()); - bankAccountNewAction.setBankAccount1(accountTagCur.getBankAccount1()); - bankAccountNewAction.setBankName2(accountTagCur.getBankName2()); - bankAccountNewAction.setBankAddress2(accountTagCur.getBankAddress2()); - bankAccountNewAction.setIntermediarySwiftCode2(accountTagCur.getIntermediarySwiftCode2()); - bankAccountNewAction.setBankAccount2(accountTagCur.getBankAccount2()); + BankAccountNewRequest bankAccountNewRequest = new BankAccountNewRequest(); + bankAccountNewRequest.setBankName(accountTagCur.getBankName()); + bankAccountNewRequest.setCurrency(accountTagCur.getCurrency()); + bankAccountNewRequest.setDestination(accountTagCur.getDestination()); + bankAccountNewRequest.setAccount(accountTagCur.getAccount()); + bankAccountNewRequest.setSwiftCode(accountTagCur.getSwiftCode()); + bankAccountNewRequest.setIntermediarySwiftCode(accountTagCur.getIntermediarySwiftCode1()); + bankAccountNewRequest.setName(accountTagCur.getName()); + bankAccountNewRequest.setAddress(accountTagCur.getAddress()); + bankAccountNewRequest.setBankAddress(accountTagCur.getBankAddress()); + bankAccountNewRequest.setBankSwiftCode(accountTagCur.getBankSwiftCode()); + bankAccountNewRequest.setBankAccount(accountTagCur.getBankAccount()); + bankAccountNewRequest.setBankName1(accountTagCur.getBankName1()); + bankAccountNewRequest.setBankAddress1(accountTagCur.getBankAddress1()); + bankAccountNewRequest.setBankAccount1(accountTagCur.getBankAccount1()); + bankAccountNewRequest.setBankName2(accountTagCur.getBankName2()); + bankAccountNewRequest.setBankAddress2(accountTagCur.getBankAddress2()); + bankAccountNewRequest.setIntermediarySwiftCode2(accountTagCur.getIntermediarySwiftCode2()); + bankAccountNewRequest.setBankAccount2(accountTagCur.getBankAccount2()); - kafkaMessenger.sendToBankAccount(bankAccountNewAction); + kafkaMessenger.sendToBankAccount(bankAccountNewRequest); return StageResult.OK; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java index e1e295d28..ce4bfbb30 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java @@ -12,6 +12,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; 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.balance.StatementRequest; import ru.spcex.clearing.platform.messaging.domain.cud.clearing.Sdf04Request; import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationNewRequest; @@ -23,7 +24,6 @@ import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; -import ru.spcex.clearing.xml.importer.logic.data.kafka.BankAccountNewAction; import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; import ru.spcex.platform.enumeration.SdfTable; @@ -56,9 +56,9 @@ public class XmlImportKafkaMessenger implements InitializingBean { messengers.put(ETable.DF_57, groupId -> messageStatement(groupId, SdfTable.SDF_57, FileType.SDF)); } - public void sendToBankAccount(BankAccountNewAction bankAccountNewAction) { - kafkaSdf.get().sendRequestToQueue(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewAction); - log.info("Message to {} was sent {}", Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewAction); + public void sendToBankAccount(BankAccountNewRequest bankAccountNewRequest) { + kafkaSdf.get().sendRequestToQueue(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewRequest); + log.info("Message to {} was sent {}", Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewRequest); } /** From 4966cd552e5d51993ca91f76e068f38e02f1f9b4 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Thu, 12 Sep 2024 12:59:34 +0300 Subject: [PATCH 09/16] .gitlab-ci.yml updated --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3987aaa0b..8e0504af5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,6 +26,7 @@ preflight: only: - dev - /^dev_.*$/ + - new resource_group: clearing-test build: @@ -41,6 +42,7 @@ build: only: - dev - /^dev_.*$/ + - new resource_group: clearing-test test: @@ -62,4 +64,5 @@ test: only: - dev - /^dev_.*$/ + - new resource_group: clearing-test \ No newline at end of file From d404d58d6ce73ab4c5e4a8a427f5f63682243675 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Thu, 12 Sep 2024 13:52:35 +0300 Subject: [PATCH 10/16] xml-importer saveRequestInfo disabled on kafka --- .../clearing/xml/importer/config/KafkaConfig.java | 13 ++----------- .../xml/importer/logic/steps/ImportToDB.java | 8 ++++---- .../logic/steps/XmlImportKafkaMessenger.java | 11 +++++++++-- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java index 852bc85e4..0a106ef19 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java @@ -11,14 +11,11 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.core.ProducerFactory; -import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory; import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory; import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings; -import ru.spcex.clearing.platform.messaging.service.RequestInfo; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; -import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -60,10 +57,7 @@ public class KafkaConfig { .setup() .setKafkaTemplate(kafkaTemplate) .idGenerator(imdgIdGenerator::nextId) - .imdgProvider(s -> { - Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); - return imdg::insert; - }) + .saveRequestInfo(false) .build(); } @@ -77,10 +71,7 @@ public class KafkaConfig { .setup() .setKafkaTemplate(kafkaTemplate) .idGenerator(imdgIdGenerator::nextId) - .imdgProvider(s -> { - Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); - return imdg::insert; - }) + .saveRequestInfo(false) .build(); } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java index d48f414aa..d3f18527b 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java @@ -99,9 +99,9 @@ public class ImportToDB { bankAccountNewRequest.setOktmo(accountTagRub.getOktmo()); // No DISCONTINUATION_DATE in BankAccountNewAction - kafkaMessenger.sendToBankAccount(bankAccountNewRequest); + boolean sendResult = kafkaMessenger.sendToBankAccount(bankAccountNewRequest); - return StageResult.OK; + return sendResult ? StageResult.OK : StageResult.ERROR; } else if (resultContainer.getXmlTable().equals(ETable.ACCOUNT_LIST_CUR)) { AccountTagCur accountTagCur = ((AccountListCur) resultContainer.getXmlFile()) .getRegistrator() @@ -128,9 +128,9 @@ public class ImportToDB { bankAccountNewRequest.setIntermediarySwiftCode2(accountTagCur.getIntermediarySwiftCode2()); bankAccountNewRequest.setBankAccount2(accountTagCur.getBankAccount2()); - kafkaMessenger.sendToBankAccount(bankAccountNewRequest); + boolean sendResult = kafkaMessenger.sendToBankAccount(bankAccountNewRequest); - return StageResult.OK; + return sendResult ? StageResult.OK : StageResult.ERROR; } log.error("Table type {} is not supported", resultContainer.getXmlTable()); diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java index ce4bfbb30..fd58beb1c 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java @@ -56,9 +56,16 @@ public class XmlImportKafkaMessenger implements InitializingBean { messengers.put(ETable.DF_57, groupId -> messageStatement(groupId, SdfTable.SDF_57, FileType.SDF)); } - public void sendToBankAccount(BankAccountNewRequest bankAccountNewRequest) { - kafkaSdf.get().sendRequestToQueue(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewRequest); + public boolean sendToBankAccount(BankAccountNewRequest bankAccountNewRequest) { + try { + kafkaSdf.get().sendRequestToQueue(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewRequest); + } catch (Exception e) { + log.error("Error occurred on sending message to kafka {}", e.getMessage(), e); + return false; + } + log.info("Message to {} was sent {}", Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewRequest); + return true; } /** From 3d58504649febf1078c2fcd9498c3a1d8909f5af Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 12 Sep 2024 14:00:29 +0300 Subject: [PATCH 11/16] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-742?= =?UTF-8?q?=20=D0=BC=D0=B5=D0=BB=D0=BA=D0=B0=D1=8F=20=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dbf/importer/logic/stages/DbfImportKafkaMessenger.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java index 89f21e00f..4aea5053a 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/logic/stages/DbfImportKafkaMessenger.java @@ -60,12 +60,12 @@ public class DbfImportKafkaMessenger implements InitializingBean { } public void notifyUserAboutErrorParsing(Throwable error, ResultContainer resultContainer) { - if (resultContainer == null || resultContainer.getDbfFile() == null || resultContainer.getDbfTable() == null) + if (resultContainer == null || resultContainer.getDbfFile() == null) return; ETable currTable = resultContainer.getDbfTable(); String fileName = resultContainer.getDbfFile().getName(); log.debug("Notify user about error {} \"{}\"", - resultContainer.getDbfTable(), fileName); + currTable, fileName); sendUserNotification(ObjectType.rgst, String.format("Файл \"%s\" не сохранен", fileName), Priority.HIGH); } From bcd1aa2b4073ad64d186c866ed55c854be24a201 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Thu, 12 Sep 2024 18:15:10 +0300 Subject: [PATCH 12/16] http://jira.mfd.msk:8088/browse/CLS-754 --- .../imdg/base/SimpleObjectMapStore.java | 149 ++++++++++++++++-- .../AbstractHazelcastLifecycleSupport.java | 43 ++++- .../clearing/imdg/util/ColumnMetaData.java | 40 +++++ .../imdg/util/PostgresColumnTypeUtil.java | 29 ++++ 4 files changed, 246 insertions(+), 15 deletions(-) create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/ColumnMetaData.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/PostgresColumnTypeUtil.java diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java index 6a2bd0105..541726a30 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java @@ -1,6 +1,23 @@ package ru.spcex.clearing.imdg.base; import com.hazelcast.core.MapStore; +import java.math.BigDecimal; +import java.sql.ParameterMetaData; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.sql.Types; +import java.text.SimpleDateFormat; +import java.time.Instant; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import org.apache.commons.lang3.exception.ExceptionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -8,18 +25,11 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.SqlTypeValue; import org.springframework.jdbc.core.StatementCreatorUtils; import org.springframework.lang.NonNull; +import ru.spcex.clearing.imdg.util.ColumnMetaData; +import ru.spcex.clearing.imdg.util.PostgresColumnTypeUtil; import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.utils.text.TextUtil; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Timestamp; -import java.text.SimpleDateFormat; -import java.time.Instant; -import java.time.LocalDate; -import java.util.*; -import java.util.stream.Collectors; - /** * MapStore для выгрузки обычных объектов * @@ -30,6 +40,7 @@ public abstract class SimpleObjectMapStore implements protected final Logger log = LoggerFactory.getLogger(this.getClass()); protected final JdbcTemplate jdbcTemplate; protected SimpleDateFormat DB_DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd"); + protected Map columnMetaDataMap; protected SimpleObjectMapStore(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; @@ -149,10 +160,12 @@ public abstract class SimpleObjectMapStore implements } protected void batchInsertUpdate(@NonNull String insertStatement, @NonNull List args) { + updateMetaData(); try { int[][] ret = jdbcTemplate.batchUpdate(insertStatement, args, BATCH_SIZE, (ps, params) -> { for (int i = 0; i < params.length; i++) { Object value = params[i]; + value = normalizeValue(value, ps.getParameterMetaData(), columnMetaDataMap, i, insertStatement, params); try { StatementCreatorUtils.setParameterValue(ps, i + 1, SqlTypeValue.TYPE_UNKNOWN, value); } catch (SQLException e) { @@ -168,6 +181,112 @@ public abstract class SimpleObjectMapStore implements } } + Object normalizeValue(Object value, ParameterMetaData metaData, Map columnMetaDataMap, int i, String insertStatement, Object[] params) throws SQLException { + if (value == null) + return null; + i++; // нумерация в ParameterMetaData с 1 + final int type = metaData.getParameterType(i); + + final String fieldName = getFields()[i - 1].toLowerCase(); + if (columnMetaDataMap == null) { + log.trace("Column metadata was empty, can not verify {}.{}", getTableName(), fieldName); + } + if ((type == Types.VARCHAR || type == Types.CHAR) && value instanceof String stringValue) { + int length; + if (columnMetaDataMap == null) { + length = metaData.getPrecision(i + 1); + } else { + // в postgresql для String ParameterMetaData.getPrecision возвращает 0, по этому используется другой способ через columnMetaDataMap. + length = columnMetaDataMap.get(fieldName).getPrecision(); + } + if (length > 0 && stringValue.length() > length) { + value = stringValue.substring(0, length); + log.error("String value for insert is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + insertStatement, Arrays.toString(params), i, stringValue, value); + } + } else if ((type == Types.DECIMAL || type == Types.NUMERIC || type == Types.BIGINT || type == Types.INTEGER) && + (value instanceof BigDecimal || value instanceof Long || value instanceof Integer)) { + + if (value instanceof Integer && (type == Types.INTEGER || type == Types.BIGINT)) { + return value; // value ok + } + + if (value instanceof Long vl) { + if (type == Types.BIGINT) { + return value; // value ok + } + if (type == Types.INTEGER) { + if (vl > Integer.MAX_VALUE) { + value = Integer.MAX_VALUE; + log.error("Long value for insert is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + insertStatement, Arrays.toString(params), i, vl, value); + } + if (vl < Integer.MIN_VALUE) { + value = Integer.MIN_VALUE; + log.error("Long value for insert is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + insertStatement, Arrays.toString(params), i, vl, value); + } + return value; + } + } + + BigDecimal bigDecimalValue; + if (value instanceof Integer intValue) { + bigDecimalValue = BigDecimal.valueOf(intValue); + } else if (value instanceof Long longValue) { + bigDecimalValue = BigDecimal.valueOf(longValue); + } else { + bigDecimalValue = (BigDecimal) value; + } + if (type == Types.BIGINT) { + if (bigDecimalValue.compareTo(BigDecimal.valueOf(Long.MAX_VALUE)) > 0) { + Object oldValue = value; + value = Long.MAX_VALUE; + log.error("Double value for insert as BIGINT is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + insertStatement, Arrays.toString(params), i, oldValue, value); + } else if (bigDecimalValue.compareTo(BigDecimal.valueOf(Long.MIN_VALUE)) < 0) { + Object oldValue = value; + value = Long.MIN_VALUE; + log.error("Double value for insert as BIGINT is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + insertStatement, Arrays.toString(params), i, oldValue, value); + } + return value; // value ok + } + if (type == Types.INTEGER) { + if (bigDecimalValue.compareTo(BigDecimal.valueOf(Integer.MAX_VALUE)) > 0) { + Object oldValue = value; + value = Integer.MAX_VALUE; + log.error("Double value for insert as INTEGER is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + insertStatement, Arrays.toString(params), i, oldValue, value); + } else if (bigDecimalValue.compareTo(BigDecimal.valueOf(Integer.MIN_VALUE)) < 0) { + Object oldValue = value; + value = Integer.MIN_VALUE; + log.error("Double value for insert as INTEGER is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + insertStatement, Arrays.toString(params), i, oldValue, value); + } + return value; // value ok + } + int dbScalePartLength; + int precision; + if (columnMetaDataMap == null) { + dbScalePartLength = metaData.getScale(i); + precision = metaData.getPrecision(i); + } else { + dbScalePartLength = columnMetaDataMap.get(fieldName).getScale(); + precision = columnMetaDataMap.get(fieldName).getPrecision(); + } + if (!checkBigDecimalSize(bigDecimalValue, precision, dbScalePartLength)) { + boolean negative = bigDecimalValue.signum() < 0; + value = new BigDecimal(BigDecimal.valueOf(Math.pow(10, precision - dbScalePartLength)).longValue() - 1); + if (negative) + value = ((BigDecimal) value).negate(); + log.error("BigDecimal value for insert is too large [ insertSql: {}, params: {}, i:{}, incorrect value : {}, normalized value: {} ]", + insertStatement, Arrays.toString(params), i, bigDecimalValue, value); + } + } + return value; + } + protected Instant getInstantFromTimestamp(ResultSet rs, String column) throws SQLException { Timestamp date = rs.getTimestamp(column); return date != null ? date.toInstant() : null; @@ -191,4 +310,16 @@ public abstract class SimpleObjectMapStore implements return TextUtil.format(INSERT_TEMPLATE, params); } + + private void updateMetaData() { + if (columnMetaDataMap == null) synchronized (this) { + columnMetaDataMap = PostgresColumnTypeUtil.extractTableMetadata(jdbcTemplate, getTableName()); + } + } + + private boolean checkBigDecimalSize(BigDecimal value, int dbSize, int dbScale) { + if (value == null) + return true; + return value.precision() - value.scale() <= dbSize - dbScale; + } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java index 86c88164d..7672a79e3 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/AbstractHazelcastLifecycleSupport.java @@ -4,6 +4,14 @@ import com.hazelcast.config.MapStoreConfig; import com.hazelcast.core.HazelcastInstance; import com.hazelcast.core.IMap; import com.hazelcast.core.IdGenerator; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.DisposableBean; @@ -16,10 +24,6 @@ import ru.spcex.clearing.imdg.base.SimpleObjectMapStore; import ru.spcex.clearing.imdg.object.DbVersionMapStore; import ru.spcex.platform.imdg.iml.hazelcast.util.HazelcastHelper; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.*; - //todo почистить класс public abstract class AbstractHazelcastLifecycleSupport implements InitializingBean, DisposableBean { private final Logger log = LoggerFactory.getLogger(this.getClass()); @@ -48,7 +52,7 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB @Override public void afterPropertiesSet() { // HazelcastCommon.loadClassesVersionsByStorage(hazelcastServerInstance, getSerialVersionUIDClasses()); -// databaseVersionCheck(); + databaseVersionCheck(); long loadTime = System.currentTimeMillis(); @@ -119,11 +123,38 @@ public abstract class AbstractHazelcastLifecycleSupport implements InitializingB HazelcastHelper.imdgSystem_setStorageState(true, hazelcastServerInstance); loadTime = System.currentTimeMillis() - loadTime; log.info("All map load time {} ms", loadTime); - } @Override public void destroy() { hazelcastServerInstance.shutdown(); } + + private void databaseVersionCheck() { + log.debug("Validating database version, expected \"{}\"", getCheckDbVersion()); + + String dbVersion = jdbcTemplate.queryForObject("SELECT version FROM db_version", String.class); + log.trace("Database version is \"{}\"", dbVersion); + if (dbVersion == null || dbVersion.isBlank()) { + log.error("Database version is empty"); + System.exit(1); + } else { + List expectedVersion = Arrays.stream(getCheckDbVersion().split("\\.")) + .map(Integer::parseInt) + .toList(); + List actualVersion = Arrays.stream(dbVersion.split("\\.")) + .map(Integer::parseInt) + .toList(); + + if (expectedVersion.size() < 2 || actualVersion.size() < 2) { + log.error("Database version have wrong format, expected = {}, actual = {}", expectedVersion, actualVersion); + System.exit(1); + } + + if (!expectedVersion.get(0).equals(actualVersion.get(0)) || expectedVersion.get(1) > actualVersion.get(1)) { + log.error("Database version is older than expected version, expected = {}, actual = {}", expectedVersion, actualVersion); + System.exit(1); + } + } + } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/ColumnMetaData.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/ColumnMetaData.java new file mode 100644 index 000000000..1558a4b20 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/ColumnMetaData.java @@ -0,0 +1,40 @@ +package ru.spcex.clearing.imdg.util; + +public class ColumnMetaData { + private final String name; + private final String dataType; + private final int characterMaximumLength; + private final int numericPrecision; + private final int numericScale; + + public ColumnMetaData(String name, String dataType, int characterMaximumLength, int numericPrecision, int numericScale) { + this.name = name; + this.dataType = dataType; + this.characterMaximumLength = characterMaximumLength; + this.numericPrecision = numericPrecision; + this.numericScale = numericScale; + } + + public String getName() { + return name; + } + + public String getDataType() { + return dataType; + } + + public int getPrecision() { + return switch (dataType) { + case "smallint", "integer", "real", "numeric", "bigint", "double precision" -> numericPrecision; + case "character varying" -> characterMaximumLength; + default -> 0; + }; + } + + public int getScale() { + return switch (dataType) { + case "smallint", "integer", "real", "numeric", "bigint", "double precision" -> numericScale; + default -> 0; + }; + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/PostgresColumnTypeUtil.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/PostgresColumnTypeUtil.java new file mode 100644 index 000000000..1d6b7035a --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/PostgresColumnTypeUtil.java @@ -0,0 +1,29 @@ +package ru.spcex.clearing.imdg.util; + +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.core.JdbcTemplate; + +public final class PostgresColumnTypeUtil { + static Logger log = LoggerFactory.getLogger(PostgresColumnTypeUtil.class); + static String SELECT_METADATA_CASE_SENS = "SELECT * FROM information_schema.columns WHERE table_name=?"; + static String SELECT_METADATA_CASE_INSENS = "SELECT * FROM information_schema.columns WHERE table_name ilike ?"; + + public static Map extractTableMetadata(JdbcTemplate template, String tableName) { + List columnMetaDataList = template.query(tableName.contains("\"") ? SELECT_METADATA_CASE_SENS + : SELECT_METADATA_CASE_INSENS, (rs, rn) -> new ColumnMetaData( + rs.getString("column_name"), + rs.getString("data_type"), + rs.getInt("character_maximum_length"), + rs.getInt("numeric_precision"), + rs.getInt("numeric_scale") + ), tableName.replace("\"", "")); + log.debug("metadata of table \"{}\" is {}", tableName, columnMetaDataList); + return columnMetaDataList.isEmpty() ? null : + columnMetaDataList.stream().collect(Collectors.toMap(ColumnMetaData::getName, Function.identity())); + } +} From 0ae83b1c5251ef596e1c1592e5b3e57cb116ca29 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Thu, 12 Sep 2024 18:46:16 +0300 Subject: [PATCH 13/16] http://jira.mfd.msk:8088/browse/CLS-730 separate hazelcast and kafka instances removed, application.properties updated --- .../importer/config/ImporterImdgConfig.java | 21 +----- .../xml/importer/config/KafkaConfig.java | 63 +++-------------- .../importer/config/XMLImporterConfig.java | 3 +- .../settings/ImportXMLServiceSettings.java | 33 ++++++--- .../settings/KafkaHazelcastSettings.java | 41 ----------- .../xml/importer/logic/steps/ImportToDB.java | 17 ++--- .../logic/steps/XmlImportKafkaMessenger.java | 68 +++++++------------ .../xml/importer/services/FileChecker.java | 1 - .../src/main/resources/application.properties | 67 ++++++------------ .../config/ImporterImdgTestConfig.java | 24 +------ .../xml/importer/config/KafkaTestConfig.java | 28 ++------ .../importer/logic/steps/ImportToDBTest.java | 2 +- .../src/test/resources/application.properties | 67 ++++++------------ 13 files changed, 118 insertions(+), 317 deletions(-) delete mode 100644 clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/KafkaHazelcastSettings.java diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java index 32243b8f3..0c54ab12d 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java @@ -2,7 +2,6 @@ package ru.spcex.clearing.xml.importer.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; @@ -33,28 +32,14 @@ public class ImporterImdgConfig { } @Autowired - @Bean(name = "sdfImdgProvider") - @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") - public HazelcastService sdfImdgProvider( + @Bean + public HazelcastService imdgProvider( @Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, ImportXMLServiceSettings settings ) { return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, - settings.getSdfHazelcastAndKafka().getHazelcast()); - } - - @Autowired - @Bean(name = "lksImdgProvider") - @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") - public HazelcastService lksImdgProvider( - @Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, - @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, - ImportXMLServiceSettings settings - ) { - return new HazelcastService(taskExecutorHazelcastClientInitializer, - taskExecutorIdGeneratorAwaiter, - settings.getLksHazelcastAndKafka().getHazelcast()); + settings.getHazelcast()); } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java index 0a106ef19..77c196d6c 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java @@ -3,9 +3,7 @@ package ru.spcex.clearing.xml.importer.config; import java.util.function.Supplier; import org.apache.kafka.clients.consumer.Consumer; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; @@ -21,51 +19,21 @@ import ru.spcex.platform.imdg.api.ImdgProvider; @Configuration public class KafkaConfig { - @Bean(name = "pfSdf") - @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") - public ProducerFactory pfSdf(ImportXMLServiceSettings settings) { - KafkaProducerSettings kafkaSettings = settings.getSdfHazelcastAndKafka().getKafkaProducer(); + @Bean + public ProducerFactory pf(ImportXMLServiceSettings settings) { + KafkaProducerSettings kafkaSettings = settings.getKafkaProducer(); return KafkaProducerFactory.producerFactory(kafkaSettings); } - @Bean(name = "pfLks") - @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") - public ProducerFactory pfLks(ImportXMLServiceSettings settings) { - KafkaProducerSettings kafkaSettings = settings.getLksHazelcastAndKafka().getKafkaProducer(); - return KafkaProducerFactory.producerFactory(kafkaSettings); - } - - @Bean("kafkaTemplateSdf") - @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") - public KafkaTemplate kafkaTemplateSdf(@Qualifier("pfSdf") ProducerFactory pf) { - return new KafkaTemplate<>(pf); - } - - @Bean("kafkaTemplateLks") - @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") - public KafkaTemplate kafkaTemplateLks(@Qualifier("pfLks") ProducerFactory pf) { + @Bean + public KafkaTemplate kafkaTemplate(ProducerFactory pf) { return new KafkaTemplate<>(pf); } @Autowired - @Bean("kafkaSenderSdf") - @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") - public Supplier kafkaSenderSdf(@Qualifier("kafkaTemplateSdf") KafkaTemplate kafkaTemplate, - @Qualifier("sdfImdgProvider") ImdgProvider imdgProvider) { - ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); - return () -> KafkaSender - .setup() - .setKafkaTemplate(kafkaTemplate) - .idGenerator(imdgIdGenerator::nextId) - .saveRequestInfo(false) - .build(); - } - - @Autowired - @Bean("kafkaSenderLks") - @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") - public Supplier kafkaSenderLks(@Qualifier("kafkaTemplateLks") KafkaTemplate kafkaTemplate, - @Qualifier("lksImdgProvider") ImdgProvider imdgProvider) { + @Bean + public Supplier kafkaSender(KafkaTemplate kafkaTemplate, + ImdgProvider imdgProvider) { ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); return () -> KafkaSender .setup() @@ -77,17 +45,8 @@ public class KafkaConfig { @Autowired @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - @Bean("createConsumerSdf") - @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") - public Consumer createConsumerSdf(ImportXMLServiceSettings settings) { - return KafkaConsumerFactory.consumer(settings.getSdfHazelcastAndKafka().getKafkaConsumer()); - } - - @Autowired - @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - @Bean("createConsumerLks") - @ConditionalOnProperty(value = "import-xml-service.process-lks-files", havingValue = "true") - public Consumer createConsumerLks(ImportXMLServiceSettings settings) { - return KafkaConsumerFactory.consumer(settings.getLksHazelcastAndKafka().getKafkaConsumer()); + @Bean + public Consumer createConsumer(ImportXMLServiceSettings settings) { + return KafkaConsumerFactory.consumer(settings.getKafkaConsumer()); } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java index 092313f9c..0a7f74107 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java @@ -13,7 +13,6 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.ApplicationContext; @@ -43,7 +42,7 @@ public class XMLImporterConfig { public XMLImporterConfig(ImportXMLServiceSettings settings, ApplicationContext context, - @Qualifier("sdfImdgProvider") ImdgProvider hazelcastService) { + ImdgProvider hazelcastService) { this.settings = settings; this.context = context; this.hazelcastService = hazelcastService; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/ImportXMLServiceSettings.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/ImportXMLServiceSettings.java index e32cf7da4..121f2eb40 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/ImportXMLServiceSettings.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/ImportXMLServiceSettings.java @@ -4,15 +4,20 @@ import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.NestedConfigurationProperty; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; +import ru.spcex.clearing.platform.messaging.config.element.KafkaConsumerSettings; +import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings; +import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; @Component @PropertySource("file:${spring.config.location}/application.properties") @ConfigurationProperties("import-xml-service") public class ImportXMLServiceSettings { @NestedConfigurationProperty - private KafkaHazelcastSettings sdfHazelcastAndKafka; + private HazelcastClientParams hazelcast; @NestedConfigurationProperty - private KafkaHazelcastSettings lksHazelcastAndKafka; + private KafkaProducerSettings kafkaProducer; + @NestedConfigurationProperty + private KafkaConsumerSettings kafkaConsumer; @NestedConfigurationProperty private StoreSettings storeSdf; @@ -27,20 +32,28 @@ public class ImportXMLServiceSettings { private boolean processSdfFiles; private boolean processLksFiles; - public KafkaHazelcastSettings getSdfHazelcastAndKafka() { - return sdfHazelcastAndKafka; + public HazelcastClientParams getHazelcast() { + return hazelcast; } - public void setSdfHazelcastAndKafka(KafkaHazelcastSettings sdfHazelcastAndKafka) { - this.sdfHazelcastAndKafka = sdfHazelcastAndKafka; + public void setHazelcast(HazelcastClientParams hazelcast) { + this.hazelcast = hazelcast; } - public KafkaHazelcastSettings getLksHazelcastAndKafka() { - return lksHazelcastAndKafka; + public KafkaProducerSettings getKafkaProducer() { + return kafkaProducer; } - public void setLksHazelcastAndKafka(KafkaHazelcastSettings lksHazelcastAndKafka) { - this.lksHazelcastAndKafka = lksHazelcastAndKafka; + public void setKafkaProducer(KafkaProducerSettings kafkaProducer) { + this.kafkaProducer = kafkaProducer; + } + + public KafkaConsumerSettings getKafkaConsumer() { + return kafkaConsumer; + } + + public void setKafkaConsumer(KafkaConsumerSettings kafkaConsumer) { + this.kafkaConsumer = kafkaConsumer; } public StoreSettings getStoreSdf() { diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/KafkaHazelcastSettings.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/KafkaHazelcastSettings.java deleted file mode 100644 index 0b689551f..000000000 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/settings/KafkaHazelcastSettings.java +++ /dev/null @@ -1,41 +0,0 @@ -package ru.spcex.clearing.xml.importer.config.settings; - -import org.springframework.boot.context.properties.NestedConfigurationProperty; -import ru.spcex.clearing.platform.messaging.config.element.KafkaConsumerSettings; -import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings; -import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; - -public class KafkaHazelcastSettings { - @NestedConfigurationProperty - private HazelcastClientParams hazelcast; - - @NestedConfigurationProperty - private KafkaProducerSettings kafkaProducer; - - @NestedConfigurationProperty - private KafkaConsumerSettings kafkaConsumer; - - public HazelcastClientParams getHazelcast() { - return hazelcast; - } - - public void setHazelcast(HazelcastClientParams hazelcast) { - this.hazelcast = hazelcast; - } - - public KafkaProducerSettings getKafkaProducer() { - return kafkaProducer; - } - - public void setKafkaProducer(KafkaProducerSettings kafkaProducer) { - this.kafkaProducer = kafkaProducer; - } - - public KafkaConsumerSettings getKafkaConsumer() { - return kafkaConsumer; - } - - public void setKafkaConsumer(KafkaConsumerSettings kafkaConsumer) { - this.kafkaConsumer = kafkaConsumer; - } -} diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java index d3f18527b..545a61ef6 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java @@ -2,13 +2,11 @@ package ru.spcex.clearing.xml.importer.logic.steps; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.sdf.SDf57; import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; -import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListCur; import ru.spcex.clearing.xml.importer.logic.data.tags.lks.AccountListRub; @@ -24,15 +22,12 @@ import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @Component public class ImportToDB { private final Logger log = LoggerFactory.getLogger(getClass()); - private final HazelcastService hazelcastServiceSdf; - private final HazelcastService hazelcastServiceLks; + private final HazelcastService hazelcastService; private final XmlImportKafkaMessenger kafkaMessenger; - public ImportToDB(@Qualifier("sdfImdgProvider") HazelcastService hazelcastServiceSdf, - @Qualifier("lksImdgProvider") HazelcastService hazelcastServiceLks, + public ImportToDB(HazelcastService hazelcastService, XmlImportKafkaMessenger kafkaMessenger) { - this.hazelcastServiceSdf = hazelcastServiceSdf; - this.hazelcastServiceLks = hazelcastServiceLks; + this.hazelcastService = hazelcastService; this.kafkaMessenger = kafkaMessenger; } @@ -50,9 +45,9 @@ public class ImportToDB { DocumentTag documentTag = (DocumentTag) resultContainer.getXmlFile(); String fileName = resultContainer.getXmlFilePath().getName(); - Long fileId = hazelcastServiceSdf.getImdgIdGenerator().nextId(); + Long fileId = hazelcastService.getImdgIdGenerator().nextId(); for (ObjectTag o : documentTag.getObjects()) { - o.setHazelcastService(hazelcastServiceSdf); + o.setHazelcastService(hazelcastService); o.setFileName(fileName); o.setGenerationId(fileId); @@ -60,7 +55,7 @@ public class ImportToDB { if (!o.checkOnExisting(entityTable) && entityTable instanceof SDf57) { kafkaMessenger.sendUserNotification(ObjectType.rgst, "Номер транзакции " + ((SDf57) entityTable).getDbfId() + " в полученном df57 уже был обработан ранее", - Priority.HIGH, FileType.SDF); + Priority.HIGH); } else { o.injectEntity(entityTable); } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java index fd58beb1c..bc54f1f82 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java @@ -9,7 +9,6 @@ import java.util.function.Supplier; 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.Component; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; @@ -22,7 +21,6 @@ import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; -import ru.spcex.clearing.xml.importer.logic.data.enums.FileType; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; import ru.spcex.platform.enumeration.ObjectType; import ru.spcex.platform.enumeration.Priority; @@ -31,34 +29,31 @@ import ru.spcex.platform.enumeration.SdfTable; @Component public class XmlImportKafkaMessenger implements InitializingBean { final Logger log = LoggerFactory.getLogger(getClass()); - private final Supplier kafkaSdf; - private final Supplier kafkaLks; + private final Supplier kafka; private final Map> messengers; private final ImportXMLServiceSettings settings; - public XmlImportKafkaMessenger(@Qualifier("kafkaSenderSdf") Supplier kafkaSdf, - @Qualifier("kafkaSenderLks") Supplier kafkaLks, + public XmlImportKafkaMessenger(Supplier kafka, ImportXMLServiceSettings settings) { - this.kafkaSdf = kafkaSdf; - this.kafkaLks = kafkaLks; + this.kafka = kafka; this.settings = settings; this.messengers = new HashMap<>(); } @Override public void afterPropertiesSet() { - messengers.put(ETable.DF_01, groupId -> messageStatement(groupId, SdfTable.SDF_01, FileType.SDF)); - messengers.put(ETable.DF_04, groupId -> messageStatement(groupId, SdfTable.SDF_04, FileType.SDF)); - messengers.put(ETable.DF_06, groupId -> messageStatement(groupId, SdfTable.SDF_06, Consts.STATEMENT_PROCESS_SDF06, FileType.SDF)); - messengers.put(ETable.DF_52, groupId -> messageStatement(groupId, SdfTable.SDF_52, Consts.ACCOUNT_PROCESS_SDF52, FileType.SDF)); - messengers.put(ETable.DF_55, groupId -> messageStatement(groupId, SdfTable.SDF_55, FileType.SDF)); - messengers.put(ETable.DF_57, groupId -> messageStatement(groupId, SdfTable.SDF_57, FileType.SDF)); + messengers.put(ETable.DF_01, groupId -> messageStatement(groupId, SdfTable.SDF_01)); + messengers.put(ETable.DF_04, groupId -> messageStatement(groupId, SdfTable.SDF_04)); + messengers.put(ETable.DF_06, groupId -> messageStatement(groupId, SdfTable.SDF_06, Consts.STATEMENT_PROCESS_SDF06)); + messengers.put(ETable.DF_52, groupId -> messageStatement(groupId, SdfTable.SDF_52, Consts.ACCOUNT_PROCESS_SDF52)); + messengers.put(ETable.DF_55, groupId -> messageStatement(groupId, SdfTable.SDF_55)); + messengers.put(ETable.DF_57, groupId -> messageStatement(groupId, SdfTable.SDF_57)); } public boolean sendToBankAccount(BankAccountNewRequest bankAccountNewRequest) { try { - kafkaSdf.get().sendRequestToQueue(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewRequest); + kafka.get().sendRequestToQueue(Consts.DESTINATION_BANK_ACCOUNT_NEW, bankAccountNewRequest); } catch (Exception e) { log.error("Error occurred on sending message to kafka {}", e.getMessage(), e); return false; @@ -85,7 +80,7 @@ public class XmlImportKafkaMessenger implements InitializingBean { String fileName = resultContainer.getXmlFilePath().getName(); log.debug("Notify user about error {} \"{}\"", resultContainer.getXmlTable(), fileName); - sendUserNotification(ObjectType.rgst, String.format("Файл \"%s\" не сохранен", fileName), Priority.HIGH, resultContainer.getXmlTable().getFileType()); + sendUserNotification(ObjectType.rgst, String.format("Файл \"%s\" не сохранен", fileName), Priority.HIGH); } public void notifyUserAboutSuccessLoad(ResultContainer resultContainer) { @@ -96,11 +91,11 @@ public class XmlImportKafkaMessenger implements InitializingBean { String fileName = resultContainer.getXmlFilePath().getName(); log.debug("Notify user about success {} \"{}\"", resultContainer.getXmlTable(), fileName); - sendUserNotification(ObjectType.rgst, String.format("Загружен \"%s\" - успешно", fileName), Priority.LOW, resultContainer.getXmlTable().getFileType()); + sendUserNotification(ObjectType.rgst, String.format("Загружен \"%s\" - успешно", fileName), Priority.LOW); } } - public void sendUserNotification(ObjectType objectType, String comment, Priority priority, FileType fileType) { + public void sendUserNotification(ObjectType objectType, String comment, Priority priority) { final String destination = Consts.NOTIFICATION_NEW; NotificationNewRequest request = new NotificationNewRequest(); request.setObjectType(objectType.getKey()); @@ -108,39 +103,22 @@ public class XmlImportKafkaMessenger implements InitializingBean { request.setComment(comment); log.debug("Send message to kafka \"{}\": {}", destination, LogFormatter.toStringWrapper(request)); - switch (fileType) { - case SDF -> { - Long rKey = kafkaSdf.get().sendRequestToQueue(destination, request); - log.trace("For user send message to SDF kafka, request id={}", rKey); - } - case LKS -> { - Long rKey = kafkaLks.get().sendRequestToQueue(destination, request); - log.trace("For user send message to LKS kafka, request id={}", rKey); - } - } + Long rKey = kafka.get().sendRequestToQueue(destination, request); + log.trace("For user send message to kafka, request id={}", rKey); } - private void messageStatement(Long groupId, SdfTable table, FileType fileType) { - messageStatement(groupId, table, Consts.STATEMENT_PROCESS, fileType); + private void messageStatement(Long groupId, SdfTable table) { + messageStatement(groupId, table, Consts.STATEMENT_PROCESS); } - private void messageStatement(Long groupId, SdfTable table, String destination, FileType fileType) { + private void messageStatement(Long groupId, SdfTable table, String destination) { StatementRequest statementRequest = new StatementRequest(); statementRequest.setGroupId(groupId); statementRequest.setTable(table); - switch (fileType) { - case SDF -> { - Long msgId = kafkaSdf.get().sendRequestToQueue(destination, statementRequest); - log.debug("Send StatementRequest({}, {}) message id={} to SDF kafka \"{}\"", - groupId, table, msgId, destination); - } - case LKS -> { - Long msgId = kafkaLks.get().sendRequestToQueue(destination, statementRequest); - log.debug("Send StatementRequest({}, {}) message id={} to LKS kafka \"{}\"", - groupId, table, msgId, destination); - } - } + Long msgId = kafka.get().sendRequestToQueue(destination, statementRequest); + log.debug("Send StatementRequest({}, {}) message id={} to kafka \"{}\"", + groupId, table, msgId, destination); } public void sendPairSdfRequest(String fileName, Long fileId, String tableSdf) { @@ -149,7 +127,7 @@ public class XmlImportKafkaMessenger implements InitializingBean { request.setGenerationId(fileId); request.setTableSDf(tableSdf); - Long msgId = kafkaSdf.get().sendRequestToQueue(PAIR_SDF, request); + Long msgId = kafka.get().sendRequestToQueue(PAIR_SDF, request); log.info("Send PairSdfRequest={} message id={} to SDF kafka \"{}\"", LogFormatter.toString(request), msgId, PAIR_SDF); } @@ -157,6 +135,6 @@ public class XmlImportKafkaMessenger implements InitializingBean { Sdf04Request sdf04ImportNotification = new Sdf04Request(); sdf04ImportNotification.setGroupId(groupId); - kafkaSdf.get().sendRequestToQueue(Consts.SDF04_PROCESS, sdf04ImportNotification); + kafka.get().sendRequestToQueue(Consts.SDF04_PROCESS, sdf04ImportNotification); } } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java index f8662b972..c53823314 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java @@ -12,7 +12,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/clearing-parent/xml-importer/src/main/resources/application.properties b/clearing-parent/xml-importer/src/main/resources/application.properties index a7caae4a6..c67a3ba19 100644 --- a/clearing-parent/xml-importer/src/main/resources/application.properties +++ b/clearing-parent/xml-importer/src/main/resources/application.properties @@ -11,19 +11,13 @@ import-xml-service.common.encoding-source=cp866 import-xml-service.common.insert-batch-size=100 import-xml-service.common.threads-count=10 -# SDF settings -# Hazelcast cluster -import-xml-service.sdf-hazelcast-and-kafka.hazelcast.cluster-members=10.200.200.181:5701 -import-xml-service.sdf-hazelcast-and-kafka.hazelcast.login=dev -import-xml-service.sdf-hazelcast-and-kafka.hazelcast.password=dev-pass - -# Store directories +# Store directories for SDf import-xml-service.store-sdf.delete-src-files=false import-xml-service.store-sdf.src-dir=/opt/clearing/file/xml-importer/ import-xml-service.store-sdf.out-dir=/opt/clearing/file/xml-importer/loaded/ -import-xml-service.store-sdf.out-dir-error=/opt/clearing/file/xml-importer/error/= +import-xml-service.store-sdf.out-dir-error=/opt/clearing/file/xml-importer/error/ -# Sftp directories and credentials +# Sftp directories and credentials for SDf import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ import-xml-service.store-sdf.sftp-in.sftp-src-dir=clearing_xml-importer_sftp @@ -32,35 +26,13 @@ import-xml-service.store-sdf.sftp-in.password=********* import-xml-service.store-sdf.sftp-in.server-ip=127.0.0.1 import-xml-service.store-sdf.sftp-in.server-port=22 -# Kafka settings -# Kafka producer -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.bootstrap-servers=localhost:9092 -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.acks=all -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.retries=0 -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.batch-size=16384 -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.linger-ms=1 -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.buffer-memory=33554432 - -# Kafka consumer -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.bootstrap-servers=localhost:9092 -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.group-id=dev-group-clearing-service -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.enable-auto-commit=false -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.session-timeout-ms=30000 -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.auto-offset-reset=latest - -# LKS settings -# Hazelcast cluster -import-xml-service.lks-hazelcast-and-kafka.hazelcast.cluster-members=10.200.200.181:5701 -import-xml-service.lks-hazelcast-and-kafka.hazelcast.login=dev -import-xml-service.lks-hazelcast-and-kafka.hazelcast.password=dev-pass - -# Store directories +# Store directories for LKS import-xml-service.store-lks.delete-src-files=false import-xml-service.store-lks.src-dir=/opt/clearing/file/xml-importer/ import-xml-service.store-lks.out-dir=/opt/clearing/file/xml-importer/loaded/ -import-xml-service.store-lks.out-dir-error=/opt/clearing/file/xml-importer/error/= +import-xml-service.store-lks.out-dir-error=/opt/clearing/file/xml-importer/error/ -# Sftp directories and credentials +# Sftp directories and credentials for LKS import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ import-xml-service.store-lks.sftp-in.sftp-src-dir=clearing_xml-importer_sftp @@ -69,18 +41,23 @@ import-xml-service.store-lks.sftp-in.password=********* import-xml-service.store-lks.sftp-in.server-ip=127.0.0.1 import-xml-service.store-lks.sftp-in.server-port=22 +# Hazelcast cluster +import-xml-service.hazelcast.cluster-members=10.200.200.181:5701 +import-xml-service.hazelcast.login=dev +import-xml-service.hazelcast.password=dev-pass + # Kafka settings # Kafka producer -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.bootstrap-servers=localhost:9092 -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.acks=all -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.retries=0 -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.batch-size=16384 -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.linger-ms=1 -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.buffer-memory=33554432 +import-xml-service.kafka-producer.bootstrap-servers=localhost:9092 +import-xml-service.kafka-producer.acks=all +import-xml-service.kafka-producer.retries=0 +import-xml-service.kafka-producer.batch-size=16384 +import-xml-service.kafka-producer.linger-ms=1 +import-xml-service.kafka-producer.buffer-memory=33554432 # Kafka consumer -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.bootstrap-servers=localhost:9092 -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.group-id=dev-group-clearing-service -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.enable-auto-commit=false -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.session-timeout-ms=30000 -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.auto-offset-reset=latest \ No newline at end of file +import-xml-service.kafka-consumer.bootstrap-servers=localhost:9092 +import-xml-service.kafka-consumer.group-id=dev-group-clearing-service +import-xml-service.kafka-consumer.enable-auto-commit=false +import-xml-service.kafka-consumer.session-timeout-ms=30000 +import-xml-service.kafka-consumer.auto-offset-reset=latest \ No newline at end of file diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java index eb4f76190..7327c8829 100644 --- a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java @@ -64,28 +64,8 @@ public class ImporterImdgTestConfig { } @Autowired - @Bean(name = "sdfImdgProvider") - public HazelcastService imdgTestProviderSdf( - @Qualifier("taskExecutorHazelcastTestClientInitializerXmlImporter") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, - @Qualifier("taskExecutorTestIdGeneratorAwaiterXmlImporter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, - @Qualifier("hazelcastClientParamsXmlImporter") HazelcastClientParams params) { - Config cfg = new Config(); - cfg.setInstanceName("localhost"); - - NetworkConfig networkConfig = new NetworkConfig(); - JoinConfig joinConfig = new JoinConfig(); - joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(false)); - joinConfig.setTcpIpConfig(new TcpIpConfig().setEnabled(true).setMembers(List.of("127.0.0.1"))); - networkConfig.setJoin(joinConfig); - cfg.setNetworkConfig(networkConfig); - hazelcastInstance = Hazelcast.getOrCreateHazelcastInstance(cfg); - HazelcastHelper.imdgSystem_setStorageState(true, hazelcastInstance); - return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, params); - } - - @Autowired - @Bean(name = "lksImdgProvider") - public HazelcastService imdgTestProviderLks( + @Bean(name = "imdgProvider") + public HazelcastService imdgTestProvider( @Qualifier("taskExecutorHazelcastTestClientInitializerXmlImporter") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorTestIdGeneratorAwaiterXmlImporter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, @Qualifier("hazelcastClientParamsXmlImporter") HazelcastClientParams params) { diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java index 01767a7ec..2770b648c 100644 --- a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java @@ -130,9 +130,9 @@ public class KafkaTestConfig { return kafkaTemplate; } - @Bean("kafkaSenderSdf") - public Supplier kafkaSenderSdf(@Qualifier("kafkaTestTemplate") KafkaTemplate kafkaTemplate, - @Qualifier("sdfImdgProvider") ImdgProvider imdgProvider, + @Bean("kafkaSender") + public Supplier kafkaSender(@Qualifier("kafkaTestTemplate") KafkaTemplate kafkaTemplate, + @Qualifier("imdgProvider") ImdgProvider imdgProvider, Producer mockProducer) { ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); return () -> KafkaSender @@ -140,27 +140,7 @@ public class KafkaTestConfig { .setKafkaTemplate(kafkaTemplate) .producer(mockProducer) .idGenerator(imdgIdGenerator::nextId) - .imdgProvider(s -> { - Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); - return imdg::insert; - }) - .build(); - } - - @Bean("kafkaSenderLks") - public Supplier kafkaSenderLks(@Qualifier("kafkaTestTemplate") KafkaTemplate kafkaTemplate, - @Qualifier("lksImdgProvider") ImdgProvider imdgProvider, - Producer mockProducer) { - ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); - return () -> KafkaSender - .setup() - .setKafkaTemplate(kafkaTemplate) - .producer(mockProducer) - .idGenerator(imdgIdGenerator::nextId) - .imdgProvider(s -> { - Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); - return imdg::insert; - }) + .saveRequestInfo(false) .build(); } diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java index 7ef3616ab..34a191bbd 100644 --- a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java @@ -59,7 +59,7 @@ class ImportToDBTest { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yy"); @Autowired - @Qualifier("sdfImdgProvider") + @Qualifier("imdgProvider") private HazelcastService hazelcastService; @Autowired diff --git a/clearing-parent/xml-importer/src/test/resources/application.properties b/clearing-parent/xml-importer/src/test/resources/application.properties index 386256555..c67a3ba19 100644 --- a/clearing-parent/xml-importer/src/test/resources/application.properties +++ b/clearing-parent/xml-importer/src/test/resources/application.properties @@ -11,19 +11,13 @@ import-xml-service.common.encoding-source=cp866 import-xml-service.common.insert-batch-size=100 import-xml-service.common.threads-count=10 -# SDF settings -# Hazelcast cluster -import-xml-service.sdf-hazelcast-and-kafka.hazelcast.cluster-members=localhost:5701 -import-xml-service.sdf-hazelcast-and-kafka.hazelcast.login=dev -import-xml-service.sdf-hazelcast-and-kafka.hazelcast.password=dev-pass - -# Store directories +# Store directories for SDf import-xml-service.store-sdf.delete-src-files=false import-xml-service.store-sdf.src-dir=/opt/clearing/file/xml-importer/ import-xml-service.store-sdf.out-dir=/opt/clearing/file/xml-importer/loaded/ -import-xml-service.store-sdf.out-dir-error=/opt/clearing/file/xml-importer/error/= +import-xml-service.store-sdf.out-dir-error=/opt/clearing/file/xml-importer/error/ -# Sftp directories and credentials +# Sftp directories and credentials for SDf import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ import-xml-service.store-sdf.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ import-xml-service.store-sdf.sftp-in.sftp-src-dir=clearing_xml-importer_sftp @@ -32,35 +26,13 @@ import-xml-service.store-sdf.sftp-in.password=********* import-xml-service.store-sdf.sftp-in.server-ip=127.0.0.1 import-xml-service.store-sdf.sftp-in.server-port=22 -# Kafka settings -# Kafka producer -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.bootstrap-servers=localhost:9092 -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.acks=all -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.retries=0 -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.batch-size=16384 -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.linger-ms=1 -import-xml-service.sdf-hazelcast-and-kafka.kafka-producer.buffer-memory=33554432 - -# Kafka consumer -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.bootstrap-servers=localhost:9092 -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.group-id=dev-group-clearing-service -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.enable-auto-commit=false -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.session-timeout-ms=30000 -import-xml-service.sdf-hazelcast-and-kafka.kafka-consumer.auto-offset-reset=latest - -# LKS settings -# Hazelcast cluster -import-xml-service.lks-hazelcast-and-kafka.hazelcast.cluster-members=localhost:5701 -import-xml-service.lks-hazelcast-and-kafka.hazelcast.login=dev -import-xml-service.lks-hazelcast-and-kafka.hazelcast.password=dev-pass - -# Store directories +# Store directories for LKS import-xml-service.store-lks.delete-src-files=false import-xml-service.store-lks.src-dir=/opt/clearing/file/xml-importer/ import-xml-service.store-lks.out-dir=/opt/clearing/file/xml-importer/loaded/ -import-xml-service.store-lks.out-dir-error=/opt/clearing/file/xml-importer/error/= +import-xml-service.store-lks.out-dir-error=/opt/clearing/file/xml-importer/error/ -# Sftp directories and credentials +# Sftp directories and credentials for LKS import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.rub=clearing_xml-importer_sftp/rub/ import-xml-service.store-lks.sftp-in.sftp-src-pay-val-dir.eur=clearing_xml-importer_sftp/eur/ import-xml-service.store-lks.sftp-in.sftp-src-dir=clearing_xml-importer_sftp @@ -69,18 +41,23 @@ import-xml-service.store-lks.sftp-in.password=********* import-xml-service.store-lks.sftp-in.server-ip=127.0.0.1 import-xml-service.store-lks.sftp-in.server-port=22 +# Hazelcast cluster +import-xml-service.hazelcast.cluster-members=10.200.200.181:5701 +import-xml-service.hazelcast.login=dev +import-xml-service.hazelcast.password=dev-pass + # Kafka settings # Kafka producer -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.bootstrap-servers=localhost:9092 -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.acks=all -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.retries=0 -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.batch-size=16384 -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.linger-ms=1 -import-xml-service.lks-hazelcast-and-kafka.kafka-producer.buffer-memory=33554432 +import-xml-service.kafka-producer.bootstrap-servers=localhost:9092 +import-xml-service.kafka-producer.acks=all +import-xml-service.kafka-producer.retries=0 +import-xml-service.kafka-producer.batch-size=16384 +import-xml-service.kafka-producer.linger-ms=1 +import-xml-service.kafka-producer.buffer-memory=33554432 # Kafka consumer -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.bootstrap-servers=localhost:9092 -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.group-id=dev-group-clearing-service -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.enable-auto-commit=false -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.session-timeout-ms=30000 -import-xml-service.lks-hazelcast-and-kafka.kafka-consumer.auto-offset-reset=latest \ No newline at end of file +import-xml-service.kafka-consumer.bootstrap-servers=localhost:9092 +import-xml-service.kafka-consumer.group-id=dev-group-clearing-service +import-xml-service.kafka-consumer.enable-auto-commit=false +import-xml-service.kafka-consumer.session-timeout-ms=30000 +import-xml-service.kafka-consumer.auto-offset-reset=latest \ No newline at end of file From 20aef32798c5938bb246b0c8b5a8ec18ec137eb3 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 12 Sep 2024 19:09:54 +0300 Subject: [PATCH 14/16] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-754?= =?UTF-8?q?=20=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B9=20=D1=80=D0=B5=D1=84?= =?UTF-8?q?=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../imdg/base/SimpleObjectMapStore.java | 29 +++++++++---------- .../imdg/util/PostgresColumnTypeUtil.java | 19 ++++++------ 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java index 541726a30..b1539c587 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java @@ -7,7 +7,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.sql.Types; -import java.text.SimpleDateFormat; import java.time.Instant; import java.time.LocalDate; import java.util.ArrayList; @@ -39,7 +38,6 @@ public abstract class SimpleObjectMapStore implements private final static int BATCH_SIZE = 1000; protected final Logger log = LoggerFactory.getLogger(this.getClass()); protected final JdbcTemplate jdbcTemplate; - protected SimpleDateFormat DB_DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd"); protected Map columnMetaDataMap; protected SimpleObjectMapStore(JdbcTemplate jdbcTemplate) { @@ -160,7 +158,7 @@ public abstract class SimpleObjectMapStore implements } protected void batchInsertUpdate(@NonNull String insertStatement, @NonNull List args) { - updateMetaData(); + readMetaData(); try { int[][] ret = jdbcTemplate.batchUpdate(insertStatement, args, BATCH_SIZE, (ps, params) -> { for (int i = 0; i < params.length; i++) { @@ -181,10 +179,11 @@ public abstract class SimpleObjectMapStore implements } } - Object normalizeValue(Object value, ParameterMetaData metaData, Map columnMetaDataMap, int i, String insertStatement, Object[] params) throws SQLException { + Object normalizeValue(Object value, ParameterMetaData metaData, Map columnMetaDataMap, int i, + String insertStatement, Object[] params) throws SQLException { if (value == null) return null; - i++; // нумерация в ParameterMetaData с 1 + i++; // нумерация в ParameterMetaData начинается с 1 final int type = metaData.getParameterType(i); final String fieldName = getFields()[i - 1].toLowerCase(); @@ -196,24 +195,24 @@ public abstract class SimpleObjectMapStore implements if (columnMetaDataMap == null) { length = metaData.getPrecision(i + 1); } else { - // в postgresql для String ParameterMetaData.getPrecision возвращает 0, по этому используется другой способ через columnMetaDataMap. + // в postgresql для String ParameterMetaData.getPrecision возвращает 0, используется columnMetaDataMap length = columnMetaDataMap.get(fieldName).getPrecision(); } if (length > 0 && stringValue.length() > length) { value = stringValue.substring(0, length); - log.error("String value for insert is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + log.error("String value is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", insertStatement, Arrays.toString(params), i, stringValue, value); } } else if ((type == Types.DECIMAL || type == Types.NUMERIC || type == Types.BIGINT || type == Types.INTEGER) && (value instanceof BigDecimal || value instanceof Long || value instanceof Integer)) { if (value instanceof Integer && (type == Types.INTEGER || type == Types.BIGINT)) { - return value; // value ok + return value; // ok } if (value instanceof Long vl) { if (type == Types.BIGINT) { - return value; // value ok + return value; // ok } if (type == Types.INTEGER) { if (vl > Integer.MAX_VALUE) { @@ -242,12 +241,12 @@ public abstract class SimpleObjectMapStore implements if (bigDecimalValue.compareTo(BigDecimal.valueOf(Long.MAX_VALUE)) > 0) { Object oldValue = value; value = Long.MAX_VALUE; - log.error("Double value for insert as BIGINT is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + log.error("Double value as BIGINT is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", insertStatement, Arrays.toString(params), i, oldValue, value); } else if (bigDecimalValue.compareTo(BigDecimal.valueOf(Long.MIN_VALUE)) < 0) { Object oldValue = value; value = Long.MIN_VALUE; - log.error("Double value for insert as BIGINT is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + log.error("Double value as BIGINT is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", insertStatement, Arrays.toString(params), i, oldValue, value); } return value; // value ok @@ -256,12 +255,12 @@ public abstract class SimpleObjectMapStore implements if (bigDecimalValue.compareTo(BigDecimal.valueOf(Integer.MAX_VALUE)) > 0) { Object oldValue = value; value = Integer.MAX_VALUE; - log.error("Double value for insert as INTEGER is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + log.error("Double value as INTEGER is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", insertStatement, Arrays.toString(params), i, oldValue, value); } else if (bigDecimalValue.compareTo(BigDecimal.valueOf(Integer.MIN_VALUE)) < 0) { Object oldValue = value; value = Integer.MIN_VALUE; - log.error("Double value for insert as INTEGER is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", + log.error("Double value as INTEGER is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", insertStatement, Arrays.toString(params), i, oldValue, value); } return value; // value ok @@ -280,7 +279,7 @@ public abstract class SimpleObjectMapStore implements value = new BigDecimal(BigDecimal.valueOf(Math.pow(10, precision - dbScalePartLength)).longValue() - 1); if (negative) value = ((BigDecimal) value).negate(); - log.error("BigDecimal value for insert is too large [ insertSql: {}, params: {}, i:{}, incorrect value : {}, normalized value: {} ]", + log.error("BigDecimal value is too large [insertSql: {}, params: {}, i: {}, incorrect value: {}, normalized value: {}]", insertStatement, Arrays.toString(params), i, bigDecimalValue, value); } } @@ -311,7 +310,7 @@ public abstract class SimpleObjectMapStore implements return TextUtil.format(INSERT_TEMPLATE, params); } - private void updateMetaData() { + private void readMetaData() { if (columnMetaDataMap == null) synchronized (this) { columnMetaDataMap = PostgresColumnTypeUtil.extractTableMetadata(jdbcTemplate, getTableName()); } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/PostgresColumnTypeUtil.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/PostgresColumnTypeUtil.java index 1d6b7035a..1b16dfcf0 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/PostgresColumnTypeUtil.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/util/PostgresColumnTypeUtil.java @@ -10,20 +10,19 @@ import org.springframework.jdbc.core.JdbcTemplate; public final class PostgresColumnTypeUtil { static Logger log = LoggerFactory.getLogger(PostgresColumnTypeUtil.class); - static String SELECT_METADATA_CASE_SENS = "SELECT * FROM information_schema.columns WHERE table_name=?"; - static String SELECT_METADATA_CASE_INSENS = "SELECT * FROM information_schema.columns WHERE table_name ilike ?"; + static String SELECT_METADATA_LIKE = "SELECT * FROM information_schema.columns WHERE table_name=?"; + static String SELECT_METADATA_ILIKE = "SELECT * FROM information_schema.columns WHERE table_name ilike ?"; public static Map extractTableMetadata(JdbcTemplate template, String tableName) { - List columnMetaDataList = template.query(tableName.contains("\"") ? SELECT_METADATA_CASE_SENS - : SELECT_METADATA_CASE_INSENS, (rs, rn) -> new ColumnMetaData( - rs.getString("column_name"), - rs.getString("data_type"), - rs.getInt("character_maximum_length"), - rs.getInt("numeric_precision"), - rs.getInt("numeric_scale") + List columnMetaDataList = template.query(tableName.contains("\"") ? SELECT_METADATA_LIKE + : SELECT_METADATA_ILIKE, (rs, rn) -> new ColumnMetaData( + rs.getString("column_name"), + rs.getString("data_type"), + rs.getInt("character_maximum_length"), + rs.getInt("numeric_precision"), rs.getInt("numeric_scale") ), tableName.replace("\"", "")); log.debug("metadata of table \"{}\" is {}", tableName, columnMetaDataList); return columnMetaDataList.isEmpty() ? null : - columnMetaDataList.stream().collect(Collectors.toMap(ColumnMetaData::getName, Function.identity())); + columnMetaDataList.stream().collect(Collectors.toMap(ColumnMetaData::getName, Function.identity())); } } From b3420edb4647d555b7f3024c3c686cf3ca19565c Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 12 Sep 2024 19:22:11 +0300 Subject: [PATCH 15/16] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-747?= =?UTF-8?q?=20DDL=203.14=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D0=BE=D0=B1?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db-scripts/src/main/resources/db/updateDDL_3.14.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.14.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.14.sql index 34d424898..840d3e350 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.14.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.14.sql @@ -13,7 +13,7 @@ ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ADDRESS1 varchar(255); ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ACCOUNT1 varchar(35); ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_NAME2 varchar(255); ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ADDRESS2 varchar(255); -ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS INTERMEDIARY_SWIFT_CODE_2 varchar(12); +ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS INTERMEDIARY_SWIFT_CODE2 varchar(12); ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BANK_ACCOUNT2 varchar(35); ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS PERSONAL_ACCOUNT varchar(20); ALTER TABLE BANK_ACCOUNT ADD COLUMN IF NOT EXISTS BUDGET_CLASSIFICATION_CODE varchar(20); @@ -28,7 +28,7 @@ COMMENT ON COLUMN BANK_ACCOUNT.BANK_ADDRESS1 IS ' COMMENT ON COLUMN BANK_ACCOUNT.BANK_ACCOUNT1 IS ' - 1'; COMMENT ON COLUMN BANK_ACCOUNT.BANK_NAME2 IS ' - 2'; COMMENT ON COLUMN BANK_ACCOUNT.BANK_ADDRESS2 IS ' - 2'; -COMMENT ON COLUMN BANK_ACCOUNT.INTERMEDIARY_SWIFT_CODE_2 IS 'SWIFT - 2'; +COMMENT ON COLUMN BANK_ACCOUNT.INTERMEDIARY_SWIFT_CODE2 IS 'SWIFT - 2'; COMMENT ON COLUMN BANK_ACCOUNT.BANK_ACCOUNT2 IS ' - 2'; COMMENT ON COLUMN BANK_ACCOUNT.PERSONAL_ACCOUNT IS ' '; COMMENT ON COLUMN BANK_ACCOUNT.BUDGET_CLASSIFICATION_CODE IS ''; From fc3fc9cef6e17d523e590c7e8907037f7513dc84 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Fri, 13 Sep 2024 11:37:53 +0300 Subject: [PATCH 16/16] xml-importer minor bug fix and refactoring --- .../importer/config/ImporterImdgConfig.java | 4 ++-- .../xml/importer/config/KafkaConfig.java | 21 ++++++++++--------- .../xml/importer/config/SFTPConfig.java | 2 +- .../importer/config/XMLImporterConfig.java | 11 ++++------ .../xml/importer/logic/steps/ImportToDB.java | 3 ++- .../logic/steps/XmlImportKafkaMessenger.java | 13 ++++-------- .../xml/importer/services/FileChecker.java | 1 + .../config/ImporterImdgTestConfig.java | 4 ++-- .../xml/importer/config/KafkaTestConfig.java | 10 +++------ .../importer/logic/steps/ImportToDBTest.java | 2 +- 10 files changed, 31 insertions(+), 40 deletions(-) diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java index 0c54ab12d..075b64d4a 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/ImporterImdgConfig.java @@ -32,8 +32,8 @@ public class ImporterImdgConfig { } @Autowired - @Bean - public HazelcastService imdgProvider( + @Bean(name = "hazelcastService") + public HazelcastService hazelcastService( @Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, ImportXMLServiceSettings settings diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java index 77c196d6c..1d3e64109 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/KafkaConfig.java @@ -3,6 +3,7 @@ package ru.spcex.clearing.xml.importer.config; import java.util.function.Supplier; import org.apache.kafka.clients.consumer.Consumer; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -15,26 +16,26 @@ import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.platform.imdg.api.ImdgId; -import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @Configuration public class KafkaConfig { - @Bean - public ProducerFactory pf(ImportXMLServiceSettings settings) { + @Bean(name = "producerFactory") + public ProducerFactory producerFactory(ImportXMLServiceSettings settings) { KafkaProducerSettings kafkaSettings = settings.getKafkaProducer(); return KafkaProducerFactory.producerFactory(kafkaSettings); } - @Bean - public KafkaTemplate kafkaTemplate(ProducerFactory pf) { + @Bean(name = "kafkaTemplate") + public KafkaTemplate kafkaTemplate(@Qualifier("producerFactory") ProducerFactory pf) { return new KafkaTemplate<>(pf); } @Autowired - @Bean - public Supplier kafkaSender(KafkaTemplate kafkaTemplate, - ImdgProvider imdgProvider) { - ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); + @Bean(name = "kafkaSender") + public Supplier kafkaSender(@Qualifier("kafkaTemplate") KafkaTemplate kafkaTemplate, + @Qualifier("hazelcastService") HazelcastService hazelcastService) { + ImdgId imdgIdGenerator = hazelcastService.getImdgIdGenerator(); return () -> KafkaSender .setup() .setKafkaTemplate(kafkaTemplate) @@ -45,7 +46,7 @@ public class KafkaConfig { @Autowired @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) - @Bean + @Bean(name = "createConsumer") public Consumer createConsumer(ImportXMLServiceSettings settings) { return KafkaConsumerFactory.consumer(settings.getKafkaConsumer()); } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPConfig.java index 6b8a3a8d6..eb05d8a31 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/SFTPConfig.java @@ -99,7 +99,7 @@ public class SFTPConfig { @ConditionalOnProperty(value = "import-xml-service.process-sdf-files", havingValue = "true") @ServiceActivator(inputChannel = "listSftpChannelSdf") public MessageHandler handlerListSdf(@Qualifier("sftpSessionFactorySdf") SessionFactory sessionFactory, - ImportXMLServiceSettings settings) { + ImportXMLServiceSettings settings) { SftpOutboundGateway sftpOutboundGateway = new SftpOutboundGateway(sessionFactory, MGET.getCommand(), null); sftpOutboundGateway.setLocalDirectory(new File(settings.getStoreSdf().getSrcDir())); sftpOutboundGateway.setAutoCreateLocalDirectory(true); diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java index 0a7f74107..bbde9098d 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/config/XMLImporterConfig.java @@ -13,9 +13,9 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; @@ -29,22 +29,19 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.platform.classes.base.SpcexObjectBase; -import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.iml.hazelcast.adapter.ImdgHazelcast; +import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; @Configuration @EnableConfigurationProperties public class XMLImporterConfig { private final Logger log = LoggerFactory.getLogger(getClass()); private final ImportXMLServiceSettings settings; - private final ApplicationContext context; - private final ImdgProvider hazelcastService; + private final HazelcastService hazelcastService; public XMLImporterConfig(ImportXMLServiceSettings settings, - ApplicationContext context, - ImdgProvider hazelcastService) { + @Qualifier("hazelcastService") HazelcastService hazelcastService) { this.settings = settings; - this.context = context; this.hazelcastService = hazelcastService; } diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java index 545a61ef6..17aaa19ea 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDB.java @@ -2,6 +2,7 @@ package ru.spcex.clearing.xml.importer.logic.steps; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.sdf.SDf57; import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; @@ -25,7 +26,7 @@ public class ImportToDB { private final HazelcastService hazelcastService; private final XmlImportKafkaMessenger kafkaMessenger; - public ImportToDB(HazelcastService hazelcastService, + public ImportToDB(@Qualifier("hazelcastService") HazelcastService hazelcastService, XmlImportKafkaMessenger kafkaMessenger) { this.hazelcastService = hazelcastService; this.kafkaMessenger = kafkaMessenger; diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java index bc54f1f82..374c785b8 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/logic/steps/XmlImportKafkaMessenger.java @@ -2,13 +2,14 @@ package ru.spcex.clearing.xml.importer.logic.steps; import static ru.spcex.clearing.platform.messaging.domain.Consts.PAIR_SDF; -import java.util.HashMap; +import java.util.EnumMap; import java.util.Map; import java.util.function.Consumer; import java.util.function.Supplier; 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.Component; import ru.spcex.clearing.platform.messaging.domain.Consts; import ru.spcex.clearing.platform.messaging.domain.cud.account.BankAccountNewRequest; @@ -18,7 +19,6 @@ import ru.spcex.clearing.platform.messaging.domain.cud.utilities.NotificationNew import ru.spcex.clearing.platform.messaging.domain.cud.utilities.PairSdfRequest; import ru.spcex.clearing.platform.messaging.serialization.LogFormatter; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; -import ru.spcex.clearing.xml.importer.config.settings.ImportXMLServiceSettings; import ru.spcex.clearing.xml.importer.logic.data.ResultContainer; import ru.spcex.clearing.xml.importer.logic.data.enums.ETable; import ru.spcex.clearing.xml.importer.logic.data.enums.StageResult; @@ -30,15 +30,10 @@ import ru.spcex.platform.enumeration.SdfTable; public class XmlImportKafkaMessenger implements InitializingBean { final Logger log = LoggerFactory.getLogger(getClass()); private final Supplier kafka; - private final Map> messengers; + private final Map> messengers = new EnumMap<>(ETable.class); - private final ImportXMLServiceSettings settings; - - public XmlImportKafkaMessenger(Supplier kafka, - ImportXMLServiceSettings settings) { + public XmlImportKafkaMessenger(@Qualifier("kafkaSender") Supplier kafka) { this.kafka = kafka; - this.settings = settings; - this.messengers = new HashMap<>(); } @Override diff --git a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java index c53823314..8f602b73c 100644 --- a/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java +++ b/clearing-parent/xml-importer/src/main/java/ru/spcex/clearing/xml/importer/services/FileChecker.java @@ -57,6 +57,7 @@ public class FileChecker { List xmlFiles = srcDir.stream() .map(this::lsXML) .flatMap(List::stream) + .distinct() .toList(); if (xmlFiles.isEmpty()) return newFiles; diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java index 7327c8829..9bb4d015d 100644 --- a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/ImporterImdgTestConfig.java @@ -64,8 +64,8 @@ public class ImporterImdgTestConfig { } @Autowired - @Bean(name = "imdgProvider") - public HazelcastService imdgTestProvider( + @Bean(name = "hazelcastService") + public HazelcastService hazelcastServiceTest( @Qualifier("taskExecutorHazelcastTestClientInitializerXmlImporter") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorTestIdGeneratorAwaiterXmlImporter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, @Qualifier("hazelcastClientParamsXmlImporter") HazelcastClientParams params) { diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java index 2770b648c..a06b9eea4 100644 --- a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/config/KafkaTestConfig.java @@ -17,7 +17,6 @@ import org.apache.kafka.clients.producer.MockProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; import org.mockito.ArgumentCaptor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.boot.test.mock.mockito.MockReset; @@ -30,13 +29,10 @@ import org.springframework.kafka.requestreply.ReplyingKafkaTemplate; import org.springframework.kafka.requestreply.RequestReplyFuture; import org.springframework.kafka.support.SendResult; import org.springframework.util.concurrent.ListenableFuture; -import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.platform.messaging.service.RequestInfo; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.test.TestUtils; -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.iml.hazelcast.service.HazelcastService; @Configuration @Import(ImporterImdgTestConfig.class) @@ -132,9 +128,9 @@ public class KafkaTestConfig { @Bean("kafkaSender") public Supplier kafkaSender(@Qualifier("kafkaTestTemplate") KafkaTemplate kafkaTemplate, - @Qualifier("imdgProvider") ImdgProvider imdgProvider, + @Qualifier("hazelcastService") HazelcastService hazelcastService, Producer mockProducer) { - ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); + ImdgId imdgIdGenerator = hazelcastService.getImdgIdGenerator(); return () -> KafkaSender .setup() .setKafkaTemplate(kafkaTemplate) diff --git a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java index 34a191bbd..1987bb4b8 100644 --- a/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java +++ b/clearing-parent/xml-importer/src/test/java/ru/spcex/clearing/xml/importer/logic/steps/ImportToDBTest.java @@ -59,7 +59,7 @@ class ImportToDBTest { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yy"); @Autowired - @Qualifier("imdgProvider") + @Qualifier("hazelcastService") private HazelcastService hazelcastService; @Autowired