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 8ca1ec834..9e41d8c20 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.46",
+ "version": "3.8.0.47",
"enums": {
@@ -5731,7 +5731,7 @@
}
,
{"code": "market",
- "type": 12,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkKeyCode": "code","linkCode": "description"
+ "type": 2,"length": 8,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkKeyCode": "code","linkCode": "description"
}
,
{"code": "price",
@@ -8205,6 +8205,10 @@
{"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
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 5d06a49ec..8b0a76a60 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 @@
-
+
@@ -1324,7 +1324,7 @@
-
+
@@ -1896,6 +1896,7 @@
+
diff --git a/clearing-parent/backend-api/src/test/resources/meta.json b/clearing-parent/backend-api/src/test/resources/meta.json
index 8ca1ec834..9e41d8c20 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.46",
+ "version": "3.8.0.47",
"enums": {
@@ -5731,7 +5731,7 @@
}
,
{"code": "market",
- "type": 12,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkKeyCode": "code","linkCode": "description"
+ "type": 2,"length": 8,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkKeyCode": "code","linkCode": "description"
}
,
{"code": "price",
@@ -8205,6 +8205,10 @@
{"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
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java
index f80e5094c..16c208415 100644
--- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java
@@ -5,6 +5,7 @@ import ru.spcex.platform.classes.base.SpcexObjectBase;
import java.math.BigDecimal;
import java.time.Instant;
+import java.time.LocalDate;
/**
* ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)
@@ -16,6 +17,7 @@ public class SDf53 extends SpcexObjectBase {
private String account;
private String deal;
+ private String date;
private Long status;
private String result;
private Instant generationTime;
@@ -39,6 +41,14 @@ public class SDf53 extends SpcexObjectBase {
this.deal = value;
}
+ public String getDate() {
+ return date;
+ }
+
+ public void setDate(String date) {
+ this.date = date;
+ }
+
public Long getStatus() {
return status;
}
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 174a8152c..5b2ad55d0 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.46
+-- DB version: 3.8.0.47
/* Dictionaries */
-- allowed - Справочник признаков допустимости использования объектов
@@ -2393,7 +2393,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(4), 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 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);
COMMENT ON TABLE EXECUTION_DEPOSIT IS 'Сделки';
COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
@@ -2467,7 +2467,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(4), 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 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);
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 'Дата и время изменения';
@@ -3726,7 +3726,7 @@ COMMENT ON COLUMN S_DF52.GENERATION_ID IS 'Идентификатор взаим
-- 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), STATUS bigint, RESULT varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint);
+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), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint);
COMMENT ON TABLE S_DF53 IS 'ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)';
COMMENT ON COLUMN S_DF53.ID IS 'Идентификатор записи';
@@ -3737,6 +3737,8 @@ 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 'Код завершения операции';
@@ -4238,4 +4240,4 @@ COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.CLEARING_DATE IS 'Дата';
-- Data types
-INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.8') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
\ No newline at end of file
+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
diff --git a/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.8.1.sql b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.8.1.sql
new file mode 100644
index 000000000..991276ea1
--- /dev/null
+++ b/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.8.1.sql
@@ -0,0 +1,10 @@
+-- DB version: 3.8 -> 3.8.1
+
+ALTER TABLE EXECUTION_DEPOSIT ALTER COLUMN MARKET TYPE varchar(8);
+ALTER TABLE EXECUTION_DEPOSIT_HISTORY ALTER COLUMN MARKET TYPE varchar(8);
+
+ALTER TABLE S_DF53 ADD COLUMN IF NOT EXISTS DATE varchar(8);
+COMMENT ON COLUMN S_DF53.DATE IS 'Дата изменения состояния счета';
+
+
+INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.8.1') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf53MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf53MapStore.java
index 190851d9e..a2abf5190 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf53MapStore.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf53MapStore.java
@@ -33,7 +33,7 @@ public class SDf53MapStore extends TemplateMapStore {
@Override
public String[] getFields() {
return new String[]{
- "ID", "ACCOUNT", "DEAL", "STATUS", "RESULT", "GENERATION_TIME", "GENERATION_ID", "IN_S_DF_ID", "ACC_NAME"
+ "ID", "ACCOUNT", "DEAL", "DATE", "STATUS", "RESULT", "GENERATION_TIME", "GENERATION_ID", "IN_S_DF_ID", "ACC_NAME"
};
}
@@ -58,6 +58,7 @@ public class SDf53MapStore extends TemplateMapStore {
object.setId(resultSet.getObject("ID", Long.class));
object.setAccount(resultSet.getObject("ACCOUNT", String.class));
object.setDeal(resultSet.getObject("DEAL", String.class));
+ object.setDate(resultSet.getObject("DATE", String.class));
object.setStatus(resultSet.getObject("STATUS", Long.class));
object.setResult(resultSet.getObject("RESULT", String.class));
object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME"));
@@ -73,6 +74,7 @@ public class SDf53MapStore extends TemplateMapStore {
object.getId(),
object.getAccount(),
object.getDeal(),
+ object.getDate(),
object.getStatus(),
object.getResult(),
TimeUtil.toDateFromInstant(object.getGenerationTime()),