From 7b24b1d6ab0dd8a17ee38055d25284506f09303c Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 31 Oct 2023 14:38:19 +0300 Subject: [PATCH] IMDG DDL http://jira.mfd.msk:8088/browse/CLS-575 DDL 3.9 --- .../src/main/resources/meta/meta.json | 109 +++++++++++++++++- .../src/main/resources/meta/meta.xml | 16 ++- .../backend-api/src/test/resources/meta.json | 109 +++++++++++++++++- .../statics/data/account/AccountSymbols.java | 33 ++++++ .../data/account/AccountSymbolsHistory.java | 28 +++++ .../db-scripts/src/main/resources/db/DDL.sql | 73 ++++++++---- .../src/main/resources/db/updateDDL_3.9.sql | 32 +++++ .../AccountSymbolsHistoryMapStore.java | 50 ++++++++ .../AccountSymbolsMapStore.java | 55 +++++++++ .../clearing/imdg/IMDGDistributedNames.java | 2 + 10 files changed, 475 insertions(+), 32 deletions(-) create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountSymbols.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountSymbolsHistory.java create mode 100644 clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.9.sql create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountSymbolsHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountSymbolsMapStore.java 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 a1c79cd96..98fd57270 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.json +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.json @@ -1,6 +1,6 @@ { - "version": "3.8.0.58", + "version": "3.9.0.64", "enums": { @@ -4132,6 +4132,10 @@ {"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 @@ -4664,6 +4668,68 @@ } ] + } + , + "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", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.AccountSymbolsNewAction", + + "fields": [ + {"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": "id", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true + } + ] + } + ] } , "clearingAccount": { @@ -5270,11 +5336,15 @@ "group": "Обмен с расчетной организацией", - "name": "Вывод свободных средств инициаторов В (отправка ДФ-54 для получения ответа ДФ-55)", + "name": "Вывод свободных средств с клирингового регистра (отправка ДФ-54 для получения ответа ДФ-55)", "fields": [ + {"code": "fullBalance", + "type": 10,"name": "Текущий баланс (всего)","shortname": "Текущие средства (всего)","enabled": false + } + , {"code": "balance", - "type": 10,"name": "Текущий баланс","shortname": "Текущие средства","enabled": false + "type": 10,"name": "Текущий баланс (свободно)","shortname": "Текущие средства (свободно)","enabled": false } , {"code": "securitySymbol", @@ -5290,7 +5360,7 @@ } , {"code": "senderId", - "type": 1,"group": "Отправитель","name": "Участник отправитель","shortname": "Отправитель","link": "company","linkCode": "shortName","required": true,"enabled": false + "type": 1,"group": "Отправитель","name": "Участник отправитель","shortname": "Отправитель","link": "company","linkCode": "shortName","required": true } , {"code": "creditLeg_accountId", @@ -5509,6 +5579,17 @@ "name": "Формирование ДФ-05 с кодом 9 (финальный)", + "fields": [] + } + , + {"method":"post", + + "destination": "CHDF", + + "group": "Общее", + + "name": "Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21", + "fields": [] } ] @@ -5780,6 +5861,8 @@ "destination": "execution-deposits", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.execution.ExecutionDeposit", "logUpdates": "true", @@ -5932,6 +6015,8 @@ "destination": "execution-fonds", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.execution.ExecutionFond", "logUpdates": "true", @@ -6080,6 +6165,8 @@ "destination": "depo-balance-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.DepoBalanceRegister", "table": "balance_depo_register", @@ -6126,6 +6213,8 @@ "destination": "money-balance-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.MoneyBalanceRegister", "table": "money_balance_register", @@ -6192,6 +6281,8 @@ "destination": "admitted-liabilities-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.AdmittedLiabilitiesRegister", "table": "admitted_liabilities_register", @@ -6254,6 +6345,8 @@ "destination": "covered-liabilities-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.CoveredLiabilitiesRegister", "table": "covered_Liabilities_register", @@ -6316,6 +6409,8 @@ "destination": "money-payment-instruction-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.MoneyPaymentInstructionRegister", "table": "money_payment_instruction_register", @@ -6370,6 +6465,8 @@ "destination": "depo-payment-instruction-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.DepoPaymentInstructionRegister", "table": "depo_payment_instruction_register", @@ -6502,6 +6599,8 @@ "destination": "liabilities-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.LiabilitiesRegister", "table": "liabilities_register", @@ -6580,6 +6679,8 @@ "destination": "execution-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.ExecutionRegister", "table": "execution_register", 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 8c896a1ca..68c5f7524 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 @@ - + @@ -1084,6 +1084,20 @@ + + + + + + + + + + + + + + diff --git a/clearing-parent/backend-api/src/test/resources/meta.json b/clearing-parent/backend-api/src/test/resources/meta.json index a1c79cd96..98fd57270 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.8.0.58", + "version": "3.9.0.64", "enums": { @@ -4132,6 +4132,10 @@ {"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 @@ -4664,6 +4668,68 @@ } ] + } + , + "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", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.account.AccountSymbolsNewAction", + + "fields": [ + {"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": "id", + + "class": "ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true + } + ] + } + ] } , "clearingAccount": { @@ -5270,11 +5336,15 @@ "group": "Обмен с расчетной организацией", - "name": "Вывод свободных средств инициаторов В (отправка ДФ-54 для получения ответа ДФ-55)", + "name": "Вывод свободных средств с клирингового регистра (отправка ДФ-54 для получения ответа ДФ-55)", "fields": [ + {"code": "fullBalance", + "type": 10,"name": "Текущий баланс (всего)","shortname": "Текущие средства (всего)","enabled": false + } + , {"code": "balance", - "type": 10,"name": "Текущий баланс","shortname": "Текущие средства","enabled": false + "type": 10,"name": "Текущий баланс (свободно)","shortname": "Текущие средства (свободно)","enabled": false } , {"code": "securitySymbol", @@ -5290,7 +5360,7 @@ } , {"code": "senderId", - "type": 1,"group": "Отправитель","name": "Участник отправитель","shortname": "Отправитель","link": "company","linkCode": "shortName","required": true,"enabled": false + "type": 1,"group": "Отправитель","name": "Участник отправитель","shortname": "Отправитель","link": "company","linkCode": "shortName","required": true } , {"code": "creditLeg_accountId", @@ -5509,6 +5579,17 @@ "name": "Формирование ДФ-05 с кодом 9 (финальный)", + "fields": [] + } + , + {"method":"post", + + "destination": "CHDF", + + "group": "Общее", + + "name": "Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21", + "fields": [] } ] @@ -5780,6 +5861,8 @@ "destination": "execution-deposits", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.execution.ExecutionDeposit", "logUpdates": "true", @@ -5932,6 +6015,8 @@ "destination": "execution-fonds", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.execution.ExecutionFond", "logUpdates": "true", @@ -6080,6 +6165,8 @@ "destination": "depo-balance-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.DepoBalanceRegister", "table": "balance_depo_register", @@ -6126,6 +6213,8 @@ "destination": "money-balance-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.MoneyBalanceRegister", "table": "money_balance_register", @@ -6192,6 +6281,8 @@ "destination": "admitted-liabilities-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.AdmittedLiabilitiesRegister", "table": "admitted_liabilities_register", @@ -6254,6 +6345,8 @@ "destination": "covered-liabilities-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.CoveredLiabilitiesRegister", "table": "covered_Liabilities_register", @@ -6316,6 +6409,8 @@ "destination": "money-payment-instruction-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.MoneyPaymentInstructionRegister", "table": "money_payment_instruction_register", @@ -6370,6 +6465,8 @@ "destination": "depo-payment-instruction-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.DepoPaymentInstructionRegister", "table": "depo_payment_instruction_register", @@ -6502,6 +6599,8 @@ "destination": "liabilities-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.LiabilitiesRegister", "table": "liabilities_register", @@ -6580,6 +6679,8 @@ "destination": "execution-registers", + "historyDestination": "history", + "class": "ru.clearing.classes.statics.data.register.ExecutionRegister", "table": "execution_register", diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountSymbols.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountSymbols.java new file mode 100644 index 000000000..a214637bd --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountSymbols.java @@ -0,0 +1,33 @@ +package ru.clearing.classes.statics.data.account; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +/** + * Депо КС - РДЦ + *

+ * DB table: ACCOUNT_SYMBOLS + **/ +public class AccountSymbols extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long accountId; + private String accountSymbolValue; + + public Long getAccountId() { + return accountId; + } + + public void setAccountId(Long value) { + this.accountId = value; + } + + public String getAccountSymbolValue() { + return accountSymbolValue; + } + + public void setAccountSymbolValue(String value) { + this.accountSymbolValue = value; + } + +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountSymbolsHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountSymbolsHistory.java new file mode 100644 index 000000000..bc6bd3315 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountSymbolsHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.account; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Депо КС - РДЦ + *

+ * DB table: ACCOUNT_SYMBOLS_HISTORY + **/ +public class AccountSymbolsHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private AccountSymbols object; + + @Override + public AccountSymbols getObject() { + return object; + } + + @Override + public void setObject(AccountSymbols object) { + this.object = object; + } +} 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 5b2ad55d0..03a3d0f84 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.8.0.47 +-- DB version: 3.9.0.64 /* Dictionaries */ -- allowed - Справочник признаков допустимости использования объектов @@ -2085,6 +2085,33 @@ COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; +-- 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 'Значение реквизита'; + + +-- 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 'Значение реквизита'; + -- 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); @@ -2393,7 +2420,7 @@ COMMENT ON COLUMN S_TRADES.SECTION IS 'Код наименования секц -- 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 varchar(20), COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +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 'Идентификационный номер сделки в Торговой системе'; @@ -2448,10 +2475,10 @@ 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 IS 'Торгово-клиринговый регистр партнера'; - 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)'; @@ -2467,7 +2494,7 @@ COMMENT ON COLUMN EXECUTION_DEPOSIT.CLEARING_DATE IS 'Дата клиринга' -- 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 varchar(20), COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +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 'Дата и время изменения'; @@ -2526,10 +2553,10 @@ 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 IS 'Торгово-клиринговый регистр партнера'; - 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)'; @@ -2544,7 +2571,7 @@ COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.CLEARING_DATE IS 'Дата клир -- 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 varchar(20), COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, SECURITY_FULL_NAME varchar(255), SETTLEMENT_DATE date, SETTLEMENT_CURRENCY varchar(4), EXCHANGE_EXECUTION_MICROSECONDS timestamp, COVERAGE_STATUS varchar(4), SESSION_ID bigint); +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 'Идентификатор записи'; @@ -2567,11 +2594,11 @@ 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.INTEREST_AMOUNT IS 'НКД'; COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_ORDER_ID IS 'Идентификационный номер заявки в Торговой системе'; -COMMENT ON COLUMN EXECUTION_FOND.PRICE IS 'Ставка по депозиту'; +COMMENT ON COLUMN EXECUTION_FOND.PRICE IS 'Цена, %'; COMMENT ON COLUMN EXECUTION_FOND.SETTLEMENT_AMOUNT IS 'Объем сделки'; @@ -2597,10 +2624,10 @@ COMMENT ON COLUMN EXECUTION_FOND.COMPANY_ID IS 'Идентификатор ко COMMENT ON COLUMN EXECUTION_FOND.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)'; -COMMENT ON COLUMN EXECUTION_FOND.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера'; - 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 'Дата расчетов'; @@ -2616,7 +2643,7 @@ COMMENT ON COLUMN EXECUTION_FOND.SESSION_ID IS 'Идентификатор кл -- 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 varchar(20), COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, SECURITY_FULL_NAME varchar(255), SETTLEMENT_DATE date, SETTLEMENT_CURRENCY varchar(4), EXCHANGE_EXECUTION_MICROSECONDS timestamp, COVERAGE_STATUS varchar(4), SESSION_ID bigint); +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 'Дата и время изменения'; @@ -2643,11 +2670,11 @@ 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.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.PRICE IS 'Цена, %'; COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SETTLEMENT_AMOUNT IS 'Объем сделки'; @@ -2673,10 +2700,10 @@ COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COMPANY_ID IS 'Идентификато COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)'; -COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера'; - 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 'Дата расчетов'; @@ -3093,7 +3120,7 @@ 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.SENDER_ID IS 'Идентификатор отправителя (linked to userCls)'; COMMENT ON COLUMN NOTIFICATION.ADDRESSEE_ID IS 'Идентификатор компании-получателя (linked to company)'; @@ -3125,7 +3152,7 @@ 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.SENDER_ID IS 'Идентификатор отправителя (linked to userCls)'; COMMENT ON COLUMN NOTIFICATION_HISTORY.ADDRESSEE_ID IS 'Идентификатор компании-получателя (linked to company)'; @@ -3956,9 +3983,11 @@ COMMENT ON COLUMN S_DF56.GENERATION_ID IS 'Идентификатор взаим -- sDf57 - ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС) DROP TABLE IF EXISTS S_DF57; -CREATE TABLE S_DF57(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_TIME timestamp, GENERATION_ID bigint); +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); 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 'Уникальный идентификатор платежного документа (транзакции)'; @@ -4037,8 +4066,6 @@ COMMENT ON COLUMN S_DF57.SPECIF IS 'Назначение платежа'; COMMENT ON COLUMN S_DF57.FILE_NAME IS 'Наименование входящего файла'; -COMMENT ON COLUMN S_DF57.GENERATION_TIME IS 'Дата и время создания записи'; - COMMENT ON COLUMN S_DF57.GENERATION_ID IS 'Идентификатор взаимодействия'; -- managementJournal - Журнал мониторинга и контроля @@ -4240,4 +4267,4 @@ COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.CLEARING_DATE IS 'Дата'; -- Data types -INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.8.1') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION \ No newline at end of file +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.9') 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.9.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.9.sql new file mode 100644 index 000000000..5a5516538 --- /dev/null +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.9.sql @@ -0,0 +1,32 @@ +-- DB version: 3.8 -> 3.9 + + +-- 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 'Значение реквизита'; + + +-- 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 'Значение реквизита'; + + +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.9') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountSymbolsHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountSymbolsHistoryMapStore.java new file mode 100644 index 000000000..5e54271bb --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountSymbolsHistoryMapStore.java @@ -0,0 +1,50 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.clearing.classes.statics.data.account.AccountSymbols; +import ru.clearing.classes.statics.data.account.AccountSymbolsHistory; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class AccountSymbolsHistoryMapStore extends TemplateEventMapStore { + + public AccountSymbolsHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_AccountSymbolsHistory; + } + + @Override + public String getTableName() { + return "ACCOUNT_SYMBOLS_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "ACCOUNT_SYMBOLS_ID", "ACCOUNT_ID", "ACCOUNT_SYMBOL_VALUE" + }; + } + + @Override + public Object[] objectToField(AccountSymbolsHistory historyLog) { + AccountSymbols object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + TimeUtil.toDateFromInstant(historyLog.getEventTime()), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getAccountId(), + object.getAccountSymbolValue() + }; + return args; + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountSymbolsMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountSymbolsMapStore.java new file mode 100644 index 000000000..06f860bf6 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountSymbolsMapStore.java @@ -0,0 +1,55 @@ +package ru.spcex.clearing.imdg.businessobject; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.clearing.classes.statics.data.account.AccountSymbols; +import ru.spcex.clearing.imdg.base.TemplateMapStore; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class AccountSymbolsMapStore extends TemplateMapStore { + + public AccountSymbolsMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_AccountSymbols; + } + + @Override + public String getTableName() { + return "ACCOUNT_SYMBOLS"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "ACCOUNT_ID", "ACCOUNT_SYMBOL_VALUE" + }; + } + + @Override + public AccountSymbols objectReader(ResultSet resultSet) throws SQLException { + AccountSymbols object = new AccountSymbols(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class)); + object.setAccountSymbolValue(resultSet.getObject("ACCOUNT_SYMBOL_VALUE", String.class)); + return object; + } + + @Override + public Object[] objectToField(AccountSymbols object) { + Object[] args = new Object[]{ + object.getId(), + object.getAccountId(), + object.getAccountSymbolValue() + }; + return args; + } + +} diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index 6e8744094..8e083ae41 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -14,6 +14,8 @@ public final class IMDGDistributedNames { @Deprecated public static final String Map_AccountBalance = "Map_AccountBalance"; public static final String Map_AccountHistory = "Map_AccountHistory"; + public static final String Map_AccountSymbols = "Map_AccountSymbols"; + public static final String Map_AccountSymbolsHistory = "Map_AccountSymbolsHistory"; public static final String Map_Relation = "Map_Relation"; public static final String Map_ClearingAccount = "Map_ClearingAccount"; public static final String Map_ClearingAccountHistory = "Map_ClearingAccountHistory";