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

View file

@ -1,38 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <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"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}--> <!-- |%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> <charset>utf-8</charset>
</encoder> </encoder>
</appender> </appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- first FILE TEXT appender -->
<file>./logs/account-service.log</file> <appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder> <encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}--> <!-- |%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> <charset>utf8</charset>
</encoder> </encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern> <fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
./logs/account-service.%i.log
</fileNamePattern> </fileNamePattern>
<minIndex>1</minIndex> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxIndex>10</maxIndex> <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> </rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender> </appender>
<root level="warn"> <root level="info">
<appender-ref ref="CONSOLE"/> <!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="FILE"/> <appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root> </root>
<logger name="ru.spcex" level="debug" additivity="false"> <logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/> <appender-ref ref="TEXT_FILE"/>
<appender-ref ref="CONSOLE"/> <appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger> </logger>
</configuration> </configuration>

View file

@ -11,7 +11,7 @@
<parent> <parent>
<artifactId>clearing-parent</artifactId> <artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId> <groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
</parent> </parent>
@ -61,6 +61,17 @@
<groupId>ru.spcex.platform</groupId> <groupId>ru.spcex.platform</groupId>
<artifactId>platform-enum</artifactId> <artifactId>platform-enum</artifactId>
</dependency> </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 --> <!-- TEST -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
@ -208,6 +219,19 @@
</fileMapper> </fileMapper>
</fileMappers> </fileMappers>
</transformationSet> </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> </transformationSets>
</configuration> </configuration>
</execution> </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) { if (taskEnum == null) {
throw new NotFound404Exception("task dictionary element with code '" + launcherNew.getTask() + "'"); 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())); log.warn(String.format("Task %s not support request with body", taskEnum.getCode()));
} // else В мете эти модели с дополнительными параметрами (OUTV). } // else В мете эти модели с дополнительными параметрами (OUTV).
Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); Authentication authentication = SecurityContextHolder.getContext().getAuthentication();

View file

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

View file

@ -32,6 +32,9 @@ public class ClientCodeUpdateAction implements IAction<ClientCodeUpdateRequest>
@ApiModelProperty(value = "Номер депозитарного счета", example = "1234") @ApiModelProperty(value = "Номер депозитарного счета", example = "1234")
@JsonProperty @JsonProperty
private Long depoAccountId; private Long depoAccountId;
@ApiModelProperty(value = "Список валютных счетов", example = "[1234,5678]")
@JsonProperty
private List<Long> currencyAccountList;
@ApiModelProperty(value = "Наименование статуса", example = "ACTV") @ApiModelProperty(value = "Наименование статуса", example = "ACTV")
@JsonProperty @JsonProperty
private String status; private String status;
@ -46,6 +49,7 @@ public class ClientCodeUpdateAction implements IAction<ClientCodeUpdateRequest>
req.setTradingClearingRegistryId(this.tradingClearingRegistryId); req.setTradingClearingRegistryId(this.tradingClearingRegistryId);
req.setMoneyAccountId(this.moneyAccountId); req.setMoneyAccountId(this.moneyAccountId);
req.setDepoAccountId(this.depoAccountId); req.setDepoAccountId(this.depoAccountId);
req.setCurrencyAccountList(this.currencyAccountList);
req.setStatus(this.status); req.setStatus(this.status);
return req; return req;
} }
@ -104,6 +108,14 @@ public class ClientCodeUpdateAction implements IAction<ClientCodeUpdateRequest>
this.depoAccountId = depoAccountId; this.depoAccountId = depoAccountId;
} }
public List<Long> getCurrencyAccountList() {
return currencyAccountList;
}
public void setCurrencyAccountList(List<Long> currencyAccountList) {
this.currencyAccountList = currencyAccountList;
}
public String getStatus() { public String getStatus() {
return status; 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.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; 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 io.swagger.annotations.ApiModelProperty;
import ru.spcex.clearing.backendapi.domain.actions.IAction; import ru.spcex.clearing.backendapi.domain.actions.IAction;
import ru.spcex.clearing.backendapi.errors.BackEndError; import ru.spcex.clearing.backendapi.errors.BackEndError;
import ru.spcex.clearing.platform.messaging.domain.ActionType; 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.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 ru.spcex.platform.utils.enumeration.EnumMessage;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -64,6 +69,12 @@ public class LauncherNew implements IAction<Object> {
@JsonProperty @JsonProperty
private Long debitLeg_accountId; 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 @Override
public Object toRequest() { public Object toRequest() {
LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest(); LauncherCommandRequest taskRunnerCommandRequest = new LauncherCommandRequest();
@ -83,6 +94,7 @@ public class LauncherNew implements IAction<Object> {
taskRunnerCommandRequest.setCreditLeg_accountId(creditLeg_accountId); taskRunnerCommandRequest.setCreditLeg_accountId(creditLeg_accountId);
taskRunnerCommandRequest.setAddresseeId(addresseeId); taskRunnerCommandRequest.setAddresseeId(addresseeId);
taskRunnerCommandRequest.setDebitLeg_accountId(debitLeg_accountId); taskRunnerCommandRequest.setDebitLeg_accountId(debitLeg_accountId);
taskRunnerCommandRequest.setFromTime(fromTime);
return taskRunnerCommandRequest; return taskRunnerCommandRequest;
} }
@ -227,4 +239,12 @@ public class LauncherNew implements IAction<Object> {
public void setFullBalance(BigDecimal fullBalance) { public void setFullBalance(BigDecimal fullBalance) {
this.fullBalance = 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"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <property name="LOG_PATH" value="./log" />
<encoder> <property name="FILE_NAME" value="backend-api" />
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}--> <property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<Pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n</Pattern> <property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<charset>utf-8</charset> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/backend-api.log</file>
<encoder> <encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}--> <!-- |%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>${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> <charset>utf8</charset>
</encoder> </encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern> <fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
./logs/backend-api.%i.log
</fileNamePattern> </fileNamePattern>
<minIndex>1</minIndex> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxIndex>10</maxIndex> <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> </rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender> </appender>
<root level="warn"> <root level="info">
<appender-ref ref="CONSOLE"/> <!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="FILE"/> <appender-ref ref="TEXT_FILE"/>
</root> <appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false"> <logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/> <appender-ref ref="TEXT_FILE"/>
<appender-ref ref="CONSOLE"/> <appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger> </logger>
<!--<logger name="org.springframework" level="info" />-->
</configuration> </configuration>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<meta version="3.9.0.68"> <meta version="3.11.0.78">
<enums> <enums>
<allowed id="1" code="ALWD" name="Разрешено"/> <allowed id="1" code="ALWD" name="Разрешено"/>
<allowed id="2" code="DEND" name="Запрещено"/> <allowed id="2" code="DEND" name="Запрещено"/>
@ -8,6 +8,7 @@
<countryCode id="1" code="RUS" name="Россия"/> <countryCode id="1" code="RUS" name="Россия"/>
<section id="1" code="MKR" name="Секция Денежного рынка МКР"/> <section id="1" code="MKR" name="Секция Денежного рынка МКР"/>
<section id="2" code="FOND" name="Фондовая секция"/> <section id="2" code="FOND" name="Фондовая секция"/>
<section id="3" code="CURR" name="Валютная секция"/>
<userRole id="1" code="ADMN" name="Администратор Клиринга МКР"/> <userRole id="1" code="ADMN" name="Администратор Клиринга МКР"/>
<userRole id="2" code="SPVS" name="Супервайзер Клиринга МКР"/> <userRole id="2" code="SPVS" name="Супервайзер Клиринга МКР"/>
<userRole id="3" code="SCRT" name="Администратор безопасности Клиринга МКР"/> <userRole id="3" code="SCRT" name="Администратор безопасности Клиринга МКР"/>
@ -91,6 +92,7 @@
<companyRole id="6" code="CLRM" name="Участник клиринга"/> <companyRole id="6" code="CLRM" name="Участник клиринга"/>
<companyRole id="7" code="ODEP" name="Участник расчетов по открытым депозитным счетам на секции МКР"/> <companyRole id="7" code="ODEP" name="Участник расчетов по открытым депозитным счетам на секции МКР"/>
<currencyCode id="643" code="RUB" name="Российский рубль"/> <currencyCode id="643" code="RUB" name="Российский рубль"/>
<currencyCode id="840" code="USD" name="Доллар США"/>
<instrumentType id="1" code="RATE" name="Инструмент Денежного рынка"/> <instrumentType id="1" code="RATE" name="Инструмент Денежного рынка"/>
<instrumentType id="2" code="CRNC" name="Валюта"/> <instrumentType id="2" code="CRNC" name="Валюта"/>
<instrumentType id="3" code="EQTY" name="Акция"/> <instrumentType id="3" code="EQTY" name="Акция"/>
@ -111,7 +113,7 @@
<tradingClearingRegistryType id="1" code="A" name="Владелец"/> <tradingClearingRegistryType id="1" code="A" name="Владелец"/>
<tradingClearingRegistryType id="2" code="B" 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="4" code="D" name="Доверительный управляющий"/>
<tradingClearingRegistryType id="5" code="E" name="Эмитент"/> <tradingClearingRegistryType id="5" code="E" name="Эмитент"/>
<tradingClearingRegistryType id="6" code="Z" name="К размещению/выкупу"/> <tradingClearingRegistryType id="6" code="Z" name="К размещению/выкупу"/>
@ -156,42 +158,36 @@
<registryUnit id="5" code="U" name="Невыясненные"/> <registryUnit id="5" code="U" name="Невыясненные"/>
<registryUnit id="5" code="I" name="Списания/зачисления"/> <registryUnit id="5" code="I" name="Списания/зачисления"/>
<registryUnit id="7" code="V" name="Выписка"/> <registryUnit id="7" code="V" name="Выписка"/>
<registryCode id="1" code="AMAT" name="Денежные средства Участника клиринга, зарезервированные на торги"/> <registryCode id="1" code="AMAT" name="Денежные средства - общие"/>
<registryCode id="2" code="AMAF" name="Денежные средства - свободные"/> <registryCode id="2" code="AMAF" name="Денежные средства - свободные"/>
<registryCode id="3" code="AMAB" name="Денежные средства - блокированные"/> <registryCode id="3" code="AMAB" name="Денежные средства - блокированные"/>
<registryCode id="4" code="TMAT" name="Требования по деньгам"/> <registryCode id="4" code="TMAT" name="Требования по деньгам"/>
<registryCode id="5" code="OSAT" name="Обязательства по бумагам"/> <registryCode id="5" code="OSAT" name="Обязательства по бумагам"/>
<registryCode id="6" code="OMAT" name="Обязательства по деньгам"/> <registryCode id="6" code="OMAT" name="Обязательства по деньгам"/>
<registryCode id="7" code="TSAT" name="Требования по бумагам"/> <registryCode id="7" code="TSAT" name="Требования по бумагам"/>
<registryCode id="8" code="CMAT" name="Рассчитанные требования по деньгам"/> <registryCode id="8" code="CMAT" name="Рассчитанные требования по деньгам"/>
<registryCode id="9" code="LSAT" name="Рассчитанные обязательства по бумагам"/> <registryCode id="9" code="LSAT" name="Рассчитанные обязательства по бумагам"/>
<registryCode id="10" code="LMAT" name="Рассчитанные обязательства по деньгам"/> <registryCode id="10" code="LMAT" name="Рассчитанные обязательства по деньгам"/>
<registryCode id="11" code="CSAT" name="Рассчитанные требования по бумагам"/> <registryCode id="11" code="CSAT" name="Рассчитанные требования по бумагам"/>
<registryCode id="12" code="AMBT" name="Денежные средства Участника клиринга, зарезервированные на торги клиенты"/> <registryCode id="12" code="AMBT" name="Денежные средства клиента - общие"/>
<registryCode id="13" code="AMBF" name="Денежные средства клиента - свободные"/> <registryCode id="13" code="AMBF" name="Денежные средства клиента - свободные"/>
<registryCode id="14" code="AMBB" name="Денежные средства клиента - блокированные"/> <registryCode id="14" code="AMBB" name="Денежные средства клиента - блокированные"/>
<registryCode id="15" code="TMBT" name="Требования по деньгам (кл)"/> <registryCode id="15" code="TMBT" name="Требования по деньгам (кл)"/>
<registryCode id="16" code="OSBT" name="Обязательства по бумагам (кл)"/> <registryCode id="16" code="OSBT" name="Обязательства по бумагам (кл)"/>
<registryCode id="17" code="OMBT" name="Обязательства по деньгам (кл)"/> <registryCode id="17" code="OMBT" name="Обязательства по деньгам (кл)"/>
<registryCode id="18" code="TSBT" name="Требования по бумагам (кл)"/> <registryCode id="18" code="TSBT" name="Требования по бумагам (кл)"/>
<registryCode id="19" code="CMBT" name="Рассчитанные требования по деньгам (кл)"/> <registryCode id="19" code="CMBT" name="Рассчитанные требования по деньгам (кл)"/>
<registryCode id="20" code="LSBT" name="Рассчитанные обязательства по бумагам (кл)"/> <registryCode id="20" code="LSBT" name="Рассчитанные обязательства по бумагам (кл)"/>
<registryCode id="21" code="LMBT" name="Рассчитанные обязательства по деньгам (кл)"/> <registryCode id="21" code="LMBT" name="Рассчитанные обязательства по деньгам (кл)"/>
<registryCode id="22" code="CSBT" name="Рассчитанные требования по бумагам (кл)"/> <registryCode id="22" code="CSBT" name="Рассчитанные требования по бумагам (кл)"/>
<registryCode id="23" code="DMAT" name="Возврат депозита"/> <registryCode id="23" code="DMAT" name="Возврат депозита"/>
<registryCode id="24" code="DMBT" name="Возврат депозита (кл)"/> <registryCode id="24" code="DMBT" name="Возврат депозита (кл)"/>
<registryCode id="25" code="ASAT" name="Ценные бумаги Участника клиринга свои"/> <registryCode id="25" code="ASAT" name="Ценные бумаги - общие"/>
<registryCode id="26" code="ASAF" name="Ценные бумаги - свободные"/> <registryCode id="26" code="ASAF" name="Ценные бумаги - свободные"/>
<registryCode id="27" code="ASAB" name="Ценные бумаги - блокированные"/> <registryCode id="27" code="ASAB" name="Ценные бумаги - блокированные"/>
<registryCode id="28" code="DMAX" name="Возврат инициатору"/> <registryCode id="28" code="DMAX" name="Возврат инициатору"/>
<registryCode id="29" code="DMBX" name="Возврат инициатору (кл)"/> <registryCode id="29" code="DMBX" name="Возврат инициатору (кл)"/>
<registryCode id="30" code="DMAU" 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="Ценные бумаги Участника клиринга ДУ"/>
<registryStatus id="1" code="OK" name="Рассчитано"/> <registryStatus id="1" code="OK" name="Рассчитано"/>
<registryStatus id="2" code="UNCV" name="Не исполнено"/> <registryStatus id="2" code="UNCV" name="Не исполнено"/>
<registryStatus id="3" code="FAIL" name="Не исполнено контрагентом"/> <registryStatus id="3" code="FAIL" name="Не исполнено контрагентом"/>
@ -216,6 +212,7 @@
<accountType id="8" code="TRAN" name="Транзакционный счет"/> <accountType id="8" code="TRAN" name="Транзакционный счет"/>
<accountType id="9" code="DEPO" name="Депозитарный счет"/> <accountType id="9" code="DEPO" name="Депозитарный счет"/>
<accountType id="10" code="DTRN" name="Депозитарный транзакционный счет"/> <accountType id="10" code="DTRN" name="Депозитарный транзакционный счет"/>
<accountType id="11" code="CURR" name="Валютный счет"/>
<depoAccountType id="1" code="A" name="Счет участника"/> <depoAccountType id="1" code="A" name="Счет участника"/>
<depoAccountType id="2" code="B" name="Счет клиента"/> <depoAccountType id="2" code="B" name="Счет клиента"/>
<depoAccountType id="3" code="C" name="Счет нерезидента"/> <depoAccountType id="3" code="C" name="Счет нерезидента"/>
@ -254,6 +251,9 @@
<task id="27" code="EDEP" name="Время завершения возврата депозитов"/> <task id="27" code="EDEP" name="Время завершения возврата депозитов"/>
<task id="28" code="CHDF" name="Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21"/> <task id="28" code="CHDF" name="Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21"/>
<task id="29" code="CCLR" name="Завершение неудачных клиринговых сессий"/> <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="1" code="ACTV" name="Активна"/>
<taskStatus id="2" code="BLKD" name="Не активна"/> <taskStatus id="2" code="BLKD" name="Не активна"/>
<taskStatus id="3" code="CNCL" name="Отмена расписания"/> <taskStatus id="3" code="CNCL" name="Отмена расписания"/>
@ -262,7 +262,9 @@
<parent id="1" code="TMPL" name="Шаблон"/> <parent id="1" code="TMPL" name="Шаблон"/>
<parent id="2" code="PLNR" name="Расписание"/> <parent id="2" code="PLNR" name="Расписание"/>
<parent id="3" code="CLND" 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="1" code="ACTV" name="Сессия активна"/>
<sessionStatus id="2" code="CLRN" name="Идет клиринг"/> <sessionStatus id="2" code="CLRN" name="Идет клиринг"/>
<sessionStatus id="3" code="CLOS" name="Клиринг завершен"/> <sessionStatus id="3" code="CLOS" name="Клиринг завершен"/>
@ -286,6 +288,7 @@
<sessionType id="6" code="LIQU" name="Ликвидационное прекращение обязательств"/> <sessionType id="6" code="LIQU" name="Ликвидационное прекращение обязательств"/>
<sessionType id="7" code="IPOB" name="Первичные торги Bn"/> <sessionType id="7" code="IPOB" name="Первичные торги Bn"/>
<sessionType id="8" code="IPO0" name="Первичные торги B0"/> <sessionType id="8" code="IPO0" name="Первичные торги B0"/>
<sessionType id="9" code="CURR" name="Валютные торги"/>
<moneyFlowSide id="1" code="BUY" name="Привлечь"/> <moneyFlowSide id="1" code="BUY" name="Привлечь"/>
<moneyFlowSide id="2" code="SELL" name="Разместить"/> <moneyFlowSide id="2" code="SELL" name="Разместить"/>
<side id="1" code="B" name="Покупка"/> <side id="1" code="B" name="Покупка"/>
@ -323,6 +326,7 @@
<objectType id="4" code="GTWY" name="gateway-api"/> <objectType id="4" code="GTWY" name="gateway-api"/>
<objectType id="5" code="ACCA" name="account"/> <objectType id="5" code="ACCA" name="account"/>
<objectType id="6" code="ACCB" name="account"/> <objectType id="6" code="ACCB" name="account"/>
<objectType id="7" code="DIFF" name="registry"/>
<notificationStatus id="1" code="PEND" name="В ожидании"/> <notificationStatus id="1" code="PEND" name="В ожидании"/>
<notificationStatus id="2" code="CNCL" name="Отменено"/> <notificationStatus id="2" code="CNCL" name="Отменено"/>
<notificationStatus id="3" code="ACPT" name="Принято"/> <notificationStatus id="3" code="ACPT" name="Принято"/>
@ -338,6 +342,8 @@
<courierType id="1" code="STHS" name="ЭДО с Расчетной Организацией"/> <courierType id="1" code="STHS" name="ЭДО с Расчетной Организацией"/>
<resultStatus id="1" code="NACK" name="Неуспешно"/> <resultStatus id="1" code="NACK" name="Неуспешно"/>
<resultStatus id="2" code="ACK" 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="1" code="CRET" name="Создание"/>
<eventType id="2" code="UPDT" name="Обновление"/> <eventType id="2" code="UPDT" name="Обновление"/>
<eventType id="3" code="DELT" name="Удаление"/> <eventType id="3" code="DELT" name="Удаление"/>
@ -409,6 +415,9 @@
<errorCode id="3028" code="CMPN" name="Для клиента %s отстутствует счет ДЕПО."/> <errorCode id="3028" code="CMPN" name="Для клиента %s отстутствует счет ДЕПО."/>
<errorCode id="3029" code="CMPN" name="Для клиента %s отстутствует денежный счет."/> <errorCode id="3029" code="CMPN" name="Для клиента %s отстутствует денежный счет."/>
<errorCode id="3030" code="CMPN" name="Категория %s для компании %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 --> <!-- error code for report-serivce -->
<errorCode id="4000" code="RPRT" name="Общая ошибка модуля 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"/--> <!--company id="5" fullName="Центральный Банк Российской Федерации" shortName="ЦБ РФ" tradingCode="" clearingCode="" workflowStatus="ACTV"/-->
<companySymbols id="1" companyId="1" companySymbol="BIC" companySymbolValue="044030920"/> <companySymbols id="1" companyId="1" companySymbol="BIC" companySymbolValue="044030920"/>
<companySymbols id="2" companyId="2" companySymbol="BIC" companySymbolValue="044030505"/> <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="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="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="2" companyId="1" account="30414810600000007000" accountType="ANLT" status="ACTV" processingSign="ALWD"/>
<account id="3" companyId="1" account="700100000AT0" accountType="DTRN" 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> </objects>
</meta> </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 version="1.0" encoding="UTF-8"?>
<!--?xml-stylesheet type="text/xsl" href="\..\corp-reports\src\data\meta\meta.server.xslt"?--> <!--?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" --> <!-- _xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" _xsi:noNamespaceSchemaLocation="file:///E:/d/projects/meta/from/meta.xsd" -->
<!--Здесь словари--> <!--Здесь словари-->
<enums> <enums>
@ -105,7 +105,6 @@
<code name="Код облигации" shortname="Код" type="12"/> <code name="Код облигации" shortname="Код" type="12"/>
<name name="Наименование" shortname="Тип" type="2" length="255"/> <name name="Наименование" shortname="Тип" type="2" length="255"/>
</bondType> </bondType>
<tradingClearingRegistryType name="Справочник типов торгово-клиринговых регистров" class="com.spicex.dictionary.TradingClearingRegistryTypeDictionary" table="trading_clearing_registry_type_dictionary"> <tradingClearingRegistryType name="Справочник типов торгово-клиринговых регистров" class="com.spicex.dictionary.TradingClearingRegistryTypeDictionary" table="trading_clearing_registry_type_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
@ -186,26 +185,26 @@
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Наименование" type="2" length="255"/> <name name="Наименование" shortname="Наименование" type="2" length="255"/>
</clearingAccountType> </clearingAccountType>
<task name="Справочник задач" class="com.spicex.dictionary.TaskDictionary" table="task_dictionary"> <task name="Справочник задач" class="com.spicex.dictionary.TaskDictionary" table="task_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <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"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Статус задачи" shortname="Статус" type="2" length="50"/> <name name="Задача" shortname="Задача" type="2" length="150"/>
</taskStatus> </task>
<dayStatus name="Справочник статусов дней" class="ru.clearing.platform.dictionary.DayStatusDictionary" table="day_status_dictionary"> <taskStatus name="Справочник статусов задач" class="com.spicex.dictionary.TaskStatusDictionary" table="task_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Статус дня" shortname="Статус" type="2" length="50"/> <name name="Статус задачи" shortname="Статус" type="2" length="50"/>
</dayStatus> </taskStatus>
<parent name="Справочник источников" class="com.spicex.dictionary.ParentDictionary" table="parent_dictionary"> <dayStatus name="Справочник статусов дней" class="ru.clearing.platform.dictionary.DayStatusDictionary" table="day_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Наименование" shortname="Источник" type="2" length="50"/> <name name="Статус дня" shortname="Статус" type="2" length="50"/>
</parent> </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"> <sessionStatus name="Справочник статусов клиринговых сессий" class="ru.clearing.platform.dictionary.SessionStatusDictionary" table="session_status_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
@ -263,11 +262,11 @@
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Значение" shortname="Значение" type="2" length="255"/> <name name="Значение" shortname="Значение" type="2" length="255"/>
</inOutDirection> </inOutDirection>
<transactionStatus name="Справочник статусов транзакций" class="com.spicex.dictionary.TransactionStatusDictionary" table="transaction_status_dictionary"> <transactionStatus name="Справочник статусов транзакций" class="com.spicex.dictionary.TransactionStatusDictionary" table="transaction_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Статус транзакции" shortname="Статус" type="2" length="50"/> <name name="Статус транзакции" shortname="Статус" type="2" length="50"/>
</transactionStatus> </transactionStatus>
<objectType name="Справочник типов объектов" class="ru.clearing.platform.dictionary.ObjectTypeDictionary" table="object_type_dictionary"> <objectType name="Справочник типов объектов" class="ru.clearing.platform.dictionary.ObjectTypeDictionary" table="object_type_dictionary">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
@ -293,11 +292,33 @@
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Статус сообщения" shortname="Наименование" type="2" length="50"/> <name name="Статус сообщения" shortname="Наименование" type="2" length="50"/>
</managementJournalStatus> </managementJournalStatus>
<courierType name="Справочник способов доставки документа" class="ru.clearing.platform.dictionary.CourierTypeDictionary" table="courier_type_dictionary"> <majorSign name="Справочник типов конвертируемости валюты" class="ru.clearing.platform.dictionary.MajorSign" table="major_sign">
<id name="Идентификатор" shortname="ID" type="1"/> <id name="Идентификатор" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
<name name="Способ доставки" shortname="Способ доставки" type="2" length="50"/> <name name="Наименование типа" shortname="Наименование" type="2" length="50"/>
</courierType> </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"> <resultStatus name="Справочник статусов обработки" class="ru.clearing.platform.dictionary.ResultStatusDictionary" table="result_status_dictionary">
<id name="Идентификатор записи" shortname="ID" type="1"/> <id name="Идентификатор записи" shortname="ID" type="1"/>
<code name="Код" shortname="Код" type="12"/> <code name="Код" shortname="Код" type="12"/>
@ -315,61 +336,61 @@
</priority> </priority>
</enums> </enums>
<objects> <objects>
<dbVersion name="Версия базы данных" destination="db-versions" class="" table="db_version"> <dbVersion name="Версия базы данных" destination="db-versions" class="" table="db_version">
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="true"/> <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"/> <version type="2" length="50" name="Версия базы данных, привязанная к релизу" shortname="Версия БД" searchable="true" sortable="true" visible="true"/>
</dbVersion> </dbVersion>
<userCls name="Пользователь" destination="users" class="ru.clearing.classes.statics.data.user.User" logUpdates="true" table="user_cls"> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <email type="2" length="250" name="Email пользователя" shortname="Email" searchable="true" sortable="true" visible="true"/>
<actions> <actions>
<put name="Авторизация пользователя"> <put name="Авторизация пользователя">
<userName type="2" length="255" name="Логин пользователя" required="true"/> <userName type="2" length="255" name="Логин пользователя" required="true"/>
<roles type="2" length="255" name="Роли пользователя" required="false"/> <roles type="2" length="255" name="Роли пользователя" required="false"/>
</put> </put>
</actions> </actions>
</userCls> </userCls>
<userRoleSession name="Набор ролей" destination="user-role-sessions" class="ru.clearing.classes.statics.data.user.UserRoleSession" table="user_role_session"> <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"/> <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"/> <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"/> <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"/> <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"/> <status type="12" dbname="Код статуса" name="Наименование статуса" shortname="Статус" searchable="true" sortable="true" link="workflowStatus"/>
</userRoleSession> </userRoleSession>
<userSettings name="Настройки пользователя" destination="utilities/user-settings" class="ru.clearing.classes.statics.data.user.UserSettings" table="user_settings"> <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"/> <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"/> <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"/> <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"/> <json type="2" length="200000" name="Данные конфигурации" shortname="Настройки" searchable="false" sortable="false" visible="true"/>
<actions> <actions>
<put name="Изменение настроек пользователя"> <put name="Изменение настроек пользователя">
<userId type="1" name="Имя и фамилия пользователя" shortname="Пользователь" required="false" link="userCls" linkCode="identifier"/> <userId type="1" name="Имя и фамилия пользователя" shortname="Пользователь" required="false" link="userCls" linkCode="identifier"/>
<version type="2" length="50" name="Версия настроек пользователя" shortname="Версия" required="false"/> <version type="2" length="50" name="Версия настроек пользователя" shortname="Версия" required="false"/>
<json type="2" length="200000" name="Данные конфигурации" shortname="Настройки" required="false"/> <json type="2" length="200000" name="Данные конфигурации" shortname="Настройки" required="false"/>
</put> </put>
</actions> </actions>
</userSettings> </userSettings>
<userConnect name="Активность пользователей в системе" class="ru.clearing.classes.statics.data.user.UserConnect" logUpdates="true" table="user_connect"> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="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"/> <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"/> <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"/> <connectionTime type="4" name="Последнее соединение" shortname="Вход" searchable="true" sortable="true"/>
<disconnectionTime 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"/> <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"/> <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"/> <connectionState type="12" dbname="Код статуса соединения" name="Статус соединения" shortname="Статус" searchable="true" sortable="true" visible="true" link="connectionState"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true"/> <clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true"/>
<errorCodeId type="1" dbname="Идентификатор кода ошибки" name="Код ошибки" shortname="Код ошибки" searchable="true" sortable="true" link="errorCode" linkCode="code"/> <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"/> <errorTextId type="1" dbname="Идентификатор полного текста ошибки" name="Полный текст ошибки" shortname="Ошибка" searchable="true" sortable="true" link="errorText" linkCode="text"/>
</userConnect> </userConnect>
<company name="Компании" destination="companies" class="ru.clearing.classes.statics.data.company.Company" logUpdates="true" table="company"> <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"/> <shortName type="2" length="255" name="Краткое наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true"/>
<fullName type="2" length="255" name="Полное наименование компании" shortname="Полное наименование" searchable="true" sortable="true" visible="true"/> <fullName type="2" length="255" name="Полное наименование компании" shortname="Полное наименование" searchable="true" sortable="true" visible="true"/>
@ -554,8 +575,41 @@
<delete name="Удаление роли участнику" class="ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction"> <delete name="Удаление роли участнику" class="ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction">
<id type="1" name="Идентификатор записи" shortname="ID" link="companyRoleSet" linkCode="id" required="true"/> <id type="1" name="Идентификатор записи" shortname="ID" link="companyRoleSet" linkCode="id" required="true"/>
</delete> </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> </actions>
</companyRoleSet> </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"> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<instrumentType type="12" dbname="Код типа инструмента" name="Наименование типа инструмента" shortname="Тип инструмента" searchable="true" sortable="true" visible="true" link="instrumentType"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
@ -808,6 +864,60 @@
</delete> </delete>
</actions> </actions>
</listing> </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"> <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"/> <description type="2" length="255" name="Описание" shortname="Описание" searchable="true" sortable="true"/>
<exchangeId type="1" dbname="Идентификатор площадки" name="Наименование площадки" shortname="Площадка" searchable="true" sortable="true" link="company"/> <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"/> <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"/> <updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true" ignore="true"/>
</market> </market>
<errorText name="Полные тексты ошибок" destination="error-texts" class="ru.clearing.classes.statics.data.messages.ErrorText" table="error_text"> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="ТКР" link="tradingClearingRegistry" linkCode="code"/>
<moneyAccountId type="1" name="Номер денежного счета" shortname="Денежный счет" link="account" linkCode="account"/> <moneyAccountId type="1" name="Номер денежного счета" shortname="Денежный счет" link="account" linkCode="account"/>
<depoAccountId 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"/> <status type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
</post> </post>
<put name="Изменение кода клиента" confirmation="companyId,code,tradingClearingRegistryId,moneyAccountId,depoAccountId,status" class="ru.spcex.clearing.backendapi.controller.request.cud.account.ClientCodeUpdateAction"> <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"/> <tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="ТКР" link="tradingClearingRegistry" linkCode="code"/>
<moneyAccountId type="1" name="Номер денежного счета" shortname="Денежный счет" link="account" linkCode="account"/> <moneyAccountId type="1" name="Номер денежного счета" shortname="Денежный счет" link="account" linkCode="account"/>
<depoAccountId 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"/> <status type="12" name="Наименование статуса" shortname="Статус" link="workflowStatus"/>
</put> </put>
<delete name="Блокировка кода клиента" confirmation="companyId,code" class="ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction"> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <tradingClearingRegistryPurpose type="12" dbname="Код области применения" name="Область применения" shortname="Область" searchable="true" sortable="true" link="tradingClearingRegistryPurpose"/>
@ -895,6 +1008,28 @@
</delete> </delete>
</actions> </actions>
</tradingClearingRegistry> </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"> <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"/> <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"/> <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"/> <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"/> <securityId type="1" dbname="Идентификатор инструмента" name="Код инструмента" shortname="Код инструмента" searchable="false" sortable="true" visible="false" link="security" linkCode="shortName"/>
<actions> <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"> <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"/> <companyId type="1" name="Наименование участника" shortname="Инициатор" link="company" linkCode="shortName" enabled="false"/>
<contract type="2" length="255" name="Договор" shortname="Номер договора" required="true" 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"/> <companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
<tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="Торгово-клиринговый регистр" link="tradingClearingRegistry" linkCode="code" required="true"/> <tradingClearingRegistryId type="1" name="Торгово-клиринговый регистр" shortname="Торгово-клиринговый регистр" link="tradingClearingRegistry" linkCode="code" required="true"/>
</post> </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"/> <groupId type="1" dbname="Идентификатор группы связанных регистров" name="Идентификатор группы" required="true" enabled="false" visible="false"/>
<contract type="2" length="255" name="Договор" shortname="Номер договора" required="true" enabled="false"/> <contract type="2" length="255" name="Договор" shortname="Номер договора" required="true" enabled="false"/>
<refundDate type="6" name="Дата возврата депозита" shortname="Возврат депозита" visible="true" enabled="true"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="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"/> <updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<actions> <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"> <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"/> <companyId type="1" name="Наименование компании" shortname="Компания" link="company" linkCode="shortName" required="true"/>
<account type="2" length="50" name="Номер счета" shortname="Счет"/> <account type="2" length="50" name="Номер счета" shortname="Счет"/>
@ -1019,7 +1190,7 @@
<put name="Изменение статуса договорных отношений" confirmation="serviceStatus,comment"> <put name="Изменение статуса договорных отношений" confirmation="serviceStatus,comment">
<id type="1" name="Идентификатор записи" shortname="ID" link="relation" linkCode="id" required="true"/> <id type="1" name="Идентификатор записи" shortname="ID" link="relation" linkCode="id" required="true"/>
<serviceStatus type="12" name="Наименование статуса" shortname="Статус" link="serviceStatus" 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> </put>
</actions> </actions>
</relation> </relation>
@ -1037,7 +1208,7 @@
<taxpayerIdentificationNumber type="2" length="255" name="Идентификационный номер налогоплательщика (ИНН)" shortname="ИНН" searchable="true" sortable="true" visible="true"/> <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"/> <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"/> <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"/> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<actions> <actions>
@ -1073,7 +1244,7 @@
<informationAccount name="Регистр КС" destination="accounting/information-accounts" class="ru.clearing.classes.statics.data.account.InformationAccount" logUpdates="true" table="information_account"> <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"/> <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"/> <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" /> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
</informationAccount> </informationAccount>
@ -1086,12 +1257,12 @@
</depoAccount> </depoAccount>
<accountSymbols name="Депо КС - РДЦ" destination="accounting/depo-accounts-symbols" class="ru.clearing.classes.statics.data.account.AccountSymbols" logUpdates="true" table="depo_account_symbols"> <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"/> <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"/> <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"/> <accountSymbolValue type="2" length="255" name="Значение реквизита" shortname="Значение" searchable="true" sortable="true" visible="true"/>
<actions> <actions>
<post name="Добавление депо КС - РДЦ" confirmation="accountId,accountSymbolValue" class="ru.spcex.clearing.backendapi.controller.request.cud.account.AccountSymbolsNewAction"> <post name="Добавление депо КС - РДЦ" confirmation="accountId,accountSymbolValue">
<accountId type="1" dbname="Идентификатор счета" name="Счет депо КС" shortname= "Счет депо КС" link="account" linkCode="account" required="true"/> <accountId type="1" dbname="Идентификатор счета" name="Номер счета" shortname="Счет" link="account" linkCode="account" required="true"/>
<accountSymbolValue type="2" length="255" name="Счет РДЦ" shortname="Счет РДЦ" required="true"/> <accountSymbolValue type="2" length="255" name="Значение реквизита" shortname="Значение" required="true"/>
</post> </post>
<delete name="Удаление депо КС - РДЦ" confirmation="accountId,accountSymbolValue"> <delete name="Удаление депо КС - РДЦ" confirmation="accountId,accountSymbolValue">
<id type="1" name="Идентификатор записи" shortname="ID" link="account" linkCode="id" required="true"/> <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" /> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
</clearingAccount> </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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" link="plannerTemplate" linkCode="id" required="true"/>
</delete> </delete>
</actions> </actions>
</plannerTemplate> </plannerTemplate>
<clearingCalendar name="Рабочие и нерабочие дни" destination="schedule/clearing-calendars" class="ru.clearing.classes.statics.data.scheduler.ClearingCalendar" table="clearing_calendar"> <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"/> <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"/> <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"/> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" link="clearingCalendar" linkCode="id" required="true"/>
</delete> </delete>
</actions> </actions>
</clearingCalendar> </clearingCalendar>
<planner name="Расписание на все даты" destination="schedule/planners" class="ru.clearing.classes.statics.data.scheduler.Planner" table="planner"> <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"/> <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"/> <taskTime type="5" name="Время задачи" shortname="Время задачи" searchable="false" sortable="false" visible="true"/>
<clearingDate type="6" 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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <securityId type="1" dbname="Идентификатор инструмента" name="Наименование инструмента" shortname="Инструмент" searchable="false" sortable="true" link="security" linkCode="shortName"/>
<id type="1" name="Идентификатор" shortname="ID" 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"/> <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"/> <updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<actions> <actions>
<post name="Новое расписание" class="ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerNewAction"> <post name="Новое расписание" class="ru.spcex.clearing.backendapi.controller.request.cud.schedule.PlannerNewAction">
<task type="12" name="Наименование задачи" shortname="Задача" link="task" required="true"/> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" link="planner" linkCode="id" required="true"/>
</delete> </delete>
</actions> </actions>
</planner> </planner>
<plannerAllToday name="Расписание на текущий день" destination="schedule/planners-all-today" class="ru.clearing.classes.statics.data.scheduler.PlannerAllToday" table="planner_all_today"> <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"/> <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"/> <taskTime type="5" name="Время" shortname="Время" searchable="true" sortable="true" visible="true"/>
<clearingDate type="6" 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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <parent type="12" dbname="Код источника записи расписания" name="Источник записи расписания" shortname="Источник" searchable="true" sortable="true" link="parent"/>
<parentId type="1" name="Идентификатор записи в таблице-источнике" shortname="ID источника" searchable="false" sortable="false"/> <parentId type="1" name="Идентификатор записи в таблице-источнике" shortname="ID источника" searchable="false" sortable="false"/>
<id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/> <id type="1" name="Идентификатор" shortname="ID" searchable="true" sortable="true"/>
</plannerAllToday> </plannerAllToday>
<launcher name="Запуск задачи" destination="launchers" class="ru.clearing.classes.statics.data.scheduler.Launcher" table="launcher"> <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"/> <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"/> <task type="12" dbname="Код задачи" name="Наименование задачи" shortname="Задача" searchable="true" sortable="true" visible="true" link="task"/>
<id type="1" name="Идентификатор" shortname="ID" 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"/> <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"/> <updatedAt field="updated" type="4" webtype="5" dbname="Дата-время изменения записи" name="Время изменения записи" shortname="Изменено" searchable="true" sortable="true"/>
<actions> <actions>
<post destination="GVER" group="Общее" name="Запуск сверки"> <post destination="GVER" group="Общее" name="Запуск сверки">
</post> </post>
<post destination="GRYT" group="Общее" name="Подготовка КС к клиринговому дню"> <post destination="GRYT" group="Общее" name="Подготовка КС к клиринговому дню">
</post> </post>
<post destination="LOCM" group="Обмен с интеграционными модулями" name="Загрузка участников"> <post destination="LOCM" group="Обмен с интеграционными модулями" name="Загрузка участников">
</post> </post>
<post destination="LOSC" group="Обмен с интеграционными модулями" name="Загрузка инструментов"> <post destination="LOSC" group="Обмен с интеграционными модулями" name="Загрузка инструментов">
</post> </post>
<post destination="GALB" group="Обмен с расчетной организацией" name="Запрос остатков по всем счетам (отправка ДФ-56 для получения ответа ДФ-01, ДФ-57)"> <post destination="GALB" group="Обмен с расчетной организацией" name="Запрос остатков по всем счетам (отправка ДФ-56 для получения ответа ДФ-01, ДФ-57)">
<fromTime type="5" name="Запросить с " shortname="Запросить с "/>
</post> </post>
<post destination="OUTV" group="Обмен с расчетной организацией" name="Вывод свободных средств с клирингового регистра (отправка ДФ-54 для получения ответа ДФ-55)"> <post destination="OUTV" group="Обмен с расчетной организацией" name="Вывод свободных средств с клирингового регистра (отправка ДФ-54 для получения ответа ДФ-55)">
<fullBalance type="10" name="Текущий баланс (всего)" shortname="Текущие средства (всего)" enabled="false"/> <fullBalance type="10" name="Текущий баланс (всего)" shortname="Текущие средства (всего)" enabled="false"/>
@ -1250,6 +1422,8 @@
</post> </post>
<post destination="GTRD" group="Обмен с Торговой системой" name="Получение сделок из Торговой системы"> <post destination="GTRD" group="Обмен с Торговой системой" name="Получение сделок из Торговой системы">
</post> </post>
<post destination="CBRR" group="Обмен с интеграционными модулями" name="Загрузка кросс-курсов">
</post>
<post destination="LIMM" group="Обмен с Торговой системой" name="Выгрузка в Торговую систему остатков по деньгам (отправка lim)"> <post destination="LIMM" group="Обмен с Торговой системой" name="Выгрузка в Торговую систему остатков по деньгам (отправка lim)">
</post> </post>
<post destination="LIMS" group="Обмен с Торговой системой" name="Выгрузка в Торговую систему остатков по бумагам (отправка lim)"> <post destination="LIMS" group="Обмен с Торговой системой" name="Выгрузка в Торговую систему остатков по бумагам (отправка lim)">
@ -1277,6 +1451,7 @@
<post destination="EXLR" group="Формирование реестров" name="Формирование реестра обязательств, исключенных из клирингового пула"> <post destination="EXLR" group="Формирование реестров" name="Формирование реестра обязательств, исключенных из клирингового пула">
</post> </post>
<post destination="LBSR" group="Формирование реестров" name="Формирование реестра учета обязательств"> <post destination="LBSR" group="Формирование реестров" name="Формирование реестра учета обязательств">
<settlementDate type="6" name="Дата" shortname="Дата"/>
</post> </post>
<post destination="ECNR" group="Формирование реестров" name="Формирование реестра сделок"> <post destination="ECNR" group="Формирование реестров" name="Формирование реестра сделок">
</post> </post>
@ -1287,16 +1462,19 @@
<post destination="FDFF" group="Обмен с расчетной организацией" name="Формирование ДФ-05 с кодом 9 (финальный)"> <post destination="FDFF" group="Обмен с расчетной организацией" name="Формирование ДФ-05 с кодом 9 (финальный)">
</post> </post>
<post destination="CHDF" group="Общее" name="Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21"> <post destination="CHDF" group="Общее" name="Проверка наличия пары ДФ-01/ДФ-57 и ДФ-08/ДФ-21">
</post> </post>
<post destination="CCLR" group="Клиринг" name="Завершение неудачных клиринговых сессий"> <post destination="CCLR" group="Клиринг" name="Завершение неудачных клиринговых сессий">
</post> </post>
<post destination="MTCR" group="Формирование отчетности" name="Формирование файлов с МТКР">
</post>
<post destination="LIMC" group="Обмен с Торговой системой" name="Выгрузка в Торговую систему остатков по валют (отправка lim)">
</post>
</actions> </actions>
</launcher> </launcher>
<session name="Клиринговые сессии" destination="sessions" class="ru.clearing.classes.statics.data.misc.Session" logUpdates="true" table="session"> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <price type="10" name="Ставка по депозиту" shortname="Ставка, %" visible="true" searchable="true" sortable="true"/>
<lots type="11" 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"/> <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"/> <clearingDate type="6" name="Дата клиринга" shortname="Дата клиринга" visible="false" searchable="true" sortable="true"/>
<exchangeExecutionId type="1" name="Идентификационный номер сделки в Торговой системе" shortname="Номер сделки" visible="true" 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"/> <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"/> <tradingDate type="6" name="Дата заключения сделки" shortname="Дата заключения сделки" visible="true" searchable="true" sortable="true"/>
<securitySymbol type="2" length="255" 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"/> <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"/> <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"/> <sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
</executionFond> </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"> <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"/> <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"/> <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"/> <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"/> <setHouseName type="2" length="255" name="Наименование РД" shortname="Наименование РД" searchable="true" sortable="true" visible="true"/>
<quantity type="11" name="Количество" shortname="Количество" searchable="true" sortable="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"/> <securitySymbol type="2" length="255" name="Код ценной бумаги" shortname="Ценная бумага" searchable="true" sortable="true"/>
</depoBalanceRegister> </depoBalanceRegister>
<moneyBalanceRegister name="Реестр остатков денежных средств" destination="money-balance-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.MoneyBalanceRegister" table="money_balance_register"> <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"/> <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"/> <number type="2" length="255" name="Номер отчета" shortname="Номер отчета" searchable="true" sortable="true" visible="true"/>
<infoAccount type="2" length="50" name="Номер счета внутреннего учета СПВБ" shortname="Номер счета внутреннего учета СПВБ" searchable="true" sortable="true" visible="true" ignore="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"/> <remainderSum type="10" name="Остаток денежных средств" shortname="Остаток" searchable="true" sortable="true"/>
<blockedSum 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"/>
<unblockedSum type="10" name="Сумма свободных денежных средств" shortname="Свободные" searchable="true" sortable="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"/> <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"/> <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"/> <blockedSum type="10" name="Сумма блокированных денежных средств" shortname="Блокированные" searchable="true" sortable="true" ignore="true"/>
<companyId type="1" dbname="Идентификатор компании" name="Наименование компании" shortname="Компания" searchable="true" sortable="true" visible="true" link="company" linkCode="shortName"/> <unblockedSum type="10" name="Сумма свободных денежных средств" shortname="Свободные" searchable="true" sortable="true" ignore="true"/>
<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"/>
<updatedAt field="updated" 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"/>
</moneyBalanceRegister> </moneyBalanceRegister>
<admittedLiabilitiesRegister name="Реестр обязательств, допущенных к клирингу" destination="admitted-liabilities-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.AdmittedLiabilitiesRegister" table="admitted_liabilities_register"> <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"/> <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"/> <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"/> <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"> <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"/> <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"/> <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"/> <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"/> <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"/> <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"> <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"/> <creditLegAccount type="2" length="50" name="Счет отправителя" shortname="Счет отправителя" searchable="true" sortable="true" visible="true"/>
<creditLegAmount type="10" 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"/> <tradingClearingRegistry type="2" length="50" name="Торгово-клиринговый регистр" shortname="ТКР" searchable="true" sortable="true"/>
<cbCode 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"/> <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"/> <sessionId type="1" dbname="Идентификатор клиринговой сессии" name="Клиринговая сессия" shortname="Сессия" visible="true" searchable="true" sortable="true" link="session"/>
</depoPaymentInstructionRegister> </depoPaymentInstructionRegister>
<excludeLiabilitiesRegister name="Реестр обязательств, исключенных из клирингового пула" destination="exclude-liabilities-registers" historyDestination="history" class="ru.clearing.classes.statics.data.register.ExcludeLiabilitiesRegister" table="exclude_liabilities_register"> <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"/> <sumLiabilities type="10" name="Сумма обязательств" shortname="Обязательства" searchable="true" sortable="true" visible="true"/>
<settlementDate type="6" name="Дата расчета" shortname="Расчет" searchable="true" sortable="true"/> <settlementDate type="6" name="Дата расчета" shortname="Расчет" searchable="true" sortable="true"/>
</excludeLiabilitiesRegister> </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"> <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"/> <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"/> <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"/> <settlementDate type="6" name="Дата расчетов" shortname="Дата расчетов" searchable="true" sortable="true"/>
<amount type="11" name="Объем" shortname="Объем" searchable="true" sortable="true" visible="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"/> <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"/> <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"/> <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"/> <inSDfId type="1" name="Идентификатор записи, инициировавшая изменения этой таблицы" shortname="Входящая запись" searchable="true" sortable="true" ignore="true"/>
<outSDfId 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"/> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" visible="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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <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"/> <outIntSum type="11" name="Исходящая сумма остатков, полученная в КС" shortname="Остатки, полученные в КС" visible="true" searchable="true" sortable="true"/>
<outExtSum 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"/> <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"/> <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"/> <resultStatus type="12" dbname="Код статуса сверки" name="Наименование статуса сверки" shortname="Статус" searchable="true" sortable="true" visible="true" link="resultStatus"/>
<id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true"/> <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"/> <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"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" 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"/> <inSDfId type="1" name="Идентификатор соответствующей записи из таблицы-источника" shortname="Входящая запись" searchable="true" sortable="true" visible="true"/>
</sDf02> </sDf02>
<sDf03 name="ДФ-03 Реестр платежных поручений" destination="s-dfs/s-df03" class="ru.clearing.classes.statics.data.sdf.SDf03" table="s_df_03"> <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"/> <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"/> <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"/> <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"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" 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"/> <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"/> <fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" 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"/> <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> </sDf06>
<sDf07 name="ДФ-07 Ответ на запрос по зачислению/списанию денежных средств" destination="s-dfs/s-df07" class="ru.clearing.classes.statics.data.sdf.SDf07" table="s_df_07"> <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"/> <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"/> <spec type="2" length="255" name="Назначение" shortname="Назначение" searchable="true" sortable="true" visible="true"/>
<number type="10" 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"/> <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"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" 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"/> <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> </sDf07>
<sDf08 name="ДФ-08 Загрузка счетов с остатками" destination="s-dfs/s-df08" class="ru.clearing.classes.statics.data.sdf.SDf08" table="s_df_08"> <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"/> <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"/> <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"/> <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"/> <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"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/> <generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" searchable="true" sortable="true" visible="true"/>
</sDf12> </sDf12>
@ -1875,7 +2118,7 @@
<inDocument type="2" name="Исходящий номер входящего сообщения" shortname="Сформировано" searchable="true" sortable="true" visible="true"/> <inDocument type="2" name="Исходящий номер входящего сообщения" shortname="Сформировано" searchable="true" sortable="true" visible="true"/>
<security 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"/> <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"/> <openBalance type="2" name="Входящий остаток" shortname="Входящий остаток" searchable="true" sortable="true" visible="true"/>
<depoCodeCl 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"/> <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"/> <date type="2" length="8" name="Дата изменения состояния счета" shortname="Дата изменения состояния счета" searchable="true" sortable="true" visible="true"/>
<status type="3" 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"/> <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"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" 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"/> <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"/> <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"/> <generationTime type="4" name="Дата и время создания записи" shortname="Дата и время создания" searchable="true" sortable="true" visible="true"/>
<generationId type="1" name="Идентификатор взаимодействия" shortname="ID взаимодействия" 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> </sDf54>
<sDf55 name="ДФ-55 Квитанция об обработке ДФ-54" destination="s-dfs/s-df55" class="ru.clearing.classes.statics.data.sdf.SDf55" table="s_df_55"> <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"/> <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"/> <fileName type="2" length="255" name="Наименование входящего файла" shortname="Наименование файла" searchable="true" sortable="true" visible="true"/>
<generationTime type="4" 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"/> <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> </sDf55>
<sDf56 name="ДФ-56 Запрос транзакций за период" destination="s-dfs/s-df56" class="ru.clearing.classes.statics.data.sdf.SDf56" table="s_df_56"> <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"/> <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"/> <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"/> <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"/> <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> </sDf57>
<managementJournal name="Журнал мониторинга и контроля" destination="management-journals" class="ru.clearing.classes.statics.data.journal.ManagementJournal" table="management_journal"> <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"/> <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"/> <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"/> <id type="1" name="Идентификатор записи" shortname="ID" searchable="true" sortable="true" visible="false"/>
</outDocumentJournal> </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"/> <companyFullName type="2" length="255" name="Полное наименование компании" shortname="Полное наименование компании" searchable="true" sortable="true"/>
<clearingCode 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"/> <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"/> <price type="10" name="Цена за 1 штуку ликвидационного актива" shortname="Цена за шт." searchable="true" sortable="true" visible="true"/>
<clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" ignore="true"/> <clearingDate type="6" name="Дата" shortname="Дата" searchable="true" sortable="true" ignore="true"/>
</marketDataLiquidation> </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> </objects>
<views> <views>
<AccountUnion> <AccountUnion>

View file

@ -113,6 +113,7 @@ import static ru.spcex.clearing.test.json.MatcherFactoryWithJson.usingIgnoringFi
MarketController.class, MarketController.class,
NotificationController.class, NotificationController.class,
SessionController.class, SessionController.class,
SCrossRateController.class,
//payment //payment
PaymentInstructionController.class, PaymentInstructionController.class,
//register //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; package ru.spcex.clearing.backendapi.meta;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; 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.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
@ -14,6 +17,7 @@ import java.util.stream.Collectors;
@ExtendWith(SpringExtension.class) @ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = GetResponseFactoryTestConfiguration.class) @ContextConfiguration(classes = GetResponseFactoryTestConfiguration.class)
public class GetResponseFactoryTest { public class GetResponseFactoryTest {
private Logger log = LoggerFactory.getLogger(getClass());
private final MetaServer meta; private final MetaServer meta;
@Autowired @Autowired
@ -37,6 +41,10 @@ public class GetResponseFactoryTest {
try { try {
classByName = Class.forName(className); classByName = Class.forName(className);
} catch (ClassNotFoundException e) { } 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); error.computeIfAbsent(ent.getKey(), v -> new ArrayList<>()).add(ent.getKey() + " cannot find class " + className);
continue; 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> <parent>
<artifactId>clearing-parent</artifactId> <artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId> <groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -44,6 +44,13 @@
<groupId>ru.spcex.platform</groupId> <groupId>ru.spcex.platform</groupId>
<artifactId>platform-enum</artifactId> <artifactId>platform-enum</artifactId>
</dependency> </dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<!-- TEST --> <!-- TEST -->
<dependency> <dependency>
<groupId>org.springframework</groupId> <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.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; 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.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.QueueConsumer;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.enumeration.Task;
@ -36,14 +37,17 @@ public class Sdf08Service extends QueueConsumer implements InitializingBean {
@Override @Override
public void afterPropertiesSet() { public void afterPropertiesSet() {
callback(Object.class) callback(LauncherCommandRequest.class)
.setConsumer(this::newSDf08) .setConsumer(this::newSDf08)
.forDestination(Task.getAllBalance.topic(), callbacks::put); .forDestination(Task.getAllBalance.topic(), callbacks::put);
init(); init();
} }
private void newSDf08(BaseRequest<Object> userRequest) { private void newSDf08(BaseRequest<LauncherCommandRequest> userRequest) {
log.debug("getAllBalance request received"); 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 sDf08 = new SDf08();
// sDf08.setNumber(idGenerator.nextId().toString()); // sDf08.setNumber(idGenerator.nextId().toString());
Instant now = Instant.now(); Instant now = Instant.now();

View file

@ -1,38 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<configuration> <configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <property name="LOG_PATH" value="./log" />
<encoder> <property name="FILE_NAME" value="balance-service" />
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}--> <property name="CONSOLE_LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n" />
<Pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %class{0}:%line - %message%n</Pattern> <property name="FILE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %class{0}:%msg%n" />
<charset>utf-8</charset> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/balance-service.log</file>
<encoder> <encoder>
<!-- |%X{ru.nbch.scoring.web.logging.mdc_key}--> <!-- |%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>${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> <charset>utf8</charset>
</encoder> </encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern> <fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
./logs/balance-service.%i.log
</fileNamePattern> </fileNamePattern>
<minIndex>1</minIndex> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxIndex>10</maxIndex> <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> </rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender> </appender>
<root level="warn"> <root level="info">
<appender-ref ref="CONSOLE"/> <!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="FILE"/> <appender-ref ref="TEXT_FILE"/>
</root> <appender-ref ref="JSON_FILE" />
</root>
<logger name="ru.spcex" level="debug" additivity="false"> <logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/> <appender-ref ref="TEXT_FILE"/>
<appender-ref ref="CONSOLE"/> <appender-ref ref="JSON_FILE" />
<!-- <appender-ref ref="CONSOLE"/> -->
</logger> </logger>
</configuration> </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.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts; 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.balance.ExportToFileRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.service.RequestInfo; import ru.spcex.clearing.platform.messaging.service.RequestInfo;
import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.enumeration.Task;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import java.time.LocalTime;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.timeout;
@ -80,4 +83,43 @@ class Sdf08ServiceTest extends AbstractServiceTest {
assertNotNull(resultsSDf08); assertNotNull(resultsSDf08);
assertNotNull(resultRequestInfo); 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> <parent>
<artifactId>clearing-parent</artifactId> <artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId> <groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
</parent> </parent>
<properties> <properties>

View file

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

View file

@ -18,6 +18,7 @@ public class ClientCode extends BusinessObject {
private Long tradingClearingRegistryId; private Long tradingClearingRegistryId;
private Long moneyAccountId; private Long moneyAccountId;
private Long depoAccountId; private Long depoAccountId;
private Long currencyAccountId;
private String status; private String status;
public Long getCompanyId() { public Long getCompanyId() {
@ -60,6 +61,14 @@ public class ClientCode extends BusinessObject {
this.depoAccountId = value; this.depoAccountId = value;
} }
public Long getCurrencyAccountId() {
return currencyAccountId;
}
public void setCurrencyAccountId(Long value) {
this.currencyAccountId = value;
}
public String getStatus() { public String getStatus() {
return status; 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 symbolName;
private String tradingCurrency; private String tradingCurrency;
private String workflowStatus; private String workflowStatus;
private BigDecimal minStep;
private BigDecimal precision;
public Long getSecurityId() { public Long getSecurityId() {
return securityId; return securityId;
@ -69,4 +71,20 @@ public class Listing extends BusinessObject {
public void setWorkflowStatus(String workflowStatus) { public void setWorkflowStatus(String workflowStatus) {
this.workflowStatus = 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 companyId;
private Long sessionId; private Long sessionId;
private String setHouseName;
private String number;
private String depoCode; private String depoCode;
private BigDecimal quantity; private BigDecimal quantity;
private String securitySymbol; private String securitySymbol;
@ -36,6 +38,20 @@ public class DepoBalanceRegister extends BusinessObject {
this.sessionId=value; 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() { public String getDepoCode() {
return depoCode; 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 static final long serialVersionUID = ConstSerializable.serialVersionUID;
private String setHouseName; private String setHouseName;
private String number;
private String currencyCode;
private String account; private String account;
private String infoAccount; private String infoAccount;
private BigDecimal remainderSum; private BigDecimal remainderSum;
@ -24,30 +26,6 @@ public class MoneyBalanceRegister extends BusinessObject {
private String companyFullName; private String companyFullName;
private Long companyId; 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() { public String getSetHouseName() {
return setHouseName; return setHouseName;
} }
@ -56,6 +34,22 @@ public class MoneyBalanceRegister extends BusinessObject {
this.setHouseName = value; 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() { public String getAccount() {
return account; 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 sumunblock;
private String file_type; private String file_type;
private String result; private String result;
private String fileName;
private Instant generationTime; private Instant generationTime;
private Long generationId; private Long generationId;
private Long inSDfId; private Long inSDfId;
@ -136,6 +137,14 @@ public class SDf02 extends SpcexObjectBase implements WithAccount {
this.result = value; this.result = value;
} }
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Instant getGenerationTime() { public Instant getGenerationTime() {
return generationTime; return generationTime;
} }

View file

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

View file

@ -6,6 +6,7 @@ import ru.spcex.platform.classes.base.interfaces.WithFileName;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate;
/** /**
* ДФ-06 Запрос на зачисление/списание денежных средств * ДФ-06 Запрос на зачисление/списание денежных средств
@ -28,6 +29,9 @@ public class SDf06 extends SpcexObjectBase implements WithFileName {
private String fileName; private String fileName;
private Instant generationTime; private Instant generationTime;
private Long generationId; private Long generationId;
private String Doc_Num;
private LocalDate Doc_Date;
private String pay_val;
public String getAccount() { public String getAccount() {
return account; return account;
@ -133,4 +137,25 @@ public class SDf06 extends SpcexObjectBase implements WithFileName {
this.generationId = value; 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.math.BigDecimal;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate;
/** /**
* ДФ-07 Ответ на запрос по зачислению/списанию денежных средств * ДФ-07 Ответ на запрос по зачислению/списанию денежных средств
@ -25,9 +26,13 @@ public class SDf07 extends SpcexObjectBase {
private String spec; private String spec;
private BigDecimal number; private BigDecimal number;
private BigDecimal result; private BigDecimal result;
private String fileName;
private Instant generationTime; private Instant generationTime;
private Long generationId; private Long generationId;
private Long inSDfId; private Long inSDfId;
private String Doc_Num;
private LocalDate Doc_Date;
private String pay_val;
public String getAccount() { public String getAccount() {
return account; return account;
@ -117,6 +122,14 @@ public class SDf07 extends SpcexObjectBase {
this.result = value; this.result = value;
} }
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Instant getGenerationTime() { public Instant getGenerationTime() {
return generationTime; return generationTime;
} }
@ -141,4 +154,28 @@ public class SDf07 extends SpcexObjectBase {
this.inSDfId = value; 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 transactionNumber;
private String transactionQuantity; private String transactionQuantity;
private String result; private String result;
private String fileName;
private Instant generationTime; private Instant generationTime;
private Long generationId; private Long generationId;
@ -98,6 +99,14 @@ public class SDf12 extends SpcexObjectBase {
this.result = result; this.result = result;
} }
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public Instant getGenerationTime() { public Instant getGenerationTime() {
return generationTime; return generationTime;
} }

View file

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

View file

@ -4,6 +4,7 @@ import ru.clearing.classes.ConstSerializable;
import ru.spcex.platform.classes.base.SpcexObjectBase; import ru.spcex.platform.classes.base.SpcexObjectBase;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate;
/** /**
* ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414 * ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414
@ -55,6 +56,11 @@ public class SDf54 extends SpcexObjectBase {
private String doc_result; private String doc_result;
private Instant generationTime; private Instant generationTime;
private Long generationId; 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() { public String getSeg_type() {
return seg_type; return seg_type;
@ -392,4 +398,44 @@ public class SDf54 extends SpcexObjectBase {
this.generationId = value; 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 ru.spcex.platform.classes.base.SpcexObjectBase;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate;
/** /**
* ДФ-55 Квитанция об обработке ДФ-54 * ДФ-55 Квитанция об обработке ДФ-54
@ -56,6 +57,11 @@ public class SDf55 extends SpcexObjectBase {
private String fileName; private String fileName;
private Instant generationTime; private Instant generationTime;
private Long generationId; 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() { public String getSeg_type() {
return seg_type; return seg_type;
@ -401,4 +407,44 @@ public class SDf55 extends SpcexObjectBase {
this.generationId = value; 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 ru.spcex.platform.classes.base.SpcexObjectBase;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate;
/** /**
* ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС) * ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)
@ -53,6 +54,12 @@ public class SDf57 extends SpcexObjectBase {
private String fileName; private String fileName;
private Instant generationTime; private Instant generationTime;
private Long generationId; 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() { public Long getDbfId() {
return dbfId; return dbfId;
@ -374,4 +381,52 @@ public class SDf57 extends SpcexObjectBase {
this.generationId = value; 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> <parent>
<groupId>ru.spcex.clearing</groupId> <groupId>ru.spcex.clearing</groupId>
<artifactId>clearing-parent</artifactId> <artifactId>clearing-parent</artifactId>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
</parent> </parent>
<artifactId>cleaning-builders</artifactId> <artifactId>cleaning-builders</artifactId>
<name>cleaning-builders</name> <name>cleaning-builders</name>
<description>Cleaning builders module</description> <description>Cleaning builders module</description>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
<packaging>jar</packaging> <packaging>jar</packaging>
@ -26,7 +26,7 @@
<dependency> <dependency>
<groupId>ru.spcex.clearing</groupId> <groupId>ru.spcex.clearing</groupId>
<artifactId>classes</artifactId> <artifactId>classes</artifactId>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>

View file

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

View file

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

View file

@ -1,5 +1,8 @@
package ru.spcex.clearing.config; 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.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import ru.clearing.classes.statics.data.account.Account; 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.payment.PaymentInstruction;
import ru.clearing.classes.statics.data.registry.Registry; import ru.clearing.classes.statics.data.registry.Registry;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; 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.MoneyMarketSecurity;
import ru.clearing.classes.statics.data.security.Security; import ru.clearing.classes.statics.data.security.Security;
import ru.clearing.classes.statics.data.statement.Statement; 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.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.cud.balance.StatementRequest; 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.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.service.validation.*; 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.util.security.UserRoleVerification;
import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule; import ru.spcex.clearing.validation.common.rules.DictionaryPresentRule;
import ru.spcex.clearing.validation.common.rules.FieldRequiredRule; 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.IValidator;
import ru.spcex.platform.utils.validation.ValidatorImpl; import ru.spcex.platform.utils.validation.ValidatorImpl;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Supplier;
@Configuration @Configuration
public class ValidationConfig { public class ValidationConfig {
@ -58,6 +91,7 @@ public class ValidationConfig {
Imdg<CompanySymbols> imdgCompanySymbols; Imdg<CompanySymbols> imdgCompanySymbols;
Imdg<Registry> imdgRegistry; Imdg<Registry> imdgRegistry;
Imdg<SDf20> imdgSdf20;
Imdg<Account> imdgAccount; Imdg<Account> imdgAccount;
Imdg<DepoAccount> imdgDepoAccount; Imdg<DepoAccount> imdgDepoAccount;
Imdg<AccountBalance> imdgAccountBalance; Imdg<AccountBalance> imdgAccountBalance;
@ -79,6 +113,7 @@ public class ValidationConfig {
this.imdgCompany = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class); this.imdgCompany = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
this.imdgCompanySymbols = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class); this.imdgCompanySymbols = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
this.imdgRegistry = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.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.imdgAccount = imdgProvider.getImdg(IMDGDistributedNames.Map_Account, Account.class);
this.imdgAccountBalance = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class); this.imdgAccountBalance = imdgProvider.getImdg(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class);
this.imdgSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_Security, Security.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_FixedIncomeSecurity, fixedIncomeSecurityImdg);
context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg); context.addImdg(IMDGDistributedNames.Map_EquitySecurity, equitySecurityImdg);
context.addImdg(IMDGDistributedNames.Map_Registry, imdgRegistry); context.addImdg(IMDGDistributedNames.Map_Registry, imdgRegistry);
context.addImdg(IMDGDistributedNames.Map_SDf20, imdgSdf20);
context.setLogPrefix(LogPrefixId.INSTANCE); context.setLogPrefix(LogPrefixId.INSTANCE);
return new ValidatorImpl<>(context, return new ValidatorImpl<>(context,
CompanyByTradingCodeValidationRule.instance(SDf21::getDepoCodeCl), CompanyByTradingCodeValidationRule.instance(SDf21::getDepoCodeCl),
Sdf21ValidationRule.AccountPresent, Sdf21ValidationRule.AccountPresent,
SecurityBySecurityCodeValidationRule.instance(SDf21::getSecurityCode), SecurityBySecurityCodeValidationRule.instance(SDf21::getSecurityCode),
Sdf21ValidationRule.TransactionNumberProcessed Sdf21ValidationRule.TransactionNumberProcessed,
Sdf21ValidationRule.TransactionNumberForSdf20
); );
}; };
} }

View file

@ -1,5 +1,6 @@
package ru.spcex.clearing.service; package ru.spcex.clearing.service;
import java.time.LocalTime;
import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger; 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.common.CommonIdRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.gateway.AssetOperationApprovalRequest; 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.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.schedule.LauncherCommandRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.utilities.STradesImportedRequest; import ru.spcex.clearing.platform.messaging.domain.cud.utilities.STradesImportedRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer; 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.Sdf06Executor;
import ru.spcex.clearing.service.executors.Sdf10Executor; import ru.spcex.clearing.service.executors.Sdf10Executor;
import ru.spcex.clearing.service.payment.PaymentInstructionOutboundService; 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.session.stage.impl.BalanceRevise;
import ru.spcex.clearing.statement.StatementServiceV2; import ru.spcex.clearing.statement.StatementServiceV2;
import ru.spcex.platform.enumeration.Task; import ru.spcex.platform.enumeration.Task;
import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.error.ValidationException; import ru.spcex.platform.utils.error.ValidationException;
import static ru.spcex.clearing.platform.messaging.domain.Consts.S_TRADES_IMPORTED; import static ru.spcex.clearing.platform.messaging.domain.Consts.S_TRADES_IMPORTED;
@Service @Service
@ -173,7 +186,13 @@ public class EventsReceiver extends QueueConsumer implements InitializingBean {
callback(LauncherCommandRequest.class) callback(LauncherCommandRequest.class)
.setConsumer(task -> { .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); .forDestination(Task.getAllBalance.topic(), callbacks::put);

View file

@ -1,5 +1,16 @@
package ru.spcex.clearing.service; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Qualifier; 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.AssetOperationListRequest;
import ru.spcex.clearing.platform.messaging.domain.cud.clearing.AssetOperationRequest; 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.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.RequestInfoUpdate;
import ru.spcex.clearing.platform.messaging.service.Status; import ru.spcex.clearing.platform.messaging.service.Status;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.service.builder.PaymentInstructionBuilderV2; import ru.spcex.clearing.service.builder.PaymentInstructionBuilderV2;
import ru.spcex.clearing.service.integration.GatewayRequestCreator; import ru.spcex.clearing.service.integration.GatewayRequestCreator;
import ru.spcex.clearing.service.registry.AssetTBFProcessing; 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.registry.RegistryManager;
import ru.spcex.clearing.service.schedule.TradingTimeService; import ru.spcex.clearing.service.schedule.TradingTimeService;
import ru.spcex.clearing.service.validation.ValidationStored; 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.session.stage.util.RegistryUtil;
import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.util.security.UserRoleVerification;
import ru.spcex.clearing.util.services.RequestHelper; 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.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.ImdgTransaction; 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.IEnumKey;
import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.validation.IValidator; 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; import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@Service @Service
@ -75,6 +93,7 @@ public class RegistryService {
private final TradingTimeService trdTime; private final TradingTimeService trdTime;
private final NotificationSender notification; private final NotificationSender notification;
private final KafkaSender kafkaSender; private final KafkaSender kafkaSender;
private final DmiService diService;
private final IMessageResolver msgResolver; private final IMessageResolver msgResolver;
private final RequestHelper reqHelp; private final RequestHelper reqHelp;
@ -90,7 +109,7 @@ public class RegistryService {
GatewayRequester gateway, GatewayRequester gateway,
TradingTimeService tradingTimeService, TradingTimeService tradingTimeService,
NotificationSender notification, NotificationSender notification,
KafkaSender kafkaSender, IMessageResolver msgResolver, KafkaSender kafkaSender, DmiService diService, IMessageResolver msgResolver,
RequestHelper reqHelp, RequestHelper reqHelp,
UserRoleVerification rights, UserRoleVerification rights,
AssetTBFProcessing assets) { AssetTBFProcessing assets) {
@ -110,6 +129,7 @@ public class RegistryService {
this.trdTime = tradingTimeService; this.trdTime = tradingTimeService;
this.notification = notification; this.notification = notification;
this.kafkaSender = kafkaSender; this.kafkaSender = kafkaSender;
this.diService = diService;
this.assets = assets; this.assets = assets;
this.gateway.setName("RgsService|DM*V"); this.gateway.setName("RgsService|DM*V");
this.msgResolver = msgResolver; this.msgResolver = msgResolver;
@ -341,6 +361,10 @@ public class RegistryService {
Instant now = Instant.now(); Instant now = Instant.now();
dmau.setUpdated(now); dmau.setUpdated(now);
asts.a__t().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
PaymentInstruction pmt = PaymentInstructionBuilderV2.builder(imdgProvider) PaymentInstruction pmt = PaymentInstructionBuilderV2.builder(imdgProvider)
.registry(asts.a__b()) .registry(asts.a__b())

View file

@ -1,5 +1,13 @@
package ru.spcex.clearing.service.execution; 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.apache.kafka.clients.producer.Producer;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 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.FixedIncomeCashFlow;
import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity;
import ru.clearing.classes.statics.data.misc.Listing; 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.misc.STrades;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.clearing.classes.statics.data.security.Security; 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.domain.cud.registry.ExecutionType;
import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender;
import ru.spcex.clearing.service.validation.ValidationStored; 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.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder; 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.log.ExceptionUtils;
import ru.spcex.platform.utils.text.TextUtil;
import ru.spcex.platform.utils.time.TimeUtil; import ru.spcex.platform.utils.time.TimeUtil;
import ru.spcex.platform.utils.validation.IValidator; 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; import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@Component @Component
@ -58,7 +68,8 @@ public class ExecutionFondComponent {
private final Imdg<Listing> listingImdg; private final Imdg<Listing> listingImdg;
private final Imdg<ClientCode> clientCodeImdg; private final Imdg<ClientCode> clientCodeImdg;
private final Imdg<FixedIncomeCashFlow> fixedIncomeCashFlowImdg; 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 ждать ТЗ //fixme ждать ТЗ
Long tradeNum; Long tradeNum;
@ -80,8 +91,9 @@ public class ExecutionFondComponent {
this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class); this.executionFondImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ExecutionFond, ExecutionFond.class);
this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class); this.listingImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Listing, Listing.class);
this.clientCodeImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_ClientCode, ClientCode.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.fixedIncomeCashFlowImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_FixedIncomeCashFlow, FixedIncomeCashFlow.class);
this.crossRateImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SCrossRate, SCrossRate.class);
this.valuation = settings.getTrade().getValuation(); //fixme this.valuation = settings.getTrade().getValuation(); //fixme
this.stradesValidator = stradesValidator; this.stradesValidator = stradesValidator;
this.kafkaSender = kafkaSender; this.kafkaSender = kafkaSender;
@ -196,7 +208,7 @@ public class ExecutionFondComponent {
eFond.setTradingClearingRegistryId(rgstr.getId()); eFond.setTradingClearingRegistryId(rgstr.getId());
//todo можем ли просто переложить sTrades.getClassCode() или все такие искать, одно и тоже же //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.setMarket(sTrades.getClassCode());
eFond.setPrice(sTrades.getPrice()); eFond.setPrice(sTrades.getPrice());
@ -251,8 +263,25 @@ public class ExecutionFondComponent {
nominalValue = safeBD(fixedIncome.getNominalValue()); 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() settlementAmount = eFond.getQuantity()
.multiply(nominalValue) .multiply(nominalValue.multiply(crossRate))
.multiply(price) .multiply(price)
.divide(new BigDecimal(100), RoundingMode.HALF_UP) .divide(new BigDecimal(100), RoundingMode.HALF_UP)
.setScale(2, 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); Company company = searchCompany(sdf08.getDepoCode()); // validator.getStored(ValidationStored.Sdf08Company);
Long companyId = company == null ? null : company.getId(); // account == null сегда, т.к. кейс AccountNotPresent Long companyId = company == null ? null : company.getId(); // account == null сегда, т.к. кейс AccountNotPresent
if (companyId == null) { 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()); log.warn("account {} for sdf08.id={} not found. Can not send request for creation, cause company not found too", sdf08.getDepoCode(), sdf08.getId());
} else { } else {
result.getAccountRequests().add(createAccountRequestPart(sdf08.getId(), sdf08.getDepoCode(), companyId)); 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()); log.info("account {} for sdf08.id={} not found - send request for creation", sdf08.getDepoCode(), sdf08.getId());
} }
continue; 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())) { if (error.isPresent() && !ClearingError.SecurityNotFound.equals(error.get().getSubject())) {
log.error("sdf01.id={} error: {}", sdf08.getId(), messageResolver.resolve(error.get())); log.error("sdf01.id={} error: {}", sdf08.getId(), messageResolver.resolve(error.get()));
//fixme инициировать = команда для другого сервиса? sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup)); SDf09 errSdf = createErrorSdf09(sdf08, generationIdForGroup, error.get());
// sdf02Imdg.insert(createErrorSdf02(sdf01, error.get(), generationIdForGroup)); sdf09Imdg.insert(errSdf);
continue; continue;
} }
stmt = createSdf08Statement(sdf08, account); stmt = createSdf08Statement(sdf08, account);
@ -198,6 +198,8 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
} else { } else {
stmt.setErrorCodeId(error.get().getSubject().getId()); // fixme ErrorText insert stmt.setErrorCodeId(error.get().getSubject().getId()); // fixme ErrorText insert
stmt.setOperationStatus(OperationStatus.Rejected.getKey()); stmt.setOperationStatus(OperationStatus.Rejected.getKey());
sdf09New.setResult("");
sdf09Imdg.update(sdf09New);
statementImdg.update(stmt); statementImdg.update(stmt);
} }
} catch (Exception e) { } catch (Exception e) {
@ -302,6 +304,19 @@ public class Sdf08Executor extends AbstractExecutor<SDf08> {
return sDf09; 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) { private Registry createRegistryByStatement(Statement statement, Company company, Account account) {
Registry rgs = new Registry(); Registry rgs = new Registry();
rgs.setCompanyId(statement.getAddresseeId()); rgs.setCompanyId(statement.getAddresseeId());

View file

@ -1,5 +1,12 @@
package ru.spcex.clearing.service.executors; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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.Registry;
import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
import ru.clearing.classes.statics.data.sdf.SDf20; 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.security.Security;
import ru.clearing.classes.statics.data.statement.Statement; import ru.clearing.classes.statics.data.statement.Statement;
import ru.spcex.clearing.imdg.IMDGDistributedNames; 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.registry.RegistryManager;
import ru.spcex.clearing.service.validation.ValidationStored; import ru.spcex.clearing.service.validation.ValidationStored;
import ru.spcex.clearing.session.stage.util.RegistryUtil; 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.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; 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.EnumMessage;
import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.enumeration.IMessageResolver;
import ru.spcex.platform.utils.number.BigDecimalUtil; import ru.spcex.platform.utils.number.BigDecimalUtil;
import ru.spcex.platform.utils.validation.IValidator; 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; import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@Service @Service
public class Sdf20Executor { public class Sdf20Executor {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
private final Imdg<SDf20> sDf20Imdg; private final Imdg<SDf20> sDf20Imdg;
private final Imdg<SDf21> sDf21Imdg;
private final Imdg<Registry> rgsImdg; private final Imdg<Registry> rgsImdg;
private final Imdg<Statement> stmtImdg; private final Imdg<Statement> stmtImdg;
private final Function<SDf20, IValidator> validation; private final Function<SDf20, IValidator> validation;
@ -62,6 +71,7 @@ public class Sdf20Executor {
this.sDf20Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf20, SDf20.class); this.sDf20Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf20, SDf20.class);
this.rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class); this.rgsImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
this.stmtImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class); this.stmtImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
this.sDf21Imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_SDf21, SDf21.class);
this.validation = validation; this.validation = validation;
this.msgRslv = msgRslv; this.msgRslv = msgRslv;
this.kafka = kafka; this.kafka = kafka;
@ -134,27 +144,39 @@ public class Sdf20Executor {
ds_i.setContract(sDf20.getInDocument()); ds_i.setContract(sDf20.getInDocument());
ds_i.setRegistryStatus(RegistryStatus.OK.getKey()); ds_i.setRegistryStatus(RegistryStatus.OK.getKey());
ds_i.setUpdated(now); 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); 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 recfree in
//statement delfree out //statement delfree out
Statement statement = createStatement(cmp.getId(), acc, quantity, sDf20.getId(), sDf20.getTransactionNumber(), security.getId()); Statement statement = createStatement(cmp.getId(), acc, quantity, sDf20.getId(), sDf20.getTransactionNumber(), security.getId());
stmtImdg.insert(statement); stmtImdg.insert(statement);
log.debug("sdf20.id={}, processing as_t.id={}, as_f.id={}, as_b.id={}, ds_t.id={}. statement.id={}", log.debug("sdf20.id={}, processing as_t.id={}, as_f.id={}, as_b.id={}, ds_t.id={}. statement.id={}",
sDf20.getId(), sDf20.getId(),
assets.a__t().getId(), assets.a__f().getId(), assets.a__b().getId(), assets.a__t().getId(), assets.a__f().getId(), assets.a__b().getId(),
ds_i.getId(), ds_i.getId(),
statement.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 в Торговую систему //только при зачислении на 20 и 21 идет запрос в gateway в Торговую систему
if (InOutDirection.in.equals(direction)) { if (InOutDirection.in.equals(direction)) {
Collection<AssetOperationRequest> requests = new ArrayList<>(); Collection<AssetOperationRequest> requests = new ArrayList<>();

View file

@ -1,5 +1,18 @@
package ru.spcex.clearing.service.executors; 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.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; 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.service.validation.ValidationStored;
import ru.spcex.clearing.session.stage.util.RegistryUtil; import ru.spcex.clearing.session.stage.util.RegistryUtil;
import ru.spcex.platform.classes.base.SpcexObjectBase; 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.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.imdg.api.ImdgProvider;
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate; 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.log.ExceptionUtils;
import ru.spcex.platform.utils.text.TextUtil; import ru.spcex.platform.utils.text.TextUtil;
import ru.spcex.platform.utils.validation.IValidator; 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.D__V;
import static ru.spcex.platform.enumeration.RegistryTradingParams.OM_T; import static ru.spcex.platform.enumeration.RegistryTradingParams.OM_T;
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@ -327,7 +346,7 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
om_t.getId(), om_t.getId(),
registryD.getId()); registryD.getId());
sessionIsNeededFlag.set(true); 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) Optional<Registry> dm_xFound = RegistrySearch.builder(registryImdg)
.rgsCode(RegistryTradingParams.DM_X) .rgsCode(RegistryTradingParams.DM_X)
.companyId(company.getId()) .companyId(company.getId())
@ -357,6 +376,12 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
dm_x.getId()); dm_x.getId());
sessionIsNeededFlag.set(true); 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()); stmt.setOperationStatus(OperationStatus.Executed.getKey());

View file

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

View file

@ -1,9 +1,13 @@
package ru.spcex.clearing.service.validation; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import ru.clearing.classes.statics.data.account.Account; import ru.clearing.classes.statics.data.account.Account;
import ru.clearing.classes.statics.data.registry.Registry; 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.clearing.classes.statics.data.sdf.SDf21;
import ru.spcex.clearing.error.ClearingError; import ru.spcex.clearing.error.ClearingError;
import ru.spcex.clearing.imdg.IMDGDistributedNames; 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.text.TextUtil;
import ru.spcex.platform.utils.validation.IValidationRule; 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>> { public enum Sdf21ValidationRule implements IValidationRule<ImdgValidationContext<SDf21>> {
AccountPresent() { AccountPresent() {
@ -58,9 +58,24 @@ public enum Sdf21ValidationRule implements IValidationRule<ImdgValidationContext
} else if (OperationCode.RECFREE.equalsByKey(sdf21.getOperationCode())) { } else if (OperationCode.RECFREE.equalsByKey(sdf21.getOperationCode())) {
prdct = pb.and(prdct, pb.greatEqual("balance", BigDecimal.ZERO)); prdct = pb.and(prdct, pb.greatEqual("balance", BigDecimal.ZERO));
} }
Registry ds_t = rgsImdg.getFirstObjectByPredicate(prdct); Registry ds_i = rgsImdg.getFirstObjectByPredicate(prdct);
if (ds_t != null) { if (ds_i != null) {
log.debug("sdf21.id={} found DS*T.id={}", sdf21.getId(), ds_t.getId()); 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 of(ClearingError.SuchRecordAlreadyExists);
} }
return empty(); return empty();

View file

@ -1,5 +1,12 @@
package ru.spcex.clearing.session.stage.impl; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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.ISessionStage;
import ru.spcex.clearing.session.stage.StageResult; import ru.spcex.clearing.session.stage.StageResult;
import ru.spcex.clearing.session.stage.Task; 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.Imdg;
import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgId;
import ru.spcex.platform.imdg.api.ImdgProvider; 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.RegistryCodeSqlBuilder;
import ru.spcex.platform.imdg.api.predicate.specific.StatementRevisePredicate; import ru.spcex.platform.imdg.api.predicate.specific.StatementRevisePredicate;
import ru.spcex.platform.utils.enumeration.EnumMessage; import ru.spcex.platform.utils.enumeration.EnumMessage;
import ru.spcex.platform.utils.time.TimeUtil;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.Collection;
import java.util.Objects;
import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD; import static ru.spcex.platform.utils.number.BigDecimalUtil.safeBD;
@Service @Service
@ -64,7 +75,11 @@ public class BalanceRevise implements ISessionStage {
public StageResult<?> submit(Task<?> task) { public StageResult<?> submit(Task<?> task) {
switch (task.getTaskType()) { switch (task.getTaskType()) {
case StartRevise, FormingPaymentInstruction -> { case StartRevise, FormingPaymentInstruction -> {
return sendSdfs(); LocalTime fromTime = null;
if (task.getData() instanceof LocalTime) {
fromTime = (LocalTime) task.getData();
}
return sendSdfs(fromTime);
} }
case ContinueRevise -> { case ContinueRevise -> {
return revise(); // основная сверка 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"); Collection<Long> currencies = currencyImdg.projectSingleAttribute("id");
Statement statement = statementImdg.aggregateByMax("created", StatementRevisePredicate.get(statementImdg, currencies)); Long millis = null;
newSDf56(statement); 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); return new StageResult<>(null, true);
} }
@ -108,7 +136,7 @@ public class BalanceRevise implements ISessionStage {
} }
private StageResult<?> reviseStage1() { 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); Collection<Registry> regsAT = registryImdg.getCollectionObjectsBySQL(sql);
log.trace("Select {} registry's by query \"{}\" for revision step 1", regsAT.size(), 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"); log.debug("creating sdf56");
SDf56 sDf56 = new SDf56(); SDf56 sDf56 = new SDf56();
sDf56.setNumber(idGenerator.nextId().toString()); sDf56.setNumber(idGenerator.nextId().toString());
Instant now = Instant.now(); Instant now = Instant.now();
String startTime = String.valueOf(statement != null ? String startTime = String.valueOf(millis != null ?
statement.getCreated().toEpochMilli() : now.minus(1, ChronoUnit.DAYS).toEpochMilli()); millis : now.minus(1, ChronoUnit.DAYS).toEpochMilli());
sDf56.setStart_datetime(startTime); sDf56.setStart_datetime(startTime);
sDf56.setEnd_datetime(String.valueOf(now.toEpochMilli())); sDf56.setEnd_datetime(String.valueOf(now.toEpochMilli()));
sDf56.setGenerationTime(now); 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.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service; 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.misc.Session;
import ru.clearing.classes.statics.data.registry.Registry; import ru.clearing.classes.statics.data.registry.Registry;
import ru.spcex.clearing.imdg.IMDGDistributedNames; 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.imdg.api.predicate.ImdgPredicateBuilder;
import ru.spcex.platform.utils.enumeration.IEnumKey; import ru.spcex.platform.utils.enumeration.IEnumKey;
import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -36,6 +40,8 @@ public class InclusionObligations implements ISessionStage {
private ImdgId idGenerator; private ImdgId idGenerator;
private Imdg<Registry> registryImdg; private Imdg<Registry> registryImdg;
private Imdg<Session> sessionImdg; private Imdg<Session> sessionImdg;
private final Imdg<ExecutionDeposit> executionDepositImdg;
private final Imdg<ExecutionFond> executionFondImdg;
private KafkaSender kafkaSender; private KafkaSender kafkaSender;
private final List<ImdgPredicate> registryConditions = new ArrayList<>(); private final List<ImdgPredicate> registryConditions = new ArrayList<>();
private SessionType sessionType; private SessionType sessionType;
@ -47,6 +53,8 @@ public class InclusionObligations implements ISessionStage {
this.idGenerator = imdgProvider.getImdgIdGenerator(); this.idGenerator = imdgProvider.getImdgIdGenerator();
this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class); this.registryImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Registry, Registry.class);
this.sessionImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_Session, Session.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(); this.rgsPb = registryImdg.predicateBuilder();
} }
@ -114,12 +122,42 @@ public class InclusionObligations implements ISessionStage {
registry.setSessionId(sessionId); registry.setSessionId(sessionId);
obtainSessionType(sessionId).ifPresent(st -> registry.setSessionType(st.getKey())); obtainSessionType(sessionId).ifPresent(st -> registry.setSessionType(st.getKey()));
registryImdg.update(registry); registryImdg.update(registry);
updateExecutions(sessionId, entrySet.getKey());
} }
} }
return new StageResult(null, true); 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) { private Optional<SessionType> obtainSessionType(Long sessionId) {
if (this.sessionType != null) { if (this.sessionType != null) {
return Optional.of(this.sessionType); return Optional.of(this.sessionType);

View file

@ -251,6 +251,7 @@ public class RequirementsAndObligationCreation implements ISessionStage {
return switch (executionType) { return switch (executionType) {
case ExecutionFond -> RegistryFondBuilder.builder(); case ExecutionFond -> RegistryFondBuilder.builder();
case ExecutionDeposit -> RegistryDepoBuilder.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> <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"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder> <encoder>
<charset>UTF-8</charset> <!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> <Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<charset>utf-8</charset>
</encoder> </encoder>
</appender> </appender>
<!-- first FILE TEXT appender -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <appender name="TEXT_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>./logs/clearing-service.log</file> <file>${LOG_PATH}/${FILE_NAME}-text.log</file>
<encoder> <encoder>
<charset>UTF-8</charset> <!-- |%X{ru.nbch.scoring.web.logging.mdc_key}-->
<pattern>%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> <Pattern>${FILE_LOG_PATTERN}</Pattern>
<charset>utf8</charset>
</encoder> </encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern> <fileNamePattern>${LOG_PATH}/${FILE_NAME}-text.%d{yyyy-MM-dd}.%i.gz
../logs/clearing-service.%i.log
</fileNamePattern> </fileNamePattern>
<minIndex>1</minIndex> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxIndex>10</maxIndex> <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> </rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>500MB</maxFileSize>
</triggeringPolicy>
</appender> </appender>
<root level="warn"> <root level="info">
<appender-ref ref="CONSOLE"/> <!-- <appender-ref ref="CONSOLE"/> -->
<appender-ref ref="FILE"/> <appender-ref ref="TEXT_FILE"/>
<appender-ref ref="JSON_FILE" />
</root> </root>
<logger name="ru.spcex" level="debug" additivity="false"> <logger name="ru.spcex" level="debug" additivity="false">
<appender-ref ref="FILE"/> <appender-ref ref="TEXT_FILE"/>
<appender-ref ref="CONSOLE"/> <appender-ref ref="JSON_FILE" />
</logger> <!-- <appender-ref ref="CONSOLE"/> -->
<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"/>
</logger> </logger>
</configuration> </configuration>

View file

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

View file

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

View file

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

View file

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

View file

@ -1,5 +1,5 @@
-- DB version: 3.9.0.68 -- DB version: 3.11.0.78
-- DATA version: 3.9.0.68 -- DATA version: 3.11.0.78
/* Dictionaries */ /* 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 (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 (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; 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 (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 (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; 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_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; 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 (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; 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 (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; 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 (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 (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; 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 (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 (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; 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 (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 (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; 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 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 (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; 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 (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 (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; 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 (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 (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; 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 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 (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; 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 (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 (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; 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 -- DATA version: 3.9.0.68
@ -6,7 +6,7 @@
/* Business objects */ /* 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; 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 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 (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 (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 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;
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;

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 */ /* Dictionaries */
-- allowed - Справочник признаков допустимости использования объектов -- 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; 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 - Справочник способов доставки документа -- courierType - Справочник способов доставки документа
DROP TABLE IF EXISTS COURIER_TYPE_DICTIONARY; DROP TABLE IF EXISTS COURIER_TYPE_DICTIONARY;
CREATE TABLE COURIER_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); 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; 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 - Справочник статусов обработки -- resultStatus - Справочник статусов обработки
DROP TABLE IF EXISTS RESULT_STATUS_DICTIONARY; DROP TABLE IF EXISTS RESULT_STATUS_DICTIONARY;
CREATE TABLE RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); 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; 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 - Инструменты -- security - Инструменты
DROP TABLE IF EXISTS 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); 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 - Купонное расписание -- couponPeriod - Купонное расписание
DROP TABLE IF EXISTS COUPON_PERIOD; 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 TABLE COUPON_PERIOD IS 'Купонное расписание';
COMMENT ON COLUMN COUPON_PERIOD.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; 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.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 'Идентификатор записи'; COMMENT ON COLUMN COUPON_PERIOD.ID IS 'Идентификатор записи';
@ -1573,7 +1660,7 @@ GRANT ALL PRIVILEGES ON TABLE COUPON_PERIOD TO clearing;
-- History log of couponPeriod - Купонное расписание -- History log of couponPeriod - Купонное расписание
DROP TABLE IF EXISTS COUPON_PERIOD_HISTORY; 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 TABLE COUPON_PERIOD_HISTORY IS 'История изменений таблицы couponPeriod';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_PERIOD_ID IS 'Идентификатор записи в таблице COUPON_PERIOD'; COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_PERIOD_ID IS 'Идентификатор записи в таблице COUPON_PERIOD';
COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_TIME IS 'Дата и время изменения'; 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.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 'Идентификатор записи'; COMMENT ON COLUMN COUPON_PERIOD_HISTORY.ID IS 'Идентификатор записи';
@ -1596,7 +1683,7 @@ GRANT ALL PRIVILEGES ON TABLE COUPON_PERIOD_HISTORY TO clearing;
-- listing - Инструменты на режимах -- listing - Инструменты на режимах
DROP TABLE IF EXISTS 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 TABLE LISTING IS 'Инструменты на режимах';
COMMENT ON COLUMN LISTING.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; 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.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.ID IS 'Идентификатор записи';
COMMENT ON COLUMN LISTING.CREATED_AT IS 'Дата-время создания записи'; COMMENT ON COLUMN LISTING.CREATED_AT IS 'Дата-время создания записи';
@ -1624,7 +1715,7 @@ GRANT ALL PRIVILEGES ON TABLE LISTING TO clearing;
-- History log of listing - Инструменты на режимах -- History log of listing - Инструменты на режимах
DROP TABLE IF EXISTS LISTING_HISTORY; 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 TABLE LISTING_HISTORY IS 'История изменений таблицы listing';
COMMENT ON COLUMN LISTING_HISTORY.LISTING_ID IS 'Идентификатор записи в таблице LISTING'; COMMENT ON COLUMN LISTING_HISTORY.LISTING_ID IS 'Идентификатор записи в таблице LISTING';
COMMENT ON COLUMN LISTING_HISTORY.EVENT_TIME IS 'Дата и время изменения'; 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.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.ID IS 'Идентификатор записи';
COMMENT ON COLUMN LISTING_HISTORY.CREATED_AT 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; 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 - Рынки -- market - Рынки
DROP TABLE IF EXISTS 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); 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 - Коды клиентов компании -- clientCode - Коды клиентов компании
DROP TABLE IF EXISTS CLIENT_CODE; 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 TABLE CLIENT_CODE IS 'Коды клиентов компании';
COMMENT ON COLUMN CLIENT_CODE.ID 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.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.STATUS IS 'Код статуса (linked to workflowStatus)';
COMMENT ON COLUMN CLIENT_CODE.CREATED_AT IS 'Дата-время создания записи'; 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 - Коды клиентов компании -- History log of clientCode - Коды клиентов компании
DROP TABLE IF EXISTS CLIENT_CODE_HISTORY; 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 TABLE CLIENT_CODE_HISTORY IS 'История изменений таблицы clientCode';
COMMENT ON COLUMN CLIENT_CODE_HISTORY.CLIENT_CODE_ID IS 'Идентификатор записи в таблице CLIENT_CODE'; COMMENT ON COLUMN CLIENT_CODE_HISTORY.CLIENT_CODE_ID IS 'Идентификатор записи в таблице CLIENT_CODE';
COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_TIME IS 'Дата и время изменения'; 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.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.STATUS IS 'Код статуса (linked to workflowStatus)';
COMMENT ON COLUMN CLIENT_CODE_HISTORY.CREATED_AT IS 'Дата-время создания записи'; 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; 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 - Регистр активов, обязательств и требований УК -- registry - Регистр активов, обязательств и требований УК
DROP TABLE IF EXISTS 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); 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 - Счета -- account - Счета
DROP TABLE IF EXISTS 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 TABLE ACCOUNT IS 'Счета';
COMMENT ON COLUMN ACCOUNT.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.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.STATUS IS 'Код статуса (linked to serviceStatus)';
COMMENT ON COLUMN ACCOUNT.PROCESSING_SIGN IS 'Код признака обработки счета (linked to allowed)'; 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 - Счета -- History log of account - Счета
DROP TABLE IF EXISTS ACCOUNT_HISTORY; 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 TABLE ACCOUNT_HISTORY IS 'История изменений таблицы account';
COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор записи в таблице ACCOUNT'; COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор записи в таблице ACCOUNT';
COMMENT ON COLUMN ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; 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.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.STATUS IS 'Код статуса (linked to serviceStatus)';
COMMENT ON COLUMN ACCOUNT_HISTORY.PROCESSING_SIGN IS 'Код признака обработки счета (linked to allowed)'; 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_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; 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_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; 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.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 'Ставка по депозиту'; 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.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 'Ставка по депозиту'; 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.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 'Дата заключения сделки'; 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.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 'Дата заключения сделки'; 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; 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 - Реестр остатков ценных бумаг -- depoBalanceRegister - Реестр остатков ценных бумаг
DROP TABLE IF EXISTS DEPO_BALANCE_REGISTER; 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 TABLE DEPO_BALANCE_REGISTER IS 'Реестр остатков ценных бумаг';
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.ID 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.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.DEPO_CODE IS 'Код раздела субсчета/счета депо';
COMMENT ON COLUMN DEPO_BALANCE_REGISTER.QUANTITY IS 'Количество'; COMMENT ON COLUMN DEPO_BALANCE_REGISTER.QUANTITY IS 'Количество';
@ -3005,32 +3353,36 @@ GRANT ALL PRIVILEGES ON TABLE DEPO_BALANCE_REGISTER TO clearing;
-- moneyBalanceRegister - Реестр остатков денежных средств -- moneyBalanceRegister - Реестр остатков денежных средств
DROP TABLE IF EXISTS MONEY_BALANCE_REGISTER; 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 TABLE MONEY_BALANCE_REGISTER IS 'Реестр остатков денежных средств';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.SET_HOUSE_NAME 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.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.INN IS 'Идентификационный номер налогоплательщика (ИНН)';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)'; 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.UNBLOCKED_SUM IS 'Сумма свободных денежных средств';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.ID IS 'Идентификатор записи';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.CREATED_AT IS 'Дата-время создания записи';
COMMENT ON COLUMN MONEY_BALANCE_REGISTER.UPDATED_AT 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; 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 - Реестр учета обязательств -- liabilitiesRegister - Реестр учета обязательств
DROP TABLE IF EXISTS LIABILITIES_REGISTER; 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); 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.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)'; 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.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)'; 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 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке -- sDf02 - ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке
DROP TABLE IF EXISTS S_DF02; 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 TABLE S_DF02 IS 'ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке';
COMMENT ON COLUMN S_DF02.ID IS 'Идентификатор записи'; 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.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_DF02.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF02.IN_S_DF_ID IS 'Идентификатор соответствующей записи из таблицы-источника'; COMMENT ON COLUMN S_DF02.IN_S_DF_ID IS 'Идентификатор соответствующей записи из таблицы-источника';
GRANT ALL PRIVILEGES ON TABLE S_DF02 TO clearing; GRANT ALL PRIVILEGES ON TABLE S_DF02 TO clearing;
-- sDf03 - ДФ-03 Реестр платежных поручений -- sDf03 - ДФ-03 Реестр платежных поручений
DROP TABLE IF EXISTS S_DF03; 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 TABLE S_DF03 IS 'ДФ-03 Реестр платежных поручений';
COMMENT ON COLUMN S_DF03.ID IS 'Идентификатор записи'; 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.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_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_DF03.GENERATION_ID IS 'Идентификатор взаимодействия'; COMMENT ON COLUMN S_DF03.GENERATION_ID IS 'Идентификатор взаимодействия';
@ -3704,7 +4104,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF05 TO clearing;
-- sDf06 - ДФ-06 Запрос на зачисление/списание денежных средств -- sDf06 - ДФ-06 Запрос на зачисление/списание денежных средств
DROP TABLE IF EXISTS S_DF06; 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 TABLE S_DF06 IS 'ДФ-06 Запрос на зачисление/списание денежных средств';
COMMENT ON COLUMN S_DF06.ID IS 'Идентификатор записи'; 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.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; GRANT ALL PRIVILEGES ON TABLE S_DF06 TO clearing;
-- sDf07 - ДФ-07 Ответ на запрос по зачислению/списанию денежных средств -- sDf07 - ДФ-07 Ответ на запрос по зачислению/списанию денежных средств
DROP TABLE IF EXISTS S_DF07; 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 TABLE S_DF07 IS 'ДФ-07 Ответ на запрос по зачислению/списанию денежных средств';
COMMENT ON COLUMN S_DF07.ID IS 'Идентификатор записи'; 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.RESULT IS 'Код завершения операции';
COMMENT ON COLUMN S_DF07.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF07.GENERATION_TIME IS 'Дата и время создания записи'; COMMENT ON COLUMN S_DF07.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_DF07.GENERATION_ID IS 'Идентификатор взаимодействия'; COMMENT ON COLUMN S_DF07.GENERATION_ID IS 'Идентификатор взаимодействия';
COMMENT ON COLUMN S_DF07.IN_S_DF_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; GRANT ALL PRIVILEGES ON TABLE S_DF07 TO clearing;
-- sDf08 - ДФ-08 Загрузка счетов с остатками -- sDf08 - ДФ-08 Загрузка счетов с остатками
@ -3880,7 +4294,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF11 TO clearing;
-- sDf12 - ДФ-12 Распоряжение на проведение операций по итогам клиринга -- sDf12 - ДФ-12 Распоряжение на проведение операций по итогам клиринга
DROP TABLE IF EXISTS S_DF12; 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 TABLE S_DF12 IS 'ДФ-12 Распоряжение на проведение операций по итогам клиринга';
COMMENT ON COLUMN S_DF12.ID IS 'Идентификатор записи'; 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.RESULT IS 'Результат операции';
COMMENT ON COLUMN S_DF12.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF12.GENERATION_TIME IS 'Дата и время создания записи'; COMMENT ON COLUMN S_DF12.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_DF12.GENERATION_ID IS 'Идентификатор взаимодействия'; COMMENT ON COLUMN S_DF12.GENERATION_ID IS 'Идентификатор взаимодействия';
@ -4081,7 +4497,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF52 TO clearing;
-- sDf53 - ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие) -- sDf53 - ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)
DROP TABLE IF EXISTS S_DF53; 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 TABLE S_DF53 IS 'ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)';
COMMENT ON COLUMN S_DF53.ID IS 'Идентификатор записи'; 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.RESULT IS 'Код завершения операции';
COMMENT ON COLUMN S_DF53.FILE_NAME IS 'Наименование входящего файла';
COMMENT ON COLUMN S_DF53.GENERATION_TIME IS 'Дата и время создания записи'; COMMENT ON COLUMN S_DF53.GENERATION_TIME IS 'Дата и время создания записи';
COMMENT ON COLUMN S_DF53.GENERATION_ID 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 -- sDf54 - ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414
DROP TABLE IF EXISTS S_DF54; 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 TABLE S_DF54 IS 'ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414';
COMMENT ON COLUMN S_DF54.ID IS 'Идентификатор записи'; 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.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; GRANT ALL PRIVILEGES ON TABLE S_DF54 TO clearing;
-- sDf55 - ДФ-55 Квитанция об обработке ДФ-54 -- sDf55 - ДФ-55 Квитанция об обработке ДФ-54
DROP TABLE IF EXISTS S_DF55; 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 TABLE S_DF55 IS 'ДФ-55 Квитанция об обработке ДФ-54';
COMMENT ON COLUMN S_DF55.ID IS 'Идентификатор записи'; 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.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; GRANT ALL PRIVILEGES ON TABLE S_DF55 TO clearing;
-- sDf56 - ДФ-56 Запрос транзакций за период -- sDf56 - ДФ-56 Запрос транзакций за период
@ -4319,7 +4757,7 @@ GRANT ALL PRIVILEGES ON TABLE S_DF56 TO clearing;
-- sDf57 - ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС) -- sDf57 - ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)
DROP TABLE IF EXISTS S_DF57; 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 TABLE S_DF57 IS 'ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС)';
COMMENT ON COLUMN S_DF57.GENERATION_TIME IS 'Дата и время создания записи'; 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.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; GRANT ALL PRIVILEGES ON TABLE S_DF57 TO clearing;
-- managementJournal - Журнал мониторинга и контроля -- managementJournal - Журнал мониторинга и контроля
@ -4615,8 +5065,37 @@ COMMENT ON COLUMN MARKET_DATA_LIQUIDATION.CLEARING_DATE IS 'Дата';
GRANT ALL PRIVILEGES ON TABLE MARKET_DATA_LIQUIDATION TO clearing; 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 */ /* views */
-- Data types -- 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> <artifactId>dbf-exporter</artifactId>
<name>dbf-exporter</name> <name>dbf-exporter</name>
<description>DBF exporter for DBF files</description> <description>DBF exporter for DBF files</description>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
<parent> <parent>
<artifactId>clearing-parent</artifactId> <artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId> <groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
</parent> </parent>
<dependencies> <dependencies>
@ -57,6 +57,14 @@
<groupId>ru.spcex.clearing</groupId> <groupId>ru.spcex.clearing</groupId>
<artifactId>classes</artifactId> <artifactId>classes</artifactId>
</dependency> </dependency>
<!-- special logging -->
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>7.0.1</version>
</dependency>
<!-- TEST --> <!-- TEST -->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>

View file

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

View file

@ -8,12 +8,12 @@
<artifactId>dbf-importer</artifactId> <artifactId>dbf-importer</artifactId>
<name>dbf-importer</name> <name>dbf-importer</name>
<description>DBF loader for DBF files</description> <description>DBF loader for DBF files</description>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
<parent> <parent>
<artifactId>clearing-parent</artifactId> <artifactId>clearing-parent</artifactId>
<groupId>ru.spcex.clearing</groupId> <groupId>ru.spcex.clearing</groupId>
<version>SPCEX-1.0.0.0</version> <version>SPCEX-3.5.10.1</version>
</parent> </parent>
<dependencies> <dependencies>
@ -75,6 +75,17 @@
<artifactId>platform-enum</artifactId> <artifactId>platform-enum</artifactId>
</dependency> </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 --> <!-- TEST -->
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>org.springframework</groupId>--> <!-- <groupId>org.springframework</groupId>-->

View file

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

View file

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