From 106828d83d6644f4ad84315897c642192fb25cfd Mon Sep 17 00:00:00 2001 From: AKurakin Date: Wed, 30 Apr 2025 16:16:16 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-832 DDL --- .../clearing/classes/ConstSerializable.java | 2 +- .../data/execution/ExecutionCommon.java | 27 +++++++++++++++++++ .../db-scripts/src/main/resources/db/DDL.sql | 18 ++++++++++--- .../src/main/resources/db/updateDDL_3.17.sql | 19 +++++++++++++ .../ExecutionCurrencyHistoryMapStore.java | 8 ++++-- .../ExecutionCurrencyMapStore.java | 11 ++++++-- .../services/HazelcastLifecycleSupport.java | 2 +- 7 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.17.sql diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/ConstSerializable.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/ConstSerializable.java index bc85615b1..bf2aa747d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/ConstSerializable.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/ConstSerializable.java @@ -4,5 +4,5 @@ package ru.clearing.classes; * В случае любых изменений модуля classes необходимо изменить serialVersionUID++ */ public interface ConstSerializable { - long serialVersionUID = 293236453421L; + long serialVersionUID = 293236453422L; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCommon.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCommon.java index be5b7d6af..53aa0fd90 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCommon.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCommon.java @@ -35,6 +35,9 @@ public abstract class ExecutionCommon extends BusinessObject implements IExecuti protected Long sessionId; protected LocalDate clearingDate; protected Long counterPartyTradingClearingRegistryId; + protected String comment; + protected String clientCode; + protected Long linkedExchangeExecutionId; public abstract ExecutionType type(); @@ -221,4 +224,28 @@ public abstract class ExecutionCommon extends BusinessObject implements IExecuti public void setCounterPartyTradingClearingRegistryId(Long counterPartyTradingClearingRegistryId) { this.counterPartyTradingClearingRegistryId = counterPartyTradingClearingRegistryId; } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public String getClientCode() { + return clientCode; + } + + public void setClientCode(String clientCode) { + this.clientCode = clientCode; + } + + public Long getLinkedExchangeExecutionId() { + return linkedExchangeExecutionId; + } + + public void setLinkedExchangeExecutionId(Long linkedExchangeExecutionId) { + this.linkedExchangeExecutionId = linkedExchangeExecutionId; + } } 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 97bf50d79..de6bd1610 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql @@ -3269,7 +3269,7 @@ 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); +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 VARCHAR(255), CLIENT_CODE VARCHAR(255), LINKED_EXCHANGE_EXECUTION_ID BIGINT); COMMENT ON TABLE EXECUTION_CURRENCY IS 'Сделки с валютными инструментами'; COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе'; @@ -3330,12 +3330,18 @@ COMMENT ON COLUMN EXECUTION_CURRENCY.CREATED_AT IS 'Дата-время созд COMMENT ON COLUMN EXECUTION_CURRENCY.UPDATED_AT IS 'Дата-время изменения записи'; +COMMENT ON COLUMN EXECUTION_CURRENCY.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.CLIENT_CODE IS 'Код клиента'; + +COMMENT ON COLUMN EXECUTION_CURRENCY.LINKED_EXCHANGE_EXECUTION_ID 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); +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 VARCHAR(255), CLIENT_CODE VARCHAR(255), LINKED_EXCHANGE_EXECUTION_ID BIGINT); 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 'Дата и время изменения'; @@ -3400,6 +3406,12 @@ COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CREATED_AT IS 'Дата-время COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CLIENT_CODE IS 'Код клиента'; + +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.LINKED_EXCHANGE_EXECUTION_ID IS 'Номер витринной сделки'; + GRANT ALL PRIVILEGES ON TABLE EXECUTION_CURRENCY_HISTORY TO clearing; -- depoBalanceRegister - Реестр остатков ценных бумаг @@ -5332,4 +5344,4 @@ GRANT ALL PRIVILEGES ON TABLE RATES TO clearing; -- Data types -INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.16') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION \ No newline at end of file +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.17') 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.17.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.17.sql new file mode 100644 index 000000000..b5e2a507d --- /dev/null +++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.17.sql @@ -0,0 +1,19 @@ +-- DB version: 3.16 -> 3.17 + +-- == alter exist tables == + +ALTER TABLE EXECUTION_CURRENCY ADD COLUMN IF NOT EXISTS COMMENT VARCHAR(255); +ALTER TABLE EXECUTION_CURRENCY ADD COLUMN IF NOT EXISTS CLIENT_CODE VARCHAR(255); +ALTER TABLE EXECUTION_CURRENCY ADD COLUMN IF NOT EXISTS LINKED_EXCHANGE_EXECUTION_ID BIGINT; +COMMENT ON COLUMN EXECUTION_CURRENCY.COMMENT IS ''; +COMMENT ON COLUMN EXECUTION_CURRENCY.CLIENT_CODE IS ' '; +COMMENT ON COLUMN EXECUTION_CURRENCY.LINKED_EXCHANGE_EXECUTION_ID IS ' '; + +ALTER TABLE EXECUTION_CURRENCY_HISTORY ADD COLUMN IF NOT EXISTS COMMENT VARCHAR(255); +ALTER TABLE EXECUTION_CURRENCY_HISTORY ADD COLUMN IF NOT EXISTS CLIENT_CODE VARCHAR(255); +ALTER TABLE EXECUTION_CURRENCY_HISTORY ADD COLUMN IF NOT EXISTS LINKED_EXCHANGE_EXECUTION_ID BIGINT; +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COMMENT IS ''; +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CLIENT_CODE IS ' '; +COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.LINKED_EXCHANGE_EXECUTION_ID IS ' '; + +INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.17') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionCurrencyHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionCurrencyHistoryMapStore.java index 429756764..4c4504ada 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionCurrencyHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionCurrencyHistoryMapStore.java @@ -42,7 +42,8 @@ public class ExecutionCurrencyHistoryMapStore extends TemplateEventMapStore