From 43ae4b26d8bde7d3a0ae9fc6251d25e02b483d35 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Thu, 20 Apr 2023 16:30:44 +0300 Subject: [PATCH] backend-api http://jira.mfd.msk:8088/browse/CLS-279 --- .../execution/ExecutionFondController.java | 44 + .../src/main/resources/meta/meta.xml | 2 +- .../queue/AbstractControllerTest.java | 2 + .../ExecutionFondControllerTest.java | 57 + .../backend-api/src/test/resources/meta.json | 1033 ++++++++++++----- 5 files changed, 826 insertions(+), 312 deletions(-) create mode 100644 clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondController.java create mode 100644 clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondControllerTest.java diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondController.java new file mode 100644 index 000000000..afce0778a --- /dev/null +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondController.java @@ -0,0 +1,44 @@ +package ru.spcex.clearing.backendapi.controller.queue.execution; + +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import ru.clearing.classes.statics.data.execution.ExecutionFond; +import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; +import ru.spcex.clearing.backendapi.controller.response.entity.CommonGetAllResponse; +import ru.spcex.clearing.backendapi.service.IOperator; +import ru.spcex.clearing.backendapi.service.IStateLoader; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.util.Collection; +import java.util.Map; + +@Controller +@RequestMapping("/execution-fonds") +public class ExecutionFondController extends AbstractQueueController { + private final IStateLoader stateLoader; + + @Autowired + public ExecutionFondController(IOperator operator, IStateLoader stateLoader) { + super(operator); + this.stateLoader = stateLoader; + } + + @ApiOperation(value = "get all ExecutionFond.") + @ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)}) + @RequestMapping(method = RequestMethod.GET) + @ResponseBody + public CommonGetAllResponse getAll() { + Collection> all = stateLoader.getAllMetaTransform( + IMDGDistributedNames.Map_ExecutionFond, + ExecutionFond.class); + CommonGetAllResponse response = new CommonGetAllResponse(); + response.fromEntity(all); + return response; + } +} diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.xml b/clearing-parent/backend-api/src/main/resources/meta/meta.xml index 1c4e806ee..59bb00d71 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.xml @@ -1281,7 +1281,7 @@ - + diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java index 0ab17daac..588d6812c 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/AbstractControllerTest.java @@ -31,6 +31,7 @@ import ru.spcex.clearing.backendapi.controller.config.*; import ru.spcex.clearing.backendapi.controller.queue.account.*; import ru.spcex.clearing.backendapi.controller.queue.company.*; import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionDepositController; +import ru.spcex.clearing.backendapi.controller.queue.execution.ExecutionFondController; import ru.spcex.clearing.backendapi.controller.queue.journal.InDocumentJournalController; import ru.spcex.clearing.backendapi.controller.queue.journal.ManagementJournalController; import ru.spcex.clearing.backendapi.controller.queue.journal.OutDocumentJournalController; @@ -101,6 +102,7 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi RelationController.class, //execution ExecutionDepositController.class, + ExecutionFondController.class, //journal InDocumentJournalController.class, ManagementJournalController.class, diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondControllerTest.java new file mode 100644 index 000000000..9bb6803ad --- /dev/null +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/execution/ExecutionFondControllerTest.java @@ -0,0 +1,57 @@ +package ru.spcex.clearing.backendapi.controller.queue.execution; + +import org.junit.jupiter.api.Test; +import ru.clearing.classes.statics.data.execution.ExecutionFond; +import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +class ExecutionFondControllerTest extends AbstractControllerTest { + private static final String REST_URL = "/execution-fonds/"; + + /** + * {@link ExecutionFondController#getAll()}
+ * Тест проверяет получение запроса по REST API.
+ * Входной запрос /execution-fonds/
+ * Ответ CommonGetAllResponse
+ */ + @Test + void getAll() throws Exception { + //ARRANGE + ExecutionFond executionFond = new ExecutionFond(); + executionFond.setId(currentId.get()); + executionFond.setExchangeExecutionId(currentId.get()); + executionFond.setExchangeExecutionTime(Instant.now()); + executionFond.setTradingDate(LocalDate.now()); + executionFond.setTradingClearingRegistryId(currentId.get()); + executionFond.setMarket("mark"); + executionFond.setPrice(new BigDecimal(0)); + executionFond.setLots(new BigDecimal(0)); + executionFond.setQuantity(new BigDecimal(0)); + executionFond.setInterestAmount(new BigDecimal(0)); + executionFond.setSide("sid"); + executionFond.setSettlementCurrency("set"); + executionFond.setCompanyId(currentId.get()); + executionFond.setDuration(currentId.get()); + executionFond.setSecurityFullName("sec"); + executionFond.setSecuritySymbol("sec"); + executionFond.setSecurityId(currentId.get()); + executionFond.setCounterPartyId(currentId.get()); + executionFond.setCoverageStatus("cov"); + executionFond.setSessionId(currentId.get()); + executionFond.setClearingDate(LocalDate.now()); + executionFond.setExchangeOrderId(123L); + executionFond.setSettlementAmount(new BigDecimal(10)); + executionFond.setComment("comment - hello world fond"); + executionFond.setClientCodeId(444L); + executionFond.setSettlementCode("settl1"); + executionFond.setSettlementDate(LocalDate.now()); + executionFond.setExchangeExecutionMicroseconds(Instant.now()); + + //ACT and ASSERT + checkGettingAllFromRestApi(IMDGDistributedNames.Map_ExecutionFond, executionFond, REST_URL); + } +} \ No newline at end of file diff --git a/clearing-parent/backend-api/src/test/resources/meta.json b/clearing-parent/backend-api/src/test/resources/meta.json index ae0b87f27..fc28c822d 100644 --- a/clearing-parent/backend-api/src/test/resources/meta.json +++ b/clearing-parent/backend-api/src/test/resources/meta.json @@ -1,6 +1,6 @@ { - "version": "3.5.0.18", + "version": "3.5.0.19", "enums": { @@ -612,7 +612,7 @@ "name": "Справочник символов регистров - назначения", - "class": "com.spicex.dictionary.RegistryDesignationDictionary", + "class": "ru.clearing.platform.dictionary.RegistryDesignationDictionary", "table": "registry_designation_dictionary", @@ -635,7 +635,7 @@ "name": "Справочник символов регистров - инструменты", - "class": "com.spicex.dictionary.RegistryInstrumentTypeDictionary", + "class": "ru.clearing.platform.dictionary.RegistryInstrumentTypeDictionary", "table": "registry_instrument_type_dictionary", @@ -658,7 +658,7 @@ "name": "Справочник символов регистров - источники средств", - "class": "com.spicex.dictionary.RegistryCapacityDictionary", + "class": "ru.clearing.platform.dictionary.RegistryCapacityDictionary", "table": "registry_capacity_dictionary", @@ -681,7 +681,7 @@ "name": "Справочник символов регистров - части регистров", - "class": "com.spicex.dictionary.RegistryUnitDictionary", + "class": "ru.clearing.platform.dictionary.RegistryUnitDictionary", "table": "registry_unit_dictionary", @@ -704,7 +704,7 @@ "name": "Справочник кодов регистров", - "class": "com.spicex.dictionary.RegistryCodeDictionary", + "class": "ru.clearing.platform.dictionary.RegistryCodeDictionary", "table": "registry_code_dictionary", @@ -727,7 +727,7 @@ "name": "Справочник статусов регистров", - "class": "com.spicex.dictionary.RegistryStatusDictionary", + "class": "ru.clearing.platform.dictionary.RegistryStatusDictionary", "table": "registry_status_dictionary", @@ -929,6 +929,75 @@ } ] } + , + "sessionStatus": { + + "name": "Справочник статусов клиринговых сессий", + + "class": "ru.clearing.platform.dictionary.SessionStatusDictionary", + + "table": "session_status_dictionary", + + "fields": [ + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 + } + ] + } + , + "sessionType": { + + "name": "Справочник типов клиринговых сессий", + + "class": "ru.clearing.platform.dictionary.SessionTypeDictionary", + + "table": "session_type_dictionary", + + "fields": [ + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 + } + ] + } + , + "moneyFlowSide": { + + "name": "Справочник направлений", + + "class": "ru.clearing.platform.dictionary.MoneyFlowSideDictionary", + + "table": "money_flow_side_dictionary", + + "fields": [ + {"code": "id", + "name": "Идентификатор","shortname": "ID","type": 1 + } + , + {"code": "code", + "name": "Код","shortname": "Код","type": 12 + } + , + {"code": "name", + "name": "Значение","shortname": "Значение","type": 2,"length": 255 + } + ] + } , "chargeDirection": { @@ -1044,29 +1113,6 @@ } ] } - , - "moneyFlowSide": { - - "name": "Направление заявки", - - "class": "ru.clearing.platform.dictionary.MoneyFlowSideDictionary", - - "table": "money_flow_side_dictionary", - - "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Значение","shortname": "Значение","type": 2,"length": 255 - } - ] - } , "inOutDirection": { @@ -1297,29 +1343,6 @@ } ] } - , - "sessionStatus": { - - "name": "Справочник статусов клиринговой сессии", - - "class": "ru.clearing.platform.dictionary.SessionStatusDictionary", - - "table": "session_status_dictionary", - - "fields": [ - {"code": "id", - "name": "Идентификатор","shortname": "ID","type": 1 - } - , - {"code": "code", - "name": "Код","shortname": "Код","type": 12 - } - , - {"code": "name", - "name": "Наименование","shortname": "Наименование","type": 2,"length": 50 - } - ] - } , "objectType": { @@ -3392,6 +3415,8 @@ "name": "Блокировка кода клиента", + "confirmation": "companyId,code", + "fields": [ {"code": "id", "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true @@ -3458,7 +3483,62 @@ "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true } ] - + ,"actions":[ + {"method":"post", + + "name": "Добавление ТКР", + + "confirmation": "companyId,moneyAccountId,depoAccountId,status", + + "fields": [ + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "moneyAccountId", + "type": 1,"name": "Номер денежного счета","shortname": "Денежный счет","link": "account","linkCode": "account","required": true + } + , + {"code": "depoAccountId", + "type": 1,"name": "Номер депозитарного счета","shortname": "Депозитарный счет","link": "account","linkCode": "account" + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] + } + , + {"method":"put", + + "name": "Изменение ТКР", + + "confirmation": "companyId,moneyAccountId,depoAccountId,status", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "workflowStatus" + } + ] + } + , + {"method":"delete", + + "name": "Блокировка ТКР", + + "confirmation": "companyId,code", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "clientCode","linkCode": "id","required": true + } + ] + } + ] } , "registry": { @@ -3710,7 +3790,74 @@ "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true } ] - + ,"actions":[ + {"method":"post", + + "name": "Добавление корреспондентского счета", + + "confirmation": "companyId,account,status", + + "fields": [ + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName","required": true + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет","required": true + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus" + } + , + {"code": "accountType", + "type": 12,"name": "Наименование типа счета","shortname": "Тип","link": "accountType","required": true,"visible": false + } + ] + } + , + {"method":"put", + + "name": "Изменение корреспондентского счета", + + "confirmation": "companyId,account,status", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true + } + , + {"code": "companyId", + "type": 1,"name": "Наименование компании","shortname": "Компания","link": "company","linkCode": "shortName" + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Номер счета","shortname": "Счет" + } + , + {"code": "status", + "type": 12,"name": "Наименование статуса","shortname": "Статус","link": "serviceStatus" + } + , + {"code": "accountType", + "type": 12,"name": "Наименование типа счета","shortname": "Тип","link": "accountType","required": true,"visible": false + } + ] + } + , + {"method":"delete", + + "name": "Блокировка корреспондентского счета", + + "confirmation": "companyId,account", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","link": "account","linkCode": "id","required": true + } + ] + } + ] } , "relation": { @@ -4981,6 +5128,526 @@ "fields": [] } ] + } + , + "session": { + + "name": "Клиринговая сессия", + + "destination": "sessions", + + "class": "ru.clearing.classes.statics.data.misc.Session", + + "logUpdates": "true", + + "table": "session", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"visible": true + } + , + {"code": "sessionStatus", + "type": 12,"dbname": "Код статуса клиринговой сессии","name": "Статус клиринговой сессии","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "sessionStatus" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор инициатора торгов","name": "Наименование инициатора торгов","shortname": "Инициатор","visible": false,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор инструмента","name": "Наименование инструмента","shortname": "Инструмент","searchable": false,"sortable": true,"visible": true,"link": "security","linkCode": "shortName" + } + , + {"code": "userId", + "type": 1,"dbname": "Идентификатор пользователя","name": "Наименование пользователя","shortname": "Пользователь","searchable": true,"sortable": true,"visible": true,"link": "userCls" + } + , + {"code": "section", + "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" + } + , + {"code": "sessionType", + "type": 12,"dbname": "Код типа клиринговой сессии","name": "Тип клиринговой сессии","shortname": "Тип","searchable": true,"sortable": true,"visible": true,"link": "sessionType" + } + ] + + } + , + "sTrades": { + + "name": "Сделки из Торговой системы", + + "class": "ru.clearing.classes.statics.data.misc.STrades", + + "table": "s_trades", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true + } + , + {"code": "tradeNum", + "type": 1,"name": "Номер сделки","shortname": "Номер сделки","searchable": true,"sortable": true + } + , + {"code": "operation", + "type": 2,"length": 40,"name": "Направленность сделки (BUY или SELL)","shortname": "Направленность сделки","searchable": true,"sortable": true + } + , + {"code": "classCode", + "type": 2,"length": 255,"name": "Код класса инструментов","shortname": "Код класса инструментов","searchable": true,"sortable": true + } + , + {"code": "tradeDate", + "type": 6,"name": "Дата торговой сессии","shortname": "Дата торговой сессии","searchable": true,"sortable": true + } + , + {"code": "secCode", + "type": 2,"length": 255,"name": "Код инструмента","shortname": "Код инструмента","searchable": true,"sortable": true + } + , + {"code": "accruedint", + "type": 10,"name": "Накопленный купонный доход","shortname": "НКД","searchable": true,"sortable": true + } + , + {"code": "accruedint2", + "type": 10,"name": "Доход(%) на дату выкупа","shortname": "Доход(%) на дату выкупа","searchable": true,"sortable": true + } + , + {"code": "lowerDiscount", + "type": 10,"name": "Нижний дисконт(%)","shortname": "Нижний дисконт(%)","searchable": true,"sortable": true + } + , + {"code": "orderNum", + "type": 1,"name": "Номер заявки","shortname": "Номер заявки","searchable": true,"sortable": true + } + , + {"code": "price", + "type": 10,"name": "Цена сделки","shortname": "Цена сделки","searchable": true,"sortable": true + } + , + {"code": "price2", + "type": 10,"name": "Цена выкупа второй части РЕПО","shortname": "Цена выкупа второй части РЕПО","searchable": true,"sortable": true + } + , + {"code": "repoRate", + "type": 10,"name": "Ставка РЕПО (%)","shortname": "Ставка РЕПО (%)","searchable": true,"sortable": true + } + , + {"code": "repoValue", + "type": 10,"name": "Сумма РЕПО","shortname": "Сумма РЕПО","searchable": true,"sortable": true + } + , + {"code": "repo2Value", + "type": 10,"name": "Объем сделки выкупа РЕПО, рублей","shortname": "Объем сделки выкупа РЕПО, рублей","searchable": true,"sortable": true + } + , + {"code": "startDiscount", + "type": 10,"name": "Начальный дисконт(%)","shortname": "Начальный дисконт(%)","searchable": true,"sortable": true + } + , + {"code": "tsCommission", + "type": 10,"name": "Комиссия торговой системы","shortname": "Комиссия торговой системы","searchable": true,"sortable": true + } + , + {"code": "upperDiscount", + "type": 10,"name": "Верхний дисконт(%)","shortname": "Верхний дисконт(%)","searchable": true,"sortable": true + } + , + {"code": "value", + "type": 10,"name": "Объем сделки без учета комиссионного сбора биржи и % дохода","shortname": "Объем сделки без сбора","searchable": true,"sortable": true + } + , + {"code": "yield", + "type": 10,"name": "Доходность","shortname": "Доходность","searchable": true,"sortable": true + } + , + {"code": "qty", + "type": 10,"name": "Количество бумаг в лотах","shortname": "Количество в лотах","searchable": true,"sortable": true + } + , + {"code": "qtyPcs", + "type": 10,"name": "Количество бумаг в штуках","shortname": "Количество в штуках","searchable": true,"sortable": true + } + , + {"code": "tradeDateTime", + "type": 4,"name": "Дата и время сделки","shortname": "Дата и время сделки","searchable": true,"sortable": true + } + , + {"code": "repoTerm", + "type": 3,"name": "Срок РЕПО","shortname": "Срок РЕПО","searchable": true,"sortable": true + } + , + {"code": "clearingCommission", + "type": 10,"name": "Клиринговая комиссия. Параметр сделок на МБ","shortname": "Клиринговая комиссия","searchable": true,"sortable": true + } + , + {"code": "exchangeCommission", + "type": 10,"name": "Комиссия Фондовой биржи. Параметр сделок на МБ","shortname": "Комиссия Фондовой биржи","searchable": true,"sortable": true + } + , + {"code": "techCenterCommission", + "type": 10,"name": "Комиссия Технического центра. Параметр сделок на МБ","shortname": "Комиссия Технического центра","searchable": true,"sortable": true + } + , + {"code": "account", + "type": 2,"length": 50,"name": "Торговый счет","shortname": "Торговый счет","searchable": true,"sortable": true + } + , + {"code": "brokerRef", + "type": 2,"length": 34,"name": "Комментарий, обычно: код клиента>/номер поручения>","shortname": "Комментарий","searchable": true,"sortable": true + } + , + {"code": "clientCode", + "type": 2,"length": 255,"name": "Код участника торгов = Код участника клиринга = Код участника расчетов","shortname": "Код клиента","searchable": true,"sortable": true + } + , + {"code": "settleCode", + "type": 2,"length": 50,"name": "Код расчетов по сделке","shortname": "Код расчетов","searchable": true,"sortable": true + } + , + {"code": "userId", + "type": 2,"length": 32,"name": "Идентификатор трейдера","shortname": "Идентификатор трейдера","searchable": true,"sortable": true + } + , + {"code": "exchangeCode", + "type": 2,"length": 64,"name": "Идентификатор биржи","shortname": "Идентификатор биржи","searchable": true,"sortable": true + } + , + {"code": "firmId", + "type": 2,"length": 255,"name": "Трейдер","shortname": "Трейдер","searchable": true,"sortable": true + } + , + {"code": "firmName", + "type": 2,"length": 255,"name": "Организация трейдера","shortname": "Организация трейдера","searchable": true,"sortable": true + } + , + {"code": "cpFirmId", + "type": 2,"length": 255,"name": "Партнер","shortname": "Партнер","searchable": true,"sortable": true + } + , + {"code": "cpFirmName", + "type": 2,"length": 255,"name": "Организация партнера","shortname": "Организация партнера","searchable": true,"sortable": true + } + , + {"code": "className", + "type": 2,"length": 255,"name": "Класс инструмента","shortname": "Класс инструмента","searchable": true,"sortable": true + } + , + {"code": "secName", + "type": 2,"length": 255,"name": "Полное наименование инструмента","shortname": "Полное наименование инструмента","searchable": true,"sortable": true + } + , + {"code": "settleDate", + "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","searchable": true,"sortable": true + } + , + {"code": "settleCurrency", + "type": 2,"length": 4,"name": "Валюта расчетов","shortname": "Валюта расчетов","searchable": true,"sortable": true + } + , + {"code": "tradeCurrency", + "type": 2,"length": 4,"name": "Валюта сделки","shortname": "Валюта сделки","searchable": true,"sortable": true + } + , + {"code": "tradeTimeMs", + "type": 3,"name": "Микросекунды времени сделки","shortname": "Микросекунды времени сделки","searchable": true,"sortable": true + } + , + {"code": "bankAccId", + "type": 2,"length": 12,"name": "Идентификатор расчетного счета/кода в клиринговой организации","shortname": "Код позиции","searchable": true,"sortable": true + } + , + {"code": "section", + "type": 12,"dbname": "Код наименования секции","name": "Наименование секции","shortname": "Секция","searchable": true,"sortable": true,"visible": true,"link": "section" + } + ] + + } + , + "executionDeposit": { + + "name": "Сделки", + + "destination": "execution-deposits", + + "class": "ru.clearing.classes.statics.data.execution.ExecutionDeposit", + + "logUpdates": "true", + + "table": "execution_deposit", + + "fields": [ + {"code": "exchangeExecutionId", + "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionTime", + "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "tradingDate", + "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry" + } + , + {"code": "market", + "type": 12,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkCode": "name" + } + , + {"code": "price", + "type": 10,"name": "Ставка по депозиту","shortname": "Ставка, %","visible": true,"searchable": true,"sortable": true + } + , + {"code": "lots", + "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 11,"name": "Количество штук","shortname": "Штуки","visible": false,"searchable": true,"sortable": true + } + , + {"code": "firstLegAmount", + "type": 11,"name": "Объем сделки","shortname": "Объем","visible": true,"searchable": true,"sortable": true + } + , + {"code": "secondLegAmount", + "type": 11,"name": "Объем возврата","shortname": "Объем возврата","visible": false,"searchable": true,"sortable": true + } + , + {"code": "interestAmount", + "type": 11,"name": "Объем процентов","shortname": "Проценты","visible": false,"searchable": true,"sortable": true + } + , + {"code": "side", + "type": 12,"dbname": "Код направления сделки","name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "moneyFlowSide" + } + , + {"code": "settlementCurrency", + "type": 12,"dbname": "Код валюты расчетов по инструменту","name": "Валюта расчетов по инструменту","shortname": "Валюта","visible": true,"searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "duration", + "type": 1,"name": "Срок, дней","shortname": "Срок","visible": true,"searchable": true,"sortable": true + } + , + {"code": "firstLegSettlementDate", + "type": 6,"name": "Дата размещения","shortname": "Дата размещения","visible": true,"searchable": true,"sortable": true + } + , + {"code": "secondLegSettlementDate", + "type": 6,"name": "Дата возврата","shortname": "Дата возврата","visible": true,"searchable": true,"sortable": true + } + , + {"code": "firstLegSettlementCode", + "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true + } + , + {"code": "secondLegSettlementCode", + "type": 2,"length": 12,"name": "Код расчетов при возврате","shortname": "Код расчетов","visible": false,"searchable": true,"sortable": true,"ignore": true + } + , + {"code": "securityFullName", + "type": 2,"length": 255,"name": "Наименование инструмента","shortname": "Инструмент","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "moneyMarketSecurity","linkCode": "securitySymbol","ignore": true + } + , + {"code": "contract", + "type": 2,"name": "Продукт","shortname": "Продукт","searchable": true,"sortable": true,"length": 255,"visible": true + } + , + {"code": "counterPartyId", + "type": 1,"dbname": "Идентификатор компании-партнера, с которой заключена сделка","name": "Наименование компании-партнера, с которой заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company" + } + , + {"code": "coverageStatus", + "type": 12,"dbname": "Код статуса достаточности обеспечения","name": "Cтатус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" + } + , + {"code": "sessionId", + "type": 1,"name": "Сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + , + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true + } + ] + + } + , + "executionFond": { + + "name": "Сделки на Фондовой секции", + + "destination": "execution-fonds", + + "class": "ru.clearing.classes.statics.data.execution.ExecutionFond", + + "logUpdates": "true", + + "table": "execution_fond", + + "fields": [ + {"code": "id", + "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true + } + , + {"code": "createdAt", + "field": "created","type": 4,"webtype": "5","dbname": "Дата-время создания записи","name": "Время создания записи","shortname": "Создано","visible": false,"searchable": true,"sortable": true + } + , + {"code": "updatedAt", + "field": "updated","type": 4,"webtype": "5","dbname": "Дата-время изменения записи","name": "Время изменения записи","shortname": "Изменено","visible": false,"searchable": true,"sortable": true + } + , + {"code": "clearingDate", + "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionId", + "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "side", + "type": 12,"dbname": "Код направления сделки","name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "moneyFlowSide" + } + , + {"code": "market", + "type": 12,"dbname": "Код секции финансового инструмента","name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkCode": "name" + } + , + {"code": "tradingDate", + "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securitySymbol", + "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true + } + , + {"code": "securityId", + "type": 1,"dbname": "Идентификатор финансового инструмента","name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "security","linkCode": "securitySymbol","ignore": true + } + , + {"code": "interestAmount", + "type": 11,"name": "Объем процентов","shortname": "Проценты","visible": false,"searchable": true,"sortable": true + } + , + {"code": "exchangeOrderId", + "type": 1,"name": "Идентификационный номер заявки в Торговой системе","shortname": "Номер заявки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "price", + "type": 10,"name": "Ставка по депозиту","shortname": "Ставка, %","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementAmount", + "type": 11,"name": "Объем сделки","shortname": "Объем","visible": true,"searchable": true,"sortable": true + } + , + {"code": "lots", + "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true + } + , + {"code": "quantity", + "type": 11,"name": "Количество штук","shortname": "Штуки","visible": false,"searchable": true,"sortable": true + } + , + {"code": "exchangeExecutionTime", + "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "duration", + "type": 1,"name": "Срок, дней","shortname": "Срок","visible": true,"searchable": true,"sortable": true + } + , + {"code": "tradingClearingRegistryId", + "type": 1,"dbname": "Идентификатор торгово-клирингового регистра","name": "Торгово-клиринговый регистр","shortname": "ТКР","visible": true,"searchable": true,"sortable": true,"link": "tradingClearingRegistry" + } + , + {"code": "comment", + "type": 2,"name": "Комментарий","shortname": "Комментарий","searchable": true,"sortable": true,"length": 255 + } + , + {"code": "clientCodeId", + "type": 1,"dbname": "Идентификатор кода клиента","name": "Код клиента","shortname": "Клиент","searchable": true,"sortable": true,"visible": true + } + , + {"code": "settlementCode", + "type": 2,"length": 12,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true + } + , + {"code": "companyId", + "type": 1,"dbname": "Идентификатор компании","name": "Наименование компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" + } + , + {"code": "counterPartyId", + "type": 1,"dbname": "Идентификатор компании-партнера, с которой заключена сделка","name": "Наименование компании-партнера, с которой заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company" + } + , + {"code": "securityFullName", + "type": 2,"length": 255,"name": "Наименование инструмента","shortname": "Инструмент","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementDate", + "type": 6,"name": "Дата расчетов","shortname": "Дата расчетов","visible": true,"searchable": true,"sortable": true + } + , + {"code": "settlementCurrency", + "type": 12,"dbname": "Код валюты расчетов по инструменту","name": "Валюта расчетов по инструменту","shortname": "Валюта","visible": true,"searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" + } + , + {"code": "exchangeExecutionMicroseconds", + "type": 4,"name": "Микросекунды заключения сделки в Торговой системе","shortname": "Микросекунды заключения сделки","visible": true,"searchable": true,"sortable": true + } + , + {"code": "coverageStatus", + "type": 12,"dbname": "Код статуса достаточности обеспечения","name": "Cтатус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" + } + , + {"code": "sessionId", + "type": 1,"dbname": "Идентификатор сессии","name": "Сессия","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "session" + } + ] + } , "clearmemberRegister": { @@ -5520,136 +6187,6 @@ } ] - } - , - "executionDeposit": { - - "name": "Сделки", - - "destination": "execution-deposits", - - "class": "ru.clearing.classes.statics.data.execution.ExecutionDeposit", - - "table": "execution_deposit", - - "fields": [ - {"code": "exchangeExecutionId", - "type": 1,"name": "Идентификационный номер сделки в Торговой системе","shortname": "Номер сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "exchangeExecutionTime", - "type": 4,"name": "Время заключения сделки в Торговой системе","shortname": "Время заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "tradingDate", - "type": 6,"name": "Дата заключения сделки","shortname": "Дата заключения сделки","visible": true,"searchable": true,"sortable": true - } - , - {"code": "accountId", - "type": 1,"name": "Торговый счет","shortname": "Счет","visible": true,"searchable": true,"sortable": true,"link": "account","linkCode": "account" - } - , - {"code": "market", - "type": 12,"name": "Секция финансового инструмента","shortname": "Секция","visible": true,"searchable": true,"sortable": true,"link": "market","linkCode": "name" - } - , - {"code": "price", - "type": 10,"name": "Ставка по депозиту","shortname": "Ставка, %","visible": true,"searchable": true,"sortable": true - } - , - {"code": "lots", - "type": 11,"name": "Количество лотов","shortname": "Лоты","visible": true,"searchable": true,"sortable": true - } - , - {"code": "quantity", - "type": 11,"name": "Количество штук","shortname": "Штуки","visible": false,"searchable": true,"sortable": true - } - , - {"code": "firstLegAmount", - "type": 11,"name": "Объем сделки","shortname": "Объем","visible": true,"searchable": true,"sortable": true - } - , - {"code": "secondLegAmount", - "type": 11,"name": "Объем возврата","shortname": "Объем возврата","visible": false,"searchable": true,"sortable": true - } - , - {"code": "interestAmount", - "type": 11,"name": "Объем процентов","shortname": "Проценты","visible": false,"searchable": true,"sortable": true - } - , - {"code": "side", - "type": 12,"name": "Направление сделки","shortname": "Направление","visible": true,"searchable": true,"sortable": true,"link": "moneyFlowSide" - } - , - {"code": "settlementCurrency", - "type": 12,"name": "Валюта расчетов по инструменту","shortname": "Валюта","visible": true,"searchable": true,"sortable": true,"link": "currencyCode","linkCode": "code" - } - , - {"code": "companyId", - "type": 1,"name": "Название компании","shortname": "Компания","visible": true,"searchable": true,"sortable": true,"link": "company","linkCode": "shortName" - } - , - {"code": "duration", - "type": 1,"name": "Срок, дней","shortname": "Срок","visible": true,"searchable": true,"sortable": true - } - , - {"code": "firstLegSettlementDate", - "type": 6,"name": "Дата размещения","shortname": "Дата размещения","visible": true,"searchable": true,"sortable": true - } - , - {"code": "secondLegSettlementDate", - "type": 6,"name": "Дата возврата","shortname": "Дата возврата","visible": true,"searchable": true,"sortable": true - } - , - {"code": "firstLegSettlementCode", - "type": 6,"name": "Код расчетов при размещении","shortname": "Код расчетов при размещении","visible": false,"searchable": true,"sortable": true,"ignore": true - } - , - {"code": "secondLegSettlementCode", - "type": 6,"name": "Код расчетов при возврате","shortname": "Код расчетов","visible": false,"searchable": true,"sortable": true,"ignore": true - } - , - {"code": "securityFullName", - "type": 2,"length": 255,"name": "Наименование инструмента","shortname": "Инструмент","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securitySymbol", - "type": 2,"length": 255,"name": "Код инструмента в Торговой Системе","shortname": "Код инструмента","visible": true,"searchable": true,"sortable": true - } - , - {"code": "securityId", - "type": 1,"name": "Финансовый инструмент","shortname": "Код биржевого инструмента / товара","searchable": true,"sortable": true,"link": "moneyMarketSecurity","linkCode": "securitySymbol","ignore": true - } - , - {"code": "counterPartyId", - "type": 1,"name": "Имя компании-партнера, с которым заключена сделка","shortname": "Партнер","visible": false,"searchable": true,"sortable": true,"link": "company" - } - , - {"code": "coverageStatus", - "type": 12,"name": "Cтатус достаточности обеспечения","shortname": "Обеспеченность","searchable": true,"sortable": true,"link": "allowed" - } - , - {"code": "sessionId", - "type": 1,"name": "Наименование сессии","shortname": "Сессия","visible": true,"searchable": true,"sortable": true,"link": "moneyMarketSession" - } - , - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","visible": false,"searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 5,"name": "Время регистрации сделки","shortname": "Время сделки","visible": false,"searchable": true,"sortable": true - } - , - {"code": "updatedAt", - "field": "updated","type": 5,"name": "Время изменения сделки","shortname": "Время изменения","visible": false,"searchable": true,"sortable": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата клиринга","shortname": "Дата клиринга","visible": false,"searchable": true,"sortable": true - } - ] - } , "dealRegister": { @@ -8364,98 +8901,6 @@ } ] - } - , - "s_trade": { - - "name": "Сделки из Торговой системы", - - "class": "ru.clearing.classes.statics.data.misc.STrade", - - "table": "s_trade", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "trade_num", - "type": 1,"name": "Номер сделки","shortname": "Номер сделки","searchable": true,"sortable": true - } - , - {"code": "sec_code", - "type": 2,"length": 255,"name": "Код ценной бумаги","shortname": "Код ценной бумаги","searchable": true,"sortable": true - } - , - {"code": "trade_date_time", - "type": 4,"name": "Дата-время сделки","shortname": "Дата-время сделки","searchable": true,"sortable": true - } - , - {"code": "settle_date", - "type": 6,"name": "Плановая дата исполнения сделки","shortname": "Плановая дата исполнения сделки","searchable": true,"sortable": true - } - , - {"code": "price", - "type": 10,"name": "Цена сделки","shortname": "Цена сделки","searchable": true,"sortable": true - } - , - {"code": "value", - "type": 11,"name": "Сумма сделки","shortname": "Сумма сделки","searchable": true,"sortable": true - } - , - {"code": "qty", - "type": 11,"name": "Количество лотов по сделке","shortname": "Количество лотов по сделке","searchable": true,"sortable": true - } - , - {"code": "accruedint", - "type": 10,"name": "НКД за 1 ценную бумагу","shortname": "НКД за 1 ценную бумагу","searchable": true,"sortable": true - } - , - {"code": "firm_id", - "type": 2,"length": 255,"name": "ID клиента в КС","shortname": "ID клиента в КС","searchable": true,"sortable": true - } - , - {"code": "client_code", - "type": 2,"length": 255,"name": "Код участника торгов = Код участника клиринга = Код участника расчетов","shortname": "Участник","searchable": true,"sortable": true - } - , - {"code": "exchange_commission", - "type": 11,"name": "Комиссия по сделке","shortname": "Комиссия","searchable": true,"sortable": true - } - , - {"code": "class_code", - "type": 2,"length": 255,"name": "Код класса сделки из новой ТС","shortname": "Код класса сделки","searchable": true,"sortable": true - } - , - {"code": "operation", - "type": 2,"length": 255,"name": "Тип плеча (Купля/Продажа)","shortname": "Тип плеча","searchable": true,"sortable": true - } - , - {"code": "issue_account", - "type": 2,"length": 50,"name": "Счет для учета ценной бумаги","shortname": "Счет для учета ценной бумаги","searchable": true,"sortable": true - } - , - {"code": "money_account", - "type": 2,"length": 50,"name": "Счет для учета денежных средств","shortname": "Счет для учета денежных средств","searchable": true,"sortable": true - } - , - {"code": "trade_type", - "type": 2,"length": 50,"name": "Первичное размещение/торги","shortname": "Первичное размещение/торги","searchable": true,"sortable": true - } - , - {"code": "days_to_mat_date", - "type": 1,"name": "Количество дней до погашения","shortname": "Количество дней до погашения","searchable": true,"sortable": true - } - , - {"code": "collateral", - "type": 2,"length": 50,"name": "Признак залога (не используется)","shortname": "Признак залога (не используется)","searchable": true,"sortable": true - } - , - {"code": "settle_code", - "type": 2,"length": 50,"name": "Код периода сделки из новой ТС","shortname": "Код периода сделки из новой ТС","searchable": true,"sortable": true - } - ] - } , "notification": { @@ -8585,40 +9030,6 @@ } ] - } - , - "session": { - - "name": "Клиринговая сессия", - - "class": "ru.clearing.classes.statics.data.misc.Session", - - "logUpdates": "true", - - "table": "session", - - "fields": [ - {"code": "id", - "type": 1,"name": "Идентификатор записи","shortname": "ID","searchable": true,"sortable": true - } - , - {"code": "createdAt", - "field": "created","type": 4,"name": "Дата и время создания записи","shortname": "Создано","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "updatedAt", - "field": "updated","type": 4,"name": "Дата и время изменения записи","shortname": "Изменено","searchable": true,"sortable": true,"ignore": true - } - , - {"code": "clearingDate", - "type": 6,"name": "Дата","shortname": "Дата","searchable": true,"sortable": true,"visible": true - } - , - {"code": "sessionStatus", - "type": 12,"name": "Статус клиринговой сессии","shortname": "Статус","searchable": true,"sortable": true,"visible": true,"link": "sessionStatus" - } - ] - } , "moneyMarketSession": {