This commit is contained in:
AKurakin 2023-08-15 17:13:38 +03:00
parent a3551bbc88
commit a98e791824
16 changed files with 4361 additions and 100 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
<meta version="3.5.0.41">
<meta version="3.7.0.42">
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
<!--Здесь словари-->
<enums>
@ -1193,9 +1193,9 @@
<securitySymbol type="2" name="Наименование инструмента/валюты" shortname="Валюта" enabled="false"/>
<creditLeg_amount type="10" name="Сумма отправителя" shortname="Сумма" required="true"/>
<paymentPurpose type="2" length="255" name="Назначение платежа" shortname="Основание" required="true"/>
<senderId type="1" group="Отправитель" name="Участник отправитель" shortname="Отправитель" link="company" linkCode="shortName" required="true"/>
<senderId type="1" group="Отправитель" name="Участник отправитель" shortname="Отправитель" link="company" linkCode="shortName" required="true" enable="false"/>
<creditLeg_accountId type="1" group="Отправитель" name="Наименование счета отправителя" shortname="Регистр списания" link="account" linkCode="account"/>
<addresseeId type="1" group="Получатель" name="Участник получатель" shortname="Получатель" link="company" linkCode="shortName" required="true"/>
<addresseeId type="1" group="Получатель" name="Участник получатель" shortname="Получатель" link="company" linkCode="shortName" required="true" enable="false"/>
<debitLeg_accountId type="1" group="Получатель" name="Наименование счета получателя" shortname="Счет получателя" link="bankAccount" linkCode="correspondentAccount"/>
</post>
<post destination="GTRD" group="Обмен с Торговой системой" name="Получение сделок из Торговой системы">
@ -1306,6 +1306,8 @@
<exchangeExecutionTime type="4" name="Время заключения сделки в Торговой системе" shortname="Время заключения сделки" visible="true" searchable="true" sortable="true"/>
<tradingDate type="6" name="Дата заключения сделки" shortname="Дата заключения сделки" visible="true" searchable="true" sortable="true"/>
<tradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра" name="Торгово-клиринговый регистр" shortname="ТКР" visible="true" searchable="true" sortable="true" link="tradingClearingRegistry" linkCode="code"/>
<partyTradingClearingRegistry type="2" length="20" dbname="Торгово-клиринговый регистр " name="Торгово-клиринговый регистр " shortname="ТКР " searchable="true" sortable="true" />
<counterPartyTradingClearingRegistry type="2" length="20" dbname="Торгово-клиринговый регистр партнера" name="Торгово-клиринговый регистр партнера" shortname="ТКР партнера" visible="true" searchable="true" sortable="true" />
<market type="12" dbname="Код секции финансового инструмента" name="Секция финансового инструмента" shortname="Секция" visible="true" searchable="true" sortable="true" link="market" linkKeyCode="code" linkCode="description"/>
<price type="10" name="Ставка по депозиту" shortname="Ставка, %" visible="true" searchable="true" sortable="true"/>
<lots type="11" name="Количество лотов" shortname="Лоты" visible="true" searchable="true" sortable="true"/>
@ -1354,6 +1356,8 @@
<exchangeExecutionTime type="4" name="Время заключения сделки в Торговой системе" shortname="Время заключения сделки" visible="true" searchable="true" sortable="true"/>
<duration type="1" name="Срок, дней" shortname="Срок" visible="true" searchable="true" sortable="true"/>
<tradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра" name="Торгово-клиринговый регистр" shortname="ТКР" visible="true" searchable="true" sortable="true" link="tradingClearingRegistry" linkCode="code"/>
<partyTradingClearingRegistry type="2" length="20" dbname="Торгово-клиринговый регистр " name="Торгово-клиринговый регистр " shortname="ТКР " searchable="true" sortable="true" />
<counterPartyTradingClearingRegistry type="2" length="20" dbname="Торгово-клиринговый регистр партнера" name="Торгово-клиринговый регистр партнера" shortname="ТКР партнера" visible="true" searchable="true" sortable="true" />
<!--ТКР, Компанию и контрагента и код клиента-->
<comment type="2" name="Комментарий" shortname="Комментарий" searchable="true" sortable="true" length="255"/>
<clientCodeId type="1" dbname="Идентификатор кода клиента" name="Код клиента" shortname="Клиент" searchable="true" sortable="true" visible="true"/>
@ -1709,8 +1713,8 @@
<type type="2" length="255" name="Код типа платежного документа (операции)" shortname="Код типа платежного документа" searchable="true" sortable="true" visible="true"/>
<deal type="2" length="10" name="Биржевой код участника клиринга" shortname="Биржевой код УК" searchable="true" sortable="true" visible="true"/>
<clientN type="2" length="255" name="Наименование клиента - плательщика" shortname="Плательщик" searchable="true" sortable="true" visible="true"/>
<inn field="inn" type="10" name="Идентификационный номер налогоплательщика" shortname="ИНН" searchable="true" sortable="true" visible="true"/>
<bic field="bic" type="10" name="Банковский идентификационный код" shortname="БИК" searchable="true" sortable="true" visible="true"/>
<inn field="inn" type="2" length="255" name="Идентификационный номер налогоплательщика" shortname="ИНН" searchable="true" sortable="true" visible="true"/>
<bic field="bic" type="2" length="255" name="Банковский идентификационный код" shortname="БИК" searchable="true" sortable="true" visible="true"/>
<spec field="spec" type="2" length="255" name="Назначение" shortname="Назначение" searchable="true" sortable="true" visible="true"/>
<number type="10" name="Номер платежного документа (операции)" shortname="Номер платежного документа" searchable="true" sortable="true" visible="true"/>
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
@ -1725,8 +1729,8 @@
<type type="2" length="255" name="Код типа платежного документа (операции)" shortname="Код типа платежного документа" searchable="true" sortable="true" visible="true"/>
<deal type="2" length="10" name="Биржевой код участника клиринга" shortname="Биржевой код УК" searchable="true" sortable="true" visible="true"/>
<clientN type="2" length="255" name="Наименование клиента - плательщика" shortname="Плательщик" searchable="true" sortable="true" visible="true"/>
<inn type="10" name="Идентификационный номер налогоплательщика" shortname="ИНН" searchable="true" sortable="true" visible="true"/>
<bic type="10" name="Банковский идентификационный код" shortname="БИК" searchable="true" sortable="true" visible="true"/>
<inn type="2" length="255" name="Идентификационный номер налогоплательщика" shortname="ИНН" searchable="true" sortable="true" visible="true"/>
<bic type="2" length="255" name="Банковский идентификационный код" shortname="БИК" searchable="true" sortable="true" visible="true"/>
<spec type="2" length="255" name="Назначение" shortname="Назначение" searchable="true" sortable="true" visible="true"/>
<number type="10" name="Номер платежного документа (операции)" shortname="Номер платежного документа" searchable="true" sortable="true" visible="true"/>
<result type="10" name="Код завершения операции" shortname="Код завершения операции" searchable="true" sortable="true" visible="true"/>

View file

@ -16,6 +16,8 @@ public abstract class ExecutionCommon extends BusinessObject implements IExecuti
protected Instant exchangeExecutionTime;
protected LocalDate tradingDate;
protected Long tradingClearingRegistryId;
protected String partyTradingClearingRegistry;
protected String counterPartyTradingClearingRegistry;
protected String market;
protected BigDecimal price;
protected BigDecimal lots;
@ -148,6 +150,22 @@ public abstract class ExecutionCommon extends BusinessObject implements IExecuti
this.tradingClearingRegistryId = value;
}
public String getPartyTradingClearingRegistry() {
return partyTradingClearingRegistry;
}
public void setPartyTradingClearingRegistry(String partyTradingClearingRegistry) {
this.partyTradingClearingRegistry = partyTradingClearingRegistry;
}
public String getCounterPartyTradingClearingRegistry() {
return counterPartyTradingClearingRegistry;
}
public void setCounterPartyTradingClearingRegistry(String counterPartyTradingClearingRegistry) {
this.counterPartyTradingClearingRegistry = counterPartyTradingClearingRegistry;
}
public Long getCompanyId() {
return companyId;
}

View file

@ -21,8 +21,8 @@ public class SDf06 extends SpcexObjectBase implements WithFileName {
private String type;
private String deal;
private String clientN;
private BigDecimal inn;
private BigDecimal bic;
private String inn;
private String bic;
private String spec;
private BigDecimal number;
private String fileName;
@ -77,20 +77,20 @@ public class SDf06 extends SpcexObjectBase implements WithFileName {
this.clientN = value;
}
public BigDecimal getInn() {
public String getInn() {
return inn;
}
public void setInn(BigDecimal value) {
this.inn = value;
public void setInn(String inn) {
this.inn = inn;
}
public BigDecimal getBic() {
public String getBic() {
return bic;
}
public void setBic(BigDecimal value) {
this.bic = value;
public void setBic(String bic) {
this.bic = bic;
}
public String getSpec() {

View file

@ -20,8 +20,8 @@ public class SDf07 extends SpcexObjectBase {
private String type;
private String deal;
private String clientN;
private BigDecimal inn;
private BigDecimal bic;
private String inn;
private String bic;
private String spec;
private BigDecimal number;
private BigDecimal result;
@ -77,20 +77,20 @@ public class SDf07 extends SpcexObjectBase {
this.clientN = value;
}
public BigDecimal getInn() {
public String getInn() {
return inn;
}
public void setInn(BigDecimal value) {
this.inn = value;
public void setInn(String inn) {
this.inn = inn;
}
public BigDecimal getBic() {
public String getBic() {
return bic;
}
public void setBic(BigDecimal value) {
this.bic = value;
public void setBic(String bic) {
this.bic = bic;
}
public String getSpec() {

View file

@ -2385,7 +2385,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, 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, 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), COUNTER_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, 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 'Идентификационный номер сделки в Торговой системе';
@ -2396,6 +2396,10 @@ COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_DATE IS 'Дата заключени
COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_DEPOSIT.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_DEPOSIT.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_DEPOSIT.MARKET IS 'Код секции финансового инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_DEPOSIT.PRICE IS 'Ставка по депозиту';
@ -2452,7 +2456,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, 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, 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), COUNTER_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, 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 'Дата и время изменения';
@ -2467,6 +2471,10 @@ COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.TRADING_DATE IS 'Дата заклю
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.MARKET IS 'Код секции финансового инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.PRICE IS 'Ставка по депозиту';
@ -2523,7 +2531,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, COMMENT varchar(255), CLIENT_CODE_ID bigint, SETTLEMENT_CODE varchar(12), COMPANY_ID bigint, COUNTER_PARTY_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), COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), COMMENT varchar(255), CLIENT_CODE_ID bigint, SETTLEMENT_CODE varchar(12), COMPANY_ID bigint, COUNTER_PARTY_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);
COMMENT ON TABLE EXECUTION_FOND IS 'Сделки на Фондовой секции';
COMMENT ON COLUMN EXECUTION_FOND.ID IS 'Идентификатор записи';
@ -2536,7 +2544,7 @@ COMMENT ON COLUMN EXECUTION_FOND.CLEARING_DATE IS 'Дата клиринга';
COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_FOND.SIDE IS 'Код направления сделки (linked to moneyFlowSide)';
COMMENT ON COLUMN EXECUTION_FOND.SIDE IS 'Код направления сделки (linked to side)';
COMMENT ON COLUMN EXECUTION_FOND.MARKET IS 'Код секции финансового инструмента (linked to market)';
@ -2564,6 +2572,10 @@ COMMENT ON COLUMN EXECUTION_FOND.DURATION IS 'Срок, дней';
COMMENT ON COLUMN EXECUTION_FOND.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_FOND.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_FOND.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_FOND.COMMENT IS 'Комментарий';
COMMENT ON COLUMN EXECUTION_FOND.CLIENT_CODE_ID IS 'Идентификатор кода клиента';
@ -2589,7 +2601,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, COMMENT varchar(255), CLIENT_CODE_ID bigint, SETTLEMENT_CODE varchar(12), COMPANY_ID bigint, COUNTER_PARTY_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), COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), COMMENT varchar(255), CLIENT_CODE_ID bigint, SETTLEMENT_CODE varchar(12), COMPANY_ID bigint, COUNTER_PARTY_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);
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 'Дата и время изменения';
@ -2606,7 +2618,7 @@ COMMENT ON COLUMN EXECUTION_FOND_HISTORY.CLEARING_DATE IS 'Дата клирин
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SIDE IS 'Код направления сделки (linked to moneyFlowSide)';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SIDE IS 'Код направления сделки (linked to side)';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.MARKET IS 'Код секции финансового инструмента (linked to market)';
@ -2634,6 +2646,10 @@ COMMENT ON COLUMN EXECUTION_FOND_HISTORY.DURATION IS 'Срок, дней';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.COMMENT IS 'Комментарий';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.CLIENT_CODE_ID IS 'Идентификатор кода клиента';
@ -3342,7 +3358,7 @@ COMMENT ON COLUMN S_DF05.GENERATION_ID IS 'Идентификатор взаим
-- sDf06 - ДФ-06 Запрос на зачисление/списание денежных средств
DROP TABLE IF EXISTS S_DF06;
CREATE TABLE S_DF06(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN numeric(72,18), BIC numeric(72,18), SPEC varchar(255), NUMBER numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint);
CREATE TABLE S_DF06(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint);
COMMENT ON TABLE S_DF06 IS 'ДФ-06 Запрос на зачисление/списание денежных средств';
COMMENT ON COLUMN S_DF06.ID IS 'Идентификатор записи';
@ -3375,7 +3391,7 @@ COMMENT ON COLUMN S_DF06.GENERATION_ID IS 'Идентификатор взаим
-- sDf07 - ДФ-07 Ответ на запрос по зачислению/списанию денежных средств
DROP TABLE IF EXISTS S_DF07;
CREATE TABLE S_DF07(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN numeric(72,18), BIC numeric(72,18), SPEC varchar(255), NUMBER numeric(72,18), RESULT numeric(72,18), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint);
CREATE TABLE S_DF07(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), RESULT numeric(72,18), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint);
COMMENT ON TABLE S_DF07 IS 'ДФ-07 Ответ на запрос по зачислению/списанию денежных средств';
COMMENT ON COLUMN S_DF07.ID IS 'Идентификатор записи';
@ -4191,4 +4207,4 @@ COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.CLEARING_DATE IS 'Дата';
-- Data types
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.5') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.7') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,23 @@
-- DB version: 3.6.0.33 -> 3.7.0.34
/* Dictionaries */
-- alter table
ALTER TABLE S_DF06 ALTER COLUMN inn TYPE varchar(255);
ALTER TABLE S_DF06 ALTER COLUMN bic TYPE varchar(255);
ALTER TABLE S_DF07 ALTER COLUMN inn TYPE varchar(255);
ALTER TABLE S_DF07 ALTER COLUMN bic TYPE varchar(255);
ALTER TABLE EXECUTION_DEPOSIT ADD COLUMN IF NOT EXISTS party_trading_clearing_registry varchar(20);
ALTER TABLE EXECUTION_DEPOSIT ADD COLUMN IF NOT EXISTS counter_party_trading_clearing_registry varchar(20);
ALTER TABLE EXECUTION_FOND ADD COLUMN IF NOT EXISTS party_trading_clearing_registry varchar(20);
ALTER TABLE EXECUTION_FOND ADD COLUMN IF NOT EXISTS counter_party_trading_clearing_registry varchar(20);
COMMENT ON COLUMN EXECUTION_DEPOSIT.party_trading_clearing_registry IS 'Торгово-клиринговый регистр';
COMMENT ON COLUMN EXECUTION_DEPOSIT.counter_party_trading_clearing_registry IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_FOND.party_trading_clearing_registry IS 'Торгово-клиринговый регистр';
COMMENT ON COLUMN EXECUTION_FOND.counter_party_trading_clearing_registry IS 'Торгово-клиринговый регистр партнера';
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.7') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

View file

@ -45,8 +45,8 @@ class S_DF07_Test extends AbstractServiceTest {
sDf07.setType("deal");
sDf07.setDeal("acc_code");
sDf07.setClientN("dat");
sDf07.setInn(new BigDecimal(2435));
sDf07.setBic(new BigDecimal(2435));
sDf07.setInn("2435678910");
sDf07.setBic("24356789");
sDf07.setSpec("acc_type");
sDf07.setNumber(new BigDecimal(2435));
sDf07.setResult(new BigDecimal(2435));

View file

@ -26,8 +26,8 @@ public class SDf06Table extends AbstractTable<SDf06> {
result.setType((String) entity[3]);
result.setDeal((String) entity[4]);
result.setClientN((String) entity[5]);
result.setInn(anyNumberToBigDecimal(entity[6]));
result.setBic(anyNumberToBigDecimal(entity[7]));
result.setInn(anyToString(entity[6]));
result.setBic(anyToString(entity[7]));
result.setSpec((String) entity[8]);
result.setNumber(anyNumberToBigDecimal(entity[9]));
result.setFileName(filename);
@ -52,4 +52,14 @@ public class SDf06Table extends AbstractTable<SDf06> {
}
throw new IllegalArgumentException("Can not convert to BigDecimal " + value.getClass().getName() + " " + value);
}
String anyToString(Object value) {
if (value == null) return null;
if (value instanceof String) {
String str = ((String)value).trim();
if (str.isEmpty()) return null;
return str;
}
return value.toString();
}
}

View file

@ -16,6 +16,7 @@ import java.sql.SQLException;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@ -121,6 +122,21 @@ public abstract class SimpleObjectMapStore<T extends SpcexObjectBase> implements
return keys;
}
public Iterable<Long> defaultLoadAllKeysOnTodayByTradingDate() {
LocalDate today = LocalDate.now();
log.debug("loadAllKeys from {} on today {}", getTableName(), today);
List<Long> keys;
try {
keys = jdbcTemplate.query("select id from " + getTableName() + " where trading_date = ?",
(resultSet, i) -> resultSet.getLong("id"),
new Object[]{today});
} catch (Throwable e) {
log.error("At load keys from {}: {}", getTableName(), ExceptionUtils.getStackTrace(e));
throw e;
}
return keys;
}
protected void batchInsertUpdate(@NonNull String insertStatement, @NonNull List<Object[]> args) {
try {
int[][] ret = jdbcTemplate.batchUpdate(insertStatement, args, BATCH_SIZE, (ps, params) -> {

View file

@ -27,14 +27,15 @@ public class ExecutionDepositHistoryMapStore extends TemplateEventMapStore<Execu
@Override
public String[] getFields() {
return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE",
"EXECUTION_DEPOSIT_ID", "CREATED_AT", "UPDATED_AT", "EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME",
"TRADING_DATE", "TRADING_CLEARING_REGISTRY_ID", "MARKET", "PRICE", "LOTS", "QUANTITY", "FIRST_LEG_AMOUNT",
"SECOND_LEG_AMOUNT", "INTEREST_AMOUNT", "SIDE", "SETTLEMENT_CURRENCY", "COMPANY_ID", "DURATION",
"FIRST_LEG_SETTLEMENT_DATE", "SECOND_LEG_SETTLEMENT_DATE", "FIRST_LEG_SETTLEMENT_CODE",
"SECOND_LEG_SETTLEMENT_CODE", "SECURITY_FULL_NAME", "SECURITY_SYMBOL", "SECURITY_CODE", "SECURITY_ID", "CONTRACT",
"COUNTER_PARTY_ID", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE",
"COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID"
return new String[]{"ID","EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE",
"EXECUTION_DEPOSIT_ID", "CREATED_AT", "UPDATED_AT",
"EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "TRADING_DATE", "TRADING_CLEARING_REGISTRY_ID",
"PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY",
"MARKET", "PRICE", "LOTS", "QUANTITY", "FIRST_LEG_AMOUNT", "SECOND_LEG_AMOUNT", "INTEREST_AMOUNT", "SIDE",
"SETTLEMENT_CURRENCY", "COMPANY_ID", "DURATION", "FIRST_LEG_SETTLEMENT_DATE", "SECOND_LEG_SETTLEMENT_DATE",
"FIRST_LEG_SETTLEMENT_CODE", "SECOND_LEG_SETTLEMENT_CODE", "SECURITY_FULL_NAME", "SECURITY_SYMBOL",
"SECURITY_CODE", "SECURITY_ID", "CONTRACT", "COUNTER_PARTY_ID", "COVERAGE_STATUS", "SESSION_ID",
"CLEARING_DATE"
};
}
@ -54,6 +55,8 @@ public class ExecutionDepositHistoryMapStore extends TemplateEventMapStore<Execu
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
TimeUtil.toDateFromLocalDate(object.getTradingDate()),
object.getTradingClearingRegistryId(),
object.getPartyTradingClearingRegistry(),
object.getCounterPartyTradingClearingRegistry(),
object.getMarket(),
object.getPrice(),
object.getLots(),
@ -77,8 +80,7 @@ public class ExecutionDepositHistoryMapStore extends TemplateEventMapStore<Execu
object.getCounterPartyId(),
object.getCoverageStatus(),
object.getSessionId(),
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
object.getCounterPartyTradingClearingRegistryId()
TimeUtil.toDateFromLocalDate(object.getClearingDate())
};
return args;
}

View file

@ -2,9 +2,9 @@ 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.execution.ExecutionFond;
import ru.clearing.classes.statics.data.execution.ExecutionFondHistory;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
import ru.spcex.platform.utils.time.TimeUtil;
@ -28,8 +28,12 @@ public class ExecutionFondHistoryMapStore extends TemplateEventMapStore<Executio
@Override
public String[] getFields() {
return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE",
"EXECUTION_FOND_ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "EXCHANGE_EXECUTION_ID", "SIDE", "MARKET", "TRADING_DATE", "SECURITY_SYMBOL", "SECURITY_ID", "INTEREST_AMOUNT", "EXCHANGE_ORDER_ID", "PRICE", "SETTLEMENT_AMOUNT", "LOTS", "QUANTITY", "EXCHANGE_EXECUTION_TIME", "DURATION", "TRADING_CLEARING_REGISTRY_ID", "COMMENT", "CLIENT_CODE_ID", "SETTLEMENT_CODE", "COMPANY_ID", "COUNTER_PARTY_ID", "SECURITY_FULL_NAME", "SETTLEMENT_DATE", "SETTLEMENT_CURRENCY", "EXCHANGE_EXECUTION_MICROSECONDS", "COVERAGE_STATUS", "SESSION_ID",
"COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID"
"EXECUTION_FOND_ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "EXCHANGE_EXECUTION_ID",
"SIDE", "MARKET", "TRADING_DATE", "SECURITY_SYMBOL", "SECURITY_ID", "INTEREST_AMOUNT", "EXCHANGE_ORDER_ID",
"PRICE", "SETTLEMENT_AMOUNT", "LOTS", "QUANTITY", "EXCHANGE_EXECUTION_TIME", "DURATION",
"TRADING_CLEARING_REGISTRY_ID", "PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY",
"COMMENT", "CLIENT_CODE_ID", "SETTLEMENT_CODE", "COMPANY_ID", "COUNTER_PARTY_ID", "SECURITY_FULL_NAME",
"SETTLEMENT_DATE", "SETTLEMENT_CURRENCY", "EXCHANGE_EXECUTION_MICROSECONDS", "COVERAGE_STATUS", "SESSION_ID"
};
}
@ -61,6 +65,8 @@ public class ExecutionFondHistoryMapStore extends TemplateEventMapStore<Executio
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
object.getDuration(),
object.getTradingClearingRegistryId(),
object.getPartyTradingClearingRegistry(),
object.getCounterPartyTradingClearingRegistry(),
object.getComment(),
object.getClientCodeId(),
object.getSettlementCode(),
@ -71,8 +77,7 @@ public class ExecutionFondHistoryMapStore extends TemplateEventMapStore<Executio
object.getSettlementCurrency(),
TimeUtil.toDateFromInstant(object.getExchangeExecutionMicroseconds()),
object.getCoverageStatus(),
object.getSessionId(),
object.getCounterPartyTradingClearingRegistryId()
object.getSessionId()
};
return args;
}

View file

@ -2,17 +2,14 @@ package ru.spcex.clearing.imdg.businessobject;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.platform.utils.log.ExceptionUtils;
import ru.spcex.platform.utils.time.TimeUtil;
import java.math.BigDecimal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDate;
import java.util.List;
@Component
public class ExecutionFondMapStore extends TemplateMapStore<ExecutionFond> {
@ -34,28 +31,13 @@ public class ExecutionFondMapStore extends TemplateMapStore<ExecutionFond> {
@Override
public String[] getFields() {
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "EXCHANGE_EXECUTION_ID", "SIDE", "MARKET",
"TRADING_DATE", "SECURITY_SYMBOL", "SECURITY_ID", "INTEREST_AMOUNT", "EXCHANGE_ORDER_ID", "PRICE",
"SETTLEMENT_AMOUNT", "LOTS", "QUANTITY", "EXCHANGE_EXECUTION_TIME", "DURATION", "TRADING_CLEARING_REGISTRY_ID",
"COMMENT", "CLIENT_CODE_ID", "SETTLEMENT_CODE", "COMPANY_ID", "COUNTER_PARTY_ID", "SECURITY_FULL_NAME",
"SETTLEMENT_DATE", "SETTLEMENT_CURRENCY", "EXCHANGE_EXECUTION_MICROSECONDS", "COVERAGE_STATUS", "SESSION_ID",
"COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID"
"ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "EXCHANGE_EXECUTION_ID", "SIDE", "MARKET", "TRADING_DATE", "SECURITY_SYMBOL", "SECURITY_ID", "INTEREST_AMOUNT", "EXCHANGE_ORDER_ID", "PRICE", "SETTLEMENT_AMOUNT", "LOTS", "QUANTITY", "EXCHANGE_EXECUTION_TIME", "DURATION", "TRADING_CLEARING_REGISTRY_ID", "PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY", "COMMENT", "CLIENT_CODE_ID", "SETTLEMENT_CODE", "COMPANY_ID", "COUNTER_PARTY_ID", "SECURITY_FULL_NAME", "SETTLEMENT_DATE", "SETTLEMENT_CURRENCY", "EXCHANGE_EXECUTION_MICROSECONDS", "COVERAGE_STATUS", "SESSION_ID"
};
}
@Override
public Iterable<Long> loadAllKeys() {
log.debug("loadAllKeys from " + getTableName());
List<Long> keys;
try {
keys = jdbcTemplate.query("select id from " + getTableName() + " where trading_date = ?",
new Object[]{LocalDate.now()},
(resultSet, i) -> resultSet.getLong("id"));
} catch (Throwable e) {
log.error("{}", ExceptionUtils.getStackTrace(e));
throw e;
}
return keys;
return defaultLoadAllKeysOnTodayByTradingDate();
}
@Override
@ -80,6 +62,8 @@ public class ExecutionFondMapStore extends TemplateMapStore<ExecutionFond> {
object.setExchangeExecutionTime(getInstantFromTimestamp(resultSet, "EXCHANGE_EXECUTION_TIME"));
object.setDuration(resultSet.getObject("DURATION", Long.class));
object.setTradingClearingRegistryId(resultSet.getObject("TRADING_CLEARING_REGISTRY_ID", Long.class));
object.setPartyTradingClearingRegistry(resultSet.getObject("PARTY_TRADING_CLEARING_REGISTRY", String.class));
object.setCounterPartyTradingClearingRegistry(resultSet.getObject("COUNTER_PARTY_TRADING_CLEARING_REGISTRY", String.class));
object.setComment(resultSet.getObject("COMMENT", String.class));
object.setClientCodeId(resultSet.getObject("CLIENT_CODE_ID", Long.class));
object.setSettlementCode(resultSet.getObject("SETTLEMENT_CODE", String.class));
@ -91,7 +75,6 @@ public class ExecutionFondMapStore extends TemplateMapStore<ExecutionFond> {
object.setExchangeExecutionMicroseconds(getInstantFromTimestamp(resultSet, "EXCHANGE_EXECUTION_MICROSECONDS"));
object.setCoverageStatus(resultSet.getObject("COVERAGE_STATUS", String.class));
object.setSessionId(resultSet.getObject("SESSION_ID", Long.class));
object.setCounterPartyTradingClearingRegistryId(resultSet.getObject("COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", Long.class));
return object;
}
@ -117,6 +100,8 @@ public class ExecutionFondMapStore extends TemplateMapStore<ExecutionFond> {
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
object.getDuration(),
object.getTradingClearingRegistryId(),
object.getPartyTradingClearingRegistry(),
object.getCounterPartyTradingClearingRegistry(),
object.getComment(),
object.getClientCodeId(),
object.getSettlementCode(),
@ -127,8 +112,7 @@ public class ExecutionFondMapStore extends TemplateMapStore<ExecutionFond> {
object.getSettlementCurrency(),
TimeUtil.toDateFromInstant(object.getExchangeExecutionMicroseconds()),
object.getCoverageStatus(),
object.getSessionId(),
object.getCounterPartyTradingClearingRegistryId()
object.getSessionId()
};
return args;
}

View file

@ -2,17 +2,14 @@ package ru.spcex.clearing.imdg.object;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.platform.utils.log.ExceptionUtils;
import ru.spcex.platform.utils.time.TimeUtil;
import java.math.BigDecimal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.time.LocalDate;
import java.util.List;
@Component
public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit> {
@ -39,27 +36,17 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT",
"EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "TRADING_DATE", "TRADING_CLEARING_REGISTRY_ID",
"PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY",
"MARKET", "PRICE", "LOTS", "QUANTITY", "FIRST_LEG_AMOUNT", "SECOND_LEG_AMOUNT", "INTEREST_AMOUNT",
"SIDE", "SETTLEMENT_CURRENCY", "COMPANY_ID", "DURATION", "FIRST_LEG_SETTLEMENT_DATE", "SECOND_LEG_SETTLEMENT_DATE",
"FIRST_LEG_SETTLEMENT_CODE", "SECOND_LEG_SETTLEMENT_CODE", "SECURITY_FULL_NAME", "SECURITY_SYMBOL",
"SECURITY_CODE", "SECURITY_ID", "CONTRACT", "COUNTER_PARTY_ID", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE",
"COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID"
"SECURITY_CODE", "SECURITY_ID", "CONTRACT", "COUNTER_PARTY_ID", "COVERAGE_STATUS", "SESSION_ID", "CLEARING_DATE"
};
}
@Override
public Iterable<Long> loadAllKeys() {
log.debug("loadAllKeys from " + getTableName());
List<Long> keys;
try {
keys = jdbcTemplate.query("select id from " + getTableName() + " where trading_date = ?",
new Object[]{LocalDate.now()},
(resultSet, i) -> resultSet.getLong("id"));
} catch (Throwable e) {
log.error("{}", ExceptionUtils.getStackTrace(e));
throw e;
}
return keys;
return defaultLoadAllKeysOnTodayByTradingDate();
}
@Override
@ -72,6 +59,8 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
object.setExchangeExecutionTime(getInstantFromTimestamp(resultSet, "EXCHANGE_EXECUTION_TIME"));
object.setTradingDate(getLocalDateFromSqlDate(resultSet, "TRADING_DATE"));
object.setTradingClearingRegistryId(resultSet.getObject("TRADING_CLEARING_REGISTRY_ID", Long.class));
object.setPartyTradingClearingRegistry(resultSet.getObject("PARTY_TRADING_CLEARING_REGISTRY", String.class));
object.setCounterPartyTradingClearingRegistry(resultSet.getObject("COUNTER_PARTY_TRADING_CLEARING_REGISTRY", String.class));
object.setMarket(resultSet.getObject("MARKET", String.class));
object.setPrice(resultSet.getObject("PRICE", BigDecimal.class));
object.setLots(resultSet.getObject("LOTS", BigDecimal.class));
@ -96,12 +85,11 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
object.setCoverageStatus(resultSet.getObject("COVERAGE_STATUS", String.class));
object.setSessionId(resultSet.getObject("SESSION_ID", Long.class));
object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
object.setCounterPartyTradingClearingRegistryId(resultSet.getObject("COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", Long.class));
return object;
}
@Override
protected Object[] objectToField(ExecutionDeposit object) {
public Object[] objectToField(ExecutionDeposit object) {
Object[] args = new Object[]{
object.getId(),
TimeUtil.toDateFromInstant(object.getCreated()),
@ -110,6 +98,8 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()),
TimeUtil.toDateFromLocalDate(object.getTradingDate()),
object.getTradingClearingRegistryId(),
object.getPartyTradingClearingRegistry(),
object.getCounterPartyTradingClearingRegistry(),
object.getMarket(),
object.getPrice(),
object.getLots(),
@ -133,8 +123,7 @@ public class ExecutionDepositMapStore extends TemplateMapStore<ExecutionDeposit>
object.getCounterPartyId(),
object.getCoverageStatus(),
object.getSessionId(),
TimeUtil.toDateFromLocalDate(object.getClearingDate()),
object.getCounterPartyTradingClearingRegistryId()
TimeUtil.toDateFromLocalDate(object.getClearingDate())
};
return args;
}

View file

@ -63,8 +63,8 @@ public class SDf06MapStore extends TemplateMapStore<SDf06> {
object.setType(resultSet.getObject("TYPE", String.class));
object.setDeal(resultSet.getObject("DEAL", String.class));
object.setClientN(resultSet.getObject("CLIENT_N", String.class));
object.setInn(resultSet.getObject("INN", BigDecimal.class));
object.setBic(resultSet.getObject("BIC", BigDecimal.class));
object.setInn(resultSet.getObject("INN", String.class));
object.setBic(resultSet.getObject("BIC", String.class));
object.setSpec(resultSet.getObject("SPEC", String.class));
object.setNumber(resultSet.getObject("NUMBER", BigDecimal.class));
object.setFileName(resultSet.getObject("FILE_NAME", String.class));

View file

@ -63,8 +63,8 @@ public class SDf07MapStore extends TemplateMapStore<SDf07> {
object.setType(resultSet.getObject("TYPE", String.class));
object.setDeal(resultSet.getObject("DEAL", String.class));
object.setClientN(resultSet.getObject("CLIENT_N", String.class));
object.setInn(resultSet.getObject("INN", BigDecimal.class));
object.setBic(resultSet.getObject("BIC", BigDecimal.class));
object.setInn(resultSet.getObject("INN", String.class));
object.setBic(resultSet.getObject("BIC", String.class));
object.setSpec(resultSet.getObject("SPEC", String.class));
object.setNumber(resultSet.getObject("NUMBER", BigDecimal.class));
object.setResult(resultSet.getObject("RESULT", BigDecimal.class));