diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/Account.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/Account.java new file mode 100644 index 000000000..bc20ffbbe --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/Account.java @@ -0,0 +1,51 @@ +package ru.clearing.classes.StaticData.Account; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessObject; + +/** + * Счета + *
+ * DB table: ACCOUNT + **/ +public class Account extends BusinessObject { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private String account; + private String accountType; + private Long relationId; + private String status; + + public String getAccount() { + return account; + } + + public void setAccount(String value) { + this.account = value; + } + + public String getAccountType() { + return accountType; + } + + public void setAccountType(String value) { + this.accountType = value; + } + + public Long getRelationId() { + return relationId; + } + + public void setRelationId(Long value) { + this.relationId = value; + } + + public String getStatus() { + return status; + } + + public void setStatus(String value) { + this.status = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/AccountRouting.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/AccountRouting.java new file mode 100644 index 000000000..bfd8bdd20 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/AccountRouting.java @@ -0,0 +1,45 @@ +package ru.clearing.classes.StaticData.Account; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +import java.io.Serial; + +/** + * Маршрутизация счета + *
+ * DB table: ACCOUNT_ROUTING + **/ +public class AccountRouting extends SpcexObjectBase { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long destinationId; + private Long relationId; + private Long sourceId; + + public Long getDestinationId() { + return destinationId; + } + + public void setDestinationId(Long value) { + this.destinationId = value; + } + + public Long getRelationId() { + return relationId; + } + + public void setRelationId(Long value) { + this.relationId = value; + } + + public Long getSourceId() { + return sourceId; + } + + public void setSourceId(Long value) { + this.sourceId = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/BankAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/BankAccount.java new file mode 100644 index 000000000..ed83035b1 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/BankAccount.java @@ -0,0 +1,123 @@ +package ru.clearing.classes.StaticData.Account; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +/** + * Банковские счета + *
+ * DB table: BANK_ACCOUNT + **/ +public class BankAccount extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long accountId; + private String bankIdentificationCode; + private String bankName; + private String correspondentAccountName; + private String currency; + private String destination; + private String iban; + private String internationalTransferSign; + private String swiftCode; + private String taxpayerIdentificationNumber; + private String taxRegistrationReasonCode; + private String correspondentAccount; + + public Long getAccountId() { + return accountId; + } + + public void setAccountId(Long value) { + this.accountId = value; + } + + public String getBankIdentificationCode() { + return bankIdentificationCode; + } + + public void setBankIdentificationCode(String value) { + this.bankIdentificationCode = value; + } + + public String getBankName() { + return bankName; + } + + public void setBankName(String value) { + this.bankName = value; + } + + public String getCorrespondentAccountName() { + return correspondentAccountName; + } + + public void setCorrespondentAccountName(String value) { + this.correspondentAccountName = value; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String value) { + this.currency = value; + } + + public String getDestination() { + return destination; + } + + public void setDestination(String value) { + this.destination = value; + } + + public String getIban() { + return iban; + } + + public void setIban(String value) { + this.iban = value; + } + + public String getInternationalTransferSign() { + return internationalTransferSign; + } + + public void setInternationalTransferSign(String value) { + this.internationalTransferSign = value; + } + + public String getSwiftCode() { + return swiftCode; + } + + public void setSwiftCode(String value) { + this.swiftCode = value; + } + + public String getTaxpayerIdentificationNumber() { + return taxpayerIdentificationNumber; + } + + public void setTaxpayerIdentificationNumber(String value) { + this.taxpayerIdentificationNumber = value; + } + + public String getTaxRegistrationReasonCode() { + return taxRegistrationReasonCode; + } + + public void setTaxRegistrationReasonCode(String value) { + this.taxRegistrationReasonCode = value; + } + + public String getCorrespondentAccount() { + return correspondentAccount; + } + + public void setCorrespondentAccount(String value) { + this.correspondentAccount = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/ClearingAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/ClearingAccount.java new file mode 100644 index 000000000..2422fbbb0 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Account/ClearingAccount.java @@ -0,0 +1,51 @@ +package ru.clearing.classes.StaticData.Account; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +/** + * Клиринговые счета + *
+ * DB table: CLEARING_ACCOUNT + **/ +public class ClearingAccount extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long accountId; + private Long cashAccountId; + private Long depoAccountId; + private String settlementCode; + + public Long getAccountId() { + return accountId; + } + + public void setAccountId(Long value) { + this.accountId = value; + } + + public Long getCashAccountId() { + return cashAccountId; + } + + public void setCashAccountId(Long value) { + this.cashAccountId = value; + } + + public Long getDepoAccountId() { + return depoAccountId; + } + + public void setDepoAccountId(Long value) { + this.depoAccountId = value; + } + + public String getSettlementCode() { + return settlementCode; + } + + public void setSettlementCode(String value) { + this.settlementCode = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Company/Relation/Relation.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Company/Relation/Relation.java new file mode 100644 index 000000000..b74bb58a8 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/Company/Relation/Relation.java @@ -0,0 +1,70 @@ +package ru.clearing.classes.StaticData.Company.Relation; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessObject; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +/** + * Договорные отношения + *
+ * DB table: RELATION + **/ +public class Relation extends BusinessObject { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long consumerId; + private Long supplierId; + private String serviceStatus; + private Long serviceId; + private Long serviceProductId; + private String comment; + + public Long getConsumerId() { + return consumerId; + } + + public void setConsumerId(Long value) { + this.consumerId = value; + } + + public Long getSupplierId() { + return supplierId; + } + + public void setSupplierId(Long value) { + this.supplierId = value; + } + + public String getServiceStatus() { + return serviceStatus; + } + + public void setServiceStatus(String value) { + this.serviceStatus = value; + } + + public Long getServiceId() { + return serviceId; + } + + public void setServiceId(Long value) { + this.serviceId = value; + } + + public Long getServiceProductId() { + return serviceProductId; + } + + public void setServiceProductId(Long value) { + this.serviceProductId = value; + } + + public String getComment() { + return comment; + } + + public void setComment(String value) { + this.comment = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/generated/ClearingMemberCategory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/generated/ClearingMemberCategory.java new file mode 100644 index 000000000..720c73cfa --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/StaticData/generated/ClearingMemberCategory.java @@ -0,0 +1,33 @@ +package ru.clearing.classes.StaticData.generated; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +/** + * Категории участника клиринга + *
+ * DB table: CLEARING_MEMBER_CATEGORY
+ **/
+public class ClearingMemberCategory extends SpcexObjectBase {
+ private static final long serialVersionUID = ConstSerializable.serialVersionUID;
+
+ private Long companyId;
+ private String clearingMemberCategory;
+
+ public Long getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Long value) {
+ this.companyId = value;
+ }
+
+ public String getClearingMemberCategory() {
+ return clearingMemberCategory;
+ }
+
+ public void setClearingMemberCategory(String value) {
+ this.clearingMemberCategory = value;
+ }
+
+}
\ No newline at end of file
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 b6acee77f..253cf259c 100644
--- a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql
+++ b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql
@@ -1,6 +1,26 @@
-- DB version: 0.0.0.5
/* Dictionaries */
+-- interestStatus - Справочник статусов возваращения процентов
+CREATE TABLE IF NOT EXISTS INTEREST_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE char(4), NAME varchar(255));
+COMMENT ON TABLE INTEREST_STATUS_DICTIONARY IS 'Справочник статусов возваращения процентов';
+
+COMMENT ON COLUMN INTEREST_STATUS_DICTIONARY.ID IS 'Идентификатор записи';
+
+COMMENT ON COLUMN INTEREST_STATUS_DICTIONARY.CODE IS 'Код';
+
+COMMENT ON COLUMN INTEREST_STATUS_DICTIONARY.NAME IS 'Наименование';
+
+-- clearingStatus - Справочник результатов клиринга
+CREATE TABLE IF NOT EXISTS CLEARING_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE char(4), NAME varchar(255));
+COMMENT ON TABLE CLEARING_STATUS_DICTIONARY IS 'Справочник результатов клиринга';
+
+COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.ID IS 'Идентификатор записи';
+
+COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.CODE IS 'Код';
+
+COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.NAME IS 'Наименование';
+
-- workflowStatus - Справочник статусов бизнес-процессов
CREATE TABLE IF NOT EXISTS WORKFLOW_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE char(4), NAME varchar(255));
COMMENT ON TABLE WORKFLOW_STATUS_DICTIONARY IS 'Справочник статусов бизнес-процессов';
@@ -253,7 +273,7 @@ COMMENT ON COLUMN RESULT_STATUS_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN RESULT_STATUS_DICTIONARY.NAME IS 'Статус обработки';
--- extError -
+-- extError -
CREATE TABLE IF NOT EXISTS EXT_ERROR_DICTIONARY(ID bigint PRIMARY KEY, CODE char(4), NAME varchar(255));
COMMENT ON TABLE EXT_ERROR_DICTIONARY IS '';
@@ -305,9 +325,9 @@ COMMENT ON COLUMN COMPANY.CREATED_AT IS 'Дата и время создания
COMMENT ON COLUMN COMPANY.UPDATED_AT IS 'Дата и время изменения записи';
-COMMENT ON COLUMN COMPANY.TRADING_CODE IS 'Торговый код';
+COMMENT ON COLUMN COMPANY.TRADING_CODE IS 'Код участника торгов';
-COMMENT ON COLUMN COMPANY.CLEARING_CODE IS 'Клиринговый код';
+COMMENT ON COLUMN COMPANY.CLEARING_CODE IS 'Код участника клиринга';
COMMENT ON COLUMN COMPANY.WORKFLOW_STATUS IS 'Статус (linked to workflowStatus)';
@@ -316,7 +336,7 @@ COMMENT ON COLUMN COMPANY.SHORT_NAME IS 'Краткое наименование
COMMENT ON COLUMN COMPANY.FULL_NAME IS 'Полное наименование Компании';
-- companyInfo - Профиль Компании
-CREATE TABLE IF NOT EXISTS COMPANY_INFO(ID bigint PRIMARY KEY, COMPANY_ID bigint, CORPORATION_SOLE_TYPE char(4), COUNTRY_CODE char(4), DESCRIPTION varchar, PROFESSIONAL_SIGN char(4), LEGAL_KIND char(4), ORGANIZATION_TYPE char(4), RESIDENCE char(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255));
+CREATE TABLE IF NOT EXISTS COMPANY_INFO(ID bigint PRIMARY KEY, COMPANY_ID bigint, CORPORATION_SOLE_TYPE char(4), COUNTRY_CODE char(4), DESCRIPTION varchar, PROFESSIONAL_SIGN char(4), LEGAL_KIND char(4), ORGANIZATION_TYPE char(4), RESIDENCE char(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), TRADING_CODE varchar(255), CLEARING_CODE varchar(255));
COMMENT ON TABLE COMPANY_INFO IS 'Профиль Компании';
COMMENT ON COLUMN COMPANY_INFO.ID IS 'Идентификатор записи';
@@ -341,9 +361,17 @@ COMMENT ON COLUMN COMPANY_INFO.SHORT_NAME_ENG IS 'Краткое наимено
COMMENT ON COLUMN COMPANY_INFO.FULL_NAME_ENG IS 'Полное наименование Компании на английском';
+COMMENT ON COLUMN COMPANY_INFO.SHORT_NAME IS 'Краткое наименование Компании';
+
+COMMENT ON COLUMN COMPANY_INFO.FULL_NAME IS 'Полное наименование Компании';
+
+COMMENT ON COLUMN COMPANY_INFO.TRADING_CODE IS 'Код участника торгов';
+
+COMMENT ON COLUMN COMPANY_INFO.CLEARING_CODE IS 'Код участника клиринга';
+
-- Update log of companyInfo - Профиль Компании
-CREATE TABLE IF NOT EXISTS COMPANY_INFO_UPDATE(COMPANY_INFO_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, ID bigint PRIMARY KEY, COMPANY_ID bigint, CORPORATION_SOLE_TYPE char(4), COUNTRY_CODE char(4), DESCRIPTION varchar, PROFESSIONAL_SIGN char(4), LEGAL_KIND char(4), ORGANIZATION_TYPE char(4), RESIDENCE char(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255));
+CREATE TABLE IF NOT EXISTS COMPANY_INFO_UPDATE(COMPANY_INFO_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, ID bigint PRIMARY KEY, COMPANY_ID bigint, CORPORATION_SOLE_TYPE char(4), COUNTRY_CODE char(4), DESCRIPTION varchar, PROFESSIONAL_SIGN char(4), LEGAL_KIND char(4), ORGANIZATION_TYPE char(4), RESIDENCE char(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), TRADING_CODE varchar(255), CLEARING_CODE varchar(255) );
COMMENT ON TABLE COMPANY_INFO_UPDATE IS 'Журнал изменений таблицы companyInfo';
COMMENT ON COLUMN COMPANY_INFO_UPDATE.COMPANY_INFO_ID IS 'Идентификатор записи в таблице COMPANY_INFO';
COMMENT ON COLUMN COMPANY_INFO_UPDATE.EVENT_TIME IS 'Дата и время изменения';
@@ -371,6 +399,14 @@ COMMENT ON COLUMN COMPANY_INFO_UPDATE.SHORT_NAME_ENG IS 'Краткое наим
COMMENT ON COLUMN COMPANY_INFO_UPDATE.FULL_NAME_ENG IS 'Полное наименование Компании на английском';
+COMMENT ON COLUMN COMPANY_INFO_UPDATE.SHORT_NAME IS 'Краткое наименование Компании';
+
+COMMENT ON COLUMN COMPANY_INFO_UPDATE.FULL_NAME IS 'Полное наименование Компании';
+
+COMMENT ON COLUMN COMPANY_INFO_UPDATE.TRADING_CODE IS 'Код участника торгов';
+
+COMMENT ON COLUMN COMPANY_INFO_UPDATE.CLEARING_CODE IS 'Код участника клиринга';
+
-- clearingMemberCategory - Категории участника клиринга
CREATE TABLE IF NOT EXISTS CLEARING_MEMBER_CATEGORY(ID bigint PRIMARY KEY, COMPANY_ID bigint, CLEARING_MEMBER_CATEGORY char(4));
COMMENT ON TABLE CLEARING_MEMBER_CATEGORY IS 'Категории участника клиринга';
@@ -860,7 +896,7 @@ COMMENT ON COLUMN LISTING_UPDATE.TRADING_CURRENCY IS 'Идентификатор
COMMENT ON COLUMN LISTING_UPDATE.WORKFLOW_STATUS IS 'Идентификатор статуса листинга в системе (linked to workflowStatus)';
-- market - Торговые площадки
-CREATE TABLE IF NOT EXISTS MARKET(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), MARKET_CODE varchar(255), SETTLEMENT_CURRENCY char(4), SECTOR char(4));
+CREATE TABLE IF NOT EXISTS MARKET(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), CODE char(4), SETTLEMENT_CURRENCY char(4), SECTOR char(4));
COMMENT ON TABLE MARKET IS 'Торговые площадки';
COMMENT ON COLUMN MARKET.ID IS 'Идентификатор записи';
@@ -875,7 +911,7 @@ COMMENT ON COLUMN MARKET.EXCHANGE_ID IS 'Идентификатор площад
COMMENT ON COLUMN MARKET.NAME IS 'Наименование';
-COMMENT ON COLUMN MARKET.MARKET_CODE IS 'Режим';
+COMMENT ON COLUMN MARKET.CODE IS 'Режим';
COMMENT ON COLUMN MARKET.SETTLEMENT_CURRENCY IS 'Валютный код расчетов (linked to currency)';
@@ -883,7 +919,7 @@ COMMENT ON COLUMN MARKET.SECTOR IS 'Идентификатор сектора (l
-- Update log of market - Торговые площадки
-CREATE TABLE IF NOT EXISTS MARKET_UPDATE(MARKET_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), MARKET_CODE varchar(255), SETTLEMENT_CURRENCY char(4), SECTOR char(4));
+CREATE TABLE IF NOT EXISTS MARKET_UPDATE(MARKET_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), CODE char(4), SETTLEMENT_CURRENCY char(4), SECTOR char(4));
COMMENT ON TABLE MARKET_UPDATE IS 'Журнал изменений таблицы market';
COMMENT ON COLUMN MARKET_UPDATE.MARKET_ID IS 'Идентификатор записи в таблице MARKET';
COMMENT ON COLUMN MARKET_UPDATE.EVENT_TIME IS 'Дата и время изменения';
@@ -901,7 +937,7 @@ COMMENT ON COLUMN MARKET_UPDATE.EXCHANGE_ID IS 'Идентификатор пл
COMMENT ON COLUMN MARKET_UPDATE.NAME IS 'Наименование';
-COMMENT ON COLUMN MARKET_UPDATE.MARKET_CODE IS 'Режим';
+COMMENT ON COLUMN MARKET_UPDATE.CODE IS 'Режим';
COMMENT ON COLUMN MARKET_UPDATE.SETTLEMENT_CURRENCY IS 'Валютный код расчетов (linked to currency)';
@@ -1193,7 +1229,7 @@ COMMENT ON COLUMN CONTRACT_REGISTER.VALID_FROM_DATE IS 'Дата начала с
COMMENT ON COLUMN CONTRACT_REGISTER.VALID_TO_DATE IS 'Дата окончания срока действия';
-- liabilitiesClaimsMoney - Требования и обязательства денежных средств
-CREATE TABLE IF NOT EXISTS LIABILITIES_CLAIMS_MONEY(ID bigint PRIMARY KEY, COMPANY_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp, ACCOUNT_ID bigint, ACCOUNT_TYPE bigint, ACCOUNT bigint, LIABILITIES_AMOUNT numeric(72,2), CLAIMS_AMOUNT numeric(72,2), SETTLEMENT_DATE date, TRADING_DATE date, CURRENCY_CODE char(4), TRADING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255));
+CREATE TABLE IF NOT EXISTS LIABILITIES_CLAIMS_MONEY(ID bigint PRIMARY KEY, COMPANY_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp, ACCOUNT_ID bigint, ACCOUNT_TYPE bigint, ACCOUNT bigint, LIABILITIES_AMOUNT numeric(72,2), REFUND_INTEREST numeric(72,2), ACCRUED_INTEREST numeric(72,2), CLAIMS_AMOUNT numeric(72,2), SETTLEMENT_DATE date, TRADING_DATE date, CURRENCY char(4), TRADING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255));
COMMENT ON TABLE LIABILITIES_CLAIMS_MONEY IS 'Требования и обязательства денежных средств';
COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ID IS 'Идентификатор записи';
@@ -1210,15 +1246,19 @@ COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT_TYPE IS 'Тип счета (l
COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT IS 'Счет (linked to account)';
-COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.LIABILITIES_AMOUNT IS 'Регистр «Обязательства по денежным средствам, сформированные по результатам собственных сделок Участника клиринга»';
+COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.LIABILITIES_AMOUNT IS 'Регистр «Обязательства по денежным средствам, сформированные по результатам собственных сделок Участника клиринга», исключая проценты';
-COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CLAIMS_AMOUNT IS 'Сумма требований';
+COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.REFUND_INTEREST IS 'Проценты к возврату';
+
+COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCRUED_INTEREST IS 'Начисленные проценты';
+
+COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CLAIMS_AMOUNT IS 'Сумма требований, исключая проценты';
COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.SETTLEMENT_DATE IS 'Дата расчета';
COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.TRADING_DATE IS 'Дата торгов';
-COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CURRENCY_CODE IS 'Код валюты (linked to currency)';
+COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CURRENCY IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.TRADING_CODE IS 'Торговый код Участника (linked to company)';
@@ -1227,7 +1267,7 @@ COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.SHORT_NAME IS 'Короткое на
COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.FULL_NAME IS 'Полное наименование Участника (linked to company)';
-- liabilitiesClaimsAssets - Требования и обязательства финансовых активов
-CREATE TABLE IF NOT EXISTS LIABILITIES_CLAIMS_ASSETS(ID bigint PRIMARY KEY, COMPANY_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp, ACCOUNT_ID bigint, ACCOUNT_TYPE bigint, ACCOUNT bigint, LIABILITIES_QUANTITY numeric(72,18), CLAIMS_QUANTITY numeric(72,18), SETTLEMENT_DATE date, TRADING_DATE date, REFUND_DATE date, SECURITY_ID bigint, TRADING_CODE varchar(255), SHORT_NAME varchar(255), CONTRACT varchar(255), COMMENT varchar(255), FULL_NAME varchar(255), PARENT_ID bigint);
+CREATE TABLE IF NOT EXISTS LIABILITIES_CLAIMS_ASSETS(ID bigint PRIMARY KEY, COMPANY_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp, ACCOUNT_ID bigint, ACCOUNT_TYPE bigint, ACCOUNT bigint, LIABILITIES_QUANTITY numeric(72,18), CLAIMS_QUANTITY numeric(72,18), CURRENCY char(4), SETTLEMENT_DATE date, TRADING_DATE date, REFUND_DATE date, PRICE numeric(72,18), SECURITY_ID bigint, TRADING_CODE varchar(255), SHORT_NAME varchar(255), CONTRACT varchar(255), COMMENT varchar(255), FULL_NAME varchar(255), PARENT_ID bigint, LIABILITIES_CLAIMS_MONEY_ID bigint, INTEREST_STATUS bigint, CLEARING_STATUS bigint, PAYMENT_ID bigint, REFUND_PAYMENT_ID bigint);
COMMENT ON TABLE LIABILITIES_CLAIMS_ASSETS IS 'Требования и обязательства финансовых активов';
COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ID IS 'Идентификатор записи';
@@ -1248,12 +1288,16 @@ COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.LIABILITIES_QUANTITY IS 'Сумма
COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLAIMS_QUANTITY IS 'Сумма требований';
+COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CURRENCY IS 'Код валюты (linked to currencyCode)';
+
COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SETTLEMENT_DATE IS 'Дата расчета';
COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.TRADING_DATE IS 'Дата торгов';
COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.REFUND_DATE IS 'Дата возврата';
+COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.PRICE IS 'Ставка по депозиту';
+
COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SECURITY_ID IS 'Инструмент (linked to security)';
COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.TRADING_CODE IS 'Торговый код Участника (linked to company)';
@@ -1268,6 +1312,16 @@ COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.FULL_NAME IS 'Полное наим
COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.PARENT_ID IS 'Идентификатор записи основного договора без разделения';
+COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.LIABILITIES_CLAIMS_MONEY_ID IS 'Регистры денежных средств (linked to liabilitiesClaimsMoney)';
+
+COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.INTEREST_STATUS IS 'Статус возврата процентов (linked to interestStatus)';
+
+COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLEARING_STATUS IS 'Статус клиринга (linked to clearingStatus)';
+
+COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.PAYMENT_ID IS 'Платеж';
+
+COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.REFUND_PAYMENT_ID IS 'Обратный платежа';
+
-- statement - Денежные средства от расчетной организации
CREATE TABLE IF NOT EXISTS STATEMENT(ID bigint PRIMARY KEY, ADDRESSEE_ID bigint, SENDER_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, STATEMENT_TYPE_ID bigint, COMMENT varchar(255), ACCOUNT_ID bigint, ACCOUNT bigint, IN_OUT_DIRECTION bigint, SETTLEMENT_DATE date, AMOUNT numeric(72,2), CASH_MOVEMENTCURRENCY_CODE char(4), STATUS_ID bigint);
COMMENT ON TABLE STATEMENT IS 'Денежные средства от расчетной организации';
@@ -1386,6 +1440,144 @@ COMMENT ON COLUMN MARKET_DATA.UPDATED_AT IS 'Время изменения сд
COMMENT ON COLUMN MARKET_DATA.TRADING_DATE IS 'Дата торгов';
+-- chargeTariff - Тарифы комиссий
+CREATE TABLE IF NOT EXISTS CHARGE_TARIFF(ID bigint PRIMARY KEY, MARKET bigint, CLEARING_MEMBER_CATEGORY char(4), CHARGE_TYPE_ID bigint, CHARGE_RATE numeric(72,18), CURRENCY bigint, VALID_FROM_DATE date, VALID_TO_DATE date, CREATED_AT timestamp, UPDATED_AT timestamp);
+COMMENT ON TABLE CHARGE_TARIFF IS 'Тарифы комиссий';
+
+COMMENT ON COLUMN CHARGE_TARIFF.ID IS 'Идентификатор';
+
+COMMENT ON COLUMN CHARGE_TARIFF.MARKET IS 'Секция (linked to market)';
+
+COMMENT ON COLUMN CHARGE_TARIFF.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingCategory)';
+
+COMMENT ON COLUMN CHARGE_TARIFF.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)';
+
+COMMENT ON COLUMN CHARGE_TARIFF.CHARGE_RATE IS 'Ставка комиссионного сбора';
+
+COMMENT ON COLUMN CHARGE_TARIFF.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)';
+
+COMMENT ON COLUMN CHARGE_TARIFF.VALID_FROM_DATE IS 'Дата начала срока действия';
+
+COMMENT ON COLUMN CHARGE_TARIFF.VALID_TO_DATE IS 'Дата окончания срока действия';
+
+COMMENT ON COLUMN CHARGE_TARIFF.CREATED_AT IS 'Создано';
+
+COMMENT ON COLUMN CHARGE_TARIFF.UPDATED_AT IS 'Изменено';
+
+
+-- Update log of chargeTariff - Тарифы комиссий
+CREATE TABLE IF NOT EXISTS CHARGE_TARIFF_UPDATE(CHARGE_TARIFF_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, ID bigint PRIMARY KEY, MARKET bigint, CLEARING_MEMBER_CATEGORY char(4), CHARGE_TYPE_ID bigint, CHARGE_RATE numeric(72,18), CURRENCY bigint, VALID_FROM_DATE date, VALID_TO_DATE date, CREATED_AT timestamp, UPDATED_AT timestamp);
+COMMENT ON TABLE CHARGE_TARIFF_UPDATE IS 'Журнал изменений таблицы chargeTariff';
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.CHARGE_TARIFF_ID IS 'Идентификатор записи в таблице CHARGE_TARIFF';
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.EVENT_TIME IS 'Дата и время изменения';
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.EVENT_USER_ID IS 'Инициатор изменения';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.ID IS 'Идентификатор';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.MARKET IS 'Секция (linked to market)';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingCategory)';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.CHARGE_RATE IS 'Ставка комиссионного сбора';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.VALID_FROM_DATE IS 'Дата начала срока действия';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.VALID_TO_DATE IS 'Дата окончания срока действия';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.CREATED_AT IS 'Создано';
+
+COMMENT ON COLUMN CHARGE_TARIFF_UPDATE.UPDATED_AT IS 'Изменено';
+
+-- individualChargeTariff - Индивидуальные тарифы комиссий для Участника
+CREATE TABLE IF NOT EXISTS INDIVIDUAL_CHARGE_TARIFF(ID bigint PRIMARY KEY, COMPANY_ID bigint, MARKET bigint, CLEARING_MEMBER_CATEGORY char(4), CHARGE_TYPE_ID bigint, CHARGE_RATE numeric(72,18), CURRENCY bigint, VALID_FROM_DATE date, VALID_TO_DATE date, CREATED_AT timestamp, UPDATED_AT timestamp);
+COMMENT ON TABLE INDIVIDUAL_CHARGE_TARIFF IS 'Индивидуальные тарифы комиссий для Участника';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.ID IS 'Идентификатор';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.COMPANY_ID IS 'Участник (linked to company)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.MARKET IS 'Секция (linked to market)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingCategory)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CHARGE_RATE IS 'Ставка комиссионного сбора';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.VALID_FROM_DATE IS 'Дата начала срока действия';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.VALID_TO_DATE IS 'Дата окончания срока действия';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CREATED_AT IS 'Создано';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.UPDATED_AT IS 'Изменено';
+
+
+-- Update log of individualChargeTariff - Индивидуальные тарифы комиссий для Участника
+CREATE TABLE IF NOT EXISTS INDIVIDUAL_CHARGE_TARIFF_UPDATE(INDIVIDUAL_CHARGE_TARIFF_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, ID bigint PRIMARY KEY, COMPANY_ID bigint, MARKET bigint, CLEARING_MEMBER_CATEGORY char(4), CHARGE_TYPE_ID bigint, CHARGE_RATE numeric(72,18), CURRENCY bigint, VALID_FROM_DATE date, VALID_TO_DATE date, CREATED_AT timestamp, UPDATED_AT timestamp);
+COMMENT ON TABLE INDIVIDUAL_CHARGE_TARIFF_UPDATE IS 'Журнал изменений таблицы individualChargeTariff';
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.INDIVIDUAL_CHARGE_TARIFF_ID IS 'Идентификатор записи в таблице INDIVIDUAL_CHARGE_TARIFF';
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.EVENT_TIME IS 'Дата и время изменения';
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.EVENT_USER_ID IS 'Инициатор изменения';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.ID IS 'Идентификатор';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.COMPANY_ID IS 'Участник (linked to company)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.MARKET IS 'Секция (linked to market)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingCategory)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.CHARGE_RATE IS 'Ставка комиссионного сбора';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.VALID_FROM_DATE IS 'Дата начала срока действия';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.VALID_TO_DATE IS 'Дата окончания срока действия';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.CREATED_AT IS 'Создано';
+
+COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_UPDATE.UPDATED_AT IS 'Изменено';
+
+-- companyTariff - Тарифы комиссий в разрезе Участника
+CREATE TABLE IF NOT EXISTS COMPANY_TARIFF(ID bigint PRIMARY KEY, MARKET bigint, CLEARING_MEMBER_CATEGORY char(4), FULL_NAME varchar(255), CONTRACT varchar(255), CHARGE_TYPE_ID bigint, CHARGE_RATE numeric(72,18), CURRENCY bigint, VALID_FROM_DATE date, VALID_TO_DATE date, CREATED_AT timestamp, UPDATED_AT timestamp, COMPANY_ID bigint);
+COMMENT ON TABLE COMPANY_TARIFF IS 'Тарифы комиссий в разрезе Участника';
+
+COMMENT ON COLUMN COMPANY_TARIFF.ID IS 'Идентификатор';
+
+COMMENT ON COLUMN COMPANY_TARIFF.MARKET IS 'Секция (linked to market)';
+
+COMMENT ON COLUMN COMPANY_TARIFF.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingCategory)';
+
+COMMENT ON COLUMN COMPANY_TARIFF.FULL_NAME IS 'Полное наименование Участника (linked to company)';
+
+COMMENT ON COLUMN COMPANY_TARIFF.CONTRACT IS 'Номер договора';
+
+COMMENT ON COLUMN COMPANY_TARIFF.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)';
+
+COMMENT ON COLUMN COMPANY_TARIFF.CHARGE_RATE IS 'Ставка комиссионного сбора';
+
+COMMENT ON COLUMN COMPANY_TARIFF.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)';
+
+COMMENT ON COLUMN COMPANY_TARIFF.VALID_FROM_DATE IS 'Дата начала срока действия';
+
+COMMENT ON COLUMN COMPANY_TARIFF.VALID_TO_DATE IS 'Дата окончания срока действия';
+
+COMMENT ON COLUMN COMPANY_TARIFF.CREATED_AT IS 'Создано';
+
+COMMENT ON COLUMN COMPANY_TARIFF.UPDATED_AT IS 'Изменено';
+
+COMMENT ON COLUMN COMPANY_TARIFF.COMPANY_ID IS 'Участник (linked to company)';
+
-- sDf01 - ДФ 02 - Направление уведомлений об операциях загрузки
CREATE TABLE IF NOT EXISTS S_DF01(ID bigint PRIMARY KEY, DATE date, CURR_CODE char(4), ACCOUNT varchar(25), REMAINDER_SUM varchar(20), DEAL char(4), ACC_CODE varchar(5), DAT varchar(8), MARKET varchar(1), ACC_NAME varchar(1), ACC_TYPE varchar(1), SUMENGAGE varchar(22), SUMUNBLOCK varchar(22), FILE_TYPE varchar(1), RESULT_CODE varchar(1), ERROR_TEXT varchar(255), EXT_ERROR_CODE char(4));
COMMENT ON TABLE S_DF01 IS 'ДФ 02 - Направление уведомлений об операциях загрузки';
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java
index c87d157c7..c9b65f572 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java
@@ -77,6 +77,7 @@ public abstract class ObjectBaseMapStore