backend-api classes db-scripts http://jira.mfd.msk:8088/browse/CLS-639 DDL sCrossRate
This commit is contained in:
parent
57855bd8b5
commit
1e6eb8fd00
9 changed files with 4990 additions and 11 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
"version": "3.9.0.73",
|
"version": "3.10.0.74",
|
||||||
|
|
||||||
"enums": {
|
"enums": {
|
||||||
|
|
||||||
|
|
@ -9408,6 +9408,64 @@
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
,
|
||||||
|
"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": false
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{"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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
|
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
|
||||||
<meta version="3.9.0.73">
|
<meta version="3.10.0.74">
|
||||||
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
|
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
|
||||||
<!--Здесь словари-->
|
<!--Здесь словари-->
|
||||||
<enums>
|
<enums>
|
||||||
|
|
@ -2172,6 +2172,19 @@
|
||||||
<price type="10" name="Цена за 1 штуку ликвидационного актива" shortname="Цена за шт." searchable="true" sortable="true" visible="true"/>
|
<price type="10" name="Цена за 1 штуку ликвидационного актива" shortname="Цена за шт." searchable="true" sortable="true" visible="true"/>
|
||||||
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" ignore="true"/>
|
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" ignore="true"/>
|
||||||
</marketDataLiquidation>
|
</marketDataLiquidation>
|
||||||
|
<sCrossRate name="Кросс курсы валют от ЦБ" destination="cross-rate" class="ru.clearing.classes.statics.data.misc.sCrossRate" table="s_cross_rate">
|
||||||
|
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="false"/>
|
||||||
|
<date type="6" name="Дата торгов" shortname="Дата торгов" searchable="true" sortable="true" visible="false"/>
|
||||||
|
<currency type="2" length="50" name="Наименование валюты" shortname="Наименование валюты" searchable="true" sortable="true" visible = "true"/>
|
||||||
|
<currCode type="2" length="50" name="Код валюты" shortname="Код валюты" searchable="true" sortable="true" visible = "true"/>
|
||||||
|
<faceValue type="10" name="Номинал" shortname="Номинал" searchable="true" sortable="true" visible = "true"/>
|
||||||
|
<rate type="10" name="Курс валюты с учетом размера лота" shortname="Курс валюты" searchable="true" sortable="true" visible = "true"/>
|
||||||
|
<unitRate type="10" name="Курс за единицу иностранной валюты" shortname="Курс за единицу валюты" searchable="true" sortable="true" visible="false"/>
|
||||||
|
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
|
||||||
|
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
|
||||||
|
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
|
||||||
|
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
|
||||||
|
</sCrossRate>
|
||||||
</objects>
|
</objects>
|
||||||
<views>
|
<views>
|
||||||
<AccountUnion>
|
<AccountUnion>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
"version": "3.9.0.73",
|
"version": "3.10.0.74",
|
||||||
|
|
||||||
"enums": {
|
"enums": {
|
||||||
|
|
||||||
|
|
@ -9408,6 +9408,64 @@
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
,
|
||||||
|
"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": false
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{"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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,103 @@
|
||||||
|
package ru.clearing.classes.statics.data.misc;
|
||||||
|
|
||||||
|
import ru.clearing.classes.ConstSerializable;
|
||||||
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
|
|
||||||
|
import ru.clearing.classes.ConstSerializable;
|
||||||
|
import ru.spcex.platform.classes.base.SpcexObjectBase;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Кросс курсы валют от ЦБ
|
||||||
|
*
|
||||||
|
* DB table: S_CROSS_RATE
|
||||||
|
**/
|
||||||
|
public class SCrossRate extends SpcexObjectBase {
|
||||||
|
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
|
||||||
|
|
||||||
|
// (in parent) private Long id;
|
||||||
|
private LocalDate date;
|
||||||
|
private String currency;
|
||||||
|
private String currCode;
|
||||||
|
private BigDecimal faceValue;
|
||||||
|
private BigDecimal rate;
|
||||||
|
private BigDecimal unitRate;
|
||||||
|
private Instant generationTime;
|
||||||
|
private Long generationId;
|
||||||
|
private Instant createdAt;
|
||||||
|
private Instant updatedAt;
|
||||||
|
|
||||||
|
public LocalDate getDate() {
|
||||||
|
return date;
|
||||||
|
}
|
||||||
|
public void setDate(LocalDate value) {
|
||||||
|
this.date=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCurrency() {
|
||||||
|
return currency;
|
||||||
|
}
|
||||||
|
public void setCurrency(String value) {
|
||||||
|
this.currency=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCurrCode() {
|
||||||
|
return currCode;
|
||||||
|
}
|
||||||
|
public void setCurrCode(String value) {
|
||||||
|
this.currCode=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getFaceValue() {
|
||||||
|
return faceValue;
|
||||||
|
}
|
||||||
|
public void setFaceValue(BigDecimal value) {
|
||||||
|
this.faceValue=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getRate() {
|
||||||
|
return rate;
|
||||||
|
}
|
||||||
|
public void setRate(BigDecimal value) {
|
||||||
|
this.rate=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BigDecimal getUnitRate() {
|
||||||
|
return unitRate;
|
||||||
|
}
|
||||||
|
public void setUnitRate(BigDecimal value) {
|
||||||
|
this.unitRate=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Instant getGenerationTime() {
|
||||||
|
return generationTime;
|
||||||
|
}
|
||||||
|
public void setGenerationTime(Instant value) {
|
||||||
|
this.generationTime=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGenerationId() {
|
||||||
|
return generationId;
|
||||||
|
}
|
||||||
|
public void setGenerationId(Long value) {
|
||||||
|
this.generationId=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Instant getCreatedAt() {
|
||||||
|
return createdAt;
|
||||||
|
}
|
||||||
|
public void setCreatedAt(Instant value) {
|
||||||
|
this.createdAt=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Instant getUpdatedAt() {
|
||||||
|
return updatedAt;
|
||||||
|
}
|
||||||
|
public void setUpdatedAt(Instant value) {
|
||||||
|
this.updatedAt=value;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
-- DB version: 3.9.0.65
|
-- DB version: 3.10.0.74
|
||||||
/* Dictionaries */
|
/* Dictionaries */
|
||||||
|
|
||||||
-- allowed - Справочник признаков допустимости использования объектов
|
-- allowed - Справочник признаков допустимости использования объектов
|
||||||
|
|
@ -1553,7 +1553,7 @@ GRANT ALL PRIVILEGES ON TABLE FIXED_INCOME_CASH_FLOW_HISTORY TO clearing;
|
||||||
|
|
||||||
-- couponPeriod - Купонное расписание
|
-- couponPeriod - Купонное расписание
|
||||||
DROP TABLE IF EXISTS COUPON_PERIOD;
|
DROP TABLE IF EXISTS COUPON_PERIOD;
|
||||||
CREATE TABLE COUPON_PERIOD(SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY);
|
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 TABLE COUPON_PERIOD IS 'Купонное расписание';
|
||||||
|
|
||||||
COMMENT ON COLUMN COUPON_PERIOD.SECURITY_ID IS 'Идентификатор инструмента (linked to security)';
|
COMMENT ON COLUMN COUPON_PERIOD.SECURITY_ID IS 'Идентификатор инструмента (linked to security)';
|
||||||
|
|
@ -1562,9 +1562,9 @@ COMMENT ON COLUMN COUPON_PERIOD.COUPON_RATE IS 'Купонная ставка';
|
||||||
|
|
||||||
COMMENT ON COLUMN COUPON_PERIOD.NUMBER IS 'Номер купона';
|
COMMENT ON COLUMN COUPON_PERIOD.NUMBER IS 'Номер купона';
|
||||||
|
|
||||||
COMMENT ON COLUMN COUPON_PERIOD.PERIOD_END_DATE IS 'Начало периода действия';
|
COMMENT ON COLUMN COUPON_PERIOD.PERIOD_START_DATE 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 'Идентификатор записи';
|
COMMENT ON COLUMN COUPON_PERIOD.ID IS 'Идентификатор записи';
|
||||||
|
|
||||||
|
|
@ -1573,7 +1573,7 @@ GRANT ALL PRIVILEGES ON TABLE COUPON_PERIOD TO clearing;
|
||||||
|
|
||||||
-- History log of couponPeriod - Купонное расписание
|
-- History log of couponPeriod - Купонное расписание
|
||||||
DROP TABLE IF EXISTS COUPON_PERIOD_HISTORY;
|
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_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY);
|
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 TABLE COUPON_PERIOD_HISTORY IS 'История изменений таблицы couponPeriod';
|
||||||
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_PERIOD_ID IS 'Идентификатор записи в таблице COUPON_PERIOD';
|
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_TIME IS 'Дата и время изменения';
|
||||||
|
|
@ -1586,9 +1586,9 @@ COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_RATE IS 'Купонная ста
|
||||||
|
|
||||||
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.NUMBER IS 'Номер купона';
|
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.NUMBER IS 'Номер купона';
|
||||||
|
|
||||||
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_END_DATE IS 'Начало периода действия';
|
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_START_DATE 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 'Идентификатор записи';
|
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.ID IS 'Идентификатор записи';
|
||||||
|
|
||||||
|
|
@ -4615,8 +4615,37 @@ COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.CLEARING_DATE IS 'Дата';
|
||||||
|
|
||||||
GRANT ALL PRIVILEGES ON TABLE MARKET_DATA_LIQUIDATION TO clearing;
|
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;
|
||||||
|
|
||||||
/* views */
|
/* views */
|
||||||
|
|
||||||
-- Data types
|
-- Data types
|
||||||
|
|
||||||
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.9') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
|
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.10') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
|
||||||
4622
clearing-parent/db-scripts/src/main/resources/db/DDL_3.9.sql
Normal file
4622
clearing-parent/db-scripts/src/main/resources/db/DDL_3.9.sql
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,21 @@
|
||||||
|
-- DB version: 3.9 -> 3.10
|
||||||
|
|
||||||
|
-- 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;
|
||||||
|
|
||||||
|
|
||||||
|
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.10') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
package ru.spcex.clearing.imdg.object;
|
||||||
|
|
||||||
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
import ru.clearing.classes.statics.data.misc.SCrossRate;
|
||||||
|
import ru.spcex.clearing.imdg.base.TemplateMapStore;
|
||||||
|
import ru.spcex.platform.utils.time.TimeUtil;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class SCrossRateMapStore extends TemplateMapStore<SCrossRate> {
|
||||||
|
|
||||||
|
public SCrossRateMapStore(JdbcTemplate jdbcTemplate) {
|
||||||
|
super(jdbcTemplate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getMapName() {
|
||||||
|
return IMDGDistributedNames.Map_SCrossRate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTableName() {
|
||||||
|
return "S_CROSS_RATE";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] getFields() {
|
||||||
|
return new String[]{
|
||||||
|
"ID", "DATE", "CURRENCY", "CURR_CODE", "FACE_VALUE", "RATE", "UNIT_RATE", "GENERATION_TIME", "GENERATION_ID", "CREATED_AT", "UPDATED_AT"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SCrossRate objectReader(ResultSet resultSet) throws SQLException {
|
||||||
|
SCrossRate object = new SCrossRate();
|
||||||
|
object.setId(resultSet.getObject("ID", Long.class));
|
||||||
|
object.setDate(getLocalDateFromSqlDate(resultSet, "DATE"));
|
||||||
|
object.setCurrency(resultSet.getObject("CURRENCY", String.class));
|
||||||
|
object.setCurrCode(resultSet.getObject("CURR_CODE", String.class));
|
||||||
|
object.setFaceValue(resultSet.getObject("FACE_VALUE", BigDecimal.class));
|
||||||
|
object.setRate(resultSet.getObject("RATE", BigDecimal.class));
|
||||||
|
object.setUnitRate(resultSet.getObject("UNIT_RATE", BigDecimal.class));
|
||||||
|
object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME"));
|
||||||
|
object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class));
|
||||||
|
object.setCreatedAt(getInstantFromTimestamp(resultSet, "CREATED_AT"));
|
||||||
|
object.setUpdatedAt(getInstantFromTimestamp(resultSet, "UPDATED_AT"));
|
||||||
|
return object;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object[] objectToField(SCrossRate object) {
|
||||||
|
Object[] args = new Object[]{
|
||||||
|
object.getId(),
|
||||||
|
TimeUtil.toDateFromLocalDate(object.getDate()),
|
||||||
|
object.getCurrency(),
|
||||||
|
object.getCurrCode(),
|
||||||
|
object.getFaceValue(),
|
||||||
|
object.getRate(),
|
||||||
|
object.getUnitRate(),
|
||||||
|
TimeUtil.toDateFromInstant(object.getGenerationTime()),
|
||||||
|
object.getGenerationId(),
|
||||||
|
TimeUtil.toDateFromInstant(object.getCreatedAt()),
|
||||||
|
TimeUtil.toDateFromInstant(object.getUpdatedAt())
|
||||||
|
};
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -195,6 +195,7 @@ public final class IMDGDistributedNames {
|
||||||
public static final String Map_ExecutionFond = "Map_ExecutionFond";
|
public static final String Map_ExecutionFond = "Map_ExecutionFond";
|
||||||
public static final String Map_ExecutionFondHistory = "Map_ExecutionFondHistory";
|
public static final String Map_ExecutionFondHistory = "Map_ExecutionFondHistory";
|
||||||
public static final String Map_PriorityDictionary = "Map_PriorityDictionary";
|
public static final String Map_PriorityDictionary = "Map_PriorityDictionary";
|
||||||
|
public static final String Map_SCrossRate = "Map_SCrossRate";
|
||||||
|
|
||||||
//-------------------history and search tables
|
//-------------------history and search tables
|
||||||
public static final String Map_SearchExecutionDeposit = "Map_SearchDeposit";
|
public static final String Map_SearchExecutionDeposit = "Map_SearchDeposit";
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue