This commit is contained in:
AKurakin 2025-04-30 16:16:16 +03:00
parent 4971890b8f
commit 106828d83d
7 changed files with 78 additions and 9 deletions

View file

@ -4,5 +4,5 @@ package ru.clearing.classes;
* В случае любых изменений модуля classes необходимо изменить serialVersionUID++
*/
public interface ConstSerializable {
long serialVersionUID = 293236453421L;
long serialVersionUID = 293236453422L;
}

View file

@ -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;
}
}

View file

@ -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
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.17') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

View file

@ -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

View file

@ -42,7 +42,8 @@ public class ExecutionCurrencyHistoryMapStore extends TemplateEventMapStore<Exec
@Override
public String[] getFields() {
return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE",
"EXECUTION_CURRENCY_ID", "CREATED_AT", "UPDATED_AT", "EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "EXCHANGE_EXECUTION_MICROSECONDS", "TRADING_DATE", "SETTLEMENT_DATE", "SETTLEMENT_CODE", "SECURITY_ID", "SECURITY_SYMBOL", "SECURITY_NAME", "COMPANY_ID", "PARTY_TRADING_CLEARING_REGISTRY_ID", "PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY", "MARKET", "PRICE", "LOTS", "SETTLEMENT_AMOUNT", "QUANTITY", "SIDE", "CURRENCY_CODE", "SETTLEMENT_ORGANIZATION", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE"
"EXECUTION_CURRENCY_ID", "CREATED_AT", "UPDATED_AT", "EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "EXCHANGE_EXECUTION_MICROSECONDS", "TRADING_DATE", "SETTLEMENT_DATE", "SETTLEMENT_CODE", "SECURITY_ID", "SECURITY_SYMBOL", "SECURITY_NAME", "COMPANY_ID", "PARTY_TRADING_CLEARING_REGISTRY_ID", "PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY", "MARKET", "PRICE", "LOTS", "SETTLEMENT_AMOUNT", "QUANTITY", "SIDE", "CURRENCY_CODE", "SETTLEMENT_ORGANIZATION", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE",
"COMMENT", "CLIENT_CODE", "LINKED_EXCHANGE_EXECUTION_ID"
};
}
@ -83,7 +84,10 @@ public class ExecutionCurrencyHistoryMapStore extends TemplateEventMapStore<Exec
object.getSettlementOrganization(),
object.getCoverageStatus(),
object.getSessionId(),
TimeUtil.toDateFromLocalDate(object.getClearingDate())
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
object.getComment(),
object.getClientCode(),
object.getLinkedExchangeExecutionId()
};
return args;
}

View file

@ -56,7 +56,8 @@ public class ExecutionCurrencyMapStore extends TemplateMapStore<ExecutionCurrenc
public String[] getFields() {
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT",
"EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "EXCHANGE_EXECUTION_MICROSECONDS", "TRADING_DATE", "SETTLEMENT_DATE", "SETTLEMENT_CODE", "SECURITY_ID", "SECURITY_SYMBOL", "SECURITY_NAME", "COMPANY_ID", "PARTY_TRADING_CLEARING_REGISTRY_ID", "PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY", "MARKET", "PRICE", "LOTS", "SETTLEMENT_AMOUNT", "QUANTITY", "SIDE", "CURRENCY_CODE", "SETTLEMENT_ORGANIZATION", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE"
"EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "EXCHANGE_EXECUTION_MICROSECONDS", "TRADING_DATE", "SETTLEMENT_DATE", "SETTLEMENT_CODE", "SECURITY_ID", "SECURITY_SYMBOL", "SECURITY_NAME", "COMPANY_ID", "PARTY_TRADING_CLEARING_REGISTRY_ID", "PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY", "MARKET", "PRICE", "LOTS", "SETTLEMENT_AMOUNT", "QUANTITY", "SIDE", "CURRENCY_CODE", "SETTLEMENT_ORGANIZATION", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE",
"COMMENT", "CLIENT_CODE", "LINKED_EXCHANGE_EXECUTION_ID"
};
}
@ -92,6 +93,9 @@ public class ExecutionCurrencyMapStore extends TemplateMapStore<ExecutionCurrenc
object.setCoverageStatus(resultSet.getObject("COVERAGE_STATUS", String.class));
object.setSessionId(resultSet.getObject("SESSION_ID", Long.class));
object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
object.setComment(resultSet.getObject("COMMENT", String.class));
object.setClientCode(resultSet.getObject("CLIENT_CODE", String.class));
object.setLinkedExchangeExecutionId(resultSet.getObject("LINKED_EXCHANGE_EXECUTION_ID", Long.class));
return object;
}
@ -126,7 +130,10 @@ public class ExecutionCurrencyMapStore extends TemplateMapStore<ExecutionCurrenc
object.getSettlementOrganization(),
object.getCoverageStatus(),
object.getSessionId(),
TimeUtil.toDateFromLocalDate(object.getClearingDate())
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
object.getComment(),
object.getClientCode(),
object.getLinkedExchangeExecutionId()
};
return args;
}

View file

@ -14,7 +14,7 @@ public class HazelcastLifecycleSupport extends AbstractHazelcastLifecycleSupport
/**
* Рабочая версия БД. Требуется вручную сверять с DDL.sql и накручивать эту переменную.
*/
public static final String CHECK_DB_VERSION = "3.11";
public static final String CHECK_DB_VERSION = "3.17";
private final Logger log = LoggerFactory.getLogger(this.getClass());