IMDG добавил новых мапсторов.

This commit is contained in:
AKurakin 2022-09-01 19:42:57 +03:00
parent ce1749fe83
commit e0353f099b
15 changed files with 981 additions and 14 deletions

View file

@ -0,0 +1,51 @@
package ru.clearing.classes.StaticData.Account;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessObject;
/**
* Счета
* <p>
* 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;
}
}

View file

@ -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;
/**
* Маршрутизация счета
* <p>
* 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;
}
}

View file

@ -0,0 +1,123 @@
package ru.clearing.classes.StaticData.Account;
import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
/**
* Банковские счета
* <p>
* 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;
}
}

View file

@ -0,0 +1,51 @@
package ru.clearing.classes.StaticData.Account;
import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
/**
* Клиринговые счета
* <p>
* 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;
}
}

View file

@ -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;
/**
* Договорные отношения
* <p>
* 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;
}
}

View file

@ -0,0 +1,33 @@
package ru.clearing.classes.StaticData.generated;
import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
/**
* Категории участника клиринга
* <p>
* 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;
}
}

View file

@ -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 - Направление уведомлений об операциях загрузки';

View file

@ -77,6 +77,7 @@ public abstract class ObjectBaseMapStore<T extends SpcexObjectBase> extends Simp
return rs.getObject(columnName, Long.class);
}
// todo отрефакторить метод - длинное название
protected Instant getInstantFromTimestamp(ResultSet rs, String column) throws SQLException {
Timestamp date = rs.getTimestamp(column);
return date != null ? date.toInstant() : null;

View file

@ -0,0 +1,66 @@
package ru.spcex.clearing.imdg.businessobject;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.StaticData.Account.Account;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.clearing.imdg.utils.DbUtilsHelper;
import ru.spcex.clearing.imdg.utils.TimeUtil;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
@Component
public class AccountMapStore extends TemplateMapStore<Account> {
public AccountMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_Account;
}
@Override
public String getTableName() {
return "ACCOUNT";
}
@Override
public String[] getFields() {
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT", "ACCOUNT_TYPE", "RELATION_ID", "STATUS"
};
}
@Override
public Account objectReader(ResultSet resultSet) throws SQLException {
Account object = new Account();
object.setId(resultSet.getObject("ID", Long.class));
object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT"));
object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT"));
object.setAccount(resultSet.getObject("ACCOUNT", String.class));
object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", String.class));
object.setRelationId(resultSet.getObject("RELATION_ID", Long.class));
object.setStatus(resultSet.getObject("STATUS", String.class));
return object;
}
@Override
public Object[] objectToField(Account object) {
Object[] args = new Object[]{
object.getId(),
TimeUtil.fromInstant(object.getCreated()),
TimeUtil.fromInstant(object.getUpdated()),
object.getAccount(),
object.getAccountType(),
object.getRelationId(),
object.getStatus()
};
return args;
}
}//todo updatemapstore !!!

View file

@ -0,0 +1,71 @@
package ru.spcex.clearing.imdg.businessobject;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.StaticData.Company.Relation.Relation;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.clearing.imdg.utils.DbUtilsHelper;
import ru.spcex.clearing.imdg.utils.TimeUtil;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
@Component
public class RelationMapStore extends TemplateMapStore<Relation> {
public RelationMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_Relation;
}
@Override
public String getTableName() {
return "RELATION";
}
@Override
public String[] getFields() {
return new String[]{
"ID", "CREATED_AT", "UPDATED_AT", "CONSUMER_ID", "SUPPLIER_ID", "SERVICE_STATUS", "SERVICE_ID", "SERVICE_PRODUCT_ID", "COMMENT"
};
}
@Override
public Relation objectReader(ResultSet resultSet) throws SQLException {
Relation object = new Relation();
object.setId(resultSet.getObject("ID", Long.class));
object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT"));
object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT"));
object.setConsumerId(resultSet.getObject("CONSUMER_ID", Long.class));
object.setSupplierId(resultSet.getObject("SUPPLIER_ID", Long.class));
object.setServiceStatus(resultSet.getObject("SERVICE_STATUS", String.class));
object.setServiceId(resultSet.getObject("SERVICE_ID", Long.class));
object.setServiceProductId(resultSet.getObject("SERVICE_PRODUCT_ID", Long.class));
object.setComment(resultSet.getObject("COMMENT", String.class));
return object;
}
@Override
public Object[] objectToField(Relation object) {
Object[] args = new Object[]{
object.getId(),
TimeUtil.fromInstant(object.getCreated()),
TimeUtil.fromInstant(object.getUpdated()),
object.getConsumerId(),
object.getSupplierId(),
object.getServiceStatus(),
object.getServiceId(),
object.getServiceProductId(),
object.getComment()
};
return args;
}
}
// todo Сделать BusinessEventMapStore RelationUpdateMapStore

View file

@ -0,0 +1,61 @@
package ru.spcex.clearing.imdg.object;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.StaticData.Account.AccountRouting;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.clearing.imdg.utils.DbUtilsHelper;
import ru.spcex.clearing.imdg.utils.TimeUtil;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
@Component
public class AccountRoutingMapStore extends TemplateMapStore<AccountRouting> {
public AccountRoutingMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_AccountRouting;
}
@Override
public String getTableName() {
return "ACCOUNT_ROUTING";
}
@Override
public String[] getFields() {
return new String[]{
"ID", "DESTINATION_ID", "RELATION_ID", "SOURCE_ID"
};
}
@Override
public AccountRouting objectReader(ResultSet resultSet) throws SQLException {
AccountRouting object = new AccountRouting();
object.setId(resultSet.getObject("ID", Long.class));
object.setDestinationId(resultSet.getObject("DESTINATION_ID", Long.class));
object.setRelationId(resultSet.getObject("RELATION_ID", Long.class));
object.setSourceId(resultSet.getObject("SOURCE_ID", Long.class));
return object;
}
@Override
public Object[] objectToField(AccountRouting object) {
Object[] args = new Object[]{
object.getId(),
object.getDestinationId(),
object.getRelationId(),
object.getSourceId()
};
return args;
}
}
// todo Сделать BusinessEventMapStore AccountRoutingUpdateMapStore

View file

@ -0,0 +1,79 @@
package ru.spcex.clearing.imdg.object;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.StaticData.Account.BankAccount;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.clearing.imdg.utils.DbUtilsHelper;
import ru.spcex.clearing.imdg.utils.TimeUtil;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
@Component
public class BankAccountMapStore extends TemplateMapStore<BankAccount> {
public BankAccountMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_BankAccount;
}
@Override
public String getTableName() {
return "BANK_ACCOUNT";
}
@Override
public String[] getFields() {
return new String[]{
"ID", "ACCOUNT_ID", "BANK_IDENTIFICATION_CODE", "BANK_NAME", "CORRESPONDENT_ACCOUNT_NAME", "CURRENCY", "DESTINATION", "IBAN", "INTERNATIONAL_TRANSFER_SIGN", "SWIFT_CODE", "TAXPAYER_IDENTIFICATION_NUMBER", "TAX_REGISTRATION_REASON_CODE", "CORRESPONDENT_ACCOUNT"
};
}
@Override
public BankAccount objectReader(ResultSet resultSet) throws SQLException {
BankAccount object = new BankAccount();
object.setId(resultSet.getObject("ID", Long.class));
object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class));
object.setBankIdentificationCode(resultSet.getObject("BANK_IDENTIFICATION_CODE", String.class));
object.setBankName(resultSet.getObject("BANK_NAME", String.class));
object.setCorrespondentAccountName(resultSet.getObject("CORRESPONDENT_ACCOUNT_NAME", String.class));
object.setCurrency(resultSet.getObject("CURRENCY", String.class));
object.setDestination(resultSet.getObject("DESTINATION", String.class));
object.setIban(resultSet.getObject("IBAN", String.class));
object.setInternationalTransferSign(resultSet.getObject("INTERNATIONAL_TRANSFER_SIGN", String.class));
object.setSwiftCode(resultSet.getObject("SWIFT_CODE", String.class));
object.setTaxpayerIdentificationNumber(resultSet.getObject("TAXPAYER_IDENTIFICATION_NUMBER", String.class));
object.setTaxRegistrationReasonCode(resultSet.getObject("TAX_REGISTRATION_REASON_CODE", String.class));
object.setCorrespondentAccount(resultSet.getObject("CORRESPONDENT_ACCOUNT", String.class));
return object;
}
@Override
public Object[] objectToField(BankAccount object) {
Object[] args = new Object[]{
object.getId(),
object.getAccountId(),
object.getBankIdentificationCode(),
object.getBankName(),
object.getCorrespondentAccountName(),
object.getCurrency(),
object.getDestination(),
object.getIban(),
object.getInternationalTransferSign(),
object.getSwiftCode(),
object.getTaxpayerIdentificationNumber(),
object.getTaxRegistrationReasonCode(),
object.getCorrespondentAccount()
};
return args;
}
}
// todo Сделать BusinessEventMapStore BankAccountUpdateMapStore

View file

@ -0,0 +1,63 @@
package ru.spcex.clearing.imdg.object;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.StaticData.Account.ClearingAccount;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import ru.spcex.clearing.imdg.utils.DbUtilsHelper;
import ru.spcex.clearing.imdg.utils.TimeUtil;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
@Component
public class ClearingAccountMapStore extends TemplateMapStore<ClearingAccount> {
public ClearingAccountMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ClearingAccount;
}
@Override
public String getTableName() {
return "CLEARING_ACCOUNT";
}
@Override
public String[] getFields() {
return new String[]{
"ID", "ACCOUNT_ID", "CASH_ACCOUNT_ID", "DEPO_ACCOUNT_ID", "SETTLEMENT_CODE"
};
}
@Override
public ClearingAccount objectReader(ResultSet resultSet) throws SQLException {
ClearingAccount object = new ClearingAccount();
object.setId(resultSet.getObject("ID", Long.class));
object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class));
object.setCashAccountId(resultSet.getObject("CASH_ACCOUNT_ID", Long.class));
object.setDepoAccountId(resultSet.getObject("DEPO_ACCOUNT_ID", Long.class));
object.setSettlementCode(resultSet.getObject("SETTLEMENT_CODE", String.class));
return object;
}
@Override
public Object[] objectToField(ClearingAccount object) {
Object[] args = new Object[]{
object.getId(),
object.getAccountId(),
object.getCashAccountId(),
object.getDepoAccountId(),
object.getSettlementCode()
};
return args;
}
}
// todo Сделать BusinessEventMapStore ClearingAccountUpdateMapStore

View file

@ -0,0 +1,55 @@
package ru.spcex.clearing.imdg.object;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.classes.StaticData.generated.ClearingMemberCategory;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.imdg.base.TemplateMapStore;
import java.sql.ResultSet;
import java.sql.SQLException;
@Component
public class ClearingMemberCategoryMapStore extends TemplateMapStore<ClearingMemberCategory> {
public ClearingMemberCategoryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ClearingMemberCategory;
}
@Override
public String getTableName() {
return "CLEARING_MEMBER_CATEGORY";
}
@Override
public String[] getFields() {
return new String[]{
"ID", "COMPANY_ID", "CLEARING_MEMBER_CATEGORY"
};
}
@Override
public ClearingMemberCategory objectReader(ResultSet resultSet) throws SQLException {
ClearingMemberCategory object = new ClearingMemberCategory();
object.setId(resultSet.getObject("ID", Long.class));
object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
object.setClearingMemberCategory(resultSet.getObject("CLEARING_MEMBER_CATEGORY", String.class));
return object;
}
@Override
public Object[] objectToField(ClearingMemberCategory object) {
Object[] args = new Object[]{
object.getId(),
object.getCompanyId(),
object.getClearingMemberCategory()
};
return args;
}
}

View file

@ -14,6 +14,12 @@ public final class IMDGDistributedNames {
// public static final String Map_CompanyInfo = "Map_CompanyInfo"; интегрировано в Map_Company
public static final String Map_Contact = "Map_Contact";
public static final String Map_ProfileDocument = "Map_ProfileDocument";
public static final String Map_Account = "Map_Account";
public static final String Map_Relation = "Map_Relation";
public static final String Map_ClearingAccount = "Map_ClearingAccount";
public static final String Map_BankAccount = "Map_BankAccount";
public static final String Map_ClearingMemberCategory = "Map_ClearingMemberCategory";
public static final String Map_AccountRouting = "Map_AccountRouting";
// public static final String Map_InterestStatusDictionary = "Map_InterestStatusDictionary"; future
public static final String Map_AllowedDictionary = "Map_AllowedDictionary";