Compare commits

...
Sign in to create a new pull request.

76 commits

Author SHA1 Message Date
AKurakin
634e6200f9 http://jira.mfd.msk:8088/browse/CLS-613 DDL classes версии 3.1 исправление и добавил fileName в SDF 2024-03-15 17:14:09 +03:00
AKurakin
a804a64078 http://jira.mfd.msk:8088/browse/CLS-613 DDL classes версии 3.1, классы 2024-03-15 14:57:30 +03:00
AKurakin
3ab04ca9e8 http://jira.mfd.msk:8088/browse/CLS-613 DDL версии 3.11 вариант 2 2024-03-15 14:57:00 +03:00
AKurakin
481a24be77 registry-service http://jira.mfd.msk:8088/browse/CLS-653 2024-03-04 15:57:01 +03:00
AKurakin
c705b4e27c registry-service http://jira.mfd.msk:8088/browse/CLS-653 improvement MoneyBalanceRegisterService 2024-03-04 13:03:51 +03:00
etreschenkov
42c75db19e up pom version 2024-02-27 16:43:34 +03:00
etreschenkov
7942939aee up pom version 2024-02-27 16:40:18 +03:00
ialbert
afc6983537 http://jira.mfd.msk:8088/browse/CLS-652 2024-02-27 12:49:00 +03:00
AKurakin
619b7d8767 extdb-importer http://jira.mfd.msk:8088/browse/CLS-641 ограничение по дате в SQL 2024-02-13 17:50:07 +03:00
AKurakin
686b15318d backend-api http://jira.mfd.msk:8088/browse/CLS-645 meta 2024-02-13 11:00:36 +03:00
AKurakin
98a77dc53e z-distr добавил db-scripts в сборку дистрибутива 2024-02-12 16:15:24 +03:00
AKurakin
499b196183 backend-api http://jira.mfd.msk:8088/browse/CLS-650 meta 2024-02-12 13:48:30 +03:00
AKurakin
bc5377a752 imdg http://jira.mfd.msk:8088/browse/CLS-649 2024-02-12 13:43:57 +03:00
AKurakin
50962c34b5 imdg CLS-639 2024-02-12 13:43:27 +03:00
AKurakin
0815f66ee7 clearing-service http://jira.mfd.msk:8088/browse/CLS-647 добавил логи 2024-02-12 12:57:29 +03:00
AKurakin
96a0ef78aa backend-api CLS-641 http://jira.mfd.msk:8088/browse/CLS-650 http://jira.mfd.msk:8088/browse/CLS-651 meta 2024-02-12 11:32:15 +03:00
AKurakin
b722a9b90e extdb-importer http://jira.mfd.msk:8088/browse/CLS-641 поправил опечатку 2024-02-09 19:36:49 +03:00
ialbert
4d7a2ebbf7 http://jira.mfd.msk:8088/browse/CLS-643 2024-02-09 18:23:49 +03:00
ialbert
960e4ffab0 http://jira.mfd.msk:8088/browse/CLS-644 2024-02-09 18:23:49 +03:00
ialbert
f64910154c http://jira.mfd.msk:8088/browse/CLS-647 2024-02-09 18:23:49 +03:00
ialbert
5d40c9db34 http://jira.mfd.msk:8088/browse/CLS-643 2024-02-09 18:23:49 +03:00
ialbert
f92941a2fc http://jira.mfd.msk:8088/browse/CLS-640 2024-02-09 18:23:49 +03:00
AKurakin
d06a0efeec extdb-importer http://jira.mfd.msk:8088/browse/CLS-641 поправил опечатку 2024-02-09 13:52:47 +03:00
AKurakin
9e5d54b130 extdb-importer http://jira.mfd.msk:8088/browse/CLS-641 2024-02-09 12:53:38 +03:00
AKurakin
8ee172b075 backend-api classes http://jira.mfd.msk:8088/browse/CLS-639 поправил created/updated 2024-02-09 11:44:30 +03:00
AKurakin
1f2f70d301 extdb-importer http://jira.mfd.msk:8088/browse/CLS-641 2024-02-09 11:37:44 +03:00
AKurakin
f033ea8244 db-scripts добавлена новая CURRENCY 2024-02-08 17:26:48 +03:00
AKurakin
233b301c8f z-distr убрал copy_modules_to_single_dir.cmd 2024-02-08 16:45:10 +03:00
AKurakin
5eff6962fe backend-api http://jira.mfd.msk:8088/browse/CLS-648 2024-02-08 14:14:07 +03:00
AKurakin
4a4c4f94db backend-api http://jira.mfd.msk:8088/browse/CLS-645 meta GALB новый паарметр fromTime 2024-02-08 13:41:38 +03:00
AKurakin
c2bd914e79 backend-api scheduler-service meta GALB новый паарметр fromTime 2024-02-08 13:35:03 +03:00
AKurakin
1e6eb8fd00 backend-api classes db-scripts http://jira.mfd.msk:8088/browse/CLS-639 DDL sCrossRate 2024-02-08 11:28:32 +03:00
AKurakin
57855bd8b5 registry-service ExecutionRegisterReport правки + новое поле 2024-02-06 12:43:19 +03:00
AKurakin
c8f65428ff db-scripts DATA вынесение DATA_REGISTER_CODE 2024-02-01 18:21:04 +03:00
AKurakin
159231763d registry-service LiabilitiesRegistryReport добавил поле в отчёт 2024-02-01 18:20:16 +03:00
AKurakin
43f534e02b registry-service DepoBalanceRegisterReportBuilder поправил опечатку 2024-02-01 15:31:16 +03:00
AKurakin
603bec95b0 registry-service http://jira.mfd.msk:8088/browse/CLS-638 LiabilitiesRegisterService добавлен мэппинг SessionType 2024-01-31 16:59:05 +03:00
AKurakin
1e1840028a registry-service http://jira.mfd.msk:8088/browse/CLS-638 LiabilitiesRegisterService поправил тест 2024-01-31 10:53:45 +03:00
AKurakin
24c203a83f registry-service http://jira.mfd.msk:8088/browse/CLS-638 LiabilitiesRegisterService теперь только в файл, backend-api meta после CLS-635 удалили лишнее - вернул 2024-01-30 18:42:50 +03:00
ialbert
d4285494af Merge branch '10_01_2024_hotfix' into dev 2024-01-30 17:54:10 +03:00
ialbert
624f0dfd29 sessionId for executions 2024-01-30 17:52:54 +03:00
ialbert
35151a172f SDF06/SDF10 timeouts
This reverts commit fd900e27
2024-01-29 14:01:48 +03:00
AKurakin
58f78c39b4 reports-service оправил выборку ExecutionDeposit и ExecutionFond 2024-01-29 12:22:53 +03:00
AKurakin
2c3a08232b Merge branch 'logger_appender' into dev 2024-01-24 13:57:14 +03:00
AKurakin
d5da4b3c1e backend-api http://jira.mfd.msk:8088/browse/CLS-635 meta 3.9.0.72 2024-01-24 13:38:46 +03:00
AKurakin
ad0d807b2c registry-service http://jira.mfd.msk:8088/browse/CLS-634 2024-01-24 13:16:56 +03:00
AKurakin
aefd907ec7 Merge branch 'dev' into logger_appender 2024-01-19 15:54:22 +03:00
AKurakin
2572e7ea26 поправил опциональность опциональной настройки clearing-service.session-stage.inspection-gateway-timeout (bug fix KafkaConfig 0fd9208e41) 2024-01-19 15:53:39 +03:00
AKurakin
b19bc3b426 logback.xml новый appender: logstash-logback-encoder 2024-01-19 12:44:28 +03:00
ialbert
6a20c2faed Merge branch '10_01_2024_hotfix' into dev 2024-01-17 13:22:40 +03:00
ialbert
efce62e518 Merge branch '10_01_2024_hotfix' into dev 2024-01-12 21:22:02 +03:00
ialbert
11fb7509f4 SDF57 cs_blocked to gateway DM_V 2024-01-12 21:21:30 +03:00
akulikov
960e8b2c7e registry-service: fix date/time 2024-01-12 18:36:39 +03:00
akulikov
460642c98c registry-service: remove auto column size 2024-01-12 18:02:30 +03:00
ialbert
e605897cc1 Merge branch '10_01_2024_hotfix' into dev 2024-01-12 11:39:27 +03:00
ialbert
4992cc4bad http://jira.mfd.msk:8088/browse/CLS-311 2024-01-11 15:49:23 +03:00
ialbert
7e40208ce7 http://jira.mfd.msk:8088/browse/CLS-311 2024-01-11 15:49:22 +03:00
ialbert
a7c791e61a SDF06 DM*T.status condition OK/MNG => PROC/MNG 2024-01-11 15:49:22 +03:00
akulikov
cb49f07b10 registry-service: fix report name, fix npe 2024-01-09 16:01:18 +03:00
akulikov
157658962a registry-service: CSV reports -> XLSX reports, rename reports 2024-01-09 15:38:58 +03:00
akulikov
b9b50ba957 http://jira.mfd.msk:8088/browse/CLS-608 fix 2023-12-29 17:44:20 +03:00
akulikov
ce85bbe8be http://jira.mfd.msk:8088/browse/CLS-608 fix 2023-12-29 17:25:15 +03:00
akulikov
8d8322e009 http://jira.mfd.msk:8088/browse/CLS-608 fix 2023-12-29 16:56:09 +03:00
akulikov
227e76a5ce http://jira.mfd.msk:8088/browse/CLS-608 executionRegisterReport 2023-12-29 15:49:28 +03:00
akulikov
ed3c08cdeb http://jira.mfd.msk:8088/browse/CLS-608 fixes 2023-12-29 14:47:13 +03:00
akulikov
256dfafce3 http://jira.mfd.msk:8088/browse/CLS-608 fix money/depo balance register, money/depo payment instruction report added 2023-12-29 14:08:48 +03:00
akulikov
256f88a5c5 http://jira.mfd.msk:8088/browse/CLS-608 2023-12-29 13:15:18 +03:00
akulikov
9b81ee6b35 http://jira.mfd.msk:8088/browse/CLS-610 2023-12-29 11:40:11 +03:00
akulikov
fd2ba48189 http://jira.mfd.msk:8088/browse/CLS-608 Money/DepoBalanceRegisterReport 2023-12-29 10:45:23 +03:00
AKurakin
0f65c05f08 http://jira.mfd.msk:8088/browse/CLS-607 поправил комментарии 2023-12-28 18:01:00 +03:00
akulikov
2cbb8a39ef http://jira.mfd.msk:8088/browse/CLS-609 2023-12-28 17:46:09 +03:00
akulikov
be58666afc remove validation role for reports-service 2023-12-28 13:59:55 +03:00
ialbert
da8adbd052 http://jira.mfd.msk:8088/browse/CLS-607 2023-12-27 12:02:56 +03:00
ialbert
fd900e27b6 http://jira.mfd.msk:8088/browse/CLS-606 2023-12-27 11:32:21 +03:00
AKurakin
97b8a4fd78 http://jira.mfd.msk:8088/browse/CLS-604 скрипт market.sql (добавил автогенерацию) 2023-12-22 13:39:42 +03:00
AKurakin
32c7d50444 http://jira.mfd.msk:8088/browse/CLS-604 скрипт для загрузки режимов market.sql 2023-12-20 15:32:49 +03:00
241 changed files with 19086 additions and 1494 deletions

View file

@ -5,7 +5,7 @@
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -48,6 +48,12 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<!-- TEST -->
<dependency>
<groupId>ru.spcex.clearing</groupId>

View file

@ -1,38 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="./log" />
<property name="FILE_NAME" value="account-service" />
<property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n</Pattern>
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/account-service.log</file>
<!-- first FILE TEXT appender -->
<appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n</Pattern>
<Pattern>${FILE_LOG_PATTERN}</Pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>
./logs/account-service.%i.log
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
</appender>
<!-- second FILE JSON appender -->
<appender name="JSON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-json.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-json.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender>
<root level="warn">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<root level="info">
<!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger>
</configuration>

View file

@ -11,7 +11,7 @@
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
@ -61,6 +61,17 @@
<groupId>ru.spcex.platform</groupId>
<artifactId>platform-enum</artifactId>
</dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- TEST -->
<dependency>
<groupId>org.springframework</groupId>
@ -208,6 +219,19 @@
</fileMapper>
</fileMappers>
</transformationSet>
<transformationSet>
<dir>src/main/resources/meta</dir>
<includes>
<include>market.xml</include>
</includes>
<stylesheet>src/main/resources/meta/xsl/data.xsl</stylesheet>
<fileMappers>
<fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper">
<targetExtension>market.sql</targetExtension>
</fileMapper>
</fileMappers>
</transformationSet>
</transformationSets>
</configuration>
</execution>

View file

@ -0,0 +1,43 @@
package ru.spcex.clearing.backendapi.controller.queue.misc;
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.misc.SCrossRate;
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("/cross-rate")
public class SCrossRateController extends AbstractQueueController {
private final IStateLoader stateLoader;
@Autowired
public SCrossRateController(IOperator operator, IStateLoader stateLoader) {
super(operator);
this.stateLoader = stateLoader;
}
@ApiOperation(value = "get all cross-rate's.")
@ApiResponses(value = {@ApiResponse(code = 200, message = "OK", response = CommonGetAllResponse.class)})
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public CommonGetAllResponse getAll() {
Collection<Map<String, Object>> all = stateLoader.getAllMetaTransform(
IMDGDistributedNames.Map_SCrossRate, SCrossRate.class);
CommonGetAllResponse response = new CommonGetAllResponse();
response.fromEntity(all);
return response;
}
}

View file

@ -104,7 +104,7 @@ public class LauncherController extends AbstractQueueController {
if (taskEnum == null) {
throw new NotFound404Exception("task dictionary element with code '" + launcherNew.getTask() + "'");
}
if (!IEnumKey.contains(taskEnum.getCode(), Task.startOfClearing, Task.dbfExport_OUTV)) {
if (!IEnumKey.contains(taskEnum.getCode(), Task.startOfClearing, Task.dbfExport_OUTV, Task.getAllBalance)) {
log.warn(String.format("Task %s not support request with body", taskEnum.getCode()));
} // else В мете эти модели с дополнительными параметрами (OUTV).
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

View file

@ -31,6 +31,9 @@ public class ClientCodeNewAction implements IAction<ClientCodeNewRequest> {
@ApiModelProperty(value = "Номер депозитарного счета", example = "1234")
@JsonProperty
private Long depoAccountId;
@ApiModelProperty(value = "Список валютных счетов", example = "[1234,5678]")
@JsonProperty
private List<Long> currencyAccountList;
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
@JsonProperty
private String status;
@ -43,6 +46,7 @@ public class ClientCodeNewAction implements IAction<ClientCodeNewRequest> {
req.setTradingClearingRegistryId(this.tradingClearingRegistryId);
req.setMoneyAccountId(this.moneyAccountId);
req.setDepoAccountId(this.depoAccountId);
req.setCurrencyAccountList(this.currencyAccountList);
req.setStatus(this.status);
return req;
}
@ -93,6 +97,14 @@ public class ClientCodeNewAction implements IAction<ClientCodeNewRequest> {
this.depoAccountId = depoAccountId;
}
public List<Long> getCurrencyAccountList() {
return currencyAccountList;
}
public void setCurrencyAccountList(List<Long> currencyAccountList) {
this.currencyAccountList = currencyAccountList;
}
public String getStatus() {
return status;
}

View file

@ -32,6 +32,9 @@ public class ClientCodeUpdateAction implements IAction<ClientCodeUpdateRequest>
@ApiModelProperty(value = "Номер депозитарного счета", example = "1234")
@JsonProperty
private Long depoAccountId;
@ApiModelProperty(value = "Список валютных счетов", example = "[1234,5678]")
@JsonProperty
private List<Long> currencyAccountList;
@ApiModelProperty(value = "Наименование статуса", example = "ACTV")
@JsonProperty
private String status;
@ -46,6 +49,7 @@ public class ClientCodeUpdateAction implements IAction<ClientCodeUpdateRequest>
req.setTradingClearingRegistryId(this.tradingClearingRegistryId);
req.setMoneyAccountId(this.moneyAccountId);
req.setDepoAccountId(this.depoAccountId);
req.setCurrencyAccountList(this.currencyAccountList);
req.setStatus(this.status);
return req;
}
@ -104,6 +108,14 @@ public class ClientCodeUpdateAction implements IAction<ClientCodeUpdateRequest>
this.depoAccountId = depoAccountId;
}
public List<Long> getCurrencyAccountList() {
return currencyAccountList;
}
public void setCurrencyAccountList(List<Long> currencyAccountList) {
this.currencyAccountList = currencyAccountList;
}
public String getStatus() {
return status;
}

View file

@ -2,14 +2,19 @@ package ru.spcex.clearing.backendapi.controller.request.cud.schedule;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import ru.spcex.clearing.backendapi.domain.actions.IAction;
import ru.spcex.clearing.backendapi.errors.BackEndError;
import ru.spcex.clearing.platform.messaging.domain.ActionType;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalTimeDeserializer;
import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalTimeSerializer;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@ -64,6 +69,12 @@ public class LauncherNew implements IAction<Object> {
@JsonProperty
private Long debitLeg_accountId;
@ApiModelProperty(value = "Время", dataType = "java.lang.String", example = "16:30:00")
@JsonSerialize(using = LocalTimeSerializer.class)
@JsonDeserialize(using = LocalTimeDeserializer.class)
@JsonProperty
public LocalTime fromTime;
@Override
public Object toRequest() {
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
@ -83,6 +94,7 @@ public class LauncherNew implements IAction<Object> {
taskRunnerCommandRequest.setCreditLeg_accountId(creditLeg_accountId);
taskRunnerCommandRequest.setAddresseeId(addresseeId);
taskRunnerCommandRequest.setDebitLeg_accountId(debitLeg_accountId);
taskRunnerCommandRequest.setFromTime(fromTime);
return taskRunnerCommandRequest;
}
@ -227,4 +239,12 @@ public class LauncherNew implements IAction<Object> {
public void setFullBalance(BigDecimal fullBalance) {
this.fullBalance = fullBalance;
}
public LocalTime getFromTime() {
return fromTime;
}
public void setFromTime(LocalTime fromTime) {
this.fromTime = fromTime;
}
}

View file

@ -1,39 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/backend-api.log</file>
<property name="LOG_PATH" value="./log" />
<property name="FILE_NAME" value="backend-api" />
<property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n</Pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<!-- first FILE TEXT appender -->
<appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${FILE_LOG_PATTERN}</Pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>
./logs/backend-api.%i.log
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
</appender>
<!-- second FILE JSON appender -->
<appender name="JSON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-json.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-json.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender>
<root level="warn">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
<root level="info">
<!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger>
<!--<logger name="org.springframework" level="info" />-->
</configuration>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<meta version="3.9.0.68">
<meta version="3.11.0.78">
<enums>
<allowed id="1" code="ALWD" name="Разрешено"/>
<allowed id="2" code="DEND" name="Запрещено"/>
@ -8,6 +8,7 @@
<countryCode id="1" code="RUS" name="Россия"/>
<section id="1" code="MKR" name="Секция Денежного рынка МКР"/>
<section id="2" code="FOND" name="Фондовая секция"/>
<section id="3" code="CURR" name="Валютная секция"/>
<userRole id="1" code="ADMN" name="Администратор Клиринга МКР"/>
<userRole id="2" code="SPVS" name="Супервайзер Клиринга МКР"/>
<userRole id="3" code="SCRT" name="Администратор безопасности Клиринга МКР"/>
@ -91,6 +92,7 @@
<companyRole id="6" code="CLRM" name="Участник клиринга"/>
<companyRole id="7" code="ODEP" name="Участник расчетов по открытым депозитным счетам на секции МКР"/>
<currencyCode id="643" code="RUB" name="Российский рубль"/>
<currencyCode id="840" code="USD" name="Доллар США"/>
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка"/>
<instrumentType id="2" code="CRNC" name="Валюта"/>
<instrumentType id="3" code="EQTY" name="Акция"/>
@ -111,7 +113,7 @@
<tradingClearingRegistryType id="1" code="A" name="Владелец"/>
<tradingClearingRegistryType id="2" code="B" name="Клиентский"/>
<tradingClearingRegistryType id="3" code="C" name="Клиентский"/>
<tradingClearingRegistryType id="3" code="C" name="Клиентский"/> <!-- todo был Попечитель -->
<tradingClearingRegistryType id="4" code="D" name="Доверительный управляющий"/>
<tradingClearingRegistryType id="5" code="E" name="Эмитент"/>
<tradingClearingRegistryType id="6" code="Z" name="К размещению/выкупу"/>
@ -156,42 +158,36 @@
<registryUnit id="5" code="U" name="Невыясненные"/>
<registryUnit id="5" code="I" name="Списания/зачисления"/>
<registryUnit id="7" code="V" name="Выписка"/>
<registryCode id="1" code="AMAT" name="Денежные средства Участника клиринга, зарезервированные на торги"/>
<registryCode id="2" code="AMAF" name="Денежные средства - свободные"/>
<registryCode id="3" code="AMAB" name="Денежные средства - блокированные"/>
<registryCode id="4" code="TMAT" name="Требования по деньгам"/>
<registryCode id="5" code="OSAT" name="Обязательства по бумагам"/>
<registryCode id="6" code="OMAT" name="Обязательства по деньгам"/>
<registryCode id="7" code="TSAT" name="Требования по бумагам"/>
<registryCode id="8" code="CMAT" name="Рассчитанные требования по деньгам"/>
<registryCode id="9" code="LSAT" name="Рассчитанные обязательства по бумагам"/>
<registryCode id="10" code="LMAT" name="Рассчитанные обязательства по деньгам"/>
<registryCode id="11" code="CSAT" name="Рассчитанные требования по бумагам"/>
<registryCode id="12" code="AMBT" name="Денежные средства Участника клиринга, зарезервированные на торги клиенты"/>
<registryCode id="13" code="AMBF" name="Денежные средства клиента - свободные"/>
<registryCode id="14" code="AMBB" name="Денежные средства клиента - блокированные"/>
<registryCode id="15" code="TMBT" name="Требования по деньгам (кл)"/>
<registryCode id="16" code="OSBT" name="Обязательства по бумагам (кл)"/>
<registryCode id="17" code="OMBT" name="Обязательства по деньгам (кл)"/>
<registryCode id="18" code="TSBT" name="Требования по бумагам (кл)"/>
<registryCode id="19" code="CMBT" name="Рассчитанные требования по деньгам (кл)"/>
<registryCode id="20" code="LSBT" name="Рассчитанные обязательства по бумагам (кл)"/>
<registryCode id="21" code="LMBT" name="Рассчитанные обязательства по деньгам (кл)"/>
<registryCode id="22" code="CSBT" name="Рассчитанные требования по бумагам (кл)"/>
<registryCode id="23" code="DMAT" name="Возврат депозита"/>
<registryCode id="24" code="DMBT" name="Возврат депозита (кл)"/>
<registryCode id="25" code="ASAT" name="Ценные бумаги Участника клиринга свои"/>
<registryCode id="26" code="ASAF" name="Ценные бумаги - свободные"/>
<registryCode id="27" code="ASAB" name="Ценные бумаги - блокированные"/>
<registryCode id="28" code="DMAX" name="Возврат инициатору"/>
<registryCode id="29" code="DMBX" name="Возврат инициатору (кл)"/>
<registryCode id="30" code="DMAU" name="Денежные средства - невыясненные"/>
<registryCode id="31" code="DMAV" name="Треб. выписки"/>
<registryCode id="32" code="ASZT" name="Ценные бумаги для размещения/выкупа"/>
<registryCode id="33" code="ASBT" name="Ценные бумаги Участника клиринга клиенты"/>
<registryCode id="34" code="ASCT" name="Ценные бумаги Участника клиринга клиенты-нерезиденты"/>
<registryCode id="35" code="AMCT" name="Денежные средства Участника клиринга, зарезервированные на торги клиенты"/>
<registryCode id="36" code="ASXT" name="Ценные бумаги Участника клиринга ДУ"/>
<registryCode id="1" code="AMAT" name="Денежные средства - общие"/>
<registryCode id="2" code="AMAF" name="Денежные средства - свободные"/>
<registryCode id="3" code="AMAB" name="Денежные средства - блокированные"/>
<registryCode id="4" code="TMAT" name="Требования по деньгам"/>
<registryCode id="5" code="OSAT" name="Обязательства по бумагам"/>
<registryCode id="6" code="OMAT" name="Обязательства по деньгам"/>
<registryCode id="7" code="TSAT" name="Требования по бумагам"/>
<registryCode id="8" code="CMAT" name="Рассчитанные требования по деньгам"/>
<registryCode id="9" code="LSAT" name="Рассчитанные обязательства по бумагам"/>
<registryCode id="10" code="LMAT" name="Рассчитанные обязательства по деньгам"/>
<registryCode id="11" code="CSAT" name="Рассчитанные требования по бумагам"/>
<registryCode id="12" code="AMBT" name="Денежные средства клиента - общие"/>
<registryCode id="13" code="AMBF" name="Денежные средства клиента - свободные"/>
<registryCode id="14" code="AMBB" name="Денежные средства клиента - блокированные"/>
<registryCode id="15" code="TMBT" name="Требования по деньгам (кл)"/>
<registryCode id="16" code="OSBT" name="Обязательства по бумагам (кл)"/>
<registryCode id="17" code="OMBT" name="Обязательства по деньгам (кл)"/>
<registryCode id="18" code="TSBT" name="Требования по бумагам (кл)"/>
<registryCode id="19" code="CMBT" name="Рассчитанные требования по деньгам (кл)"/>
<registryCode id="20" code="LSBT" name="Рассчитанные обязательства по бумагам (кл)"/>
<registryCode id="21" code="LMBT" name="Рассчитанные обязательства по деньгам (кл)"/>
<registryCode id="22" code="CSBT" name="Рассчитанные требования по бумагам (кл)"/>
<registryCode id="23" code="DMAT" name="Возврат депозита"/>
<registryCode id="24" code="DMBT" name="Возврат депозита (кл)"/>
<registryCode id="25" code="ASAT" name="Ценные бумаги - общие"/>
<registryCode id="26" code="ASAF" name="Ценные бумаги - свободные"/>
<registryCode id="27" code="ASAB" name="Ценные бумаги - блокированные"/>
<registryCode id="28" code="DMAX" name="Возврат инициатору"/>
<registryCode id="29" code="DMBX" name="Возврат инициатору (кл)"/>
<registryCode id="30" code="DMAU" name="Денежные средства - невыясненные"/>
<registryStatus id="1" code="OK" name="Рассчитано"/>
<registryStatus id="2" code="UNCV" name="Не исполнено"/>
<registryStatus id="3" code="FAIL" name="Не исполнено контрагентом"/>
@ -216,6 +212,7 @@
<accountType id="8" code="TRAN" name="Транзакционный счет"/>
<accountType id="9" code="DEPO" name="Депозитарный счет"/>
<accountType id="10" code="DTRN" name="Депозитарный транзакционный счет"/>
<accountType id="11" code="CURR" name="Валютный счет"/>
<depoAccountType id="1" code="A" name="Счет участника"/>
<depoAccountType id="2" code="B" name="Счет клиента"/>
<depoAccountType id="3" code="C" name="Счет нерезидента"/>
@ -254,6 +251,9 @@
<task id="27" code="EDEP" name="Время завершения возврата депозитов"/>
<task id="28" code="CHDF" name="Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21"/>
<task id="29" code="CCLR" name="Завершение неудачных клиринговых сессий"/>
<task id="30" code="CBRR" name="Загрузка кросс-курсов"/>
<task id="31" code="MTCR" name="Формирование файлов с МТКР"/>
<task id="32" code="LIMC" name="Выгрузка в Торговую систему остатков по валюте (отправка lim)"/>
<taskStatus id="1" code="ACTV" name="Активна"/>
<taskStatus id="2" code="BLKD" name="Не активна"/>
<taskStatus id="3" code="CNCL" name="Отмена расписания"/>
@ -262,7 +262,9 @@
<parent id="1" code="TMPL" name="Шаблон"/>
<parent id="2" code="PLNR" name="Расписание"/>
<parent id="3" code="CLND" name="Календарь"/>
<currencySettlementType id="1" code="TOD" name="Поставка сегодня"/>
<majorSign id="1" code="CONV" name="Конвертируемая валюта"/>
<majorSign id="2" code="UNCV" name="Неконвертируемая валюта"/>
<sessionStatus id="1" code="ACTV" name="Сессия активна"/>
<sessionStatus id="2" code="CLRN" name="Идет клиринг"/>
<sessionStatus id="3" code="CLOS" name="Клиринг завершен"/>
@ -286,6 +288,7 @@
<sessionType id="6" code="LIQU" name="Ликвидационное прекращение обязательств"/>
<sessionType id="7" code="IPOB" name="Первичные торги Bn"/>
<sessionType id="8" code="IPO0" name="Первичные торги B0"/>
<sessionType id="9" code="CURR" name="Валютные торги"/>
<moneyFlowSide id="1" code="BUY" name="Привлечь"/>
<moneyFlowSide id="2" code="SELL" name="Разместить"/>
<side id="1" code="B" name="Покупка"/>
@ -323,6 +326,7 @@
<objectType id="4" code="GTWY" name="gateway-api"/>
<objectType id="5" code="ACCA" name="account"/>
<objectType id="6" code="ACCB" name="account"/>
<objectType id="7" code="DIFF" name="registry"/>
<notificationStatus id="1" code="PEND" name="В ожидании"/>
<notificationStatus id="2" code="CNCL" name="Отменено"/>
<notificationStatus id="3" code="ACPT" name="Принято"/>
@ -338,6 +342,8 @@
<courierType id="1" code="STHS" name="ЭДО с Расчетной Организацией"/>
<resultStatus id="1" code="NACK" name="Неуспешно"/>
<resultStatus id="2" code="ACK" name="Успешно"/>
<gatewayResultStatus id="1" code="NACK" name="Неуспешно"/>
<gatewayResultStatus id="2" code="ACK" name="Успешно"/>
<eventType id="1" code="CRET" name="Создание"/>
<eventType id="2" code="UPDT" name="Обновление"/>
<eventType id="3" code="DELT" name="Удаление"/>
@ -409,6 +415,9 @@
<errorCode id="3028" code="CMPN" name="Для клиента %s отстутствует счет ДЕПО."/>
<errorCode id="3029" code="CMPN" name="Для клиента %s отстутствует денежный счет."/>
<errorCode id="3030" code="CMPN" name="Категория %s для компании %s уже добавлена."/>
<errorCode id="3031" code="CMPN" name="Валюта %s уже добавлена."/>
<errorCode id="3032" code="CMPN" name="Параметр компании %s не найден."/>
<errorCode id="3033" code="CMPN" name="По валюте Российской Федерации может выступать только НКО АО ПРЦ."/>
<!-- error code for report-serivce -->
<errorCode id="4000" code="RPRT" name="Общая ошибка модуля report-serivce."/>

View file

@ -11,83 +11,13 @@
<!--company id="5" fullName="Центральный Банк Российской Федерации" shortName="ЦБ РФ" tradingCode="" clearingCode="" workflowStatus="ACTV"/-->
<companySymbols id="1" companyId="1" companySymbol="BIC" companySymbolValue="044030920"/>
<companySymbols id="2" companyId="2" companySymbol="BIC" companySymbolValue="044030505"/>
<currency id="643" currency_code="RUB"/>
<currency id="643" currencyCode="RUB"/>
<currency id="840" currencyCode="USD"/>
<security id="643" instrumentType="CRNC" shortName="RUB" fullName="Российский рубль" securitySymbol="RUB" workflowStatus="ACTV"/>
<security id="840" instrumentType="CRNC" shortName="USD" fullName="Доллар США" securitySymbol="USD" workflowStatus="ACTV"/>
<account id="1" companyId="1" account="30414810300000006000" accountType="TRAN" status="ACTV" processingSign="ALWD"/>
<account id="2" companyId="1" account="30414810600000007000" accountType="ANLT" status="ACTV" processingSign="ALWD"/>
<account id="3" companyId="1" account="700100000AT0" accountType="DTRN" status="ACTV" processingSign="ALWD"/>
<market id="1" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UESC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Обыкновенные акции"/>
<market id="2" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NESC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Обыкновенные акции"/>
<market id="3" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DESC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Обыкновенные акции"/>
<market id="4" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="AESC" name="Размещение: акции (аукцион по цене)" exchangeId="1" description="Размещение: акции (аукцион по цене): Обыкновенные акции"/>
<market id="5" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WESC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Обыкновенные акции"/>
<market id="6" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UEPC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Привилегированные акции"/>
<market id="7" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NEPC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Привилегированные акции"/>
<market id="8" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DEPC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Привилегированные акции"/>
<market id="9" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="AEPC" name="Размещение: акции (аукцион по цене)" exchangeId="1" description="Размещение: акции (аукцион по цене): Привилегированные акции"/>
<market id="10" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WEPC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Привилегированные акции"/>
<market id="11" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABVC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Купонные облигации с переменным купоном"/>
<market id="12" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBVC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Купонные облигации с переменным купоном"/>
<market id="13" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBVC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Купонные облигации с переменным купоном"/>
<market id="14" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBVC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Купонные облигации с переменным купоном"/>
<market id="15" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBVC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Купонные облигации с переменным купоном"/>
<market id="16" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBVC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Купонные облигации с переменным купоном"/>
<market id="17" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABFC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Купонные облигации с постоянным купоном"/>
<market id="18" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBFC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Купонные облигации с постоянным купоном"/>
<market id="19" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBFC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Купонные облигации с постоянным купоном"/>
<market id="20" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBFC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Купонные облигации с постоянным купоном"/>
<market id="21" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBFC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Купонные облигации с постоянным купоном"/>
<market id="22" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBFC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Купонные облигации с постоянным купоном"/>
<market id="23" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABIC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Облигации с индексированным номиналом"/>
<market id="24" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBIC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Облигации с индексированным номиналом"/>
<market id="25" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBIC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации с индексированным номиналом"/>
<market id="26" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBIC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации с индексированным номиналом"/>
<market id="27" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBIC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации с индексированным номиналом"/>
<market id="28" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBIC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Облигации с индексированным номиналом"/>
<market id="29" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABMC" name="Размещение: Аукцион по цене" exchangeId="1" description="Размещение: Аукцион по цене: Облигации с амортизацией долга"/>
<market id="30" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="KBMC" name="Размещение: Аукцион по ставке" exchangeId="1" description="Размещение: Аукцион по ставке: Облигации с амортизацией долга"/>
<market id="31" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBMC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации с амортизацией долга"/>
<market id="32" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBMC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации с амортизацией долга"/>
<market id="33" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBMC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации с амортизацией долга"/>
<market id="34" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="WBMC" name="Размещение: адресные заявки (подписка)" exchangeId="1" description="Размещение: адресные заявки (подписка): Облигации с амортизацией долга"/>
<market id="35" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BKVC" name="Размещение: Аукцион БР" exchangeId="1" description="Размещение: Аукцион БР: Облигации Банка России с переменным купоном (КОБР)"/>
<market id="36" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SKVC" name="Доразмещение: Адресные заявки БР" exchangeId="1" description="Доразмещение: Адресные заявки БР: Облигации Банка России с переменным купоном (КОБР)"/>
<market id="37" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UKVC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Облигации Банка России с переменным купоном (КОБР)"/>
<market id="38" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NKVC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Облигации Банка России с переменным купоном (КОБР)"/>
<market id="39" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DKVC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Облигации Банка России с переменным купоном (КОБР)"/>
<market id="45" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="ABEC" name="Размещение: Аукцион СПВБ" exchangeId="1" description="Размещение: Аукцион СПВБ: Биржевые облигации"/>
<market id="46" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UBEC" name="Режим непрерывных торгов" exchangeId="1" description="Режим непрерывных торгов: Биржевые облигации"/>
<market id="47" marketType="SCND" section="FOND" settlementCurrency="RUB" code="NBEC" name="Режим переговорных сделок (РПС)" exchangeId="1" description="Режим переговорных сделок (РПС): Биржевые облигации"/>
<market id="48" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DBEC" name="Дискретный аукцион" exchangeId="1" description="Дискретный аукцион: Биржевые облигации"/>
<market id="61" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMVC" name="ОФЗПК-Размещение: Аукцион БР" exchangeId="1" description="ОФЗПК-Размещение: Аукцион БР: Облигации Минфина"/>
<market id="62" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMVC" name="ОФЗПК-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗПК-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
<market id="63" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMVC" name="ОФЗПК-Режим непрерывных торгов" exchangeId="1" description="ОФЗПК-Режим непрерывных торгов: Облигации Минфина"/>
<market id="64" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMVC" name="ОФЗПК-Дискретный аукцион" exchangeId="1" description="ОФЗПК-Дискретный аукцион: Облигации Минфина"/>
<market id="65" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMVC" name="ОФЗПК-Торги в режиме выкупа" exchangeId="1" description="ОФЗПК-Торги в режиме выкупа: Облигации Минфина"/>
<market id="66" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMFC" name="ОФЗПД-Размещение: Аукцион БР" exchangeId="1" description="ОФЗПД-Размещение: Аукцион БР: Облигации Минфина"/>
<market id="67" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMFC" name="ОФЗПД- Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗПД- Доразмещение: Адресные заявки БР: Облигации Минфина"/>
<market id="68" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMFC" name="ОФЗПД-Режим непрерывных торгов" exchangeId="1" description="ОФЗПД-Режим непрерывных торгов: Облигации Минфина"/>
<market id="69" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMFC" name="ОФЗПД-Дискретный аукцион" exchangeId="1" description="ОФЗПД-Дискретный аукцион: Облигации Минфина"/>
<market id="70" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMFC" name="ОФЗПД-Торги в режиме выкупа" exchangeId="1" description="ОФЗПД-Торги в режиме выкупа: Облигации Минфина"/>
<market id="71" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMMC" name="ОФЗАД-Размещение: Аукцион БР" exchangeId="1" description="ОФЗАД-Размещение: Аукцион БР: Облигации Минфина"/>
<market id="72" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMMC" name="ОФЗАД-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗАД-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
<market id="73" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMMC" name="ОФЗАД-Режим непрерывных торгов" exchangeId="1" description="ОФЗАД-Режим непрерывных торгов: Облигации Минфина"/>
<market id="74" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMMC" name="ОФЗАД-Дискретный аукцион" exchangeId="1" description="ОФЗАД-Дискретный аукцион: Облигации Минфина"/>
<market id="75" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMMC" name="ОФЗАД-Торги в режиме выкупа" exchangeId="1" description="ОФЗАД-Торги в режиме выкупа: Облигации Минфина"/>
<market id="76" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BMIC" name="ОФЗИН-Размещение: Аукцион БР" exchangeId="1" description="ОФЗИН-Размещение: Аукцион БР: Облигации Минфина"/>
<market id="77" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="SMIC" name="ОФЗИН-Доразмещение: Адресные заявки БР" exchangeId="1" description="ОФЗИН-Доразмещение: Адресные заявки БР: Облигации Минфина"/>
<market id="78" marketType="SCND" section="FOND" settlementCurrency="RUB" code="UMIC" name="ОФЗИН-Режим непрерывных торгов" exchangeId="1" description="ОФЗИН-Режим непрерывных торгов: Облигации Минфина"/>
<market id="79" marketType="SCND" section="FOND" settlementCurrency="RUB" code="DMIC" name="ОФЗИН-Дискретный аукцион" exchangeId="1" description="ОФЗИН-Дискретный аукцион: Облигации Минфина"/>
<market id="80" marketType="SCND" section="FOND" settlementCurrency="RUB" code="MMIC" name="ОФЗИН-Торги в режиме выкупа" exchangeId="1" description="ОФЗИН-Торги в режиме выкупа: Облигации Минфина"/>
<market id="82" marketType="PRMR" section="FOND" settlementCurrency="RUB" code="BBVC" name="ОФЗ-ПК - Аукцион БР" exchangeId="1" description="ОФЗ-ПК - Аукцион БР"/>
<market id="83" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDTATSS" name="СПб ГУП АТС Смольного" exchangeId="1" description="СПб ГУП АТС Смольного"/>
<market id="88" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMTTKFSP" name="Комитет финансов СПб" exchangeId="1" description="Комитет финансов СПб"/>
<market id="89" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDSKFLO" name="Комитет финансов ЛО" exchangeId="1" description="Комитет финансов ЛО"/>
<market id="90" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDTFSKB" name="ФСКМБ" exchangeId="1" description="ФСКМБ"/>
<market id="91" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDSFGGE" name="ФАУ ГГЭ" exchangeId="1" description="ФАУ ГГЭ"/>
<market id="92" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDTVRGO" name="ВВО РГО" exchangeId="1" description="ВВО РГО"/>
<market id="93" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDTTDRM" name="ООО Торговый дом РМ-Рейл" exchangeId="1" description="ООО Торговый дом РМ-Рейл"/>
<market id="95" marketType="PRMR" section="MKR" settlementCurrency="RUB" code="XMDTRKFN" name="АО РК Финанс" exchangeId="1" description="АО РК Финанс"/>
</objects>
</meta>

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<meta version="3.9.0.68">
<enums>
<registryCode id="1" code="AMAT" name="Денежные средства Участника клиринга, зарезервированные на торги"/>
<registryCode id="2" code="AMAF" name="Денежные средства - свободные"/>
<registryCode id="3" code="AMAB" name="Денежные средства - блокированные"/>
<registryCode id="4" code="TMAT" name="Требования по деньгам"/>
<registryCode id="5" code="OSAT" name="Обязательства по бумагам"/>
<registryCode id="6" code="OMAT" name="Обязательства по деньгам"/>
<registryCode id="7" code="TSAT" name="Требования по бумагам"/>
<registryCode id="8" code="CMAT" name="Рассчитанные требования по деньгам"/>
<registryCode id="9" code="LSAT" name="Рассчитанные обязательства по бумагам"/>
<registryCode id="10" code="LMAT" name="Рассчитанные обязательства по деньгам"/>
<registryCode id="11" code="CSAT" name="Рассчитанные требования по бумагам"/>
<registryCode id="12" code="AMBT" name="Денежные средства Участника клиринга, зарезервированные на торги клиенты"/>
<registryCode id="13" code="AMBF" name="Денежные средства клиента - свободные"/>
<registryCode id="14" code="AMBB" name="Денежные средства клиента - блокированные"/>
<registryCode id="15" code="TMBT" name="Требования по деньгам (кл)"/>
<registryCode id="16" code="OSBT" name="Обязательства по бумагам (кл)"/>
<registryCode id="17" code="OMBT" name="Обязательства по деньгам (кл)"/>
<registryCode id="18" code="TSBT" name="Требования по бумагам (кл)"/>
<registryCode id="19" code="CMBT" name="Рассчитанные требования по деньгам (кл)"/>
<registryCode id="20" code="LSBT" name="Рассчитанные обязательства по бумагам (кл)"/>
<registryCode id="21" code="LMBT" name="Рассчитанные обязательства по деньгам (кл)"/>
<registryCode id="22" code="CSBT" name="Рассчитанные требования по бумагам (кл)"/>
<registryCode id="23" code="DMAT" name="Возврат депозита"/>
<registryCode id="24" code="DMBT" name="Возврат депозита (кл)"/>
<registryCode id="25" code="ASAT" name="Ценные бумаги Участника клиринга свои"/>
<registryCode id="26" code="ASAF" name="Ценные бумаги - свободные"/>
<registryCode id="27" code="ASAB" name="Ценные бумаги - блокированные"/>
<registryCode id="28" code="DMAX" name="Возврат инициатору"/>
<registryCode id="29" code="DMBX" name="Возврат инициатору (кл)"/>
<registryCode id="30" code="DMAU" name="Денежные средства - невыясненные"/>
<registryCode id="31" code="DMAV" name="Треб. выписки"/>
<registryCode id="32" code="ASZT" name="Ценные бумаги для размещения/выкупа"/>
<registryCode id="33" code="ASBT" name="Ценные бумаги Участника клиринга клиенты"/>
<registryCode id="34" code="ASCT" name="Ценные бумаги Участника клиринга клиенты-нерезиденты"/>
<registryCode id="35" code="AMCT" name="Денежные средства Участника клиринга, зарезервированные на торги клиенты"/>
<registryCode id="36" code="ASXT" name="Ценные бумаги Участника клиринга ДУ"/>
</enums>
<objects>
</objects>
</meta>

View file

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<meta version="3.11.0.78">
<enums>
</enums>
<objects>
<market id="1" code="ABEC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: Аукцион СПВБ" description="Размещение: Аукцион СПВБ"/>
<market id="2" code="AEPC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: акции (аукцион по цене)" description="Размещение: акции (аукцион по цене)"/>
<market id="3" code="AESC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: акции (аукцион по цене)" description="Размещение: акции (аукцион по цене)"/>
<market id="4" code="ABFC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Обл. с ПД-Аукцион" description="СПВБ: Обл. с ПД-Аукцион"/>
<market id="5" code="ABIC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Обл. с ИН - Аукцион" description="СПВБ: Обл. с ИН - Аукцион"/>
<market id="6" code="ABMC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Обл. с АД - Аукцион" description="СПВБ: Обл. с АД - Аукцион"/>
<market id="7" code="ABVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Обл. с ПК - Аукцион" description="СПВБ: Обл. с ПК - Аукцион"/>
<market id="8" code="BKVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: Аукцион БР" description="Размещение: Аукцион БР"/>
<market id="9" code="BMFC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗПД-Размещение: Аукцион" description="ОФЗПД-Размещение: Аукцион"/>
<market id="10" code="BMIC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗИН-Размещение: Аукцион" description="ОФЗИН-Размещение: Аукцион"/>
<market id="11" code="BMMC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗАД-Размещение: Аукцион" description="ОФЗАД-Размещение: Аукцион"/>
<market id="12" code="BMVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗПК-Размещение: Аукцион" description="ОФЗПК-Размещение: Аукцион"/>
<market id="13" code="DBEC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Дискретный аукцион" description="Дискретный аукцион"/>
<market id="14" code="DBFC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Дискретный аукцион" description="Дискретный аукцион"/>
<market id="15" code="DBIC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Дискретный аукцион" description="Дискретный аукцион"/>
<market id="16" code="DBMC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Дискретный аукцион" description="Дискретный аукцион"/>
<market id="17" code="DBVC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Дискретный аукцион" description="Дискретный аукцион"/>
<market id="18" code="DEPC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Дискретный аукцион" description="Дискретный аукцион"/>
<market id="19" code="DESC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Дискретный аукцион" description="Дискретный аукцион"/>
<market id="20" code="DKVC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Дискретный аукцион" description="Дискретный аукцион"/>
<market id="21" code="DMFC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="ОФЗПД-Дискретный аукцион" description="ОФЗПД-Дискретный аукцион"/>
<market id="22" code="DMIC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="ОФЗИН-Дискретный аукцион" description="ОФЗИН-Дискретный аукцион"/>
<market id="23" code="DMMC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="ОФЗАД-Дискретный аукцион" description="ОФЗАД-Дискретный аукцион"/>
<market id="24" code="DMVC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="ОФЗПК-Дискретный аукцион" description="ОФЗПК-Дискретный аукцион"/>
<market id="25" code="KBFC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: Аукцион по ставке" description="Размещение: Аукцион по ставке"/>
<market id="26" code="KBIC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: Аукцион по ставке" description="Размещение: Аукцион по ставке"/>
<market id="27" code="KBMC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: Аукцион по ставке" description="Размещение: Аукцион по ставке"/>
<market id="28" code="KBVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: Аукцион по ставке" description="Размещение: Аукцион по ставке"/>
<market id="29" code="PMFC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗПД-Торги в режиме выкупа" description="ОФЗПД-Торги в режиме выкупа"/>
<market id="30" code="PMIC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗИН-Торги в режиме выкупа" description="ОФЗИН-Торги в режиме выкупа"/>
<market id="31" code="PMMC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗАД-Торги в режиме выкупа" description="ОФЗАД-Торги в режиме выкупа"/>
<market id="32" code="PMVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗПК-Торги в режиме выкупа" description="ОФЗПК-Торги в режиме выкупа"/>
<market id="33" code="NBEC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим переговорных сделок (РПС)" description="Режим переговорных сделок (РПС)"/>
<market id="34" code="NBFC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим переговорных сделок (РПС)" description="Режим переговорных сделок (РПС)"/>
<market id="35" code="NBIC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим переговорных сделок (РПС)" description="Режим переговорных сделок (РПС)"/>
<market id="36" code="NBMC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим переговорных сделок (РПС)" description="Режим переговорных сделок (РПС)"/>
<market id="37" code="NBVC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим переговорных сделок (РПС)" description="Режим переговорных сделок (РПС)"/>
<market id="38" code="NEPC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим переговорных сделок (РПС)" description="Режим переговорных сделок (РПС)"/>
<market id="39" code="NESC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим переговорных сделок (РПС)" description="Режим переговорных сделок (РПС)"/>
<market id="40" code="NKVC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим переговорных сделок (РПС)" description="Режим переговорных сделок (РПС)"/>
<market id="41" code="SBFC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Обл. с ПД - Доразмещение" description="СПВБ: Обл. с ПД - Доразмещение"/>
<market id="42" code="SBIC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Обл. с ИН - Доразмещение" description="СПВБ: Обл. с ИН - Доразмещение"/>
<market id="43" code="SBMC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Обл. с АД -Доразмещение" description="СПВБ: Обл. с АД -Доразмещение"/>
<market id="44" code="SBVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Обл. с ПК-Доразмещение" description="СПВБ: Обл. с ПК-Доразмещение"/>
<market id="45" code="SKVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Доразмещение: Адресные заявки БР" description="Доразмещение: Адресные заявки БР"/>
<market id="46" code="SMFC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗПД- Доразмещение: Адресные заявки" description="ОФЗПД- Доразмещение: Адресные заявки"/>
<market id="47" code="SMIC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗИН-Доразмещение: Адресные заявки" description="ОФЗИН-Доразмещение: Адресные заявки"/>
<market id="48" code="SMMC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗАД-Доразмещение: Адресные заявки" description="ОФЗАД-Доразмещение: Адресные заявки"/>
<market id="49" code="SMVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="ОФЗПК-Доразмещение: Адресные заявки" description="ОФЗПК-Доразмещение: Адресные заявки"/>
<market id="50" code="UBEC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим непрерывных торгов" description="Режим непрерывных торгов"/>
<market id="51" code="UBFC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="СПВБ: Обл. с ПД - Торги" description="СПВБ: Обл. с ПД - Торги"/>
<market id="52" code="UBIC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="СПВБ: Обл. с ИН - Торги" description="СПВБ: Обл. с ИН - Торги"/>
<market id="53" code="UBMC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="СПВБ: Обл. с АД - Торги" description="СПВБ: Обл. с АД - Торги"/>
<market id="54" code="UBVC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="СПВБ: Обл. с ПК - Торги" description="СПВБ: Обл. с ПК - Торги"/>
<market id="55" code="UEPC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим непрерывных торгов" description="Режим непрерывных торгов"/>
<market id="56" code="UESC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="СПВБ: Акции Торги" description="СПВБ: Акции Торги"/>
<market id="57" code="UKVC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="Режим непрерывных торгов" description="Режим непрерывных торгов"/>
<market id="58" code="UMFC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="ОФЗПД-Режим непрерывных торгов" description="ОФЗПД-Режим непрерывных торгов"/>
<market id="59" code="UMIC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="ОФЗИН-Режим непрерывных торгов" description="ОФЗИН-Режим непрерывных торгов"/>
<market id="60" code="UMMC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="ОФЗАД-Режим непрерывных торгов" description="ОФЗАД-Режим непрерывных торгов"/>
<market id="61" code="UMVC" section="FOND" marketType="SCND" settlementCurrency="RUB" name="ОФЗПК-Режим непрерывных торгов" description="ОФЗПК-Режим непрерывных торгов"/>
<market id="62" code="WBFC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: адресные заявки (подписка)" description="Размещение: адресные заявки (подписка)"/>
<market id="63" code="WBIC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: адресные заявки (подписка)" description="Размещение: адресные заявки (подписка)"/>
<market id="64" code="WBMC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: адресные заявки (подписка)" description="Размещение: адресные заявки (подписка)"/>
<market id="65" code="WBVC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: адресные заявки (подписка)" description="Размещение: адресные заявки (подписка)"/>
<market id="66" code="WEPC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: адресные заявки (подписка)" description="Размещение: адресные заявки (подписка)"/>
<market id="67" code="WESC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="Размещение: адресные заявки (подписка)" description="Размещение: адресные заявки (подписка)"/>
<market id="68" code="ABZC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Диск. обл. - Аукцион" description="СПВБ: Диск. обл. - Аукцион"/>
<market id="69" code="SBZC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Диск. обл.-Доразмещение" description="СПВБ: Диск. обл.-Доразмещение"/>
<market id="70" code="UBZC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Диск. обл. - Торги" description="СПВБ: Диск. обл. - Торги"/>
<market id="71" code="NBZC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Диск. обл. - РПС" description="СПВБ: Диск. обл. - РПС"/>
<market id="72" code="DBZC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Диск. обл. - Дискретный аукцион" description="СПВБ: Диск. обл. - Дискретный аукцион"/>
<market id="73" code="WBZC" section="FOND" marketType="PRMR" settlementCurrency="RUB" name="СПВБ: Диск. обл. - адресные заявки (подписка)" description="СПВБ: Диск. обл. - адресные заявки (подписка)"/>
<market id="74" code="XMDTATSS" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитный аукцион" description="Размещение: депозитный аукцион"/>
<market id="75" code="XMDTAVGB" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитный аукцион" description="Размещение: депозитный аукцион"/>
<market id="76" code="XMDTFSKB" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитный аукцион" description="Размещение: депозитный аукцион"/>
<market id="77" code="XMDTKFLO" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитный аукцион" description="Размещение: депозитный аукцион"/>
<market id="78" code="XMDTKFSP" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитный аукцион" description="Размещение: депозитный аукцион"/>
<market id="79" code="XMNTFSKB" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Депозитные торги (аукцион)" description="Депозитные торги (аукцион)"/>
<market id="80" code="XMNTKFLO" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Депозитные торги (аукцион)" description="Депозитные торги (аукцион)"/>
<market id="81" code="XMNTKFSP" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Депозитные торги (аукцион)" description="Депозитные торги (аукцион)"/>
<market id="82" code="XMDSFSKB" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитный аукцион" description="Размещение: депозитный аукцион"/>
<market id="83" code="XMDSKFLO" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитный аукцион" description="Размещение: депозитный аукцион"/>
<market id="84" code="XMDSKFSP" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитный аукцион" description="Размещение: депозитный аукцион"/>
<market id="85" code="XMTTKFSP" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Размещение: депозитные торги" description="Размещение: депозитные торги"/>
<market id="86" code="XMNSKFLO" section="MKR" marketType="PRMR" settlementCurrency="RUB" name="Депозитные торги (аукцион)" description="Депозитные торги (аукцион)"/>
<market id="96" marketType="PRMR" section="CURR" settlementCurrency="RUB" code="UVAV" name="Двусторонний непрерывный аукцион" exchangeId="1" description="Двусторонний непрерывный аукцион (TOD)"/>
<market id="97" marketType="PRMR" section="CURR" settlementCurrency="RUB" code="NVAV" name="Режим адресных сделок с клирингом и расчетами на СПВБ" exchangeId="1" description="Режим адресных сделок с клирингом и расчетами на СПВБ (TOD)"/>
</objects>
</meta>

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?-->
<meta version="3.9.0.71">
<meta version="3.11.0.78">
<!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
<!--Здесь словари-->
<enums>
@ -105,7 +105,6 @@
<code name="Код облигации" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/>
</bondType>
<tradingClearingRegistryType name="Справочник типов торгово-клиринговых регистров" class="com.spicex.dictionary.TradingClearingRegistryTypeDictionary" table="trading_clearing_registry_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
@ -186,26 +185,26 @@
<code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/>
</clearingAccountType>
<task name="Справочник задач" class="com.spicex.dictionary.TaskDictionary" table="task_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Задача" shortname="Задача" type="2" length="150"/>
</task>
<taskStatus name="Справочник статусов задач" class="com.spicex.dictionary.TaskStatusDictionary" table="task_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<task name="Справочник задач" class="com.spicex.dictionary.TaskDictionary" table="task_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Статус задачи" shortname="Статус" type="2" length="50"/>
</taskStatus>
<dayStatus name="Справочник статусов дней" class="ru.clearing.platform.dictionary.DayStatusDictionary" table="day_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<name name="Задача" shortname="Задача" type="2" length="150"/>
</task>
<taskStatus name="Справочник статусов задач" class="com.spicex.dictionary.TaskStatusDictionary" table="task_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Статус дня" shortname="Статус" type="2" length="50"/>
</dayStatus>
<parent name="Справочник источников" class="com.spicex.dictionary.ParentDictionary" table="parent_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<name name="Статус задачи" shortname="Статус" type="2" length="50"/>
</taskStatus>
<dayStatus name="Справочник статусов дней" class="ru.clearing.platform.dictionary.DayStatusDictionary" table="day_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Источник" type="2" length="50"/>
</parent>
<name name="Статус дня" shortname="Статус" type="2" length="50"/>
</dayStatus>
<parent name="Справочник источников" class="com.spicex.dictionary.ParentDictionary" table="parent_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Источник" type="2" length="50"/>
</parent>
<sessionStatus name="Справочник статусов клиринговых сессий" class="ru.clearing.platform.dictionary.SessionStatusDictionary" table="session_status_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/>
@ -263,11 +262,11 @@
<code name="Код" shortname="Код" type="12"/>
<name name="Значение" shortname="Значение" type="2" length="255"/>
</inOutDirection>
<transactionStatus name="Справочник статусов транзакций" class="com.spicex.dictionary.TransactionStatusDictionary" table="transaction_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<transactionStatus name="Справочник статусов транзакций" class="com.spicex.dictionary.TransactionStatusDictionary" table="transaction_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Статус транзакции" shortname="Статус" type="2" length="50"/>
</transactionStatus>
<name name="Статус транзакции" shortname="Статус" type="2" length="50"/>
</transactionStatus>
<objectType name="Справочник типов объектов" class="ru.clearing.platform.dictionary.ObjectTypeDictionary" table="object_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
@ -293,11 +292,33 @@
<code name="Код" shortname="Код" type="12"/>
<name name="Статус сообщения" shortname="Наименование" type="2" length="50"/>
</managementJournalStatus>
<courierType name="Справочник способов доставки документа" class="ru.clearing.platform.dictionary.CourierTypeDictionary" table="courier_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Способ доставки" shortname="Способ доставки" type="2" length="50"/>
</courierType>
<majorSign name="Справочник типов конвертируемости валюты" class="ru.clearing.platform.dictionary.MajorSign" table="major_sign">
<id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Наименование типа" shortname="Наименование" type="2" length="50"/>
</majorSign>
<courierType name="Справочник способов доставки документа" class="ru.clearing.platform.dictionary.CourierTypeDictionary" table="courier_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Способ доставки" shortname="Способ доставки" type="2" length="50"/>
</courierType>
<currencySettlementType name="Справочник типов расчетов валютных пар" class="ru.clearing.platform.dictionary.CurrencySettlementType" table="currency_settlement_type">
<id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Тип расчета" shortname="Тип расчета" type="2" length="50"/>
</currencySettlementType>
<currencyPair name="Справочник способов доставки документа" class="ru.clearing.platform.dictionary.СurrencyPair" table="currency_pair">
<id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<baseCurrencyId name="Код валюты лота" shortname="Валюта лота" link="currencyCode" type="12"/>
<quoteCurrencyId name="Код сопряженной валюты" shortname="Сопряженная валюта" link="currencyCode" type="12"/>
<majorSign name="Код признака конвертируемости валюты" shortname="Конвертируемость валюты" link="majorSign" type="12"/>
</currencyPair>
<gatewayResultStatus name="Справочник статусов обработки" class="ru.clearing.platform.dictionary.GatewayResultStatus" table="gateway_result_status">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
<name name="Статус обработки" shortname="Статус" type="2" length="255"/>
</gatewayResultStatus>
<resultStatus name="Справочник статусов обработки" class="ru.clearing.platform.dictionary.ResultStatusDictionary" table="result_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/>
@ -315,61 +336,61 @@
</priority>
</enums>
<objects>
<dbVersion name="Версия базы данных" destination="db-versions" class="" table="db_version">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/>
<version type="2" length="50" name="Версия базы данных, привязанная к релизу" shortname="Версия БД" searchable="true" sortable="true" visible="true"/>
</dbVersion>
<userCls name="Пользователь" destination="users" class="ru.clearing.classes.statics.data.user.User" logUpdates="true" table="user_cls">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<identifier type="2" length="250" name="Внешний идентификатор" shortname="Идентификатор" searchable="true" sortable="true" visible="true"/>
<name type="2" length="250" name="Имя и фамилия пользователя" shortname="Имя и фамилия" searchable="true" sortable="true" visible="true"/>
<firstName type="2" length="250" name="Имя пользователя" shortname="Имя" searchable="true" sortable="true" visible="true"/>
<lastName type="2" length="250" name="Фамилия пользователя" shortname="Фамилия" searchable="true" sortable="true" visible="true"/>
<middleName type="2" length="250" name="Отчество пользователя" shortname="Отчество" searchable="true" sortable="true" visible="true"/>
<email type="2" length="250" name="Email пользователя" shortname="Email" searchable="true" sortable="true" visible="true"/>
<actions>
<dbVersion name="Версия базы данных" destination="db-versions" class="" table="db_version">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/>
<version type="2" length="50" name="Версия базы данных, привязанная к релизу" shortname="Версия БД" searchable="true" sortable="true" visible="true"/>
</dbVersion>
<userCls name="Пользователь" destination="users" class="ru.clearing.classes.statics.data.user.User" logUpdates="true" table="user_cls">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<identifier type="2" length="250" name="Внешний идентификатор" shortname="Идентификатор" searchable="true" sortable="true" visible="true"/>
<name type="2" length="250" name="Имя и фамилия пользователя" shortname="Имя и фамилия" searchable="true" sortable="true" visible="true"/>
<firstName type="2" length="250" name="Имя пользователя" shortname="Имя" searchable="true" sortable="true" visible="true"/>
<lastName type="2" length="250" name="Фамилия пользователя" shortname="Фамилия" searchable="true" sortable="true" visible="true"/>
<middleName type="2" length="250" name="Отчество пользователя" shortname="Отчество" searchable="true" sortable="true" visible="true"/>
<email type="2" length="250" name="Email пользователя" shortname="Email" searchable="true" sortable="true" visible="true"/>
<actions>
<put name="Авторизация пользователя">
<userName type="2" length="255" name="Логин пользователя" required="true"/>
<roles type="2" length="255" name="Роли пользователя" required="false"/>
</put>
</actions>
</userCls>
<userRoleSession name="Набор ролей" destination="user-role-sessions" class="ru.clearing.classes.statics.data.user.UserRoleSession" table="user_role_session">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<userId type="1" dbname="Идентификатор пользователя" name="Имя и фамилия пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<userRole type="12" dbname="Код роли пользователя" name="Роль пользователя" shortname="Роль" searchable="true" sortable="true" visible="true" link="userRole"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company"/>
</actions>
</userCls>
<userRoleSession name="Набор ролей" destination="user-role-sessions" class="ru.clearing.classes.statics.data.user.UserRoleSession" table="user_role_session">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<userId type="1" dbname="Идентификатор пользователя" name="Имя и фамилия пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<userRole type="12" dbname="Код роли пользователя" name="Роль пользователя" shortname="Роль" searchable="true" sortable="true" visible="true" link="userRole"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company"/>
<status type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/>
</userRoleSession>
<userSettings name="Настройки пользователя" destination="utilities/user-settings" class="ru.clearing.classes.statics.data.user.UserSettings" table="user_settings">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<userId type="1" dbname="Идентификатор пользователя" name="Имя и фамилия пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<version type="2" length="50" name="Версия настроек пользователя" shortname="Версия" searchable="false" sortable="false" visible="true"/>
<json type="2" length="200000" name="Данные конфигурации" shortname="Настройки" searchable="false" sortable="false" visible="true"/>
<actions>
</userRoleSession>
<userSettings name="Настройки пользователя" destination="utilities/user-settings" class="ru.clearing.classes.statics.data.user.UserSettings" table="user_settings">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<userId type="1" dbname="Идентификатор пользователя" name="Имя и фамилия пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<version type="2" length="50" name="Версия настроек пользователя" shortname="Версия" searchable="false" sortable="false" visible="true"/>
<json type="2" length="200000" name="Данные конфигурации" shortname="Настройки" searchable="false" sortable="false" visible="true"/>
<actions>
<put name="Изменение настроек пользователя">
<userId type="1" name="Имя и фамилия пользователя" shortname="Пользователь" required="false" link="userCls" linkCode="identifier"/>
<version type="2" length="50" name="Версия настроек пользователя" shortname="Версия" required="false"/>
<json type="2" length="200000" name="Данные конфигурации" shortname="Настройки" required="false"/>
</put>
</actions>
</userSettings>
<userConnect name="Активность пользователей в системе" class="ru.clearing.classes.statics.data.user.UserConnect" logUpdates="true" table="user_connect">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<userId type="1" dbname="Идентификатор пользователя" name="Имя и фамилия пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<connectionTime type="4" name="Последнее соединение" shortname="Вход" searchable="true" sortable="true"/>
<disconnectionTime type="4" name="Разрыв соединения" shortname="Выход" searchable="true" sortable="true"/>
<serverIp type="2" length="250" name="IP адрес сервера" shortname="IP сервера" searchable="true" sortable="true" visible="true"/>
<clientIp type="2" length="250" name="IP адрес клиента" shortname="IP клиента" searchable="true" sortable="true" visible="true"/>
<connectionState type="12" dbname="Код статуса соединения" name="Статус соединения" shortname="Статус" searchable="true" sortable="true" visible="true" link="connectionState"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true"/>
<errorCodeId type="1" dbname="Идентификатор кода ошибки" name="Код ошибки" shortname="Код ошибки" searchable="true" sortable="true" link="errorCode" linkCode="code"/>
<errorTextId type="1" dbname="Идентификатор полного текста ошибки" name="Полный текст ошибки" shortname="Ошибка" searchable="true" sortable="true" link="errorText" linkCode="text"/>
</userConnect>
</actions>
</userSettings>
<userConnect name="Активность пользователей в системе" class="ru.clearing.classes.statics.data.user.UserConnect" logUpdates="true" table="user_connect">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<userId type="1" dbname="Идентификатор пользователя" name="Имя и фамилия пользователя" shortname="Пользователь" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<connectionTime type="4" name="Последнее соединение" shortname="Вход" searchable="true" sortable="true"/>
<disconnectionTime type="4" name="Разрыв соединения" shortname="Выход" searchable="true" sortable="true"/>
<serverIp type="2" length="250" name="IP адрес сервера" shortname="IP сервера" searchable="true" sortable="true" visible="true"/>
<clientIp type="2" length="250" name="IP адрес клиента" shortname="IP клиента" searchable="true" sortable="true" visible="true"/>
<connectionState type="12" dbname="Код статуса соединения" name="Статус соединения" shortname="Статус" searchable="true" sortable="true" visible="true" link="connectionState"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true"/>
<errorCodeId type="1" dbname="Идентификатор кода ошибки" name="Код ошибки" shortname="Код ошибки" searchable="true" sortable="true" link="errorCode" linkCode="code"/>
<errorTextId type="1" dbname="Идентификатор полного текста ошибки" name="Полный текст ошибки" shortname="Ошибка" searchable="true" sortable="true" link="errorText" linkCode="text"/>
</userConnect>
<company name="Компании" destination="companies" class="ru.clearing.classes.statics.data.company.Company" logUpdates="true" table="company">
<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"/>
@ -554,8 +575,41 @@
<delete name="Удаление роли участнику" class="ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction">
<id type="1" name="Идентификатор записи" shortname="ID" link="companyRoleSet" linkCode="id" required="true"/>
</delete>
<!-- fixme replace onto:
<post name="Добавление роли компании">
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
<companyRole type="12" name="Наименование роли компании" shortname="Роль" link="companyRole" required="true"/>
<workflowStatus type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
</post>
<put name="Изменение роли компании">
<id type="1" name="Идентификатор записи" shortname="ID" link="companyRoleSet" linkCode="id"/>
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
<companyRole type="12" name="Наименование роли компании" shortname="Роль" link="companyRole" required="true"/>
<workflowStatus type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
</put>
<delete name="Удаление роли компании">
<id type="1" name="Идентификатор записи" shortname="ID" link="settlementHouseProperties" linkCode="id" required="true"/>
</delete>-->
</actions>
</companyRoleSet>
<settlementHouseProperties name="Параметры расчетной организации" destination="settlement-house-properties" class="ru.clearing.classes.statics.data.company.SettlementHouseProperties" logUpdates="true" table="settlement_house_properties">
<companyId type="1" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<currencyCode type="12" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode" linkCode="code"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<actions>
<post name="Добавление параметра РО">
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
<currencyCode type="12" name="Код валюты" shortname="Валюта" link="currencyCode" linkCode="code" required="true"/>
</post>
<put name="Изменение параметра РО">
<id type="1" name="Идентификатор записи" shortname="ID" link="settlementHouseProperties" linkCode="id" required="true"/>
<currencyCode type="12" name="Код валюты" shortname="Валюта" link="currencyCode" linkCode="code" required="true"/>
</put>
<delete name="Удаление параметра РО">
<id type="1" name="Идентификатор записи" shortname="ID" link="settlementHouseProperties" linkCode="id" required="true"/>
</delete>
</actions>
</settlementHouseProperties>
<security name="Инструменты" destination="securities" class="ru.clearing.classes.statics.data.security.Security" logUpdates="true" table="security">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<instrumentType type="12" dbname="Код типа инструмента" name="Наименование типа инструмента" shortname="Тип инструмента" searchable="true" sortable="true" visible="true" link="instrumentType"/>
@ -784,6 +838,8 @@
<symbolName type="2" length="255" name="Наименование инструмента на торговой площадке" shortname="Наименование инструмента на режиме" searchable="true" sortable="true"/>
<tradingCurrency type="12" dbname="Код валюты расчета" name="Наименование валюты расчета" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode" linkCode="code"/>
<workflowStatus type="12" dbname="Код статуса листинга в системе" name="Наименование статуса листинга в системе" shortname="Статус" searchable="true" sortable="true" visible="true" link="workflowStatus"/>
<minStep type="11" name="Шаг цены" shortname="Шаг цены" visible="true" searchable="true" sortable="true"/>
<precision type="11" name="Точность" shortname="Точность" visible="true" searchable="true" sortable="true"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
@ -808,6 +864,60 @@
</delete>
</actions>
</listing>
<currencyPairSecurity name="Валютные пары" destination="securities/currency-pair-securities" class="ru.clearing.classes.statics.data.security.CurrencyPairSecurity" logUpdates="true" table="currency_pair_security">
<baseUnitSize type="11" name="Количество валюты лота" shortname="Количество" visible="true" searchable="true" sortable="true"/>
<currencyPairId type="1" dbname="Идентификатор валютной пары" name="Валютная пара" shortname="Инструмент" searchable="true" sortable="true" ignore="true" link="currencyPair"/>
<code type="2" length="255" name="Наименование валютной пары" shortname="Валютная пара" searchable="true" sortable="true" visible="true" link="currencyPair" linkKeyCode="id" linkCode="name"/>
<settlementType type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" link="currencySettlementType" linkCode="code"/>
<clearingOrganization type="2" length="255" name="Наименование клиринговой организации" shortname="Клиринговая организация" searchable="true" sortable="true" visible="true"/>
<settlementOrganization type="2" length="255" name="Наименование расчетной организации" shortname="Расчетная организация" searchable="true" sortable="true" visible="true"/>
<securityId type="1" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" searchable="true" sortable="true" visible="true" extends="security"/>
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" searchable="true" sortable="true" visible="true" extends="security"/>
<fullName type="2" length="255" name="Полное наименование инструмента" shortname="Наименование" searchable="true" sortable="true" visible="true" extends="security"/>
<shortNameEng type="2" length="255" name="Краткое наименование инструмента на английском" shortname="Краткое наименование на английском" searchable="true" sortable="true" visible="true" extends="security"/>
<fullNameEng type="2" length="255" name="Полное наименование инструмента на английском" shortname="Наименование на английском" searchable="true" sortable="true" visible="true" extends="security"/>
<workflowStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" link="workflowStatus" extends="security"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<actions>
<post name="Добавление валютной пары" confirmation="securitySymbol,shortName,fullName,section,lotCurrencyCode,counterPartyLotCurrencyCode,lots,price,accuracy,amountLotsCurrency,settlementDate,workflowStatus">
<instrumentType type="12" name="Наименование типа инструмента" shortname="Тип инструмента" link="instrumentType" required="true" enabled="false"/>
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" required="true"/>
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" required="true"/>
<fullName type="2" length="255" name="Полное наименование инструмента" shortname="Наименование" required="true"/>
<market type="12" name="Наименование режима" shortname="Режим" link="market" linkKeyCode="code" linkCode="description" required="true"/>
<currencyPairId type="1" dbname="Идентификатор валютной пары" name="Валютная пара" shortname="Инструмент" link="currencyPair" required="true"/>
<lotSize type="11" name="Размер лота" shortname="Лот" required="true"/>
<minStep type="11" name="Шаг цены" shortname="Шаг цены" required="true"/>
<baseUnitSize type="11" name="Количество валюты лота" shortname="Количество" required="true"/>
<settlementType type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" link="currencySettlementType" required="true"/>
<workflowStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" link="workflowStatus" extends="security" required="true"/>
<settlementOrganization type="2" length="255" name="Наименование расчетной организации" shortname="Расчетная организация" required="true"/>
<clearingOrganization type="2" length="255" name="Наименование клиринговой организации" shortname="Клиринговая организация" required="true" enabled="false"/>
</post>
<put name="Изменение валютной пары" confirmation="securitySymbol,shortName,fullName,section,lotCurrencyCode,counterPartyLotCurrencyCode,lots,price,accuracy,amountLotsCurrency,settlementDate,workflowStatus">
<id type="1" name="Идентификатор записи" shortname="ID" link="currencySecurity" linkCode="id" required="true"/>
<instrumentType type="12" name="Наименование типа инструмента" shortname="Тип инструмента" link="instrumentType" required="true" enabled="false"/>
<securitySymbol type="2" length="255" name="Код инструмента" shortname="Код" required="true"/>
<shortName type="2" length="255" name="Краткое наименование инструмента" shortname="Краткое наименование" required="true"/>
<fullName type="2" length="255" name="Полное наименование инструмента" shortname="Наименование" required="true"/>
<market type="12" name="Наименование режима" shortname="Режим" link="market" linkKeyCode="code" linkCode="description" required="true"/>
<currencyPairId type="1" dbname="Идентификатор валютной пары" name="Валютная пара" shortname="Инструмент" link="currencyPair" required="true"/>
<lotSize type="11" name="Размер лота" shortname="Лот" required="true"/>
<minStep type="11" name="Шаг цены" shortname="Шаг цены" required="true"/>
<baseUnitSize type="11" name="Количество валюты лота" shortname="Количество" required="true"/>
<settlementType type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" link="currencySettlementType" required="true"/>
<workflowStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" link="workflowStatus" extends="security" required="true"/>
<settlementOrganization type="2" length="255" name="Наименование расчетной организации" shortname="Расчетная организация" required="true"/>
<clearingOrganization type="2" length="255" name="Наименование клиринговой организации" shortname="Клиринговая организация" required="true" enabled="false"/>
</put>
<delete name="Блокировка валютной пары" confirmation="securitySymbol,shortName">
<id type="1" name="Идентификатор записи" shortname="ID" link="currencySecurity" linkCode="id" required="true"/>
</delete>
</actions>
</currencyPairSecurity>
<market name="Рынки" destination="markets" class="ru.clearing.classes.statics.data.misc.Market" logUpdates="true" table="market">
<description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="true"/>
<exchangeId type="1" dbname="Идентификатор площадки" name="Наименование площадки" shortname="Площадка" searchable="true" sortable="true" link="company"/>
@ -820,15 +930,15 @@
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
</market>
<errorText name="Полные тексты ошибок" destination="error-texts" class="ru.clearing.classes.statics.data.messages.ErrorText" table="error_text">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<errorText name="Полные тексты ошибок" destination="error-texts" class="ru.clearing.classes.statics.data.messages.ErrorText" table="error_text">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
<errorCodeId type="1" dbname="Идентификатор кода ошибки" name="Код ошибки" shortname="Код" searchable="true" sortable="true" visible="true" link="errorCode"/>
<text type="2" length="255" name="Полный текст ошибки" shortname="Ошибка" searchable="true" sortable="true" visible="true"/>
<text type="2" length="255" name="Полный текст ошибки" shortname="Ошибка" searchable="true" sortable="true" visible="true"/>
<userId type="1" dbname="Идентификатор автора сообщения" name="Автор сообщения" shortname="Сотрудник" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier" ignore="true"/>
<clearingDate type="6" name="Текущая дата" shortname="Дата" visible="false" searchable="true" sortable="true" ignore="true"/>
</errorText>
</errorText>
<clientCode name="Коды клиентов компании" destination="client-codes" class="ru.clearing.classes.statics.data.account.ClientCode" logUpdates="true" table="client_сode">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
@ -837,6 +947,7 @@
<tradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра" name="Торгово-клиринговый регистр" shortname="ТКР" searchable="true" sortable="true" link="tradingClearingRegistry" linkCode="code"/>
<moneyAccountId type="1" dbname="Идентификатор денежного счета" name="Номер денежного счета" shortname="Денежный счет" searchable="true" sortable="true" link="account" linkCode="account"/>
<depoAccountId type="1" dbname="Идентификатор депозитарного счета" name="Номер депозитарного счета" shortname="Депозитарный счет" searchable="true" sortable="true" link="account" linkCode="account"/>
<currencyAccountId type="1" dbname="Идентификатор валютного счета" name="Номер валютного счета" shortname="Валютный счет" searchable="true" sortable="true" link="account" linkCode="account"/>
<status type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
@ -847,6 +958,7 @@
<tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="ТКР" link="tradingClearingRegistry" linkCode="code"/>
<moneyAccountId type="1" name="Номер денежного счета" shortname="Денежный счет" link="account" linkCode="account"/>
<depoAccountId type="1" name="Номер депозитарного счета" shortname="Депозитарный счет" link="account" linkCode="account"/>
<currencyAccountList type="7" name="Список валютных счетов" shortname="Список валютных счетов" link="account" linkCode="account"/>
<status type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
</post>
<put name="Изменение кода клиента" confirmation="companyId,code,tradingClearingRegistryId,moneyAccountId,depoAccountId,status" class="ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeUpdateAction">
@ -856,6 +968,7 @@
<tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="ТКР" link="tradingClearingRegistry" linkCode="code"/>
<moneyAccountId type="1" name="Номер денежного счета" shortname="Денежный счет" link="account" linkCode="account"/>
<depoAccountId type="1" name="Номер депозитарного счета" shortname="Депозитарный счет" link="account" linkCode="account"/>
<currencyAccountList type="7" name="Список валютных счетов" shortname="Список валютных счетов" link="account" linkCode="account"/>
<status type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
</put>
<delete name="Блокировка кода клиента" confirmation="companyId,code" class="ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction">
@ -867,8 +980,8 @@
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<code type="2" length="255" name="Код торгово-клирингового регистра" shortname="ТКР" searchable="true" sortable="true" visible="true"/>
<moneyAccountId type="1" dbname="Идентификатор денежного счета" name="Номер денежного счета" shortname="Денежный счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<depoAccountId type="1" dbname="Идентификатор депозитарного счета" name="Номер депозитарного счета" shortname="Депозитарный счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<moneyAccountId type="1" dbname="Идентификатор денежного счета" name="Номер денежного счета" shortname="Денежный счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<depoAccountId type="1" dbname="Идентификатор депозитарного счета" name="Номер депозитарного счета" shortname="Депозитарный счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<tradingClearingRegistryType type="12" dbname="Код торгово-клирингового регистра" name="Тип торгово-клирингового регистра" shortname="Тип ТКР" searchable="true" sortable="true" link="tradingClearingRegistryType"/>
<tradingClearingRegistryLevel type="12" dbname="Код торгово-клирингового регистра" name="Уровень торгово-клирингового регистра" shortname="Уровень ТКР" searchable="true" sortable="true" link="tradingClearingRegistryLevel" ignore="true"/>
<tradingClearingRegistryPurpose type="12" dbname="Код области применения" name="Область применения" shortname="Область" searchable="true" sortable="true" link="tradingClearingRegistryPurpose"/>
@ -895,6 +1008,28 @@
</delete>
</actions>
</tradingClearingRegistry>
<tradingClearingRegistryList name="Список счетов ТКР" destination="trading-clearing-registries-list" class="ru.clearing.classes.statics.data.registry.TradingClearingRegistryList" logUpdates="true" table="trading_clearing_registry_list">
<tradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра" name="Торгово-клиринговый регистр" shortname="Торгово-клиринговый регистр" searchable="true" sortable="true" link="tradingClearingRegistry"/>
<accountId type="1" dbname="Идентификатор валютного счета" name="Номер валютного счета" shortname="Денежный счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<currency type="12" dbname="Код валюты" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode" linkCode="code"/>
<status type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" link="serviceStatus"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" name="Дата и время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
<updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
<actions>
<post name="Добавление списка счетов ТКР" confirmation="tradingClearingRegistryId,accountId,status">
<tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="ТКР" link="tradingClearingRegistry" linkCode="code"/>
<currencyAccountList type="7" name="Список валютных счетов" shortname="Список валютных счетов" link="account" linkCode="account"/>
<status type="12" name="Наименование статуса" shortname="Статус" link="serviceStatus" required="true"/>
</post>
<put name="Изменение списка счетов ТКР" confirmation="tradingClearingRegistryId,accountId,status">
<id type="1" name="Идентификатор записи" shortname="ID" link="clientCode" linkCode="id" required="true"/>
<tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="ТКР" link="tradingClearingRegistry" linkCode="code"/>
<currencyAccountList type="7" name="Список валютных счетов" shortname="Список валютных счетов" link="account" linkCode="account"/>
<status type="12" name="Наименование статуса" shortname="Статус" link="serviceStatus" required="true"/>
</put>
</actions>
</tradingClearingRegistryList>
<registry name="Регистр активов, обязательств и требований УК" destination="registries" class="ru.clearing.classes.statics.data.registry.Registry" logUpdates="true" table="registry">
<companyId type="1" dbname="Идентификатор участника" name="Наименование участника" shortname="Участник" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<tradingCode type="2" length="255" name="Торговый код участника" shortname="Торговый код" searchable="true" sortable="true" visible="false"/>
@ -944,6 +1079,24 @@
<updatedAt field="updated" type="4" name="Дата и время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
<securityId type="1" dbname="Идентификатор инструмента" name="Код инструмента" shortname="Код инструмента" searchable="false" sortable="true" visible="false" link="security" linkCode="shortName"/>
<actions>
<!-- fixme or this:
<post name="Досрочное изъятие депозита" destination="registries/splitDeposit" confirmation="contract,outboundAmount,refundDate" class="ru.spcex.clearing.backendapi.controller.request.cud.registry.RSplitDepositActionNew">
<companyId type="1" name="Наименование участника" shortname="Инициатор" link="company" linkCode="shortName" enabled="false"/>
<contract type="2" length="255" name="Договор" shortname="Номер договора" required="true" enabled="false"/>
<outboundAmount type="10" name="Сумма изъятия" shortname="Сумма" required="true"/>
<refundDate type="6" name="Дата возврата" shortname="Дата" required="true"/>
<comment type="2" length="255" name="Основание для вывода" shortname="Основание"/>
<direction type="1" name="Направление" shortname="Направление" link="inOutDirection"/>
</post>
<post name="Отметить средства на возврат депозита" destination="registries/returnDeposit" class="ru.spcex.clearing.backendapi.controller.request.cud.registry.ReturnDepositActionNew">
<id type="1" name="Регистр требований" shortname="Регистр требований" required="true" enabled="false" visible="false"/>
<balance type="10" name="Сумма" shortname="Сумма" required="true"/>
</post>
<put name="Изменение даты возврата депозита" destination="registries/changeRefundDate" confirmation="contact,contract,refundDate" class="ru.spcex.clearing.backendapi.controller.request.cud.registry.ChangeRefundDateActionNew">
<groupId type="1" dbname="Идентификатор группы связанных регистров" name="Идентификатор группы" required="true" enabled="false" visible="false"/>
<contract type="2" length="255" name="Договор" shortname="Номер договора" required="true" enabled="false"/>
<refundDate type="6" name="Дата возврата депозита" shortname="Возврат депозита" visible="true" enabled="true"/>
</put>-->
<post name="Разделение депозита" destination="registries/splitDeposit" confirmation="contract,outboundAmount,refundDate" class="ru.spcex.clearing.backendapi.controller.request.cud.registry.RSplitDepositActionNew">
<companyId type="1" name="Наименование участника" shortname="Инициатор" link="company" linkCode="shortName" enabled="false"/>
<contract type="2" length="255" name="Договор" shortname="Номер договора" required="true" enabled="false"/>
@ -962,7 +1115,7 @@
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
<tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="Торгово-клиринговый регистр" link="tradingClearingRegistry" linkCode="code" required="true"/>
</post>
<put name="Изменение даты возврата депозита" destination="registries/changeRefundDate" confirmation="contact,contract,refundDate" class="ru.spcex.clearing.backendapi.controller.request.cud.registry.ChangeRefundDateActionNew">
<put name="Изменение даты возврата депозита" destination="registries/changeRefundDate" confirmation="contact,contract,refundDate" class="ru.spcex.clearing.backendapi.controller.request.cud.registry.ChangeRefundDateActionNew">
<groupId type="1" dbname="Идентификатор группы связанных регистров" name="Идентификатор группы" required="true" enabled="false" visible="false"/>
<contract type="2" length="255" name="Договор" shortname="Номер договора" required="true" enabled="false"/>
<refundDate type="6" name="Дата возврата депозита" shortname="Возврат депозита" visible="true" enabled="true"/>
@ -980,13 +1133,31 @@
<account type="2" length="50" name="Номер счета" shortname="Счет" searchable="true" sortable="true" visible="true"/>
<accountType type="12" dbname="Код типа счета" name="Наименование типа счета" shortname="Тип" searchable="true" sortable="true" visible="true" link="accountType"/>
<relationId type="1" dbname="Идентификатор договорных отношений" name="Договорные отношения" shortname="Договор" searchable="true" sortable="true" link="relation" ignore="true"/>
<currency type="12" dbname="Код валюты" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode" linkCode="code"/>
<status type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" link="serviceStatus"/>
<processingSign type="12" dbname="Код признака обработки счета" name="Признак обработки счета" shortname="Обработка счета" searchable="true" sortable="true" visible="true" link="allowed" ignore="true"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<actions>
<!--fixme or this:
<post name="Добавление корреспондентского счета" confirmation="companyId,account,status" class="ru.spcex.clearing.backendapi.controller.request.cud.account.AccountNewAction">
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
<account type="2" length="50" name="Номер счета" shortname="Счет" required="true"/>
<status type="12" name="Наименование статуса" shortname="Статус" link="serviceStatus"/>
<accountType type="12" name="Наименование типа счета" shortname="Тип" link="accountType" required="true" visible="false"/>
</post>
<put name="Изменение корреспондентского счета" confirmation="companyId,account,status" class="ru.spcex.clearing.backendapi.controller.request.cud.account.AccountUpdateAction">
<id type="1" name="Идентификатор записи" shortname="ID" link="account" linkCode="id" required="true"/>
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" enabled="false"/>
<account type="2" length="50" name="Номер счета" shortname="Счет" enabled="false"/>
<status type="12" name="Наименование статуса" shortname="Статус" link="serviceStatus"/>
<accountType type="12" name="Наименование типа счета" shortname="Тип" link="accountType" required="true" visible="false"/>
</put>
<delete name="Блокировка корреспондентского счета" confirmation="companyId,account" class="ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction">
<id type="1" name="Идентификатор записи" shortname="ID" link="account" linkCode="id" required="true"/>
</delete>-->
<post name="Добавление счета" confirmation="companyId,account,status" class="ru.spcex.clearing.backendapi.controller.request.cud.account.AccountNewAction">
<companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
<account type="2" length="50" name="Номер счета" shortname="Счет"/>
@ -1019,7 +1190,7 @@
<put name="Изменение статуса договорных отношений" confirmation="serviceStatus,comment">
<id type="1" name="Идентификатор записи" shortname="ID" link="relation" linkCode="id" required="true"/>
<serviceStatus type="12" name="Наименование статуса" shortname="Статус" link="serviceStatus" required="true"/>
<comment type="2" length="255" name="Текст причины" shortname="Причина"/>
<comment type="2" length="255" name="Текст причины" shortname="Причина"/>
</put>
</actions>
</relation>
@ -1037,7 +1208,7 @@
<taxpayerIdentificationNumber type="2" length="255" name="Идентификационный номер налогоплательщика (ИНН)" shortname="ИНН" searchable="true" sortable="true" visible="true"/>
<taxRegistrationReasonCode type="2" length="255" name="Код причины постановки (КПП)" shortname="КПП" searchable="true" sortable="true" visible="true"/>
<account type="2" length="50" name="Номер счета" shortname="Счет" searchable="true" sortable="true" visible="true"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<status field="accountId" type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" linkKeyCode="id" linkCode="status" link="account" extends="account"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<actions>
@ -1073,7 +1244,7 @@
<informationAccount name="Регистр КС" destination="accounting/information-accounts" class="ru.clearing.classes.statics.data.account.InformationAccount" logUpdates="true" table="information_account">
<accountId type="1" dbname="Идентификатор информационного счета" name="Номер информационного счета" shortname="Регистр на КС" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<clearingAccountId type="1" dbname="Идентификатор аналитического счета" name="Номер аналитического счета" shortname="Клиринговый счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<serviceStatus field="accountId" type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" linkKeyCode="id" linkCode="status" link="account" extends="account" />
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
</informationAccount>
@ -1086,12 +1257,12 @@
</depoAccount>
<accountSymbols name="Депо КС - РДЦ" destination="accounting/depo-accounts-symbols" class="ru.clearing.classes.statics.data.account.AccountSymbols" logUpdates="true" table="depo_account_symbols">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<accountId type="1" dbname="Идентификатор счета" name="Счет депо КС" shortname= "Счет депо КС" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<accountSymbolValue type="2" length="255" name="Счет РДЦ" shortname="Счет РДЦ" searchable="true" sortable="true" visible="true"/>
<accountId type="1" dbname="Идентификатор счета" name="Номер счета" shortname="Счет" searchable="true" sortable="true" visible="true" link="account" linkCode="account"/>
<accountSymbolValue type="2" length="255" name="Значение реквизита" shortname="Значение" searchable="true" sortable="true" visible="true"/>
<actions>
<post name="Добавление депо КС - РДЦ" confirmation="accountId,accountSymbolValue" class="ru.spcex.clearing.backendapi.controller.request.cud.account.AccountSymbolsNewAction">
<accountId type="1" dbname="Идентификатор счета" name="Счет депо КС" shortname= "Счет депо КС" link="account" linkCode="account" required="true"/>
<accountSymbolValue type="2" length="255" name="Счет РДЦ" shortname="Счет РДЦ" required="true"/>
<post name="Добавление депо КС - РДЦ" confirmation="accountId,accountSymbolValue">
<accountId type="1" dbname="Идентификатор счета" name="Номер счета" shortname="Счет" link="account" linkCode="account" required="true"/>
<accountSymbolValue type="2" length="255" name="Значение реквизита" shortname="Значение" required="true"/>
</post>
<delete name="Удаление депо КС - РДЦ" confirmation="accountId,accountSymbolValue">
<id type="1" name="Идентификатор записи" shortname="ID" link="account" linkCode="id" required="true"/>
@ -1105,10 +1276,10 @@
<serviceStatus field="accountId" type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" linkKeyCode="id" linkCode="status" link="account" extends="account" />
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
</clearingAccount>
<plannerTemplate name="Шаблон расписания операционного дня" destination="schedule/planner-templates" class="ru.clearing.classes.statics.data.scheduler.PlannerTemplate" table="planner_template">
<plannerTemplate name="Шаблон расписания операционного дня" destination="schedule/planner-templates" class="ru.clearing.classes.statics.data.scheduler.PlannerTemplate" table="planner_template">
<task type="12" dbname="Код задачи" name="Наименование задачи" shortname="Задача" searchable="false" sortable="false" visible="true" link="task"/>
<taskTime type="5" name="Время задачи" shortname="Время задачи" searchable="false" sortable="false" visible="true"/>
<market type="12" dbname="Код рынка" name="Наименование рынка" shortname="Рынок" searchable="true" sortable="true" visible="true" link="market" linkKeyCode="code" linkCode="description" ignore="true"/>
<market type="12" dbname="Код рынка" name="Наименование рынка" shortname="Рынок" searchable="true" sortable="true" visible="true" link="market" linkKeyCode="code" linkCode="description" ignore="true"/>
<section type="12" dbname="Код наименования секции" name="Наименование секции" shortname="Секция" searchable="true" sortable="true" visible="true" link="section" linkCode="name"/>
<sessionType type="12" dbname="Код типа клиринговой сессии" name="Тип клиринговой сессии" shortname="Тип КС" searchable="true" sortable="true" visible="true" link="sessionType" linkCode="name"/>
<taskStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="false" sortable="true" visible="true" link="taskStatus"/>
@ -1141,8 +1312,8 @@
<id type="1" name="Идентификатор записи" shortname="ID" link="plannerTemplate" linkCode="id" required="true"/>
</delete>
</actions>
</plannerTemplate>
<clearingCalendar name="Рабочие и нерабочие дни" destination="schedule/clearing-calendars" class="ru.clearing.classes.statics.data.scheduler.ClearingCalendar" table="clearing_calendar">
</plannerTemplate>
<clearingCalendar name="Рабочие и нерабочие дни" destination="schedule/clearing-calendars" class="ru.clearing.classes.statics.data.scheduler.ClearingCalendar" table="clearing_calendar">
<clearingDate type="6" name="Дата" shortname="Дата" searchable="false" sortable="false" visible="true"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="false" sortable="false" link="company" linkCode="shortName"/>
<dayStatus type="12" dbname="Код статуса" name="Статус" shortname="Статус" searchable="false" sortable="true" visible="true" link="dayStatus"/>
@ -1165,20 +1336,20 @@
<id type="1" name="Идентификатор записи" shortname="ID" link="clearingCalendar" linkCode="id" required="true"/>
</delete>
</actions>
</clearingCalendar>
<planner name="Расписание на все даты" destination="schedule/planners" class="ru.clearing.classes.statics.data.scheduler.Planner" table="planner">
<task type="12" dbname="Код задачи" name="Наименование задачи" shortname="Задача" searchable="false" sortable="false" visible="true" link="task"/>
<taskTime type="5" name="Время задачи" shortname="Время задачи" searchable="false" sortable="false" visible="true"/>
<clearingDate type="6" name="Дата задачи" shortname="Дата задачи" searchable="false" sortable="false" visible="true"/>
<market type="12" dbname="Код рынка" name="Наименование рынка" shortname="Рынок" searchable="true" sortable="true" visible="true" link="market" linkKeyCode="code" linkCode="description" ignore="true"/>
</clearingCalendar>
<planner name="Расписание на все даты" destination="schedule/planners" class="ru.clearing.classes.statics.data.scheduler.Planner" table="planner">
<task type="12" dbname="Код задачи" name="Наименование задачи" shortname="Задача" searchable="false" sortable="false" visible="true" link="task"/>
<taskTime type="5" name="Время задачи" shortname="Время задачи" searchable="false" sortable="false" visible="true"/>
<clearingDate type="6" name="Дата задачи" shortname="Дата задачи" searchable="false" sortable="false" visible="true"/>
<market type="12" dbname="Код рынка" name="Наименование рынка" shortname="Рынок" searchable="true" sortable="true" visible="true" link="market" linkKeyCode="code" linkCode="description" ignore="true"/>
<section type="12" dbname="Код наименования секции" name="Наименование секции" shortname="Секция" searchable="true" sortable="true" visible="true" link="section" linkCode="name"/>
<sessionType type="12" dbname="Код типа клиринговой сессии" name="Тип клиринговой сессии" shortname="Тип КС" searchable="true" sortable="true" visible="true" link="sessionType" linkCode="name"/>
<taskStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="false" sortable="true" visible="true" link="taskStatus"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="false" sortable="false" link="company" linkCode="shortName"/>
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="false" sortable="true" link="security" linkCode="shortName"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<taskStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="false" sortable="true" visible="true" link="taskStatus"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="false" sortable="false" link="company" linkCode="shortName"/>
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="false" sortable="true" link="security" linkCode="shortName"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<actions>
<post name="Новое расписание" class="ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerNewAction">
<task type="12" name="Наименование задачи" shortname="Задача" link="task" required="true"/>
@ -1205,37 +1376,38 @@
<id type="1" name="Идентификатор записи" shortname="ID" link="planner" linkCode="id" required="true"/>
</delete>
</actions>
</planner>
<plannerAllToday name="Расписание на текущий день" destination="schedule/planners-all-today" class="ru.clearing.classes.statics.data.scheduler.PlannerAllToday" table="planner_all_today">
<task type="12" dbname="Код задачи" name="Наименование задачи" shortname="Задача" searchable="true" sortable="true" visible="true" link="task"/>
<taskTime type="5" name="Время" shortname="Время" searchable="true" sortable="true" visible="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true"/>
<market type="12" dbname="Код рынка" name="Наименование рынка" shortname="Рынок" searchable="true" sortable="true" visible="true" link="market" linkKeyCode="code" linkCode="description" ignore="true"/>
</planner>
<plannerAllToday name="Расписание на текущий день" destination="schedule/planners-all-today" class="ru.clearing.classes.statics.data.scheduler.PlannerAllToday" table="planner_all_today">
<task type="12" dbname="Код задачи" name="Наименование задачи" shortname="Задача" searchable="true" sortable="true" visible="true" link="task"/>
<taskTime type="5" name="Время" shortname="Время" searchable="true" sortable="true" visible="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true"/>
<market type="12" dbname="Код рынка" name="Наименование рынка" shortname="Рынок" searchable="true" sortable="true" visible="true" link="market" linkKeyCode="code" linkCode="description" ignore="true"/>
<section type="12" dbname="Код наименования секции" name="Наименование секции" shortname="Секция" searchable="true" sortable="true" visible="true" link="section" linkCode="name"/>
<sessionType type="12" dbname="Код типа клиринговой сессии" name="Тип клиринговой сессии" shortname="Тип КС" searchable="true" sortable="true" visible="true" link="sessionType" linkCode="name"/>
<taskStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" link="taskStatus"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="false" sortable="false" link="company" linkCode="shortName"/>
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
<parent type="12" dbname="Код источника записи расписания" name="Источник записи расписания" shortname="Источник" searchable="true" sortable="true" link="parent"/>
<parentId type="1" name="Идентификатор записи в таблице-источнике" shortname="ID источника" searchable="false" sortable="false"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
</plannerAllToday>
<launcher name="Запуск задачи" destination="launchers" class="ru.clearing.classes.statics.data.scheduler.Launcher" table="launcher">
<senderId type="1" dbname="Идентификатор отправителя" name="Наименование отправителя" shortname="Отправитель" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<task type="12" dbname="Код задачи" name="Наименование задачи" shortname="Задача" searchable="true" sortable="true" visible="true" link="task"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<taskStatus type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" visible="true" link="taskStatus"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="false" sortable="false" link="company" linkCode="shortName"/>
<securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="true" sortable="true" link="security" linkCode="shortName"/>
<parent type="12" dbname="Код источника записи расписания" name="Источник записи расписания" shortname="Источник" searchable="true" sortable="true" link="parent"/>
<parentId type="1" name="Идентификатор записи в таблице-источнике" shortname="ID источника" searchable="false" sortable="false"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
</plannerAllToday>
<launcher name="Запуск задачи" destination="launchers" class="ru.clearing.classes.statics.data.scheduler.Launcher" table="launcher">
<senderId type="1" dbname="Идентификатор отправителя" name="Наименование отправителя" shortname="Отправитель" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<task type="12" dbname="Код задачи" name="Наименование задачи" shortname="Задача" searchable="true" sortable="true" visible="true" link="task"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<actions>
<post destination="GVER" group="Общее" name="Запуск сверки">
</post>
<post destination="GRYT" group="Общее" name="Подготовка КС к клиринговому дню">
</post>
<post destination="LOCM" group="Обмен с интеграционными модулями" name="Загрузка участников">
</post>
</post>
<post destination="LOSC" group="Обмен с интеграционными модулями" name="Загрузка инструментов">
</post>
<post destination="GALB" group="Обмен с расчетной организацией" name="Запрос остатков по всем счетам (отправка ДФ-56 для получения ответа ДФ-01, ДФ-57)">
<fromTime type="5" name="Запросить с " shortname="Запросить с "/>
</post>
<post destination="OUTV" group="Обмен с расчетной организацией" name="Вывод свободных средств с клирингового регистра (отправка ДФ-54 для получения ответа ДФ-55)">
<fullBalance type="10" name="Текущий баланс (всего)" shortname="Текущие средства (всего)" enabled="false"/>
@ -1250,6 +1422,8 @@
</post>
<post destination="GTRD" group="Обмен с Торговой системой" name="Получение сделок из Торговой системы">
</post>
<post destination="CBRR" group="Обмен с интеграционными модулями" name="Загрузка кросс-курсов">
</post>
<post destination="LIMM" group="Обмен с Торговой системой" name="Выгрузка в Торговую систему остатков по деньгам (отправка lim)">
</post>
<post destination="LIMS" group="Обмен с Торговой системой" name="Выгрузка в Торговую систему остатков по бумагам (отправка lim)">
@ -1277,6 +1451,7 @@
<post destination="EXLR" group="Формирование реестров" name="Формирование реестра обязательств, исключенных из клирингового пула">
</post>
<post destination="LBSR" group="Формирование реестров" name="Формирование реестра учета обязательств">
<settlementDate type="6" name="Дата" shortname="Дата"/>
</post>
<post destination="ECNR" group="Формирование реестров" name="Формирование реестра сделок">
</post>
@ -1287,16 +1462,19 @@
<post destination="FDFF" group="Обмен с расчетной организацией" name="Формирование ДФ-05 с кодом 9 (финальный)">
</post>
<post destination="CHDF" group="Общее" name="Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21">
</post>
</post>
<post destination="CCLR" group="Клиринг" name="Завершение неудачных клиринговых сессий">
</post>
<post destination="MTCR" group="Формирование отчетности" name="Формирование файлов с МТКР">
</post>
<post destination="LIMC" group="Обмен с Торговой системой" name="Выгрузка в Торговую систему остатков по валют (отправка lim)">
</post>
</actions>
</launcher>
</launcher>
<session name="Клиринговые сессии" destination="sessions" class="ru.clearing.classes.statics.data.misc.Session" logUpdates="true" table="session">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Завершено" searchable="true" sortable="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true"/>
<sessionStatus type="12" dbname="Код статуса клиринговой сессии" name="Статус клиринговой сессии" shortname="Шаг" searchable="true" sortable="true" visible="true" link="sessionStatus"/>
<companyId type="1" dbname="Идентификатор инициатора торгов" name="Наименование инициатора торгов" shortname="Инициатор" visible="false" searchable="true" sortable="true" link="company" linkCode="shortName"/>
@ -1361,7 +1539,7 @@
<tradingDate type="6" name="Дата заключения сделки" shortname="Дата заключения сделки" visible="true" searchable="true" sortable="true"/>
<tradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра" name="Торгово-клиринговый регистр" shortname="ТКР" visible="true" searchable="true" sortable="true" link="tradingClearingRegistry" linkCode="code"/>
<partyTradingClearingRegistry type="2" length="20" dbname="Торгово-клиринговый регистр " name="Торгово-клиринговый регистр " shortname="ТКР " searchable="true" sortable="true" ignore="true"/>
<market type="2" length="8" dbname="Код секции финансового инструмента" name="Секция финансового инструмента" shortname="Секция" visible="true" searchable="true" sortable="true" link="market" linkKeyCode="code" linkCode="description"/>
<market type="2" length="8" dbname="Код секции финансового инструмента" name="Секция финансового инструмента" shortname="Секция" visible="true" searchable="true" sortable="true"/>
<price type="10" name="Ставка по депозиту" shortname="Ставка, %" visible="true" searchable="true" sortable="true"/>
<lots type="11" name="Количество лотов" shortname="Лоты" visible="true" searchable="true" sortable="true"/>
<quantity type="11" name="Количество штук" shortname="Штуки" visible="false" searchable="true" sortable="true"/>
@ -1398,7 +1576,7 @@
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/>
<exchangeExecutionId type="1" name="Идентификационный номер сделки в Торговой системе" shortname="Номер сделки" visible="true" searchable="true" sortable="true"/>
<side type="12" dbname="Код направления сделки" name="Направление сделки" shortname="Направление" visible="true" searchable="true" sortable="true" link="side"/>
<market type="12" dbname="Код секции финансового инструмента" name="Секция финансового инструмента" shortname="Секция" visible="true" searchable="true" sortable="true" link="market" linkKeyCode="code" linkCode="description"/>
<market type="12" dbname="Код секции финансового инструмента" name="Секция финансового инструмента" shortname="Секция" visible="true" searchable="true" sortable="true"/>
<tradingDate type="6" name="Дата заключения сделки" shortname="Дата заключения сделки" visible="true" searchable="true" sortable="true"/>
<securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="true" searchable="true" sortable="true"/>
<securityId type="1" dbname="Идентификатор финансового инструмента" name="Финансовый инструмент" shortname="Код биржевого инструмента / товара" searchable="true" sortable="true" link="security" linkCode="securitySymbol" ignore="true"/>
@ -1426,29 +1604,65 @@
<coverageStatus type="12" dbname="Код статуса достаточности обеспечения" name="Cтатус достаточности обеспечения" shortname="Обеспеченность" searchable="true" sortable="true" link="allowed"/>
<sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
</executionFond>
<executionCurrency name="Сделки с валютными инструментами" destination="execution-currency" class="ru.clearing.classes.statics.data.execution.ExecutionCurrency" logUpdates="true" table="execution_currency">
<exchangeExecutionId type="1" name="Идентификационный номер сделки в Торговой системе" shortname="Номер сделки" visible="true" searchable="true" sortable="true"/>
<exchangeExecutionTime type="4" name="Время заключения сделки в Торговой системе" shortname="Время заключения сделки" visible="true" searchable="true" sortable="true"/>
<exchangeExecutionMicroseconds type="4" name="Микросекунды заключения сделки в Торговой системе" shortname="Микросекунды заключения сделки" visible="true" searchable="true" sortable="true"/>
<tradingDate type="6" name="Дата заключения сделки" shortname="Дата заключения сделки" visible="true" searchable="true" sortable="true"/>
<settlementDate type="6" name="Дата расчетов" shortname="Дата расчетов" visible="true" searchable="true" sortable="true"/>
<settlementCode type="2" length="12" name="Код расчетов при размещении" shortname="Код расчетов при размещении" visible="false" searchable="true" sortable="true" ignore="true"/>
<securityId type="1" dbname="Идентификатор финансового инструмента" name="Финансовый инструмент" shortname="Код биржевого инструмента / товара" searchable="true" sortable="true" link="security" linkCode="securitySymbol" ignore="true"/>
<securitySymbol type="2" length="255" name="Код инструмента в Торговой Системе" shortname="Код инструмента" visible="true" searchable="true" sortable="true"/>
<securityName type="2" length="255" name="Краткое наименование инструмента" shortname="Наименование инструмента" searchable="true" sortable="true" visible="true"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" visible="true" searchable="true" sortable="true" link="company" linkCode="shortName"/>
<partyTradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра" name="Торгово-клиринговый регистр" shortname="ТКР" visible="true" searchable="true" sortable="true" link="tradingClearingRegistry" linkCode="code"/>
<partyTradingClearingRegistry type="2" length="20" dbname="Торгово-клиринговый регистр " name="Торгово-клиринговый регистр " shortname="ТКР " searchable="true" sortable="true" ignore="true"/>
<counterPartyId type="1" dbname="Идентификатор компании-партнера, с которой заключена сделка" name="Наименование компании-партнера, с которой заключена сделка" shortname="Партнер" visible="false" searchable="true" sortable="true" link="company" linkCode="shortName"/>
<counterPartyTradingClearingRegistryId type="1" dbname="Идентификатор торгово-клирингового регистра партнера" name="Торгово-клиринговый регистр партнера" shortname="ТКР партнера" visible="true" searchable="true" sortable="true" link="tradingClearingRegistry" linkCode="code" ignore="true"/>
<counterPartyTradingClearingRegistry type="2" length="20" dbname="Торгово-клиринговый регистр партнера" name="Торгово-клиринговый регистр партнера" shortname="ТКР партнера" visible="true" searchable="true" sortable="true" />
<market type="12" dbname="Код секции валютного инструмента" name="Секция валютного инструмента" shortname="Секция" visible="true" searchable="true" sortable="true" link="market" linkKeyCode="code" linkCode="description"/>
<price type="10" name="Цена" shortname ="Цена" visible="true" searchable="true" sortable="true"/>
<lotSize type="11" name="Размер лота" shortname="Лот" searchable="true" sortable="true" visible="true" linkKeyCode="securityId" linkCode="lotSize" link="listing" extends="listing"/>
<lots type="11" name="Количество лотов" shortname="Лоты" visible="true" searchable="true" sortable="true"/>
<settlementAmount type="11" name="Объем сделки в валюте лота" shortname="Объем в валюте" visible="true" searchable="true" sortable="true"/>
<quantity type="11" name="Количество штук" shortname="Количество штук" visible="true" searchable="true" sortable="true"/>
<side type="12" dbname="Код направления сделки" name="Направление сделки" shortname="Направление" visible="true" searchable="true" sortable="true" link="side"/>
<сurrencyCode type="12" name="Код валюты лота" shortname="Код валюты лота" searchable="true" sortable="true" link="currencyCode" linkCode="code"/>
<settlementOrganization type="2" length="255" name="Наименование расчетной организации" shortname="Расчетная организация" searchable="true" sortable="true" visible="true"/>
<coverageStatus type="12" dbname="Код статуса достаточности обеспечения" name="Cтатус достаточности обеспечения" shortname="Обеспеченность" searchable="true" sortable="true" link="allowed"/>
<sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/>
<id type="1" name="Идентификатор записи" shortname="ID" visible="false" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" visible="false" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" visible="false" searchable="true" sortable="true"/>
</executionCurrency>
<depoBalanceRegister name="Реестр остатков ценных бумаг" destination="depo-balance-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.DepoBalanceRegister" table="balance_depo_register">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" ignore="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" visible="true" searchable="true" sortable="true" link="company" linkCode="shortName"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" visible="true" searchable="true" sortable="true" link="company" linkCode="shortName"/>
<sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session" ignore="true"/>
<depoCode type="2" length="50" name="Код раздела субсчета/счета депо" shortname="Код счета депо" searchable="true" sortable="true"/>
<quantity type="11" name="Количество" shortname="Количество" searchable="true" sortable="true"/>
<setHouseName type="2" length="255" name="Наименование РД" shortname="Наименование РД" searchable="true" sortable="true" visible="true"/>
<number type="2" length="255" name="Номер отчета" shortname="Номер отчета" searchable="true" sortable="true" visible="true"/>
<depoCode type="2" length="50" name="Код раздела субсчета/счета депо" shortname="Код счета депо" searchable="true" sortable="true"/>
<quantity type="11" name="Количество" shortname="Количество" searchable="true" sortable="true"/>
<securitySymbol type="2" length="255" name="Код ценной бумаги" shortname="Ценная бумага" searchable="true" sortable="true"/>
</depoBalanceRegister>
<moneyBalanceRegister name="Реестр остатков денежных средств" destination="money-balance-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.MoneyBalanceRegister" table="money_balance_register">
<setHouseName type="2" length="255" name="Наименование РО" shortname="Наименование РО" searchable="true" sortable="true" visible="true"/>
<account type="2" length="50" name="Номер торгового/клирингового счета" shortname="Номер торгового/клирингового счета" searchable="true" sortable="true" visible="true"/>
<infoAccount type="2" length="50" name="Номер счета внутреннего учета СПВБ" shortname="Номер счета внутреннего учета СПВБ" searchable="true" sortable="true" visible="true" ignore="true"/>
<number type="2" length="255" name="Номер отчета" shortname="Номер отчета" searchable="true" sortable="true" visible="true"/>
<createdAt type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<currencyCode type="12" dbname="Код валюты" name="Код валюты" shortname="Валюта" searchable="true" sortable="true" visible="true" link="currencyCode" linkCode="code"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<account type="2" length="50" name="Номер торгового /клирингового счета/ счета внутреннего учета СПВБ" shortname="Счет" searchable="true" sortable="true" visible="true"/>
<remainderSum type="10" name="Остаток денежных средств" shortname="Остаток" searchable="true" sortable="true"/>
<blockedSum type="10" name="Сумма блокированных денежных средств" shortname="Блокированные" searchable="true" sortable="true" ignore="true"/>
<unblockedSum type="10" name="Сумма свободных денежных средств" shortname="Свободные" searchable="true" sortable="true" ignore="true"/>
<infoAccount type="2" length="50" name="Номер счета внутреннего учета СПВБ" shortname="Номер счета внутреннего учета СПВБ" searchable="true" sortable="true" visible="true" ignore="true"/>
<companyFullName type="2" length="255" name="Полное наименование компании" shortname="Полное наименование компании" searchable="true" sortable="true" visible="true" ignore="true"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" ignore="true"/>
<inn type="2" length="255" name="Идентификационный номер налогоплательщика (ИНН)" shortname="ИНН" searchable="true" sortable="true" visible="true" ignore="true"/>
<sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session" ignore="true"/>
<companyFullName type="2" length="255" name="Полное наименование компании" shortname="Полное наименование компании" searchable="true" sortable="true" visible="true" ignore="true"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" ignore="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<blockedSum type="10" name="Сумма блокированных денежных средств" shortname="Блокированные" searchable="true" sortable="true" ignore="true"/>
<unblockedSum type="10" name="Сумма свободных денежных средств" shortname="Свободные" searchable="true" sortable="true" ignore="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
</moneyBalanceRegister>
<admittedLiabilitiesRegister name="Реестр обязательств, допущенных к клирингу" destination="admitted-liabilities-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.AdmittedLiabilitiesRegister" table="admitted_liabilities_register">
@ -1464,7 +1678,7 @@
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" visible="false"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" visible="false"/>
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" searchable="true" sortable="true" visible="false"/>
</admittedLiabilitiesRegister>
</admittedLiabilitiesRegister>
<coveredLiabilitiesRegister name="Реестр обязательств, прошедших процедуру контроля обеспечения" destination="covered-liabilities-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.CoveredLiabilitiesRegister" table="covered_Liabilities_register">
<companyFullName type="2" length="255" name="Полное наименование компании" shortname="Полное наименование компании" searchable="true" sortable="true" visible="true"/>
<sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
@ -1478,7 +1692,7 @@
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" visible="false"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" visible="false"/>
<clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" searchable="true" sortable="true" visible="false"/>
</coveredLiabilitiesRegister>
</coveredLiabilitiesRegister>
<moneyPaymentInstructionRegister name="Реестр распоряжений, направленных расчетной организации" destination="money-payment-instruction-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.MoneyPaymentInstructionRegister" table="money_payment_instruction_register">
<creditLegAccount type="2" length="50" name="Счет отправителя" shortname="Счет отправителя" searchable="true" sortable="true" visible="true"/>
<creditLegAmount type="10" name="Сумма отправителя" shortname="Сумма отправителя" searchable="true" sortable="true" visible="true"/>
@ -1500,7 +1714,7 @@
<tradingClearingRegistry type="2" length="50" name="Торгово-клиринговый регистр" shortname="ТКР" searchable="true" sortable="true"/>
<cbCode type="2" length="50" name="Код ЦБ" shortname="Код ЦБ" searchable="true" sortable="true"/>
<quantity type="11" name="Количество" shortname="Количество" searchable="true" sortable="true" visible="true"/>
<direction type="1" name="Направление" shortname="Направление" searchable="true" sortable="true" link="inOutDirection" ignore="true"/>
<direction type="1" name="Направление" shortname="Направление" searchable="true" sortable="true" link="inOutDirection" ignore="true"/>
<sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
</depoPaymentInstructionRegister>
<excludeLiabilitiesRegister name="Реестр обязательств, исключенных из клирингового пула" destination="exclude-liabilities-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.ExcludeLiabilitiesRegister" table="exclude_liabilities_register">
@ -1521,6 +1735,25 @@
<sumLiabilities type="10" name="Сумма обязательств" shortname="Обязательства" searchable="true" sortable="true" visible="true"/>
<settlementDate type="6" name="Дата расчета" shortname="Расчет" searchable="true" sortable="true"/>
</excludeLiabilitiesRegister>
<pairSdf name="Пары файлов" destination="pair-sdf" class="ru.clearing.classes.statics.data.register.PairSdf" table="pair_sdf">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<inSDfId type="2" length="255" name="Идентификатор входящего файла" shortname="Входящая запись" searchable="true" sortable="true" ignore="true"/>
<inSDf type="2" length="255" name="Входящий файл" shortname="Входящий" searchable="true" sortable="true"/>
<outSDfId type="2" length="255" name="Идентификатор исходящего файла" shortname="Исходящий файл" searchable="true" sortable="true" ignore="true"/>
<outSDf type="2" length="255" name="Исходящий файл" shortname="Исходящий файл" searchable="true" sortable="true"/>
</pairSdf>
<gatewayResult name="Результат запроса к gateway" destination="gateway-result" class="ru.clearing.classes.statics.data.register.GatewayResult" table="gateway_result">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" name="Время создания записи" shortname="Создано" searchable="true" sortable="true"/>
<updatedAt field="updated" type="4" webtype="5" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<requestId type="2" length="255" name="ID запроса" shortname="ID" searchable="true" sortable="true"/>
<nameRequest type="2" length="255" name="Наименование запроса" shortname="Наименование" searchable="true" sortable="true"/>
<request type="2" length="1023" name="Тело запроса" shortname="Запрос" searchable="true" sortable="true"/>
<result type="2" length="1023" name="Тело ответа" shortname="Ответ" searchable="true" sortable="true"/>
<gatewayResultStatus type="12" name="Статус запроса" shortname="Статус" searchable="true" sortable="true" link="gatewayResultStatus"/>
</gatewayResult>
<liabilitiesRegister name="Реестр учета обязательств" destination="liabilities-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.LiabilitiesRegister" table="liabilities_register">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
@ -1574,8 +1807,8 @@
<settlementDate type="6" name="Дата расчетов" shortname="Дата расчетов" searchable="true" sortable="true"/>
<amount type="11" name="Объем" shortname="Объем" searchable="true" sortable="true" visible="true"/>
<operationStatus type="12" dbname="Код статуса обработки" name="Наименование статуса обработки" shortname="Статус" searchable="true" sortable="true" visible="true" link="operationStatus"/>
<errorCodeId type="1" dbname="Идентификатор кода ошибки" name="Код ошибки" shortname="Код ошибки" searchable="true" sortable="true" visible="true" link="errorCode" linkCode="code" linkKeyCode="id"/>
<errorTextId type="1" dbname="Идентификатор полного текста ошибки" name="Полный текст ошибки" shortname="Ошибка" searchable="true" sortable="true" visible="true" link="errorText" linkCode="text"/>
<errorCodeId type="1" dbname="Идентификатор кода ошибки" name="Код ошибки" shortname="Код ошибки" searchable="true" sortable="true" visible="true" link="errorCode" linkCode="code" linkKeyCode="id"/>
<errorTextId type="1" dbname="Идентификатор полного текста ошибки" name="Полный текст ошибки" shortname="Ошибка" searchable="true" sortable="true" visible="true" link="errorText" linkCode="text"/>
<inSDfId type="1" name="Идентификатор записи, инициировавшая изменения этой таблицы" shortname="Входящая запись" searchable="true" sortable="true" ignore="true"/>
<outSDfId type="1" name="Идентификатор записи, сформированная в результате изменения этой таблицы" shortname="Исходящая запись" searchable="true" sortable="true" ignore="true"/>
<inOutSDfType type="12" dbname="Код типа входящей и исходящей записей" name="Типы входящей и исходящей записей" shortname="Типы входящей и исходящей записей" searchable="true" sortable="true" ignore="true" link="inOutSDfType"/>
@ -1630,11 +1863,11 @@
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" visible="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<senderId type="1" dbname="Идентификатор отправителя" name="Наименование отправителя" shortname="Отправитель" searchable="true" sortable="true" visible="true" link="userCls" linkCode="identifier"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время прочтения записи" shortname="Прочитано" searchable="true" sortable="true"/>
<senderId type="1" dbname="Идентификатор компании-отправителя" name="Наименование компании-отправителя" shortname="Отправитель" searchable="true" sortable="true" link="company" ignore="true"/>
<addresseeId type="1" dbname="Идентификатор компании-получателя" name="Наименование компании-получателя" shortname="Получатель" searchable="true" sortable="true" link="company" ignore="true"/>
<objectType type="12" dbname="Код типа объекта" name="Наименование типа объекта" shortname="Объект" searchable="true" sortable="true" link="objectType" ignore="true"/>
<objectId type="1" name="Идентификатор объекта" shortname="ID объекта" searchable="true" sortable="true" ignore="true"/>
<objectId type="1" name="Идентификатор объекта" shortname="ID объекта" searchable="true" sortable="true" ignore="true"/>
<notificationStatus type="12" dbname="Код статуса сообщения" name="Наименование статуса сообщения" shortname="Статус" searchable="true" sortable="true" visible="true" link="notificationStatus"/>
<comment type="2" length="255" name="Текст сообщения" shortname="Сообщение" searchable="true" sortable="true" visible="true"/>
<priority type="12" dbname="Код приоритета отображения" name="Наименование приоритета отображения" shortname="Приоритет отображения" searchable="true" sortable="true" link="priority"/>
@ -1652,7 +1885,7 @@
<outIntSum type="11" name="Исходящая сумма остатков, полученная в КС" shortname="Остатки, полученные в КС" visible="true" searchable="true" sortable="true"/>
<outExtSum type="11" name="Исходящая сумма остатков из отчета ПРЦ" shortname="Остатки, полученные из ПРЦ" visible="true" searchable="true" sortable="true"/>
<diffSum type="11" name="Сумма расхождений" shortname="Сумма расхождений" visible="true" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true"/>
<generationStatus type="12" dbname="Код общего статуса сверки" name="Наименование общего статуса сверки" shortname="Статус" searchable="true" sortable="true" visible="true" link="resultStatus"/>
<resultStatus type="12" dbname="Код статуса сверки" name="Наименование статуса сверки" shortname="Статус" searchable="true" sortable="true" visible="true" link="resultStatus"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
@ -1694,6 +1927,7 @@
<result type="2" length="3" name="Результат обработки каждой записи исходного файла ДФ-01" shortname="Результат обработки ДФ-01" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<inSDfId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" visible="true"/>
</sDf02>
<sDf03 name="ДФ-03 Реестр платежных поручений" destination="s-dfs/s-df03" class="ru.clearing.classes.statics.data.sdf.SDf03" table="s_df_03">
@ -1719,6 +1953,7 @@
<sum_deb type="2" length="22" name="Сумма дебет" shortname="Сумма дебет" searchable="true" sortable="true" visible="true"/>
<specif_1 type="2" length="255" name="Назначение платежа" shortname="Назначение платежа" searchable="true" sortable="true" visible="true"/>
<imp_result type="2" length="3" name="Результат приема" shortname="Результат приема" searchable="true" sortable="true" visible="true"/>
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<paymentInstructionId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" visible="true" link="paymentInstruction"/>
@ -1774,6 +2009,9 @@
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<Doc_Num field="Doc_Num" type="2" length="3" name="Номер выгружаемого документа" shortname="Номер выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<Doc_Date field="Doc_Date" type="6" name="Дата выгружаемого документа" shortname="Дата выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<pay_val type="2" length="12" name="Валюта документа" shortname="Валюта" searchable="true" sortable="true" visible="true"/>
</sDf06>
<sDf07 name="ДФ-07 Ответ на запрос по зачислению/списанию денежных средств" destination="s-dfs/s-df07" class="ru.clearing.classes.statics.data.sdf.SDf07" table="s_df_07">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="false"/>
@ -1788,9 +2026,13 @@
<spec type="2" length="255" name="Назначение" shortname="Назначение" searchable="true" sortable="true" visible="true"/>
<number type="10" name="Номер платежного документа (операции)" shortname="Номер платежного документа" searchable="true" sortable="true" visible="true"/>
<result type="10" name="Код завершения операции" shortname="Код завершения операции" searchable="true" sortable="true" visible="true"/>
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<inSDfId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" visible="true"/>
<Doc_Num field="Doc_Num" type="2" length="3" name="Номер выгружаемого документа" shortname="Номер выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<Doc_Date field="Doc_Date" type="6" name="Дата выгружаемого документа" shortname="Дата выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<pay_val type="2" length="12" name="Валюта документа" shortname="Валюта" searchable="true" sortable="true" visible="true"/>
</sDf07>
<sDf08 name="ДФ-08 Загрузка счетов с остатками" destination="s-dfs/s-df08" class="ru.clearing.classes.statics.data.sdf.SDf08" table="s_df_08">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="false"/>
@ -1849,6 +2091,7 @@
<transactionNumber type="2" length="255" name="Порядковый номер транзакции" shortname="Номер транзакции" searchable="true" sortable="true" visible="true"/>
<transactionQuantity type="2" length="255" name="Количество транзакций" shortname="Количество транзакций" searchable="true" sortable="true" visible="true"/>
<result type="2" length="255" name="Результат операции" shortname="Результат операции" searchable="true" sortable="true" visible="true"/>
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
</sDf12>
@ -1875,7 +2118,7 @@
<inDocument type="2" name="Исходящий номер входящего сообщения" shortname="Сформировано" searchable="true" sortable="true" visible="true"/>
<security type="2" name="Ценная бумага" shortname="Ценная бумага" searchable="true" sortable="true" visible="true"/>
<securityName type="2" name="Наименование ценной бумаги" shortname="Ценная бумага" searchable="true" sortable="true" visible="true"/>
<securityType type="2" name="Тип ценной бумаги" shortname="Ценная бумага" searchable="true" sortable="true" visible="true"/>
<securityType type="2" name="Тип ценной бумаги" shortname="Ценная бумага" searchable="true" sortable="true" visible="true"/>
<openBalance type="2" name="Входящий остаток" shortname="Входящий остаток" searchable="true" sortable="true" visible="true"/>
<depoCodeCl type="2" name="Код раздела тех.счета/счета депо/ и наименование клиента" shortname="Код раздела тех.счета/счета депо/ и наименование клиента" searchable="true" sortable="true" visible="true"/>
<nameCl type="2" name="Наименование клиента" shortname="Клиент" searchable="true" sortable="true" visible="true"/>
@ -1936,6 +2179,7 @@
<date type="2" length="8" name="Дата изменения состояния счета" shortname="Дата изменения состояния счета" searchable="true" sortable="true" visible="true"/>
<status type="3" name="Статус счета" shortname="Статус" searchable="true" sortable="true" visible="true"/>
<result type="2" length="255" name="Код завершения операции" shortname="Код завершения операции" searchable="true" sortable="true" visible="true"/>
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<inSDfId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" visible="true"/>
@ -1984,6 +2228,11 @@
<doc_result type="2" length="2" name="Результат операции" shortname="Результат операции" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<Doc_Num field="Doc_Num" type="2" length="3" name="Номер выгружаемого документа" shortname="Номер выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<Doc_Date field="Doc_Date" type="6" name="Дата выгружаемого документа" shortname="Дата выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<Value_date field="Value_date" type="2" length="8" name="Дата валютирования" shortname="Дата валютирования" searchable="true" sortable="true" visible="true"/>
<Swift_ben field="Swift_ben" type="2" length="11" name="Свифт банка бенефициара" shortname="Свифт банка бенефициара" searchable="true" sortable="true" visible="true"/>
<Swift_intermed field="Swift_intermed" type="2" length="11" name="Swift_intermed" shortname="Swift_intermed" searchable="true" sortable="true" visible="true"/>
</sDf54>
<sDf55 name="ДФ-55 Квитанция об обработке ДФ-54" destination="s-dfs/s-df55" class="ru.clearing.classes.statics.data.sdf.SDf55" table="s_df_55">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="false"/>
@ -2030,6 +2279,11 @@
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время обработки файла" shortname="Дата и время обработки" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<Doc_Num field="Doc_Num" type="2" length="3" name="Номер выгружаемого документа" shortname="Номер выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<Doc_Date field="Doc_Date" type="6" name="Дата выгружаемого документа" shortname="Дата выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<Value_date field="Value_date" type="2" length="8" name="Дата валютирования" shortname="Дата валютирования" searchable="true" sortable="true" visible="true"/>
<Swift_ben field="Swift_ben" type="2" length="11" name="Свифт банка бенефициара" shortname="Свифт банка бенефициара" searchable="true" sortable="true" visible="true"/>
<Swift_intermed field="Swift_intermed" type="2" length="11" name="Swift_intermed" shortname="Swift_intermed" searchable="true" sortable="true" visible="true"/>
</sDf55>
<sDf56 name="ДФ-56 Запрос транзакций за период" destination="s-dfs/s-df56" class="ru.clearing.classes.statics.data.sdf.SDf56" table="s_df_56">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="false"/>
@ -2083,6 +2337,12 @@
<specif type="2" length="255" name="Назначение платежа" shortname="Назначение платежа" searchable="true" sortable="true" visible="true"/>
<fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<Doc_Num field="Doc_Num" type="2" length="3" name="Номер выгружаемого документа" shortname="Номер выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<Doc_Date field="Doc_Date" type="6" name="Дата выгружаемого документа" shortname="Дата выгружаемого документа" searchable="true" sortable="true" visible="true"/>
<dt_in type="2" length="22" name="Входящий дебетовый остаток" shortname="Входящий дебетовый остаток" searchable="true" sortable="true" visible="true"/>
<kt_in type="2" length="22" name="Входящий кредитовый остаток" shortname="Входящий кредитовый остаток" searchable="true" sortable="true" visible="true"/>
<dt_out type="2" length="22" name="Исходящий дебетовый остаток" shortname="Исходящий дебетовый остаток" searchable="true" sortable="true" visible="true"/>
<kt_out type="2" length="22" name="Исходящий кредитовый остаток" shortname="Исходящий кредитовый остаток" searchable="true" sortable="true" visible="true"/>
</sDf57>
<managementJournal name="Журнал мониторинга и контроля" destination="management-journals" class="ru.clearing.classes.statics.data.journal.ManagementJournal" table="management_journal">
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/>
@ -2131,7 +2391,7 @@
<resultStatus type="12" dbname="Код статуса загрузки документа" name="Наименование статуса загрузки документа" shortname="Статус" searchable="true" sortable="true" visible="true" link="resultStatus"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="false"/>
</outDocumentJournal>
<reportRegister name="Реестр отправленных отчетов" destination="report-registers" class="ru.clearing.classes.statics.data.register.ReportRegister" table="report_register">
<reportRegister name="Реестр отправленных отчетов" destination="report-registers" class="ru.clearing.classes.statics.data.register.ReportRegister" table="report_register">
<companyFullName type="2" length="255" name="Полное наименование компании" shortname="Полное наименование компании" searchable="true" sortable="true"/>
<clearingCode type="2" length="255" name="Код клиринга" shortname="Код участника" searchable="true" sortable="true"/>
<sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
@ -2178,6 +2438,19 @@
<price type="10" name="Цена за 1 штуку ликвидационного актива" shortname="Цена за шт." searchable="true" sortable="true" visible="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" ignore="true"/>
</marketDataLiquidation>
<sCrossRate name="Кросс курсы валют от ЦБ" destination="cross-rate" class="ru.clearing.classes.statics.data.misc.SCrossRate" table="s_cross_rate">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="false"/>
<date type="6" name="Дата торгов" shortname="Дата торгов" searchable="true" sortable="true" visible="false"/>
<currency type="2" length="50" name="Наименование валюты" shortname="Наименование валюты" searchable="true" sortable="true" visible = "true"/>
<currCode type="2" length="50" name="Код валюты" shortname="Код валюты" searchable="true" sortable="true" visible = "true"/>
<faceValue type="10" name="Номинал" shortname="Номинал" searchable="true" sortable="true" visible = "true"/>
<rate type="10" name="Курс валюты с учетом размера лота" shortname="Курс валюты" searchable="true" sortable="true" visible = "true"/>
<unitRate type="10" name="Курс за единицу иностранной валюты" shortname="Курс за единицу валюты" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
<createdAt field="created" type="4" webtype="5" dbname="Дата-время создания записи" name="Время создания записи" shortname="Создано" searchable="true" sortable="true" ignore="true"/>
<updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
</sCrossRate>
</objects>
<views>
<AccountUnion>

View file

@ -113,6 +113,7 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
MarketController.class,
NotificationController.class,
SessionController.class,
SCrossRateController.class,
//payment
PaymentInstructionController.class,
//register

View file

@ -0,0 +1,40 @@
package ru.spcex.clearing.backendapi.controller.queue.misc;
import org.junit.jupiter.api.Test;
import ru.clearing.classes.statics.data.misc.SCrossRate;
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 SCrossRateControllerTest extends AbstractControllerTest {
private static final String REST_URL = "/cross-rate/";
/**
* {@link SCrossRateController#getAll()} <br>
* Тест проверяет получение запроса по REST API.<br>
* Входной запрос /cross-rate/ <br>
* Ответ SCrossRate <br>
*/
@Test
void getAll() throws Exception {
//ARRANGE
SCrossRate sCrossRate = new SCrossRate();
sCrossRate.setId(currentId.get());
sCrossRate.setDate(LocalDate.now());
sCrossRate.setCurrency("RUB");
sCrossRate.setCurrCode("RUB");
sCrossRate.setFaceValue(new BigDecimal("1.00"));
sCrossRate.setRate(new BigDecimal("1.00"));
sCrossRate.setUnitRate(new BigDecimal("1.00"));
sCrossRate.setGenerationTime(Instant.now());
sCrossRate.setGenerationId(10L);
sCrossRate.setCreated(Instant.now());
sCrossRate.setUpdated(sCrossRate.getCreated());
//ACT and ASSERT
checkGettingAllFromRestApi(IMDGDistributedNames.Map_SCrossRate, sCrossRate, REST_URL);
}
}

View file

@ -1,8 +1,11 @@
package ru.spcex.clearing.backendapi.meta;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
@ -14,6 +17,7 @@ import java.util.stream.Collectors;
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = GetResponseFactoryTestConfiguration.class)
public class GetResponseFactoryTest {
private Logger log = LoggerFactory.getLogger(getClass());
private final MetaServer meta;
@Autowired
@ -37,6 +41,10 @@ public class GetResponseFactoryTest {
try {
classByName = Class.forName(className);
} catch (ClassNotFoundException e) {
if ("db-versions".equals(objectElement.getDestination()) && StringUtils.isEmpty(objectElement.getClazz())) {
log.info("No class for system table \"{}\" (cannot find class)", objectElement.getDestination());
continue;
}
error.computeIfAbsent(ent.getKey(), v -> new ArrayList<>()).add(ent.getKey() + " cannot find class " + className);
continue;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -44,6 +44,13 @@
<groupId>ru.spcex.platform</groupId>
<artifactId>platform-enum</artifactId>
</dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<!-- TEST -->
<dependency>
<groupId>org.springframework</groupId>

View file

@ -10,6 +10,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.balance.ExportToFileRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.platform.enumeration.Task;
@ -36,14 +37,17 @@ public class Sdf08Service extends QueueConsumer implements InitializingBean {
@Override
public void afterPropertiesSet() {
callback(Object.class)
callback(LauncherCommandRequest.class)
.setConsumer(this::newSDf08)
.forDestination(Task.getAllBalance.topic(), callbacks::put);
init();
}
private void newSDf08(BaseRequest<Object> userRequest) {
log.debug("getAllBalance request received");
private void newSDf08(BaseRequest<LauncherCommandRequest> userRequest) {
LauncherCommandRequest req = userRequest.getRequestPayload();
log.debug("getAllBalance request received, parameter fromTime={}",
req == null ? null : req.getFromTime());
// todo use опциональный параметр req.fromTime
SDf08 sDf08 = new SDf08();
// sDf08.setNumber(idGenerator.nextId().toString());
Instant now = Instant.now();

View file

@ -1,38 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/balance-service.log</file>
<property name="LOG_PATH" value="./log" />
<property name="FILE_NAME" value="balance-service" />
<property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n</Pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<!-- first FILE TEXT appender -->
<appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${FILE_LOG_PATTERN}</Pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>
./logs/balance-service.%i.log
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
</appender>
<!-- second FILE JSON appender -->
<appender name="JSON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-json.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-json.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender>
<root level="warn">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
<root level="info">
<!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger>
</configuration>

View file

@ -15,11 +15,14 @@ import ru.spcex.clearing.platform.messaging.domain.ActionType;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.balance.ExportToFileRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
import ru.spcex.platform.enumeration.Task;
import javax.annotation.PostConstruct;
import java.time.LocalTime;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.timeout;
@ -80,4 +83,43 @@ class Sdf08ServiceTest extends AbstractServiceTest {
assertNotNull(resultsSDf08);
assertNotNull(resultRequestInfo);
}
/**
* {@link Sdf08Service}<br>
* Тест проверяет генерацию сущностей {@link RequestInfo}<br>
* Входные параметры:<br>
* {@link BaseRequest} - new BaseRequest<>() с полем fromTime <br>
*/
@Test
void newSDf08_withTime() throws JsonProcessingException {
BaseRequest<LauncherCommandRequest> baseNewRequest = new BaseRequest<>();
baseNewRequest.setId(currentId.getAndIncrement());
baseNewRequest.setActionType(ActionType.NEW);
LauncherCommandRequest launcherCommandRequest = new LauncherCommandRequest();
final LocalTime fromTime = LocalTime.of(12, 23);
launcherCommandRequest.setFromTime(fromTime);
baseNewRequest.setRequestPayload(launcherCommandRequest);
ObjectMapper objectMapper = new ObjectMapper();
String jsonBaseNewRequest = objectMapper.writeValueAsString(baseNewRequest);
addRecordToKafka(mockConsumer, TOPIC, PARTITION, 0, jsonBaseNewRequest);
//waiting for kafka producer send message (finale event)
verify(producer, timeout(30_000L).times(1))
.send(producerRecord.capture());
assertEquals(Consts.EXPORT_PROCESS, producerRecord.getValue().topic());
BaseRequest<Object> baseRequest = (BaseRequest<Object>) producerRecord.getValue().value();
ExportToFileRequest exportToFileRequest = (ExportToFileRequest) baseRequest.getRequestPayload();
//todo test newSDf08_withTime assertEquals(fromTime, exportToFileRequest.getFromTime());
SDf08 resultsSDf08 = sdf08Imdg.getFirstObjectBySQL(String.format("generationId = %s and id != null", exportToFileRequest.getSdfGroupId()));
RequestInfo resultRequestInfo = requestInfoImdg.getSingleObjectByID(baseRequest.getId());
assertNotNull(baseRequest);
assertNotNull(resultsSDf08);
assertNotNull(resultRequestInfo);
}
}

View file

@ -12,7 +12,7 @@
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<properties>

View file

@ -14,6 +14,7 @@ public class Account extends BusinessObject {
private String account;
private String accountType;
private Long relationId;
private String currency;
private String status;
private String processingSign;
private Long companyId;
@ -42,6 +43,14 @@ public class Account extends BusinessObject {
this.relationId = value;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String currency) {
this.currency = currency;
}
public String getStatus() {
return status;
}

View file

@ -18,6 +18,7 @@ public class ClientCode extends BusinessObject {
private Long tradingClearingRegistryId;
private Long moneyAccountId;
private Long depoAccountId;
private Long currencyAccountId;
private String status;
public Long getCompanyId() {
@ -60,6 +61,14 @@ public class ClientCode extends BusinessObject {
this.depoAccountId = value;
}
public Long getCurrencyAccountId() {
return currencyAccountId;
}
public void setCurrencyAccountId(Long value) {
this.currencyAccountId = value;
}
public String getStatus() {
return status;
}

View file

@ -0,0 +1,33 @@
package ru.clearing.classes.statics.data.company;
import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
/**
* Параметры расчетной организации
*
* DB table: SETTLEMENT_HOUSE_PROPERTIES
**/
public class SettlementHouseProperties extends SpcexObjectBase {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private Long companyId;
private String currencyCode;
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long value) {
this.companyId = value;
}
public String getCurrencyCode() {
return currencyCode;
}
public void setCurrencyCode(String value) {
this.currencyCode = value;
}
}

View file

@ -0,0 +1,28 @@
package ru.clearing.classes.statics.data.company;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessEvent;
import java.io.Serial;
/**
* Изменение состояния объекта Параметры расчетной организации
*
* DB table: SETTLEMENT_HOUSE_PROPERTIES_HISTORY
**/
public class SettlementHousePropertiesHistory extends BusinessEvent<SettlementHouseProperties> {
@Serial
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private SettlementHouseProperties object;
@Override
public SettlementHouseProperties getObject() {
return object;
}
@Override
public void setObject(SettlementHouseProperties object) {
this.object = object;
}
}

View file

@ -0,0 +1,180 @@
package ru.clearing.classes.statics.data.execution;
import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.interfaces.ExecutionType;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
/**
* Сделки с валютными инструментами
* <p>
* DB table: EXECUTION_CURRENCY
**/
public class ExecutionCurrency extends ExecutionCommon {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
// private Long exchangeExecutionId;
// private Instant exchangeExecutionTime;
private Instant exchangeExecutionMicroseconds;
// private LocalDate tradingDate;
private LocalDate settlementDate;
private String settlementCode;
// private Long securityId;
// private String securitySymbol;
private String securityName;
// private Long companyId;
private Long partyTradingClearingRegistryId;
// private String partyTradingClearingRegistry;
// private Long counterPartyId;
// private Long counterPartyTradingClearingRegistryId;
// private String counterPartyTradingClearingRegistry;
// private String market;
// private BigDecimal price;
// extend: private BigDecimal lotSize;
// private BigDecimal lots;
private BigDecimal settlementAmount;
// private BigDecimal quantity;
// private String side;
private String currencyCode;
private String settlementOrganization;
// private String coverageStatus;
// private Long sessionId;
private String depoCode;
// private LocalDate clearingDate;
// --- API ExecutionCommon ---
public ExecutionType type() {
return ExecutionType.ExecutionCurrency;
}
@Deprecated
@Override
public Long getTradingClearingRegistryId() {
return getPartyTradingClearingRegistryId();
}
@Deprecated
@Override
public void setTradingClearingRegistryId(Long partyTradingClearingRegistryId) {
setPartyTradingClearingRegistryId(partyTradingClearingRegistryId);
}
@Deprecated
@Override
public BigDecimal getInterestAmount() {
throw new IllegalStateException("Not implemented for ExecutionCurrency");
}
@Deprecated
@Override
public void setInterestAmount(BigDecimal interestAmount) {
throw new IllegalStateException("Not implemented for ExecutionCurrency");
}
@Deprecated
@Override
public String getSettlementCurrency() {
throw new IllegalStateException("Not implemented for ExecutionCurrency");
}
@Deprecated
@Override
public void setSettlementCurrency(String settlementCurrency) {
throw new IllegalStateException("Not implemented for ExecutionCurrency");
}
@Deprecated
@Override
public Long getDuration() {
throw new IllegalStateException("Not implemented for ExecutionCurrency");
}
@Deprecated
@Override
public void setDuration(Long duration) {
throw new IllegalStateException("Not implemented for ExecutionCurrency");
}
@Deprecated
@Override
public String getSecurityFullName() {
return getSecurityName();
}
@Deprecated
@Override
public void setSecurityFullName(String securityFullName) {
setSecurityName(securityFullName);
}
// --- end of API ---
public Instant getExchangeExecutionMicroseconds() {
return exchangeExecutionMicroseconds;
}
public void setExchangeExecutionMicroseconds(Instant value) {
this.exchangeExecutionMicroseconds = value;
}
public LocalDate getSettlementDate() {
return settlementDate;
}
public void setSettlementDate(LocalDate value) {
this.settlementDate = value;
}
public String getSettlementCode() {
return settlementCode;
}
public void setSettlementCode(String value) {
this.settlementCode = value;
}
public String getSecurityName() {
return securityName;
}
public void setSecurityName(String value) {
this.securityName = value;
}
public Long getPartyTradingClearingRegistryId() {
return partyTradingClearingRegistryId;
}
public void setPartyTradingClearingRegistryId(Long value) {
this.partyTradingClearingRegistryId = value;
}
public BigDecimal getSettlementAmount() {
return settlementAmount;
}
public void setSettlementAmount(BigDecimal value) {
this.settlementAmount = value;
}
public String getCurrencyCode() {
return currencyCode;
}
public void setCurrencyCode(String currencyCode) {
this.currencyCode = currencyCode;
}
public String getSettlementOrganization() {
return settlementOrganization;
}
public void setSettlementOrganization(String value) {
this.settlementOrganization = value;
}
public String getDepoCode() {
return depoCode;
}
public void setDepoCode(String value) {
this.depoCode = value;
}
}

View file

@ -0,0 +1,28 @@
package ru.clearing.classes.statics.data.execution;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessEvent;
import java.io.Serial;
/**
* Изменение состояния объекта Сделки с валютными инструментами
* <p>
* DB table: EXECUTION_CURRENCY_HISTORY
**/
public class ExecutionCurrencyHistory extends BusinessEvent<ExecutionCurrency> {
@Serial
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private ExecutionCurrency object;
@Override
public ExecutionCurrency getObject() {
return object;
}
@Override
public void setObject(ExecutionCurrency object) {
this.object = object;
}
}

View file

@ -13,6 +13,8 @@ public class Listing extends BusinessObject {
private String symbolName;
private String tradingCurrency;
private String workflowStatus;
private BigDecimal minStep;
private BigDecimal precision;
public Long getSecurityId() {
return securityId;
@ -69,4 +71,20 @@ public class Listing extends BusinessObject {
public void setWorkflowStatus(String workflowStatus) {
this.workflowStatus = workflowStatus;
}
public BigDecimal getMinStep() {
return minStep;
}
public void setMinStep(BigDecimal minStep) {
this.minStep = minStep;
}
public BigDecimal getPrecision() {
return precision;
}
public void setPrecision(BigDecimal precision) {
this.precision = precision;
}
}

View file

@ -0,0 +1,88 @@
package ru.clearing.classes.statics.data.misc;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessObject;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
/**
* Кросс курсы валют от ЦБ
*
* DB table: S_CROSS_RATE
**/
public class SCrossRate extends BusinessObject {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
// (in parent) private Long id;
private LocalDate date;
private String currency;
private String currCode;
private BigDecimal faceValue;
private BigDecimal rate;
private BigDecimal unitRate;
private Instant generationTime;
private Long generationId;
public LocalDate getDate() {
return date;
}
public void setDate(LocalDate value) {
this.date=value;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String value) {
this.currency=value;
}
public String getCurrCode() {
return currCode;
}
public void setCurrCode(String value) {
this.currCode=value;
}
public BigDecimal getFaceValue() {
return faceValue;
}
public void setFaceValue(BigDecimal value) {
this.faceValue=value;
}
public BigDecimal getRate() {
return rate;
}
public void setRate(BigDecimal value) {
this.rate=value;
}
public BigDecimal getUnitRate() {
return unitRate;
}
public void setUnitRate(BigDecimal value) {
this.unitRate=value;
}
public Instant getGenerationTime() {
return generationTime;
}
public void setGenerationTime(Instant value) {
this.generationTime=value;
}
public Long getGenerationId() {
return generationId;
}
public void setGenerationId(Long value) {
this.generationId=value;
}
}

View file

@ -17,6 +17,8 @@ public class DepoBalanceRegister extends BusinessObject {
private Long companyId;
private Long sessionId;
private String setHouseName;
private String number;
private String depoCode;
private BigDecimal quantity;
private String securitySymbol;
@ -36,6 +38,20 @@ public class DepoBalanceRegister extends BusinessObject {
this.sessionId=value;
}
public String getSetHouseName() {
return setHouseName;
}
public void setSetHouseName(String value) {
this.setHouseName=value;
}
public String getNumber() {
return number;
}
public void setNumber(String value) {
this.number=value;
}
public String getDepoCode() {
return depoCode;
}

View file

@ -0,0 +1,61 @@
package ru.clearing.classes.statics.data.register;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessObject;
/**
* Результат запроса к gateway
* <p>
* DB table: GATEWAY_RESULT
**/
public class GatewayResult extends BusinessObject {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private String requestId;
private String nameRequest;
private String request;
private String result;
private String gatewayResultStatus;
public String getRequestId() {
return requestId;
}
public void setRequestId(String value) {
this.requestId = value;
}
public String getNameRequest() {
return nameRequest;
}
public void setNameRequest(String value) {
this.nameRequest = value;
}
public String getRequest() {
return request;
}
public void setRequest(String value) {
this.request = value;
}
public String getResult() {
return result;
}
public void setResult(String value) {
this.result = value;
}
public String getGatewayResultStatus() {
return gatewayResultStatus;
}
public void setGatewayResultStatus(String value) {
this.gatewayResultStatus = value;
}
}

View file

@ -14,6 +14,8 @@ public class MoneyBalanceRegister extends BusinessObject {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private String setHouseName;
private String number;
private String currencyCode;
private String account;
private String infoAccount;
private BigDecimal remainderSum;
@ -24,30 +26,6 @@ public class MoneyBalanceRegister extends BusinessObject {
private String companyFullName;
private Long companyId;
public static MoneyBalanceRegister makeMoneyBalanceRegister(String setHouseName,
String account,
String infoAccount,
BigDecimal remainderSum,
BigDecimal blockedSum,
BigDecimal unblockedSum,
String inn,
Long sessionId,
String companyFullName,
Long companyId) {
MoneyBalanceRegister moneyBalanceRegister = new MoneyBalanceRegister();
moneyBalanceRegister.setSetHouseName(setHouseName);
moneyBalanceRegister.setAccount(account);
moneyBalanceRegister.setInfoAccount(infoAccount);
moneyBalanceRegister.setRemainderSum(remainderSum);
moneyBalanceRegister.setBlockedSum(blockedSum);
moneyBalanceRegister.setUnblockedSum(unblockedSum);
moneyBalanceRegister.setInn(inn);
moneyBalanceRegister.setSessionId(sessionId);
moneyBalanceRegister.setCompanyFullName(companyFullName);
moneyBalanceRegister.setCompanyId(companyId);
return moneyBalanceRegister;
}
public String getSetHouseName() {
return setHouseName;
}
@ -56,6 +34,22 @@ public class MoneyBalanceRegister extends BusinessObject {
this.setHouseName = value;
}
public String getNumber() {
return number;
}
public void setNumber(String value) {
this.number = value;
}
public String getCurrencyCode() {
return currencyCode;
}
public void setCurrencyCode(String value) {
this.currencyCode = value;
}
public String getAccount() {
return account;
}

View file

@ -0,0 +1,51 @@
package ru.clearing.classes.statics.data.register;
//todo в какой пэкэдж - в data.sdf; или data.registers;?
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessObject;
/**
* Пары файлов
*
* DB table: PAIR_SDF
**/
public class PairSdf extends BusinessObject {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private String inSDfId;
private String inSDf;
private String outSDfId;
private String outSDf;
public String getInSDfId() {
return inSDfId;
}
public void setInSDfId(String value) {
this.inSDfId = value;
}
public String getInSDf() {
return inSDf;
}
public void setInSDf(String value) {
this.inSDf = value;
}
public String getOutSDfId() {
return outSDfId;
}
public void setOutSDfId(String value) {
this.outSDfId = value;
}
public String getOutSDf() {
return outSDf;
}
public void setOutSDf(String value) {
this.outSDf = value;
}
}

View file

@ -0,0 +1,51 @@
package ru.clearing.classes.statics.data.registry;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessObject;
/**
* Список счетов ТКР
* <p>
* DB table: TRADING_CLEARING_REGISTRY_LIST
**/
public class TradingClearingRegistryList extends BusinessObject {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private Long tradingClearingRegistryId;
private Long accountId;
private String currency;
private String status;
public Long getTradingClearingRegistryId() {
return tradingClearingRegistryId;
}
public void setTradingClearingRegistryId(Long value) {
this.tradingClearingRegistryId = value;
}
public Long getAccountId() {
return accountId;
}
public void setAccountId(Long value) {
this.accountId = value;
}
public String getCurrency() {
return currency;
}
public void setCurrency(String value) {
this.currency = value;
}
public String getStatus() {
return status;
}
public void setStatus(String value) {
this.status = value;
}
}

View file

@ -0,0 +1,28 @@
package ru.clearing.classes.statics.data.registry;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessEvent;
import java.io.Serial;
/**
* Изменение состояния объекта Список счетов ТКР
* <p>
* DB table: TRADING_CLEARING_REGISTRY_LIST_HISTORY
**/
public class TradingClearingRegistryListHistory extends BusinessEvent<TradingClearingRegistryList> {
@Serial
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private TradingClearingRegistryList object;
@Override
public TradingClearingRegistryList getObject() {
return object;
}
@Override
public void setObject(TradingClearingRegistryList object) {
this.object = object;
}
}

View file

@ -27,6 +27,7 @@ public class SDf02 extends SpcexObjectBase implements WithAccount {
private String sumunblock;
private String file_type;
private String result;
private String fileName;
private Instant generationTime;
private Long generationId;
private Long inSDfId;
@ -136,6 +137,14 @@ public class SDf02 extends SpcexObjectBase implements WithAccount {
this.result = value;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Instant getGenerationTime() {
return generationTime;
}

View file

@ -34,6 +34,7 @@ public class SDf03 extends SpcexObjectBase {
private String sum_deb;
private String specif_1;
private String imp_result;
private String fileName;
private Instant generationTime;
private Long generationId;
private Long paymentInstructionId;
@ -206,6 +207,14 @@ public class SDf03 extends SpcexObjectBase {
this.imp_result = imp_result;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Instant getGenerationTime() {
return generationTime;
}

View file

@ -6,6 +6,7 @@ import ru.spcex.platform.classes.base.interfaces.WithFileName;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
/**
* ДФ-06 Запрос на зачисление/списание денежных средств
@ -28,6 +29,9 @@ public class SDf06 extends SpcexObjectBase implements WithFileName {
private String fileName;
private Instant generationTime;
private Long generationId;
private String Doc_Num;
private LocalDate Doc_Date;
private String pay_val;
public String getAccount() {
return account;
@ -133,4 +137,25 @@ public class SDf06 extends SpcexObjectBase implements WithFileName {
this.generationId = value;
}
public String getDoc_Num() {
return Doc_Num;
}
public void setDoc_Num(String value) {
this.Doc_Num=value;
}
public LocalDate getDoc_Date() {
return Doc_Date;
}
public void setDoc_Date(LocalDate value) {
this.Doc_Date=value;
}
public String getPay_val() {
return pay_val;
}
public void setPay_val(String value) {
this.pay_val=value;
}
}

View file

@ -5,6 +5,7 @@ import ru.spcex.platform.classes.base.SpcexObjectBase;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
/**
* ДФ-07 Ответ на запрос по зачислению/списанию денежных средств
@ -25,9 +26,13 @@ public class SDf07 extends SpcexObjectBase {
private String spec;
private BigDecimal number;
private BigDecimal result;
private String fileName;
private Instant generationTime;
private Long generationId;
private Long inSDfId;
private String Doc_Num;
private LocalDate Doc_Date;
private String pay_val;
public String getAccount() {
return account;
@ -117,6 +122,14 @@ public class SDf07 extends SpcexObjectBase {
this.result = value;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Instant getGenerationTime() {
return generationTime;
}
@ -141,4 +154,28 @@ public class SDf07 extends SpcexObjectBase {
this.inSDfId = value;
}
public String getDoc_Num() {
return Doc_Num;
}
public void setDoc_Num(String value) {
this.Doc_Num = value;
}
public LocalDate getDoc_Date() {
return Doc_Date;
}
public void setDoc_Date(LocalDate value) {
this.Doc_Date = value;
}
public String getPay_val() {
return pay_val;
}
public void setPay_val(String value) {
this.pay_val = value;
}
}

View file

@ -23,6 +23,7 @@ public class SDf12 extends SpcexObjectBase {
private String transactionNumber;
private String transactionQuantity;
private String result;
private String fileName;
private Instant generationTime;
private Long generationId;
@ -98,6 +99,14 @@ public class SDf12 extends SpcexObjectBase {
this.result = result;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Instant getGenerationTime() {
return generationTime;
}

View file

@ -22,6 +22,7 @@ public class SDf53 extends SpcexObjectBase {
private String result;
private Instant generationTime;
private Long generationId;
private String fileName;
private Long inSDfId;
private String accName;
@ -81,6 +82,14 @@ public class SDf53 extends SpcexObjectBase {
this.generationId = value;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Long getInSDfId() {
return inSDfId;
}

View file

@ -4,6 +4,7 @@ import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import java.time.Instant;
import java.time.LocalDate;
/**
* ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414
@ -55,6 +56,11 @@ public class SDf54 extends SpcexObjectBase {
private String doc_result;
private Instant generationTime;
private Long generationId;
private String Doc_Num;
private LocalDate Doc_Date;
private String Value_date;
private String Swift_ben;
private String Swift_intermed;
public String getSeg_type() {
return seg_type;
@ -392,4 +398,44 @@ public class SDf54 extends SpcexObjectBase {
this.generationId = value;
}
public String getDoc_Num() {
return Doc_Num;
}
public void setDoc_Num(String value) {
this.Doc_Num = value;
}
public LocalDate getDoc_Date() {
return Doc_Date;
}
public void setDoc_Date(LocalDate value) {
this.Doc_Date = value;
}
public String getValue_date() {
return Value_date;
}
public void setValue_date(String value) {
this.Value_date = value;
}
public String getSwift_ben() {
return Swift_ben;
}
public void setSwift_ben(String value) {
this.Swift_ben = value;
}
public String getSwift_intermed() {
return Swift_intermed;
}
public void setSwift_intermed(String value) {
this.Swift_intermed = value;
}
}

View file

@ -4,6 +4,7 @@ import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import java.time.Instant;
import java.time.LocalDate;
/**
* ДФ-55 Квитанция об обработке ДФ-54
@ -56,6 +57,11 @@ public class SDf55 extends SpcexObjectBase {
private String fileName;
private Instant generationTime;
private Long generationId;
private String Doc_Num;
private LocalDate Doc_Date;
private String Value_date;
private String Swift_ben;
private String Swift_intermed;
public String getSeg_type() {
return seg_type;
@ -401,4 +407,44 @@ public class SDf55 extends SpcexObjectBase {
this.generationId = value;
}
public String getDoc_Num() {
return Doc_Num;
}
public void setDoc_Num(String value) {
this.Doc_Num = value;
}
public LocalDate getDoc_Date() {
return Doc_Date;
}
public void setDoc_Date(LocalDate value) {
this.Doc_Date = value;
}
public String getValue_date() {
return Value_date;
}
public void setValue_date(String value) {
this.Value_date = value;
}
public String getSwift_ben() {
return Swift_ben;
}
public void setSwift_ben(String value) {
this.Swift_ben = value;
}
public String getSwift_intermed() {
return Swift_intermed;
}
public void setSwift_intermed(String value) {
this.Swift_intermed = value;
}
}

View file

@ -4,6 +4,7 @@ import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import java.time.Instant;
import java.time.LocalDate;
/**
* ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)
@ -53,6 +54,12 @@ public class SDf57 extends SpcexObjectBase {
private String fileName;
private Instant generationTime;
private Long generationId;
private String Doc_Num;
private LocalDate Doc_Date;
private String dt_in;
private String kt_in;
private String dt_out;
private String kt_out;
public Long getDbfId() {
return dbfId;
@ -374,4 +381,52 @@ public class SDf57 extends SpcexObjectBase {
this.generationId = value;
}
public String getDoc_Num() {
return Doc_Num;
}
public void setDoc_Num(String value) {
this.Doc_Num = value;
}
public LocalDate getDoc_Date() {
return Doc_Date;
}
public void setDoc_Date(LocalDate value) {
this.Doc_Date = value;
}
public String getDt_in() {
return dt_in;
}
public void setDt_in(String value) {
this.dt_in = value;
}
public String getKt_in() {
return kt_in;
}
public void setKt_in(String value) {
this.kt_in = value;
}
public String getDt_out() {
return dt_out;
}
public void setDt_out(String value) {
this.dt_out = value;
}
public String getKt_out() {
return kt_out;
}
public void setKt_out(String value) {
this.kt_out = value;
}
}

View file

@ -0,0 +1,85 @@
package ru.clearing.classes.statics.data.security;
import ru.clearing.classes.ConstSerializable;
import java.math.BigDecimal;
/**
* Валютные пары
* <p>
* DB table: CURRENCY_PAIR_SECURITY
**/
public class CurrencyPairSecurity extends Security {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private BigDecimal baseUnitSize;
private Long currencyPairId;
private String code;
private String settlementType;
private String clearingOrganization;
private String settlementOrganization;
private Long securityId;
// extend: private String securitySymbol;
// extend: private String shortName;
// extend: private String fullName;
// extend: private String shortNameEng;
// extend: private String fullNameEng;
// extend: private String workflowStatus;
public BigDecimal getBaseUnitSize() {
return baseUnitSize;
}
public void setBaseUnitSize(BigDecimal value) {
this.baseUnitSize = value;
}
public Long getCurrencyPairId() {
return currencyPairId;
}
public void setCurrencyPairId(Long value) {
this.currencyPairId = value;
}
public String getCode() {
return code;
}
public void setCode(String value) {
this.code = value;
}
public String getSettlementType() {
return settlementType;
}
public void setSettlementType(String value) {
this.settlementType = value;
}
public String getClearingOrganization() {
return clearingOrganization;
}
public void setClearingOrganization(String value) {
this.clearingOrganization = value;
}
public String getSettlementOrganization() {
return settlementOrganization;
}
public void setSettlementOrganization(String value) {
this.settlementOrganization = value;
}
public Long getSecurityId() {
return securityId;
}
public void setSecurityId(Long value) {
this.securityId = value;
}
}

View file

@ -0,0 +1,28 @@
package ru.clearing.classes.statics.data.security;
import ru.clearing.classes.ConstSerializable;
import ru.clearing.classes.objects.BusinessEvent;
import java.io.Serial;
/**
* Изменение состояния объекта Валютные пары
* <p>
* DB table: CURRENCY_PAIR_SECURITY_HISTORY
**/
public class CurrencyPairSecurityHistory extends BusinessEvent<CurrencyPairSecurity> {
@Serial
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private CurrencyPairSecurity object;
@Override
public CurrencyPairSecurity getObject() {
return object;
}
@Override
public void setObject(CurrencyPairSecurity object) {
this.object = object;
}
}

View file

@ -6,13 +6,13 @@
<parent>
<groupId>ru.spcex.clearing</groupId>
<artifactId>clearing-parent</artifactId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<artifactId>cleaning-builders</artifactId>
<name>cleaning-builders</name>
<description>Cleaning builders module</description>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<packaging>jar</packaging>
@ -26,7 +26,7 @@
<dependency>
<groupId>ru.spcex.clearing</groupId>
<artifactId>classes</artifactId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<scope>compile</scope>
</dependency>
<dependency>

View file

@ -5,7 +5,7 @@
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -54,6 +54,13 @@
<groupId>ru.spcex.platform</groupId>
<artifactId>platform-enum</artifactId>
</dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>

View file

@ -33,7 +33,7 @@ public class KafkaConfig {
public KafkaConfig(ClearingServiceSettings settings) {
this.kafkaSettings = settings.getKafkaConsumer();
Integer gtwTimeout = settings.getSessionStage().getInspectionGatewayTimeout();
Integer gtwTimeout = settings.getSessionStage() == null ? null : settings.getSessionStage().getInspectionGatewayTimeout();
if (gtwTimeout != null) {
int maxPollIntervalMs = gtwTimeout * 1000 + 1000;
log.debug("setting max.poll.interval.ms {}", maxPollIntervalMs);

View file

@ -1,5 +1,8 @@
package ru.spcex.clearing.config;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Supplier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ru.clearing.classes.statics.data.account.Account;
@ -17,7 +20,15 @@ import ru.clearing.classes.statics.data.misc.Session;
import ru.clearing.classes.statics.data.payment.PaymentInstruction;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.clearing.classes.statics.data.sdf.*;
import ru.clearing.classes.statics.data.sdf.SDf01;
import ru.clearing.classes.statics.data.sdf.SDf06;
import ru.clearing.classes.statics.data.sdf.SDf08;
import ru.clearing.classes.statics.data.sdf.SDf10;
import ru.clearing.classes.statics.data.sdf.SDf20;
import ru.clearing.classes.statics.data.sdf.SDf21;
import ru.clearing.classes.statics.data.sdf.SDf54;
import ru.clearing.classes.statics.data.sdf.SDf55;
import ru.clearing.classes.statics.data.sdf.SDf57;
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.classes.statics.data.statement.Statement;
@ -27,8 +38,34 @@ import ru.spcex.clearing.error.ClearingError;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.payment.PIClearingOutbondActionNewRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.*;
import ru.spcex.clearing.service.validation.*;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.IdentificationFundsRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryChangeRefundDateRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryChangeStatusExtractRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryReturnDepositRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistrySplitDepositActionRequest;
import ru.spcex.clearing.service.validation.ClrngValidationStored;
import ru.spcex.clearing.service.validation.CompanyByTradingCodeValidationRule;
import ru.spcex.clearing.service.validation.ExecutionDepositValidationRule;
import ru.spcex.clearing.service.validation.IdentificationFundsValidationRule;
import ru.spcex.clearing.service.validation.MarketIsUValidationRule;
import ru.spcex.clearing.service.validation.PaymentOutboundValidationRule;
import ru.spcex.clearing.service.validation.RefundDateValidationRule;
import ru.spcex.clearing.service.validation.RegistryStep3ValidationRule;
import ru.spcex.clearing.service.validation.ReturnDepositValidationRule;
import ru.spcex.clearing.service.validation.STradesValidationRule;
import ru.spcex.clearing.service.validation.Sdf01NewValidationRule;
import ru.spcex.clearing.service.validation.Sdf01ValidationRule;
import ru.spcex.clearing.service.validation.Sdf06NewValidationRule;
import ru.spcex.clearing.service.validation.Sdf08NewValidationRule;
import ru.spcex.clearing.service.validation.Sdf10ValidationRule;
import ru.spcex.clearing.service.validation.Sdf20ValidationRule;
import ru.spcex.clearing.service.validation.Sdf21ValidationRule;
import ru.spcex.clearing.service.validation.Sdf55ValidationRule;
import ru.spcex.clearing.service.validation.Sdf57ValidationRule;
import ru.spcex.clearing.service.validation.SecurityBySecurityCodeValidationRule;
import ru.spcex.clearing.service.validation.SessionTerminationValidationRule;
import ru.spcex.clearing.service.validation.SplitDepositRequestValidationRule;
import ru.spcex.clearing.service.validation.StatusExtractValidationRule;
import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule;
@ -44,10 +81,6 @@ import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.validation.IValidator;
import ru.spcex.platform.utils.validation.ValidatorImpl;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Supplier;
@Configuration
public class ValidationConfig {
@ -58,6 +91,7 @@ public class ValidationConfig {
Imdg<CompanySymbols> imdgCompanySymbols;
Imdg<Registry> imdgRegistry;
Imdg<SDf20> imdgSdf20;
Imdg<Account> imdgAccount;
Imdg<DepoAccount> imdgDepoAccount;
Imdg<AccountBalance> imdgAccountBalance;
@ -79,6 +113,7 @@ public class ValidationConfig {
this.imdgCompany = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
this.imdgCompanySymbols = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
this.imdgRegistry = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
this.imdgSdf20 = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf20, SDf20.class);
this.imdgAccount = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
this.imdgAccountBalance = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
this.imdgSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_Security, Security.class);
@ -227,12 +262,14 @@ public class ValidationConfig {
context.addImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, fixedIncomeSecurityImdg);
context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg);
context.addImdg(IMDGDistributedNames.Map_Registry, imdgRegistry);
context.addImdg(IMDGDistributedNames.Map_SDf20, imdgSdf20);
context.setLogPrefix(LogPrefixId.INSTANCE);
return new ValidatorImpl<>(context,
CompanyByTradingCodeValidationRule.instance(SDf21::getDepoCodeCl),
Sdf21ValidationRule.AccountPresent,
SecurityBySecurityCodeValidationRule.instance(SDf21::getSecurityCode),
Sdf21ValidationRule.TransactionNumberProcessed
Sdf21ValidationRule.TransactionNumberProcessed,
Sdf21ValidationRule.TransactionNumberForSdf20
);
};
}

View file

@ -1,5 +1,6 @@
package ru.spcex.clearing.service;
import java.time.LocalTime;
import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger;
@ -17,7 +18,11 @@ import ru.spcex.clearing.platform.messaging.domain.cud.clearing.SessionContinueE
import ru.spcex.clearing.platform.messaging.domain.cud.common.CommonIdRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.gateway.AssetOperationApprovalRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.payment.PIClearingOutbondActionNewRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.*;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.IdentificationFundsRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryChangeRefundDateRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryChangeStatusExtractRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryReturnDepositRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistrySplitDepositActionRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.STradesImportedRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
@ -26,13 +31,21 @@ import ru.spcex.clearing.platform.messaging.service.Status;
import ru.spcex.clearing.service.executors.Sdf06Executor;
import ru.spcex.clearing.service.executors.Sdf10Executor;
import ru.spcex.clearing.service.payment.PaymentInstructionOutboundService;
import ru.spcex.clearing.session.stage.*;
import ru.spcex.clearing.session.stage.FinalMkrSession;
import ru.spcex.clearing.session.stage.IntermediateMkrSession;
import ru.spcex.clearing.session.stage.PrimaryAuctionB0Session;
import ru.spcex.clearing.session.stage.PrimaryAuctionBnSession;
import ru.spcex.clearing.session.stage.PrimaryAuctionT0Session;
import ru.spcex.clearing.session.stage.ReturnDepositSession;
import ru.spcex.clearing.session.stage.SecondaryAuctionT0Session;
import ru.spcex.clearing.session.stage.SessionManager;
import ru.spcex.clearing.session.stage.SessionTerminator;
import ru.spcex.clearing.session.stage.TaskType;
import ru.spcex.clearing.session.stage.impl.BalanceRevise;
import ru.spcex.clearing.statement.StatementServiceV2;
import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.error.ValidationException;
import static ru.spcex.clearing.platform.messaging.domain.Consts.S_TRADES_IMPORTED;
@Service
@ -173,7 +186,13 @@ public class EventsReceiver extends QueueConsumer implements InitializingBean {
callback(LauncherCommandRequest.class)
.setConsumer(task -> {
balanceRevise.submit(new ru.spcex.clearing.session.stage.Task<>(TaskType.StartRevise, null));
LocalTime fromTime = null;
if (task != null
&& task.getRequestPayload() != null
&& task.getRequestPayload().getFromTime() != null) {
fromTime = task.getRequestPayload().getFromTime();
}
balanceRevise.submit(new ru.spcex.clearing.session.stage.Task<>(TaskType.StartRevise, fromTime));
})
.forDestination(Task.getAllBalance.topic(), callbacks::put);

View file

@ -1,5 +1,16 @@
package ru.spcex.clearing.service;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Qualifier;
@ -18,13 +29,18 @@ import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.AssetOperationListRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.AssetOperationRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.CreateRegistryRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.*;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.IdentificationFundsRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryChangeRefundDateRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryChangeStatusExtractRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistryReturnDepositRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.registry.RegistrySplitDepositActionRequest;
import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate;
import ru.spcex.clearing.platform.messaging.service.Status;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.service.builder.PaymentInstructionBuilderV2;
import ru.spcex.clearing.service.integration.GatewayRequestCreator;
import ru.spcex.clearing.service.registry.AssetTBFProcessing;
import ru.spcex.clearing.service.registry.DmiService;
import ru.spcex.clearing.service.registry.RegistryManager;
import ru.spcex.clearing.service.schedule.TradingTimeService;
import ru.spcex.clearing.service.validation.ValidationStored;
@ -32,7 +48,18 @@ import ru.spcex.clearing.session.stage.impl.GatewayRequester;
import ru.spcex.clearing.session.stage.util.RegistryUtil;
import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.util.services.RequestHelper;
import ru.spcex.platform.enumeration.*;
import ru.spcex.platform.enumeration.CurrencyCode;
import ru.spcex.platform.enumeration.InOutDirection;
import ru.spcex.platform.enumeration.RegistryCapacity;
import ru.spcex.platform.enumeration.RegistryDesignation;
import ru.spcex.platform.enumeration.RegistryInstrumentType;
import ru.spcex.platform.enumeration.RegistryStatus;
import ru.spcex.platform.enumeration.RegistryTradingParams;
import ru.spcex.platform.enumeration.RegistryUnit;
import ru.spcex.platform.enumeration.Sender;
import ru.spcex.platform.enumeration.TradingClearingRegistryType;
import ru.spcex.platform.enumeration.TransactionStatus;
import ru.spcex.platform.enumeration.UserRole;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.ImdgTransaction;
@ -44,15 +71,6 @@ import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumKey;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.validation.IValidator;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@Service
@ -75,6 +93,7 @@ public class RegistryService {
private final TradingTimeService trdTime;
private final NotificationSender notification;
private final KafkaSender kafkaSender;
private final DmiService diService;
private final IMessageResolver msgResolver;
private final RequestHelper reqHelp;
@ -90,7 +109,7 @@ public class RegistryService {
GatewayRequester gateway,
TradingTimeService tradingTimeService,
NotificationSender notification,
KafkaSender kafkaSender, IMessageResolver msgResolver,
KafkaSender kafkaSender, DmiService diService, IMessageResolver msgResolver,
RequestHelper reqHelp,
UserRoleVerification rights,
AssetTBFProcessing assets) {
@ -110,6 +129,7 @@ public class RegistryService {
this.trdTime = tradingTimeService;
this.notification = notification;
this.kafkaSender = kafkaSender;
this.diService = diService;
this.assets = assets;
this.gateway.setName("RgsService|DM*V");
this.msgResolver = msgResolver;
@ -341,6 +361,10 @@ public class RegistryService {
Instant now = Instant.now();
dmau.setUpdated(now);
asts.a__t().setUpdated(now);
Registry d_i = diService.createDmi(reqBalance, asts.a__t());
d_i.setRegistryStatus(RegistryStatus.OK.getKey());
registryImdg.insert(d_i);
log.debug("created {}.id={}", d_i.getRegistryCode(), d_i.getId());
//paymentInstruction
PaymentInstruction pmt = PaymentInstructionBuilderV2.builder(imdgProvider)
.registry(asts.a__b())

View file

@ -1,5 +1,13 @@
package ru.spcex.clearing.service.execution;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collection;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import org.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -14,6 +22,8 @@ import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow;
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
import ru.clearing.classes.statics.data.misc.Listing;
import ru.clearing.classes.statics.data.misc.Market;
import ru.clearing.classes.statics.data.misc.SCrossRate;
import ru.clearing.classes.statics.data.misc.STrades;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.clearing.classes.statics.data.security.Security;
@ -27,25 +37,25 @@ import ru.spcex.clearing.platform.messaging.domain.cud.registry.DealRegisterNewR
import ru.spcex.clearing.platform.messaging.domain.cud.registry.ExecutionType;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.service.validation.ValidationStored;
import ru.spcex.platform.enumeration.*;
import ru.spcex.platform.enumeration.CurrencyCode;
import ru.spcex.platform.enumeration.InstrumentType;
import ru.spcex.platform.enumeration.ObjectType;
import ru.spcex.platform.enumeration.Priority;
import ru.spcex.platform.enumeration.Section;
import ru.spcex.platform.enumeration.Side;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.*;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IEnumId;
import ru.spcex.platform.utils.enumeration.IEnumKey;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.enumeration.SimpleMessageResolver;
import ru.spcex.platform.utils.log.ExceptionUtils;
import ru.spcex.platform.utils.text.TextUtil;
import ru.spcex.platform.utils.time.TimeUtil;
import ru.spcex.platform.utils.validation.IValidator;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Instant;
import java.time.LocalDate;
import java.util.Collection;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@Component
@ -58,7 +68,8 @@ public class ExecutionFondComponent {
private final Imdg<Listing> listingImdg;
private final Imdg<ClientCode> clientCodeImdg;
private final Imdg<FixedIncomeCashFlow> fixedIncomeCashFlowImdg;
private final Imdg<ru.clearing.classes.statics.data.misc.Market> marketImdg;
private final Imdg<Market> marketImdg;
private final Imdg<SCrossRate> crossRateImdg;
//fixme ждать ТЗ
Long tradeNum;
@ -80,8 +91,9 @@ public class ExecutionFondComponent {
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
this.clientCodeImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClientCode, ClientCode.class);
this.marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, ru.clearing.classes.statics.data.misc.Market.class);
this.marketImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Market, Market.class);
this.fixedIncomeCashFlowImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_FixedIncomeCashFlow, FixedIncomeCashFlow.class);
this.crossRateImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SCrossRate, SCrossRate.class);
this.valuation = settings.getTrade().getValuation(); //fixme
this.stradesValidator = stradesValidator;
this.kafkaSender = kafkaSender;
@ -196,7 +208,7 @@ public class ExecutionFondComponent {
eFond.setTradingClearingRegistryId(rgstr.getId());
//todo можем ли просто переложить sTrades.getClassCode() или все такие искать, одно и тоже же
ru.clearing.classes.statics.data.misc.Market market = marketImdg.getFirstObjectBySQL("code = '%s'".formatted(sTrades.getClassCode()));
Market market = marketImdg.getFirstObjectBySQL("code = '%s'".formatted(sTrades.getClassCode()));
eFond.setMarket(sTrades.getClassCode());
eFond.setPrice(sTrades.getPrice());
@ -251,8 +263,25 @@ public class ExecutionFondComponent {
nominalValue = safeBD(fixedIncome.getNominalValue());
}
{
BigDecimal crossRate;
String currency = fixedIncome.getNominalCurrency();
if (TextUtil.isEmpty(currency) || CurrencyCode.isRub(currency)) {
crossRate = BigDecimal.ONE;
} else {
ImdgPredicateBuilder crsRtpb = crossRateImdg.predicateBuilder();
ImdgPredicate crsRtePrdct = crsRtpb.and(
crsRtpb.equals("date", LocalDate.now()),
crsRtpb.equals("currency", currency)
);
SCrossRate crsRte = crossRateImdg.getFirstObjectByPredicate(crsRtePrdct);
if (crsRte != null) {
crossRate = safeBD(crsRte.getUnitRate());
} else {
crossRate = BigDecimal.ZERO;
}
}
settlementAmount = eFond.getQuantity()
.multiply(nominalValue)
.multiply(nominalValue.multiply(crossRate))
.multiply(price)
.divide(new BigDecimal(100), RoundingMode.HALF_UP)
.setScale(2, RoundingMode.HALF_UP);

View file

@ -139,19 +139,19 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
Company company = searchCompany(sdf08.getDepoCode()); // validator.getStored(ValidationStored.Sdf08Company);
Long companyId = company == null ? null : company.getId(); // account == null сегда, т.к. кейс AccountNotPresent
if (companyId == null) {
SDf09 errSdf = createErrorSdf09(sdf08, generationIdForGroup, new EnumMessage(ClearingError.AccountNotFoundB, sdf08.getDepoCode()));
sdf09Imdg.insert(errSdf);
log.warn("account {} for sdf08.id={} not found. Can not send request for creation, cause company not found too", sdf08.getDepoCode(), sdf08.getId());
} else {
result.getAccountRequests().add(createAccountRequestPart(sdf08.getId(), sdf08.getDepoCode(), companyId));
log.info("account {} for sdf08.id={} not found - send request for creation", sdf08.getDepoCode(), sdf08.getId());
}
continue;
} else if (ClearingErrorInternal.AccountNotPresent.equals(error.map(EnumMessage::getSubject).orElse(null))) {
log.error("fatal error: resumed processing after generating accounts, but no account found for sdf01.id={}", sdf08.getId());
}
if (error.isPresent() && !ClearingError.SecurityNotFound.equals(error.get().getSubject())) {
log.error("sdf01.id={} error: {}", sdf08.getId(), messageResolver.resolve(error.get()));
//fixme инициировать = команда для другого сервиса? sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
// sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup));
SDf09 errSdf = createErrorSdf09(sdf08, generationIdForGroup, error.get());
sdf09Imdg.insert(errSdf);
continue;
}
stmt = createSdf08Statement(sdf08, account);
@ -198,6 +198,8 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
} else {
stmt.setErrorCodeId(error.get().getSubject().getId()); // fixme ErrorText insert
stmt.setOperationStatus(OperationStatus.Rejected.getKey());
sdf09New.setResult("");
sdf09Imdg.update(sdf09New);
statementImdg.update(stmt);
}
} catch (Exception e) {
@ -302,6 +304,19 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
return sDf09;
}
private SDf09 createErrorSdf09(SDf08 sdf08, Long generationIdForGroup, EnumMessage err) {
SDf09 sDf09 = new SDf09();
sDf09.setInDocument(sdf08.getOutDocument());
sDf09.setDepoCode(sdf08.getDepoCode());
sDf09.setQuantity(sdf08.getQuantity());
sDf09.setSecurityCode(sdf08.getSecurityCode());
sDf09.setClientName(sdf08.getClientName());
sDf09.setGenerationId(generationIdForGroup);
sDf09.setGenerationTime(Instant.now());
sDf09.setResult("");
return sDf09;
}
private Registry createRegistryByStatement(Statement statement, Company company, Account account) {
Registry rgs = new Registry();
rgs.setCompanyId(statement.getAddresseeId());

View file

@ -1,5 +1,12 @@
package ru.spcex.clearing.service.executors;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Optional;
import java.util.function.Function;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -10,6 +17,7 @@ import ru.clearing.classes.statics.data.company.Company;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.clearing.classes.statics.data.sdf.SDf20;
import ru.clearing.classes.statics.data.sdf.SDf21;
import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.classes.statics.data.statement.Statement;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@ -24,28 +32,29 @@ import ru.spcex.clearing.service.registry.AssetTBFProcessing;
import ru.spcex.clearing.service.registry.RegistryManager;
import ru.spcex.clearing.service.validation.ValidationStored;
import ru.spcex.clearing.session.stage.util.RegistryUtil;
import ru.spcex.platform.enumeration.*;
import ru.spcex.platform.enumeration.InOutDirection;
import ru.spcex.platform.enumeration.InOutSDfType;
import ru.spcex.platform.enumeration.OperationCode;
import ru.spcex.platform.enumeration.OperationStatus;
import ru.spcex.platform.enumeration.RegistryDesignation;
import ru.spcex.platform.enumeration.RegistryStatus;
import ru.spcex.platform.enumeration.RegistryUnit;
import ru.spcex.platform.enumeration.Sender;
import ru.spcex.platform.enumeration.StatementType;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.number.BigDecimalUtil;
import ru.spcex.platform.utils.validation.IValidator;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Optional;
import java.util.function.Function;
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@Service
public class Sdf20Executor {
private final Logger log = LoggerFactory.getLogger(getClass());
private final Imdg<SDf20> sDf20Imdg;
private final Imdg<SDf21> sDf21Imdg;
private final Imdg<Registry> rgsImdg;
private final Imdg<Statement> stmtImdg;
private final Function<SDf20, IValidator> validation;
@ -62,6 +71,7 @@ public class Sdf20Executor {
this.sDf20Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf20, SDf20.class);
this.rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
this.stmtImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
this.sDf21Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf21, SDf21.class);
this.validation = validation;
this.msgRslv = msgRslv;
this.kafka = kafka;
@ -134,27 +144,39 @@ public class Sdf20Executor {
ds_i.setContract(sDf20.getInDocument());
ds_i.setRegistryStatus(RegistryStatus.OK.getKey());
ds_i.setUpdated(now);
as_t.setBalance(safeBD(as_t.getBalance()).add(quantity));
if (direction.equals(InOutDirection.in)) {
as_t.setCredit(safeBD(as_t.getCredit()).add(quantity.abs()));
} else {
as_t.setDebit(safeBD(as_t.getDebit()).add(quantity.abs()));
}
as_t.setCheckBalance(BigDecimalUtil.parseLeadingZeroes(sDf20.getCloseBalance()));
as_t.setUpdated(now);
rgsImdg.update(as_t);
rgsImdg.update(ds_i);
assetsMng.process(assets.a__b(), assets.a__t(), assets.a__f(), BigDecimal.ZERO);
ImdgPredicateBuilder pb = sDf21Imdg.predicateBuilder();
SDf21 sdf21 = sDf21Imdg.getFirstObjectByPredicate(
pb.equals("transactionNumber", sDf20.getTransactionNumber())
);
if (sdf21 == null) {
as_t.setBalance(safeBD(as_t.getBalance()).add(quantity));
if (direction.equals(InOutDirection.in)) {
as_t.setCredit(safeBD(as_t.getCredit()).add(quantity.abs()));
} else {
as_t.setDebit(safeBD(as_t.getDebit()).add(quantity.abs()));
}
as_t.setCheckBalance(BigDecimalUtil.parseLeadingZeroes(sDf20.getCloseBalance()));
as_t.setUpdated(now);
rgsImdg.update(as_t);
assetsMng.process(assets.a__b(), assets.a__t(), assets.a__f(), BigDecimal.ZERO);
//statement recfree in
//statement delfree out
Statement statement = createStatement(cmp.getId(), acc, quantity, sDf20.getId(), sDf20.getTransactionNumber(), security.getId());
stmtImdg.insert(statement);
log.debug("sdf20.id={}, processing as_t.id={}, as_f.id={}, as_b.id={}, ds_t.id={}. statement.id={}",
//statement recfree in
//statement delfree out
Statement statement = createStatement(cmp.getId(), acc, quantity, sDf20.getId(), sDf20.getTransactionNumber(), security.getId());
stmtImdg.insert(statement);
log.debug("sdf20.id={}, processing as_t.id={}, as_f.id={}, as_b.id={}, ds_t.id={}. statement.id={}",
sDf20.getId(),
assets.a__t().getId(), assets.a__f().getId(), assets.a__b().getId(),
ds_i.getId(),
statement.getId());
} else {
log.debug("sdf20.id={}, found sdf21.id={} by transactionNumber={}. skipping to gateway request",
sDf20.getId(),
sdf21.getId(),
sDf20.getTransactionNumber());
assetsMng.process(assets.a__b(), assets.a__t(), assets.a__f(), BigDecimal.ZERO);
}
//только при зачислении на 20 и 21 идет запрос в gateway в Торговую систему
if (InOutDirection.in.equals(direction)) {
Collection<AssetOperationRequest> requests = new ArrayList<>();

View file

@ -1,5 +1,18 @@
package ru.spcex.clearing.service.executors;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -39,7 +52,28 @@ import ru.spcex.clearing.service.schedule.TradingTimeService;
import ru.spcex.clearing.service.validation.ValidationStored;
import ru.spcex.clearing.session.stage.util.RegistryUtil;
import ru.spcex.platform.classes.base.SpcexObjectBase;
import ru.spcex.platform.enumeration.*;
import ru.spcex.platform.enumeration.AccountType;
import ru.spcex.platform.enumeration.BalanceDimension;
import ru.spcex.platform.enumeration.CurrencyCode;
import ru.spcex.platform.enumeration.InOutDirection;
import ru.spcex.platform.enumeration.InOutSDfType;
import ru.spcex.platform.enumeration.ObjectType;
import ru.spcex.platform.enumeration.OperationStatus;
import ru.spcex.platform.enumeration.Priority;
import ru.spcex.platform.enumeration.RegistryCapacity;
import ru.spcex.platform.enumeration.RegistryDesignation;
import ru.spcex.platform.enumeration.RegistryInstrumentType;
import ru.spcex.platform.enumeration.RegistryStatus;
import ru.spcex.platform.enumeration.RegistryTradingParams;
import ru.spcex.platform.enumeration.RegistryUnit;
import ru.spcex.platform.enumeration.Section;
import ru.spcex.platform.enumeration.Sender;
import ru.spcex.platform.enumeration.SessionStatus;
import ru.spcex.platform.enumeration.SessionType;
import ru.spcex.platform.enumeration.SpecifFlag;
import ru.spcex.platform.enumeration.StatementType;
import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.enumeration.WorkflowStatus;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -51,21 +85,6 @@ import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.log.ExceptionUtils;
import ru.spcex.platform.utils.text.TextUtil;
import ru.spcex.platform.utils.validation.IValidator;
import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static ru.spcex.platform.enumeration.RegistryTradingParams.D__V;
import static ru.spcex.platform.enumeration.RegistryTradingParams.OM_T;
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@ -327,7 +346,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
om_t.getId(),
registryD.getId());
sessionIsNeededFlag.set(true);
} else if (tm_tFound.isPresent()) {
} else if (tm_tFound.isPresent() && safeBD(stmt.getAmount()).compareTo(safeBD(tm_tFound.get().getBalance())) == 0) {
Optional<Registry> dm_xFound = RegistrySearch.builder(registryImdg)
.rgsCode(RegistryTradingParams.DM_X)
.companyId(company.getId())
@ -357,6 +376,12 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
dm_x.getId());
sessionIsNeededFlag.set(true);
}
} else if (tm_tFound.isPresent()) {
log.debug("skipping DM_X creation for stmt.id={} contract {}; " +
"TM_T.id={} TM_T.balance[{}] != Statement.amount[{}]",
stmt.getId(), stmt.getContract(),
tm_tFound.get().getId(), tm_tFound.get().getBalance(), stmt.getAmount()
);
}
}
stmt.setOperationStatus(OperationStatus.Executed.getKey());

View file

@ -1,5 +1,8 @@
package ru.spcex.clearing.service.registry;
import java.math.BigDecimal;
import java.time.Instant;
import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@ -8,7 +11,12 @@ import ru.clearing.classes.statics.data.sdf.SDf57;
import ru.clearing.classes.statics.data.statement.Statement;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.session.stage.util.RegistryUtil;
import ru.spcex.platform.enumeration.*;
import ru.spcex.platform.enumeration.InOutSDfType;
import ru.spcex.platform.enumeration.OperationStatus;
import ru.spcex.platform.enumeration.RegistryDesignation;
import ru.spcex.platform.enumeration.RegistryStatus;
import ru.spcex.platform.enumeration.RegistryTradingParams;
import ru.spcex.platform.enumeration.RegistryUnit;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
@ -17,10 +25,6 @@ import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder;
import ru.spcex.platform.utils.log.ExceptionUtils;
import ru.spcex.platform.utils.number.BigDecimalUtil;
import java.math.BigDecimal;
import java.time.Instant;
import java.util.Optional;
@Component
public class DmiService {
private final Logger log = LoggerFactory.getLogger(getClass());
@ -174,7 +178,7 @@ public class DmiService {
return Optional.ofNullable(d__i);
}
private Optional<Registry> createDmi(Long tcrId,
public Optional<Registry> createDmi(Long tcrId,
String securitySymbol,
BigDecimal summ) {
RegistryTradingParams rgsCde = RegistryTradingParams.AM_T;
@ -190,6 +194,10 @@ public class DmiService {
tcrId, securitySymbol);
return Optional.empty();
}
return Optional.of(createDmi(summ, am_t));
}
public Registry createDmi(BigDecimal summ, Registry am_t) {
Registry rgsD = am_t.clone();
RegistryManager.zeroState(rgsD);
rgsD.setOpenBalance(BigDecimal.ZERO);
@ -200,6 +208,6 @@ public class DmiService {
rgsD.setBalance(summ);
rgsD.setRegistryStatus(RegistryStatus.PROC.getKey());
return Optional.of(rgsD);
return rgsD;
}
}

View file

@ -1,9 +1,13 @@
package ru.spcex.clearing.service.validation;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.clearing.classes.statics.data.account.Account;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.clearing.classes.statics.data.sdf.SDf20;
import ru.clearing.classes.statics.data.sdf.SDf21;
import ru.spcex.clearing.error.ClearingError;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@ -19,10 +23,6 @@ import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.text.TextUtil;
import ru.spcex.platform.utils.validation.IValidationRule;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Optional;
public enum Sdf21ValidationRule implements IValidationRule<ImdgValidationContext<SDf21>> {
AccountPresent() {
@ -58,9 +58,24 @@ public enum Sdf21ValidationRule implements IValidationRule<ImdgValidationContext
} else if (OperationCode.RECFREE.equalsByKey(sdf21.getOperationCode())) {
prdct = pb.and(prdct, pb.greatEqual("balance", BigDecimal.ZERO));
}
Registry ds_t = rgsImdg.getFirstObjectByPredicate(prdct);
if (ds_t != null) {
log.debug("sdf21.id={} found DS*T.id={}", sdf21.getId(), ds_t.getId());
Registry ds_i = rgsImdg.getFirstObjectByPredicate(prdct);
if (ds_i != null) {
log.debug("sdf21.id={} found DS*I.id={}", sdf21.getId(), ds_i.getId());
return of(ClearingError.SuchRecordAlreadyExists);
}
return empty();
}
},
TransactionNumberForSdf20() {
@Override
public Optional<EnumMessage> validate(ImdgValidationContext<SDf21> context) {
SDf21 validatedObject = context.getValidatedObject();
Imdg<SDf20> sDf20Imdg = context.obtainMap(IMDGDistributedNames.Map_SDf20, SDf20.class);
SDf20 sdf20 = sDf20Imdg.getFirstObjectByPredicate(sDf20Imdg
.predicateBuilder()
.equals("transactionNumber", validatedObject.getTransactionNumber())
);
if (sdf20 != null) {
return of(ClearingError.SuchRecordAlreadyExists);
}
return empty();

View file

@ -1,5 +1,12 @@
package ru.spcex.clearing.session.stage.impl;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
import java.util.Collection;
import java.util.Objects;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -19,7 +26,16 @@ import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.session.stage.ISessionStage;
import ru.spcex.clearing.session.stage.StageResult;
import ru.spcex.clearing.session.stage.Task;
import ru.spcex.platform.enumeration.*;
import ru.spcex.platform.enumeration.AccountType;
import ru.spcex.platform.enumeration.InOutSDfType;
import ru.spcex.platform.enumeration.ObjectType;
import ru.spcex.platform.enumeration.OperationStatus;
import ru.spcex.platform.enumeration.Priority;
import ru.spcex.platform.enumeration.RegistryDesignation;
import ru.spcex.platform.enumeration.RegistryInstrumentType;
import ru.spcex.platform.enumeration.RegistryTradingParams;
import ru.spcex.platform.enumeration.RegistryUnit;
import ru.spcex.platform.enumeration.StatementType;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider;
@ -28,12 +44,7 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.imdg.api.predicate.specific.RegistryCodeSqlBuilder;
import ru.spcex.platform.imdg.api.predicate.specific.StatementRevisePredicate;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.Collection;
import java.util.Objects;
import ru.spcex.platform.utils.time.TimeUtil;
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@Service
@ -64,7 +75,11 @@ public class BalanceRevise implements ISessionStage {
public StageResult<?> submit(Task<?> task) {
switch (task.getTaskType()) {
case StartRevise, FormingPaymentInstruction -> {
return sendSdfs();
LocalTime fromTime = null;
if (task.getData() instanceof LocalTime) {
fromTime = (LocalTime) task.getData();
}
return sendSdfs(fromTime);
}
case ContinueRevise -> {
return revise(); // основная сверка
@ -80,10 +95,23 @@ public class BalanceRevise implements ISessionStage {
}
private StageResult<?> sendSdfs() {
private StageResult<?> sendSdfs(LocalTime fromTime) {
Collection<Long> currencies = currencyImdg.projectSingleAttribute("id");
Statement statement = statementImdg.aggregateByMax("created", StatementRevisePredicate.get(statementImdg, currencies));
newSDf56(statement);
Long millis = null;
if (fromTime != null) {
log.debug("sendSdf, parameter fromTime={}", fromTime);
Instant fromInstant = TimeUtil.localDateTimeToInstant(LocalDateTime.of(LocalDate.now(), fromTime));
millis = fromInstant.toEpochMilli();
} else {
Statement statement = statementImdg.aggregateByMax("created", StatementRevisePredicate.get(statementImdg, currencies));
if (statement != null) {
log.debug("sendSdf, parameter fromTime not set, use max(statement.created)={}", statement.getCreated());
millis = statement.getCreated().toEpochMilli();
} else {
log.debug("sendSdf, parameter fromTime not set, and statement's not found.");
}
}
newSDf56(millis);
return new StageResult<>(null, true);
}
@ -108,7 +136,7 @@ public class BalanceRevise implements ISessionStage {
}
private StageResult<?> reviseStage1() {
String sql = RegistryCodeSqlBuilder.getInstance(ru.spcex.platform.enumeration.RegistryTradingParams.A__T).build();
String sql = RegistryCodeSqlBuilder.getInstance(RegistryTradingParams.A__T).build();
Collection<Registry> regsAT = registryImdg.getCollectionObjectsBySQL(sql);
log.trace("Select {} registry's by query \"{}\" for revision step 1", regsAT.size(), sql);
@ -175,13 +203,13 @@ public class BalanceRevise implements ISessionStage {
}
private void newSDf56(Statement statement) {
private void newSDf56(Long millis) {
log.debug("creating sdf56");
SDf56 sDf56 = new SDf56();
sDf56.setNumber(idGenerator.nextId().toString());
Instant now = Instant.now();
String startTime = String.valueOf(statement != null ?
statement.getCreated().toEpochMilli() : now.minus(1, ChronoUnit.DAYS).toEpochMilli());
String startTime = String.valueOf(millis != null ?
millis : now.minus(1, ChronoUnit.DAYS).toEpochMilli());
sDf56.setStart_datetime(startTime);
sDf56.setEnd_datetime(String.valueOf(now.toEpochMilli()));
sDf56.setGenerationTime(now);

View file

@ -0,0 +1,146 @@
package ru.spcex.clearing.session.stage.impl;
import org.apache.kafka.clients.consumer.Consumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import ru.spcex.clearing.config.element.ClearingServiceSettings;
import ru.spcex.clearing.config.element.SessionStageSettings;
import ru.spcex.clearing.error.ClearingError;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.AssetOperationListRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.AssetOperationRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.gateway.AssetOperationApprovalRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.gateway.SingleAssetResponse;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.log.ExceptionUtils;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Supplier;
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
@Component
public class GatewayBatchRequester extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
private final KafkaSender kafkaSender;
private final Integer GATEWAY_TIMEOUT;
private String name;
private final Lock gatewayLock = new ReentrantLock();
private final Condition gatewayCondition = gatewayLock.newCondition();
private Long kafkaReqId = null;
private List<SingleAssetResponse> batchResponses = null;
@Autowired
public GatewayBatchRequester(@Qualifier("kafkaConsumerGateway") Supplier<Consumer<String, Object>> consumer,
ClearingServiceSettings settings,
KafkaSender kafkaSender) {
super(consumer.get());
this.kafkaSender = kafkaSender;
SessionStageSettings sessionSettings = settings.getSessionStage();
this.GATEWAY_TIMEOUT = sessionSettings != null ? sessionSettings.getInspectionGatewayTimeout() : 10;
}
@Override
public void afterPropertiesSet() throws Exception {
callback(AssetOperationApprovalRequest.class)
.setConsumer(this::receiveGatewayAnswer)
.forDestination(Consts.ASSET_OPERATION_APPROVAL, callbacks::put);
init();
}
public Optional<List<SingleAssetResponse>> gatewayRequestAndWaitBatch(Collection<AssetOperationRequest> requests) {
if (requests == null || requests.size() == 0) {
return Optional.of(Collections.emptyList());
}
List<SingleAssetResponse> responseReceived = null;
Long kafkaReqLogging = null;
gatewayLock.lock();
try {
if (this.kafkaReqId != null) {
log.error("{}.kafkaReqId={} already sent to gateway", getName(), this.kafkaReqId);
throw new IllegalStateException(" forbid reusing GatewayRequester instance in multiple threads");
}
//send Request
AssetOperationListRequest assetOperationListRequest = new AssetOperationListRequest();
assetOperationListRequest.setAssetOperationRequests(requests);
this.kafkaReqId = kafkaSender.sendRequestToQueue(Consts.ASSET_OPERATION, assetOperationListRequest);
log.debug("sent {}.id={} to gateway", getName(), this.kafkaReqId);
boolean gatewayReceived = gatewayCondition.await(GATEWAY_TIMEOUT, TimeUnit.SECONDS);
kafkaReqLogging = this.kafkaReqId;
if (gatewayReceived) {
responseReceived = batchResponses;
batchResponses = null;
} else {
kafkaReqId = null;
}
} catch (InterruptedException e) {
log.error(ExceptionUtils.getStackTrace(e));
} finally {
gatewayLock.unlock();
}
if (responseReceived != null) {
log.debug("{}.id={} answer from gateway received. size: {}", getName(), kafkaReqLogging, responseReceived.size());
return Optional.of(responseReceived);
} else {
log.error("{}.id={} answer from gateway not received.", getName(), kafkaReqLogging);
return Optional.empty();
}
}
private void receiveGatewayAnswer(BaseRequest<AssetOperationApprovalRequest> sysReq) {
AssetOperationApprovalRequest requestPayload = sysReq.getRequestPayload();
Long initialReqId = requestPayload.getInitialRequestId();
log.trace("gateway answer received, BaseRequest.id={} initialRequestId={}", sysReq.getId(), initialReqId);
List<SingleAssetResponse> approvals = requestPayload.getApprovals();
if (approvals == null) {
log.trace("gateway BaseRequest.id={} initialReqId={} approvals null", sysReq.getId(), initialReqId);
return;
}
gatewayLock.lock();
try {
if (kafkaReqId == null) {
log.trace("gateway BaseRequest.id={} initialReqId={} currently not waiting for {} answer", sysReq.getId(), initialReqId, getName());
return;
}
if (Objects.equals(this.kafkaReqId, initialReqId)) {
log.trace("gateway BaseRequest.id={} answer found for {}.id={}", sysReq.getId(), getName(), initialReqId);
this.kafkaReqId = null;
this.batchResponses = requestPayload.getApprovals() != null ? requestPayload.getApprovals() : Collections.emptyList();
gatewayCondition.signal();
}
} finally {
gatewayLock.unlock();
}
}
public String getName() {
return name != null ? name : "entity";
}
public void setName(String name) {
this.name = name;
}
public static EnumMessage mapError(Optional<Boolean> gtwRsp) {
if (gtwRsp.isEmpty()) {
return new EnumMessage(ClearingError.GatewayTimeout);
} else if (!gtwRsp.get()) {
return new EnumMessage(ClearingError.GatewayNotApproved);
} else throw new IllegalArgumentException("gateway response was OK. cannot create error message");
}
}

View file

@ -6,6 +6,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import ru.clearing.classes.statics.data.execution.ExecutionCommon;
import ru.clearing.classes.statics.data.execution.ExecutionDeposit;
import ru.clearing.classes.statics.data.execution.ExecutionFond;
import ru.clearing.classes.statics.data.misc.Session;
import ru.clearing.classes.statics.data.registry.Registry;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
@ -22,6 +25,7 @@ import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.IEnumKey;
import java.time.Instant;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@ -36,6 +40,8 @@ public class InclusionObligations implements ISessionStage {
private ImdgId idGenerator;
private Imdg<Registry> registryImdg;
private Imdg<Session> sessionImdg;
private final Imdg<ExecutionDeposit> executionDepositImdg;
private final Imdg<ExecutionFond> executionFondImdg;
private KafkaSender kafkaSender;
private final List<ImdgPredicate> registryConditions = new ArrayList<>();
private SessionType sessionType;
@ -47,6 +53,8 @@ public class InclusionObligations implements ISessionStage {
this.idGenerator = imdgProvider.getImdgIdGenerator();
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.class);
this.executionDepositImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class);
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
this.rgsPb = registryImdg.predicateBuilder();
}
@ -114,12 +122,42 @@ public class InclusionObligations implements ISessionStage {
registry.setSessionId(sessionId);
obtainSessionType(sessionId).ifPresent(st -> registry.setSessionType(st.getKey()));
registryImdg.update(registry);
updateExecutions(sessionId, entrySet.getKey());
}
}
return new StageResult(null, true);
}
@SuppressWarnings("unchecked")
private <T extends ExecutionCommon> void updateExecutions(Long sessionId, Long rgsGroupId) {
Instant now = Instant.now();
SessionType ssnTpe = obtainSessionType(sessionId).orElse(null);
if (ssnTpe == null || sessionId == null) {
log.debug("will not update executions#sessionId - couldn't determine session type");
return;
}
Imdg<T> execImdg;
switch (ssnTpe) {
case MEDM, FINL, XDEP -> execImdg = (Imdg<T>) executionDepositImdg;
case IPO0, IPOB, TRDT, IPOT -> execImdg = (Imdg<T>) executionFondImdg;
default -> execImdg = null;
}
if (execImdg == null) {
log.warn("couldn't define Execution Type for session {}. Will not update executions#sessionId",
sessionType);
return;
}
ImdgPredicateBuilder pb = execImdg.predicateBuilder();
ImdgPredicate prdct = pb.equals("exchangeExecutionId", rgsGroupId);
Collection<T> execs = execImdg.getCollectionObjectsByPredicate(prdct);
execs.forEach(e -> {
e.setUpdated(now);
e.setSessionId(sessionId);
execImdg.update(e);
});
}
private Optional<SessionType> obtainSessionType(Long sessionId) {
if (this.sessionType != null) {
return Optional.of(this.sessionType);

View file

@ -251,6 +251,7 @@ public class RequirementsAndObligationCreation implements ISessionStage {
return switch (executionType) {
case ExecutionFond -> RegistryFondBuilder.builder();
case ExecutionDeposit -> RegistryDepoBuilder.builder();
case ExecutionCurrency -> throw new IllegalStateException("ExecutionCurrency not supported"); // todo ExecutionCurrency по CLS-613
};
}

View file

@ -1,52 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="./log" />
<property name="FILE_NAME" value="clearing-service" />
<property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/clearing-service.log</file>
<!-- first FILE TEXT appender -->
<appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder>
<charset>UTF-8</charset>
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${FILE_LOG_PATTERN}</Pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>
../logs/clearing-service.%i.log
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
</appender>
<!-- second FILE JSON appender -->
<appender name="JSON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-json.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-json.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender>
<root level="warn">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<root level="info">
<!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="ru.spcex.clearing" level="trace" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="ru.spcex.clearing.service.execution" level="info" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="ru.spcex.clearing.session.stage.impl.GatewayRequester" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger>
</configuration>

View file

@ -8,12 +8,12 @@
<name>clearing-validation</name>
<description>Clearing-module, dependency version of platform-utils</description>
<packaging>jar</packaging>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<properties>
@ -35,13 +35,13 @@
<dependency>
<groupId>ru.spcex.clearing</groupId>
<artifactId>classes</artifactId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ru.spcex.clearing</groupId>
<artifactId>dictionary</artifactId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<scope>compile</scope>
</dependency>
<dependency>

View file

@ -5,7 +5,7 @@
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@ -48,6 +48,12 @@
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>

View file

@ -1,38 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/company-service.log</file>
<property name="LOG_PATH" value="./log" />
<property name="FILE_NAME" value="company-service" />
<property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n</Pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<!-- first FILE TEXT appender -->
<appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${FILE_LOG_PATTERN}</Pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>
./logs/company-service.%i.log
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
</appender>
<!-- second FILE JSON appender -->
<appender name="JSON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-json.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-json.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender>
<root level="warn">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
<root level="info">
<!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger>
</configuration>

View file

@ -7,12 +7,12 @@
<artifactId>db-scripts</artifactId>
<name>db-scripts</name>
<description>db-scripts for PostgreSQL</description>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<build>

View file

@ -1,5 +1,5 @@
-- DB version: 3.9.0.68
-- DATA version: 3.9.0.68
-- DB version: 3.11.0.78
-- DATA version: 3.11.0.78
/* Dictionaries */
@ -18,6 +18,8 @@ INSERT INTO SECTION_DICTIONARY(ID, CODE, NAME) values (1, 'MKR', 'Секция
INSERT INTO SECTION_DICTIONARY(ID, CODE, NAME) values (2, 'FOND', 'Фондовая секция') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO SECTION_DICTIONARY(ID, CODE, NAME) values (3, 'CURR', 'Валютная секция') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO USER_ROLE_DICTIONARY(ID, CODE, NAME) values (1, 'ADMN', 'Администратор Клиринга МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO USER_ROLE_DICTIONARY(ID, CODE, NAME) values (2, 'SPVS', 'Супервайзер Клиринга МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -184,6 +186,8 @@ INSERT INTO COMPANY_ROLE_DICTIONARY(ID, CODE, NAME) values (7, 'ODEP', 'Учас
INSERT INTO CURRENCY_CODE_DICTIONARY(ID, CODE, NAME) values (643, 'RUB', 'Российский рубль') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO CURRENCY_CODE_DICTIONARY(ID, CODE, NAME) values (840, 'USD', 'Доллар США') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO INSTRUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'RATE', 'Инструмент Денежного рынка') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO INSTRUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'CRNC', 'Валюта') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -312,7 +316,7 @@ INSERT INTO REGISTRY_UNIT_DICTIONARY(ID, CODE, NAME) values (5, 'I', 'Списа
INSERT INTO REGISTRY_UNIT_DICTIONARY(ID, CODE, NAME) values (7, 'V', 'Выписка') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (1, 'AMAT', 'Денежные средства Участника клиринга, зарезервированные на торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (1, 'AMAT', 'Денежные средства - общие') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (2, 'AMAF', 'Денежные средства - свободные') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -334,7 +338,7 @@ INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (10, 'LMAT', 'Рас
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (11, 'CSAT', 'Рассчитанные требования по бумагам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (12, 'AMBT', 'Денежные средства Участника клиринга, зарезервированные на торги клиенты') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (12, 'AMBT', 'Денежные средства клиента - общие') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (13, 'AMBF', 'Денежные средства клиента - свободные') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -360,7 +364,7 @@ INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (23, 'DMAT', 'Воз
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (24, 'DMBT', 'Возврат депозита (кл)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (25, 'ASAT', 'Ценные бумаги Участника клиринга свои') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (25, 'ASAT', 'Ценные бумаги - общие') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (26, 'ASAF', 'Ценные бумаги - свободные') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -372,18 +376,6 @@ INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (29, 'DMBX', 'Воз
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (30, 'DMAU', 'Денежные средства - невыясненные') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (31, 'DMAV', 'Треб. выписки') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (32, 'ASZT', 'Ценные бумаги для размещения/выкупа') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (33, 'ASBT', 'Ценные бумаги Участника клиринга клиенты') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (34, 'ASCT', 'Ценные бумаги Участника клиринга клиенты-нерезиденты') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (35, 'AMCT', 'Денежные средства Участника клиринга, зарезервированные на торги клиенты') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (36, 'ASXT', 'Ценные бумаги Участника клиринга ДУ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'OK', 'Рассчитано') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'UNCV', 'Не исполнено') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -432,6 +424,8 @@ INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (9, 'DEPO', 'Депо
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (10, 'DTRN', 'Депозитарный транзакционный счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (11, 'CURR', 'Валютный счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'A', 'Счет участника') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'B', 'Счет клиента') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -508,6 +502,12 @@ INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (28, 'CHDF', 'Проверк
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (29, 'CCLR', 'Завершение неудачных клиринговых сессий') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (30, 'CBRR', 'Загрузка кросс-курсов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (31, 'MTCR', 'Формирование файлов с МТКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (32, 'LIMC', 'Выгрузка в Торговую систему остатков по валюте (отправка lim)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'BLKD', 'Не активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -524,6 +524,12 @@ INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (2, 'PLNR', 'Расписа
INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (3, 'CLND', 'Календарь') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO CURRENCY_SETTLEMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'TOD', 'Поставка сегодня') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO MAJOR_SIGN_DICTIONARY(ID, CODE, NAME) values (1, 'CONV', 'Конвертируемая валюта') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO MAJOR_SIGN_DICTIONARY(ID, CODE, NAME) values (2, 'UNCV', 'Неконвертируемая валюта') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Сессия активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO SESSION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'CLRN', 'Идет клиринг') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -568,6 +574,8 @@ INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'IPOB', 'Перв
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (8, 'IPO0', 'Первичные торги B0') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO SESSION_TYPE_DICTIONARY(ID, CODE, NAME) values (9, 'CURR', 'Валютные торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO MONEY_FLOW_SIDE_DICTIONARY(ID, CODE, NAME) values (1, 'BUY', 'Привлечь') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO MONEY_FLOW_SIDE_DICTIONARY(ID, CODE, NAME) values (2, 'SELL', 'Разместить') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -640,6 +648,8 @@ INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (5, 'ACCA', 'account')
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'ACCB', 'account') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO OBJECT_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'DIFF', 'registry') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO NOTIFICATION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'PEND', 'В ожидании') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO NOTIFICATION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'CNCL', 'Отменено') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -670,6 +680,10 @@ INSERT INTO RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'NACK', 'Неу
INSERT INTO RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'ACK', 'Успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO GATEWAY_RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'NACK', 'Неуспешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO GATEWAY_RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'ACK', 'Успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO EVENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CRET', 'Создание') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO EVENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'UPDT', 'Обновление') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
@ -800,6 +814,12 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3029, 'CMPN', 'Для
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3030, 'CMPN', 'Категория %s для компании %s уже добавлена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3031, 'CMPN', 'Валюта %s уже добавлена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3032, 'CMPN', 'Параметр компании %s не найден.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3033, 'CMPN', 'По валюте Российской Федерации может выступать только НКО АО ПРЦ.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (4000, 'RPRT', 'Общая ошибка модуля report-serivce.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;
INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5000, 'ACNT', 'Общая ошибка модуля account-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME;

View file

@ -1,4 +1,4 @@
-- DB version: 3.9.0.69
-- DB version: 3.11.0.78
-- DATA version: 3.9.0.68
@ -6,7 +6,7 @@
/* Business objects */
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (1, 'АО Санкт-Петербургская Валютная Биржа', 'СПВБ', '001', '001', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (1, 'АО Санкт-Петербургская Валютная Биржа', 'СПВБ', '', '', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
INSERT INTO COMPANY(ID, FULL_NAME, SHORT_NAME, TRADING_CODE, CLEARING_CODE, WORKFLOW_STATUS) values (2, 'ЗАО «Петербургский Расчетный Центр»', 'ПРЦ', '', '', 'ACTV') ON CONFLICT (ID) DO UPDATE SET FULL_NAME = EXCLUDED.FULL_NAME, SHORT_NAME = EXCLUDED.SHORT_NAME, TRADING_CODE = EXCLUDED.TRADING_CODE, CLEARING_CODE = EXCLUDED.CLEARING_CODE, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
@ -20,154 +20,14 @@ INSERT INTO COMPANY_SYMBOLS(ID, COMPANY_ID, COMPANY_SYMBOL, COMPANY_SYMBOL_VALUE
INSERT INTO CURRENCY(ID, CURRENCY_CODE) values (643, 'RUB') ON CONFLICT (ID) DO UPDATE SET CURRENCY_CODE = EXCLUDED.CURRENCY_CODE;
INSERT INTO SECURITY(INSTRUMENT_TYPE, SHORT_NAME, FULL_NAME, SECURITY_SYMBOL, WORKFLOW_STATUS, ID) values ('CRNC', 'RUB', 'Российский рубль', 'RUB', 'ACTV', 643) ON CONFLICT (ID) DO UPDATE SET INSTRUMENT_TYPE = EXCLUDED.INSTRUMENT_TYPE, SHORT_NAME = EXCLUDED.SHORT_NAME, FULL_NAME = EXCLUDED.FULL_NAME, SECURITY_SYMBOL = EXCLUDED.SECURITY_SYMBOL, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
INSERT INTO CURRENCY(ID, CURRENCY_CODE) values (840, 'USD') ON CONFLICT (ID) DO UPDATE SET CURRENCY_CODE = EXCLUDED.CURRENCY_CODE;
INSERT INTO SECURITY(ID, INSTRUMENT_TYPE, SHORT_NAME, FULL_NAME, SECURITY_SYMBOL, WORKFLOW_STATUS) values (643, 'CRNC', 'RUB', 'Российский рубль', 'RUB', 'ACTV') ON CONFLICT (ID) DO UPDATE SET INSTRUMENT_TYPE = EXCLUDED.INSTRUMENT_TYPE, SHORT_NAME = EXCLUDED.SHORT_NAME, FULL_NAME = EXCLUDED.FULL_NAME, SECURITY_SYMBOL = EXCLUDED.SECURITY_SYMBOL, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
INSERT INTO SECURITY(ID, INSTRUMENT_TYPE, SHORT_NAME, FULL_NAME, SECURITY_SYMBOL, WORKFLOW_STATUS) values (840, 'CRNC', 'USD', 'Доллар США', 'USD', 'ACTV') ON CONFLICT (ID) DO UPDATE SET INSTRUMENT_TYPE = EXCLUDED.INSTRUMENT_TYPE, SHORT_NAME = EXCLUDED.SHORT_NAME, FULL_NAME = EXCLUDED.FULL_NAME, SECURITY_SYMBOL = EXCLUDED.SECURITY_SYMBOL, WORKFLOW_STATUS = EXCLUDED.WORKFLOW_STATUS;
INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (1, 1, '30414810300000006000', 'TRAN', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN;
INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (2, 1, '30414810600000007000', 'ANLT', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN;
INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (3, 1, 'SPCEX', 'DTRN', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (1, 'SCND', 'FOND', 'RUB', 'UESC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (2, 'SCND', 'FOND', 'RUB', 'NESC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (3, 'SCND', 'FOND', 'RUB', 'DESC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (4, 'PRMR', 'FOND', 'RUB', 'AESC', 'Размещение: акции (аукцион по цене)', 1, 'Размещение: акции (аукцион по цене): Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (5, 'PRMR', 'FOND', 'RUB', 'WESC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Обыкновенные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (6, 'SCND', 'FOND', 'RUB', 'UEPC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (7, 'SCND', 'FOND', 'RUB', 'NEPC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (8, 'SCND', 'FOND', 'RUB', 'DEPC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (9, 'PRMR', 'FOND', 'RUB', 'AEPC', 'Размещение: акции (аукцион по цене)', 1, 'Размещение: акции (аукцион по цене): Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (10, 'PRMR', 'FOND', 'RUB', 'WEPC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Привилегированные акции') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (11, 'PRMR', 'FOND', 'RUB', 'ABVC', 'Размещение: Аукцион по цене', 1, 'Размещение: Аукцион по цене: Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (12, 'PRMR', 'FOND', 'RUB', 'KBVC', 'Размещение: Аукцион по ставке', 1, 'Размещение: Аукцион по ставке: Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (13, 'SCND', 'FOND', 'RUB', 'UBVC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (14, 'SCND', 'FOND', 'RUB', 'NBVC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (15, 'SCND', 'FOND', 'RUB', 'DBVC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (16, 'PRMR', 'FOND', 'RUB', 'WBVC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Купонные облигации с переменным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (17, 'PRMR', 'FOND', 'RUB', 'ABFC', 'Размещение: Аукцион по цене', 1, 'Размещение: Аукцион по цене: Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (18, 'PRMR', 'FOND', 'RUB', 'KBFC', 'Размещение: Аукцион по ставке', 1, 'Размещение: Аукцион по ставке: Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (19, 'SCND', 'FOND', 'RUB', 'UBFC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (20, 'SCND', 'FOND', 'RUB', 'NBFC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (21, 'SCND', 'FOND', 'RUB', 'DBFC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (22, 'PRMR', 'FOND', 'RUB', 'WBFC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Купонные облигации с постоянным купоном') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (23, 'PRMR', 'FOND', 'RUB', 'ABIC', 'Размещение: Аукцион по цене', 1, 'Размещение: Аукцион по цене: Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (24, 'PRMR', 'FOND', 'RUB', 'KBIC', 'Размещение: Аукцион по ставке', 1, 'Размещение: Аукцион по ставке: Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (25, 'SCND', 'FOND', 'RUB', 'UBIC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (26, 'SCND', 'FOND', 'RUB', 'NBIC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (27, 'SCND', 'FOND', 'RUB', 'DBIC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (28, 'PRMR', 'FOND', 'RUB', 'WBIC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Облигации с индексированным номиналом') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (29, 'PRMR', 'FOND', 'RUB', 'ABMC', 'Размещение: Аукцион по цене', 1, 'Размещение: Аукцион по цене: Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (30, 'PRMR', 'FOND', 'RUB', 'KBMC', 'Размещение: Аукцион по ставке', 1, 'Размещение: Аукцион по ставке: Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (31, 'SCND', 'FOND', 'RUB', 'UBMC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (32, 'SCND', 'FOND', 'RUB', 'NBMC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (33, 'SCND', 'FOND', 'RUB', 'DBMC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (34, 'PRMR', 'FOND', 'RUB', 'WBMC', 'Размещение: адресные заявки (подписка)', 1, 'Размещение: адресные заявки (подписка): Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (35, 'PRMR', 'FOND', 'RUB', 'BKVC', 'Размещение: Аукцион БР', 1, 'Размещение: Аукцион БР: Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (36, 'PRMR', 'FOND', 'RUB', 'SKVC', 'Доразмещение: Адресные заявки БР', 1, 'Доразмещение: Адресные заявки БР: Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (37, 'SCND', 'FOND', 'RUB', 'UKVC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (38, 'SCND', 'FOND', 'RUB', 'NKVC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (39, 'SCND', 'FOND', 'RUB', 'DKVC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Облигации Банка России с переменным купоном (КОБР)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (45, 'PRMR', 'FOND', 'RUB', 'ABEC', 'Размещение: Аукцион СПВБ', 1, 'Размещение: Аукцион СПВБ: Биржевые облигации') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (46, 'SCND', 'FOND', 'RUB', 'UBEC', 'Режим непрерывных торгов', 1, 'Режим непрерывных торгов: Биржевые облигации') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (47, 'SCND', 'FOND', 'RUB', 'NBEC', 'Режим переговорных сделок (РПС)', 1, 'Режим переговорных сделок (РПС): Биржевые облигации') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (48, 'SCND', 'FOND', 'RUB', 'DBEC', 'Дискретный аукцион', 1, 'Дискретный аукцион: Биржевые облигации') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (61, 'PRMR', 'FOND', 'RUB', 'BMVC', 'ОФЗПК-Размещение: Аукцион БР', 1, 'ОФЗПК-Размещение: Аукцион БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (62, 'PRMR', 'FOND', 'RUB', 'SMVC', 'ОФЗПК-Доразмещение: Адресные заявки БР', 1, 'ОФЗПК-Доразмещение: Адресные заявки БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (63, 'SCND', 'FOND', 'RUB', 'UMVC', 'ОФЗПК-Режим непрерывных торгов', 1, 'ОФЗПК-Режим непрерывных торгов: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (64, 'SCND', 'FOND', 'RUB', 'DMVC', 'ОФЗПК-Дискретный аукцион', 1, 'ОФЗПК-Дискретный аукцион: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (65, 'SCND', 'FOND', 'RUB', 'MMVC', 'ОФЗПК-Торги в режиме выкупа', 1, 'ОФЗПК-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (66, 'PRMR', 'FOND', 'RUB', 'BMFC', 'ОФЗПД-Размещение: Аукцион БР', 1, 'ОФЗПД-Размещение: Аукцион БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (67, 'PRMR', 'FOND', 'RUB', 'SMFC', 'ОФЗПД- Доразмещение: Адресные заявки БР', 1, 'ОФЗПД- Доразмещение: Адресные заявки БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (68, 'SCND', 'FOND', 'RUB', 'UMFC', 'ОФЗПД-Режим непрерывных торгов', 1, 'ОФЗПД-Режим непрерывных торгов: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (69, 'SCND', 'FOND', 'RUB', 'DMFC', 'ОФЗПД-Дискретный аукцион', 1, 'ОФЗПД-Дискретный аукцион: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (70, 'SCND', 'FOND', 'RUB', 'MMFC', 'ОФЗПД-Торги в режиме выкупа', 1, 'ОФЗПД-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (71, 'PRMR', 'FOND', 'RUB', 'BMMC', 'ОФЗАД-Размещение: Аукцион БР', 1, 'ОФЗАД-Размещение: Аукцион БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (72, 'PRMR', 'FOND', 'RUB', 'SMMC', 'ОФЗАД-Доразмещение: Адресные заявки БР', 1, 'ОФЗАД-Доразмещение: Адресные заявки БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (73, 'SCND', 'FOND', 'RUB', 'UMMC', 'ОФЗАД-Режим непрерывных торгов', 1, 'ОФЗАД-Режим непрерывных торгов: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (74, 'SCND', 'FOND', 'RUB', 'DMMC', 'ОФЗАД-Дискретный аукцион', 1, 'ОФЗАД-Дискретный аукцион: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (75, 'SCND', 'FOND', 'RUB', 'MMMC', 'ОФЗАД-Торги в режиме выкупа', 1, 'ОФЗАД-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (76, 'PRMR', 'FOND', 'RUB', 'BMIC', 'ОФЗИН-Размещение: Аукцион БР', 1, 'ОФЗИН-Размещение: Аукцион БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (77, 'PRMR', 'FOND', 'RUB', 'SMIC', 'ОФЗИН-Доразмещение: Адресные заявки БР', 1, 'ОФЗИН-Доразмещение: Адресные заявки БР: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (78, 'SCND', 'FOND', 'RUB', 'UMIC', 'ОФЗИН-Режим непрерывных торгов', 1, 'ОФЗИН-Режим непрерывных торгов: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (79, 'SCND', 'FOND', 'RUB', 'DMIC', 'ОФЗИН-Дискретный аукцион', 1, 'ОФЗИН-Дискретный аукцион: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (80, 'SCND', 'FOND', 'RUB', 'MMIC', 'ОФЗИН-Торги в режиме выкупа', 1, 'ОФЗИН-Торги в режиме выкупа: Облигации Минфина') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (82, 'PRMR', 'FOND', 'RUB', 'BBVC', 'ОФЗ-ПК - Аукцион БР', 1, 'ОФЗ-ПК - Аукцион БР') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (83, 'PRMR', 'MKR', 'RUB', 'XMDTATSS', 'СПб ГУП АТС Смольного', 1, 'СПб ГУП АТС Смольного') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (88, 'PRMR', 'MKR', 'RUB', 'XMTTKFSP', 'Комитет финансов СПб', 1, 'Комитет финансов СПб') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (89, 'PRMR', 'MKR', 'RUB', 'XMDSKFLO', 'Комитет финансов ЛО', 1, 'Комитет финансов ЛО') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (90, 'PRMR', 'MKR', 'RUB', 'XMDTFSKB', 'ФСКМБ', 1, 'ФСКМБ') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (91, 'PRMR', 'MKR', 'RUB', 'XMDSFGGE', 'ФАУ ГГЭ', 1, 'ФАУ ГГЭ') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (92, 'PRMR', 'MKR', 'RUB', 'XMDTVRGO', 'ВВО РГО', 1, 'ВВО РГО') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (93, 'PRMR', 'MKR', 'RUB', 'XMDTTDRM', 'ООО Торговый дом РМ-Рейл', 1, 'ООО Торговый дом РМ-Рейл') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (95, 'PRMR', 'MKR', 'RUB', 'XMDTRKFN', 'АО РК Финанс', 1, 'АО РК Финанс') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (3, 1, '700100000AT0', 'DTRN', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN;

View file

@ -0,0 +1,137 @@
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (1, 'AMAT', 'Денежные средства Участника клиринга, зарезервированные на торги') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (2, 'AMAF', 'Денежные средства - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (3, 'AMAB', 'Денежные средства - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (4, 'TMAT', 'Требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (5, 'OSAT', 'Обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (6, 'OMAT', 'Обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (7, 'TSAT', 'Требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (8, 'CMAT', 'Расчитанные требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (9, 'LSAT', 'Расчитанные обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (10, 'LMAT', 'Расчитанные обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (11, 'CSAT', 'Расчитанные требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (12, 'AMBT', 'Денежные средства Участника клиринга, зарезервированные на торги клиенты') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (13, 'AMBF', 'Денежные средства клиента - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (14, 'AMBB', 'Денежные средства клиента - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (15, 'TMBT', 'Требования по деньгам (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (16, 'OSBT', 'Обязательства по бумагам (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (17, 'OMBT', 'Обязательства по деньгам (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (18, 'TSBT', 'Требования по бумагам (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (19, 'CMBT', 'Рассчитанные требования по деньгам (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (20, 'LSBT', 'Рассчитанные обязательства по бумагам (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (21, 'LMBT', 'Рассчитанные обязательства по деньгам (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (22, 'CSBT', 'Рассчитанные требования по бумагам (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (23, 'DMAT', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (24, 'DMBT', 'Возврат депозита (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (25, 'ASAT', 'Ценные бумаги Участника клиринга свои') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (26, 'ASAF', 'Ценные бумаги - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (27, 'ASAB', 'Ценные бумаги - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (28, 'DMAX', 'Возврат инициатору') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (29, 'DMBX', 'Возврат инициатору (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (30, 'DMAU', 'Денежные средства - невыясненные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (31, 'DMAV', 'Треб. выписки') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (32, 'ASZT', 'Ценные бумаги для размещения/выкупа') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (33, 'ASBT', 'Ценные бумаги Участника клиринга клиенты') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (34, 'ASCT', 'Ценные бумаги Участника клиринга клиенты-нерезиденты') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (35, 'AMCT', 'Денежные средства Участника клиринга, зарезервированные на торги клиенты') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (37, 'AMCF', 'Денежные средства - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (38, 'AMCB', 'Денежные средства - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (39, 'AMDT', 'Денежные средства Участника клиринга, зарезервированные на торги') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (40, 'AMDF', 'Денежные средства - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (41, 'AMDB', 'Денежные средства - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (42, 'AMZT', 'Денежные средства Участника клиринга, зарезервированные на торги') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (43, 'AMZF', 'Денежные средства - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (44, 'AMZB', 'Денежные средства - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (45, 'AMFT', 'Денежные средства Участника клиринга, зарезервированные на торги') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (46, 'AMFF', 'Денежные средства - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (47, 'AMFB', 'Денежные средства - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (48, 'AMET', 'Денежные средства Участника клиринга, зарезервированные на торги') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (49, 'AMEF', 'Денежные средства - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (50, 'AMEB', 'Денежные средства - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (51, 'ASBF', 'Ценные бумаги - свободные (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (52, 'ASBB', 'Ценные бумаги - блокированные (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (53, 'ASCF', 'Ценные бумаги - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (54, 'ASCB', 'Ценные бумаги - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (55, 'ASDT', 'Ценные бумаги Участника клиринга, зарезервированные на торги') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (55, 'ASZF', 'Ценные бумаги - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (56, 'ASDF', 'Ценные бумаги - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (56, 'ASZB', 'Ценные бумаги - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (57, 'ASDB', 'Ценные бумаги - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (57, 'ASFT', 'Ценные бумаги Участника клиринга, зарезервированные на торги') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (58, 'ASFF', 'Ценные бумаги - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (59, 'ASFB', 'Ценные бумаги - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (60, 'ASET', 'Ценные бумаги Участника клиринга, зарезервированные на торги') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (61, 'ASEF', 'Ценные бумаги - свободные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (62, 'ASEB', 'Ценные бумаги - блокированные') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (63, 'OMCT', 'Обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (64, 'OMDT', 'Обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (65, 'OMZT', 'Обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (66, 'OMFT', 'Обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (67, 'OMET', 'Обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (67, 'OSCT', 'Обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (68, 'OSDT', 'Обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (69, 'OSZT', 'Обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (70, 'OSFT', 'Обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (71, 'OSET', 'Обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (72, 'TMCT', 'Требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (73, 'TMDT', 'Требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (74, 'TMZT', 'Требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (75, 'TMFT', 'Требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (76, 'TMET', 'Требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (77, 'TSCT', 'Требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (78, 'TSDT', 'Требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (79, 'TSZT', 'Требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (80, 'TSFT', 'Требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (81, 'TSET', 'Требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (82, 'CMCT', 'Расчитанные требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (83, 'CMDT', 'Расчитанные требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (84, 'CMZT', 'Расчитанные требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (85, 'CMFT', 'Расчитанные требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (86, 'CMET', 'Расчитанные требования по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (87, 'CSCT', 'Расчитанные требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (88, 'CSDT', 'Расчитанные требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (89, 'CSZT', 'Расчитанные требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (90, 'CSFT', 'Расчитанные требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (91, 'CSET', 'Расчитанные требования по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (92, 'LMCT', 'Расчитанные обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (93, 'LMDT', 'Расчитанные обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (94, 'LMZT', 'Расчитанные обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (95, 'LMFT', 'Расчитанные обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (96, 'LMET', 'Расчитанные обязательства по деньгам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (97, 'LSCT', 'Расчитанные обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (98, 'LSDT', 'Расчитанные обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (99, 'LSZT', 'Расчитанные обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (100, 'LSFT', 'Расчитанные обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (101, 'LSET', 'Расчитанные обязательства по бумагам') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (102, 'DMAI', 'Ввод и вывод денежных средств') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (103, 'DMBI', 'Ввод и вывод денежных средств') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (104, 'DMCI', 'Ввод и вывод денежных средств') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (105, 'DMDI', 'Ввод и вывод денежных средств') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (106, 'DMZI', 'Ввод и вывод денежных средств') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (107, 'DMFI', 'Ввод и вывод денежных средств') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (108, 'DMEI', 'Ввод и вывод денежных средств') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (109, 'DSAI', 'Ввод и вывод ценных бумаг') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (110, 'DSBI', 'Ввод и вывод ценных бумаг') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (111, 'DSCI', 'Ввод и вывод ценных бумаг') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (112, 'DSDI', 'Ввод и вывод ценных бумаг') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (113, 'DSZI', 'Ввод и вывод ценных бумаг') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (114, 'DSFI', 'Ввод и вывод ценных бумаг') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (115, 'DSEI', 'Ввод и вывод ценных бумаг') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (116, 'DMCT', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (117, 'DMCX', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (118, 'DMDT', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (119, 'DMDX', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (120, 'DMZT', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (121, 'DMZX', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (122, 'DMFT', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (123, 'DMFX', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (124, 'DMET', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (125, 'DMEX', 'Возврат депозита') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (126, 'DMBV', 'Треб. Выписки (кл)') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (127, 'DMCV', 'Треб. выписки') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (128, 'DMDV', 'Треб. выписки') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (129, 'DMZV', 'Треб. выписки') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (130, 'DMFV', 'Треб. выписки') ON CONFLICT(ID) DO NOTHING RETURNING *;
INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (131, 'DMEV', 'Треб. выписки') ON CONFLICT(ID) DO NOTHING RETURNING *;

View file

@ -1,4 +1,4 @@
-- DB version: 3.9.0.65
-- DB version: 3.11.0.78
/* Dictionaries */
-- allowed - Справочник признаков допустимости использования объектов
@ -744,6 +744,19 @@ COMMENT ON COLUMN MANAGEMENT_JOURNAL_STATUS_DICTIONARY.NAME IS 'Статус с
GRANT ALL PRIVILEGES ON TABLE MANAGEMENT_JOURNAL_STATUS_DICTIONARY TO clearing;
-- majorSign - Справочник типов конвертируемости валюты
DROP TABLE IF EXISTS MAJOR_SIGN_DICTIONARY;
CREATE TABLE MAJOR_SIGN_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
COMMENT ON TABLE MAJOR_SIGN_DICTIONARY IS 'Справочник типов конвертируемости валюты';
COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.ID IS 'Идентификатор';
COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.NAME IS 'Наименование типа';
GRANT ALL PRIVILEGES ON TABLE MAJOR_SIGN_DICTIONARY TO clearing;
-- courierType - Справочник способов доставки документа
DROP TABLE IF EXISTS COURIER_TYPE_DICTIONARY;
CREATE TABLE COURIER_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
@ -757,6 +770,49 @@ COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.NAME IS 'Способ доставки
GRANT ALL PRIVILEGES ON TABLE COURIER_TYPE_DICTIONARY TO clearing;
-- currencySettlementType - Справочник типов расчетов валютных пар
DROP TABLE IF EXISTS CURRENCY_SETTLEMENT_TYPE_DICTIONARY;
CREATE TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
COMMENT ON TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY IS 'Справочник типов расчетов валютных пар';
COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.ID IS 'Идентификатор';
COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.NAME IS 'Тип расчета';
GRANT ALL PRIVILEGES ON TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY TO clearing;
-- currencyPair - Справочник способов доставки документа
DROP TABLE IF EXISTS CURRENCY_PAIR_DICTIONARY;
CREATE TABLE CURRENCY_PAIR_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), BASE_CURRENCY_ID varchar(4), QUOTE_CURRENCY_ID varchar(4), MAJOR_SIGN varchar(4));
COMMENT ON TABLE CURRENCY_PAIR_DICTIONARY IS 'Справочник способов доставки документа';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.ID IS 'Идентификатор';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.BASE_CURRENCY_ID IS 'Код валюты лота (linked to currencyCode)';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.QUOTE_CURRENCY_ID IS 'Код сопряженной валюты (linked to currencyCode)';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.MAJOR_SIGN IS 'Код признака конвертируемости валюты (linked to majorSign)';
GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_DICTIONARY TO clearing;
-- gatewayResultStatus - Справочник статусов обработки
DROP TABLE IF EXISTS GATEWAY_RESULT_STATUS_DICTIONARY;
CREATE TABLE GATEWAY_RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
COMMENT ON TABLE GATEWAY_RESULT_STATUS_DICTIONARY IS 'Справочник статусов обработки';
COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.NAME IS 'Статус обработки';
GRANT ALL PRIVILEGES ON TABLE GATEWAY_RESULT_STATUS_DICTIONARY TO clearing;
-- resultStatus - Справочник статусов обработки
DROP TABLE IF EXISTS RESULT_STATUS_DICTIONARY;
CREATE TABLE RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
@ -1248,6 +1304,37 @@ COMMENT ON COLUMN COMPANY_ROLE_SET.ID IS 'Идентификатор запис
GRANT ALL PRIVILEGES ON TABLE COMPANY_ROLE_SET TO clearing;
-- settlementHouseProperties - Параметры расчетной организации
DROP TABLE IF EXISTS SETTLEMENT_HOUSE_PROPERTIES;
CREATE TABLE SETTLEMENT_HOUSE_PROPERTIES(COMPANY_ID bigint, CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY);
COMMENT ON TABLE SETTLEMENT_HOUSE_PROPERTIES IS 'Параметры расчетной организации';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.COMPANY_ID IS 'Наименование компании (linked to company)';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.ID IS 'Идентификатор записи';
GRANT ALL PRIVILEGES ON TABLE SETTLEMENT_HOUSE_PROPERTIES TO clearing;
-- History log of settlementHouseProperties - Параметры расчетной организации
DROP TABLE IF EXISTS SETTLEMENT_HOUSE_PROPERTIES_HISTORY;
CREATE TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY(SETTLEMENT_HOUSE_PROPERTIES_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY);
COMMENT ON TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY IS 'История изменений таблицы settlementHouseProperties';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.SETTLEMENT_HOUSE_PROPERTIES_ID IS 'Идентификатор записи в таблице SETTLEMENT_HOUSE_PROPERTIES';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_TIME IS 'Дата и время изменения';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_TYPE IS 'Тип изменения';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.COMPANY_ID IS 'Наименование компании (linked to company)';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.ID IS 'Идентификатор записи';
GRANT ALL PRIVILEGES ON TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY TO clearing;
-- security - Инструменты
DROP TABLE IF EXISTS SECURITY;
CREATE TABLE SECURITY(ID bigint PRIMARY KEY, INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), UUID varchar(255), CREATED_AT timestamp, UPDATED_AT timestamp);
@ -1553,7 +1640,7 @@ GRANT ALL PRIVILEGES ON TABLE FIXED_INCOME_CASH_FLOW_HISTORY TO clearing;
-- couponPeriod - Купонное расписание
DROP TABLE IF EXISTS COUPON_PERIOD;
CREATE TABLE COUPON_PERIOD(SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY);
CREATE TABLE COUPON_PERIOD(SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_START_DATE date, PERIOD_END_DATE date, ID bigint PRIMARY KEY);
COMMENT ON TABLE COUPON_PERIOD IS 'Купонное расписание';
COMMENT ON COLUMN COUPON_PERIOD.SECURITY_ID IS 'Идентификатор инструмента (linked to security)';
@ -1562,9 +1649,9 @@ COMMENT ON COLUMN COUPON_PERIOD.COUPON_RATE IS 'Купонная ставка';
COMMENT ON COLUMN COUPON_PERIOD.NUMBER IS 'Номер купона';
COMMENT ON COLUMN COUPON_PERIOD.PERIOD_END_DATE IS 'Начало периода действия';
COMMENT ON COLUMN COUPON_PERIOD.PERIOD_START_DATE IS 'Начало периода действия';
COMMENT ON COLUMN COUPON_PERIOD.PERIOD_START_DATE IS 'Окончание периода действия';
COMMENT ON COLUMN COUPON_PERIOD.PERIOD_END_DATE IS 'Окончание периода действия';
COMMENT ON COLUMN COUPON_PERIOD.ID IS 'Идентификатор записи';
@ -1573,7 +1660,7 @@ GRANT ALL PRIVILEGES ON TABLE COUPON_PERIOD TO clearing;
-- History log of couponPeriod - Купонное расписание
DROP TABLE IF EXISTS COUPON_PERIOD_HISTORY;
CREATE TABLE COUPON_PERIOD_HISTORY(COUPON_PERIOD_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY);
CREATE TABLE COUPON_PERIOD_HISTORY(COUPON_PERIOD_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_START_DATE date, PERIOD_END_DATE date, ID bigint PRIMARY KEY);
COMMENT ON TABLE COUPON_PERIOD_HISTORY IS 'История изменений таблицы couponPeriod';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_PERIOD_ID IS 'Идентификатор записи в таблице COUPON_PERIOD';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_TIME IS 'Дата и время изменения';
@ -1586,9 +1673,9 @@ COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_RATE IS 'Купонная ста
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.NUMBER IS 'Номер купона';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_END_DATE IS 'Начало периода действия';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_START_DATE IS 'Начало периода действия';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_START_DATE IS 'Окончание периода действия';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_END_DATE IS 'Окончание периода действия';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.ID IS 'Идентификатор записи';
@ -1596,7 +1683,7 @@ GRANT ALL PRIVILEGES ON TABLE COUPON_PERIOD_HISTORY TO clearing;
-- listing - Инструменты на режимах
DROP TABLE IF EXISTS LISTING;
CREATE TABLE LISTING(SECURITY_ID bigint, MARKET varchar(4), LOT_SIZE numeric(72,2), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
CREATE TABLE LISTING(SECURITY_ID bigint, MARKET varchar(4), LOT_SIZE numeric(72,2), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), MIN_STEP numeric(72,2), PRECISION numeric(72,2), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE LISTING IS 'Инструменты на режимах';
COMMENT ON COLUMN LISTING.SECURITY_ID IS 'Идентификатор инструмента (linked to security)';
@ -1613,6 +1700,10 @@ COMMENT ON COLUMN LISTING.TRADING_CURRENCY IS 'Код валюты расчет
COMMENT ON COLUMN LISTING.WORKFLOW_STATUS IS 'Код статуса листинга в системе (linked to workflowStatus)';
COMMENT ON COLUMN LISTING.MIN_STEP IS 'Шаг цены';
COMMENT ON COLUMN LISTING.PRECISION IS 'Точность';
COMMENT ON COLUMN LISTING.ID IS 'Идентификатор записи';
COMMENT ON COLUMN LISTING.CREATED_AT IS 'Дата-время создания записи';
@ -1624,7 +1715,7 @@ GRANT ALL PRIVILEGES ON TABLE LISTING TO clearing;
-- History log of listing - Инструменты на режимах
DROP TABLE IF EXISTS LISTING_HISTORY;
CREATE TABLE LISTING_HISTORY(LISTING_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, MARKET varchar(4), LOT_SIZE numeric(72,2), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
CREATE TABLE LISTING_HISTORY(LISTING_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, MARKET varchar(4), LOT_SIZE numeric(72,2), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), MIN_STEP numeric(72,2), PRECISION numeric(72,2), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE LISTING_HISTORY IS 'История изменений таблицы listing';
COMMENT ON COLUMN LISTING_HISTORY.LISTING_ID IS 'Идентификатор записи в таблице LISTING';
COMMENT ON COLUMN LISTING_HISTORY.EVENT_TIME IS 'Дата и время изменения';
@ -1645,6 +1736,10 @@ COMMENT ON COLUMN LISTING_HISTORY.TRADING_CURRENCY IS 'Код валюты ра
COMMENT ON COLUMN LISTING_HISTORY.WORKFLOW_STATUS IS 'Код статуса листинга в системе (linked to workflowStatus)';
COMMENT ON COLUMN LISTING_HISTORY.MIN_STEP IS 'Шаг цены';
COMMENT ON COLUMN LISTING_HISTORY.PRECISION IS 'Точность';
COMMENT ON COLUMN LISTING_HISTORY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN LISTING_HISTORY.CREATED_AT IS 'Дата-время создания записи';
@ -1653,6 +1748,65 @@ COMMENT ON COLUMN LISTING_HISTORY.UPDATED_AT IS 'Дата-время измен
GRANT ALL PRIVILEGES ON TABLE LISTING_HISTORY TO clearing;
-- currencyPairSecurity - Валютные пары
DROP TABLE IF EXISTS CURRENCY_PAIR_SECURITY;
CREATE TABLE CURRENCY_PAIR_SECURITY(BASE_UNIT_SIZE numeric(72,2), CURRENCY_PAIR_ID bigint, CODE varchar(255), SETTLEMENT_TYPE varchar(4), CLEARING_ORGANIZATION varchar(255), SETTLEMENT_ORGANIZATION varchar(255), SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE CURRENCY_PAIR_SECURITY IS 'Валютные пары';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.BASE_UNIT_SIZE IS 'Количество валюты лота';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CURRENCY_PAIR_ID IS 'Идентификатор валютной пары (linked to currencyPair)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CODE IS 'Наименование валютной пары (linked to currencyPair)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.SETTLEMENT_TYPE IS 'Код статуса (linked to currencySettlementType)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CLEARING_ORGANIZATION IS 'Наименование клиринговой организации';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.SETTLEMENT_ORGANIZATION IS 'Наименование расчетной организации';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.SECURITY_ID IS 'Наименование инструмента (linked to security)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CREATED_AT IS 'Время создания записи';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.UPDATED_AT IS 'Время изменения записи';
GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_SECURITY TO clearing;
-- History log of currencyPairSecurity - Валютные пары
DROP TABLE IF EXISTS CURRENCY_PAIR_SECURITY_HISTORY;
CREATE TABLE CURRENCY_PAIR_SECURITY_HISTORY(CURRENCY_PAIR_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), BASE_UNIT_SIZE numeric(72,2), CURRENCY_PAIR_ID bigint, CODE varchar(255), SETTLEMENT_TYPE varchar(4), CLEARING_ORGANIZATION varchar(255), SETTLEMENT_ORGANIZATION varchar(255), SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE CURRENCY_PAIR_SECURITY_HISTORY IS 'История изменений таблицы currencyPairSecurity';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CURRENCY_PAIR_SECURITY_ID IS 'Идентификатор записи в таблице CURRENCY_PAIR_SECURITY';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_TYPE IS 'Тип изменения';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.BASE_UNIT_SIZE IS 'Количество валюты лота';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CURRENCY_PAIR_ID IS 'Идентификатор валютной пары (linked to currencyPair)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CODE IS 'Наименование валютной пары (linked to currencyPair)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.SETTLEMENT_TYPE IS 'Код статуса (linked to currencySettlementType)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CLEARING_ORGANIZATION IS 'Наименование клиринговой организации';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.SETTLEMENT_ORGANIZATION IS 'Наименование расчетной организации';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.SECURITY_ID IS 'Наименование инструмента (linked to security)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CREATED_AT IS 'Время создания записи';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.UPDATED_AT IS 'Время изменения записи';
GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_SECURITY_HISTORY TO clearing;
-- market - Рынки
DROP TABLE IF EXISTS MARKET;
CREATE TABLE MARKET(DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), CODE varchar(10), SETTLEMENT_CURRENCY varchar(4), SECTION varchar(4), MARKET_TYPE varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
@ -1735,7 +1889,7 @@ GRANT ALL PRIVILEGES ON TABLE ERROR_TEXT TO clearing;
-- clientCode - Коды клиентов компании
DROP TABLE IF EXISTS CLIENT_CODE;
CREATE TABLE CLIENT_CODE(ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp);
CREATE TABLE CLIENT_CODE(ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, CURRENCY_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE CLIENT_CODE IS 'Коды клиентов компании';
COMMENT ON COLUMN CLIENT_CODE.ID IS 'Идентификатор записи';
@ -1750,6 +1904,8 @@ COMMENT ON COLUMN CLIENT_CODE.MONEY_ACCOUNT_ID IS 'Идентификатор д
COMMENT ON COLUMN CLIENT_CODE.DEPO_ACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)';
COMMENT ON COLUMN CLIENT_CODE.CURRENCY_ACCOUNT_ID IS 'Идентификатор валютного счета (linked to account)';
COMMENT ON COLUMN CLIENT_CODE.STATUS IS 'Код статуса (linked to workflowStatus)';
COMMENT ON COLUMN CLIENT_CODE.CREATED_AT IS 'Дата-время создания записи';
@ -1761,7 +1917,7 @@ GRANT ALL PRIVILEGES ON TABLE CLIENT_CODE TO clearing;
-- History log of clientCode - Коды клиентов компании
DROP TABLE IF EXISTS CLIENT_CODE_HISTORY;
CREATE TABLE CLIENT_CODE_HISTORY(CLIENT_CODE_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp);
CREATE TABLE CLIENT_CODE_HISTORY(CLIENT_CODE_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, CURRENCY_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE CLIENT_CODE_HISTORY IS 'История изменений таблицы clientCode';
COMMENT ON COLUMN CLIENT_CODE_HISTORY.CLIENT_CODE_ID IS 'Идентификатор записи в таблице CLIENT_CODE';
COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_TIME IS 'Дата и время изменения';
@ -1780,6 +1936,8 @@ COMMENT ON COLUMN CLIENT_CODE_HISTORY.MONEY_ACCOUNT_ID IS 'Идентифика
COMMENT ON COLUMN CLIENT_CODE_HISTORY.DEPO_ACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)';
COMMENT ON COLUMN CLIENT_CODE_HISTORY.CURRENCY_ACCOUNT_ID IS 'Идентификатор валютного счета (linked to account)';
COMMENT ON COLUMN CLIENT_CODE_HISTORY.STATUS IS 'Код статуса (linked to workflowStatus)';
COMMENT ON COLUMN CLIENT_CODE_HISTORY.CREATED_AT IS 'Дата-время создания записи';
@ -1851,6 +2009,53 @@ COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.UPDATED_AT IS 'Дата-вр
GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_HISTORY TO clearing;
-- tradingClearingRegistryList - Список счетов ТКР
DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LIST;
CREATE TABLE TRADING_CLEARING_REGISTRY_LIST(TRADING_CLEARING_REGISTRY_ID bigint, ACCOUNT_ID bigint, CURRENCY varchar(4), STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LIST IS 'Список счетов ТКР';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.ACCOUNT_ID IS 'Идентификатор валютного счета (linked to account)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.CURRENCY IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.STATUS IS 'Код статуса (linked to serviceStatus)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.ID IS 'Идентификатор записи';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.CREATED_AT IS 'Дата и время создания записи';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.UPDATED_AT IS 'Дата и время изменения записи';
GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_LIST TO clearing;
-- History log of tradingClearingRegistryList - Список счетов ТКР
DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LIST_HISTORY;
CREATE TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY(TRADING_CLEARING_REGISTRY_LIST_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), TRADING_CLEARING_REGISTRY_ID bigint, ACCOUNT_ID bigint, CURRENCY varchar(4), STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY IS 'История изменений таблицы tradingClearingRegistryList';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.TRADING_CLEARING_REGISTRY_LIST_ID IS 'Идентификатор записи в таблице TRADING_CLEARING_REGISTRY_LIST';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_TIME IS 'Дата и время изменения';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_TYPE IS 'Тип изменения';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.ACCOUNT_ID IS 'Идентификатор валютного счета (linked to account)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.CURRENCY IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.STATUS IS 'Код статуса (linked to serviceStatus)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.CREATED_AT IS 'Дата и время создания записи';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.UPDATED_AT IS 'Дата и время изменения записи';
GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY TO clearing;
-- registry - Регистр активов, обязательств и требований УК
DROP TABLE IF EXISTS REGISTRY;
CREATE TABLE REGISTRY(COMPANY_ID bigint, TRADING_CODE varchar(255), CLEARING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), REGISTRY_DESIGNATION varchar(4), REGISTRY_INSTRUMENT_TYPE varchar(4), REGISTRY_CAPACITY varchar(4), REGISTRY_UNIT varchar(4), REGISTRY_CODE varchar(4), TRADING_CLEARING_REGISTRY_ID bigint, TRADING_CLEARING_REGISTRY varchar(50), REGISTRY_STATUS varchar(4), SECURITY_SYMBOL varchar(255), BALANCE numeric(72,18), OPEN_BALANCE numeric(72,18), CLOSE_BALANCE numeric(72,18), CREDIT numeric(72,18), DEBIT numeric(72,18), SETTLED_CREDIT numeric(72,18), SETTLED_DEBIT numeric(72,18), CHECK_BALANCE numeric(72,18), DIFF_BALANCE numeric(72,18), PLAN_BALANCE numeric(72,18), BALANCE_DIMENSION varchar(4), SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), TRADING_DATE date, CLEARING_DATE date, REFUND_DATE date, VALUE_DATE date, PRICE numeric(72,18), CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COMMENT varchar(255), PARENT_ID bigint, GROUP_ID bigint, SESSION_ID bigint, SESSION_TYPE varchar(4), PAYMENT_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, SECURITY_ID bigint);
@ -2060,7 +2265,7 @@ GRANT ALL PRIVILEGES ON TABLE REGISTRY_HISTORY TO clearing;
-- account - Счета
DROP TABLE IF EXISTS ACCOUNT;
CREATE TABLE ACCOUNT(ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
CREATE TABLE ACCOUNT(ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, CURRENCY varchar(4), STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE ACCOUNT IS 'Счета';
COMMENT ON COLUMN ACCOUNT.ACCOUNT IS 'Номер счета';
@ -2069,6 +2274,8 @@ COMMENT ON COLUMN ACCOUNT.ACCOUNT_TYPE IS 'Код типа счета (linked to
COMMENT ON COLUMN ACCOUNT.RELATION_ID IS 'Идентификатор договорных отношений (linked to relation)';
COMMENT ON COLUMN ACCOUNT.CURRENCY IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN ACCOUNT.STATUS IS 'Код статуса (linked to serviceStatus)';
COMMENT ON COLUMN ACCOUNT.PROCESSING_SIGN IS 'Код признака обработки счета (linked to allowed)';
@ -2086,7 +2293,7 @@ GRANT ALL PRIVILEGES ON TABLE ACCOUNT TO clearing;
-- History log of account - Счета
DROP TABLE IF EXISTS ACCOUNT_HISTORY;
CREATE TABLE ACCOUNT_HISTORY(ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
CREATE TABLE ACCOUNT_HISTORY(ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, CURRENCY varchar(4), STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE ACCOUNT_HISTORY IS 'История изменений таблицы account';
COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор записи в таблице ACCOUNT';
COMMENT ON COLUMN ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения';
@ -2099,6 +2306,8 @@ COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_TYPE IS 'Код типа счета (l
COMMENT ON COLUMN ACCOUNT_HISTORY.RELATION_ID IS 'Идентификатор договорных отношений (linked to relation)';
COMMENT ON COLUMN ACCOUNT_HISTORY.CURRENCY IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN ACCOUNT_HISTORY.STATUS IS 'Код статуса (linked to serviceStatus)';
COMMENT ON COLUMN ACCOUNT_HISTORY.PROCESSING_SIGN IS 'Код признака обработки счета (linked to allowed)';
@ -2326,7 +2535,7 @@ COMMENT ON COLUMN ACCOUNT_SYMBOLS.ID IS 'Идентификатор записи
COMMENT ON COLUMN ACCOUNT_SYMBOLS.ACCOUNT_ID IS 'Идентификатор счета (linked to account)';
COMMENT ON COLUMN ACCOUNT_SYMBOLS.ACCOUNT_SYMBOL_VALUE IS 'Счет РДЦ';
COMMENT ON COLUMN ACCOUNT_SYMBOLS.ACCOUNT_SYMBOL_VALUE IS 'Значение реквизита';
GRANT ALL PRIVILEGES ON TABLE ACCOUNT_SYMBOLS TO clearing;
@ -2344,7 +2553,7 @@ COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ID IS 'Идентификатор за
COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)';
COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ACCOUNT_SYMBOL_VALUE IS 'Счет РДЦ';
COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ACCOUNT_SYMBOL_VALUE IS 'Значение реквизита';
GRANT ALL PRIVILEGES ON TABLE ACCOUNT_SYMBOLS_HISTORY TO clearing;
@ -2689,7 +2898,7 @@ COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_CLEARING_REGISTRY_ID IS 'Идент
COMMENT ON COLUMN EXECUTION_DEPOSIT.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_DEPOSIT.MARKET IS 'Код секции финансового инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_DEPOSIT.MARKET IS 'Код секции финансового инструмента';
COMMENT ON COLUMN EXECUTION_DEPOSIT.PRICE IS 'Ставка по депозиту';
@ -2769,7 +2978,7 @@ COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'И
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.MARKET IS 'Код секции финансового инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.MARKET IS 'Код секции финансового инструмента';
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.PRICE IS 'Ставка по депозиту';
@ -2846,7 +3055,7 @@ COMMENT ON COLUMN EXECUTION_FOND.EXCHANGE_EXECUTION_ID IS 'Идентифика
COMMENT ON COLUMN EXECUTION_FOND.SIDE IS 'Код направления сделки (linked to side)';
COMMENT ON COLUMN EXECUTION_FOND.MARKET IS 'Код секции финансового инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_FOND.MARKET IS 'Код секции финансового инструмента';
COMMENT ON COLUMN EXECUTION_FOND.TRADING_DATE IS 'Дата заключения сделки';
@ -2924,7 +3133,7 @@ COMMENT ON COLUMN EXECUTION_FOND_HISTORY.EXCHANGE_EXECUTION_ID IS 'Иденти
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SIDE IS 'Код направления сделки (linked to side)';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.MARKET IS 'Код секции финансового инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.MARKET IS 'Код секции финансового инструмента';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.TRADING_DATE IS 'Дата заключения сделки';
@ -2980,9 +3189,144 @@ COMMENT ON COLUMN EXECUTION_FOND_HISTORY.SESSION_ID IS 'Идентификато
GRANT ALL PRIVILEGES ON TABLE EXECUTION_FOND_HISTORY TO clearing;
-- executionCurrency - Сделки с валютными инструментами
DROP TABLE IF EXISTS EXECUTION_CURRENCY;
CREATE TABLE EXECUTION_CURRENCY(EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, EXCHANGE_EXECUTION_MICROSECONDS timestamp, TRADING_DATE date, SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), SECURITY_ID bigint, SECURITY_SYMBOL varchar(255), SECURITY_NAME varchar(255), COMPANY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), SETTLEMENT_AMOUNT numeric(72,2), QUANTITY numeric(72,2), SIDE varchar(4), _сURRENCY_CODE varchar(4), SETTLEMENT_ORGANIZATION varchar(255), COVERAGE_STATUS varchar(4), SESSION_ID bigint, CLEARING_DATE date, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE EXECUTION_CURRENCY IS 'Сделки с валютными инструментами';
COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_MICROSECONDS IS 'Микросекунды заключения сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY.TRADING_DATE IS 'Дата заключения сделки';
COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_DATE IS 'Дата расчетов';
COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_CODE IS 'Код расчетов при размещении';
COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_ID IS 'Идентификатор финансового инструмента (linked to security)';
COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_NAME IS 'Краткое наименование инструмента';
COMMENT ON COLUMN EXECUTION_CURRENCY.COMPANY_ID IS 'Идентификатор компании (linked to company)';
COMMENT ON COLUMN EXECUTION_CURRENCY.PARTY_TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_CURRENCY.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)';
COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра партнера (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_CURRENCY.MARKET IS 'Код секции валютного инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_CURRENCY.PRICE IS 'Цена';
COMMENT ON COLUMN EXECUTION_CURRENCY.LOTS IS 'Количество лотов';
COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_AMOUNT IS 'Объем сделки в валюте лота';
COMMENT ON COLUMN EXECUTION_CURRENCY.QUANTITY IS 'Количество штук';
COMMENT ON COLUMN EXECUTION_CURRENCY.SIDE IS 'Код направления сделки (linked to side)';
COMMENT ON COLUMN EXECUTION_CURRENCY._сURRENCY_CODE IS 'Код валюты лота (linked to currencyCode)';
COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_ORGANIZATION IS 'Наименование расчетной организации';
COMMENT ON COLUMN EXECUTION_CURRENCY.COVERAGE_STATUS IS 'Код статуса достаточности обеспечения (linked to allowed)';
COMMENT ON COLUMN EXECUTION_CURRENCY.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)';
COMMENT ON COLUMN EXECUTION_CURRENCY.CLEARING_DATE IS 'Дата клиринга';
COMMENT ON COLUMN EXECUTION_CURRENCY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN EXECUTION_CURRENCY.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN EXECUTION_CURRENCY.UPDATED_AT IS 'Дата-время изменения записи';
GRANT ALL PRIVILEGES ON TABLE EXECUTION_CURRENCY TO clearing;
-- History log of executionCurrency - Сделки с валютными инструментами
DROP TABLE IF EXISTS EXECUTION_CURRENCY_HISTORY;
CREATE TABLE EXECUTION_CURRENCY_HISTORY(EXECUTION_CURRENCY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, EXCHANGE_EXECUTION_MICROSECONDS timestamp, TRADING_DATE date, SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), SECURITY_ID bigint, SECURITY_SYMBOL varchar(255), SECURITY_NAME varchar(255), COMPANY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), SETTLEMENT_AMOUNT numeric(72,2), QUANTITY numeric(72,2), SIDE varchar(4), _сURRENCY_CODE varchar(4), SETTLEMENT_ORGANIZATION varchar(255), COVERAGE_STATUS varchar(4), SESSION_ID bigint, CLEARING_DATE date, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE EXECUTION_CURRENCY_HISTORY IS 'История изменений таблицы executionCurrency';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXECUTION_CURRENCY_ID IS 'Идентификатор записи в таблице EXECUTION_CURRENCY';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_TIME IS 'Дата и время изменения';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_TYPE IS 'Тип изменения';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_MICROSECONDS IS 'Микросекунды заключения сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.TRADING_DATE IS 'Дата заключения сделки';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_DATE IS 'Дата расчетов';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_CODE IS 'Код расчетов при размещении';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_ID IS 'Идентификатор финансового инструмента (linked to security)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_NAME IS 'Краткое наименование инструмента';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PARTY_TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра партнера (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.MARKET IS 'Код секции валютного инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PRICE IS 'Цена';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.LOTS IS 'Количество лотов';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_AMOUNT IS 'Объем сделки в валюте лота';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.QUANTITY IS 'Количество штук';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SIDE IS 'Код направления сделки (linked to side)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY._сURRENCY_CODE IS 'Код валюты лота (linked to currencyCode)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_ORGANIZATION IS 'Наименование расчетной организации';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COVERAGE_STATUS IS 'Код статуса достаточности обеспечения (linked to allowed)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CLEARING_DATE IS 'Дата клиринга';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.UPDATED_AT IS 'Дата-время изменения записи';
GRANT ALL PRIVILEGES ON TABLE EXECUTION_CURRENCY_HISTORY TO clearing;
-- depoBalanceRegister - Реестр остатков ценных бумаг
DROP TABLE IF EXISTS DEPO_BALANCE_REGISTER;
CREATE TABLE DEPO_BALANCE_REGISTER(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, COMPANY_ID bigint, SESSION_ID bigint, DEPO_CODE varchar(50), QUANTITY numeric(72,2), SECURITY_SYMBOL varchar(255));
CREATE TABLE DEPO_BALANCE_REGISTER(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, COMPANY_ID bigint, SESSION_ID bigint, SET_HOUSE_NAME varchar(255), NUMBER varchar(255), DEPO_CODE varchar(50), QUANTITY numeric(72,2), SECURITY_SYMBOL varchar(255));
COMMENT ON TABLE DEPO_BALANCE_REGISTER IS 'Реестр остатков ценных бумаг';
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.ID IS 'Идентификатор записи';
@ -2995,6 +3339,10 @@ COMMENT ON COLUMN DEPO_BALANCE_REGISTER.COMPANY_ID IS 'Идентификато
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)';
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.SET_HOUSE_NAME IS 'Наименование РД';
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.NUMBER IS 'Номер отчета';
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.DEPO_CODE IS 'Код раздела субсчета/счета депо';
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.QUANTITY IS 'Количество';
@ -3005,32 +3353,36 @@ GRANT ALL PRIVILEGES ON TABLE DEPO_BALANCE_REGISTER TO clearing;
-- moneyBalanceRegister - Реестр остатков денежных средств
DROP TABLE IF EXISTS MONEY_BALANCE_REGISTER;
CREATE TABLE MONEY_BALANCE_REGISTER(SET_HOUSE_NAME varchar(255), ACCOUNT varchar(50), INFO_ACCOUNT varchar(50), REMAINDER_SUM numeric(72,18), BLOCKED_SUM numeric(72,18), UNBLOCKED_SUM numeric(72,18), INN varchar(255), SESSION_ID bigint, COMPANY_FULL_NAME varchar(255), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
CREATE TABLE MONEY_BALANCE_REGISTER(SET_HOUSE_NAME varchar(255), NUMBER varchar(255), CREATED_AT timestamp, CURRENCY_CODE varchar(4), COMPANY_ID bigint, ACCOUNT varchar(50), REMAINDER_SUM numeric(72,18), INFO_ACCOUNT varchar(50), COMPANY_FULL_NAME varchar(255), ID bigint PRIMARY KEY, INN varchar(255), SESSION_ID bigint, BLOCKED_SUM numeric(72,18), UNBLOCKED_SUM numeric(72,18), UPDATED_AT timestamp);
COMMENT ON TABLE MONEY_BALANCE_REGISTER IS 'Реестр остатков денежных средств';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.SET_HOUSE_NAME IS 'Наименование РО';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.ACCOUNT IS 'Номер торгового/клирингового счета';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.NUMBER IS 'Номер отчета';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.INFO_ACCOUNT IS 'Номер счета внутреннего учета СПВБ';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.COMPANY_ID IS 'Идентификатор компании (linked to company)';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.ACCOUNT IS 'Номер торгового /клирингового счета/ счета внутреннего учета СПВБ';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.REMAINDER_SUM IS 'Остаток денежных средств';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.BLOCKED_SUM IS 'Сумма блокированных денежных средств';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.INFO_ACCOUNT IS 'Номер счета внутреннего учета СПВБ';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.UNBLOCKED_SUM IS 'Сумма свободных денежных средств';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.COMPANY_FULL_NAME IS 'Полное наименование компании';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.ID IS 'Идентификатор записи';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.INN IS 'Идентификационный номер налогоплательщика (ИНН)';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.COMPANY_FULL_NAME IS 'Полное наименование компании';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.BLOCKED_SUM IS 'Сумма блокированных денежных средств';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.COMPANY_ID IS 'Идентификатор компании (linked to company)';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.ID IS 'Идентификатор записи';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.UNBLOCKED_SUM IS 'Сумма свободных денежных средств';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.UPDATED_AT IS 'Дата-время изменения записи';
@ -3191,6 +3543,50 @@ COMMENT ON COLUMN EXCLUDE_LIABILITIES_REGISTER.SETTLEMENT_DATE IS 'Дата ра
GRANT ALL PRIVILEGES ON TABLE EXCLUDE_LIABILITIES_REGISTER TO clearing;
-- pairSdf - Пары файлов
DROP TABLE IF EXISTS PAIR_SDF;
CREATE TABLE PAIR_SDF(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, IN_S_DF_ID varchar(255), IN_S_DF varchar(255), OUT_S_DF_ID varchar(255), OUT_S_DF varchar(255));
COMMENT ON TABLE PAIR_SDF IS 'Пары файлов';
COMMENT ON COLUMN PAIR_SDF.ID IS 'Идентификатор записи';
COMMENT ON COLUMN PAIR_SDF.CREATED_AT IS 'Время создания записи';
COMMENT ON COLUMN PAIR_SDF.UPDATED_AT IS 'Время изменения записи';
COMMENT ON COLUMN PAIR_SDF.IN_S_DF_ID IS 'Идентификатор входящего файла';
COMMENT ON COLUMN PAIR_SDF.IN_S_DF IS 'Входящий файл';
COMMENT ON COLUMN PAIR_SDF.OUT_S_DF_ID IS 'Идентификатор исходящего файла';
COMMENT ON COLUMN PAIR_SDF.OUT_S_DF IS 'Исходящий файл';
GRANT ALL PRIVILEGES ON TABLE PAIR_SDF TO clearing;
-- gatewayResult - Результат запроса к gateway
DROP TABLE IF EXISTS GATEWAY_RESULT;
CREATE TABLE GATEWAY_RESULT(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, REQUEST_ID varchar(255), NAME_REQUEST varchar(255), REQUEST varchar(1023), RESULT varchar(1023), GATEWAY_RESULT_STATUS varchar(4));
COMMENT ON TABLE GATEWAY_RESULT IS 'Результат запроса к gateway';
COMMENT ON COLUMN GATEWAY_RESULT.ID IS 'Идентификатор записи';
COMMENT ON COLUMN GATEWAY_RESULT.CREATED_AT IS 'Время создания записи';
COMMENT ON COLUMN GATEWAY_RESULT.UPDATED_AT IS 'Время изменения записи';
COMMENT ON COLUMN GATEWAY_RESULT.REQUEST_ID IS 'ID запроса';
COMMENT ON COLUMN GATEWAY_RESULT.NAME_REQUEST IS 'Наименование запроса';
COMMENT ON COLUMN GATEWAY_RESULT.REQUEST IS 'Тело запроса';
COMMENT ON COLUMN GATEWAY_RESULT.RESULT IS 'Тело ответа';
COMMENT ON COLUMN GATEWAY_RESULT.GATEWAY_RESULT_STATUS IS 'Статус запроса (linked to gatewayResultStatus)';
GRANT ALL PRIVILEGES ON TABLE GATEWAY_RESULT TO clearing;
-- liabilitiesRegister - Реестр учета обязательств
DROP TABLE IF EXISTS LIABILITIES_REGISTER;
CREATE TABLE LIABILITIES_REGISTER(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, SESSION_ID bigint, VALID_FROM_DATE date, VALID_TO_DATE date, COMPANY_ID bigint, COMPANY_FULL_NAME varchar(255), INN varchar(255), SEGMENT varchar(10), REGISTRY_CODE varchar(4), ACCOUNT varchar(50), REGISTRY_STATUS varchar(4), CURRENCY varchar(4), SUM_LIABILITIES numeric(72,18), SETTLEMENT_DATE date);
@ -3406,7 +3802,7 @@ COMMENT ON COLUMN NOTIFICATION.CREATED_AT IS 'Дата-время создани
COMMENT ON COLUMN NOTIFICATION.UPDATED_AT IS 'Дата-время изменения записи';
COMMENT ON COLUMN NOTIFICATION.SENDER_ID IS 'Идентификатор отправителя (linked to userCls)';
COMMENT ON COLUMN NOTIFICATION.SENDER_ID IS 'Идентификатор компании-отправителя (linked to company)';
COMMENT ON COLUMN NOTIFICATION.ADDRESSEE_ID IS 'Идентификатор компании-получателя (linked to company)';
@ -3440,7 +3836,7 @@ COMMENT ON COLUMN NOTIFICATION_HISTORY.CREATED_AT IS 'Дата-время соз
COMMENT ON COLUMN NOTIFICATION_HISTORY.UPDATED_AT IS 'Дата-время изменения записи';
COMMENT ON COLUMN NOTIFICATION_HISTORY.SENDER_ID IS 'Идентификатор отправителя (linked to userCls)';
COMMENT ON COLUMN NOTIFICATION_HISTORY.SENDER_ID IS 'Идентификатор компании-отправителя (linked to company)';
COMMENT ON COLUMN NOTIFICATION_HISTORY.ADDRESSEE_ID IS 'Идентификатор компании-получателя (linked to company)';
@ -3528,7 +3924,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF01 TO clearing;
-- sDf02 - ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке
DROP TABLE IF EXISTS S_DF02;
CREATE TABLE S_DF02(ID bigint PRIMARY KEY, CURR_CODE varchar(12), ACCOUNT varchar(35), REMAINDER varchar(22), DEAL varchar(10), ACC_CODE varchar(5), DAT varchar(8), MARKET varchar(1), ACC_NAME varchar(30), ACC_TYPE varchar(2), SUMENGAGE varchar(22), SUMUNBLOCK varchar(22), FILE_TYPE varchar(1), RESULT varchar(3), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint);
CREATE TABLE S_DF02(ID bigint PRIMARY KEY, CURR_CODE varchar(12), ACCOUNT varchar(35), REMAINDER varchar(22), DEAL varchar(10), ACC_CODE varchar(5), DAT varchar(8), MARKET varchar(1), ACC_NAME varchar(30), ACC_TYPE varchar(2), SUMENGAGE varchar(22), SUMUNBLOCK varchar(22), FILE_TYPE varchar(1), RESULT varchar(3), GENERATION_TIME timestamp, GENERATION_ID bigint, FILE_NAME varchar(255), IN_S_DF_ID bigint);
COMMENT ON TABLE S_DF02 IS 'ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке';
COMMENT ON COLUMN S_DF02.ID IS 'Идентификатор записи';
@ -3563,13 +3959,15 @@ COMMENT ON COLUMN S_DF02.GENERATION_TIME IS 'Дата и время создан
COMMENT ON COLUMN S_DF02.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_DF02.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF02.IN_S_DF_ID IS 'Идентификатор соответствующей записи из таблицы-источника';
GRANT ALL PRIVILEGES ON TABLE S_DF02 TO clearing;
-- sDf03 - ДФ-03 Реестр платежных поручений
DROP TABLE IF EXISTS S_DF03;
CREATE TABLE S_DF03(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SPECIF_1 varchar(255), IMP_RESULT varchar(3), GENERATION_TIME timestamp, GENERATION_ID bigint, PAYMENT_INSTRUCTION_ID bigint);
CREATE TABLE S_DF03(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SPECIF_1 varchar(255), IMP_RESULT varchar(3), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, PAYMENT_INSTRUCTION_ID bigint);
COMMENT ON TABLE S_DF03 IS 'ДФ-03 Реестр платежных поручений';
COMMENT ON COLUMN S_DF03.ID IS 'Идентификатор записи';
@ -3616,6 +4014,8 @@ COMMENT ON COLUMN S_DF03.SPECIF_1 IS 'Назначение платежа';
COMMENT ON COLUMN S_DF03.IMP_RESULT IS 'Результат приема';
COMMENT ON COLUMN S_DF03.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF03.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_DF03.GENERATION_ID IS 'Идентификатор взаимодействия';
@ -3704,7 +4104,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF05 TO clearing;
-- sDf06 - ДФ-06 Запрос на зачисление/списание денежных средств
DROP TABLE IF EXISTS S_DF06;
CREATE TABLE S_DF06(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint);
CREATE TABLE S_DF06(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, _DOC__NUM varchar(3), _DOC__DATE date, PAY_VAL varchar(12));
COMMENT ON TABLE S_DF06 IS 'ДФ-06 Запрос на зачисление/списание денежных средств';
COMMENT ON COLUMN S_DF06.ID IS 'Идентификатор записи';
@ -3735,11 +4135,17 @@ COMMENT ON COLUMN S_DF06.GENERATION_TIME IS 'Дата и время обрабо
COMMENT ON COLUMN S_DF06.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_DF06._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF06._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF06.PAY_VAL IS 'Валюта документа';
GRANT ALL PRIVILEGES ON TABLE S_DF06 TO clearing;
-- sDf07 - ДФ-07 Ответ на запрос по зачислению/списанию денежных средств
DROP TABLE IF EXISTS S_DF07;
CREATE TABLE S_DF07(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), RESULT numeric(72,18), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint);
CREATE TABLE S_DF07(ID bigint PRIMARY KEY, ACCOUNT varchar(20), SUM numeric(72,18), MARKET varchar(1), TYPE varchar(255), DEAL varchar(10), CLIENT_N varchar(255), INN varchar(255), BIC varchar(255), SPEC varchar(255), NUMBER numeric(72,18), RESULT numeric(72,18), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint, _DOC__NUM varchar(3), _DOC__DATE date, PAY_VAL varchar(12));
COMMENT ON TABLE S_DF07 IS 'ДФ-07 Ответ на запрос по зачислению/списанию денежных средств';
COMMENT ON COLUMN S_DF07.ID IS 'Идентификатор записи';
@ -3766,12 +4172,20 @@ COMMENT ON COLUMN S_DF07.NUMBER IS 'Номер платежного докуме
COMMENT ON COLUMN S_DF07.RESULT IS 'Код завершения операции';
COMMENT ON COLUMN S_DF07.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF07.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_DF07.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_DF07.IN_S_DF_ID IS 'Идентификатор соответствующей записи из таблицы-источника';
COMMENT ON COLUMN S_DF07._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF07._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF07.PAY_VAL IS 'Валюта документа';
GRANT ALL PRIVILEGES ON TABLE S_DF07 TO clearing;
-- sDf08 - ДФ-08 Загрузка счетов с остатками
@ -3880,7 +4294,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF11 TO clearing;
-- sDf12 - ДФ-12 Распоряжение на проведение операций по итогам клиринга
DROP TABLE IF EXISTS S_DF12;
CREATE TABLE S_DF12(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, DIRECTION varchar(255), QUANTITY varchar, SECURITY_CODE varchar, DEPO_CODE_SENDER varchar, DEPO_CODE_ADRESSEE varchar, TRANSACTION_NUMBER varchar(255), TRANSACTION_QUANTITY varchar(255), RESULT varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint);
CREATE TABLE S_DF12(ID bigint PRIMARY KEY, OUT_DOCUMENT varchar, DIRECTION varchar(255), QUANTITY varchar, SECURITY_CODE varchar, DEPO_CODE_SENDER varchar, DEPO_CODE_ADRESSEE varchar, TRANSACTION_NUMBER varchar(255), TRANSACTION_QUANTITY varchar(255), RESULT varchar(255), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint);
COMMENT ON TABLE S_DF12 IS 'ДФ-12 Распоряжение на проведение операций по итогам клиринга';
COMMENT ON COLUMN S_DF12.ID IS 'Идентификатор записи';
@ -3903,6 +4317,8 @@ COMMENT ON COLUMN S_DF12.TRANSACTION_QUANTITY IS 'Количество тран
COMMENT ON COLUMN S_DF12.RESULT IS 'Результат операции';
COMMENT ON COLUMN S_DF12.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF12.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_DF12.GENERATION_ID IS 'Идентификатор взаимодействия';
@ -4081,7 +4497,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF52 TO clearing;
-- sDf53 - ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)
DROP TABLE IF EXISTS S_DF53;
CREATE TABLE S_DF53(ID bigint PRIMARY KEY, ACC_NAME varchar(30), ACCOUNT varchar(25), DEAL varchar(4), DATE varchar(8), STATUS bigint, RESULT varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint);
CREATE TABLE S_DF53(ID bigint PRIMARY KEY, ACC_NAME varchar(30), ACCOUNT varchar(25), DEAL varchar(4), DATE varchar(8), STATUS bigint, RESULT varchar(255), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint);
COMMENT ON TABLE S_DF53 IS 'ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)';
COMMENT ON COLUMN S_DF53.ID IS 'Идентификатор записи';
@ -4098,6 +4514,8 @@ COMMENT ON COLUMN S_DF53.STATUS IS 'Статус счета';
COMMENT ON COLUMN S_DF53.RESULT IS 'Код завершения операции';
COMMENT ON COLUMN S_DF53.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF53.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_DF53.GENERATION_ID IS 'Идентификатор взаимодействия';
@ -4108,7 +4526,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF53 TO clearing;
-- sDf54 - ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414
DROP TABLE IF EXISTS S_DF54;
CREATE TABLE S_DF54(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), GENERATION_TIME timestamp, GENERATION_ID bigint);
CREATE TABLE S_DF54(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), GENERATION_TIME timestamp, GENERATION_ID bigint, _DOC__NUM varchar(3), _DOC__DATE date, _VALUE_DATE varchar(8), _SWIFT_BEN varchar(11), _SWIFT_INTERMED varchar(11));
COMMENT ON TABLE S_DF54 IS 'ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414';
COMMENT ON COLUMN S_DF54.ID IS 'Идентификатор записи';
@ -4197,11 +4615,21 @@ COMMENT ON COLUMN S_DF54.GENERATION_TIME IS 'Дата и время создан
COMMENT ON COLUMN S_DF54.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_DF54._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF54._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF54._VALUE_DATE IS 'Дата валютирования';
COMMENT ON COLUMN S_DF54._SWIFT_BEN IS 'Свифт банка бенефициара';
COMMENT ON COLUMN S_DF54._SWIFT_INTERMED IS 'Swift_intermed';
GRANT ALL PRIVILEGES ON TABLE S_DF54 TO clearing;
-- sDf55 - ДФ-55 Квитанция об обработке ДФ-54
DROP TABLE IF EXISTS S_DF55;
CREATE TABLE S_DF55(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint);
CREATE TABLE S_DF55(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar(4), DOCNM_REF varchar(16), DOCNMPREV varchar(16), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), OP_ORDER varchar(1), PAY_DATE varchar(8), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR_1 varchar(35), SPECIF_1 varchar(255), SEND_TYPE varchar(10), DOC_RESULT varchar(2), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint, _DOC__NUM varchar(3), _DOC__DATE date, _VALUE_DATE varchar(8), _SWIFT_BEN varchar(11), _SWIFT_INTERMED varchar(11));
COMMENT ON TABLE S_DF55 IS 'ДФ-55 Квитанция об обработке ДФ-54';
COMMENT ON COLUMN S_DF55.ID IS 'Идентификатор записи';
@ -4292,6 +4720,16 @@ COMMENT ON COLUMN S_DF55.GENERATION_TIME IS 'Дата и время обрабо
COMMENT ON COLUMN S_DF55.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_DF55._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF55._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF55._VALUE_DATE IS 'Дата валютирования';
COMMENT ON COLUMN S_DF55._SWIFT_BEN IS 'Свифт банка бенефициара';
COMMENT ON COLUMN S_DF55._SWIFT_INTERMED IS 'Swift_intermed';
GRANT ALL PRIVILEGES ON TABLE S_DF55 TO clearing;
-- sDf56 - ДФ-56 Запрос транзакций за период
@ -4319,7 +4757,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF56 TO clearing;
-- sDf57 - ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)
DROP TABLE IF EXISTS S_DF57;
CREATE TABLE S_DF57(GENERATION_TIME timestamp, ID bigint PRIMARY KEY, DBF_ID bigint, DEAL_DEB varchar(4), DEAL_CRED varchar(4), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), PAY_DATE varchar(8), EXT_DATE varchar(255), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR varchar(35), SPECIF varchar(255), FILE_NAME varchar(255), GENERATION_ID bigint);
CREATE TABLE S_DF57(GENERATION_TIME timestamp, ID bigint PRIMARY KEY, DBF_ID bigint, DEAL_DEB varchar(4), DEAL_CRED varchar(4), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(35), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), OP_TYPE varchar(2), PAY_DATE varchar(8), EXT_DATE varchar(255), PAY_VAL varchar(12), SUM_DEB varchar(22), SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), INN_DEB varchar(12), KPP_DEB varchar(9), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), INN_CRED varchar(12), KPP_CRED varchar(9), ACC_KR varchar(35), SPECIF varchar(255), FILE_NAME varchar(255), GENERATION_ID bigint, _DOC__NUM varchar(3), _DOC__DATE date, DT_IN varchar(22), KT_IN varchar(22), DT_OUT varchar(22), KT_OUT varchar(22));
COMMENT ON TABLE S_DF57 IS 'ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)';
COMMENT ON COLUMN S_DF57.GENERATION_TIME IS 'Дата и время создания записи';
@ -4404,6 +4842,18 @@ COMMENT ON COLUMN S_DF57.FILE_NAME IS 'Наименование входящег
COMMENT ON COLUMN S_DF57.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_DF57._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF57._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF57.DT_IN IS 'Входящий дебетовый остаток';
COMMENT ON COLUMN S_DF57.KT_IN IS 'Входящий кредитовый остаток';
COMMENT ON COLUMN S_DF57.DT_OUT IS 'Исходящий дебетовый остаток';
COMMENT ON COLUMN S_DF57.KT_OUT IS 'Исходящий кредитовый остаток';
GRANT ALL PRIVILEGES ON TABLE S_DF57 TO clearing;
-- managementJournal - Журнал мониторинга и контроля
@ -4615,8 +5065,37 @@ COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.CLEARING_DATE IS 'Дата';
GRANT ALL PRIVILEGES ON TABLE MARKET_DATA_LIQUIDATION TO clearing;
-- sCrossRate - Кросс курсы валют от ЦБ
DROP TABLE IF EXISTS S_CROSS_RATE;
CREATE TABLE S_CROSS_RATE(ID bigint PRIMARY KEY, DATE date, CURRENCY varchar(50), CURR_CODE varchar(50), FACE_VALUE numeric(72,18), RATE numeric(72,18), UNIT_RATE numeric(72,18), GENERATION_TIME timestamp, GENERATION_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE S_CROSS_RATE IS 'Кросс курсы валют от ЦБ';
COMMENT ON COLUMN S_CROSS_RATE.ID IS 'Идентификатор записи';
COMMENT ON COLUMN S_CROSS_RATE.DATE IS 'Дата торгов';
COMMENT ON COLUMN S_CROSS_RATE.CURRENCY IS 'Наименование валюты';
COMMENT ON COLUMN S_CROSS_RATE.CURR_CODE IS 'Код валюты';
COMMENT ON COLUMN S_CROSS_RATE.FACE_VALUE IS 'Номинал';
COMMENT ON COLUMN S_CROSS_RATE.RATE IS 'Курс валюты с учетом размера лота';
COMMENT ON COLUMN S_CROSS_RATE.UNIT_RATE IS 'Курс за единицу иностранной валюты';
COMMENT ON COLUMN S_CROSS_RATE.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_CROSS_RATE.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_CROSS_RATE.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN S_CROSS_RATE.UPDATED_AT IS 'Дата-время изменения записи';
GRANT ALL PRIVILEGES ON TABLE S_CROSS_RATE TO clearing;
/* views */
-- Data types
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.9') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.11') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,184 @@
-- DB version: 3.11.0.78
-- DATA version: 3.11.0.78
-- INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.11.0.78') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION
/* Dictionaries */
/* Business objects */
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (1, 'ABEC', 'FOND', 'PRMR', 'RUB', 'Размещение: Аукцион СПВБ', 'Размещение: Аукцион СПВБ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (2, 'AEPC', 'FOND', 'PRMR', 'RUB', 'Размещение: акции (аукцион по цене)', 'Размещение: акции (аукцион по цене)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (3, 'AESC', 'FOND', 'PRMR', 'RUB', 'Размещение: акции (аукцион по цене)', 'Размещение: акции (аукцион по цене)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (4, 'ABFC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Обл. с ПД-Аукцион', 'СПВБ: Обл. с ПД-Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (5, 'ABIC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Обл. с ИН - Аукцион', 'СПВБ: Обл. с ИН - Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (6, 'ABMC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Обл. с АД - Аукцион', 'СПВБ: Обл. с АД - Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (7, 'ABVC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Обл. с ПК - Аукцион', 'СПВБ: Обл. с ПК - Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (8, 'BKVC', 'FOND', 'PRMR', 'RUB', 'Размещение: Аукцион БР', 'Размещение: Аукцион БР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (9, 'BMFC', 'FOND', 'PRMR', 'RUB', 'ОФЗПД-Размещение: Аукцион', 'ОФЗПД-Размещение: Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (10, 'BMIC', 'FOND', 'PRMR', 'RUB', 'ОФЗИН-Размещение: Аукцион', 'ОФЗИН-Размещение: Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (11, 'BMMC', 'FOND', 'PRMR', 'RUB', 'ОФЗАД-Размещение: Аукцион', 'ОФЗАД-Размещение: Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (12, 'BMVC', 'FOND', 'PRMR', 'RUB', 'ОФЗПК-Размещение: Аукцион', 'ОФЗПК-Размещение: Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (13, 'DBEC', 'FOND', 'SCND', 'RUB', 'Дискретный аукцион', 'Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (14, 'DBFC', 'FOND', 'SCND', 'RUB', 'Дискретный аукцион', 'Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (15, 'DBIC', 'FOND', 'SCND', 'RUB', 'Дискретный аукцион', 'Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (16, 'DBMC', 'FOND', 'SCND', 'RUB', 'Дискретный аукцион', 'Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (17, 'DBVC', 'FOND', 'SCND', 'RUB', 'Дискретный аукцион', 'Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (18, 'DEPC', 'FOND', 'SCND', 'RUB', 'Дискретный аукцион', 'Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (19, 'DESC', 'FOND', 'SCND', 'RUB', 'Дискретный аукцион', 'Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (20, 'DKVC', 'FOND', 'SCND', 'RUB', 'Дискретный аукцион', 'Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (21, 'DMFC', 'FOND', 'SCND', 'RUB', 'ОФЗПД-Дискретный аукцион', 'ОФЗПД-Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (22, 'DMIC', 'FOND', 'SCND', 'RUB', 'ОФЗИН-Дискретный аукцион', 'ОФЗИН-Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (23, 'DMMC', 'FOND', 'SCND', 'RUB', 'ОФЗАД-Дискретный аукцион', 'ОФЗАД-Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (24, 'DMVC', 'FOND', 'SCND', 'RUB', 'ОФЗПК-Дискретный аукцион', 'ОФЗПК-Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (25, 'KBFC', 'FOND', 'PRMR', 'RUB', 'Размещение: Аукцион по ставке', 'Размещение: Аукцион по ставке') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (26, 'KBIC', 'FOND', 'PRMR', 'RUB', 'Размещение: Аукцион по ставке', 'Размещение: Аукцион по ставке') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (27, 'KBMC', 'FOND', 'PRMR', 'RUB', 'Размещение: Аукцион по ставке', 'Размещение: Аукцион по ставке') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (28, 'KBVC', 'FOND', 'PRMR', 'RUB', 'Размещение: Аукцион по ставке', 'Размещение: Аукцион по ставке') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (29, 'PMFC', 'FOND', 'PRMR', 'RUB', 'ОФЗПД-Торги в режиме выкупа', 'ОФЗПД-Торги в режиме выкупа') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (30, 'PMIC', 'FOND', 'PRMR', 'RUB', 'ОФЗИН-Торги в режиме выкупа', 'ОФЗИН-Торги в режиме выкупа') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (31, 'PMMC', 'FOND', 'PRMR', 'RUB', 'ОФЗАД-Торги в режиме выкупа', 'ОФЗАД-Торги в режиме выкупа') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (32, 'PMVC', 'FOND', 'PRMR', 'RUB', 'ОФЗПК-Торги в режиме выкупа', 'ОФЗПК-Торги в режиме выкупа') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (33, 'NBEC', 'FOND', 'SCND', 'RUB', 'Режим переговорных сделок (РПС)', 'Режим переговорных сделок (РПС)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (34, 'NBFC', 'FOND', 'SCND', 'RUB', 'Режим переговорных сделок (РПС)', 'Режим переговорных сделок (РПС)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (35, 'NBIC', 'FOND', 'SCND', 'RUB', 'Режим переговорных сделок (РПС)', 'Режим переговорных сделок (РПС)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (36, 'NBMC', 'FOND', 'SCND', 'RUB', 'Режим переговорных сделок (РПС)', 'Режим переговорных сделок (РПС)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (37, 'NBVC', 'FOND', 'SCND', 'RUB', 'Режим переговорных сделок (РПС)', 'Режим переговорных сделок (РПС)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (38, 'NEPC', 'FOND', 'SCND', 'RUB', 'Режим переговорных сделок (РПС)', 'Режим переговорных сделок (РПС)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (39, 'NESC', 'FOND', 'SCND', 'RUB', 'Режим переговорных сделок (РПС)', 'Режим переговорных сделок (РПС)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (40, 'NKVC', 'FOND', 'SCND', 'RUB', 'Режим переговорных сделок (РПС)', 'Режим переговорных сделок (РПС)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (41, 'SBFC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Обл. с ПД - Доразмещение', 'СПВБ: Обл. с ПД - Доразмещение') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (42, 'SBIC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Обл. с ИН - Доразмещение', 'СПВБ: Обл. с ИН - Доразмещение') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (43, 'SBMC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Обл. с АД -Доразмещение', 'СПВБ: Обл. с АД -Доразмещение') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (44, 'SBVC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Обл. с ПК-Доразмещение', 'СПВБ: Обл. с ПК-Доразмещение') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (45, 'SKVC', 'FOND', 'PRMR', 'RUB', 'Доразмещение: Адресные заявки БР', 'Доразмещение: Адресные заявки БР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (46, 'SMFC', 'FOND', 'PRMR', 'RUB', 'ОФЗПД- Доразмещение: Адресные заявки', 'ОФЗПД- Доразмещение: Адресные заявки') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (47, 'SMIC', 'FOND', 'PRMR', 'RUB', 'ОФЗИН-Доразмещение: Адресные заявки', 'ОФЗИН-Доразмещение: Адресные заявки') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (48, 'SMMC', 'FOND', 'PRMR', 'RUB', 'ОФЗАД-Доразмещение: Адресные заявки', 'ОФЗАД-Доразмещение: Адресные заявки') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (49, 'SMVC', 'FOND', 'PRMR', 'RUB', 'ОФЗПК-Доразмещение: Адресные заявки', 'ОФЗПК-Доразмещение: Адресные заявки') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (50, 'UBEC', 'FOND', 'SCND', 'RUB', 'Режим непрерывных торгов', 'Режим непрерывных торгов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (51, 'UBFC', 'FOND', 'SCND', 'RUB', 'СПВБ: Обл. с ПД - Торги', 'СПВБ: Обл. с ПД - Торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (52, 'UBIC', 'FOND', 'SCND', 'RUB', 'СПВБ: Обл. с ИН - Торги', 'СПВБ: Обл. с ИН - Торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (53, 'UBMC', 'FOND', 'SCND', 'RUB', 'СПВБ: Обл. с АД - Торги', 'СПВБ: Обл. с АД - Торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (54, 'UBVC', 'FOND', 'SCND', 'RUB', 'СПВБ: Обл. с ПК - Торги', 'СПВБ: Обл. с ПК - Торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (55, 'UEPC', 'FOND', 'SCND', 'RUB', 'Режим непрерывных торгов', 'Режим непрерывных торгов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (56, 'UESC', 'FOND', 'SCND', 'RUB', 'СПВБ: Акции Торги', 'СПВБ: Акции Торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (57, 'UKVC', 'FOND', 'SCND', 'RUB', 'Режим непрерывных торгов', 'Режим непрерывных торгов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (58, 'UMFC', 'FOND', 'SCND', 'RUB', 'ОФЗПД-Режим непрерывных торгов', 'ОФЗПД-Режим непрерывных торгов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (59, 'UMIC', 'FOND', 'SCND', 'RUB', 'ОФЗИН-Режим непрерывных торгов', 'ОФЗИН-Режим непрерывных торгов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (60, 'UMMC', 'FOND', 'SCND', 'RUB', 'ОФЗАД-Режим непрерывных торгов', 'ОФЗАД-Режим непрерывных торгов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (61, 'UMVC', 'FOND', 'SCND', 'RUB', 'ОФЗПК-Режим непрерывных торгов', 'ОФЗПК-Режим непрерывных торгов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (62, 'WBFC', 'FOND', 'PRMR', 'RUB', 'Размещение: адресные заявки (подписка)', 'Размещение: адресные заявки (подписка)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (63, 'WBIC', 'FOND', 'PRMR', 'RUB', 'Размещение: адресные заявки (подписка)', 'Размещение: адресные заявки (подписка)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (64, 'WBMC', 'FOND', 'PRMR', 'RUB', 'Размещение: адресные заявки (подписка)', 'Размещение: адресные заявки (подписка)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (65, 'WBVC', 'FOND', 'PRMR', 'RUB', 'Размещение: адресные заявки (подписка)', 'Размещение: адресные заявки (подписка)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (66, 'WEPC', 'FOND', 'PRMR', 'RUB', 'Размещение: адресные заявки (подписка)', 'Размещение: адресные заявки (подписка)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (67, 'WESC', 'FOND', 'PRMR', 'RUB', 'Размещение: адресные заявки (подписка)', 'Размещение: адресные заявки (подписка)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (68, 'ABZC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Диск. обл. - Аукцион', 'СПВБ: Диск. обл. - Аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (69, 'SBZC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Диск. обл.-Доразмещение', 'СПВБ: Диск. обл.-Доразмещение') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (70, 'UBZC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Диск. обл. - Торги', 'СПВБ: Диск. обл. - Торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (71, 'NBZC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Диск. обл. - РПС', 'СПВБ: Диск. обл. - РПС') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (72, 'DBZC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Диск. обл. - Дискретный аукцион', 'СПВБ: Диск. обл. - Дискретный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (73, 'WBZC', 'FOND', 'PRMR', 'RUB', 'СПВБ: Диск. обл. - адресные заявки (подписка)', 'СПВБ: Диск. обл. - адресные заявки (подписка)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (74, 'XMDTATSS', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитный аукцион', 'Размещение: депозитный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (75, 'XMDTAVGB', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитный аукцион', 'Размещение: депозитный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (76, 'XMDTFSKB', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитный аукцион', 'Размещение: депозитный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (77, 'XMDTKFLO', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитный аукцион', 'Размещение: депозитный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (78, 'XMDTKFSP', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитный аукцион', 'Размещение: депозитный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (79, 'XMNTFSKB', 'MKR', 'PRMR', 'RUB', 'Депозитные торги (аукцион)', 'Депозитные торги (аукцион)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (80, 'XMNTKFLO', 'MKR', 'PRMR', 'RUB', 'Депозитные торги (аукцион)', 'Депозитные торги (аукцион)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (81, 'XMNTKFSP', 'MKR', 'PRMR', 'RUB', 'Депозитные торги (аукцион)', 'Депозитные торги (аукцион)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (82, 'XMDSFSKB', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитный аукцион', 'Размещение: депозитный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (83, 'XMDSKFLO', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитный аукцион', 'Размещение: депозитный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (84, 'XMDSKFSP', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитный аукцион', 'Размещение: депозитный аукцион') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (85, 'XMTTKFSP', 'MKR', 'PRMR', 'RUB', 'Размещение: депозитные торги', 'Размещение: депозитные торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, CODE, SECTION, MARKET_TYPE, SETTLEMENT_CURRENCY, NAME, DESCRIPTION) values (86, 'XMNSKFLO', 'MKR', 'PRMR', 'RUB', 'Депозитные торги (аукцион)', 'Депозитные торги (аукцион)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SECTION = EXCLUDED.SECTION, MARKET_TYPE = EXCLUDED.MARKET_TYPE, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, NAME = EXCLUDED.NAME, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (96, 'PRMR', 'CURR', 'RUB', 'UVAV', 'Двусторонний непрерывный аукцион', 1, 'Двусторонний непрерывный аукцион (TOD)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;
INSERT INTO MARKET(ID, MARKET_TYPE, SECTION, SETTLEMENT_CURRENCY, CODE, NAME, EXCHANGE_ID, DESCRIPTION) values (97, 'PRMR', 'CURR', 'RUB', 'NVAV', 'Режим адресных сделок с клирингом и расчетами на СПВБ', 1, 'Режим адресных сделок с клирингом и расчетами на СПВБ (TOD)') ON CONFLICT (ID) DO UPDATE SET MARKET_TYPE = EXCLUDED.MARKET_TYPE, SECTION = EXCLUDED.SECTION, SETTLEMENT_CURRENCY = EXCLUDED.SETTLEMENT_CURRENCY, CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, EXCHANGE_ID = EXCLUDED.EXCHANGE_ID, DESCRIPTION = EXCLUDED.DESCRIPTION;

View file

@ -0,0 +1,21 @@
-- DB version: 3.9 -> 3.10
-- sCrossRate - Кросс курсы валют от ЦБ
DROP TABLE IF EXISTS S_CROSS_RATE;
CREATE TABLE S_CROSS_RATE(ID bigint PRIMARY KEY, DATE date, CURRENCY varchar(50), CURR_CODE varchar(50), FACE_VALUE numeric(72,18), RATE numeric(72,18), UNIT_RATE numeric(72,18), GENERATION_TIME timestamp, GENERATION_ID bigint, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE S_CROSS_RATE IS 'Кросс курсы валют от ЦБ';
COMMENT ON COLUMN S_CROSS_RATE.ID IS 'Идентификатор записи';
COMMENT ON COLUMN S_CROSS_RATE.DATE IS 'Дата торгов';
COMMENT ON COLUMN S_CROSS_RATE.CURRENCY IS 'Наименование валюты';
COMMENT ON COLUMN S_CROSS_RATE.CURR_CODE IS 'Код валюты';
COMMENT ON COLUMN S_CROSS_RATE.FACE_VALUE IS 'Номинал';
COMMENT ON COLUMN S_CROSS_RATE.RATE IS 'Курс валюты с учетом размера лота';
COMMENT ON COLUMN S_CROSS_RATE.UNIT_RATE IS 'Курс за единицу иностранной валюты';
COMMENT ON COLUMN S_CROSS_RATE.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_CROSS_RATE.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_CROSS_RATE.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN S_CROSS_RATE.UPDATED_AT IS 'Дата-время изменения записи';
GRANT ALL PRIVILEGES ON TABLE S_CROSS_RATE TO clearing;
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.10') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

View file

@ -0,0 +1,349 @@
-- DB version: 3.10 -> 3.11
-- == new tables ==
-- majorSign - Справочник типов конвертируемости валюты
DROP TABLE IF EXISTS MAJOR_SIGN_DICTIONARY;
CREATE TABLE MAJOR_SIGN_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
COMMENT ON TABLE MAJOR_SIGN_DICTIONARY IS 'Справочник типов конвертируемости валюты';
COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.ID IS 'Идентификатор';
COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN MAJOR_SIGN_DICTIONARY.NAME IS 'Наименование типа';
GRANT ALL PRIVILEGES ON TABLE MAJOR_SIGN_DICTIONARY TO clearing;
-- currencySettlementType - Справочник типов расчетов валютных пар
DROP TABLE IF EXISTS CURRENCY_SETTLEMENT_TYPE_DICTIONARY;
CREATE TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
COMMENT ON TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY IS 'Справочник типов расчетов валютных пар';
COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.ID IS 'Идентификатор';
COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN CURRENCY_SETTLEMENT_TYPE_DICTIONARY.NAME IS 'Тип расчета';
GRANT ALL PRIVILEGES ON TABLE CURRENCY_SETTLEMENT_TYPE_DICTIONARY TO clearing;
-- currencyPair - Справочник способов доставки документа
DROP TABLE IF EXISTS CURRENCY_PAIR_DICTIONARY;
CREATE TABLE CURRENCY_PAIR_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), BASE_CURRENCY_ID varchar(4), QUOTE_CURRENCY_ID varchar(4), MAJOR_SIGN varchar(4));
COMMENT ON TABLE CURRENCY_PAIR_DICTIONARY IS 'Справочник способов доставки документа';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.ID IS 'Идентификатор';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.BASE_CURRENCY_ID IS 'Код валюты лота (linked to currencyCode)';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.QUOTE_CURRENCY_ID IS 'Код сопряженной валюты (linked to currencyCode)';
COMMENT ON COLUMN CURRENCY_PAIR_DICTIONARY.MAJOR_SIGN IS 'Код признака конвертируемости валюты (linked to majorSign)';
GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_DICTIONARY TO clearing;
-- gatewayResultStatus - Справочник статусов обработки
DROP TABLE IF EXISTS GATEWAY_RESULT_STATUS_DICTIONARY;
CREATE TABLE GATEWAY_RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
COMMENT ON TABLE GATEWAY_RESULT_STATUS_DICTIONARY IS 'Справочник статусов обработки';
COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN GATEWAY_RESULT_STATUS_DICTIONARY.NAME IS 'Статус обработки';
GRANT ALL PRIVILEGES ON TABLE GATEWAY_RESULT_STATUS_DICTIONARY TO clearing;
-- settlementHouseProperties - Параметры расчетной организации
DROP TABLE IF EXISTS SETTLEMENT_HOUSE_PROPERTIES;
CREATE TABLE SETTLEMENT_HOUSE_PROPERTIES(COMPANY_ID bigint, CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY);
COMMENT ON TABLE SETTLEMENT_HOUSE_PROPERTIES IS 'Параметры расчетной организации';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.COMPANY_ID IS 'Наименование компании (linked to company)';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES.ID IS 'Идентификатор записи';
GRANT ALL PRIVILEGES ON TABLE SETTLEMENT_HOUSE_PROPERTIES TO clearing;
-- History log of settlementHouseProperties - Параметры расчетной организации
DROP TABLE IF EXISTS SETTLEMENT_HOUSE_PROPERTIES_HISTORY;
CREATE TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY(SETTLEMENT_HOUSE_PROPERTIES_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY);
COMMENT ON TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY IS 'История изменений таблицы settlementHouseProperties';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.SETTLEMENT_HOUSE_PROPERTIES_ID IS 'Идентификатор записи в таблице SETTLEMENT_HOUSE_PROPERTIES';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_TIME IS 'Дата и время изменения';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.EVENT_TYPE IS 'Тип изменения';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.COMPANY_ID IS 'Наименование компании (linked to company)';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN SETTLEMENT_HOUSE_PROPERTIES_HISTORY.ID IS 'Идентификатор записи';
GRANT ALL PRIVILEGES ON TABLE SETTLEMENT_HOUSE_PROPERTIES_HISTORY TO clearing;
-- currencyPairSecurity - Валютные пары
DROP TABLE IF EXISTS CURRENCY_PAIR_SECURITY;
CREATE TABLE CURRENCY_PAIR_SECURITY(BASE_UNIT_SIZE numeric(72,2), CURRENCY_PAIR_ID bigint, CODE varchar(255), SETTLEMENT_TYPE varchar(4), CLEARING_ORGANIZATION varchar(255), SETTLEMENT_ORGANIZATION varchar(255), SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE CURRENCY_PAIR_SECURITY IS 'Валютные пары';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.BASE_UNIT_SIZE IS 'Количество валюты лота';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CURRENCY_PAIR_ID IS 'Идентификатор валютной пары (linked to currencyPair)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CODE IS 'Наименование валютной пары (linked to currencyPair)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.SETTLEMENT_TYPE IS 'Код статуса (linked to currencySettlementType)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CLEARING_ORGANIZATION IS 'Наименование клиринговой организации';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.SETTLEMENT_ORGANIZATION IS 'Наименование расчетной организации';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.SECURITY_ID IS 'Наименование инструмента (linked to security)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.CREATED_AT IS 'Время создания записи';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY.UPDATED_AT IS 'Время изменения записи';
GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_SECURITY TO clearing;
-- History log of currencyPairSecurity - Валютные пары
DROP TABLE IF EXISTS CURRENCY_PAIR_SECURITY_HISTORY;
CREATE TABLE CURRENCY_PAIR_SECURITY_HISTORY(CURRENCY_PAIR_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), BASE_UNIT_SIZE numeric(72,2), CURRENCY_PAIR_ID bigint, CODE varchar(255), SETTLEMENT_TYPE varchar(4), CLEARING_ORGANIZATION varchar(255), SETTLEMENT_ORGANIZATION varchar(255), SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE CURRENCY_PAIR_SECURITY_HISTORY IS 'История изменений таблицы currencyPairSecurity';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CURRENCY_PAIR_SECURITY_ID IS 'Идентификатор записи в таблице CURRENCY_PAIR_SECURITY';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.EVENT_TYPE IS 'Тип изменения';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.BASE_UNIT_SIZE IS 'Количество валюты лота';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CURRENCY_PAIR_ID IS 'Идентификатор валютной пары (linked to currencyPair)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CODE IS 'Наименование валютной пары (linked to currencyPair)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.SETTLEMENT_TYPE IS 'Код статуса (linked to currencySettlementType)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CLEARING_ORGANIZATION IS 'Наименование клиринговой организации';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.SETTLEMENT_ORGANIZATION IS 'Наименование расчетной организации';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.SECURITY_ID IS 'Наименование инструмента (linked to security)';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.CREATED_AT IS 'Время создания записи';
COMMENT ON COLUMN CURRENCY_PAIR_SECURITY_HISTORY.UPDATED_AT IS 'Время изменения записи';
GRANT ALL PRIVILEGES ON TABLE CURRENCY_PAIR_SECURITY_HISTORY TO clearing;
-- tradingClearingRegistryList - Список счетов ТКР
DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LIST;
CREATE TABLE TRADING_CLEARING_REGISTRY_LIST(TRADING_CLEARING_REGISTRY_ID bigint, ACCOUNT_ID bigint, CURRENCY varchar(4), STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LIST IS 'Список счетов ТКР';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.ACCOUNT_ID IS 'Идентификатор валютного счета (linked to account)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.CURRENCY IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.STATUS IS 'Код статуса (linked to serviceStatus)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.ID IS 'Идентификатор записи';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.CREATED_AT IS 'Дата и время создания записи';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST.UPDATED_AT IS 'Дата и время изменения записи';
GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_LIST TO clearing;
-- History log of tradingClearingRegistryList - Список счетов ТКР
DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LIST_HISTORY;
CREATE TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY(TRADING_CLEARING_REGISTRY_LIST_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), TRADING_CLEARING_REGISTRY_ID bigint, ACCOUNT_ID bigint, CURRENCY varchar(4), STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY IS 'История изменений таблицы tradingClearingRegistryList';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.TRADING_CLEARING_REGISTRY_LIST_ID IS 'Идентификатор записи в таблице TRADING_CLEARING_REGISTRY_LIST';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_TIME IS 'Дата и время изменения';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.EVENT_TYPE IS 'Тип изменения';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.ACCOUNT_ID IS 'Идентификатор валютного счета (linked to account)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.CURRENCY IS 'Код валюты (linked to currencyCode)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.STATUS IS 'Код статуса (linked to serviceStatus)';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.CREATED_AT IS 'Дата и время создания записи';
COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LIST_HISTORY.UPDATED_AT IS 'Дата и время изменения записи';
GRANT ALL PRIVILEGES ON TABLE TRADING_CLEARING_REGISTRY_LIST_HISTORY TO clearing;
-- executionCurrency - Сделки с валютными инструментами
DROP TABLE IF EXISTS EXECUTION_CURRENCY;
CREATE TABLE EXECUTION_CURRENCY(EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, EXCHANGE_EXECUTION_MICROSECONDS timestamp, TRADING_DATE date, SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), SECURITY_ID bigint, SECURITY_SYMBOL varchar(255), SECURITY_NAME varchar(255), COMPANY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), SETTLEMENT_AMOUNT numeric(72,2), QUANTITY numeric(72,2), SIDE varchar(4), _сURRENCY_CODE varchar(4), SETTLEMENT_ORGANIZATION varchar(255), COVERAGE_STATUS varchar(4), SESSION_ID bigint, CLEARING_DATE date, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE EXECUTION_CURRENCY IS 'Сделки с валютными инструментами';
COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY.EXCHANGE_EXECUTION_MICROSECONDS IS 'Микросекунды заключения сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY.TRADING_DATE IS 'Дата заключения сделки';
COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_DATE IS 'Дата расчетов';
COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_CODE IS 'Код расчетов при размещении';
COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_ID IS 'Идентификатор финансового инструмента (linked to security)';
COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
COMMENT ON COLUMN EXECUTION_CURRENCY.SECURITY_NAME IS 'Краткое наименование инструмента';
COMMENT ON COLUMN EXECUTION_CURRENCY.COMPANY_ID IS 'Идентификатор компании (linked to company)';
COMMENT ON COLUMN EXECUTION_CURRENCY.PARTY_TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_CURRENCY.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)';
COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра партнера (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_CURRENCY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_CURRENCY.MARKET IS 'Код секции валютного инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_CURRENCY.PRICE IS 'Цена';
COMMENT ON COLUMN EXECUTION_CURRENCY.LOTS IS 'Количество лотов';
COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_AMOUNT IS 'Объем сделки в валюте лота';
COMMENT ON COLUMN EXECUTION_CURRENCY.QUANTITY IS 'Количество штук';
COMMENT ON COLUMN EXECUTION_CURRENCY.SIDE IS 'Код направления сделки (linked to side)';
COMMENT ON COLUMN EXECUTION_CURRENCY._сURRENCY_CODE IS 'Код валюты лота (linked to currencyCode)';
COMMENT ON COLUMN EXECUTION_CURRENCY.SETTLEMENT_ORGANIZATION IS 'Наименование расчетной организации';
COMMENT ON COLUMN EXECUTION_CURRENCY.COVERAGE_STATUS IS 'Код статуса достаточности обеспечения (linked to allowed)';
COMMENT ON COLUMN EXECUTION_CURRENCY.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)';
COMMENT ON COLUMN EXECUTION_CURRENCY.CLEARING_DATE IS 'Дата клиринга';
COMMENT ON COLUMN EXECUTION_CURRENCY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN EXECUTION_CURRENCY.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN EXECUTION_CURRENCY.UPDATED_AT IS 'Дата-время изменения записи';
GRANT ALL PRIVILEGES ON TABLE EXECUTION_CURRENCY TO clearing;
-- History log of executionCurrency - Сделки с валютными инструментами
DROP TABLE IF EXISTS EXECUTION_CURRENCY_HISTORY;
CREATE TABLE EXECUTION_CURRENCY_HISTORY(EXECUTION_CURRENCY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, EXCHANGE_EXECUTION_MICROSECONDS timestamp, TRADING_DATE date, SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), SECURITY_ID bigint, SECURITY_SYMBOL varchar(255), SECURITY_NAME varchar(255), COMPANY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY_ID bigint, PARTY_TRADING_CLEARING_REGISTRY varchar(20), COUNTER_PARTY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID bigint, COUNTER_PARTY_TRADING_CLEARING_REGISTRY varchar(20), MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), SETTLEMENT_AMOUNT numeric(72,2), QUANTITY numeric(72,2), SIDE varchar(4), _сURRENCY_CODE varchar(4), SETTLEMENT_ORGANIZATION varchar(255), COVERAGE_STATUS varchar(4), SESSION_ID bigint, CLEARING_DATE date, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp);
COMMENT ON TABLE EXECUTION_CURRENCY_HISTORY IS 'История изменений таблицы executionCurrency';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXECUTION_CURRENCY_ID IS 'Идентификатор записи в таблице EXECUTION_CURRENCY';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_TIME IS 'Дата и время изменения';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EVENT_TYPE IS 'Тип изменения';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.EXCHANGE_EXECUTION_MICROSECONDS IS 'Микросекунды заключения сделки в Торговой системе';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.TRADING_DATE IS 'Дата заключения сделки';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_DATE IS 'Дата расчетов';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_CODE IS 'Код расчетов при размещении';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_ID IS 'Идентификатор финансового инструмента (linked to security)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SECURITY_NAME IS 'Краткое наименование инструмента';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PARTY_TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр ';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера, с которой заключена сделка (linked to company)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра партнера (linked to tradingClearingRegistry)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COUNTER_PARTY_TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр партнера';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.MARKET IS 'Код секции валютного инструмента (linked to market)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.PRICE IS 'Цена';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.LOTS IS 'Количество лотов';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_AMOUNT IS 'Объем сделки в валюте лота';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.QUANTITY IS 'Количество штук';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SIDE IS 'Код направления сделки (linked to side)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY._сURRENCY_CODE IS 'Код валюты лота (linked to currencyCode)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SETTLEMENT_ORGANIZATION IS 'Наименование расчетной организации';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.COVERAGE_STATUS IS 'Код статуса достаточности обеспечения (linked to allowed)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CLEARING_DATE IS 'Дата клиринга';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.ID IS 'Идентификатор записи';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN EXECUTION_CURRENCY_HISTORY.UPDATED_AT IS 'Дата-время изменения записи';
GRANT ALL PRIVILEGES ON TABLE EXECUTION_CURRENCY_HISTORY TO clearing;
-- pairSdf - Пары файлов
DROP TABLE IF EXISTS PAIR_SDF;
CREATE TABLE PAIR_SDF(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, IN_S_DF_ID varchar(255), IN_S_DF varchar(255), OUT_S_DF_ID varchar(255), OUT_S_DF varchar(255));
COMMENT ON TABLE PAIR_SDF IS 'Пары файлов';
COMMENT ON COLUMN PAIR_SDF.ID IS 'Идентификатор записи';
COMMENT ON COLUMN PAIR_SDF.CREATED_AT IS 'Время создания записи';
COMMENT ON COLUMN PAIR_SDF.UPDATED_AT IS 'Время изменения записи';
COMMENT ON COLUMN PAIR_SDF.IN_S_DF_ID IS 'Идентификатор входящего файла';
COMMENT ON COLUMN PAIR_SDF.IN_S_DF IS 'Входящий файл';
COMMENT ON COLUMN PAIR_SDF.OUT_S_DF_ID IS 'Идентификатор исходящего файла';
COMMENT ON COLUMN PAIR_SDF.OUT_S_DF IS 'Исходящий файл';
GRANT ALL PRIVILEGES ON TABLE PAIR_SDF TO clearing;
-- gatewayResult - Результат запроса к gateway
DROP TABLE IF EXISTS GATEWAY_RESULT;
CREATE TABLE GATEWAY_RESULT(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, REQUEST_ID varchar(255), NAME_REQUEST varchar(255), REQUEST varchar(1023), RESULT varchar(1023), GATEWAY_RESULT_STATUS varchar(4));
COMMENT ON TABLE GATEWAY_RESULT IS 'Результат запроса к gateway';
COMMENT ON COLUMN GATEWAY_RESULT.ID IS 'Идентификатор записи';
COMMENT ON COLUMN GATEWAY_RESULT.CREATED_AT IS 'Время создания записи';
COMMENT ON COLUMN GATEWAY_RESULT.UPDATED_AT IS 'Время изменения записи';
COMMENT ON COLUMN GATEWAY_RESULT.REQUEST_ID IS 'ID запроса';
COMMENT ON COLUMN GATEWAY_RESULT.NAME_REQUEST IS 'Наименование запроса';
COMMENT ON COLUMN GATEWAY_RESULT.REQUEST IS 'Тело запроса';
COMMENT ON COLUMN GATEWAY_RESULT.RESULT IS 'Тело ответа';
COMMENT ON COLUMN GATEWAY_RESULT.GATEWAY_RESULT_STATUS IS 'Статус запроса (linked to gatewayResultStatus)';
GRANT ALL PRIVILEGES ON TABLE GATEWAY_RESULT TO clearing;
-- == alter exist tables ==
ALTER TABLE LISTING ADD COLUMN IF NOT EXISTS MIN_STEP numeric(72,2);
ALTER TABLE LISTING ADD COLUMN IF NOT EXISTS PRECISION numeric(72,2);
COMMENT ON COLUMN LISTING.MIN_STEP IS 'Шаг цены';
COMMENT ON COLUMN LISTING.PRECISION IS 'Точность';
ALTER TABLE LISTING_HISTORY ADD COLUMN IF NOT EXISTS MIN_STEP numeric(72,2);
ALTER TABLE LISTING_HISTORY ADD COLUMN IF NOT EXISTS PRECISION numeric(72,2);
COMMENT ON COLUMN LISTING_HISTORY.MIN_STEP IS 'Шаг цены';
COMMENT ON COLUMN LISTING_HISTORY.PRECISION IS 'Точность';
ALTER TABLE CLIENT_CODE ADD COLUMN IF NOT EXISTS CURRENCY_ACCOUNT_ID bigint;
COMMENT ON COLUMN CLIENT_CODE.CURRENCY_ACCOUNT_ID IS 'Идентификатор валютного счета (linked to account)';
ALTER TABLE CLIENT_CODE_HISTORY ADD COLUMN IF NOT EXISTS CURRENCY_ACCOUNT_ID bigint;
COMMENT ON COLUMN CLIENT_CODE_HISTORY.CURRENCY_ACCOUNT_ID IS 'Идентификатор валютного счета (linked to account)';
ALTER TABLE MONEY_BALANCE_REGISTER ADD COLUMN IF NOT EXISTS NUMBER varchar(255);
ALTER TABLE MONEY_BALANCE_REGISTER ADD COLUMN IF NOT EXISTS CURRENCY_CODE varchar(4);
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.NUMBER IS 'Номер отчета';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)';
ALTER TABLE ACCOUNT ADD COLUMN IF NOT EXISTS CURRENCY varchar(4);
COMMENT ON COLUMN ACCOUNT.CURRENCY IS 'Код валюты (linked to currencyCode)';
ALTER TABLE ACCOUNT_HISTORY ADD COLUMN IF NOT EXISTS CURRENCY varchar(4);
COMMENT ON COLUMN ACCOUNT_HISTORY.CURRENCY IS 'Код валюты (linked to currencyCode)';
ALTER TABLE DEPO_BALANCE_REGISTER ADD COLUMN IF NOT EXISTS SET_HOUSE_NAME varchar(255);
ALTER TABLE DEPO_BALANCE_REGISTER ADD COLUMN IF NOT EXISTS NUMBER varchar(255);
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.SET_HOUSE_NAME IS 'Наименование РД';
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.NUMBER IS 'Номер отчета';
ALTER TABLE S_DF06 ADD COLUMN IF NOT EXISTS _DOC__NUM varchar(3);
ALTER TABLE S_DF06 ADD COLUMN IF NOT EXISTS _DOC__DATE date;
ALTER TABLE S_DF06 ADD COLUMN IF NOT EXISTS PAY_VAL varchar(12);
COMMENT ON COLUMN S_DF06._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF06._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF06.PAY_VAL IS 'Валюта документа';
ALTER TABLE S_DF07 ADD COLUMN IF NOT EXISTS _DOC__NUM varchar(3);
ALTER TABLE S_DF07 ADD COLUMN IF NOT EXISTS _DOC__DATE date;
ALTER TABLE S_DF07 ADD COLUMN IF NOT EXISTS PAY_VAL varchar(12);
COMMENT ON COLUMN S_DF07._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF07._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF07.PAY_VAL IS 'Валюта документа';
ALTER TABLE S_DF54 ADD COLUMN IF NOT EXISTS _DOC__NUM varchar(3);
ALTER TABLE S_DF54 ADD COLUMN IF NOT EXISTS _DOC__DATE date;
ALTER TABLE S_DF54 ADD COLUMN IF NOT EXISTS _VALUE_DATE varchar(8);
ALTER TABLE S_DF54 ADD COLUMN IF NOT EXISTS _SWIFT_BEN varchar(11);
ALTER TABLE S_DF54 ADD COLUMN IF NOT EXISTS _SWIFT_INTERMED varchar(11);
COMMENT ON COLUMN S_DF54._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF54._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF54._VALUE_DATE IS 'Дата валютирования';
COMMENT ON COLUMN S_DF54._SWIFT_BEN IS 'Свифт банка бенефициара';
COMMENT ON COLUMN S_DF54._SWIFT_INTERMED IS 'Swift_intermed';
ALTER TABLE S_DF55 ADD COLUMN IF NOT EXISTS _DOC__NUM varchar(3);
ALTER TABLE S_DF55 ADD COLUMN IF NOT EXISTS _DOC__DATE date;
ALTER TABLE S_DF55 ADD COLUMN IF NOT EXISTS _VALUE_DATE varchar(8);
ALTER TABLE S_DF55 ADD COLUMN IF NOT EXISTS _SWIFT_BEN varchar(11);
ALTER TABLE S_DF55 ADD COLUMN IF NOT EXISTS _SWIFT_INTERMED varchar(11);
COMMENT ON COLUMN S_DF55._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF55._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF55._VALUE_DATE IS 'Дата валютирования';
COMMENT ON COLUMN S_DF55._SWIFT_BEN IS 'Свифт банка бенефициара';
COMMENT ON COLUMN S_DF55._SWIFT_INTERMED IS 'Swift_intermed';
ALTER TABLE S_DF57 ADD COLUMN IF NOT EXISTS _DOC__NUM varchar(3);
ALTER TABLE S_DF57 ADD COLUMN IF NOT EXISTS _DOC__DATE date;
ALTER TABLE S_DF57 ADD COLUMN IF NOT EXISTS DT_IN varchar(22);
ALTER TABLE S_DF57 ADD COLUMN IF NOT EXISTS KT_IN varchar(22);
ALTER TABLE S_DF57 ADD COLUMN IF NOT EXISTS DT_OUT varchar(22);
ALTER TABLE S_DF57 ADD COLUMN IF NOT EXISTS KT_OUT varchar(22);
COMMENT ON COLUMN S_DF57._DOC__NUM IS 'Номер выгружаемого документа';
COMMENT ON COLUMN S_DF57._DOC__DATE IS 'Дата выгружаемого документа';
COMMENT ON COLUMN S_DF57.DT_IN IS 'Входящий дебетовый остаток';
COMMENT ON COLUMN S_DF57.KT_IN IS 'Входящий кредитовый остаток';
COMMENT ON COLUMN S_DF57.DT_OUT IS 'Исходящий дебетовый остаток';
COMMENT ON COLUMN S_DF57.KT_OUT IS 'Исходящий кредитовый остаток';
ALTER TABLE S_DF02 ADD COLUMN IF NOT EXISTS FILE_NAME varchar(255);
ALTER TABLE S_DF03 ADD COLUMN IF NOT EXISTS FILE_NAME varchar(255);
ALTER TABLE S_DF07 ADD COLUMN IF NOT EXISTS FILE_NAME varchar(255);
ALTER TABLE S_DF12 ADD COLUMN IF NOT EXISTS FILE_NAME varchar(255);
ALTER TABLE S_DF53 ADD COLUMN IF NOT EXISTS FILE_NAME varchar(255);
COMMENT ON COLUMN S_DF02.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF03.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF07.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF12.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF53.FILE_NAME IS 'Наименование входящего файла';
-- == fix old comment ==
COMMENT ON COLUMN ACCOUNT_SYMBOLS.ACCOUNT_SYMBOL_VALUE IS 'Значение реквизита';
COMMENT ON COLUMN ACCOUNT_SYMBOLS_HISTORY.ACCOUNT_SYMBOL_VALUE IS 'Значение реквизита';
COMMENT ON COLUMN EXECUTION_DEPOSIT.MARKET IS 'Код секции финансового инструмента';
COMMENT ON COLUMN EXECUTION_DEPOSIT_HISTORY.MARKET IS 'Код секции финансового инструмента';
COMMENT ON COLUMN EXECUTION_FOND.MARKET IS 'Код секции финансового инструмента';
COMMENT ON COLUMN EXECUTION_FOND_HISTORY.MARKET IS 'Код секции финансового инструмента';
COMMENT ON COLUMN NOTIFICATION.SENDER_ID IS 'Идентификатор компании-отправителя (linked to company)';
COMMENT ON COLUMN NOTIFICATION_HISTORY.SENDER_ID IS 'Идентификатор компании-отправителя (linked to company)';
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.11') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION

View file

@ -7,12 +7,12 @@
<artifactId>dbf-exporter</artifactId>
<name>dbf-exporter</name>
<description>DBF exporter for DBF files</description>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<dependencies>
@ -57,6 +57,14 @@
<groupId>ru.spcex.clearing</groupId>
<artifactId>classes</artifactId>
</dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<!-- TEST -->
<dependency>
<groupId>org.springframework.boot</groupId>

View file

@ -1,37 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="./log" />
<property name="FILE_NAME" value="dbf-exporter" />
<property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/dbf-exporter.log</file>
<!-- first FILE TEXT appender -->
<appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder>
<charset>UTF-8</charset>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${FILE_LOG_PATTERN}</Pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>
../logs/dbf-export.%i.log
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
</appender>
<!-- second FILE JSON appender -->
<appender name="JSON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-json.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-json.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender>
<root level="warn">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<root level="info">
<!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger>
</configuration>

View file

@ -8,12 +8,12 @@
<artifactId>dbf-importer</artifactId>
<name>dbf-importer</name>
<description>DBF loader for DBF files</description>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<dependencies>
@ -75,6 +75,17 @@
<artifactId>platform-enum</artifactId>
</dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- TEST -->
<!-- <dependency>-->
<!-- <groupId>org.springframework</groupId>-->

View file

@ -1,37 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_PATH" value="./log" />
<property name="FILE_NAME" value="dbf-importer" />
<property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/dbf-importer.log</file>
<!-- first FILE TEXT appender -->
<appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder>
<charset>UTF-8</charset>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<Pattern>${FILE_LOG_PATTERN}</Pattern>
<charset>utf8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>
../logs/dbf-importer.%i.log
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
</appender>
<!-- second FILE JSON appender -->
<appender name="JSON_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-json.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" />
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH}/${FILE_NAME}-json.%d{yyyy-MM-dd}.%i.gz
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>10</maxHistory>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender>
<root level="warn">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<root level="info">
<!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger>
</configuration>

View file

@ -8,12 +8,12 @@
<name>Clearing dictionary</name>
<description>Clearing dictionary</description>
<packaging>jar</packaging>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
<parent>
<artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version>
<version>SPCEX-3.5.10.1</version>
</parent>
<properties>

View file

@ -0,0 +1,40 @@
package ru.clearing.platform.dictionary;
/**
* Справочник способов доставки документа
* <p>
* Dictionary DB table: CURRENCY_PAIR_DICTIONARY
**/
public class CurrencyPairDictionary extends AbstractDictionary {
private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID;
private String baseCurrencyId;
private String quoteCurrencyId;
private String majorSign;
public String getBaseCurrencyId() {
return baseCurrencyId;
}
public void setBaseCurrencyId(String value) {
this.baseCurrencyId = value;
}
public String getQuoteCurrencyId() {
return quoteCurrencyId;
}
public void setQuoteCurrencyId(String value) {
this.quoteCurrencyId = value;
}
public String getMajorSign() {
return majorSign;
}
public void setMajorSign(String value) {
this.majorSign = value;
}
}

View file

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

View file

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

View file

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

View file

@ -0,0 +1,137 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>ru.spcex.clearing</groupId>
<artifactId>clearing-parent</artifactId>
<version>SPCEX-3.5.10.1</version>
</parent>
<artifactId>extdb-importer</artifactId>
<name>extdb-importer</name>
<description>Extdb importer module. Аналог trade-importer.</description>
<version>SPCEX-3.5.10.1</version>
<packaging>jar</packaging>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- JDBC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
</dependency>
<dependency>
<groupId>ru.spcex.clearing</groupId>
<artifactId>classes</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ru.spcex.platform</groupId>
<artifactId>platform-messaging</artifactId>
</dependency>
<dependency>
<groupId>ru.spcex.platform</groupId>
<artifactId>platform-imdg-api-hazelcast-impl</artifactId>
</dependency>
<dependency>
<groupId>ru.spcex.clearing</groupId>
<artifactId>clearing-validation</artifactId>
</dependency>
<dependency>
<groupId>ru.spcex.platform</groupId>
<artifactId>platform-enum</artifactId>
</dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<!-- TEST -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ru.spcex.clearing</groupId>
<artifactId>test-clearing</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>application.properties</exclude>
</excludes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>${project.artifactId}</finalName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.21.0</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.2.0-M1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.2.0-M1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,12 @@
package ru.spcex.clearing.extdb.importer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ExtDBImporterApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(ExtDBImporterApplication.class);
app.run(args);
}
}

View file

@ -0,0 +1,65 @@
package ru.spcex.clearing.extdb.importer.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import ru.spcex.clearing.extdb.importer.config.settings.DatabaseSettings;
import ru.spcex.clearing.extdb.importer.config.settings.ImportExtDBServiceSettings;
import ru.spcex.clearing.extdb.importer.error.ModuleInitializeException;
import javax.sql.DataSource;
import java.sql.Connection;
import static org.springframework.jdbc.datasource.DataSourceUtils.doCloseConnection;
@SuppressWarnings("UnnecessaryLocalVariable")
@Configuration
public class DbConnectionConfig {
private final Logger log = LoggerFactory.getLogger(this.getClass());
private final DatabaseSettings settings;
public DbConnectionConfig(ImportExtDBServiceSettings settings) {
this.settings = settings.getDatabase();
}
@Bean
public DataSource dataSource() {
String login = settings.getLogin();
String password = settings.getPassword();
String dbUrl = settings.getUrl();
String driver = settings.getDriver();
DriverManagerDataSource ds = new DriverManagerDataSource();
try {
ds.setDriverClassName(driver);
} catch (Exception ue) {
throw new RuntimeException("JDBC driver not loaded: " + driver, ue);
}
ds.setUrl(dbUrl);
ds.setUsername(login);
ds.setPassword(password);
String OPERATION_DATABASE_CONNECTION_CHECK = String.format("Database [%s] connection check", dbUrl);
try {
Connection conn = ds.getConnection();
doCloseConnection(conn, ds);
log.info("{}: success", OPERATION_DATABASE_CONNECTION_CHECK);
return ds;
} catch (Throwable e) {
String msg = String.format("%s: failed: %s -> %s",
OPERATION_DATABASE_CONNECTION_CHECK, e.getClass().getSimpleName(), e.getMessage());
log.error(msg);
throw new ModuleInitializeException(msg, e);
}
}
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
return jdbcTemplate;
}
}

View file

@ -0,0 +1,15 @@
package ru.spcex.clearing.extdb.importer.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.clearing.util.services.IMDGMessageResolver;
import ru.spcex.platform.imdg.api.ImdgProvider;
@Configuration
public class ErrorResolverConfig {
@Bean
public IMessageResolver messageResolver(ImdgProvider imdgProvider) {
return new IMDGMessageResolver(imdgProvider);
}
}

View file

@ -0,0 +1,20 @@
package ru.spcex.clearing.extdb.importer.config;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import ru.spcex.clearing.extdb.importer.config.settings.ImportExtDBServiceSettings;
@Configuration
@EnableConfigurationProperties
@ComponentScan(basePackages = {"ru.spcex.clearing.extdb.importer"})
public class ExtDBImporterConfig {
private final ImportExtDBServiceSettings settings;
private final ApplicationContext context;
public ExtDBImporterConfig(ImportExtDBServiceSettings settings, ApplicationContext context) {
this.settings = settings;
this.context = context;
}
}

View file

@ -0,0 +1,47 @@
package ru.spcex.clearing.extdb.importer.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import ru.spcex.clearing.extdb.importer.config.settings.ImportExtDBServiceSettings;
import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService;
@Configuration
public class ImdgConfig {
private static ThreadPoolTaskExecutor createThreadPoolTaskExecutor(int maxPoolSz, boolean waitForCompletion) {
ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor();
if (maxPoolSz > 2) {
pool.setKeepAliveSeconds(60);
pool.setAllowCoreThreadTimeOut(true);
}
pool.setCorePoolSize(maxPoolSz);
pool.setWaitForTasksToCompleteOnShutdown(waitForCompletion);
return pool;
}
@Bean(name = "taskExecutorHazelcastClientInitializer")
public ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer() {
return createThreadPoolTaskExecutor(1, true);
}
@Bean(name = "taskExecutorIdGeneratorAwaiter")
public ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter() {
return createThreadPoolTaskExecutor(1, false);
}
@Autowired
@Bean
public ImdgProvider imdgProvider(
@Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer,
@Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter,
ImportExtDBServiceSettings settings
) {
return new HazelcastService(taskExecutorHazelcastClientInitializer,
taskExecutorIdGeneratorAwaiter,
settings.getHazelcast());
}
}

View file

@ -0,0 +1,60 @@
package ru.spcex.clearing.extdb.importer.config;
import org.apache.kafka.clients.consumer.Consumer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.kafka.core.ProducerFactory;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.config.KafkaConsumerFactory;
import ru.spcex.clearing.platform.messaging.config.KafkaProducerFactory;
import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings;
import ru.spcex.clearing.platform.messaging.service.RequestInfo;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.extdb.importer.config.settings.ImportExtDBServiceSettings;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider;
import java.util.function.Supplier;
@Configuration
public class KafkaConfig {
@Autowired
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
@Bean
public Consumer<String, Object> createConsumer(ImportExtDBServiceSettings settings) {
return KafkaConsumerFactory.consumer(settings.getKafkaConsumer());
}
@Bean
public ProducerFactory<String, Object> pf(ImportExtDBServiceSettings settings) {
KafkaProducerSettings kafkaSettings = settings.getKafkaProducer();
return KafkaProducerFactory.producerFactory(kafkaSettings);
}
@Bean("kafkaTemplate")
public KafkaTemplate<String, Object> kafkaTemplate(ProducerFactory<String, Object> pf) {
return new KafkaTemplate<>(pf);
}
@Autowired
@Bean
public Supplier<KafkaSender> kafkaSender(KafkaTemplate<String, Object> kafkaTemplate,
ImdgProvider imdgProvider) {
ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator();
return () -> KafkaSender
.setup()
.setKafkaTemplate(kafkaTemplate)
.idGenerator(imdgIdGenerator::nextId)
.imdgProvider(s -> {
Imdg<RequestInfo> imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class);
return imdg::insert;
})
.build();
}
}

View file

@ -0,0 +1,14 @@
package ru.spcex.clearing.extdb.importer.config.settings;
public class Cron {
private String checkSrcDirCron;
public String getCheckSrcDirCron() {
return checkSrcDirCron;
}
public void setCheckSrcDirCron(String checkSrcDirCron) {
this.checkSrcDirCron = checkSrcDirCron;
}
}

View file

@ -0,0 +1,40 @@
package ru.spcex.clearing.extdb.importer.config.settings;
public class DatabaseSettings {
private String login;
private String password;
private String url;
private String driver;
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
}

View file

@ -0,0 +1,60 @@
package ru.spcex.clearing.extdb.importer.config.settings;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import ru.spcex.clearing.platform.messaging.config.element.KafkaConsumerSettings;
import ru.spcex.clearing.platform.messaging.config.element.KafkaProducerSettings;
import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams;
@Component
@PropertySource("file:${spring.config.location}/application.properties")
@ConfigurationProperties("extdb-importer")
public class ImportExtDBServiceSettings {
private HazelcastClientParams hazelcast;
private KafkaProducerSettings kafkaProducer;
private KafkaConsumerSettings kafkaConsumer;
private DatabaseSettings database;
private Cron cron;
public HazelcastClientParams getHazelcast() {
return hazelcast;
}
public void setHazelcast(HazelcastClientParams hazelcast) {
this.hazelcast = hazelcast;
}
public KafkaProducerSettings getKafkaProducer() {
return kafkaProducer;
}
public void setKafkaProducer(KafkaProducerSettings kafkaProducer) {
this.kafkaProducer = kafkaProducer;
}
public KafkaConsumerSettings getKafkaConsumer() {
return kafkaConsumer;
}
public void setKafkaConsumer(KafkaConsumerSettings kafkaConsumer) {
this.kafkaConsumer = kafkaConsumer;
}
public DatabaseSettings getDatabase() {
return database;
}
public void setDatabase(DatabaseSettings database) {
this.database = database;
}
public Cron getCron() {
return cron;
}
public void setCron(Cron cron) {
this.cron = cron;
}
}

View file

@ -0,0 +1,20 @@
package ru.spcex.clearing.extdb.importer.error;
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
public enum ExtDBImporterError implements IErrorEnumId {
crossRateNotValid(10002L),//todo код для crossRateNotValid??? Используется?
;
private final Long id;
ExtDBImporterError(Long id) {
this.id = id;
}
@Override
public Long getId() {
return id;
}
}

View file

@ -0,0 +1,19 @@
package ru.spcex.clearing.extdb.importer.error;
public class ModuleInitializeException extends RuntimeException {
public ModuleInitializeException() {
}
public ModuleInitializeException(String message) {
super(message);
}
public ModuleInitializeException(String message, Throwable cause) {
super(message, cause);
}
public ModuleInitializeException(Throwable cause) {
super(cause);
}
}

Some files were not shown because too many files have changed in this diff Show more