Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
ialbert 2022-08-22 12:55:06 +03:00
commit 69d03bba98
50 changed files with 1561 additions and 520 deletions

View file

@ -32,6 +32,8 @@
<clearingCategory id="7" code="K" name="Категория «К» -Участник клиринга" /> <clearingCategory id="7" code="K" name="Категория «К» -Участник клиринга" />
<managementJournalType id="1" code="CRPA" name="Корпоративное событие, связанное с допуском" /> <managementJournalType id="1" code="CRPA" name="Корпоративное событие, связанное с допуском" />
<managementJournalType id="2" code="DFLT" name="Отсутствие возврата по платежу" /> <managementJournalType id="2" code="DFLT" name="Отсутствие возврата по платежу" />
<managementJournalType id="3" code="NOTC" name="Генерация уведомления" />
<managementJournalType id="4" code="SETL" name="Взаимодействие с расчетной организацией" />
<contactType id="1" code="ADRS" name="Адрес" /> <contactType id="1" code="ADRS" name="Адрес" />
<contactType id="2" code="POST" name="Почтовый адрес" /> <contactType id="2" code="POST" name="Почтовый адрес" />
<contactType id="3" code="CONT" name="Контактное лицо" /> <contactType id="3" code="CONT" name="Контактное лицо" />
@ -79,26 +81,18 @@
<companyRole id="4" code="SETH" name="Расчетный центр" /> <companyRole id="4" code="SETH" name="Расчетный центр" />
<companyRole id="5" code="DEPS" name="Депозитарий" /> <companyRole id="5" code="DEPS" name="Депозитарий" />
<companyRole id="6" code="CLRM" name="Участник клиринга" /> <companyRole id="6" code="CLRM" name="Участник клиринга" />
<accountType id="1" code="CLRN" name="ТКС" /> <accountType id="1" code="CLRN" name="Торговой клиринговый счет" />
<accountType id="2" code="BANK" name="Текущий банковский счет" /> <accountType id="2" code="BANK" name="Текущий банковский счет" />
<accountType id="3" code="LORO" name="ЛОРО счет" /> <accountType id="3" code="USPD" name="Счет невыясненных поступлений" />
<accountType id="4" code="CORR" name="Корреспондентский счет" /> <accountType id="4" code="CORR" name="Корреспондентский счет" />
<accountType id="5" code="INFO" name="Информационный счет" /> <accountType id="5" code="INFO" name="Информационный счет" />
<accountType id="6" code="PYER" name="Счет плательщика" /> <accountType id="6" code="PYER" name="Счет плательщика" />
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка" /> <instrumentType id="1" code="RATE" name="Инструмент Денежного рынка" />
<instrumentType id="2" code="CRNC" name="Валюты"/> <instrumentType id="2" code="CRNC" name="Валюты"/>
<sector id="1" code="MKR" name="Межбанковский кредитный рынок" /> <sector id="1" code="MKR" name="Межбанковский кредитный рынок" />
<!-- todo ResultStatus уточнить: 2 справочника в ТЗ "DDL. DBF в ПРЦ" и 1 в "DDL. DF_01, DF_02.v" --> <resultStatus id="1" code="NACK" name="Неуспешно" />
<resultStatus id="1" code="0" name="Неуспешно" /> <resultStatus id="2" code="ACK" name="Успешно" />
<resultStatus id="2" code="1" name="Успешно" />
<resultStatus id="11" code="BLCKD" name="Заблокирован" /> <!-- todo code="BLCKD" слишком длинное значение -->
<resultStatus id="12" code="UNBLCKD" name="Разблокирован" /> <!-- todo code="UNBLCKD" слишком длинное значение -->
<resultStatus id="21" code="0" name="Ошибка при загрузке/отправке" />
<resultStatus id="22" code="1" name="Успешно загружен/отправлен" />
<extError id="1" code="-1" name="Попытка повторно исполнить операцию" /> <extError id="1" code="-1" name="Попытка повторно исполнить операцию" />
<extError id="2" code="-2" name="Участник не найден" /> <extError id="2" code="-2" name="Участник не найден" />

View file

@ -4,6 +4,26 @@
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" --> <!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
<!--Здесь словари--> <!--Здесь словари-->
<enums> <enums>
<chargeDirection name="Направление начисления комиссии" class="com.moex.platform.dictionary.ChargeDirectionDictionary">
<field code="id" name="Идентификатор" shortname="ID" type="1"/>
<field code="name" name="Направление комиссии" shortname="Направление комиссии" type="2" length="50"/>
</chargeDirection>
<chargeType name="Справочник типов комиссий" class="com.moex.platform.dictionary.ChargeTypeDictionary">
<field code="id" name="Идентификатор" shortname="ID" type="1"/>
<field code="name" name="Тип комиссии" shortname="Тип комиссии" type="2" length="50"/>
</chargeType>
<interestStatus name="Справочник статусов возваращения процентов" class="com.spicex.dictionary.">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/>
</interestStatus>
<clearingStatus name="Справочник результатов клиринга" class="com.spicex.dictionary.">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/>
</clearingStatus>
<workflowStatus name="Справочник статусов бизнес-процессов" class="com.spicex.dictionary."> <workflowStatus name="Справочник статусов бизнес-процессов" class="com.spicex.dictionary.">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
@ -156,11 +176,16 @@
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/>
<createdAt type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/> <createdAt type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/> <updatedAt type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<tradingCode type="2" name="Торговый код" shortname="Торговый код" searchable="true" sortable="true" visible="true" length="255"/> <tradingCode type="2" length="255" name="Код участника торгов" shortname="Торговый код" searchable="true" sortable="true" visible="true"/>
<clearingCode type="2" name="Клиринговый код" shortname="Код клирин7а" searchable="true" sortable="true" visible="true" length="255"/> <clearingCode type="2" length="255" name="Код участника клиринга" shortname="Клиринговый код" searchable="true" sortable="true" visible="true"/>
<workflowStatus type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/> <workflowStatus type="12" name="Статус" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/>
<shortName type="2" length="255" name="Краткое наименование Компании" shortname="Краткое наименование Компании" searchable="true" sortable="true" visible="true"/> <shortName type="2" length="255" name="Краткое наименование Компании" shortname="Краткое наименование Компании" searchable="true" sortable="true" visible="true"/>
<fullName type="2" length="255" name="Полное наименование Компании" shortname="Полное наименование Компании" searchable="true" sortable="true" visible="true"/> <fullName type="2" length="255" name="Полное наименование Компании" shortname="Полное наименование Компании" searchable="true" sortable="true" visible="true"/>
<actions>
<delete name="Удаление участника" destination="">
<id type="1" name="Идентификатор записи" shortname="ID" link="company" linkCode="id" required="true"/>
</delete>
</actions>
</company> </company>
<companyInfo name="Профиль Компании" class="com.spicex.Static.Account." logUpdates = "true"> <companyInfo name="Профиль Компании" class="com.spicex.Static.Account." logUpdates = "true">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/>
@ -174,6 +199,28 @@
<residence type="12" name="Идентификатор кода страны" shortname="Идентификатор кода страны" searchable="true" sortable="true" visible="true" link="countryCode"/> <residence type="12" name="Идентификатор кода страны" shortname="Идентификатор кода страны" searchable="true" sortable="true" visible="true" link="countryCode"/>
<shortNameEng type="2" length="255" name="Краткое наименование Компании на английском" shortname="Краткое наименование Компании на английском" searchable="true" sortable="true" visible="true"/> <shortNameEng type="2" length="255" name="Краткое наименование Компании на английском" shortname="Краткое наименование Компании на английском" searchable="true" sortable="true" visible="true"/>
<fullNameEng type="2" length="255" name="Полное наименование Компании на английском" shortname="Полное наименование Компании на английском" searchable="true" sortable="true" visible="true"/> <fullNameEng type="2" length="255" name="Полное наименование Компании на английском" shortname="Полное наименование Компании на английском" searchable="true" sortable="true" visible="true"/>
<shortName type="2" length="255" name="Краткое наименование Компании" shortname="Краткое наименование Компании" searchable="true" sortable="true" visible="true"/>
<fullName type="2" length="255" name="Полное наименование Компании" shortname="Полное наименование Компании" searchable="true" sortable="true" visible="true"/>
<tradingCode type="2" length="255" name="Код участника торгов" shortname="Торговый код" searchable="true" sortable="true" visible="true"/>
<clearingCode type="2" length="255" name="Код участника клиринга" shortname="Клиринговый код" searchable="true" sortable="true" visible="true"/>
<actions>
<put name="Изменение профиля компании" destination="">
<id type="1" name="Идентификатор записи" shortname="ID" link="companyInfo" linkCode="id" required="true"/>
<corporationSoleType type="12" name="Идентификатор единоличного исполнительного органа" shortname="Единоличный исполнительный орган" link="corporationSoleType"/>
<countryCode type="12" name="Идентификатор кода страны" shortname="Юрисдикция" link="countryCode"/>
<description type="2" name="Описание" shortname="Описание Участника"/>
<professionalSign type="12" name="Признак проф. Участника" shortname="Признак проф. Участника" link="allowed"/>
<legalKind type="12" name="Идентификатор вида субъекта" shortname="Юр. лицо/Физ. Лицо" link="legalKind"/>
<organizationType type="12" name="Идентификатор типа организации" shortname="Тип организации" link="organizationType"/>
<residence type="12" name="Идентификатор кода страны" shortname="Резиденция" link="countryCode"/>
<shortNameEng type="2" length="255" name="Краткое наименование Компании на английском" shortname="Краткое наименование на английском"/>
<fullNameEng type="2" length="255" name="Полное наименование Компании на английском" shortname="Полное наименование на английском"/>
<shortName type="2" length="255" name="Краткое наименование Компании" shortname="Краткое наименование"/>
<fullName type="2" length="255" name="Полное наименование Компании" shortname="Полное наименование"/>
<tradingCode type="2" length="255" name="Код участника торгов" shortname="Торговый код"/>
<clearingCode type="2" length="255" name="Код участника клиринга" shortname="Клиринговый код"/>
</put>
</actions>
</companyInfo> </companyInfo>
<clearingMemberCategory name="Категории участника клиринга" class="com.spicex.Static.Account."> <clearingMemberCategory name="Категории участника клиринга" class="com.spicex.Static.Account.">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/>
@ -303,7 +350,7 @@
<countryCode type="12" name="Идентификатор кода страны" shortname="Страна" searchable="true" sortable="true" visible="true" link="countryCode"/> <countryCode type="12" name="Идентификатор кода страны" shortname="Страна" searchable="true" sortable="true" visible="true" link="countryCode"/>
<currencyCode type="12" name="Идентификатор кода валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode"/> <currencyCode type="12" name="Идентификатор кода валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode"/>
</currency> </currency>
<moneyMarketSecurity name="Инструменты Денежного рынка" class="ru.clearing.classes.StaticData.Misc.MoneyMarketSecurity" logUpdates = "true"> <moneyMarketSecurity name="Инструменты Денежного рынка" class="com.spicex.Static.company.Relation.Service" logUpdates = "true">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<securityId type="1" name="Идентификатор инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security"/> <securityId type="1" name="Идентификатор инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security"/>
<description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="false"/> <description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="false"/>
@ -359,7 +406,7 @@
<description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="true"/> <description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="true"/>
<exchangeId type="1" name="Идентификатор площадки" shortname="Идентификатор площадки" searchable="true" sortable="true" link="company"/> <exchangeId type="1" name="Идентификатор площадки" shortname="Идентификатор площадки" searchable="true" sortable="true" link="company"/>
<name type="2" length="255" name="Наименование" shortname="Наименование" searchable="true" sortable="true"/> <name type="2" length="255" name="Наименование" shortname="Наименование" searchable="true" sortable="true"/>
<marketCode type="2" length="255" name="Режим" shortname="Режим" searchable="true" sortable="true"/> <code type="12" name="Режим" shortname="Режим" searchable="true" sortable="true"/>
<settlementCurrency type="12" name="Валютный код расчетов" shortname="Валюта расчёта" searchable="true" sortable="true" visible="true" link="currency"/> <settlementCurrency type="12" name="Валютный код расчетов" shortname="Валюта расчёта" searchable="true" sortable="true" visible="true" link="currency"/>
<sector type="12" name="Идентификатор сектора" shortname="Сектор" searchable="true" sortable="true" visible="true" link="sector"/> <sector type="12" name="Идентификатор сектора" shortname="Сектор" searchable="true" sortable="true" visible="true" link="sector"/>
</market> </market>
@ -496,11 +543,13 @@
<accountId type="1" name="Идентификатор счета" shortname="Идентификатор счета" searchable="true" sortable="true" link="account"/> <accountId type="1" name="Идентификатор счета" shortname="Идентификатор счета" searchable="true" sortable="true" link="account"/>
<accountType type="1" name="Тип счета" shortname="Тип счета" searchable="true" sortable="true" link="account" linkCode="accountType"/> <accountType type="1" name="Тип счета" shortname="Тип счета" searchable="true" sortable="true" link="account" linkCode="accountType"/>
<account type="1" name="Счет" shortname="Счет" searchable="true" sortable="true" link="account" linkCode="account"/> <account type="1" name="Счет" shortname="Счет" searchable="true" sortable="true" link="account" linkCode="account"/>
<liabilitiesAmount type="11" name="Регистр «Обязательства по денежным средствам, сформированные по результатам собственных сделок Участника клиринга»" shortname="Сумма обязательств" searchable="true" sortable="true"/> <liabilitiesAmount type="11" name="Регистр «Обязательства по денежным средствам, сформированные по результатам собственных сделок Участника клиринга», исключая проценты" shortname="Сумма обязательств" searchable="true" sortable="true"/>
<claimsAmount type="11" name="Сумма требований" shortname="Сумма требований" searchable="true" sortable="true"/> <refundInterest type="11" name="Проценты к возврату" shortname="Проценты к возврату" searchable="true" sortable="true"/>
<accruedInterest type="11" name="Начисленные проценты" shortname="Начисленные проценты" searchable="true" sortable="true"/>
<claimsAmount type="11" name="Сумма требований, исключая проценты" shortname="Сумма требований" searchable="true" sortable="true"/>
<settlementDate type="6" name="Дата расчета" shortname="Дата расчета" searchable="true" sortable="true" visible="true"/> <settlementDate type="6" name="Дата расчета" shortname="Дата расчета" searchable="true" sortable="true" visible="true"/>
<tradingDate type="6" name="Дата торгов" shortname="Дата торгов" searchable="true" sortable="true" visible="true"/> <tradingDate type="6" name="Дата торгов" shortname="Дата торгов" searchable="true" sortable="true" visible="true"/>
<currencyCode type="12" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currency"/> <currency type="12" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode"/>
<tradingCode type="2" name="Торговый код Участника" shortname="Торговый код" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="tradingCode"/> <tradingCode type="2" name="Торговый код Участника" shortname="Торговый код" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="tradingCode"/>
<shortName type="2" name="Короткое наименование Участника" shortname="Участник" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="shortName"/> <shortName type="2" name="Короткое наименование Участника" shortname="Участник" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="shortName"/>
<fullName type="2" name="Полное наименование Участника" shortname="Наименование участника" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="fullName"/> <fullName type="2" name="Полное наименование Участника" shortname="Наименование участника" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="fullName"/>
@ -515,9 +564,11 @@
<account type="1" name="Счет" shortname="Счет" searchable="true" sortable="true" link="account" linkCode="account"/> <account type="1" name="Счет" shortname="Счет" searchable="true" sortable="true" link="account" linkCode="account"/>
<liabilitiesQuantity type="10" name="Сумма обязательств" shortname="Сумма обязательств" searchable="true" sortable="true"/> <liabilitiesQuantity type="10" name="Сумма обязательств" shortname="Сумма обязательств" searchable="true" sortable="true"/>
<claimsQuantity type="10" name="Сумма требований" shortname="Сумма требований" searchable="true" sortable="true"/> <claimsQuantity type="10" name="Сумма требований" shortname="Сумма требований" searchable="true" sortable="true"/>
<currency type="12" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode"/>
<settlementDate type="6" name="Дата расчета" shortname="Дата расчета" searchable="true" sortable="true" visible="true"/> <settlementDate type="6" name="Дата расчета" shortname="Дата расчета" searchable="true" sortable="true" visible="true"/>
<tradingDate type="6" name="Дата торгов" shortname="Дата торгов" searchable="true" sortable="true" visible="true"/> <tradingDate type="6" name="Дата торгов" shortname="Дата торгов" searchable="true" sortable="true" visible="true"/>
<refundDate type="6" name="Дата возврата" shortname="Дата возврата" searchable="true" sortable="true" visible="true"/> <refundDate type="6" name="Дата возврата" shortname="Дата возврата" searchable="true" sortable="true" visible="true"/>
<price type="10" name="Ставка по депозиту" shortname="Ставка,%" visible="true" searchable="true" sortable="true"/>
<securityId type="1" name="Инструмент" shortname="Инструмент" searchable="true" sortable="true" visible="true" link="security"/> <securityId type="1" name="Инструмент" shortname="Инструмент" searchable="true" sortable="true" visible="true" link="security"/>
<tradingCode type="2" name="Торговый код Участника" shortname="Торговый код" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="tradingCode"/> <tradingCode type="2" name="Торговый код Участника" shortname="Торговый код" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="tradingCode"/>
<shortName type="2" name="Короткое наименование Участника" shortname="Участник" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="shortName"/> <shortName type="2" name="Короткое наименование Участника" shortname="Участник" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="shortName"/>
@ -525,6 +576,11 @@
<comment type="2" name="Комментарий" shortname="Комментарий" searchable="true" sortable="true" visible="true" length="255"/> <comment type="2" name="Комментарий" shortname="Комментарий" searchable="true" sortable="true" visible="true" length="255"/>
<fullName type="2" name="Полное наименование Участника" shortname="Наименование участника" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="fullName"/> <fullName type="2" name="Полное наименование Участника" shortname="Наименование участника" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="fullName"/>
<parentId type="1" name="Идентификатор записи основного договора без разделения" shortname="Родительский договор" searchable="true" sortable="true"/> <parentId type="1" name="Идентификатор записи основного договора без разделения" shortname="Родительский договор" searchable="true" sortable="true"/>
<liabilitiesClaimsMoneyId type="1" name="Регистры денежных средств" shortname="Регистры денег" searchable="true" sortable="true" link="liabilitiesClaimsMoney"/>
<interestStatus type="1" name="Статус возврата процентов" shortname="Возврат процентов" searchable="true" sortable="true" link="interestStatus"/>
<clearingStatus type="1" name="Статус клиринга" shortname="Статус клиринга" searchable="true" sortable="true" link="clearingStatus"/>
<paymentId type="1" name="Платеж" shortname="Платеж" searchable="true" sortable="true"/>
<refundPaymentId type="1" name="Обратный платежа" shortname="Обратный платеж" searchable="true" sortable="true"/>
</liabilitiesClaimsAssets> </liabilitiesClaimsAssets>
<statement name="Денежные средства от расчетной организации" class="com.moex.platform.classes.TransactionData.Execution.LiabilitiesClaimsAssets" table="statement"> <statement name="Денежные средства от расчетной организации" class="com.moex.platform.classes.TransactionData.Execution.LiabilitiesClaimsAssets" table="statement">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
@ -585,6 +641,46 @@
<updatedAt type="5" name="Время изменения сделки" shortname="Время изменения" visible="false" searchable="true" sortable="true"/> <updatedAt type="5" name="Время изменения сделки" shortname="Время изменения" visible="false" searchable="true" sortable="true"/>
<tradingDate type="6" name="Дата торгов" shortname="Дата торгов" visible="false" searchable="true" sortable="true"/> <tradingDate type="6" name="Дата торгов" shortname="Дата торгов" visible="false" searchable="true" sortable="true"/>
</marketData> </marketData>
<chargeTariff name="Тарифы комиссий" logUpdates = "true">
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true" visible="true"/>
<market type="1" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/>
<clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
<chargeTypeId type="1" name="Тип комиссии" shortname="Тип комиссии" searchable="true" sortable="true" link="chargeType" visible="true"/>
<chargeRate type="10" name="Ставка комиссионного сбора" shortname="Ставка комиссионного сбора" searchable="true" sortable="true" visible="true"/>
<currency type="1" name="Валюта начисления комиссии" shortname="Валюта комиссии" searchable="true" sortable="true" link="currencyCode" visible="true"/>
<validFromDate type="6" name="Дата начала срока действия" shortname="Дата начала срока действия" searchable="true" sortable="true"/>
<validToDate type="6" name="Дата окончания срока действия" shortname="Дата окончания срока действия" searchable="true" sortable="true"/>
<createdAt type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
</chargeTariff>
<individualChargeTariff name="Индивидуальные тарифы комиссий для Участника" logUpdates = "true">
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true" visible="true"/>
<companyId type="1" name="Участник" shortname="Участник" searchable="true" sortable="true" link="company"/>
<market type="1" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/>
<clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
<chargeTypeId type="1" name="Тип комиссии" shortname="Тип комиссии" searchable="true" sortable="true" link="chargeType" visible="true"/>
<chargeRate type="10" name="Ставка комиссионного сбора" shortname="Ставка комиссионного сбора" searchable="true" sortable="true" visible="true"/>
<currency type="1" name="Валюта начисления комиссии" shortname="Валюта комиссии" searchable="true" sortable="true" link="currencyCode" visible="true"/>
<validFromDate type="6" name="Дата начала срока действия" shortname="Дата начала срока действия" searchable="true" sortable="true"/>
<validToDate type="6" name="Дата окончания срока действия" shortname="Дата окончания срока действия" searchable="true" sortable="true"/>
<createdAt type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
</individualChargeTariff>
<companyTariff name="Тарифы комиссий в разрезе Участника">
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true" visible="true"/>
<market type="1" name="Секция" shortname="Секция" searchable="true" sortable="true" link="market" visible="true"/>
<clearingMemberCategory type="12" name="Категория участника клиринга" shortname="Категория" searchable="true" sortable="true" visible="true" link="clearingCategory"/>
<fullName type="2" name="Полное наименование Участника" shortname="Наименование участника" searchable="true" sortable="true" visible="true" length="255" link="company" linkCode="fullName"/>
<contract type="2" name="Номер договора" shortname="Номер договора" searchable="true" sortable="true" visible="true" length="255"/>
<chargeTypeId type="1" name="Тип комиссии" shortname="Тип комиссии" searchable="true" sortable="true" link="chargeType" visible="true"/>
<chargeRate type="10" name="Ставка комиссионного сбора" shortname="Ставка комиссионного сбора" searchable="true" sortable="true" visible="true"/>
<currency type="1" name="Валюта начисления комиссии" shortname="Валюта комиссии" searchable="true" sortable="true" link="currencyCode" visible="true"/>
<validFromDate type="6" name="Дата начала срока действия" shortname="Дата начала срока действия" searchable="true" sortable="true"/>
<validToDate type="6" name="Дата окончания срока действия" shortname="Дата окончания срока действия" searchable="true" sortable="true"/>
<createdAt type="4" name="Создано" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt type="4" name="Изменено" shortname="Изменено" searchable="true" sortable="true"/>
<companyId type="1" name="Участник" shortname="Участник" searchable="true" sortable="true" link="company"/>
</companyTariff>
<sDf01 name="ДФ 02 - Направление уведомлений об операциях загрузки" class="com.spicex.Static."> <sDf01 name="ДФ 02 - Направление уведомлений об операциях загрузки" class="com.spicex.Static.">
<!-- todo что-то с названием таблицы и описанием - номер ДФ 02 не совпадает--> <!-- todo что-то с названием таблицы и описанием - номер ДФ 02 не совпадает-->
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
@ -714,17 +810,17 @@
</AccountUnion> </AccountUnion>
</views> </views>
<types> <types>
<identity id="1" name="Идентификатор" type="bigint"/> <identity id="1" name="Идентификатор" type="bigint" javatype="Long"/>
<string id="2" name="Строка" type="varchar"/> <string id="2" name="Строка" type="varchar" javatype="String"/>
<long id="3" name="Целый" type="bigint"/> <long id="3" name="Целый" type="bigint" javatype="Long"/>
<dateTime id="4" name="Дата и время" type="timestamp"/> <dateTime id="4" name="Дата и время" type="timestamp" javatype="Instant"/>
<time id="5" name="Время" type="time"/> <time id="5" name="Время" type="time" javatype="Instant"/>
<date id="6" name="Дата" type="date"/> <date id="6" name="Дата" type="date" javatype="Instant"/>
<array id="7" name="Массив" type="json"/> <array id="7" name="Массив" type="json" javatype="String"/>
<object id="8" name="Объект" type="jsonb"/> <object id="8" name="Объект" type="jsonb" javatype="String"/>
<boolean id="9" name="Булевый" type="boolean"/> <boolean id="9" name="Булевый" type="boolean" javatype="Boolean"/>
<double id="10" name="Число с точкой" type="numeric(72,18)"/> <double id="10" name="Число с точкой" type="numeric(72,18)" javatype="BigDecimal"/>
<amount id="11" name="Объем из числа с точкой" type="numeric(72,2)"/> <amount id="11" name="Объем из числа с точкой" type="numeric(72,2)" javatype="BigDecimal"/>
<code id="12" name="Код 4 символа" type="char(4)"/> <code id="12" name="Код 4 символа" type="char(4)" javatype="String"/>
</types> </types>
</meta> </meta>

View file

@ -0,0 +1,12 @@
package ru.clearing.platform.dictionary;
/**
* Справочник типов счетов
*
* Dictionary DB table: ACCOUNT_TYPE_DICTIONARY
**/
public class AccountTypeDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник типов лимитов
*
* Dictionary DB table: BALANCE_ACCOUNT_TYPE_DICTIONARY
**/
public class BalanceAccountTypeDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник категорий участника клиринга
*
* Dictionary DB table: CLEARING_CATEGORY_DICTIONARY
**/
public class ClearingCategoryDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,12 @@
//package ru.clearing.platform.dictionary;
//
//
///**
// * Справочник результатов клиринга
// *
// * Dictionary DB table: CLEARING_STATUS_DICTIONARY
// **/
//public class ClearingStatusDictionary extends AbstractDictionary {
// private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
//
//}

View file

@ -0,0 +1,12 @@
package ru.clearing.platform.dictionary;
/**
* Справочник кодов валют
*
* Dictionary DB table: CURRENCY_CODE_DICTIONARY
**/
public class CurrencyCodeDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
*
*
* Dictionary DB table: EXT_ERROR_DICTIONARY
**/
public class ExtErrorDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,12 @@
package ru.clearing.platform.dictionary;
/**
* Справочник значений направления денежного потока
*
* Dictionary DB table: IN_OUT_DIRECTION_DICTIONARY
**/
public class InOutDirectionDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,12 @@
package ru.clearing.platform.dictionary;
/**
* Справочник типов инструмента
*
* Dictionary DB table: INSTRUMENT_TYPE_DICTIONARY
**/
public class InstrumentTypeDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,12 @@
//package ru.clearing.platform.dictionary;
//
///**
// * Справочник статусов возваращения процентов
// *
// * Dictionary DB table: INTEREST_STATUS_DICTIONARY
// **/
//public class InterestStatusDictionary extends AbstractDictionary {
// private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
//
//
//}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник целей записей в журнале мониторинга и контроля
*
* Dictionary DB table: MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY
**/
public class ManagementJournalPurposeDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,12 @@
package ru.clearing.platform.dictionary;
/**
* Справочник статусов журнала мониторинга и контроля
*
* Dictionary DB table: MANAGEMENT_JOURNAL_STATUS_DICTIONARY
**/
public class ManagementJournalStatusDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник типов записей в журнале мониторинга и контроля
*
* Dictionary DB table: MANAGEMENT_JOURNAL_TYPE_DICTIONARY
**/
public class ManagementJournalTypeDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Направление заявки
*
* Dictionary DB table: MONEY_FLOW_SIDE_DICTIONARY
**/
public class MoneyFlowSideDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник статусов операций
*
* Dictionary DB table: OPERATION_STATUS_DICTIONARY
**/
public class OperationStatusDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник типов операций
*
* Dictionary DB table: OPERATION_TYPE_DICTIONARY
**/
public class OperationTypeDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Статус обработки
*
* Dictionary DB table: RESULT_STATUS_DICTIONARY
**/
public class ResultStatusDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник секторов
*
* Dictionary DB table: SECTOR_DICTIONARY
**/
public class SectorDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник услуги
*
* Dictionary DB table: SERVICE_DICTIONARY
**/
public class ServiceDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник продукта для услуги
*
* Dictionary DB table: SERVICE_PRODUCT_DICTIONARY
**/
public class ServiceProductDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,11 @@
package ru.clearing.platform.dictionary;
/**
* Справочник услуги
*
* Dictionary DB table: SERVICE_STATUS_DICTIONARY
**/
public class ServiceStatusDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -0,0 +1,12 @@
package ru.clearing.platform.dictionary;
/**
* Справочник типов поступлений/списаний от ПРЦ
*
* Dictionary DB table: STATEMENT_TYPE_DICTIONARY
**/
public class StatementTypeDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
}

View file

@ -1,7 +1,17 @@
package ru.spcex.clearing.imdg.base; package ru.spcex.clearing.imdg.base;
public interface AutoconfiguredMap { import com.hazelcast.core.MapLoader;
public interface AutoconfiguredMap<T> extends MapLoader<Long, T> {
/**
*
* @return IMDGDistributedNames.*
*/
String getMapName(); String getMapName();
/**
* Список индексируемых полей, для быстрого поиска
* @return
*/
String[] getIndexingField(); String[] getIndexingField();
} }

View file

@ -0,0 +1,18 @@
package ru.spcex.clearing.imdg.base;
import org.springframework.jdbc.core.JdbcTemplate;
import ru.clearing.platform.dictionary.Dictionary;
/**
* Store для автонастраиваемых map словарей
*/
public abstract class DictionaryTMapStore<T extends Dictionary> extends DictionaryMapStore<T> implements AutoconfiguredMap<T> {
protected DictionaryTMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String[] getIndexingField() {
return new String[]{"code"};
}
}

View file

@ -12,7 +12,7 @@ import java.util.*;
* MapStore для шаблонных бизнес-объектов * MapStore для шаблонных бизнес-объектов
* @Component * @Component
*/ */
public abstract class TemplateMapStore<T extends SpcexObjectBase> extends ObjectBaseMapStore<T> implements AutoconfiguredMap { public abstract class TemplateMapStore<T extends SpcexObjectBase> extends ObjectBaseMapStore<T> implements AutoconfiguredMap<T> {
protected final int validateSize = getFields().length; protected final int validateSize = getFields().length;

View file

@ -7,7 +7,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import ru.spcex.clearing.imdg.base.TemplateMapStore; import ru.spcex.clearing.imdg.base.AutoconfiguredMap;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.businessevent.CompanyUpdateMapStore; import ru.spcex.clearing.imdg.businessevent.CompanyUpdateMapStore;
import ru.spcex.clearing.imdg.businessobject.CompanyMapStore; import ru.spcex.clearing.imdg.businessobject.CompanyMapStore;
import ru.spcex.clearing.imdg.dictionary.*; import ru.spcex.clearing.imdg.dictionary.*;
@ -145,31 +146,39 @@ public class PoolMapConfigs {
// } // }
@Autowired @Autowired
private List<TemplateMapStore<?>> listOfAutopluginStores; private List<AutoconfiguredMap<?>> listOfAutopluginStores;
// @Qualifier("AutoconfiguredMapStore") // @Qualifier("AutoconfiguredMapStore")
public List<MapConfig> autoconfiguratorOfMapstorages() { public List<MapConfig> autoconfiguratorOfMapstorages() {
List<MapConfig> out = new ArrayList<>(); List<MapConfig> out = new ArrayList<>();
HashSet<String> existMapStores = new HashSet<>(); HashSet<String> existMapStores = new HashSet<>();
for (TemplateMapStore<?> mapStore : listOfAutopluginStores) { for (AutoconfiguredMap<?> mapStore : listOfAutopluginStores) {
log.debug("Link mapstore {} to map {}", mapStore.toString(), mapStore.getMapName()); try {
if (StringUtils.isEmpty(mapStore.getMapName())) { log.debug("Link mapstore {} to map {}", mapStore.toString(), mapStore.getMapName());
throw new IllegalArgumentException("MapStore " + mapStore + " has empty mapName"); if (StringUtils.isEmpty(mapStore.getMapName())) {
} throw new IllegalArgumentException("MapStore " + mapStore + " has empty mapName");
if (existMapStores.contains(mapStore.getMapName())) {
throw new IllegalArgumentException("MapStore " + mapStore + " has wrong mapName=\"" + mapStore.getMapName() + "\" is duplicated");
}
existMapStores.add(mapStore.getMapName()); // IMDGDistributedNames
MapConfig mapCfg = makeDefaultMapConfig(mapStore.getMapName(), mapStore);
if (mapStore.getIndexingField() != null && mapStore.getIndexingField().length > 0) {
if (log.isTraceEnabled()) {
log.trace("Create indexing filed on {}: {}", mapStore.getMapName(), Arrays.toString(mapStore.getIndexingField()));
} }
for (String indexName : mapStore.getIndexingField()) { if (existMapStores.contains(mapStore.getMapName())) {
mapCfg.addMapIndexConfig(makeMapIndexConfig(indexName)); throw new IllegalArgumentException("MapStore " + mapStore + " has wrong mapName=\"" + mapStore.getMapName() + "\" is duplicated");
} }
existMapStores.add(mapStore.getMapName()); // IMDGDistributedNames
MapConfig mapCfg = makeDefaultMapConfig(mapStore.getMapName(), mapStore);
if (mapStore.getIndexingField() != null && mapStore.getIndexingField().length > 0) {
if (log.isTraceEnabled()) {
log.trace("Create indexing filed on {}: {}", mapStore.getMapName(), Arrays.toString(mapStore.getIndexingField()));
}
for (String indexName : mapStore.getIndexingField()) {
mapCfg.addMapIndexConfig(makeMapIndexConfig(indexName));
}
}
if (mapStore instanceof DictionaryTMapStore) {
log.trace("Use near cache for {}", mapStore.getMapName());
mapCfg.setNearCacheConfig(makeDefaultNearCacheConfig());
}
out.add(mapCfg);
} catch (RuntimeException e) {
throw new RuntimeException("Can not configure MapStore " + mapStore.getMapName() + "(" + mapStore.toString() + "): " + e, e);
} }
out.add(mapCfg);
} }
log.debug("Configured {} mapStore's", out.size()); log.debug("Configured {} mapStore's", out.size());
return out; return out;

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.AccountTypeDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class AccountTypeDictionaryMapStore extends DictionaryTMapStore<AccountTypeDictionary> {
public AccountTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_AccountTypeDictionary;
}
@Override
public String getTableName() {
return "ACCOUNT_TYPE_DICTIONARY";
}
@Override
public AccountTypeDictionary getDictionaryObject() {
return new AccountTypeDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.BalanceAccountTypeDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class BalanceAccountTypeDictionaryMapStore extends DictionaryTMapStore<BalanceAccountTypeDictionary> {
public BalanceAccountTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_BalanceAccountTypeDictionary;
}
@Override
public String getTableName() {
return "BALANCE_ACCOUNT_TYPE_DICTIONARY";
}
@Override
public BalanceAccountTypeDictionary getDictionaryObject() {
return new BalanceAccountTypeDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ClearingCategoryDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ClearingCategoryDictionaryMapStore extends DictionaryTMapStore<ClearingCategoryDictionary> {
public ClearingCategoryDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ClearingCategoryDictionary;
}
@Override
public String getTableName() {
return "CLEARING_CATEGORY_DICTIONARY";
}
@Override
public ClearingCategoryDictionary getDictionaryObject() {
return new ClearingCategoryDictionary();
}
}

View file

@ -0,0 +1,31 @@
//package ru.spcex.clearing.imdg.dictionary;
//
//import org.springframework.jdbc.core.JdbcTemplate;
//import org.springframework.stereotype.Component;
//import ru.clearing.platform.dictionary.ClearingStatusDictionary;
//import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
//import ru.spcex.clearing.imdg.IMDGDistributedNames;
//
//@Component
//public class ClearingStatusDictionaryMapStore extends DictionaryTMapStore<ClearingStatusDictionary> {
//
// public ClearingStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) {
// super(jdbcTemplate);
// }
//
// @Override
// public String getMapName() {
// return IMDGDistributedNames.Map_ClearingStatusDictionary;
// }
//
// @Override
// public String getTableName() {
// return "CLEARING_STATUS_DICTIONARY";
// }
//
// @Override
// public ClearingStatusDictionary getDictionaryObject() {
// return new ClearingStatusDictionary();
// }
//
//}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.CurrencyCodeDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class CurrencyCodeDictionaryMapStore extends DictionaryTMapStore<CurrencyCodeDictionary> {
public CurrencyCodeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_CurrencyCodeDictionary;
}
@Override
public String getTableName() {
return "CURRENCY_CODE_DICTIONARY";
}
@Override
public CurrencyCodeDictionary getDictionaryObject() {
return new CurrencyCodeDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ExtErrorDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ExtErrorDictionaryMapStore extends DictionaryTMapStore<ExtErrorDictionary> {
public ExtErrorDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ExtErrorDictionary;
}
@Override
public String getTableName() {
return "EXT_ERROR_DICTIONARY";
}
@Override
public ExtErrorDictionary getDictionaryObject() {
return new ExtErrorDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.InOutDirectionDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class InOutDirectionDictionaryMapStore extends DictionaryTMapStore<InOutDirectionDictionary> {
public InOutDirectionDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_InOutDirectionDictionary;
}
@Override
public String getTableName() {
return "IN_OUT_DIRECTION_DICTIONARY";
}
@Override
public InOutDirectionDictionary getDictionaryObject() {
return new InOutDirectionDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.InstrumentTypeDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class InstrumentTypeDictionaryMapStore extends DictionaryTMapStore<InstrumentTypeDictionary> {
public InstrumentTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_InstrumentTypeDictionary;
}
@Override
public String getTableName() {
return "INSTRUMENT_TYPE_DICTIONARY";
}
@Override
public InstrumentTypeDictionary getDictionaryObject() {
return new InstrumentTypeDictionary();
}
}

View file

@ -0,0 +1,31 @@
//package ru.spcex.clearing.imdg.dictionary;
//
//import org.springframework.jdbc.core.JdbcTemplate;
//import org.springframework.stereotype.Component;
//import ru.clearing.platform.dictionary.InterestStatusDictionary;
//import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
//import ru.spcex.clearing.imdg.IMDGDistributedNames;
//
//@Component
//public class InterestStatusDictionaryMapStore extends DictionaryTMapStore<InterestStatusDictionary> {
//
// public InterestStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) {
// super(jdbcTemplate);
// }
//
// @Override
// public String getMapName() {
// return IMDGDistributedNames.Map_InterestStatusDictionary;
// }
//
// @Override
// public String getTableName() {
// return "INTEREST_STATUS_DICTIONARY";
// }
//
// @Override
// public InterestStatusDictionary getDictionaryObject() {
// return new InterestStatusDictionary();
// }
//
//}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ManagementJournalPurposeDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ManagementJournalPurposeDictionaryMapStore extends DictionaryTMapStore<ManagementJournalPurposeDictionary> {
public ManagementJournalPurposeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ManagementJournalPurposeDictionary;
}
@Override
public String getTableName() {
return "MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY";
}
@Override
public ManagementJournalPurposeDictionary getDictionaryObject() {
return new ManagementJournalPurposeDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ManagementJournalStatusDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ManagementJournalStatusDictionaryMapStore extends DictionaryTMapStore<ManagementJournalStatusDictionary> {
public ManagementJournalStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ManagementJournalStatusDictionary;
}
@Override
public String getTableName() {
return "MANAGEMENT_JOURNAL_STATUS_DICTIONARY";
}
@Override
public ManagementJournalStatusDictionary getDictionaryObject() {
return new ManagementJournalStatusDictionary();
}
}

View file

@ -0,0 +1,32 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ManagementJournalTypeDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ManagementJournalTypeDictionaryMapStore extends DictionaryTMapStore<ManagementJournalTypeDictionary> {
public ManagementJournalTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ManagementJournalTypeDictionary;
}
@Override
public String getTableName() {
return "MANAGEMENT_JOURNAL_TYPE_DICTIONARY";
}
@Override
public ManagementJournalTypeDictionary getDictionaryObject() {
return new ManagementJournalTypeDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.MoneyFlowSideDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class MoneyFlowSideDictionaryMapStore extends DictionaryTMapStore<MoneyFlowSideDictionary> {
public MoneyFlowSideDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_MoneyFlowSideDictionary;
}
@Override
public String getTableName() {
return "MONEY_FLOW_SIDE_DICTIONARY";
}
@Override
public MoneyFlowSideDictionary getDictionaryObject() {
return new MoneyFlowSideDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.OperationStatusDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class OperationStatusDictionaryMapStore extends DictionaryTMapStore<OperationStatusDictionary> {
public OperationStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_OperationStatusDictionary;
}
@Override
public String getTableName() {
return "OPERATION_STATUS_DICTIONARY";
}
@Override
public OperationStatusDictionary getDictionaryObject() {
return new OperationStatusDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.OperationTypeDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class OperationTypeDictionaryMapStore extends DictionaryTMapStore<OperationTypeDictionary> {
public OperationTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_OperationTypeDictionary;
}
@Override
public String getTableName() {
return "OPERATION_TYPE_DICTIONARY";
}
@Override
public OperationTypeDictionary getDictionaryObject() {
return new OperationTypeDictionary();
}
}

View file

@ -0,0 +1,32 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ResultStatusDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ResultStatusDictionaryMapStore extends DictionaryTMapStore<ResultStatusDictionary> {
public ResultStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ResultStatusDictionary;
}
@Override
public String getTableName() {
return "RESULT_STATUS_DICTIONARY";
}
@Override
public ResultStatusDictionary getDictionaryObject() {
return new ResultStatusDictionary();
}
}

View file

@ -0,0 +1,32 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.SectorDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class SectorDictionaryMapStore extends DictionaryTMapStore<SectorDictionary> {
public SectorDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_SectorDictionary;
}
@Override
public String getTableName() {
return "SECTOR_DICTIONARY";
}
@Override
public SectorDictionary getDictionaryObject() {
return new SectorDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ServiceDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ServiceDictionaryMapStore extends DictionaryTMapStore<ServiceDictionary> {
public ServiceDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ServiceDictionary;
}
@Override
public String getTableName() {
return "SERVICE_DICTIONARY";
}
@Override
public ServiceDictionary getDictionaryObject() {
return new ServiceDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ServiceProductDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ServiceProductDictionaryMapStore extends DictionaryTMapStore<ServiceProductDictionary> {
public ServiceProductDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ServiceProductDictionary;
}
@Override
public String getTableName() {
return "SERVICE_PRODUCT_DICTIONARY";
}
@Override
public ServiceProductDictionary getDictionaryObject() {
return new ServiceProductDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.ServiceStatusDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class ServiceStatusDictionaryMapStore extends DictionaryTMapStore<ServiceStatusDictionary> {
public ServiceStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_ServiceStatusDictionary;
}
@Override
public String getTableName() {
return "SERVICE_STATUS_DICTIONARY";
}
@Override
public ServiceStatusDictionary getDictionaryObject() {
return new ServiceStatusDictionary();
}
}

View file

@ -0,0 +1,31 @@
package ru.spcex.clearing.imdg.dictionary;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import ru.clearing.platform.dictionary.StatementTypeDictionary;
import ru.spcex.clearing.imdg.base.DictionaryTMapStore;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@Component
public class StatementTypeDictionaryMapStore extends DictionaryTMapStore<StatementTypeDictionary> {
public StatementTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@Override
public String getMapName() {
return IMDGDistributedNames.Map_StatementTypeDictionary;
}
@Override
public String getTableName() {
return "STATEMENT_TYPE_DICTIONARY";
}
@Override
public StatementTypeDictionary getDictionaryObject() {
return new StatementTypeDictionary();
}
}

View file

@ -9,7 +9,7 @@ public class DbUtilsHelperTest {
String sql = DbUtilsHelper.createUpdateOrInsert("ENERGY", String sql = DbUtilsHelper.createUpdateOrInsert("ENERGY",
new String[]{"id", "power", "circle", "of", "fantasy", "prime"}, "id"); new String[]{"id", "power", "circle", "of", "fantasy", "prime"}, "id");
assertEquals(sql, assertEquals(sql,
"INSERT INTO ENERGY (\"ID\", \"POWER\", \"CIRCLE\", \"OF\", \"FANTASY\", \"PRIME\") values (?, ?, ?, ?, ?, ?) ON CONFLICT (ID) DO UPDATE SET \"POWER\"=EXCLUDED.\"POWER\", \"CIRCLE\"=EXCLUDED.\"CIRCLE\", \"OF\"=EXCLUDED.\"OF\", \"FANTASY\"=EXCLUDED.\"FANTASY\", \"PRIME\"=EXCLUDED.\"PRIME\"" "INSERT INTO ENERGY (ID, POWER, CIRCLE, OF, FANTASY, PRIME) values (?, ?, ?, ?, ?, ?) ON CONFLICT (ID) DO UPDATE SET POWER=EXCLUDED.POWER, CIRCLE=EXCLUDED.CIRCLE, OF=EXCLUDED.OF, FANTASY=EXCLUDED.FANTASY, PRIME=EXCLUDED.PRIME"
); );
} }
} }

View file

@ -11,12 +11,13 @@ public final class IMDGDistributedNames {
public static final String Map_CompanyUpdate = "Map_CompanyUpdate"; public static final String Map_CompanyUpdate = "Map_CompanyUpdate";
public static final String Map_CompanyRoleSet = "Map_CompanyRoleSet"; public static final String Map_CompanyRoleSet = "Map_CompanyRoleSet";
public static final String Map_CompanySymbols = "Map_CompanySymbols"; public static final String Map_CompanySymbols = "Map_CompanySymbols";
// public static final String Map_CompanyInfo = "Map_CompanyInfo"; интегрировано в Map_Company // public static final String Map_CompanyInfo = "Map_CompanyInfo"; интегрировано в Map_Company
public static final String Map_Contact = "Map_Contact"; public static final String Map_Contact = "Map_Contact";
public static final String Map_ProfileDocument = "Map_ProfileDocument"; public static final String Map_ProfileDocument = "Map_ProfileDocument";
// public static final String Map_InterestStatusDictionary = "Map_InterestStatusDictionary"; future
public static final String Map_AllowedDictionary = "Map_AllowedDictionary"; public static final String Map_AllowedDictionary = "Map_AllowedDictionary";
public static final String Map_ClearingMemberCategoryDictionary = "Map_ClearingMemberCategoryDictionary"; // public static final String Map_ClearingMemberCategoryDictionary = "Map_ClearingMemberCategoryDictionary"; future
public static final String Map_CompanyRoleDictionary = "Map_CompanyRoleDictionary"; public static final String Map_CompanyRoleDictionary = "Map_CompanyRoleDictionary";
public static final String Map_CompanySymbolDictionary = "Map_CompanySymbolDictionary"; public static final String Map_CompanySymbolDictionary = "Map_CompanySymbolDictionary";
public static final String Map_ContactTypeDictionary = "Map_ContactTypeDictionary"; public static final String Map_ContactTypeDictionary = "Map_ContactTypeDictionary";
@ -26,6 +27,26 @@ public final class IMDGDistributedNames {
public static final String Map_LegalKindDictionary = "Map_LegalKindDictionary"; public static final String Map_LegalKindDictionary = "Map_LegalKindDictionary";
public static final String Map_OrganizationTypeDictionary = "Map_OrganizationTypeDictionary"; public static final String Map_OrganizationTypeDictionary = "Map_OrganizationTypeDictionary";
public static final String Map_WorkflowStatusDictionary = "Map_WorkflowStatusDictionary"; public static final String Map_WorkflowStatusDictionary = "Map_WorkflowStatusDictionary";
public static final String Map_AccountTypeDictionary = "Map_AccountTypeDictionary";
public static final String Map_BalanceAccountTypeDictionary = "Map_BalanceAccountTypeDictionary";
public static final String Map_ClearingCategoryDictionary = "Map_ClearingCategoryDictionary";
public static final String Map_ClearingStatusDictionary = "Map_ClearingStatusDictionary";
public static final String Map_CurrencyCodeDictionary = "Map_CurrencyCodeDictionary";
public static final String Map_ExtErrorDictionary = "Map_ExtErrorDictionary";
public static final String Map_InOutDirectionDictionary = "Map_InOutDirectionDictionary";
public static final String Map_InstrumentTypeDictionary = "Map_InstrumentTypeDictionary";
public static final String Map_ManagementJournalPurposeDictionary = "Map_ManagementJournalPurposeDictionary";
public static final String Map_ManagementJournalStatusDictionary = "Map_ManagementJournalStatusDictionary";
public static final String Map_ManagementJournalTypeDictionary = "Map_ManagementJournalTypeDictionary";
public static final String Map_MoneyFlowSideDictionary = "Map_MoneyFlowSideDictionary";
public static final String Map_OperationStatusDictionary = "Map_OperationStatusDictionary";
public static final String Map_OperationTypeDictionary = "Map_OperationTypeDictionary";
public static final String Map_ResultStatusDictionary = "Map_ResultStatusDictionary";
public static final String Map_SectorDictionary = "Map_SectorDictionary";
public static final String Map_ServiceDictionary = "Map_ServiceDictionary";
public static final String Map_ServiceProductDictionary = "Map_ServiceProductDictionary";
public static final String Map_ServiceStatusDictionary = "Map_ServiceStatusDictionary";
public static final String Map_StatementTypeDictionary = "Map_StatementTypeDictionary";
public static final String Map_KeyRate = "Map_KeyRate"; public static final String Map_KeyRate = "Map_KeyRate";
public static final String Map_MoneyMarketSecurity = "Map_MoneyMarketSecurity"; public static final String Map_MoneyMarketSecurity = "Map_MoneyMarketSecurity";