diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetAll.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetAll.java index f05c0ccfd..03bf7a7e4 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetAll.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/account/AccountBackendGetAll.java @@ -17,18 +17,6 @@ public class AccountBackendGetAll extends BasicSpcexResponse { @ApiModelProperty(value = "Полезная нагрузка") private AccountBackendPayload payload = new AccountBackendPayload(); - private static class AccountBackendPayload { - private List items = new ArrayList<>(); - - public List getItems() { - return items; - } - - public void setItems(List items) { - this.items = items; - } - } - public AccountBackendPayload getPayload() { return payload; } @@ -45,7 +33,7 @@ public class AccountBackendGetAll extends BasicSpcexResponse { singleItem.setAccount(account.getAccount()); singleItem.setAccountType(account.getAccountType()); singleItem.setRelationId(account.getRelationId()); - singleItem.setStatus(account.getStatus()); + singleItem.setStatus(account.getAccountStatus()); singleItem.setProcessingSign(account.getProcessingSign()); singleItem.setCreated(account.getCreated()); singleItem.setUpdated(account.getUpdated()); @@ -53,4 +41,16 @@ public class AccountBackendGetAll extends BasicSpcexResponse { } } + private static class AccountBackendPayload { + private List items = new ArrayList<>(); + + public List getItems() { + return items; + } + + public void setItems(List items) { + this.items = items; + } + } + } \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java index 3f9703b33..766b9e6ba 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java @@ -14,7 +14,7 @@ public class Account extends BusinessObject { private String account; private String accountType; private Long relationId; - private String status; + private String accountStatus; private String processingSign; public String getAccount() { @@ -41,12 +41,12 @@ public class Account extends BusinessObject { this.relationId = value; } - public String getStatus() { - return status; + public String getAccountStatus() { + return accountStatus; } - public void setStatus(String value) { - this.status = value; + public void setAccountStatus(String value) { + this.accountStatus = value; } public String getProcessingSign() { diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java index ad7611ace..c34a3fb4e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java @@ -15,7 +15,7 @@ public class AccountBalance extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private Long companyId; private Long accountId; - private Long accountType; + private String accountType; private String account; private BigDecimal openBalanceAmount; private BigDecimal startBalanceAmount; @@ -49,11 +49,11 @@ public class AccountBalance extends BusinessObject { this.accountId = accountId; } - public Long getAccountType() { + public String getAccountType() { return accountType; } - public void setAccountType(Long accountType) { + public void setAccountType(String accountType) { this.accountType = accountType; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/Relation.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/Relation.java index 546faec69..89e288884 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/Relation.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/relation/Relation.java @@ -2,7 +2,6 @@ package ru.clearing.classes.statics.data.company.relation; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; /** * Договорные отношения @@ -15,8 +14,8 @@ public class Relation extends BusinessObject { private Long consumerId; private Long supplierId; private String serviceStatus; - private Long service; - private Long serviceProduct; + private String service; + private String serviceProduct; private String comment; public Long getConsumerId() { @@ -43,19 +42,19 @@ public class Relation extends BusinessObject { this.serviceStatus = value; } - public Long getService() { + public String getService() { return service; } - public void setService(Long value) { + public void setService(String value) { this.service = value; } - public Long getServiceProduct() { + public String getServiceProduct() { return serviceProduct; } - public void setServiceProduct(Long value) { + public void setServiceProduct(String value) { this.serviceProduct = value; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/messages/ErrorText.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/messages/ErrorText.java index 85a6a1b3b..8ab0f63cc 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/messages/ErrorText.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/messages/ErrorText.java @@ -3,7 +3,7 @@ package ru.clearing.classes.statics.data.messages; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import java.time.Instant; +import java.time.LocalDate; /** * Полные тексты ошибок @@ -16,7 +16,7 @@ public class ErrorText extends BusinessObject { private String errorCode; private String text; private Long userId; - private Instant clearingDate; + private LocalDate clearingDate; public String getErrorCode() { return errorCode; @@ -42,11 +42,11 @@ public class ErrorText extends BusinessObject { this.userId = value; } - public Instant getClearingDate() { + public LocalDate getClearingDate() { return clearingDate; } - public void setClearingDate(Instant value) { + public void setClearingDate(LocalDate value) { this.clearingDate = value; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Scheduler.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Scheduler.java index a3d6c1d16..c2f2d6868 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Scheduler.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Scheduler.java @@ -2,9 +2,9 @@ package ru.clearing.classes.statics.data.scheduler; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; -import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalTime; /** * Расписание планировщика @@ -15,8 +15,8 @@ public class Scheduler extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private String task; - private Instant taskTime; - private Instant clearingDate; + private LocalTime taskTime; + private LocalDate clearingDate; private String market; private String taskStatus; private Long securityId; @@ -30,19 +30,19 @@ public class Scheduler extends BusinessObject { this.task = value; } - public Instant getTaskTime() { + public LocalTime getTaskTime() { return taskTime; } - public void setTaskTime(Instant value) { + public void setTaskTime(LocalTime value) { this.taskTime = value; } - public Instant getClearingDate() { + public LocalDate getClearingDate() { return clearingDate; } - public void setClearingDate(Instant value) { + public void setClearingDate(LocalDate value) { this.clearingDate = value; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Timetable.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Timetable.java index 6ea30abba..d6dc9de82 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Timetable.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/Timetable.java @@ -3,7 +3,7 @@ package ru.clearing.classes.statics.data.scheduler; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import java.time.Instant; +import java.time.LocalTime; /** * Постоянное расписание операционного дня @@ -14,7 +14,7 @@ public class Timetable extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private String task; - private Instant taskTime; + private LocalTime taskTime; private String taskStatus; public String getTask() { @@ -25,11 +25,11 @@ public class Timetable extends BusinessObject { this.task = value; } - public Instant getTaskTime() { + public LocalTime getTaskTime() { return taskTime; } - public void setTaskTime(Instant value) { + public void setTaskTime(LocalTime value) { this.taskTime = value; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/TradingCalendar.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/TradingCalendar.java index 5c9dfd401..d45f477d6 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/TradingCalendar.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/scheduler/TradingCalendar.java @@ -3,7 +3,7 @@ package ru.clearing.classes.statics.data.scheduler; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import java.time.Instant; +import java.time.LocalDate; /** * Торговые и неторговые дни @@ -13,15 +13,15 @@ import java.time.Instant; public class TradingCalendar extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; - private Instant clearingDate; + private LocalDate clearingDate; private Long companyId; private String tradingStatus; - public Instant getClearingDate() { + public LocalDate getClearingDate() { return clearingDate; } - public void setClearingDate(Instant value) { + public void setClearingDate(LocalDate value) { this.clearingDate = value; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/statement/Statement.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/statement/Statement.java index 92a9019cf..f6872ed68 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/statement/Statement.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/statement/Statement.java @@ -4,7 +4,7 @@ import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; import java.math.BigDecimal; -import java.time.Instant; +import java.time.LocalDate; /** * Денежные средства от расчетной организации @@ -16,16 +16,16 @@ public class Statement extends BusinessObject { private Long addresseeId; private Long senderId; - private Instant clearingDate; - private Long statementTypeId; + private LocalDate clearingDate; + private String statementType; private String comment; private Long accountId; - private Long account; - private Long inOutDirection; - private Instant settlementDate; + private String account; + private String inOutDirection; + private LocalDate settlementDate; private BigDecimal amount; private String cashMovementCurrencyCode; - private String status; + private String operationStatus; private String errorCode; private String errorText; private Long inSDfId; @@ -48,20 +48,20 @@ public class Statement extends BusinessObject { this.senderId = value; } - public Instant getClearingDate() { + public LocalDate getClearingDate() { return clearingDate; } - public void setClearingDate(Instant value) { + public void setClearingDate(LocalDate value) { this.clearingDate = value; } - public Long getStatementTypeId() { - return statementTypeId; + public String getStatementType() { + return statementType; } - public void setStatementTypeId(Long value) { - this.statementTypeId = value; + public void setStatementType(String value) { + this.statementType = value; } public String getComment() { @@ -80,27 +80,27 @@ public class Statement extends BusinessObject { this.accountId = value; } - public Long getAccount() { + public String getAccount() { return account; } - public void setAccount(Long value) { + public void setAccount(String value) { this.account = value; } - public Long getInOutDirection() { + public String getInOutDirection() { return inOutDirection; } - public void setInOutDirection(Long value) { + public void setInOutDirection(String value) { this.inOutDirection = value; } - public Instant getSettlementDate() { + public LocalDate getSettlementDate() { return settlementDate; } - public void setSettlementDate(Instant value) { + public void setSettlementDate(LocalDate value) { this.settlementDate = value; } @@ -120,12 +120,12 @@ public class Statement extends BusinessObject { this.cashMovementCurrencyCode = value; } - public String getStatus() { - return status; + public String getOperationStatus() { + return operationStatus; } - public void setStatus(String value) { - this.status = value; + public void setOperationStatus(String value) { + this.operationStatus = value; } public String getErrorCode() { diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnect.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnect.java index 15b140f1b..3734d2e49 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnect.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/user/UserConnect.java @@ -2,9 +2,9 @@ package ru.clearing.classes.statics.data.user; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; -import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; +import java.time.LocalDate; /** * Активность пользователей в системе @@ -20,8 +20,8 @@ public class UserConnect extends BusinessObject { private String serverIP; private String clientIP; private String connectionState; - private Instant clearingDate; - private String errorCode; + private LocalDate clearingDate; + private Long errorCode; private String errorText; public Long getUserId() { @@ -72,19 +72,19 @@ public class UserConnect extends BusinessObject { this.connectionState = value; } - public Instant getClearingDate() { + public LocalDate getClearingDate() { return clearingDate; } - public void setClearingDate(Instant value) { + public void setClearingDate(LocalDate value) { this.clearingDate = value; } - public String getErrorCode() { + public Long getErrorCode() { return errorCode; } - public void setErrorCode(String value) { + public void setErrorCode(Long value) { this.errorCode = value; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/IMDGApplication.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/IMDGApplication.java index cb7c276d5..c25ab8a29 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/IMDGApplication.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/IMDGApplication.java @@ -1,69 +1,15 @@ package ru.spcex.clearing.imdg; -import com.hazelcast.config.MapStoreConfig; -import com.hazelcast.core.HazelcastInstance; -import org.slf4j.LoggerFactory; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.context.ConfigurableApplicationContext; -import ru.spcex.clearing.imdg.base.BusinessObjectMapStore; -import ru.spcex.clearing.imdg.base.DictionaryMapStore; -import ru.spcex.clearing.imdg.base.TemplateEventMapStore; -import ru.spcex.clearing.imdg.base.TemplateMapStore; - -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.util.ArrayList; -import java.util.List; @SpringBootApplication public class IMDGApplication { public static void main(String[] args) { - try { - SpringApplicationBuilder builder = new SpringApplicationBuilder(IMDGApplication.class); - ConfigurableApplicationContext configurableApplicationContext = builder.run(args); - - //Поиск таблиц которым нужно добавить mapStore и вывод результата в консоль - List nameTables = new ArrayList<>(); - Connection jdbcConnection = DriverManager.getConnection("jdbc:postgresql://10.200.200.133:5432/postgres", "clearing", "Aa111111"); - DatabaseMetaData md = jdbcConnection.getMetaData(); - ResultSet rs = md.getTables(null, "clearing", "%", new String[]{"TABLE"}); - while (rs.next()) { - nameTables.add(rs.getString(3)); - } - - HazelcastInstance hazelcastInstance = configurableApplicationContext.getBean(HazelcastInstance.class); - hazelcastInstance.getMap(""); - for (String mapName : hazelcastInstance.getConfig().getMapConfigs().keySet()) { - MapStoreConfig mapStoreConfig = hazelcastInstance.getConfig().getMapConfig(mapName).getMapStoreConfig(); - Object mapStore = mapStoreConfig.getImplementation(); - String tableName; - if (mapStore instanceof TemplateMapStore) { - tableName = ((TemplateMapStore) mapStore).getTableName(); - } else if (mapStore instanceof DictionaryMapStore) { - tableName = ((DictionaryMapStore) mapStore).getTableName(); - } else if (mapStore instanceof TemplateEventMapStore) { - tableName = ((TemplateEventMapStore) mapStore).getTableName(); - } else if (mapStore instanceof BusinessObjectMapStore) { - tableName = ((BusinessObjectMapStore) mapStore).getTableName(); - } else if (mapName.equals("default")) { - continue; - } else { - System.out.println(mapStore == null ? "Не получилось сопоставить mapStore: is null" : "Не получилось сопоставить: " + mapStore.getClass() + " с таблицей"); - continue; - } - nameTables.remove(tableName.toLowerCase()); - } - System.out.println("** Результата поиска таблиц которым нужно добавить mapStore **"); - nameTables.forEach(System.out::println); - System.out.println("**************************************************************"); - } catch (Throwable e) { - LoggerFactory.getLogger(IMDGApplication.class).error("STORAGE start failed: {} -> {}", e.getClass().getSimpleName(), e.getMessage()); - System.exit(-1); - } + SpringApplicationBuilder builder = new SpringApplicationBuilder(IMDGApplication.class); + ConfigurableApplicationContext configurableApplicationContext = builder.run(args); } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountHistoryMapStore.java index a40eb1851..041725f2e 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountHistoryMapStore.java @@ -27,14 +27,14 @@ public class AccountHistoryMapStore extends TemplateEventMapStore { object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class)); - object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", Long.class)); + object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", String.class)); object.setAccount(resultSet.getObject("ACCOUNT", String.class)); object.setOpenBalanceAmount(resultSet.getObject("OPEN_BALANCE_AMOUNT", BigDecimal.class)); object.setStartBalanceAmount(resultSet.getObject("START_BALANCE_AMOUNT", BigDecimal.class)); object.setCloseBalanceAmount(resultSet.getObject("CLOSE_BALANCE_AMOUNT", BigDecimal.class)); object.setTradeBalanceAmount(resultSet.getObject("TRADE_BALANCE_AMOUNT", BigDecimal.class)); - object.setFreeBalanceAmount(resultSet.getObject("FREE_BALANCE_AMOU", BigDecimal.class)); + object.setFreeBalanceAmount(resultSet.getObject("FREE_BALANCE_AMOUNT", BigDecimal.class)); object.setChangeBalanceAmount(resultSet.getObject("CHANGE_BALANCE_AMOUNT", BigDecimal.class)); object.setCreditAmount(resultSet.getObject("CREDIT_AMOUNT", BigDecimal.class)); object.setDebitAmount(resultSet.getObject("DEBIT_AMOUNT", BigDecimal.class)); diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountMapStore.java index 2d69f9852..fa5c7cd31 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountMapStore.java @@ -30,7 +30,7 @@ public class AccountMapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT", "ACCOUNT_TYPE", "RELATION_ID", "STATUS", "PROCESSING_SIGN" + "ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT", "ACCOUNT_TYPE", "RELATION_ID", "ACCOUNT_STATUS", "PROCESSING_SIGN" }; } @@ -43,7 +43,7 @@ public class AccountMapStore extends TemplateMapStore { object.setAccount(resultSet.getObject("ACCOUNT", String.class)); object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", String.class)); object.setRelationId(resultSet.getObject("RELATION_ID", Long.class)); - object.setStatus(resultSet.getObject("STATUS", String.class)); + object.setAccountStatus(resultSet.getObject("ACCOUNT_STATUS", String.class)); object.setProcessingSign(resultSet.getObject("PROCESSING_SIGN", String.class)); return object; } @@ -57,7 +57,7 @@ public class AccountMapStore extends TemplateMapStore { object.getAccount(), object.getAccountType(), object.getRelationId(), - object.getStatus(), + object.getAccountStatus(), object.getProcessingSign() }; return args; diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ErrorTextMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ErrorTextMapStore.java index 875f7df7a..7eba1a3c5 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ErrorTextMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ErrorTextMapStore.java @@ -30,7 +30,7 @@ public class ErrorTextMapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "CREATED_AT", "UPDATED_AT", "ERROR_CODE", "TEXT", "USER_ID", "CLEARING_DATE" + "ID", "CREATED_AT", "UPDATED_AT", "ERROR_CODE", "TEXT", "USER_ID", "CLEARING_DATE" }; } @@ -43,7 +43,7 @@ public class ErrorTextMapStore extends TemplateMapStore { object.setErrorCode(resultSet.getObject("ERROR_CODE", String.class)); object.setText(resultSet.getObject("TEXT", String.class)); object.setUserId(resultSet.getObject("USER_ID", Long.class)); - object.setClearingDate(getInstantFromTimestamp(resultSet, "CLEARING_DATE")); + object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE")); return object; } @@ -56,7 +56,7 @@ public class ErrorTextMapStore extends TemplateMapStore { object.getErrorCode(), object.getText(), object.getUserId(), - TimeUtil.toDateFromInstant(object.getClearingDate()) + TimeUtil.toDateFromLocalDate(object.getClearingDate()) }; return args; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RelationMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RelationMapStore.java index 2a58c9f55..96e930862 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RelationMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RelationMapStore.java @@ -30,7 +30,7 @@ public class RelationMapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "CREATED_AT", "UPDATED_AT", "CONSUMER_ID", "SUPPLIER_ID", "SERVICE_STATUS", "SERVICE", "SERVICE_PRODUCT", "COMMENT" + "ID", "CREATED_AT", "UPDATED_AT", "CONSUMER_ID", "SUPPLIER_ID", "SERVICE_STATUS", "SERVICE", "SERVICE_PRODUCT", "COMMENT" }; } @@ -38,14 +38,14 @@ public class RelationMapStore extends TemplateMapStore { public Relation objectReader(ResultSet resultSet) throws SQLException { Relation object = new Relation(); object.setId(resultSet.getObject("ID", Long.class)); - object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); - object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); - object.setConsumerId(resultSet.getObject("CONSUMER_ID", Long.class)); - object.setSupplierId(resultSet.getObject("SUPPLIER_ID", Long.class)); - object.setServiceStatus(resultSet.getObject("SERVICE_STATUS", String.class)); - object.setService(resultSet.getObject("SERVICE", Long.class)); - object.setServiceProduct(resultSet.getObject("SERVICE_PRODUCT", Long.class)); - object.setComment(resultSet.getObject("COMMENT", String.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + object.setConsumerId(resultSet.getObject("CONSUMER_ID", Long.class)); + object.setSupplierId(resultSet.getObject("SUPPLIER_ID", Long.class)); + object.setServiceStatus(resultSet.getObject("SERVICE_STATUS", String.class)); + object.setService(resultSet.getObject("SERVICE", String.class)); + object.setServiceProduct(resultSet.getObject("SERVICE_PRODUCT", String.class)); + object.setComment(resultSet.getObject("COMMENT", String.class)); return object; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SchedulerMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SchedulerMapStore.java index d8d2971b6..a5ed34203 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SchedulerMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SchedulerMapStore.java @@ -41,8 +41,8 @@ public class SchedulerMapStore extends TemplateMapStore { object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); object.setTask(resultSet.getObject("TASK", String.class)); - object.setTaskTime(getInstantFromTimestamp(resultSet, "TASK_TIME")); - object.setClearingDate(getInstantFromTimestamp(resultSet, "CLEARING_DATE")); + object.setTaskTime(getLocalTimeFromSqlTime(resultSet, "TASK_TIME")); + object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE")); object.setMarket(resultSet.getObject("MARKET", String.class)); object.setTaskStatus(resultSet.getObject("TASK_STATUS", String.class)); object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class)); @@ -56,8 +56,8 @@ public class SchedulerMapStore extends TemplateMapStore { TimeUtil.toDateFromInstant(object.getCreated()), TimeUtil.toDateFromInstant(object.getUpdated()), object.getTask(), - TimeUtil.toDateFromInstant(object.getTaskTime()), - TimeUtil.toDateFromInstant(object.getClearingDate()), + TimeUtil.toDateFromLocalTime(object.getTaskTime()), + TimeUtil.toDateFromLocalDate(object.getClearingDate()), object.getMarket(), object.getTaskStatus(), object.getSecurityId() diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/StatementMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/StatementMapStore.java index 4213448be..2ac34dbaa 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/StatementMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/StatementMapStore.java @@ -31,7 +31,7 @@ public class StatementMapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "ADDRESSEE_ID", "SENDER_ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "STATEMENT_TYPE_ID", "COMMENT", "ACCOUNT_ID", "ACCOUNT", "IN_OUT_DIRECTION", "SETTLEMENT_DATE", "AMOUNT", "CASH_MOVEMENT_CURRENCY_CODE", "STATUS", "ERROR_CODE", "ERROR_TEXT", "IN_S_DF_ID", "OUT_S_DF_ID", "IN_OUT_S_DF_TYPE" + "ID", "ADDRESSEE_ID", "SENDER_ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "STATEMENT_TYPE", "COMMENT", "ACCOUNT_ID", "ACCOUNT", "IN_OUT_DIRECTION", "SETTLEMENT_DATE", "AMOUNT", "CASH_MOVEMENT_CURRENCY_CODE", "OPERATION_STATUS", "ERROR_CODE", "ERROR_TEXT", "IN_S_DF_ID", "OUT_S_DF_ID", "IN_OUT_S_DF_TYPE" }; } @@ -43,16 +43,16 @@ public class StatementMapStore extends TemplateMapStore { object.setSenderId(resultSet.getObject("SENDER_ID", Long.class)); object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); - object.setClearingDate(getInstantFromTimestamp(resultSet, "CLEARING_DATE")); - object.setStatementTypeId(resultSet.getObject("STATEMENT_TYPE_ID", Long.class)); + object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE")); + object.setStatementType(resultSet.getObject("STATEMENT_TYPE", String.class)); object.setComment(resultSet.getObject("COMMENT", String.class)); object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class)); - object.setAccount(resultSet.getObject("ACCOUNT", Long.class)); - object.setInOutDirection(resultSet.getObject("IN_OUT_DIRECTION", Long.class)); - object.setSettlementDate(getInstantFromTimestamp(resultSet, "SETTLEMENT_DATE")); + object.setAccount(resultSet.getObject("ACCOUNT", String.class)); + object.setInOutDirection(resultSet.getObject("IN_OUT_DIRECTION", String.class)); + object.setSettlementDate(getLocalDateFromSqlDate(resultSet, "SETTLEMENT_DATE")); object.setAmount(resultSet.getObject("AMOUNT", BigDecimal.class)); object.setCashMovementCurrencyCode(resultSet.getObject("CASH_MOVEMENT_CURRENCY_CODE", String.class)); - object.setStatus(resultSet.getObject("STATUS", String.class)); + object.setOperationStatus(resultSet.getObject("OPERATION_STATUS", String.class)); object.setErrorCode(resultSet.getObject("ERROR_CODE", String.class)); object.setErrorText(resultSet.getObject("ERROR_TEXT", String.class)); object.setInSDfId(resultSet.getObject("IN_S_DF_ID", Long.class)); @@ -69,16 +69,16 @@ public class StatementMapStore extends TemplateMapStore { object.getSenderId(), TimeUtil.toDateFromInstant(object.getCreated()), TimeUtil.toDateFromInstant(object.getUpdated()), - TimeUtil.toDateFromInstant(object.getClearingDate()), - object.getStatementTypeId(), + TimeUtil.toDateFromLocalDate(object.getClearingDate()), + object.getStatementType(), object.getComment(), object.getAccountId(), object.getAccount(), object.getInOutDirection(), - TimeUtil.toDateFromInstant(object.getSettlementDate()), + TimeUtil.toDateFromLocalDate(object.getSettlementDate()), object.getAmount(), object.getCashMovementCurrencyCode(), - object.getStatus(), + object.getOperationStatus(), object.getErrorCode(), object.getErrorText(), object.getInSDfId(), diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TimetableMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TimetableMapStore.java index b8e0a1693..a4d78c085 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TimetableMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TimetableMapStore.java @@ -41,7 +41,7 @@ public class TimetableMapStore extends TemplateMapStore { object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); object.setTask(resultSet.getObject("TASK", String.class)); - object.setTaskTime(getInstantFromTimestamp(resultSet, "TASK_TIME")); + object.setTaskTime(getLocalTimeFromSqlTime(resultSet, "TASK_TIME")); object.setTaskStatus(resultSet.getObject("TASK_STATUS", String.class)); return object; } @@ -53,7 +53,7 @@ public class TimetableMapStore extends TemplateMapStore { TimeUtil.toDateFromInstant(object.getCreated()), TimeUtil.toDateFromInstant(object.getUpdated()), object.getTask(), - TimeUtil.toDateFromInstant(object.getTaskTime()), + TimeUtil.toDateFromLocalTime(object.getTaskTime()), object.getTaskStatus() }; return args; diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TradingCalendarMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TradingCalendarMapStore.java index 0eaf4d2f7..555353445 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TradingCalendarMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TradingCalendarMapStore.java @@ -30,7 +30,7 @@ public class TradingCalendarMapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "COMPANY_ID", "TRADING_STATUS" + "ID", "CREATED_AT", "UPDATED_AT", "CLEARING_DATE", "COMPANY_ID", "TRADING_STATUS" }; } @@ -40,7 +40,7 @@ public class TradingCalendarMapStore extends TemplateMapStore { object.setId(resultSet.getObject("ID", Long.class)); object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); - object.setClearingDate(getInstantFromTimestamp(resultSet, "CLEARING_DATE")); + object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE")); object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); object.setTradingStatus(resultSet.getObject("TRADING_STATUS", String.class)); return object; @@ -52,7 +52,7 @@ public class TradingCalendarMapStore extends TemplateMapStore { object.getId(), TimeUtil.toDateFromInstant(object.getCreated()), TimeUtil.toDateFromInstant(object.getUpdated()), - TimeUtil.toDateFromInstant(object.getClearingDate()), + TimeUtil.toDateFromLocalDate(object.getClearingDate()), object.getCompanyId(), object.getTradingStatus() }; diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/UserConnectMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/UserConnectMapStore.java index 2f97b89f9..fe5f61fab 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/UserConnectMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/UserConnectMapStore.java @@ -46,8 +46,8 @@ public class UserConnectMapStore extends TemplateMapStore { object.setServerIP(resultSet.getObject("SERVER_I_P", String.class)); object.setClientIP(resultSet.getObject("CLIENT_I_P", String.class)); object.setConnectionState(resultSet.getObject("CONNECTION_STATE", String.class)); - object.setClearingDate(getInstantFromTimestamp(resultSet, "CLEARING_DATE")); - object.setErrorCode(resultSet.getObject("ERROR_CODE", String.class)); + object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE")); + object.setErrorCode(resultSet.getObject("ERROR_CODE", Long.class)); object.setErrorText(resultSet.getObject("ERROR_TEXT", String.class)); return object; } @@ -64,7 +64,7 @@ public class UserConnectMapStore extends TemplateMapStore { object.getServerIP(), object.getClientIP(), object.getConnectionState(), - TimeUtil.toDateFromInstant(object.getClearingDate()), + TimeUtil.toDateFromLocalDate(object.getClearingDate()), object.getErrorCode(), object.getErrorText() }; diff --git a/clearing-parent/imdg/src/test/ddl.sql b/clearing-parent/imdg/src/test/ddl.sql new file mode 100644 index 000000000..3414a840d --- /dev/null +++ b/clearing-parent/imdg/src/test/ddl.sql @@ -0,0 +1,4834 @@ +-- DB version: 0.0.0.6 +/* Dictionaries */ + +-- chargeDirection - Направление начисления комиссии +DROP TABLE IF EXISTS CHARGE_DIRECTION_DICTIONARY; +CREATE TABLE CHARGE_DIRECTION_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE CHARGE_DIRECTION_DICTIONARY IS 'Направление начисления комиссии'; + +COMMENT ON COLUMN CHARGE_DIRECTION_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN CHARGE_DIRECTION_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CHARGE_DIRECTION_DICTIONARY.NAME IS 'Направление комиссии'; + +-- chargeType - Справочник типов комиссий +DROP TABLE IF EXISTS CHARGE_TYPE_DICTIONARY; +CREATE TABLE CHARGE_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE CHARGE_TYPE_DICTIONARY IS 'Справочник типов комиссий'; + +COMMENT ON COLUMN CHARGE_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN CHARGE_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CHARGE_TYPE_DICTIONARY.NAME IS 'Тип комиссии'; + +-- courierType - Способ доставки документа +DROP TABLE IF EXISTS COURIER_TYPE_DICTIONARY; +CREATE TABLE COURIER_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE COURIER_TYPE_DICTIONARY IS 'Способ доставки документа'; + +COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.NAME IS 'Способ доставки'; + +-- interestStatus - Справочник статусов возвращения процентов +DROP TABLE IF EXISTS INTEREST_STATUS_DICTIONARY; +CREATE TABLE INTEREST_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE INTEREST_STATUS_DICTIONARY IS 'Справочник статусов возвращения процентов'; + +COMMENT ON COLUMN INTEREST_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN INTEREST_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN INTEREST_STATUS_DICTIONARY.NAME IS 'Наименование'; + +-- termType - Справочник видов инструментов денежного рынка +DROP TABLE IF EXISTS TERM_TYPE_DICTIONARY; +CREATE TABLE TERM_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE TERM_TYPE_DICTIONARY IS 'Справочник видов инструментов денежного рынка'; + +COMMENT ON COLUMN TERM_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TERM_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TERM_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- task - Справочник задач +DROP TABLE IF EXISTS TASK_DICTIONARY; +CREATE TABLE TASK_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(150) +); +COMMENT ON TABLE TASK_DICTIONARY IS 'Справочник задач'; + +COMMENT ON COLUMN TASK_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TASK_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TASK_DICTIONARY.NAME IS 'Задача'; + +-- taskStatus - Справочник статусов задач +DROP TABLE IF EXISTS TASK_STATUS_DICTIONARY; +CREATE TABLE TASK_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE TASK_STATUS_DICTIONARY IS 'Справочник статусов задач'; + +COMMENT ON COLUMN TASK_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TASK_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TASK_STATUS_DICTIONARY.NAME IS 'Статус'; + +-- tradingStatus - Справочник торговых статусов +DROP TABLE IF EXISTS TRADING_STATUS_DICTIONARY; +CREATE TABLE TRADING_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE TRADING_STATUS_DICTIONARY IS 'Справочник торговых статусов'; + +COMMENT ON COLUMN TRADING_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TRADING_STATUS_DICTIONARY.NAME IS 'Торговый статус'; + +-- transactionStatus - Справочник статусов транзакций +DROP TABLE IF EXISTS TRANSACTION_STATUS_DICTIONARY; +CREATE TABLE TRANSACTION_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE TRANSACTION_STATUS_DICTIONARY IS 'Справочник статусов транзакций'; + +COMMENT ON COLUMN TRANSACTION_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRANSACTION_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TRANSACTION_STATUS_DICTIONARY.NAME IS 'Статус транзакции'; + +-- source - Справочник источников +DROP TABLE IF EXISTS SOURCE_DICTIONARY; +CREATE TABLE SOURCE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE SOURCE_DICTIONARY IS 'Справочник источников'; + +COMMENT ON COLUMN SOURCE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SOURCE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN SOURCE_DICTIONARY.NAME IS 'Наименование'; + +-- clearingStatus - Справочник результатов клиринга +DROP TABLE IF EXISTS CLEARING_STATUS_DICTIONARY; +CREATE TABLE CLEARING_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE CLEARING_STATUS_DICTIONARY IS 'Справочник результатов клиринга'; + +COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.NAME IS 'Наименование'; + +-- workflowStatus - Справочник статусов бизнес-процессов +DROP TABLE IF EXISTS WORKFLOW_STATUS_DICTIONARY; +CREATE TABLE WORKFLOW_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE WORKFLOW_STATUS_DICTIONARY IS 'Справочник статусов бизнес-процессов'; + +COMMENT ON COLUMN WORKFLOW_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN WORKFLOW_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN WORKFLOW_STATUS_DICTIONARY.NAME IS 'Наименование'; + +-- accountStatus - Справочник статусов счетов +DROP TABLE IF EXISTS ACCOUNT_STATUS_DICTIONARY; +CREATE TABLE ACCOUNT_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE ACCOUNT_STATUS_DICTIONARY IS 'Справочник статусов счетов'; + +COMMENT ON COLUMN ACCOUNT_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN ACCOUNT_STATUS_DICTIONARY.NAME IS 'Наименование'; + +-- allowed - Справочник признаков допустимости использования объектов +DROP TABLE IF EXISTS ALLOWED_DICTIONARY; +CREATE TABLE ALLOWED_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE ALLOWED_DICTIONARY IS 'Справочник признаков допустимости использования объектов'; + +COMMENT ON COLUMN ALLOWED_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN ALLOWED_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN ALLOWED_DICTIONARY.NAME IS 'Признак допустимости'; + +-- moneyFlowSide - Направление заявки +DROP TABLE IF EXISTS MONEY_FLOW_SIDE_DICTIONARY; +CREATE TABLE MONEY_FLOW_SIDE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE MONEY_FLOW_SIDE_DICTIONARY IS 'Направление заявки'; + +COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN MONEY_FLOW_SIDE_DICTIONARY.NAME IS 'Значение'; + +-- inOutDirection - Справочник значений направления денежного потока +DROP TABLE IF EXISTS IN_OUT_DIRECTION_DICTIONARY; +CREATE TABLE IN_OUT_DIRECTION_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE IN_OUT_DIRECTION_DICTIONARY IS 'Справочник значений направления денежного потока'; + +COMMENT ON COLUMN IN_OUT_DIRECTION_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN IN_OUT_DIRECTION_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN IN_OUT_DIRECTION_DICTIONARY.NAME IS 'Значение'; + +-- statementType - Справочник типов поступлений/списаний от ПРЦ +DROP TABLE IF EXISTS STATEMENT_TYPE_DICTIONARY; +CREATE TABLE STATEMENT_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE STATEMENT_TYPE_DICTIONARY IS 'Справочник типов поступлений/списаний от ПРЦ'; + +COMMENT ON COLUMN STATEMENT_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN STATEMENT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN STATEMENT_TYPE_DICTIONARY.NAME IS 'Значение'; + +-- operationType - Справочник типов операций +DROP TABLE IF EXISTS OPERATION_TYPE_DICTIONARY; +CREATE TABLE OPERATION_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE OPERATION_TYPE_DICTIONARY IS 'Справочник типов операций'; + +COMMENT ON COLUMN OPERATION_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN OPERATION_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN OPERATION_TYPE_DICTIONARY.NAME IS 'Значение'; + +-- operationStatus - Справочник статусов операций +DROP TABLE IF EXISTS OPERATION_STATUS_DICTIONARY; +CREATE TABLE OPERATION_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE OPERATION_STATUS_DICTIONARY IS 'Справочник статусов операций'; + +COMMENT ON COLUMN OPERATION_STATUS_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN OPERATION_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN OPERATION_STATUS_DICTIONARY.NAME IS 'Значение'; + +-- balanceAccountType - Справочник типов лимитов +DROP TABLE IF EXISTS BALANCE_ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE BALANCE_ACCOUNT_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE BALANCE_ACCOUNT_TYPE_DICTIONARY IS 'Справочник типов лимитов'; + +COMMENT ON COLUMN BALANCE_ACCOUNT_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN BALANCE_ACCOUNT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN BALANCE_ACCOUNT_TYPE_DICTIONARY.NAME IS 'Тип лимитов'; + +-- countryCode - Справочник кодов стран +DROP TABLE IF EXISTS COUNTRY_CODE_DICTIONARY; +CREATE TABLE COUNTRY_CODE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE COUNTRY_CODE_DICTIONARY IS 'Справочник кодов стран'; + +COMMENT ON COLUMN COUNTRY_CODE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COUNTRY_CODE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN COUNTRY_CODE_DICTIONARY.NAME IS 'Наименование'; + +-- clearingMemberCategory - Справочник категорий участника клиринга +DROP TABLE IF EXISTS CLEARING_MEMBER_CATEGORY_DICTIONARY; +CREATE TABLE CLEARING_MEMBER_CATEGORY_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE CLEARING_MEMBER_CATEGORY_DICTIONARY IS 'Справочник категорий участника клиринга'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_DICTIONARY.NAME IS 'Наименование'; + +-- contactType - Справочник типов контактов Компании +DROP TABLE IF EXISTS CONTACT_TYPE_DICTIONARY; +CREATE TABLE CONTACT_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE CONTACT_TYPE_DICTIONARY IS 'Справочник типов контактов Компании'; + +COMMENT ON COLUMN CONTACT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CONTACT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CONTACT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- corporationSoleType - Единоличный исполнительный орган +DROP TABLE IF EXISTS CORPORATION_SOLE_TYPE_DICTIONARY; +CREATE TABLE CORPORATION_SOLE_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE CORPORATION_SOLE_TYPE_DICTIONARY IS 'Единоличный исполнительный орган'; + +COMMENT ON COLUMN CORPORATION_SOLE_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CORPORATION_SOLE_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CORPORATION_SOLE_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- connectionState - Справочник состояний соединений +DROP TABLE IF EXISTS CONNECTION_STATE_DICTIONARY; +CREATE TABLE CONNECTION_STATE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE CONNECTION_STATE_DICTIONARY IS 'Справочник состояний соединений'; + +COMMENT ON COLUMN CONNECTION_STATE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CONNECTION_STATE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CONNECTION_STATE_DICTIONARY.NAME IS 'Наименование'; + +-- documentType - Справочник типов документов +DROP TABLE IF EXISTS DOCUMENT_TYPE_DICTIONARY; +CREATE TABLE DOCUMENT_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE DOCUMENT_TYPE_DICTIONARY IS 'Справочник типов документов'; + +COMMENT ON COLUMN DOCUMENT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN DOCUMENT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN DOCUMENT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- legalKind - Справочник видов субъекта +DROP TABLE IF EXISTS LEGAL_KIND_DICTIONARY; +CREATE TABLE LEGAL_KIND_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE LEGAL_KIND_DICTIONARY IS 'Справочник видов субъекта'; + +COMMENT ON COLUMN LEGAL_KIND_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LEGAL_KIND_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN LEGAL_KIND_DICTIONARY.NAME IS 'Наименование'; + +-- organizationType - Справочник типов организаций +DROP TABLE IF EXISTS ORGANIZATION_TYPE_DICTIONARY; +CREATE TABLE ORGANIZATION_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE ORGANIZATION_TYPE_DICTIONARY IS 'Справочник типов организаций'; + +COMMENT ON COLUMN ORGANIZATION_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ORGANIZATION_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN ORGANIZATION_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- companySymbol - Справочник имен Компании +DROP TABLE IF EXISTS COMPANY_SYMBOL_DICTIONARY; +CREATE TABLE COMPANY_SYMBOL_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255), + SHORTNAME varchar(255) +); +COMMENT ON TABLE COMPANY_SYMBOL_DICTIONARY IS 'Справочник имен Компании'; + +COMMENT ON COLUMN COMPANY_SYMBOL_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY_SYMBOL_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN COMPANY_SYMBOL_DICTIONARY.NAME IS 'Наименование'; + +COMMENT ON COLUMN COMPANY_SYMBOL_DICTIONARY.SHORTNAME IS 'Краткое наименование'; + +-- companyRole - Справочник ролей Компаний +DROP TABLE IF EXISTS COMPANY_ROLE_DICTIONARY; +CREATE TABLE COMPANY_ROLE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE COMPANY_ROLE_DICTIONARY IS 'Справочник ролей Компаний'; + +COMMENT ON COLUMN COMPANY_ROLE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY_ROLE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN COMPANY_ROLE_DICTIONARY.NAME IS 'Роль Участника'; + +-- userRole - Роли пользователей +DROP TABLE IF EXISTS USER_ROLE_DICTIONARY; +CREATE TABLE USER_ROLE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE USER_ROLE_DICTIONARY IS 'Роли пользователей'; + +COMMENT ON COLUMN USER_ROLE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN USER_ROLE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN USER_ROLE_DICTIONARY.NAME IS 'Роль пользователя'; + +-- accountType - Справочник типов счетов +DROP TABLE IF EXISTS ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE ACCOUNT_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE ACCOUNT_TYPE_DICTIONARY IS 'Справочник типов счетов'; + +COMMENT ON COLUMN ACCOUNT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN ACCOUNT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- instrumentType - Справочник типов инструмента +DROP TABLE IF EXISTS INSTRUMENT_TYPE_DICTIONARY; +CREATE TABLE INSTRUMENT_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE INSTRUMENT_TYPE_DICTIONARY IS 'Справочник типов инструмента'; + +COMMENT ON COLUMN INSTRUMENT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN INSTRUMENT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN INSTRUMENT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- currencyCode - Справочник кодов валют +DROP TABLE IF EXISTS CURRENCY_CODE_DICTIONARY; +CREATE TABLE CURRENCY_CODE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE CURRENCY_CODE_DICTIONARY IS 'Справочник кодов валют'; + +COMMENT ON COLUMN CURRENCY_CODE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CURRENCY_CODE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CURRENCY_CODE_DICTIONARY.NAME IS 'Наименование'; + +-- serviceStatus - Справочник услуги +DROP TABLE IF EXISTS SERVICE_STATUS_DICTIONARY; +CREATE TABLE SERVICE_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE SERVICE_STATUS_DICTIONARY IS 'Справочник услуги'; + +COMMENT ON COLUMN SERVICE_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SERVICE_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN SERVICE_STATUS_DICTIONARY.NAME IS 'Наименование'; + +-- service - Справочник услуги +DROP TABLE IF EXISTS SERVICE_DICTIONARY; +CREATE TABLE SERVICE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE SERVICE_DICTIONARY IS 'Справочник услуги'; + +COMMENT ON COLUMN SERVICE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SERVICE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN SERVICE_DICTIONARY.NAME IS 'Наименование'; + +-- serviceProduct - Справочник продукта для услуги +DROP TABLE IF EXISTS SERVICE_PRODUCT_DICTIONARY; +CREATE TABLE SERVICE_PRODUCT_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE SERVICE_PRODUCT_DICTIONARY IS 'Справочник продукта для услуги'; + +COMMENT ON COLUMN SERVICE_PRODUCT_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SERVICE_PRODUCT_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN SERVICE_PRODUCT_DICTIONARY.NAME IS 'Наименование'; + +-- sector - Справочник секций +DROP TABLE IF EXISTS SECTOR_DICTIONARY; +CREATE TABLE SECTOR_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE SECTOR_DICTIONARY IS 'Справочник секций'; + +COMMENT ON COLUMN SECTOR_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SECTOR_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN SECTOR_DICTIONARY.NAME IS 'Наименование'; + +-- resultStatus - Статус обработки +DROP TABLE IF EXISTS RESULT_STATUS_DICTIONARY; +CREATE TABLE RESULT_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE RESULT_STATUS_DICTIONARY IS 'Статус обработки'; + +COMMENT ON COLUMN RESULT_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN RESULT_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN RESULT_STATUS_DICTIONARY.NAME IS 'Статус обработки'; + +-- errorCode - Коды ошибок +DROP TABLE IF EXISTS ERROR_CODE_DICTIONARY; +CREATE TABLE ERROR_CODE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(255) +); +COMMENT ON TABLE ERROR_CODE_DICTIONARY IS 'Коды ошибок'; + +COMMENT ON COLUMN ERROR_CODE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ERROR_CODE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN ERROR_CODE_DICTIONARY.NAME IS 'Текст ошибки'; + +-- managementJournalStatus - Справочник статусов журнала мониторинга и контроля +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL_STATUS_DICTIONARY; +CREATE TABLE MANAGEMENT_JOURNAL_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE MANAGEMENT_JOURNAL_STATUS_DICTIONARY IS 'Справочник статусов журнала мониторинга и контроля'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_STATUS_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_STATUS_DICTIONARY.NAME IS 'Статус сообщения'; + +-- managementJournalType - Справочник типов записей в журнале мониторинга и контроля +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL_TYPE_DICTIONARY; +CREATE TABLE MANAGEMENT_JOURNAL_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE MANAGEMENT_JOURNAL_TYPE_DICTIONARY IS 'Справочник типов записей в журнале мониторинга и контроля'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_TYPE_DICTIONARY.NAME IS 'Тип записи'; + +-- managementJournalPurpose - Справочник целей записей в журнале мониторинга и контроля +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY; +CREATE TABLE MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY IS 'Справочник целей записей в журнале мониторинга и контроля'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY.NAME IS 'Тип записи'; + +-- inOutSDfType - Справочник типов входящих и исходящих записей +DROP TABLE IF EXISTS IN_OUT_S_DF_TYPE_DICTIONARY; +CREATE TABLE IN_OUT_S_DF_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE IN_OUT_S_DF_TYPE_DICTIONARY IS 'Справочник типов входящих и исходящих записей'; + +COMMENT ON COLUMN IN_OUT_S_DF_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN IN_OUT_S_DF_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN IN_OUT_S_DF_TYPE_DICTIONARY.NAME IS 'Тип записи'; + +-- sessionStatus - Справочник статусов клиринговой сессии +DROP TABLE IF EXISTS SESSION_STATUS_DICTIONARY; +CREATE TABLE SESSION_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE SESSION_STATUS_DICTIONARY IS 'Справочник статусов клиринговой сессии'; + +COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN SESSION_STATUS_DICTIONARY.NAME IS 'Наименование'; + +-- objectType - Справочник типов объектов +DROP TABLE IF EXISTS OBJECT_TYPE_DICTIONARY; +CREATE TABLE OBJECT_TYPE_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE OBJECT_TYPE_DICTIONARY IS 'Справочник типов объектов'; + +COMMENT ON COLUMN OBJECT_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN OBJECT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN OBJECT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- notificationStatus - Справочник статусов сообщений +DROP TABLE IF EXISTS NOTIFICATION_STATUS_DICTIONARY; +CREATE TABLE NOTIFICATION_STATUS_DICTIONARY +( + ID bigint PRIMARY KEY, + CODE char(4), + NAME varchar(50) +); +COMMENT ON TABLE NOTIFICATION_STATUS_DICTIONARY IS 'Справочник статусов сообщений'; + +COMMENT ON COLUMN NOTIFICATION_STATUS_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN NOTIFICATION_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN NOTIFICATION_STATUS_DICTIONARY.NAME IS 'Наименование'; + +/* Business objects */ + +-- userCls - Пользователь +DROP TABLE IF EXISTS USER_CLS; +CREATE TABLE USER_CLS +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + IDENTIFIER varchar(250) +); +COMMENT ON TABLE USER_CLS IS 'Пользователь'; + +COMMENT ON COLUMN USER_CLS.ID IS 'Идентификатор'; + +COMMENT ON COLUMN USER_CLS.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN USER_CLS.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN USER_CLS.IDENTIFIER IS 'Внешний идентификатор'; + + +-- History log of userCls - Пользователь +DROP TABLE IF EXISTS USER_CLS_HISTORY; +CREATE TABLE USER_CLS_HISTORY +( + USER_CLS_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + IDENTIFIER varchar(250) +); +COMMENT ON TABLE USER_CLS_HISTORY IS 'История изменений таблицы userCls'; +COMMENT ON COLUMN USER_CLS_HISTORY.USER_CLS_ID IS 'Идентификатор записи в таблице USER_CLS'; +COMMENT ON COLUMN USER_CLS_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN USER_CLS_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN USER_CLS_HISTORY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN USER_CLS_HISTORY.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN USER_CLS_HISTORY.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN USER_CLS_HISTORY.IDENTIFIER IS 'Внешний идентификатор'; + +-- userRoleSession - Набор ролей +DROP TABLE IF EXISTS USER_ROLE_SESSION; +CREATE TABLE USER_ROLE_SESSION +( + ID bigint PRIMARY KEY, + USER_ID bigint, + USER_ROLE char(4), + COMPANY_ID bigint, + STATUS char(4) +); +COMMENT ON TABLE USER_ROLE_SESSION IS 'Набор ролей'; + +COMMENT ON COLUMN USER_ROLE_SESSION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN USER_ROLE_SESSION.USER_ID IS 'Идентификатор пользователя (linked to userCls)'; + +COMMENT ON COLUMN USER_ROLE_SESSION.USER_ROLE IS 'Идентификатор роли (linked to userRole)'; + +COMMENT ON COLUMN USER_ROLE_SESSION.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN USER_ROLE_SESSION.STATUS IS 'Статус (linked to workflowStatus)'; + +-- userSettings - Настройки пользователя +DROP TABLE IF EXISTS USER_SETTINGS; +CREATE TABLE USER_SETTINGS +( + ID bigint PRIMARY KEY, + USER_ID bigint, + VERSION varchar(50), + JSON varchar(200000) +); +COMMENT ON TABLE USER_SETTINGS IS 'Настройки пользователя'; + +COMMENT ON COLUMN USER_SETTINGS.ID IS 'Идентификатор'; + +COMMENT ON COLUMN USER_SETTINGS.USER_ID IS 'Пользователь (linked to userCls)'; + +COMMENT ON COLUMN USER_SETTINGS.VERSION IS 'Версия настроек пользователя'; + +COMMENT ON COLUMN USER_SETTINGS.JSON IS 'Данные конфигурации'; + +-- userConnect - Активность пользователей в системе +DROP TABLE IF EXISTS USER_CONNECT; +CREATE TABLE USER_CONNECT +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + USER_ID bigint, + CONNECTION_TIME timestamp, + DISCONNECTION_TIME timestamp, + SERVER_I_P varchar(250), + CLIENT_I_P varchar(250), + CONNECTION_STATE char(4), + CLEARING_DATE date, + ERROR_CODE bigint, + ERROR_TEXT char(4) +); +COMMENT ON TABLE USER_CONNECT IS 'Активность пользователей в системе'; + +COMMENT ON COLUMN USER_CONNECT.ID IS 'Идентификатор'; + +COMMENT ON COLUMN USER_CONNECT.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN USER_CONNECT.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN USER_CONNECT.USER_ID IS 'Пользователь (linked to userCls)'; + +COMMENT ON COLUMN USER_CONNECT.CONNECTION_TIME IS 'Последнее соединение'; + +COMMENT ON COLUMN USER_CONNECT.DISCONNECTION_TIME IS 'Разрыв соединения'; + +COMMENT ON COLUMN USER_CONNECT.SERVER_I_P IS 'IP адрес сервера'; + +COMMENT ON COLUMN USER_CONNECT.CLIENT_I_P IS 'IP адрес клиента'; + +COMMENT ON COLUMN USER_CONNECT.CONNECTION_STATE IS 'Статус соединения (linked to connectionState)'; + +COMMENT ON COLUMN USER_CONNECT.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN USER_CONNECT.ERROR_CODE IS 'Код ошибки (linked to errorCode)'; + +COMMENT ON COLUMN USER_CONNECT.ERROR_TEXT IS 'Полный текст ошибки (linked to errorText)'; + + +-- History log of userConnect - Активность пользователей в системе +DROP TABLE IF EXISTS USER_CONNECT_HISTORY; +CREATE TABLE USER_CONNECT_HISTORY +( + USER_CONNECT_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + USER_ID bigint, + CONNECTION_TIME timestamp, + DISCONNECTION_TIME timestamp, + SERVER_I_P varchar(250), + CLIENT_I_P varchar(250), + CONNECTION_STATE char(4), + CLEARING_DATE date, + ERROR_CODE bigint, + ERROR_TEXT char(4) +); +COMMENT ON TABLE USER_CONNECT_HISTORY IS 'История изменений таблицы userConnect'; +COMMENT ON COLUMN USER_CONNECT_HISTORY.USER_CONNECT_ID IS 'Идентификатор записи в таблице USER_CONNECT'; +COMMENT ON COLUMN USER_CONNECT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN USER_CONNECT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.USER_ID IS 'Пользователь (linked to userCls)'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CONNECTION_TIME IS 'Последнее соединение'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.DISCONNECTION_TIME IS 'Разрыв соединения'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.SERVER_I_P IS 'IP адрес сервера'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CLIENT_I_P IS 'IP адрес клиента'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CONNECTION_STATE IS 'Статус соединения (linked to connectionState)'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.ERROR_CODE IS 'Код ошибки (linked to errorCode)'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.ERROR_TEXT IS 'Полный текст ошибки (linked to errorText)'; + +-- timetable - Постоянное расписание операционного дня +DROP TABLE IF EXISTS TIMETABLE; +CREATE TABLE TIMETABLE +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + TASK char(4), + TASK_TIME time, + TASK_STATUS char(4) +); +COMMENT ON TABLE TIMETABLE IS 'Постоянное расписание операционного дня'; + +COMMENT ON COLUMN TIMETABLE.ID IS 'Идентификатор'; + +COMMENT ON COLUMN TIMETABLE.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN TIMETABLE.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN TIMETABLE.TASK IS 'Идентификатор задачи (linked to task)'; + +COMMENT ON COLUMN TIMETABLE.TASK_TIME IS 'Время задачи'; + +COMMENT ON COLUMN TIMETABLE.TASK_STATUS IS 'Статус (linked to taskStatus)'; + +-- tradingCalendar - Торговые и неторговые дни +DROP TABLE IF EXISTS TRADING_CALENDAR; +CREATE TABLE TRADING_CALENDAR +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + COMPANY_ID bigint, + TRADING_STATUS char(4) +); +COMMENT ON TABLE TRADING_CALENDAR IS 'Торговые и неторговые дни'; + +COMMENT ON COLUMN TRADING_CALENDAR.ID IS 'Идентификатор'; + +COMMENT ON COLUMN TRADING_CALENDAR.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN TRADING_CALENDAR.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN TRADING_CALENDAR.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN TRADING_CALENDAR.COMPANY_ID IS 'Компания (linked to company)'; + +COMMENT ON COLUMN TRADING_CALENDAR.TRADING_STATUS IS 'Статус (linked to tradingStatus)'; + +-- scheduler - Расписание планировщика +DROP TABLE IF EXISTS SCHEDULER; +CREATE TABLE SCHEDULER +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + TASK char(4), + TASK_TIME time, + CLEARING_DATE date, + MARKET char(4), + TASK_STATUS char(4), + SECURITY_ID bigint +); +COMMENT ON TABLE SCHEDULER IS 'Расписание планировщика'; + +COMMENT ON COLUMN SCHEDULER.ID IS 'Идентификатор'; + +COMMENT ON COLUMN SCHEDULER.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN SCHEDULER.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN SCHEDULER.TASK IS 'Идентификатор задачи (linked to task)'; + +COMMENT ON COLUMN SCHEDULER.TASK_TIME IS 'Время'; + +COMMENT ON COLUMN SCHEDULER.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN SCHEDULER.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN SCHEDULER.TASK_STATUS IS 'Статус (linked to taskStatus)'; + +COMMENT ON COLUMN SCHEDULER.SECURITY_ID IS 'Инструмент (linked to security)'; + +-- schedulerAllToday - Расписание на текущий день +DROP TABLE IF EXISTS SCHEDULER_ALL_TODAY; +CREATE TABLE SCHEDULER_ALL_TODAY +( + ID bigint PRIMARY KEY, + TASK char(4), + TASK_TIME time, + CLEARING_DATE date, + MARKET char(4), + TASK_STATUS char(4), + SECURITY_ID bigint, + SOURCE char(4), + ORIG_ID bigint +); +COMMENT ON TABLE SCHEDULER_ALL_TODAY IS 'Расписание на текущий день'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.TASK IS 'Идентификатор задачи (linked to task)'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.TASK_TIME IS 'Время'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.TASK_STATUS IS 'Статус (linked to taskStatus)'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.SECURITY_ID IS 'Инструмент (linked to security)'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.SOURCE IS 'Источник записи расписания (linked to source)'; + +COMMENT ON COLUMN SCHEDULER_ALL_TODAY.ORIG_ID IS 'Идентификатор источника'; + +-- taskRunner - Запуск задачи +DROP TABLE IF EXISTS TASK_RUNNER; +CREATE TABLE TASK_RUNNER +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + SENDER_ID bigint, + TASK char(4) +); +COMMENT ON TABLE TASK_RUNNER IS 'Запуск задачи'; + +COMMENT ON COLUMN TASK_RUNNER.ID IS 'Идентификатор'; + +COMMENT ON COLUMN TASK_RUNNER.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN TASK_RUNNER.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN TASK_RUNNER.SENDER_ID IS 'Отправитель (linked to userCls)'; + +COMMENT ON COLUMN TASK_RUNNER.TASK IS 'Задача (linked to task)'; + +-- company - Участник +DROP TABLE IF EXISTS COMPANY; +CREATE TABLE COMPANY +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + TRADING_CODE varchar(255), + CLEARING_CODE varchar(255), + REGISTRATION_CODE varchar(255), + WORKFLOW_STATUS char(4), + SHORT_NAME varchar(255), + FULL_NAME varchar(255) +); +COMMENT ON TABLE COMPANY IS 'Участник'; + +COMMENT ON COLUMN COMPANY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN COMPANY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN COMPANY.TRADING_CODE IS 'Код участника торгов'; + +COMMENT ON COLUMN COMPANY.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN COMPANY.REGISTRATION_CODE IS 'Регистрационный код участника'; + +COMMENT ON COLUMN COMPANY.WORKFLOW_STATUS IS 'Статус (linked to workflowStatus)'; + +COMMENT ON COLUMN COMPANY.SHORT_NAME IS 'Краткое наименование Компании'; + +COMMENT ON COLUMN COMPANY.FULL_NAME IS 'Полное наименование Компании'; + +-- companyInfo - Профиль Компании +DROP TABLE IF EXISTS COMPANY_INFO; +CREATE TABLE COMPANY_INFO +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + CORPORATION_SOLE_TYPE char(4), + COUNTRY_CODE char(4), + DESCRIPTION varchar, + PROFESSIONAL_SIGN char(4), + LEGAL_KIND char(4), + ORGANIZATION_TYPE char(4), + RESIDENCE char(4), + SHORT_NAME_ENG varchar(255), + FULL_NAME_ENG varchar(255), + SHORT_NAME varchar(255), + FULL_NAME varchar(255), + TRADING_CODE varchar(255), + CLEARING_CODE varchar(255), + REGISTRATION_CODE varchar(255) +); +COMMENT ON TABLE COMPANY_INFO IS 'Профиль Компании'; + +COMMENT ON COLUMN COMPANY_INFO.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY_INFO.COMPANY_ID IS 'Идентификатор Компании (linked to company)'; + +COMMENT ON COLUMN COMPANY_INFO.CORPORATION_SOLE_TYPE IS 'Идентификатор единоличного исполнительного органа (linked to corporationSoleType)'; + +COMMENT ON COLUMN COMPANY_INFO.COUNTRY_CODE IS 'Идентификатор кода страны (linked to countryCode)'; + +COMMENT ON COLUMN COMPANY_INFO.DESCRIPTION IS 'Описание'; + +COMMENT ON COLUMN COMPANY_INFO.PROFESSIONAL_SIGN IS 'Признак проф. Участника (linked to allowed)'; + +COMMENT ON COLUMN COMPANY_INFO.LEGAL_KIND IS 'Идентификатор вида субъекта (linked to legalKind)'; + +COMMENT ON COLUMN COMPANY_INFO.ORGANIZATION_TYPE IS 'Идентификатор типа организации (linked to organizationType)'; + +COMMENT ON COLUMN COMPANY_INFO.RESIDENCE IS 'Идентификатор кода страны (linked to countryCode)'; + +COMMENT ON COLUMN COMPANY_INFO.SHORT_NAME_ENG IS 'Краткое наименование Компании на английском'; + +COMMENT ON COLUMN COMPANY_INFO.FULL_NAME_ENG IS 'Полное наименование Компании на английском'; + +COMMENT ON COLUMN COMPANY_INFO.SHORT_NAME IS 'Краткое наименование Компании'; + +COMMENT ON COLUMN COMPANY_INFO.FULL_NAME IS 'Полное наименование Компании'; + +COMMENT ON COLUMN COMPANY_INFO.TRADING_CODE IS 'Код участника торгов'; + +COMMENT ON COLUMN COMPANY_INFO.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN COMPANY_INFO.REGISTRATION_CODE IS 'Регистрационный код участника'; + + +-- History log of companyInfo - Профиль Компании +DROP TABLE IF EXISTS COMPANY_INFO_HISTORY; +CREATE TABLE COMPANY_INFO_HISTORY +( + COMPANY_INFO_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + CORPORATION_SOLE_TYPE char(4), + COUNTRY_CODE char(4), + DESCRIPTION varchar, + PROFESSIONAL_SIGN char(4), + LEGAL_KIND char(4), + ORGANIZATION_TYPE char(4), + RESIDENCE char(4), + SHORT_NAME_ENG varchar(255), + FULL_NAME_ENG varchar(255), + SHORT_NAME varchar(255), + FULL_NAME varchar(255), + TRADING_CODE varchar(255), + CLEARING_CODE varchar(255), + REGISTRATION_CODE varchar(255) +); +COMMENT ON TABLE COMPANY_INFO_HISTORY IS 'История изменений таблицы companyInfo'; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.COMPANY_INFO_ID IS 'Идентификатор записи в таблице COMPANY_INFO'; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN COMPANY_INFO_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.COMPANY_ID IS 'Идентификатор Компании (linked to company)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.CORPORATION_SOLE_TYPE IS 'Идентификатор единоличного исполнительного органа (linked to corporationSoleType)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.COUNTRY_CODE IS 'Идентификатор кода страны (linked to countryCode)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.DESCRIPTION IS 'Описание'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.PROFESSIONAL_SIGN IS 'Признак проф. Участника (linked to allowed)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.LEGAL_KIND IS 'Идентификатор вида субъекта (linked to legalKind)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.ORGANIZATION_TYPE IS 'Идентификатор типа организации (linked to organizationType)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.RESIDENCE IS 'Идентификатор кода страны (linked to countryCode)'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.SHORT_NAME_ENG IS 'Краткое наименование Компании на английском'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.FULL_NAME_ENG IS 'Полное наименование Компании на английском'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.SHORT_NAME IS 'Краткое наименование Компании'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.FULL_NAME IS 'Полное наименование Компании'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.TRADING_CODE IS 'Код участника торгов'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN COMPANY_INFO_HISTORY.REGISTRATION_CODE IS 'Регистрационный код участника'; + +-- clearingMemberCategory - Категории Участника клиринга +DROP TABLE IF EXISTS CLEARING_MEMBER_CATEGORY; +CREATE TABLE CLEARING_MEMBER_CATEGORY +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + CLEARING_MEMBER_CATEGORY char(4) +); +COMMENT ON TABLE CLEARING_MEMBER_CATEGORY IS 'Категории Участника клиринга'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.COMPANY_ID IS 'Идентификатор Компании (linked to company)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.CLEARING_MEMBER_CATEGORY IS 'Идентификатор категории участника клиринга (linked to clearingMemberCategory)'; + +-- contact - Контакты Компании +DROP TABLE IF EXISTS CONTACT; +CREATE TABLE CONTACT +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + CONTACT_TYPE char(4), + CONTACT_VALUE varchar(255) +); +COMMENT ON TABLE CONTACT IS 'Контакты Компании'; + +COMMENT ON COLUMN CONTACT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CONTACT.COMPANY_ID IS 'Идентификатор Компании (linked to company)'; + +COMMENT ON COLUMN CONTACT.CONTACT_TYPE IS 'Идентификатор справочника (linked to contactType)'; + +COMMENT ON COLUMN CONTACT.CONTACT_VALUE IS 'Значение справочника'; + +-- profileDocument - Досье Компании +DROP TABLE IF EXISTS PROFILE_DOCUMENT; +CREATE TABLE PROFILE_DOCUMENT +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + DOCUMENT_TYPE char(4), + ISSUE_DATE date, + ISSUE_PLACE varchar(255), + ISSUER varchar(255), + ISSUER_CODE varchar(255), + NAME varchar(255), + NUMBER varchar(255), + PLACE varchar(255), + VALID_FROM_DATE date, + VALID_TO_DATE date, + LINK varchar(255) +); +COMMENT ON TABLE PROFILE_DOCUMENT IS 'Досье Компании'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.COMPANY_ID IS 'Идентификатор Компании (linked to company)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.DOCUMENT_TYPE IS 'Идентификатор типа документа (linked to documentType)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ISSUE_DATE IS 'Дата выдачи'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ISSUE_PLACE IS 'Место выдачи'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ISSUER IS 'Кем выдан'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ISSUER_CODE IS 'Код выдавшего органа'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.NAME IS 'Наименование'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.NUMBER IS 'Номер'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.PLACE IS 'Место'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.LINK IS 'Ссылка на документ'; + +-- companySymbols - Реквизиты Компании +DROP TABLE IF EXISTS COMPANY_SYMBOLS; +CREATE TABLE COMPANY_SYMBOLS +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + COMPANY_SYMBOL char(4), + COMPANY_SYMBOL_VALUE varchar(255) +); +COMMENT ON TABLE COMPANY_SYMBOLS IS 'Реквизиты Компании'; + +COMMENT ON COLUMN COMPANY_SYMBOLS.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY_SYMBOLS.COMPANY_ID IS 'Идентификатор Компании (linked to company)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS.COMPANY_SYMBOL IS 'Идентификатор справочника (linked to companySymbol)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS.COMPANY_SYMBOL_VALUE IS 'Значение справочника'; + +-- clearmemberRegistry - Реестр участников клиринга +DROP TABLE IF EXISTS CLEARMEMBER_REGISTRY; +CREATE TABLE CLEARMEMBER_REGISTRY +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + TRADING_CODE varchar(255), + CLEARING_CODE varchar(255), + FULL_NAME varchar(255), + SHORT_NAME varchar(255), + CATEGORY_LIST char(4), + CORPORATION_SOLE char(4), + ACCOUNT varchar(50), + BANK bigint, + BANK_NAME varchar(255), + INN varchar(255), + BIC varchar(255), + OGRN varchar(255), + CPP varchar(255), + OCPO varchar(255), + CONTRACT_NUMBER varchar(255), + CONTRACT_DATE date, + REGISTRATION_DATE date, + SYSTEM_DATE date, + ACCESS_DATE timestamp, + SUSPENTION_DATE timestamp, + REOPENING_DATE timestamp, + CLOSE_DATE timestamp, + EXCLUSION_DATE timestamp, + ADDRESS varchar(255), + EMAIL varchar(255) +); +COMMENT ON TABLE CLEARMEMBER_REGISTRY IS 'Реестр участников клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.TRADING_CODE IS 'Код участника торгов'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.FULL_NAME IS 'Полное наименование участника клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.SHORT_NAME IS 'Краткое наименование участника клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.CATEGORY_LIST IS 'Идентификатор категории участника клиринга (linked to clearingCategory)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.CORPORATION_SOLE IS 'Идентификатор единоличного исполнительного органа (linked to corporationSoleType)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.ACCOUNT IS 'Cчета'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.BANK IS 'Банк (linked to bankAccount)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.BANK_NAME IS 'Наименование банка'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.INN IS 'Идентификационный номер налогоплательщика (ИНН)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.BIC IS 'Банковский идентификационный код (БИК)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.OGRN IS 'Основной государственный регистрационный номер'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.CPP IS 'Код причины постановки (КПП)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.OCPO IS 'Код в Общероссийском классификаторе предприятий'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.CONTRACT_NUMBER IS 'Номер договора'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.CONTRACT_DATE IS 'Дата выдачи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.REGISTRATION_DATE IS 'Дата регистрации'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.SYSTEM_DATE IS 'Системная дата'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.ACCESS_DATE IS 'Дата допуска к КО'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.SUSPENTION_DATE IS 'Дата приостановления'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.REOPENING_DATE IS 'Дата возобновления'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.CLOSE_DATE IS 'Дата прекращения'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.EXCLUSION_DATE IS 'Дата исключения из реестра'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.ADDRESS IS 'Адрес местонахождения'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY.EMAIL IS 'Электронная почта'; + +-- clearmemberRegistryChange - Журнал изменений информации участников клиринга +DROP TABLE IF EXISTS CLEARMEMBER_REGISTRY_CHANGE; +CREATE TABLE CLEARMEMBER_REGISTRY_CHANGE +( + DATE timestamp, + CLEARING_CODE varchar(255), + COMMENT varchar(255) +); +COMMENT ON TABLE CLEARMEMBER_REGISTRY_CHANGE IS 'Журнал изменений информации участников клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY_CHANGE.DATE IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY_CHANGE.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTRY_CHANGE.COMMENT IS 'Комментарий'; + +-- keyRate - Ключевая ставка ЦБ +DROP TABLE IF EXISTS KEY_RATE; +CREATE TABLE KEY_RATE +( + ID bigint PRIMARY KEY, + RATE numeric(72, 18), + START_DATE date, + END_DATE date, + DOCUMENT varchar(255), + WORKFLOW_STATUS char(4) +); +COMMENT ON TABLE KEY_RATE IS 'Ключевая ставка ЦБ'; + +COMMENT ON COLUMN KEY_RATE.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN KEY_RATE.RATE IS 'Ключевая ставка ЦБ РФ'; + +COMMENT ON COLUMN KEY_RATE.START_DATE IS 'Дата начала действия ключевой ставки'; + +COMMENT ON COLUMN KEY_RATE.END_DATE IS 'Дата окончания действия ключевой ставки'; + +COMMENT ON COLUMN KEY_RATE.DOCUMENT IS 'Документ ЦБ РФ, регламентирующий установку величины ключевой ставки'; + +COMMENT ON COLUMN KEY_RATE.WORKFLOW_STATUS IS 'Статус (linked to workflowStatus)'; + +-- companyRoleSet - Таблица ролей Компании +DROP TABLE IF EXISTS COMPANY_ROLE_SET; +CREATE TABLE COMPANY_ROLE_SET +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + ROLE_ID bigint +); +COMMENT ON TABLE COMPANY_ROLE_SET IS 'Таблица ролей Компании'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.COMPANY_ID IS 'Идентификатор списка ролей Компании (linked to company)'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.ROLE_ID IS 'Значение справочника (linked to companyRole)'; + +-- account - Счета +DROP TABLE IF EXISTS ACCOUNT; +CREATE TABLE ACCOUNT +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + ACCOUNT varchar(50), + ACCOUNT_TYPE char(4), + RELATION_ID bigint, + ACCOUNT_STATUS char(4), + PROCESSING_SIGN char(4) +); +COMMENT ON TABLE ACCOUNT IS 'Счета'; + +COMMENT ON COLUMN ACCOUNT.ID IS 'Идентификатор'; + +COMMENT ON COLUMN ACCOUNT.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN ACCOUNT.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN ACCOUNT.ACCOUNT IS 'Номер счета'; + +COMMENT ON COLUMN ACCOUNT.ACCOUNT_TYPE IS 'Идентификатор типа счета (linked to accountType)'; + +COMMENT ON COLUMN ACCOUNT.RELATION_ID IS 'Идентификатор договорных отношений (linked to relation)'; + +COMMENT ON COLUMN ACCOUNT.ACCOUNT_STATUS IS 'Идентификатор статуса (linked to accountStatus)'; + +COMMENT ON COLUMN ACCOUNT.PROCESSING_SIGN IS 'Признак обработки счета (linked to allowed)'; + + +-- History log of account - Счета +DROP TABLE IF EXISTS ACCOUNT_HISTORY; +CREATE TABLE ACCOUNT_HISTORY +( + ACCOUNT_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + ACCOUNT varchar(50), + ACCOUNT_TYPE char(4), + RELATION_ID bigint, + ACCOUNT_STATUS char(4), + PROCESSING_SIGN char(4) +); +COMMENT ON TABLE ACCOUNT_HISTORY 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_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT IS 'Номер счета'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_TYPE IS 'Идентификатор типа счета (linked to accountType)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.RELATION_ID IS 'Идентификатор договорных отношений (linked to relation)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_STATUS IS 'Идентификатор статуса (linked to accountStatus)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.PROCESSING_SIGN IS 'Признак обработки счета (linked to allowed)'; + +-- relation - Договорные отношения +DROP TABLE IF EXISTS RELATION; +CREATE TABLE RELATION +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CONSUMER_ID bigint, + SUPPLIER_ID bigint, + SERVICE_STATUS char(4), + SERVICE char(4), + SERVICE_PRODUCT char(4), + COMMENT varchar(255) +); +COMMENT ON TABLE RELATION IS 'Договорные отношения'; + +COMMENT ON COLUMN RELATION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN RELATION.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN RELATION.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN RELATION.CONSUMER_ID IS 'Идентификатор Компании пользователя услуги (linked to company)'; + +COMMENT ON COLUMN RELATION.SUPPLIER_ID IS 'Идентификатор Компании поставщика услуги (linked to company)'; + +COMMENT ON COLUMN RELATION.SERVICE_STATUS IS 'Идентификатор статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN RELATION.SERVICE IS 'Идентификатор сервиса (linked to service)'; + +COMMENT ON COLUMN RELATION.SERVICE_PRODUCT IS 'Идентификатор продукта (linked to serviceProduct)'; + +COMMENT ON COLUMN RELATION.COMMENT IS 'Текст причины'; + + +-- History log of relation - Договорные отношения +DROP TABLE IF EXISTS RELATION_HISTORY; +CREATE TABLE RELATION_HISTORY +( + RELATION_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CONSUMER_ID bigint, + SUPPLIER_ID bigint, + SERVICE_STATUS char(4), + SERVICE char(4), + SERVICE_PRODUCT char(4), + COMMENT varchar(255) +); +COMMENT ON TABLE RELATION_HISTORY IS 'История изменений таблицы relation'; +COMMENT ON COLUMN RELATION_HISTORY.RELATION_ID IS 'Идентификатор записи в таблице RELATION'; +COMMENT ON COLUMN RELATION_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN RELATION_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN RELATION_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN RELATION_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN RELATION_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN RELATION_HISTORY.CONSUMER_ID IS 'Идентификатор Компании пользователя услуги (linked to company)'; + +COMMENT ON COLUMN RELATION_HISTORY.SUPPLIER_ID IS 'Идентификатор Компании поставщика услуги (linked to company)'; + +COMMENT ON COLUMN RELATION_HISTORY.SERVICE_STATUS IS 'Идентификатор статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN RELATION_HISTORY.SERVICE IS 'Идентификатор сервиса (linked to service)'; + +COMMENT ON COLUMN RELATION_HISTORY.SERVICE_PRODUCT IS 'Идентификатор продукта (linked to serviceProduct)'; + +COMMENT ON COLUMN RELATION_HISTORY.COMMENT IS 'Текст причины'; + +-- bankAccount - Банковские реквизиты для перечисления денежных средств +DROP TABLE IF EXISTS BANK_ACCOUNT; +CREATE TABLE BANK_ACCOUNT +( + ID bigint PRIMARY KEY, + ACCOUNT_ID bigint, + BANK_IDENTIFICATION_CODE varchar(255), + BANK_NAME varchar(255), + CORRESPONDENT_ACCOUNT varchar(255), + CORRESPONDENT_ACCOUNT_NAME varchar(255), + CURRENCY char(4), + DESTINATION varchar(255), + IBAN varchar(255), + INTERNATIONAL_TRANSFER_SIGN char(4), + SWIFT_CODE varchar(255), + TAXPAYER_IDENTIFICATION_NUMBER varchar(255), + TAX_REGISTRATION_REASON_CODE varchar(255), + ACCOUNT varchar(50) +); +COMMENT ON TABLE BANK_ACCOUNT IS 'Банковские реквизиты для перечисления денежных средств'; + +COMMENT ON COLUMN BANK_ACCOUNT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN BANK_ACCOUNT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_IDENTIFICATION_CODE IS 'Банковский идентификационный код (БИК)'; + +COMMENT ON COLUMN BANK_ACCOUNT.BANK_NAME IS 'Наименование банка'; + +COMMENT ON COLUMN BANK_ACCOUNT.CORRESPONDENT_ACCOUNT IS 'Корреспондентский счет'; + +COMMENT ON COLUMN BANK_ACCOUNT.CORRESPONDENT_ACCOUNT_NAME IS 'Наименование корреспондентского счета'; + +COMMENT ON COLUMN BANK_ACCOUNT.CURRENCY IS 'Идентификатор валюты (linked to currencyCode)'; + +COMMENT ON COLUMN BANK_ACCOUNT.DESTINATION IS 'Назначение'; + +COMMENT ON COLUMN BANK_ACCOUNT.IBAN IS 'Международный номер банковского счета'; + +COMMENT ON COLUMN BANK_ACCOUNT.INTERNATIONAL_TRANSFER_SIGN IS 'Доступность международных переводов (linked to allowed)'; + +COMMENT ON COLUMN BANK_ACCOUNT.SWIFT_CODE IS 'Код SWIFT'; + +COMMENT ON COLUMN BANK_ACCOUNT.TAXPAYER_IDENTIFICATION_NUMBER IS 'Идентификационный номер налогоплательщика (ИНН)'; + +COMMENT ON COLUMN BANK_ACCOUNT.TAX_REGISTRATION_REASON_CODE IS 'Код причины постановки (КПП)'; + +COMMENT ON COLUMN BANK_ACCOUNT.ACCOUNT IS 'Номер счета'; + + +-- History log of bankAccount - Банковские реквизиты для перечисления денежных средств +DROP TABLE IF EXISTS BANK_ACCOUNT_HISTORY; +CREATE TABLE BANK_ACCOUNT_HISTORY +( + BANK_ACCOUNT_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + ACCOUNT_ID bigint, + BANK_IDENTIFICATION_CODE varchar(255), + BANK_NAME varchar(255), + CORRESPONDENT_ACCOUNT varchar(255), + CORRESPONDENT_ACCOUNT_NAME varchar(255), + CURRENCY char(4), + DESTINATION varchar(255), + IBAN varchar(255), + INTERNATIONAL_TRANSFER_SIGN char(4), + SWIFT_CODE varchar(255), + TAXPAYER_IDENTIFICATION_NUMBER varchar(255), + TAX_REGISTRATION_REASON_CODE varchar(255), + ACCOUNT varchar(50) +); +COMMENT ON TABLE BANK_ACCOUNT_HISTORY IS 'История изменений таблицы bankAccount'; +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_ACCOUNT_ID IS 'Идентификатор записи в таблице BANK_ACCOUNT'; +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_IDENTIFICATION_CODE IS 'Банковский идентификационный код (БИК)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.BANK_NAME IS 'Наименование банка'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.CORRESPONDENT_ACCOUNT IS 'Корреспондентский счет'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.CORRESPONDENT_ACCOUNT_NAME IS 'Наименование корреспондентского счета'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.CURRENCY IS 'Идентификатор валюты (linked to currencyCode)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.DESTINATION IS 'Назначение'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.IBAN IS 'Международный номер банковского счета'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.INTERNATIONAL_TRANSFER_SIGN IS 'Доступность международных переводов (linked to allowed)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.SWIFT_CODE IS 'Код SWIFT'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.TAXPAYER_IDENTIFICATION_NUMBER IS 'Идентификационный номер налогоплательщика (ИНН)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.TAX_REGISTRATION_REASON_CODE IS 'Код причины постановки (КПП)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ACCOUNT IS 'Номер счета'; + +-- informationAccount - Информационные счета +DROP TABLE IF EXISTS INFORMATION_ACCOUNT; +CREATE TABLE INFORMATION_ACCOUNT +( + ID bigint PRIMARY KEY, + ACCOUNT_ID bigint, + CLEARING_ACCOUNT_ID bigint +); +COMMENT ON TABLE INFORMATION_ACCOUNT IS 'Информационные счета'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.CLEARING_ACCOUNT_ID IS 'Идентификатор клирингового счета (linked to account)'; + + +-- History log of informationAccount - Информационные счета +DROP TABLE IF EXISTS INFORMATION_ACCOUNT_HISTORY; +CREATE TABLE INFORMATION_ACCOUNT_HISTORY +( + INFORMATION_ACCOUNT_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + ACCOUNT_ID bigint, + CLEARING_ACCOUNT_ID bigint +); +COMMENT ON TABLE INFORMATION_ACCOUNT_HISTORY IS 'История изменений таблицы informationAccount'; +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.INFORMATION_ACCOUNT_ID IS 'Идентификатор записи в таблице INFORMATION_ACCOUNT'; +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.CLEARING_ACCOUNT_ID IS 'Идентификатор клирингового счета (linked to account)'; + +-- accountRouting - Маршрутизация счета +DROP TABLE IF EXISTS ACCOUNT_ROUTING; +CREATE TABLE ACCOUNT_ROUTING +( + ID bigint PRIMARY KEY, + DESTINATION_ID bigint, + RELATION_ID bigint, + SOURCE_ID bigint +); +COMMENT ON TABLE ACCOUNT_ROUTING IS 'Маршрутизация счета'; + +COMMENT ON COLUMN ACCOUNT_ROUTING.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT_ROUTING.DESTINATION_ID IS 'Счет-назначение (зачисления) (linked to account)'; + +COMMENT ON COLUMN ACCOUNT_ROUTING.RELATION_ID IS 'Идентификатор договорных отношений (linked to relation)'; + +COMMENT ON COLUMN ACCOUNT_ROUTING.SOURCE_ID IS 'Счет-источник (списания) (linked to account)'; + + +-- History log of accountRouting - Маршрутизация счета +DROP TABLE IF EXISTS ACCOUNT_ROUTING_HISTORY; +CREATE TABLE ACCOUNT_ROUTING_HISTORY +( + ACCOUNT_ROUTING_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + DESTINATION_ID bigint, + RELATION_ID bigint, + SOURCE_ID bigint +); +COMMENT ON TABLE ACCOUNT_ROUTING_HISTORY IS 'История изменений таблицы accountRouting'; +COMMENT ON COLUMN ACCOUNT_ROUTING_HISTORY.ACCOUNT_ROUTING_ID IS 'Идентификатор записи в таблице ACCOUNT_ROUTING'; +COMMENT ON COLUMN ACCOUNT_ROUTING_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN ACCOUNT_ROUTING_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN ACCOUNT_ROUTING_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT_ROUTING_HISTORY.DESTINATION_ID IS 'Счет-назначение (зачисления) (linked to account)'; + +COMMENT ON COLUMN ACCOUNT_ROUTING_HISTORY.RELATION_ID IS 'Идентификатор договорных отношений (linked to relation)'; + +COMMENT ON COLUMN ACCOUNT_ROUTING_HISTORY.SOURCE_ID IS 'Счет-источник (списания) (linked to account)'; + +-- security - Инструменты +DROP TABLE IF EXISTS SECURITY; +CREATE TABLE SECURITY +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + INSTRUMENT_TYPE char(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), + WORKFLOW_STATUS char(4) +); +COMMENT ON TABLE SECURITY IS 'Инструменты'; + +COMMENT ON COLUMN SECURITY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SECURITY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN SECURITY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN SECURITY.INSTRUMENT_TYPE IS 'Идентификатор типа инструмента (linked to instrumentType)'; + +COMMENT ON COLUMN SECURITY.ISSUER_ID IS 'Идентификатор эмитента (linked to company)'; + +COMMENT ON COLUMN SECURITY.SHORT_NAME IS 'Краткое наименование инструмента'; + +COMMENT ON COLUMN SECURITY.FULL_NAME IS 'Полное наименование инструмента'; + +COMMENT ON COLUMN SECURITY.SHORT_NAME_ENG IS 'Краткое наименование инструмента на английском'; + +COMMENT ON COLUMN SECURITY.FULL_NAME_ENG IS 'Полное наименование инструмента на английском'; + +COMMENT ON COLUMN SECURITY.SECURITY_SYMBOL IS 'Код инструмента'; + +COMMENT ON COLUMN SECURITY.WORKFLOW_STATUS IS 'Идентификатор статуса (linked to workflowStatus)'; + + +-- History log of security - Инструменты +DROP TABLE IF EXISTS SECURITY_HISTORY; +CREATE TABLE SECURITY_HISTORY +( + SECURITY_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + INSTRUMENT_TYPE char(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), + WORKFLOW_STATUS char(4) +); +COMMENT ON TABLE SECURITY_HISTORY IS 'История изменений таблицы security'; +COMMENT ON COLUMN SECURITY_HISTORY.SECURITY_ID IS 'Идентификатор записи в таблице SECURITY'; +COMMENT ON COLUMN SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN SECURITY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN SECURITY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SECURITY_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN SECURITY_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN SECURITY_HISTORY.INSTRUMENT_TYPE IS 'Идентификатор типа инструмента (linked to instrumentType)'; + +COMMENT ON COLUMN SECURITY_HISTORY.ISSUER_ID IS 'Идентификатор эмитента (linked to company)'; + +COMMENT ON COLUMN SECURITY_HISTORY.SHORT_NAME IS 'Краткое наименование инструмента'; + +COMMENT ON COLUMN SECURITY_HISTORY.FULL_NAME IS 'Полное наименование инструмента'; + +COMMENT ON COLUMN SECURITY_HISTORY.SHORT_NAME_ENG IS 'Краткое наименование инструмента на английском'; + +COMMENT ON COLUMN SECURITY_HISTORY.FULL_NAME_ENG IS 'Полное наименование инструмента на английском'; + +COMMENT ON COLUMN SECURITY_HISTORY.SECURITY_SYMBOL IS 'Код инструмента'; + +COMMENT ON COLUMN SECURITY_HISTORY.WORKFLOW_STATUS IS 'Идентификатор статуса (linked to workflowStatus)'; + +-- currency - Инструменты Валюты +DROP TABLE IF EXISTS CURRENCY; +CREATE TABLE CURRENCY +( + ID bigint PRIMARY KEY, + COUNTRY_CODE char(4), + CURRENCY_CODE char(4) +); +COMMENT ON TABLE CURRENCY IS 'Инструменты Валюты'; + +COMMENT ON COLUMN CURRENCY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CURRENCY.COUNTRY_CODE IS 'Идентификатор кода страны (linked to countryCode)'; + +COMMENT ON COLUMN CURRENCY.CURRENCY_CODE IS 'Идентификатор кода валюты (linked to currencyCode)'; + + +-- History log of currency - Инструменты Валюты +DROP TABLE IF EXISTS CURRENCY_HISTORY; +CREATE TABLE CURRENCY_HISTORY +( + CURRENCY_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + COUNTRY_CODE char(4), + CURRENCY_CODE char(4) +); +COMMENT ON TABLE CURRENCY_HISTORY IS 'История изменений таблицы currency'; +COMMENT ON COLUMN CURRENCY_HISTORY.CURRENCY_ID IS 'Идентификатор записи в таблице CURRENCY'; +COMMENT ON COLUMN CURRENCY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN CURRENCY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN CURRENCY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CURRENCY_HISTORY.COUNTRY_CODE IS 'Идентификатор кода страны (linked to countryCode)'; + +COMMENT ON COLUMN CURRENCY_HISTORY.CURRENCY_CODE IS 'Идентификатор кода валюты (linked to currencyCode)'; + +-- moneyMarketSecurity - Инструменты Денежного рынка +DROP TABLE IF EXISTS MONEY_MARKET_SECURITY; +CREATE TABLE MONEY_MARKET_SECURITY +( + ID bigint PRIMARY KEY, + SECURITY_ID bigint, + DESCRIPTION varchar(255), + START_DATE date, + END_DATE date, + NOMINAL_VALUE numeric(72, 2), + NOMINAL_CURRENCY bigint, + INSTRUMENT_TYPE char(4), + FULL_NAME varchar(255), + SECURITY_SYMBOL varchar(255), + TERM_TYPE char(4) +); +COMMENT ON TABLE MONEY_MARKET_SECURITY IS 'Инструменты Денежного рынка'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.DESCRIPTION IS 'Описание'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.START_DATE IS 'Дата начала действия'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.END_DATE IS 'Дата окончания действия'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.NOMINAL_VALUE IS 'Номинал'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.NOMINAL_CURRENCY IS 'Валюта номинала (linked to currencyCode)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.INSTRUMENT_TYPE IS 'Идентификатор типа инструмента (linked to instrumentType)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.FULL_NAME IS 'Полное наименование инструмента'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.SECURITY_SYMBOL IS 'Код инструмента'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.TERM_TYPE IS 'Идентификатор вида инструмента (linked to termType)'; + + +-- History log of moneyMarketSecurity - Инструменты Денежного рынка +DROP TABLE IF EXISTS MONEY_MARKET_SECURITY_HISTORY; +CREATE TABLE MONEY_MARKET_SECURITY_HISTORY +( + MONEY_MARKET_SECURITY_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + SECURITY_ID bigint, + DESCRIPTION varchar(255), + START_DATE date, + END_DATE date, + NOMINAL_VALUE numeric(72, 2), + NOMINAL_CURRENCY bigint, + INSTRUMENT_TYPE char(4), + FULL_NAME varchar(255), + SECURITY_SYMBOL varchar(255), + TERM_TYPE char(4) +); +COMMENT ON TABLE MONEY_MARKET_SECURITY_HISTORY IS 'История изменений таблицы moneyMarketSecurity'; +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.MONEY_MARKET_SECURITY_ID IS 'Идентификатор записи в таблице MONEY_MARKET_SECURITY'; +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.DESCRIPTION IS 'Описание'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.START_DATE IS 'Дата начала действия'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.END_DATE IS 'Дата окончания действия'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.NOMINAL_VALUE IS 'Номинал'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.NOMINAL_CURRENCY IS 'Валюта номинала (linked to currencyCode)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.INSTRUMENT_TYPE IS 'Идентификатор типа инструмента (linked to instrumentType)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.FULL_NAME IS 'Полное наименование инструмента'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.SECURITY_SYMBOL IS 'Код инструмента'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.TERM_TYPE IS 'Идентификатор вида инструмента (linked to termType)'; + +-- listing - Листинг инструментов +DROP TABLE IF EXISTS LISTING; +CREATE TABLE LISTING +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + SECURITY_ID bigint, + LOT_SIZE numeric(72, 2), + MARKET char(4), + SYMBOL_CODE varchar(255), + SYMBOL_NAME varchar(255), + TRADING_CURRENCY char(4), + WORKFLOW_STATUS char(4) +); +COMMENT ON TABLE LISTING IS 'Листинг инструментов'; + +COMMENT ON COLUMN LISTING.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LISTING.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN LISTING.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN LISTING.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN LISTING.LOT_SIZE IS 'Размер лота'; + +COMMENT ON COLUMN LISTING.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN LISTING.SYMBOL_CODE IS 'Код инструмента на торговой площадке'; + +COMMENT ON COLUMN LISTING.SYMBOL_NAME IS 'Название инструмента на торговой площадке'; + +COMMENT ON COLUMN LISTING.TRADING_CURRENCY IS 'Идентификатор кода валюты расчета (linked to currency)'; + +COMMENT ON COLUMN LISTING.WORKFLOW_STATUS IS 'Идентификатор статуса листинга в системе (linked to workflowStatus)'; + + +-- History log of listing - Листинг инструментов +DROP TABLE IF EXISTS LISTING_HISTORY; +CREATE TABLE LISTING_HISTORY +( + LISTING_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + SECURITY_ID bigint, + LOT_SIZE numeric(72, 2), + MARKET char(4), + SYMBOL_CODE varchar(255), + SYMBOL_NAME varchar(255), + TRADING_CURRENCY char(4), + WORKFLOW_STATUS char(4) +); +COMMENT ON TABLE LISTING_HISTORY 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_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN LISTING_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LISTING_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN LISTING_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN LISTING_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN LISTING_HISTORY.LOT_SIZE IS 'Размер лота'; + +COMMENT ON COLUMN LISTING_HISTORY.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN LISTING_HISTORY.SYMBOL_CODE IS 'Код инструмента на торговой площадке'; + +COMMENT ON COLUMN LISTING_HISTORY.SYMBOL_NAME IS 'Название инструмента на торговой площадке'; + +COMMENT ON COLUMN LISTING_HISTORY.TRADING_CURRENCY IS 'Идентификатор кода валюты расчета (linked to currency)'; + +COMMENT ON COLUMN LISTING_HISTORY.WORKFLOW_STATUS IS 'Идентификатор статуса листинга в системе (linked to workflowStatus)'; + +-- market - Торговые секции +DROP TABLE IF EXISTS MARKET; +CREATE TABLE MARKET +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + DESCRIPTION varchar(255), + EXCHANGE_ID bigint, + NAME varchar(255), + CODE char(4), + SETTLEMENT_CURRENCY char(4), + SECTOR char(4) +); +COMMENT ON TABLE MARKET IS 'Торговые секции'; + +COMMENT ON COLUMN MARKET.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MARKET.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN MARKET.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN MARKET.DESCRIPTION IS 'Описание'; + +COMMENT ON COLUMN MARKET.EXCHANGE_ID IS 'Идентификатор площадки (linked to company)'; + +COMMENT ON COLUMN MARKET.NAME IS 'Наименование'; + +COMMENT ON COLUMN MARKET.CODE IS 'Секция'; + +COMMENT ON COLUMN MARKET.SETTLEMENT_CURRENCY IS 'Валютный код расчетов (linked to currency)'; + +COMMENT ON COLUMN MARKET.SECTOR IS 'Идентификатор секции (linked to sector)'; + + +-- History log of market - Торговые секции +DROP TABLE IF EXISTS MARKET_HISTORY; +CREATE TABLE MARKET_HISTORY +( + MARKET_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + DESCRIPTION varchar(255), + EXCHANGE_ID bigint, + NAME varchar(255), + CODE char(4), + SETTLEMENT_CURRENCY char(4), + SECTOR char(4) +); +COMMENT ON TABLE MARKET_HISTORY IS 'История изменений таблицы market'; +COMMENT ON COLUMN MARKET_HISTORY.MARKET_ID IS 'Идентификатор записи в таблице MARKET'; +COMMENT ON COLUMN MARKET_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN MARKET_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN MARKET_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MARKET_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN MARKET_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN MARKET_HISTORY.DESCRIPTION IS 'Описание'; + +COMMENT ON COLUMN MARKET_HISTORY.EXCHANGE_ID IS 'Идентификатор площадки (linked to company)'; + +COMMENT ON COLUMN MARKET_HISTORY.NAME IS 'Наименование'; + +COMMENT ON COLUMN MARKET_HISTORY.CODE IS 'Секция'; + +COMMENT ON COLUMN MARKET_HISTORY.SETTLEMENT_CURRENCY IS 'Валютный код расчетов (linked to currency)'; + +COMMENT ON COLUMN MARKET_HISTORY.SECTOR IS 'Идентификатор секции (linked to sector)'; + +-- accountBalance - Информация об остатках ден. средств +DROP TABLE IF EXISTS ACCOUNT_BALANCE; +CREATE TABLE ACCOUNT_BALANCE +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + CREATED_AT timestamp, + UPDATED_AT timestamp, + ACCOUNT_ID bigint, + ACCOUNT_TYPE char(4), + ACCOUNT varchar(50), + OPEN_BALANCE_AMOUNT numeric(72, 18), + START_BALANCE_AMOUNT numeric(72, 18), + CLOSE_BALANCE_AMOUNT numeric(72, 18), + TRADE_BALANCE_AMOUNT numeric(72, 18), + FREE_BALANCE_AMOUNT numeric(72, 18), + CHANGE_BALANCE_AMOUNT numeric(72, 18), + CREDIT_AMOUNT numeric(72, 18), + DEBIT_AMOUNT numeric(72, 18), + BALANCE_AMOUNT numeric(72, 18), + BALANCE_ACCOUNT_TYPE char(4), + CLEARING_DATE date, + CURRENCY_CODE char(4), + TRADING_CODE varchar(255), + SHORT_NAME varchar(255), + FULL_NAME varchar(255) +); +COMMENT ON TABLE ACCOUNT_BALANCE IS 'Информация об остатках ден. средств'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.COMPANY_ID IS 'Идентификатор участника (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT_TYPE IS 'Тип счета (linked to account)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT IS 'Счет'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.OPEN_BALANCE_AMOUNT IS 'Начальная сумма после расчетной организации'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.START_BALANCE_AMOUNT IS 'Начальная сумма остатков ден. средств на начало работы'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.CLOSE_BALANCE_AMOUNT IS 'Конечная сумма остатков ден. средств на счете'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.TRADE_BALANCE_AMOUNT IS 'Регистр «Денежные средства Участника клиринга – блокированные»'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.FREE_BALANCE_AMOUNT IS 'Регистр «Денежные средства Участника клиринга – свободные»'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.CHANGE_BALANCE_AMOUNT IS 'Сумма изменения остатков ден. средств на счете'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.CREDIT_AMOUNT IS 'Зачисления'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.DEBIT_AMOUNT IS 'Списания'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.BALANCE_AMOUNT IS 'Денежные средства Участника клиринга, зарезервированные на торги'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.BALANCE_ACCOUNT_TYPE IS 'Тип баланса (linked to balanceAccountType)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.CLEARING_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.CURRENCY_CODE IS 'Код валюты (linked to currency)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.TRADING_CODE IS 'Торговый код Участника (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.SHORT_NAME IS 'Короткое наименование Участника (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE.FULL_NAME IS 'Полное наименование Участника (linked to company)'; + + +-- History log of accountBalance - Информация об остатках ден. средств +DROP TABLE IF EXISTS ACCOUNT_BALANCE_HISTORY; +CREATE TABLE ACCOUNT_BALANCE_HISTORY +( + ACCOUNT_BALANCE_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + CREATED_AT timestamp, + UPDATED_AT timestamp, + ACCOUNT_ID bigint, + ACCOUNT_TYPE char(4), + ACCOUNT varchar(50), + OPEN_BALANCE_AMOUNT numeric(72, 18), + START_BALANCE_AMOUNT numeric(72, 18), + CLOSE_BALANCE_AMOUNT numeric(72, 18), + TRADE_BALANCE_AMOUNT numeric(72, 18), + FREE_BALANCE_AMOUNT numeric(72, 18), + CHANGE_BALANCE_AMOUNT numeric(72, 18), + CREDIT_AMOUNT numeric(72, 18), + DEBIT_AMOUNT numeric(72, 18), + BALANCE_AMOUNT numeric(72, 18), + BALANCE_ACCOUNT_TYPE char(4), + CLEARING_DATE date, + CURRENCY_CODE char(4), + TRADING_CODE varchar(255), + SHORT_NAME varchar(255), + FULL_NAME varchar(255) +); +COMMENT ON TABLE ACCOUNT_BALANCE_HISTORY IS 'История изменений таблицы accountBalance'; +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_BALANCE_ID IS 'Идентификатор записи в таблице ACCOUNT_BALANCE'; +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.COMPANY_ID IS 'Идентификатор участника (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_TYPE IS 'Тип счета (linked to account)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT IS 'Счет'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.OPEN_BALANCE_AMOUNT IS 'Начальная сумма после расчетной организации'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.START_BALANCE_AMOUNT IS 'Начальная сумма остатков ден. средств на начало работы'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CLOSE_BALANCE_AMOUNT IS 'Конечная сумма остатков ден. средств на счете'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.TRADE_BALANCE_AMOUNT IS 'Регистр «Денежные средства Участника клиринга – блокированные»'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.FREE_BALANCE_AMOUNT IS 'Регистр «Денежные средства Участника клиринга – свободные»'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CHANGE_BALANCE_AMOUNT IS 'Сумма изменения остатков ден. средств на счете'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CREDIT_AMOUNT IS 'Зачисления'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.DEBIT_AMOUNT IS 'Списания'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.BALANCE_AMOUNT IS 'Денежные средства Участника клиринга, зарезервированные на торги'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.BALANCE_ACCOUNT_TYPE IS 'Тип баланса (linked to balanceAccountType)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CLEARING_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CURRENCY_CODE IS 'Код валюты (linked to currency)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.TRADING_CODE IS 'Торговый код Участника (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.SHORT_NAME IS 'Короткое наименование Участника (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.FULL_NAME IS 'Полное наименование Участника (linked to company)'; + +-- balanceRegistry - Реестр остатков денежных средств +DROP TABLE IF EXISTS BALANCE_REGISTRY; +CREATE TABLE BALANCE_REGISTRY +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + S_DF01_DATE timestamp, + CURRENCY_CODE char(4), + 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), + MARKET bigint, + MARKET_NAME varchar(255), + FULL_NAME varchar(255), + TYPE_REMAINS char(4), + DOC_NUMBER varchar(255) +); +COMMENT ON TABLE BALANCE_REGISTRY IS 'Реестр остатков денежных средств'; + +COMMENT ON COLUMN BALANCE_REGISTRY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN BALANCE_REGISTRY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN BALANCE_REGISTRY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN BALANCE_REGISTRY.S_DF01_DATE IS 'Дата создания записи в S_DF01'; + +COMMENT ON COLUMN BALANCE_REGISTRY.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)'; + +COMMENT ON COLUMN BALANCE_REGISTRY.SET_HOUSE_NAME IS 'Наименование РО'; + +COMMENT ON COLUMN BALANCE_REGISTRY.ACCOUNT IS 'Номер торгового/клирингового счета'; + +COMMENT ON COLUMN BALANCE_REGISTRY.INFO_ACCOUNT IS 'Номер счета внутреннего учета СПВБ'; + +COMMENT ON COLUMN BALANCE_REGISTRY.REMAINDER_SUM IS 'Остаток денежных средст'; + +COMMENT ON COLUMN BALANCE_REGISTRY.BLOCKED_SUM IS 'Сумма блокированных денежных средств'; + +COMMENT ON COLUMN BALANCE_REGISTRY.UNBLOCKED_SUM IS 'Сумма свободных денежных средств'; + +COMMENT ON COLUMN BALANCE_REGISTRY.INN IS 'Идентификационный номер налогоплательщика (ИНН)'; + +COMMENT ON COLUMN BALANCE_REGISTRY.MARKET IS 'Сегмент рынка (linked to market)'; + +COMMENT ON COLUMN BALANCE_REGISTRY.MARKET_NAME IS 'Наименование сегмента рынка'; + +COMMENT ON COLUMN BALANCE_REGISTRY.FULL_NAME IS 'Наименование Участника Клиринга'; + +COMMENT ON COLUMN BALANCE_REGISTRY.TYPE_REMAINS IS 'Тип остатка'; + +COMMENT ON COLUMN BALANCE_REGISTRY.DOC_NUMBER IS 'Номер документа'; + +-- managementJournal - Журнал монитора и контроля +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL; +CREATE TABLE MANAGEMENT_JOURNAL +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + USER_ID bigint, + MANAGEMENT_JOURNAL_TYPE char(4), + MANAGEMENT_JOURNAL_PURPOSE char(4), + MANAGEMENT_JOURNAL_STATUS char(4), + TEXT varchar(4096), + CHANGE_ACCESS_SIGN char(4), + CHANGE_DATA_SIGN char(4), + EVENT_DATE timestamp, + UPDATED_AT timestamp, + CREATED_AT timestamp +); +COMMENT ON TABLE MANAGEMENT_JOURNAL IS 'Журнал монитора и контроля'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.ID IS 'Идентификатор'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.COMPANY_ID IS 'Участник (linked to company)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.USER_ID IS 'Автор сообщения (linked to userCls)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.MANAGEMENT_JOURNAL_TYPE IS 'Тип мониторинга (linked to managementJournalType)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.MANAGEMENT_JOURNAL_PURPOSE IS 'Цель мониторинга (linked to managementJournalPurpose)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.MANAGEMENT_JOURNAL_STATUS IS 'Статус (linked to managementJournalStatus)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.TEXT IS 'Сообщение'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.CHANGE_ACCESS_SIGN IS 'Признак изменения доступа (linked to allowed)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.CHANGE_DATA_SIGN IS 'Признак изменения данных (linked to allowed)'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.EVENT_DATE IS 'Дата события ЕГРЮЛ'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.CREATED_AT IS 'Создано'; + +-- inDocumentJournal - Журнал входящих документов +DROP TABLE IF EXISTS IN_DOCUMENT_JOURNAL; +CREATE TABLE IN_DOCUMENT_JOURNAL +( + ID bigint PRIMARY KEY, + REGISTRATION_DATE date, + REGISTRATION_TIME time, + REGISTRATION_NUMBER bigint, + DOCUMENT_NAME varchar(255), + SENDER varchar(255), + QUANTITY bigint, + CLEARING_CODE varchar(255), + COURIER_TYPE char(4), + EMAIL_DATE date, + AMOUNT numeric(72, 2), + DOSSIER_NUMBER varchar(50), + COMMENT varchar(255), + RECEIPT_DATE date, + RESULT_STATUS char(4) +); +COMMENT ON TABLE IN_DOCUMENT_JOURNAL IS 'Журнал входящих документов'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.ID IS 'Идентификатор'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.REGISTRATION_DATE IS 'Дата регистрации'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.REGISTRATION_TIME IS 'Время регистрации'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.REGISTRATION_NUMBER IS 'Регистационный номер'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.DOCUMENT_NAME IS 'Наименование документа'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.SENDER IS 'Полное наименование отправителя'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.QUANTITY IS 'Количествово экземпляров'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.CLEARING_CODE IS 'Код Участника Клиринга'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.COURIER_TYPE IS 'Способ отправки (linked to courierType)'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.EMAIL_DATE IS 'Дата отправки электронной почтой'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.AMOUNT IS 'Сумма'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.DOSSIER_NUMBER IS 'Номер дела'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.RECEIPT_DATE IS 'Дата получения оригинала'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.RESULT_STATUS IS 'Статус загрузки документа (linked to resultStatus)'; + +-- outDocumentJournal - Журнал исходящих документов +DROP TABLE IF EXISTS OUT_DOCUMENT_JOURNAL; +CREATE TABLE OUT_DOCUMENT_JOURNAL +( + ID bigint PRIMARY KEY, + REGISTRATION_DATE date, + REGISTRATION_TIME time, + REGISTRATION_NUMBER bigint, + DOCUMENT_NAME varchar(255), + ADDRESSEE varchar(255), + QUANTITY bigint, + CLEARING_CODE varchar(255), + COURIER_TYPE char(4), + EMAIL_DATE date, + AMOUNT numeric(72, 2), + DOSSIER_NUMBER varchar(50), + POST_DATE date, + RESULT_STATUS char(4) +); +COMMENT ON TABLE OUT_DOCUMENT_JOURNAL IS 'Журнал исходящих документов'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.ID IS 'Идентификатор'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.REGISTRATION_DATE IS 'Дата регистрации'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.REGISTRATION_TIME IS 'Время регистрации'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.REGISTRATION_NUMBER IS 'Регистационный номер'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.DOCUMENT_NAME IS 'Наименование документа'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.ADDRESSEE IS 'Полное наименование получателя'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.QUANTITY IS 'Количествово экземпляров'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.CLEARING_CODE IS 'Код Участника Клиринга'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.COURIER_TYPE IS 'Способ отправки (linked to courierType)'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.EMAIL_DATE IS 'Дата отправки электронной почтой'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.AMOUNT IS 'Сумма'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.DOSSIER_NUMBER IS 'Номер дела'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.POST_DATE IS 'Дата почтового отправления'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.RESULT_STATUS IS 'Статус выгрузки документа (linked to resultStatus)'; + +-- executionDeposit - Сделки +DROP TABLE IF EXISTS EXECUTION_DEPOSIT; +CREATE TABLE EXECUTION_DEPOSIT +( + ID bigint PRIMARY KEY, + EXCHANGE_EXECUTION_ID bigint, + EXCHANGE_EXECUTION_TIME date, + CREATED_AT time, + UPDATED_AT time, + TRADING_DATE date, + ACCOUNT_ID bigint, + MARKET char(4), + PRICE numeric(72, 18), + AMOUNT bigint, + SIDE_ID bigint, + SETTLEMENT_CURRENCY_ID bigint, + COMPANY_ID bigint, + DURATION bigint, + FIRST_LEG_SETTLEMENT_DATE date, + SECOND_LEG_SETTLEMENT_DATE date, + SECOND_LEG_AMOUNT date, + INTEREST_AMOUNT date, + SYMBOL_NAME varchar(50), + SYMBOL_CODE varchar(20), + SECURITIES_DEPOSIT_ID bigint, + COUNTER_PARTY_ID bigint, + SESSION_ID bigint, + COVERAGE_STATUS_ID bigint +); +COMMENT ON TABLE EXECUTION_DEPOSIT IS 'Сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.ID IS 'ID записи'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделкт в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_TIME IS 'Время в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.CREATED_AT IS 'Время регистрации сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.UPDATED_AT IS 'Время изменения сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.TRADING_DATE IS 'Дата торгов'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.ACCOUNT_ID IS 'Торговый счет (linked to account)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.MARKET IS 'Секция финансового инструмента (linked to market)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.PRICE IS 'Ставка по депозиту'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.AMOUNT IS 'Объем сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SIDE_ID IS 'Направление сделки (linked to moneyFlowSide)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SETTLEMENT_CURRENCY_ID IS 'Валюта расчетов по инструменту (linked to currencyCode)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COMPANY_ID IS 'Название компании (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.DURATION IS 'Срок, дней'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_SETTLEMENT_DATE IS 'Дата размещения'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_SETTLEMENT_DATE IS 'Дата возврата'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_AMOUNT IS 'Объем возврата'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.INTEREST_AMOUNT IS 'Проценты'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SYMBOL_NAME IS 'Наименование инструмента в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SYMBOL_CODE IS 'Код инструмента в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITIES_DEPOSIT_ID IS 'Наименование финансового инструмента (linked to security)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COUNTER_PARTY_ID IS 'Имя фирмы-партнера, с которым заключена сделка (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SESSION_ID IS 'Сессия (linked to moneyMarketSession)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COVERAGE_STATUS_ID IS 'Cтатус достаточности обеспечения (linked to allowed)'; + +-- executionDepositRegister - Реестр сделок +DROP TABLE IF EXISTS EXECUTION_DEPOSIT_REGISTER; +CREATE TABLE EXECUTION_DEPOSIT_REGISTER +( + ID bigint PRIMARY KEY, + EXCHANGE_EXECUTION_ID bigint, + EXCHANGE_EXECUTION_TIME date, + CREATED_AT time, + UPDATED_AT time, + TRADING_DATE date, + CLEARING_DATE date, + ACCOUNT_ID bigint, + MARKET char(4), + PRICE numeric(72, 18), + AMOUNT bigint, + SIDE_ID bigint, + SETTLEMENT_CURRENCY_ID bigint, + COMPANY_ID bigint, + FIRST_LEG_SETTLEMENT_DATE date, + SECOND_LEG_SETTLEMENT_DATE date, + SYMBOL_NAME varchar(50), + SYMBOL_CODE varchar(20), + SECURITIES_DEPOSIT_ID bigint, + COUNTER_PARTY_ID bigint, + COVERAGE_STATUS_ID bigint, + SESSION_ID bigint +); +COMMENT ON TABLE EXECUTION_DEPOSIT_REGISTER IS 'Реестр сделок'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.ID IS 'ID записи'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделкт в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.EXCHANGE_EXECUTION_TIME IS 'Время в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.CREATED_AT IS 'Время регистрации сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.UPDATED_AT IS 'Время изменения сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.TRADING_DATE IS 'Дата торгов'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.CLEARING_DATE IS 'Дата клиринга'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.ACCOUNT_ID IS 'Торговый счет (linked to account)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.MARKET IS 'Секция финансового инструмента (linked to market)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.PRICE IS 'Ставка по депозиту'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.AMOUNT IS 'Объем сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.SIDE_ID IS 'Направление заявки (linked to moneyFlowSide)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.SETTLEMENT_CURRENCY_ID IS 'Валюта расчетов по инструменту (linked to currencyCode)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.COMPANY_ID IS 'Название компании (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.FIRST_LEG_SETTLEMENT_DATE IS 'Дата размещения'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.SECOND_LEG_SETTLEMENT_DATE IS 'Дата возврата'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.SYMBOL_NAME IS 'Наименование инструмента в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.SYMBOL_CODE IS 'Код инструмента в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.SECURITIES_DEPOSIT_ID IS 'Наименование финансового инструмента (linked to security)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.COUNTER_PARTY_ID IS 'Имя фирмы-партнера, с которым заключена сделка (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.COVERAGE_STATUS_ID IS 'Cтатус достаточности обеспечения (linked to allowed)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT_REGISTER.SESSION_ID IS 'Сессия (linked to moneyMarketSession)'; + +-- admittedDeal - Реестр сделок, допущенных к клирингу +DROP TABLE IF EXISTS ADMITTED_DEAL; +CREATE TABLE ADMITTED_DEAL +( + COMPANY_FULL_NAME varchar(255), + EXECUTION_DEPOSIT_REGISTER_TRADING_DATE timestamp, + EXCHANGE_EXECUTION_ID varchar(255), + EXCHANGE_EXECUTION_TIME time, + SECURITY_ID bigint, + SECURITY_NAME varchar(255), + SELLER_FULL_NAME varchar(255), + SELLER_CLEARING_CODE varchar(255), + SELLER_ACCOUNT varchar, + BUYER_FULL_NAME varchar(255), + BUYER_CLEARING_CODE varchar(255), + BUYER_ACCOUNT varchar, + EXECUTION_DEPOSIT_REGISTER_AMOUNT numeric(72, 18) +); +COMMENT ON TABLE ADMITTED_DEAL IS 'Реестр сделок, допущенных к клирингу'; + +COMMENT ON COLUMN ADMITTED_DEAL.COMPANY_FULL_NAME IS 'Наименование биржи'; + +COMMENT ON COLUMN ADMITTED_DEAL.EXECUTION_DEPOSIT_REGISTER_TRADING_DATE IS 'Дата заключения сделки'; + +COMMENT ON COLUMN ADMITTED_DEAL.EXCHANGE_EXECUTION_ID IS 'Номер сделки'; + +COMMENT ON COLUMN ADMITTED_DEAL.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки'; + +COMMENT ON COLUMN ADMITTED_DEAL.SECURITY_ID IS 'Биржевой код инструмента (linked to security)'; + +COMMENT ON COLUMN ADMITTED_DEAL.SECURITY_NAME IS 'Наименование инструмента'; + +COMMENT ON COLUMN ADMITTED_DEAL.SELLER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL.SELLER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL.SELLER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL.BUYER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL.BUYER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL.BUYER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL.EXECUTION_DEPOSIT_REGISTER_AMOUNT IS 'Сумма сделки'; + +-- dealPassedControl - Реестр сделок, прошедших процедуру контроля обеспечения +DROP TABLE IF EXISTS DEAL_PASSED_CONTROL; +CREATE TABLE DEAL_PASSED_CONTROL +( + COMPANY_FULL_NAME varchar(255), + EXECUTION_DEPOSIT_REGISTER_TRADING_DATE timestamp, + EXCHANGE_EXECUTION_ID varchar(255), + EXCHANGE_EXECUTION_TIME time, + SECURITY_ID bigint, + SECURITY_NAME varchar(255), + SELLER_FULL_NAME varchar(255), + SELLER_CLEARING_CODE varchar(255), + SELLER_ACCOUNT varchar, + BUYER_FULL_NAME varchar(255), + BUYER_CLEARING_CODE varchar(255), + BUYER_ACCOUNT varchar, + EXECUTION_DEPOSIT_REGISTER_AMOUNT numeric(72, 18) +); +COMMENT ON TABLE DEAL_PASSED_CONTROL IS 'Реестр сделок, прошедших процедуру контроля обеспечения'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.COMPANY_FULL_NAME IS 'Наименование биржи'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.EXECUTION_DEPOSIT_REGISTER_TRADING_DATE IS 'Дата заключения сделки'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.EXCHANGE_EXECUTION_ID IS 'Номер сделки'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.SECURITY_ID IS 'Биржевой код инструмента (linked to security)'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.SECURITY_NAME IS 'Наименование инструмента'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.SELLER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.SELLER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.SELLER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.BUYER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.BUYER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.BUYER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN DEAL_PASSED_CONTROL.EXECUTION_DEPOSIT_REGISTER_AMOUNT IS 'Сумма сделки'; + +-- dealUnPassedControl - Реестр сделок, не прошедших процедуру контроля обеспечения +DROP TABLE IF EXISTS DEAL_UN_PASSED_CONTROL; +CREATE TABLE DEAL_UN_PASSED_CONTROL +( + COMPANY_FULL_NAME varchar(255), + EXECUTION_DEPOSIT_REGISTER_TRADING_DATE timestamp, + EXCHANGE_EXECUTION_ID varchar(255), + EXCHANGE_EXECUTION_TIME time, + SECURITY_ID bigint, + SECURITY_NAME varchar(255), + SELLER_FULL_NAME varchar(255), + SELLER_CLEARING_CODE varchar(255), + SELLER_ACCOUNT varchar, + BUYER_FULL_NAME varchar(255), + BUYER_CLEARING_CODE varchar(255), + BUYER_ACCOUNT varchar, + EXECUTION_DEPOSIT_REGISTER_AMOUNT numeric(72, 18), + RESULT varchar(3) +); +COMMENT ON TABLE DEAL_UN_PASSED_CONTROL IS 'Реестр сделок, не прошедших процедуру контроля обеспечения'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.COMPANY_FULL_NAME IS 'Наименование биржи'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.EXECUTION_DEPOSIT_REGISTER_TRADING_DATE IS 'Дата заключения сделки'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.EXCHANGE_EXECUTION_ID IS 'Номер сделки'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.SECURITY_ID IS 'Биржевой код инструмента (linked to security)'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.SECURITY_NAME IS 'Наименование инструмента'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.SELLER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.SELLER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.SELLER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.BUYER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.BUYER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.BUYER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.EXECUTION_DEPOSIT_REGISTER_AMOUNT IS 'Сумма сделки'; + +COMMENT ON COLUMN DEAL_UN_PASSED_CONTROL.RESULT IS 'Результат клиринга'; + +-- reportRegister - Реестр отчетов +DROP TABLE IF EXISTS REPORT_REGISTER; +CREATE TABLE REPORT_REGISTER +( + ID bigint PRIMARY KEY, + CREATED_AT time, + UPDATED_AT time, + CLEARING_DATE date, + COMPANY_FULL_NAME varchar(255), + CLEARING_CODE varchar(255), + SESSION_ID bigint, + COMMENT varchar(255), + NAME varchar(255), + QUANTITY bigint +); +COMMENT ON TABLE REPORT_REGISTER IS 'Реестр отчетов'; + +COMMENT ON COLUMN REPORT_REGISTER.ID IS 'ID записи'; + +COMMENT ON COLUMN REPORT_REGISTER.CREATED_AT IS 'Время регистрации'; + +COMMENT ON COLUMN REPORT_REGISTER.UPDATED_AT IS 'Время изменения'; + +COMMENT ON COLUMN REPORT_REGISTER.CLEARING_DATE IS 'Дата клиринга'; + +COMMENT ON COLUMN REPORT_REGISTER.COMPANY_FULL_NAME IS 'Наименование участника'; + +COMMENT ON COLUMN REPORT_REGISTER.CLEARING_CODE IS 'Код клиринга'; + +COMMENT ON COLUMN REPORT_REGISTER.SESSION_ID IS 'Сессия (linked to moneyMarketSession)'; + +COMMENT ON COLUMN REPORT_REGISTER.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN REPORT_REGISTER.NAME IS 'Наименование'; + +COMMENT ON COLUMN REPORT_REGISTER.QUANTITY IS 'Количество записей'; + +-- contractRegister - Журнал регистрации договоров +DROP TABLE IF EXISTS CONTRACT_REGISTER; +CREATE TABLE CONTRACT_REGISTER +( + ID bigint PRIMARY KEY, + CREATED_AT time, + UPDATED_AT time, + NAME varchar(255), + NUMBER varchar(255), + ISSUE_DATE date, + COMPANY_FULL_NAME bigint, + COMPANY_ID bigint, + DOCUMENT_TYPE char(4), + ISSUE_PLACE varchar(255), + ISSUER varchar(255), + ISSUER_CODE varchar(255), + PLACE varchar(255), + VALID_FROM_DATE date, + VALID_TO_DATE date, + CLOSE_DATE date, + COMMENT varchar(255) +); +COMMENT ON TABLE CONTRACT_REGISTER IS 'Журнал регистрации договоров'; + +COMMENT ON COLUMN CONTRACT_REGISTER.ID IS 'Номер записи'; + +COMMENT ON COLUMN CONTRACT_REGISTER.CREATED_AT IS 'Дата и время регистрации документа'; + +COMMENT ON COLUMN CONTRACT_REGISTER.UPDATED_AT IS 'Время изменения сделки'; + +COMMENT ON COLUMN CONTRACT_REGISTER.NAME IS 'Наименование документа'; + +COMMENT ON COLUMN CONTRACT_REGISTER.NUMBER IS 'Номер документа'; + +COMMENT ON COLUMN CONTRACT_REGISTER.ISSUE_DATE IS 'Дата составления'; + +COMMENT ON COLUMN CONTRACT_REGISTER.COMPANY_FULL_NAME IS 'Наименование лица'; + +COMMENT ON COLUMN CONTRACT_REGISTER.COMPANY_ID IS 'Идентификатор Компании (linked to company)'; + +COMMENT ON COLUMN CONTRACT_REGISTER.DOCUMENT_TYPE IS 'Идентификатор типа документа (linked to documentType)'; + +COMMENT ON COLUMN CONTRACT_REGISTER.ISSUE_PLACE IS 'Место выдачи'; + +COMMENT ON COLUMN CONTRACT_REGISTER.ISSUER IS 'Кем выдан'; + +COMMENT ON COLUMN CONTRACT_REGISTER.ISSUER_CODE IS 'Код выдавшего органа'; + +COMMENT ON COLUMN CONTRACT_REGISTER.PLACE IS 'Место'; + +COMMENT ON COLUMN CONTRACT_REGISTER.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN CONTRACT_REGISTER.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN CONTRACT_REGISTER.CLOSE_DATE IS 'Дата расторжения'; + +COMMENT ON COLUMN CONTRACT_REGISTER.COMMENT IS 'Место'; + +-- orderRegistry - Реестра распоряжений +DROP TABLE IF EXISTS ORDER_REGISTRY; +CREATE TABLE ORDER_REGISTRY +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + CREDIT_LEG_ACCOUNT varchar, + CREDIT_LEG_AMOUNT numeric(72, 18), + CREDIT_LEG_CURRENCY_CODE char(4), + CREDIT_LEG_DIRECTION bigint, + DEBIT_LEG_ACCOUNT varchar, + SENDER varchar(255), + ADDRESSEE varchar(255), + DOCUMENT_NUMBER varchar(255) +); +COMMENT ON TABLE ORDER_REGISTRY IS 'Реестра распоряжений'; + +COMMENT ON COLUMN ORDER_REGISTRY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ORDER_REGISTRY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN ORDER_REGISTRY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN ORDER_REGISTRY.CLEARING_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN ORDER_REGISTRY.CREDIT_LEG_ACCOUNT IS 'Счет отправителя'; + +COMMENT ON COLUMN ORDER_REGISTRY.CREDIT_LEG_AMOUNT IS 'Сумма отправителя'; + +COMMENT ON COLUMN ORDER_REGISTRY.CREDIT_LEG_CURRENCY_CODE IS 'Код валюты отправителя (linked to currency)'; + +COMMENT ON COLUMN ORDER_REGISTRY.CREDIT_LEG_DIRECTION IS 'Направление отправителя (linked to inOutDirection)'; + +COMMENT ON COLUMN ORDER_REGISTRY.DEBIT_LEG_ACCOUNT IS 'Счет получателя'; + +COMMENT ON COLUMN ORDER_REGISTRY.SENDER IS 'Отправитель'; + +COMMENT ON COLUMN ORDER_REGISTRY.ADDRESSEE IS 'Получатель'; + +COMMENT ON COLUMN ORDER_REGISTRY.DOCUMENT_NUMBER IS 'Номер документа в сторонней системе'; + +-- liabilitiesClaimsMoney - Требования и обязательства денежных средств +DROP TABLE IF EXISTS LIABILITIES_CLAIMS_MONEY; +CREATE TABLE LIABILITIES_CLAIMS_MONEY +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + CREATED_AT timestamp, + UPDATED_AT timestamp, + ACCOUNT_ID bigint, + ACCOUNT_TYPE bigint, + ACCOUNT varchar(50), + LIABILITIES_AMOUNT numeric(72, 2), + REFUND_INTEREST numeric(72, 2), + ACCRUED_INTEREST numeric(72, 2), + CLAIMS_AMOUNT numeric(72, 2), + SETTLEMENT_DATE date, + TRADING_DATE date, + CURRENCY char(4), + TRADING_CODE varchar(255), + SHORT_NAME varchar(255), + FULL_NAME varchar(255) +); +COMMENT ON TABLE LIABILITIES_CLAIMS_MONEY IS 'Требования и обязательства денежных средств'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.COMPANY_ID IS 'Идентификатор участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT_TYPE IS 'Тип счета (linked to account)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT IS 'Счет'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.LIABILITIES_AMOUNT IS 'Регистр «Обязательства по денежным средствам, сформированные по результатам собственных сделок Участника клиринга», исключая проценты'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.REFUND_INTEREST IS 'Проценты к возврату'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCRUED_INTEREST IS 'Начисленные проценты'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CLAIMS_AMOUNT IS 'Сумма требований, исключая проценты'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.SETTLEMENT_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.TRADING_DATE IS 'Дата торгов'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CURRENCY IS 'Код валюты (linked to currencyCode)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.TRADING_CODE IS 'Торговый код Участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.SHORT_NAME IS 'Короткое наименование Участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.FULL_NAME IS 'Полное наименование Участника (linked to company)'; + +-- liabilitiesClaimsAssets - Требования и обязательства финансовых активов +DROP TABLE IF EXISTS LIABILITIES_CLAIMS_ASSETS; +CREATE TABLE LIABILITIES_CLAIMS_ASSETS +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + CREATED_AT timestamp, + UPDATED_AT timestamp, + ACCOUNT_ID bigint, + ACCOUNT_TYPE bigint, + ACCOUNT varchar(50), + LIABILITIES_QUANTITY numeric(72, 18), + CLAIMS_QUANTITY numeric(72, 18), + CURRENCY char(4), + SETTLEMENT_DATE date, + TRADING_DATE date, + REFUND_DATE date, + PRICE numeric(72, 18), + SECURITY_ID bigint, + TRADING_CODE varchar(255), + CLEARING_CODE varchar(255), + SHORT_NAME varchar(255), + CONTRACT varchar(255), + COMMENT varchar(255), + FULL_NAME varchar(255), + PARENT_ID bigint, + LIABILITIES_CLAIMS_MONEY_ID bigint, + INTEREST_STATUS bigint, + CLEARING_STATUS bigint, + PAYMENT_ID bigint, + REFUND_PAYMENT_ID bigint +); +COMMENT ON TABLE LIABILITIES_CLAIMS_ASSETS IS 'Требования и обязательства финансовых активов'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.COMPANY_ID IS 'Идентификатор участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ACCOUNT_TYPE IS 'Тип счета (linked to account)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ACCOUNT IS 'Счет'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.LIABILITIES_QUANTITY IS 'Сумма обязательств'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLAIMS_QUANTITY IS 'Сумма требований'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CURRENCY IS 'Код валюты (linked to currencyCode)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SETTLEMENT_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.TRADING_DATE IS 'Дата торгов'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.REFUND_DATE IS 'Дата возврата'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.PRICE IS 'Ставка по депозиту'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SECURITY_ID IS 'Инструмент (linked to security)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.TRADING_CODE IS 'Торговый код Участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLEARING_CODE IS 'Клиринговый код Участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SHORT_NAME IS 'Короткое наименование Участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CONTRACT IS 'Номер договора'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.FULL_NAME IS 'Полное наименование Участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.PARENT_ID IS 'Идентификатор записи основного договора без разделения'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.LIABILITIES_CLAIMS_MONEY_ID IS 'Регистры денежных средств (linked to liabilitiesClaimsMoney)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.INTEREST_STATUS IS 'Статус возврата процентов (linked to interestStatus)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLEARING_STATUS IS 'Статус клиринга (linked to clearingStatus)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.PAYMENT_ID IS 'Платеж'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.REFUND_PAYMENT_ID IS 'Обратный платежа'; + +-- statement - Денежные средства от расчетной организации +DROP TABLE IF EXISTS STATEMENT; +CREATE TABLE STATEMENT +( + ID bigint PRIMARY KEY, + ADDRESSEE_ID bigint, + SENDER_ID bigint, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + STATEMENT_TYPE char(4), + COMMENT varchar(255), + ACCOUNT_ID bigint, + ACCOUNT varchar(50), + IN_OUT_DIRECTION char(4), + SETTLEMENT_DATE date, + AMOUNT numeric(72, 2), + CASH_MOVEMENT_CURRENCY_CODE char(4), + OPERATION_STATUS char(4), + ERROR_CODE char(4), + ERROR_TEXT char(4), + IN_S_DF_ID bigint, + OUT_S_DF_ID bigint, + IN_OUT_S_DF_TYPE char(4) +); +COMMENT ON TABLE STATEMENT IS 'Денежные средства от расчетной организации'; + +COMMENT ON COLUMN STATEMENT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN STATEMENT.ADDRESSEE_ID IS 'Идентификатор участника получателя (linked to company)'; + +COMMENT ON COLUMN STATEMENT.SENDER_ID IS 'Идентификатор участника отправителя (linked to company)'; + +COMMENT ON COLUMN STATEMENT.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN STATEMENT.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN STATEMENT.CLEARING_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN STATEMENT.STATEMENT_TYPE IS 'Тип поступления средств (linked to statementType)'; + +COMMENT ON COLUMN STATEMENT.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN STATEMENT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN STATEMENT.ACCOUNT IS 'Счет'; + +COMMENT ON COLUMN STATEMENT.IN_OUT_DIRECTION IS 'Направление (linked to inOutDirection)'; + +COMMENT ON COLUMN STATEMENT.SETTLEMENT_DATE IS 'Дата расчетов'; + +COMMENT ON COLUMN STATEMENT.AMOUNT IS 'Объем'; + +COMMENT ON COLUMN STATEMENT.CASH_MOVEMENT_CURRENCY_CODE IS 'Код валюты (linked to currency)'; + +COMMENT ON COLUMN STATEMENT.OPERATION_STATUS IS 'Cтатус обработки (linked to operationStatus)'; + +COMMENT ON COLUMN STATEMENT.ERROR_CODE IS 'Код ошибки (linked to errorCode)'; + +COMMENT ON COLUMN STATEMENT.ERROR_TEXT IS 'Полный текст ошибки (linked to errorText)'; + +COMMENT ON COLUMN STATEMENT.IN_S_DF_ID IS 'Идентификатор записи, инициирующей изменения этой таблицы'; + +COMMENT ON COLUMN STATEMENT.OUT_S_DF_ID IS 'Идентификатор записи, формируемой в результате изменения этой таблицы'; + +COMMENT ON COLUMN STATEMENT.IN_OUT_S_DF_TYPE IS 'Типы входящей и исходящей записей (linked to inOutSDfType)'; + +-- tradeSettlement - Проводки на базе сделок торговой системы +DROP TABLE IF EXISTS TRADE_SETTLEMENT; +CREATE TABLE TRADE_SETTLEMENT +( + ID bigint PRIMARY KEY, + ADDRESSEE_ID bigint, + SENDER_ID bigint, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + AMOUNT numeric(72, 2), + CURRENCY_CODE char(4), + IN_OUT_DIRECTION bigint, + ACCOUNT_ID bigint, + ACCOUNT varchar(50), + OPERATION_STATUS char(4) +); +COMMENT ON TABLE TRADE_SETTLEMENT IS 'Проводки на базе сделок торговой системы'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.ADDRESSEE_ID IS 'Идентификатор участника получателя (linked to company)'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.SENDER_ID IS 'Идентификатор участника отправителя (linked to company)'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.CLEARING_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.AMOUNT IS 'Объем'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.CURRENCY_CODE IS 'Код валюты (linked to currency)'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.IN_OUT_DIRECTION IS 'Направление (linked to inOutDirection)'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.ACCOUNT IS 'Счет'; + +COMMENT ON COLUMN TRADE_SETTLEMENT.OPERATION_STATUS IS 'Cтатус обработки (linked to operationStatus)'; + +-- operation - Проводки +DROP TABLE IF EXISTS OPERATION; +CREATE TABLE OPERATION +( + ID bigint PRIMARY KEY, + ADDRESSEE_ID bigint, + SENDER_ID bigint, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + OPERATION_TYPE_ID bigint, + OPERATION_STATUS char(4) +); +COMMENT ON TABLE OPERATION IS 'Проводки'; + +COMMENT ON COLUMN OPERATION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN OPERATION.ADDRESSEE_ID IS 'Идентификатор участника получателя (linked to company)'; + +COMMENT ON COLUMN OPERATION.SENDER_ID IS 'Идентификатор участника отправителя (linked to company)'; + +COMMENT ON COLUMN OPERATION.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN OPERATION.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN OPERATION.CLEARING_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN OPERATION.OPERATION_TYPE_ID IS 'Тип проводки (linked to operationType)'; + +COMMENT ON COLUMN OPERATION.OPERATION_STATUS IS 'Cтатус обработки (linked to operationStatus)'; + +-- paymentInstruction - Информация о денежных средствах +DROP TABLE IF EXISTS PAYMENT_INSTRUCTION; +CREATE TABLE PAYMENT_INSTRUCTION +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + SENDER_ID bigint, + ADDRESSEE_ID bigint, + ADRESSEE_B_I_C varchar(255), + PAYEE_BANK_NAME varchar(255), + PAYEE_B_I_C varchar(255), + ADDRESSEE_BANK_NAME varchar(255), + PAYMENT_DATE timestamp, + _PAYMENT_PURPOSE varchar(255), + SETTLEMENT_DATE date, + CREDIT_LEG_AMOUNT bigint, + DEBIT_LEG_AMOUNT bigint, + CREDIT_LEG_ACCOUNT_ID bigint, + CREDIT_CS_ACCOUNT varchar(255), + CREDIT_LEG_ACCOUNT varchar(50), + DEBIT_LEG_ACCOUNT_ID bigint, + DEBIT_CS_ACCOUNT varchar(255), + DEBIT_LEG_ACCOUNT varchar(50), + CREDIT_LEG_DIRECTION bigint, + DEBIT_LEG_DIRECTION bigint, + CREDIT_LEG_CURRENCY_CODE char(4), + DEBIT_LEG_CURRENCY_CODE char(4), + CLEARING_DATE date, + TRANSACTION_STATUS char(4), + DOCUMENT_NUMBER varchar(255) +); +COMMENT ON TABLE PAYMENT_INSTRUCTION IS 'Информация о денежных средствах'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.SENDER_ID IS 'Идентификатор участника отправителя (linked to company)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ADDRESSEE_ID IS 'Идентификатор участника получателя (linked to company)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ADRESSEE_B_I_C IS 'Банковский идентификационный код (БИК) получателя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYEE_BANK_NAME IS 'Банк отправителя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYEE_B_I_C IS 'Банковский идентификационный код (БИК) отправителя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ADDRESSEE_BANK_NAME IS 'Банк получателя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYMENT_DATE IS 'Дата и время платежа'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION._PAYMENT_PURPOSE IS 'Назначение платежа'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.SETTLEMENT_DATE IS 'Дата расчетов'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_AMOUNT IS 'Сумма отправителя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_AMOUNT IS 'Сумма получателя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_ACCOUNT_ID IS 'Идентификатор счета отправителя (linked to account)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_CS_ACCOUNT IS 'Корреспондентский счет отправителя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_ACCOUNT IS 'Счет отправителя (linked to Account)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_ACCOUNT_ID IS 'Идентификатор счета отправителя (linked to account)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_CS_ACCOUNT IS 'Корреспондентский счет получателя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_ACCOUNT IS 'Счет получателя (linked to Account)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_DIRECTION IS 'Направление отправителя (linked to inOutDirection)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_DIRECTION IS 'Направление получателя (linked to inOutDirection)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREDIT_LEG_CURRENCY_CODE IS 'Код валюты отправителя (linked to currency)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DEBIT_LEG_CURRENCY_CODE IS 'Код валюты получателя (linked to currency)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CLEARING_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.TRANSACTION_STATUS IS 'Cтатус транзакции (linked to transactionStatus)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DOCUMENT_NUMBER IS 'Номер документа в сторонней системе'; + +-- marketData - Итоги торгов +DROP TABLE IF EXISTS MARKET_DATA; +CREATE TABLE MARKET_DATA +( + ID bigint PRIMARY KEY, + SECURITIES_DEPOSIT_ID bigint, + COMPANY_NAME varchar(255), + MARKET char(4), + COUNTER_PARTY_NUM bigint, + TRADES_NUM bigint, + AMOUNT numeric(72, 2), + OPEN_PRICE numeric(72, 18), + MAX_PRICE numeric(72, 18), + MIN_PRICE numeric(72, 18), + CLOSE_PRICE numeric(72, 18), + AVG_PRICE numeric(72, 18), + DURATION bigint, + CREATED_AT time, + UPDATED_AT time, + TRADING_DATE date +); +COMMENT ON TABLE MARKET_DATA IS 'Итоги торгов'; + +COMMENT ON COLUMN MARKET_DATA.ID IS 'ID записи'; + +COMMENT ON COLUMN MARKET_DATA.SECURITIES_DEPOSIT_ID IS 'Биржевой код инструмента (linked to security)'; + +COMMENT ON COLUMN MARKET_DATA.COMPANY_NAME IS 'Инициатор торгов'; + +COMMENT ON COLUMN MARKET_DATA.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN MARKET_DATA.COUNTER_PARTY_NUM IS 'Количество участников, заключивших сделки'; + +COMMENT ON COLUMN MARKET_DATA.TRADES_NUM IS 'Количество сделок'; + +COMMENT ON COLUMN MARKET_DATA.AMOUNT IS 'Объем сделок, руб'; + +COMMENT ON COLUMN MARKET_DATA.OPEN_PRICE IS 'Откр.'; + +COMMENT ON COLUMN MARKET_DATA.MAX_PRICE IS 'Макс.'; + +COMMENT ON COLUMN MARKET_DATA.MIN_PRICE IS 'Мин.'; + +COMMENT ON COLUMN MARKET_DATA.CLOSE_PRICE IS 'Закр.'; + +COMMENT ON COLUMN MARKET_DATA.AVG_PRICE IS 'Ср.взв.'; + +COMMENT ON COLUMN MARKET_DATA.DURATION IS 'Срок, дней'; + +COMMENT ON COLUMN MARKET_DATA.CREATED_AT IS 'Время регистрации сделки'; + +COMMENT ON COLUMN MARKET_DATA.UPDATED_AT IS 'Время изменения сделки'; + +COMMENT ON COLUMN MARKET_DATA.TRADING_DATE IS 'Дата торгов'; + +-- chargeTariff - Тарифы комиссий +DROP TABLE IF EXISTS CHARGE_TARIFF; +CREATE TABLE CHARGE_TARIFF +( + ID bigint PRIMARY KEY, + MARKET char(4), + CLEARING_MEMBER_CATEGORY char(4), + CHARGE_TYPE_ID bigint, + CHARGE_RATE numeric(72, 18), + CURRENCY bigint, + VALID_FROM_DATE date, + VALID_TO_DATE date, + CREATED_AT timestamp, + UPDATED_AT timestamp +); +COMMENT ON TABLE CHARGE_TARIFF IS 'Тарифы комиссий'; + +COMMENT ON COLUMN CHARGE_TARIFF.ID IS 'Идентификатор'; + +COMMENT ON COLUMN CHARGE_TARIFF.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN CHARGE_TARIFF.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingMemberCategory)'; + +COMMENT ON COLUMN CHARGE_TARIFF.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)'; + +COMMENT ON COLUMN CHARGE_TARIFF.CHARGE_RATE IS 'Ставка комиссионного сбора'; + +COMMENT ON COLUMN CHARGE_TARIFF.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)'; + +COMMENT ON COLUMN CHARGE_TARIFF.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN CHARGE_TARIFF.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN CHARGE_TARIFF.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN CHARGE_TARIFF.UPDATED_AT IS 'Изменено'; + + +-- History log of chargeTariff - Тарифы комиссий +DROP TABLE IF EXISTS CHARGE_TARIFF_HISTORY; +CREATE TABLE CHARGE_TARIFF_HISTORY +( + CHARGE_TARIFF_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + MARKET char(4), + CLEARING_MEMBER_CATEGORY char(4), + CHARGE_TYPE_ID bigint, + CHARGE_RATE numeric(72, 18), + CURRENCY bigint, + VALID_FROM_DATE date, + VALID_TO_DATE date, + CREATED_AT timestamp, + UPDATED_AT timestamp +); +COMMENT ON TABLE CHARGE_TARIFF_HISTORY IS 'История изменений таблицы chargeTariff'; +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.CHARGE_TARIFF_ID IS 'Идентификатор записи в таблице CHARGE_TARIFF'; +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingMemberCategory)'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.CHARGE_RATE IS 'Ставка комиссионного сбора'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN CHARGE_TARIFF_HISTORY.UPDATED_AT IS 'Изменено'; + +-- individualChargeTariff - Индивидуальные тарифы комиссий для Участника +DROP TABLE IF EXISTS INDIVIDUAL_CHARGE_TARIFF; +CREATE TABLE INDIVIDUAL_CHARGE_TARIFF +( + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + MARKET char(4), + CLEARING_MEMBER_CATEGORY char(4), + CHARGE_TYPE_ID bigint, + CHARGE_RATE numeric(72, 18), + CURRENCY bigint, + VALID_FROM_DATE date, + VALID_TO_DATE date, + CREATED_AT timestamp, + UPDATED_AT timestamp +); +COMMENT ON TABLE INDIVIDUAL_CHARGE_TARIFF IS 'Индивидуальные тарифы комиссий для Участника'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.ID IS 'Идентификатор'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.COMPANY_ID IS 'Участник (linked to company)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingMemberCategory)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CHARGE_RATE IS 'Ставка комиссионного сбора'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF.UPDATED_AT IS 'Изменено'; + + +-- History log of individualChargeTariff - Индивидуальные тарифы комиссий для Участника +DROP TABLE IF EXISTS INDIVIDUAL_CHARGE_TARIFF_HISTORY; +CREATE TABLE INDIVIDUAL_CHARGE_TARIFF_HISTORY +( + INDIVIDUAL_CHARGE_TARIFF_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + COMPANY_ID bigint, + MARKET char(4), + CLEARING_MEMBER_CATEGORY char(4), + CHARGE_TYPE_ID bigint, + CHARGE_RATE numeric(72, 18), + CURRENCY bigint, + VALID_FROM_DATE date, + VALID_TO_DATE date, + CREATED_AT timestamp, + UPDATED_AT timestamp +); +COMMENT ON TABLE INDIVIDUAL_CHARGE_TARIFF_HISTORY IS 'История изменений таблицы individualChargeTariff'; +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.INDIVIDUAL_CHARGE_TARIFF_ID IS 'Идентификатор записи в таблице INDIVIDUAL_CHARGE_TARIFF'; +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.COMPANY_ID IS 'Участник (linked to company)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingMemberCategory)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.CHARGE_RATE IS 'Ставка комиссионного сбора'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN INDIVIDUAL_CHARGE_TARIFF_HISTORY.UPDATED_AT IS 'Изменено'; + +-- companyTariff - Тарифы комиссий в разрезе Участника +DROP TABLE IF EXISTS COMPANY_TARIFF; +CREATE TABLE COMPANY_TARIFF +( + ID bigint PRIMARY KEY, + MARKET char(4), + CLEARING_MEMBER_CATEGORY char(4), + FULL_NAME varchar(255), + CONTRACT varchar(255), + CHARGE_TYPE_ID bigint, + CHARGE_RATE numeric(72, 18), + CURRENCY bigint, + VALID_FROM_DATE date, + VALID_TO_DATE date, + CREATED_AT timestamp, + UPDATED_AT timestamp, + COMPANY_ID bigint +); +COMMENT ON TABLE COMPANY_TARIFF IS 'Тарифы комиссий в разрезе Участника'; + +COMMENT ON COLUMN COMPANY_TARIFF.ID IS 'Идентификатор'; + +COMMENT ON COLUMN COMPANY_TARIFF.MARKET IS 'Секция (linked to market)'; + +COMMENT ON COLUMN COMPANY_TARIFF.CLEARING_MEMBER_CATEGORY IS 'Категория участника клиринга (linked to clearingMemberCategory)'; + +COMMENT ON COLUMN COMPANY_TARIFF.FULL_NAME IS 'Полное наименование Участника (linked to company)'; + +COMMENT ON COLUMN COMPANY_TARIFF.CONTRACT IS 'Номер договора'; + +COMMENT ON COLUMN COMPANY_TARIFF.CHARGE_TYPE_ID IS 'Тип комиссии (linked to chargeType)'; + +COMMENT ON COLUMN COMPANY_TARIFF.CHARGE_RATE IS 'Ставка комиссионного сбора'; + +COMMENT ON COLUMN COMPANY_TARIFF.CURRENCY IS 'Валюта начисления комиссии (linked to currencyCode)'; + +COMMENT ON COLUMN COMPANY_TARIFF.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN COMPANY_TARIFF.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN COMPANY_TARIFF.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN COMPANY_TARIFF.UPDATED_AT IS 'Изменено'; + +COMMENT ON COLUMN COMPANY_TARIFF.COMPANY_ID IS 'Участник (linked to company)'; + +-- errorText - Полные тексты ошибок +DROP TABLE IF EXISTS ERROR_TEXT; +CREATE TABLE ERROR_TEXT +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + ERROR_CODE char(4), + TEXT varchar(255), + USER_ID bigint, + CLEARING_DATE date +); +COMMENT ON TABLE ERROR_TEXT IS 'Полные тексты ошибок'; + +COMMENT ON COLUMN ERROR_TEXT.ID IS 'Идентификатор'; + +COMMENT ON COLUMN ERROR_TEXT.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN ERROR_TEXT.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN ERROR_TEXT.ERROR_CODE IS 'Код ошибки (linked to errorCode)'; + +COMMENT ON COLUMN ERROR_TEXT.TEXT IS 'Полный текст ошибки'; + +COMMENT ON COLUMN ERROR_TEXT.USER_ID IS 'Автор сообщения (linked to userCls)'; + +COMMENT ON COLUMN ERROR_TEXT.CLEARING_DATE IS 'Текущая дата'; + +-- sDf01 - ДФ-01 Информация о денежных средствах, находящихся на торговых банковских счетах Участников клиринга +DROP TABLE IF EXISTS S_DF01; +CREATE TABLE S_DF01 +( + 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), + FILE_NAME varchar(255), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF01 IS 'ДФ-01 Информация о денежных средствах, находящихся на торговых банковских счетах Участников клиринга'; + +COMMENT ON COLUMN S_DF01.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF01.CURR_CODE IS 'Код валюты'; + +COMMENT ON COLUMN S_DF01.ACCOUNT IS 'Код счета участника клиринга'; + +COMMENT ON COLUMN S_DF01.REMAINDER IS 'Остаток денежных средств'; + +COMMENT ON COLUMN S_DF01.DEAL IS 'Биржевой код участника клиринга'; + +COMMENT ON COLUMN S_DF01.ACC_CODE IS 'Не используется в Системе'; + +COMMENT ON COLUMN S_DF01.DAT IS 'Дата расчетов'; + +COMMENT ON COLUMN S_DF01.MARKET IS 'Биржевая секция'; + +COMMENT ON COLUMN S_DF01.ACC_NAME IS 'Наименование участника клиринга'; + +COMMENT ON COLUMN S_DF01.ACC_TYPE IS 'Признак счета'; + +COMMENT ON COLUMN S_DF01.SUMENGAGE IS 'Не используется в Системе'; + +COMMENT ON COLUMN S_DF01.SUMUNBLOCK IS 'Не используется в Системе'; + +COMMENT ON COLUMN S_DF01.FILE_TYPE IS 'Не используется в Системе'; + +COMMENT ON COLUMN S_DF01.FILE_NAME IS 'Наименование входящего файла'; + +COMMENT ON COLUMN S_DF01.GENERATION_TIME IS 'Дата и время обработки файла'; + +COMMENT ON COLUMN S_DF01.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf02 - ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке +DROP TABLE IF EXISTS S_DF02; +CREATE TABLE S_DF02 +( + ID bigint PRIMARY KEY, + CURR_CODE varchar(12), + ACCOUNT varchar(35), + REMAINDER varchar(22), + DEAL varchar(10), + ACC_CODE varchar(5), + DAT varchar(8), + MARKET varchar(1), + ACC_NAME varchar(30), + ACC_TYPE varchar(2), + SUMENGAGE varchar(22), + SUMUNBLOCK varchar(22), + FILE_TYPE varchar(1), + RESULT varchar(3), + GENERATION_TIME timestamp, + GENERATION_ID bigint, + IN_S_DF01_ID bigint +); +COMMENT ON TABLE S_DF02 IS 'ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке'; + +COMMENT ON COLUMN S_DF02.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF02.CURR_CODE IS 'Код валюты'; + +COMMENT ON COLUMN S_DF02.ACCOUNT IS 'Код счета участника клиринга'; + +COMMENT ON COLUMN S_DF02.REMAINDER IS 'Остаток денежных средств'; + +COMMENT ON COLUMN S_DF02.DEAL IS 'Биржевой код участника клиринга'; + +COMMENT ON COLUMN S_DF02.ACC_CODE IS 'Не используется в Системе'; + +COMMENT ON COLUMN S_DF02.DAT IS 'Дата расчетов'; + +COMMENT ON COLUMN S_DF02.MARKET IS 'Биржевая секция'; + +COMMENT ON COLUMN S_DF02.ACC_NAME IS 'Наименование участника клиринга'; + +COMMENT ON COLUMN S_DF02.ACC_TYPE IS 'Признак счета'; + +COMMENT ON COLUMN S_DF02.SUMENGAGE IS 'Не используется в Системе'; + +COMMENT ON COLUMN S_DF02.SUMUNBLOCK IS 'Не используется в Системе'; + +COMMENT ON COLUMN S_DF02.FILE_TYPE IS 'Не используется в Системе'; + +COMMENT ON COLUMN S_DF02.RESULT IS 'Результат обработки каждой записи исходного файла ДФ-01'; + +COMMENT ON COLUMN S_DF02.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF02.GENERATION_ID IS 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN S_DF02.IN_S_DF01_ID IS 'Идентификатор соответствующей записи из таблицы-источника'; + +-- sDf03 - ДФ-03 Сводное платежное поручение +DROP TABLE IF EXISTS S_DF03; +CREATE TABLE S_DF03 +( + ID bigint PRIMARY KEY, + SEG_TYPE varchar(1), + DOC_TYPE varchar, + DOCNM_REF varchar(16), + DOCNMPREV varchar(16), + PRIORITY varchar(1), + 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), + PAY_DATE varchar, + EXT_DATE varchar, + PAY_VAL varchar(12), + SUM_DEB varchar, + SCLIENTN1 varchar(35), + SCLIENTN2 varchar(35), + SCLIENTN3 varchar(35), + SCLIENTN4 varchar(35), + SC_CODE varchar(12), + ACC_DEB varchar(35), + RCLIENTN1 varchar(35), + RCLIENTN2 varchar(35), + RCLIENTN3 varchar(35), + RCLIENTN4 varchar(35), + ACC_KR_1 varchar(35), + ACC_KR_2 varchar(35), + SP_CODE varchar(2), + SPECIF_1 varchar(35), + SPECIF_2 varchar(35), + SPECIF_3 varchar(35), + SPECIF_4 varchar(35), + SPECIF_5 varchar(35), + SPECIF_6 varchar(35), + SEND_TYPE varchar(10), + SERVDATE varchar(8), + DOC_RESULT varchar(2), + IMP_RESULT varchar(3), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF03 IS 'ДФ-03 Сводное платежное поручение'; + +COMMENT ON COLUMN S_DF03.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF03.SEG_TYPE IS 'Код инициатора в КС'; + +COMMENT ON COLUMN S_DF03.DOC_TYPE IS 'Тип документа'; + +COMMENT ON COLUMN S_DF03.DOCNM_REF IS 'Ссылочный номер документа у отправителя'; + +COMMENT ON COLUMN S_DF03.DOCNMPREV IS 'Ссылка на предшестввующий документ'; + +COMMENT ON COLUMN S_DF03.PRIORITY IS 'Приоритет скорости отправления сообщения'; + +COMMENT ON COLUMN S_DF03.SBANKCODE IS 'Код банка-плательщика'; + +COMMENT ON COLUMN S_DF03.C_ACC_DEB IS 'Счет по дебету'; + +COMMENT ON COLUMN S_DF03.SBANKNAM1 IS 'Наименование банка-плательщика'; + +COMMENT ON COLUMN S_DF03.SBANKNAM2 IS ''; + +COMMENT ON COLUMN S_DF03.SBANKNAM3 IS ''; + +COMMENT ON COLUMN S_DF03.SBANKNAM4 IS ''; + +COMMENT ON COLUMN S_DF03.SBANKNAM5 IS ''; + +COMMENT ON COLUMN S_DF03.RBANKCODE IS 'Код банка-получателя'; + +COMMENT ON COLUMN S_DF03.C_ACC_CRED IS 'Счет по кредиту'; + +COMMENT ON COLUMN S_DF03.RBANKNAM1 IS 'Наименование банка-получателя'; + +COMMENT ON COLUMN S_DF03.RBANKNAM2 IS ''; + +COMMENT ON COLUMN S_DF03.RBANKNAM3 IS ''; + +COMMENT ON COLUMN S_DF03.RBANKNAM4 IS ''; + +COMMENT ON COLUMN S_DF03.RBANKNAM5 IS ''; + +COMMENT ON COLUMN S_DF03.PAY_DATE IS 'Платеж-дата'; + +COMMENT ON COLUMN S_DF03.EXT_DATE IS 'Дата по выписке'; + +COMMENT ON COLUMN S_DF03.PAY_VAL IS 'Валюта платежа'; + +COMMENT ON COLUMN S_DF03.SUM_DEB IS 'Сумма дебет '; + +COMMENT ON COLUMN S_DF03.SCLIENTN1 IS 'Наименование клиента-плательщика'; + +COMMENT ON COLUMN S_DF03.SCLIENTN2 IS ''; + +COMMENT ON COLUMN S_DF03.SCLIENTN3 IS ''; + +COMMENT ON COLUMN S_DF03.SCLIENTN4 IS ''; + +COMMENT ON COLUMN S_DF03.SC_CODE IS 'Код клиента-плательщика'; + +COMMENT ON COLUMN S_DF03.ACC_DEB IS 'Счет клиента-плательщика(дебет)'; + +COMMENT ON COLUMN S_DF03.RCLIENTN1 IS 'Наименование клиента-получателя'; + +COMMENT ON COLUMN S_DF03.RCLIENTN2 IS ''; + +COMMENT ON COLUMN S_DF03.RCLIENTN3 IS ''; + +COMMENT ON COLUMN S_DF03.RCLIENTN4 IS ''; + +COMMENT ON COLUMN S_DF03.ACC_KR_1 IS 'Счет кредит'; + +COMMENT ON COLUMN S_DF03.ACC_KR_2 IS ''; + +COMMENT ON COLUMN S_DF03.SP_CODE IS 'Код назначения платежа'; + +COMMENT ON COLUMN S_DF03.SPECIF_1 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF03.SPECIF_2 IS ''; + +COMMENT ON COLUMN S_DF03.SPECIF_3 IS ''; + +COMMENT ON COLUMN S_DF03.SPECIF_4 IS ''; + +COMMENT ON COLUMN S_DF03.SPECIF_5 IS ''; + +COMMENT ON COLUMN S_DF03.SPECIF_6 IS ''; + +COMMENT ON COLUMN S_DF03.SEND_TYPE IS 'Тип отправления плат. поручения'; + +COMMENT ON COLUMN S_DF03.SERVDATE IS 'Дата получения товара, оказания услуг в плат. поручении'; + +COMMENT ON COLUMN S_DF03.DOC_RESULT IS ''; + +COMMENT ON COLUMN S_DF03.IMP_RESULT IS 'Результат приема'; + +COMMENT ON COLUMN S_DF03.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF03.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf04 - ДФ-04 Подтверждение переводов из Расчетной организации для СПВБ +DROP TABLE IF EXISTS S_DF04; +CREATE TABLE S_DF04 +( + ID bigint PRIMARY KEY, + SEG_TYPE varchar(1), + DOC_TYPE varchar, + DOCNM_REF varchar(16), + DOCNMPREV varchar(16), + PRIORITY varchar(1), + 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), + PAY_DATE varchar, + EXT_DATE varchar, + PAY_VAL varchar(12), + SUM_DEB varchar, + SCLIENTN1 varchar(35), + SCLIENTN2 varchar(35), + SCLIENTN3 varchar(35), + SCLIENTN4 varchar(35), + SC_CODE varchar(12), + ACC_DEB varchar(35), + RCLIENTN1 varchar(35), + RCLIENTN2 varchar(35), + RCLIENTN3 varchar(35), + RCLIENTN4 varchar(35), + ACC_KR_1 varchar(35), + ACC_KR_2 varchar(35), + SP_CODE varchar(2), + SPECIF_1 varchar(35), + SPECIF_2 varchar(35), + SPECIF_3 varchar(35), + SPECIF_4 varchar(35), + SPECIF_5 varchar(35), + SPECIF_6 varchar(35), + SEND_TYPE varchar(10), + SERVDATE varchar(8), + DOC_RESULT varchar(2), + IMP_RESULT varchar(3), + FILE_NAME varchar(255), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF04 IS 'ДФ-04 Подтверждение переводов из Расчетной организации для СПВБ'; + +COMMENT ON COLUMN S_DF04.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF04.SEG_TYPE IS 'Код инициатора в КС'; + +COMMENT ON COLUMN S_DF04.DOC_TYPE IS 'Тип документа'; + +COMMENT ON COLUMN S_DF04.DOCNM_REF IS 'Ссылочный номер документа у отправителя'; + +COMMENT ON COLUMN S_DF04.DOCNMPREV IS 'Ссылка на предшестввующий документ'; + +COMMENT ON COLUMN S_DF04.PRIORITY IS 'Приоритет скорости отправления сообщения'; + +COMMENT ON COLUMN S_DF04.SBANKCODE IS 'Код банка-плательщика'; + +COMMENT ON COLUMN S_DF04.C_ACC_DEB IS 'Счет по дебету'; + +COMMENT ON COLUMN S_DF04.SBANKNAM1 IS 'Наименование банка-плательщика'; + +COMMENT ON COLUMN S_DF04.SBANKNAM2 IS ''; + +COMMENT ON COLUMN S_DF04.SBANKNAM3 IS ''; + +COMMENT ON COLUMN S_DF04.SBANKNAM4 IS ''; + +COMMENT ON COLUMN S_DF04.SBANKNAM5 IS ''; + +COMMENT ON COLUMN S_DF04.RBANKCODE IS 'Код банка-получателя'; + +COMMENT ON COLUMN S_DF04.C_ACC_CRED IS 'Счет по кредиту'; + +COMMENT ON COLUMN S_DF04.RBANKNAM1 IS 'Наименование банка-получателя'; + +COMMENT ON COLUMN S_DF04.RBANKNAM2 IS ''; + +COMMENT ON COLUMN S_DF04.RBANKNAM3 IS ''; + +COMMENT ON COLUMN S_DF04.RBANKNAM4 IS ''; + +COMMENT ON COLUMN S_DF04.RBANKNAM5 IS ''; + +COMMENT ON COLUMN S_DF04.PAY_DATE IS 'Платеж-дата'; + +COMMENT ON COLUMN S_DF04.EXT_DATE IS 'Дата по выписке'; + +COMMENT ON COLUMN S_DF04.PAY_VAL IS 'Валюта платежа'; + +COMMENT ON COLUMN S_DF04.SUM_DEB IS 'Сумма дебет '; + +COMMENT ON COLUMN S_DF04.SCLIENTN1 IS 'Наименование клиента-плательщика'; + +COMMENT ON COLUMN S_DF04.SCLIENTN2 IS ''; + +COMMENT ON COLUMN S_DF04.SCLIENTN3 IS ''; + +COMMENT ON COLUMN S_DF04.SCLIENTN4 IS ''; + +COMMENT ON COLUMN S_DF04.SC_CODE IS 'Код клиента-плательщика'; + +COMMENT ON COLUMN S_DF04.ACC_DEB IS 'Счет клиента-плательщика(дебет)'; + +COMMENT ON COLUMN S_DF04.RCLIENTN1 IS 'Наименование клиента-получателя'; + +COMMENT ON COLUMN S_DF04.RCLIENTN2 IS ''; + +COMMENT ON COLUMN S_DF04.RCLIENTN3 IS ''; + +COMMENT ON COLUMN S_DF04.RCLIENTN4 IS ''; + +COMMENT ON COLUMN S_DF04.ACC_KR_1 IS 'Счет кредит'; + +COMMENT ON COLUMN S_DF04.ACC_KR_2 IS ''; + +COMMENT ON COLUMN S_DF04.SP_CODE IS 'Код назначения платежа'; + +COMMENT ON COLUMN S_DF04.SPECIF_1 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF04.SPECIF_2 IS ''; + +COMMENT ON COLUMN S_DF04.SPECIF_3 IS ''; + +COMMENT ON COLUMN S_DF04.SPECIF_4 IS ''; + +COMMENT ON COLUMN S_DF04.SPECIF_5 IS ''; + +COMMENT ON COLUMN S_DF04.SPECIF_6 IS ''; + +COMMENT ON COLUMN S_DF04.SEND_TYPE IS 'Тип отправления плат. поручения'; + +COMMENT ON COLUMN S_DF04.SERVDATE IS 'Дата получения товара, оказания услуг в плат. поручении'; + +COMMENT ON COLUMN S_DF04.DOC_RESULT IS ''; + +COMMENT ON COLUMN S_DF04.IMP_RESULT IS 'Результат приема'; + +COMMENT ON COLUMN S_DF04.FILE_NAME IS 'Наименование входящего файла'; + +COMMENT ON COLUMN S_DF04.GENERATION_TIME IS 'Дата и время обработки файла'; + +COMMENT ON COLUMN S_DF04.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf05 - ДФ-05 Уведомление о завершении расчетов в ПРЦ +DROP TABLE IF EXISTS S_DF05; +CREATE TABLE S_DF05 +( + ID bigint PRIMARY KEY, + TP numeric(72, 18), + DT date, + TM time, + PR varchar(1), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF05 IS 'ДФ-05 Уведомление о завершении расчетов в ПРЦ'; + +COMMENT ON COLUMN S_DF05.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF05.TP IS 'Тип документа'; + +COMMENT ON COLUMN S_DF05.DT IS 'Дата завершения расчетов'; + +COMMENT ON COLUMN S_DF05.TM IS 'Время завершения расчетов'; + +COMMENT ON COLUMN S_DF05.PR IS 'Результат обработки запроса'; + +COMMENT ON COLUMN S_DF05.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF05.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf08 - ДФ-08 Запрос остатков по всем счетам +DROP TABLE IF EXISTS S_DF08; +CREATE TABLE S_DF08 +( + ID bigint PRIMARY KEY, + NUMBER numeric(72, 18), + DATETIME timestamp, + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF08 IS 'ДФ-08 Запрос остатков по всем счетам'; + +COMMENT ON COLUMN S_DF08.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF08.NUMBER IS 'Номер запроса остатков по счетам (linked to currency)'; + +COMMENT ON COLUMN S_DF08.DATETIME IS 'Дата и время сообщения'; + +COMMENT ON COLUMN S_DF08.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF08.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf09 - ДФ-09 Уведомление о поступлении средств на клиринговый счет +DROP TABLE IF EXISTS S_DF09; +CREATE TABLE S_DF09 +( + ID bigint PRIMARY KEY, + ACCOUNT varchar(20), + SUM numeric(72, 18), + MARKET varchar(1), + TYPE varchar(1), + NUMBER numeric(72, 18), + _I_N_N numeric(72, 18), + FILE_NAME varchar(255), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF09 IS 'ДФ-09 Уведомление о поступлении средств на клиринговый счет'; + +COMMENT ON COLUMN S_DF09.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF09.ACCOUNT IS 'Номер счета участника торгов'; + +COMMENT ON COLUMN S_DF09.SUM IS 'Сумма платежного документа (операции)'; + +COMMENT ON COLUMN S_DF09.MARKET IS 'Код сегмента рынка'; + +COMMENT ON COLUMN S_DF09.TYPE IS 'Код типа платежного документа (операции)'; + +COMMENT ON COLUMN S_DF09.NUMBER IS 'Номер платежного документа (операции)'; + +COMMENT ON COLUMN S_DF09._I_N_N IS 'ИНН'; + +COMMENT ON COLUMN S_DF09.FILE_NAME IS 'Наименование входящего файла'; + +COMMENT ON COLUMN S_DF09.GENERATION_TIME IS 'Дата и время обработки файла'; + +COMMENT ON COLUMN S_DF09.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf10 - ДФ-10 Подтверждение о загрузке по поступлению на клиринговый счет +DROP TABLE IF EXISTS S_DF10; +CREATE TABLE S_DF10 +( + ID bigint PRIMARY KEY, + ACCOUNT varchar(20), + SUM numeric(72, 18), + MARKET varchar(1), + TYPE varchar(1), + NUMBER numeric(72, 18), + _I_N_N numeric(72, 18), + RESULT varchar(3), + GENERATION_TIME timestamp, + GENERATION_ID bigint, + IN_S_DF09_ID bigint +); +COMMENT ON TABLE S_DF10 IS 'ДФ-10 Подтверждение о загрузке по поступлению на клиринговый счет'; + +COMMENT ON COLUMN S_DF10.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF10.ACCOUNT IS 'Номер счета участника торгов'; + +COMMENT ON COLUMN S_DF10.SUM IS 'Сумма платежного документа (операции)'; + +COMMENT ON COLUMN S_DF10.MARKET IS 'Код сегмента рынка'; + +COMMENT ON COLUMN S_DF10.TYPE IS 'Код типа платежного документа (операции)'; + +COMMENT ON COLUMN S_DF10.NUMBER IS 'Номер платежного документа (операции)'; + +COMMENT ON COLUMN S_DF10._I_N_N IS 'ИНН'; + +COMMENT ON COLUMN S_DF10.RESULT IS 'Результат приема'; + +COMMENT ON COLUMN S_DF10.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF10.GENERATION_ID IS 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN S_DF10.IN_S_DF09_ID IS 'Идентификатор соответствующей записи из таблицы-источника'; + +-- sDf11 - ДФ-11 Из КС в ПРЦ Платежное распоряжение на перевод средств с ТБС Участника на КС Инициатора +DROP TABLE IF EXISTS S_DF11; +CREATE TABLE S_DF11 +( + ID bigint PRIMARY KEY, + SEG_TYPE varchar(1), + DOC_TYPE varchar, + DOCNM_REF varchar(16), + DOCNMPREV varchar(16), + PRIORITY varchar(1), + 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), + PAY_DATE varchar, + EXT_DATE varchar, + PAY_VAL varchar(12), + SUM_DEB varchar, + SCLIENTN1 varchar(35), + SCLIENTN2 varchar(35), + SCLIENTN3 varchar(35), + SCLIENTN4 varchar(35), + SC_CODE varchar(12), + ACC_DEB varchar(35), + RCLIENTN1 varchar(35), + RCLIENTN2 varchar(35), + RCLIENTN3 varchar(35), + RCLIENTN4 varchar(35), + ACC_KR_1 varchar(35), + ACC_KR_2 varchar(35), + SP_CODE varchar(2), + SPECIF_1 varchar(35), + SPECIF_2 varchar(35), + SPECIF_3 varchar(35), + SPECIF_4 varchar(35), + SPECIF_5 varchar(35), + SPECIF_6 varchar(35), + SEND_TYPE varchar(10), + SERVDATE varchar(8), + DOC_RESULT varchar(2), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF11 IS 'ДФ-11 Из КС в ПРЦ Платежное распоряжение на перевод средств с ТБС Участника на КС Инициатора'; + +COMMENT ON COLUMN S_DF11.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF11.SEG_TYPE IS 'Код инициатора в КС'; + +COMMENT ON COLUMN S_DF11.DOC_TYPE IS 'Тип документа'; + +COMMENT ON COLUMN S_DF11.DOCNM_REF IS 'Ссылочный номер документа у отправителя'; + +COMMENT ON COLUMN S_DF11.DOCNMPREV IS 'Ссылка на предшестввующий документ'; + +COMMENT ON COLUMN S_DF11.PRIORITY IS 'Приоритет скорости отправления сообщения'; + +COMMENT ON COLUMN S_DF11.SBANKCODE IS 'Код банка-плательщика'; + +COMMENT ON COLUMN S_DF11.C_ACC_DEB IS 'Счет по дебету'; + +COMMENT ON COLUMN S_DF11.SBANKNAM1 IS 'Наименование банка-плательщика'; + +COMMENT ON COLUMN S_DF11.SBANKNAM2 IS ''; + +COMMENT ON COLUMN S_DF11.SBANKNAM3 IS ''; + +COMMENT ON COLUMN S_DF11.SBANKNAM4 IS ''; + +COMMENT ON COLUMN S_DF11.SBANKNAM5 IS ''; + +COMMENT ON COLUMN S_DF11.RBANKCODE IS 'Код банка-получателя'; + +COMMENT ON COLUMN S_DF11.C_ACC_CRED IS 'Счет по кредиту'; + +COMMENT ON COLUMN S_DF11.RBANKNAM1 IS 'Наименование банка-получателя'; + +COMMENT ON COLUMN S_DF11.RBANKNAM2 IS ''; + +COMMENT ON COLUMN S_DF11.RBANKNAM3 IS ''; + +COMMENT ON COLUMN S_DF11.RBANKNAM4 IS ''; + +COMMENT ON COLUMN S_DF11.RBANKNAM5 IS ''; + +COMMENT ON COLUMN S_DF11.PAY_DATE IS 'Платеж-дата'; + +COMMENT ON COLUMN S_DF11.EXT_DATE IS 'Дата по выписке'; + +COMMENT ON COLUMN S_DF11.PAY_VAL IS 'Валюта платежа'; + +COMMENT ON COLUMN S_DF11.SUM_DEB IS 'Сумма дебет '; + +COMMENT ON COLUMN S_DF11.SCLIENTN1 IS 'Наименование клиента-плательщика'; + +COMMENT ON COLUMN S_DF11.SCLIENTN2 IS ''; + +COMMENT ON COLUMN S_DF11.SCLIENTN3 IS ''; + +COMMENT ON COLUMN S_DF11.SCLIENTN4 IS ''; + +COMMENT ON COLUMN S_DF11.SC_CODE IS 'Код клиента-плательщика'; + +COMMENT ON COLUMN S_DF11.ACC_DEB IS 'Счет клиента-плательщика(дебет)'; + +COMMENT ON COLUMN S_DF11.RCLIENTN1 IS 'Наименование клиента-получателя'; + +COMMENT ON COLUMN S_DF11.RCLIENTN2 IS ''; + +COMMENT ON COLUMN S_DF11.RCLIENTN3 IS ''; + +COMMENT ON COLUMN S_DF11.RCLIENTN4 IS ''; + +COMMENT ON COLUMN S_DF11.ACC_KR_1 IS 'Счет кредит'; + +COMMENT ON COLUMN S_DF11.ACC_KR_2 IS ''; + +COMMENT ON COLUMN S_DF11.SP_CODE IS 'Код назначения платежа'; + +COMMENT ON COLUMN S_DF11.SPECIF_1 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF11.SPECIF_2 IS ''; + +COMMENT ON COLUMN S_DF11.SPECIF_3 IS ''; + +COMMENT ON COLUMN S_DF11.SPECIF_4 IS ''; + +COMMENT ON COLUMN S_DF11.SPECIF_5 IS ''; + +COMMENT ON COLUMN S_DF11.SPECIF_6 IS ''; + +COMMENT ON COLUMN S_DF11.SEND_TYPE IS 'Тип отправления плат. поручения'; + +COMMENT ON COLUMN S_DF11.SERVDATE IS 'Дата получения товара, оказания услуг в плат. поручении'; + +COMMENT ON COLUMN S_DF11.DOC_RESULT IS ''; + +COMMENT ON COLUMN S_DF11.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF11.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf12 - ДФ-12 Из ПРЦ в КС Информация о блокировке/разблокировке/закрытии ТБС УК +DROP TABLE IF EXISTS S_DF12; +CREATE TABLE S_DF12 +( + ID bigint PRIMARY KEY, + ACCOUNT varchar(25), + DEAL varchar(4), + STATUS bigint, + FILE_NAME varchar(255), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF12 IS 'ДФ-12 Из ПРЦ в КС Информация о блокировке/разблокировке/закрытии ТБС УК'; + +COMMENT ON COLUMN S_DF12.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF12.ACCOUNT IS 'Код счета участника клиринга'; + +COMMENT ON COLUMN S_DF12.DEAL IS 'Биржевой код участника клиринга'; + +COMMENT ON COLUMN S_DF12.STATUS IS 'Статус счета'; + +COMMENT ON COLUMN S_DF12.FILE_NAME IS 'Наименование входящего файла'; + +COMMENT ON COLUMN S_DF12.GENERATION_TIME IS 'Дата и время обработки файла'; + +COMMENT ON COLUMN S_DF12.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf13 - ДФ-13 Вывод свободных средств для инициаторов категории В с клирингового счета 30414/7 - платежное поручение АО СПВБ на вывод средств из РО +DROP TABLE IF EXISTS S_DF13; +CREATE TABLE S_DF13 +( + ID bigint PRIMARY KEY, + SEG_TYPE varchar(1), + DOC_TYPE varchar, + DOCNM_REF varchar(16), + DOCNMPREV varchar(16), + PRIORITY varchar(1), + 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), + OP_TYPE varchar(2), + OP_ORDER varchar(1), + RBANKNAM4 varchar(35), + RBANKNAM5 varchar(35), + PAY_DATE varchar, + EXT_DATE varchar, + PAY_VAL varchar(12), + SUM_DEB varchar, + SCLIENTN1 varchar(35), + INN_DEB varchar(12), + KPP_DEB varchar(9), + SCLIENTN4 varchar(35), + SC_CODE varchar(12), + ACC_DEB varchar(35), + RCLIENTN1 varchar(35), + INN_CRED varchar(12), + KPP_CRED varchar(9), + RCLIENTN4 varchar(35), + ACC_KR_1 varchar(35), + ACC_KR_2 varchar(35), + SP_CODE varchar(2), + SPECIF_1 varchar(35), + SPECIF_2 varchar(35), + SPECIF_3 varchar(35), + SPECIF_4 varchar(35), + SPECIF_5 varchar(35), + SPECIF_6 varchar(35), + SEND_TYPE varchar(10), + SERVDATE varchar(8), + DOC_RESULT varchar(2), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF13 IS 'ДФ-13 Вывод свободных средств для инициаторов категории В с клирингового счета 30414/7 - платежное поручение АО СПВБ на вывод средств из РО'; + +COMMENT ON COLUMN S_DF13.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF13.SEG_TYPE IS 'Код инициатора в КС'; + +COMMENT ON COLUMN S_DF13.DOC_TYPE IS 'Тип документа'; + +COMMENT ON COLUMN S_DF13.DOCNM_REF IS 'Ссылочный номер документа у отправителя'; + +COMMENT ON COLUMN S_DF13.DOCNMPREV IS 'Ссылка на предшестввующий документ'; + +COMMENT ON COLUMN S_DF13.PRIORITY IS 'Приоритет скорости отправления сообщения'; + +COMMENT ON COLUMN S_DF13.SBANKCODE IS 'Код банка-плательщика'; + +COMMENT ON COLUMN S_DF13.C_ACC_DEB IS 'Кор счет банка - плательщика в системе - акт.'; + +COMMENT ON COLUMN S_DF13.SBANKNAM1 IS 'Наименование банка-плательщика'; + +COMMENT ON COLUMN S_DF13.SBANKNAM2 IS ''; + +COMMENT ON COLUMN S_DF13.SBANKNAM3 IS ''; + +COMMENT ON COLUMN S_DF13.SBANKNAM4 IS ''; + +COMMENT ON COLUMN S_DF13.SBANKNAM5 IS ''; + +COMMENT ON COLUMN S_DF13.RBANKCODE IS 'Код банка-получателя'; + +COMMENT ON COLUMN S_DF13.C_ACC_CRED IS 'Кор счет банка - получателя в системе - акт. '; + +COMMENT ON COLUMN S_DF13.RBANKNAM1 IS 'Наименование банка-получателя'; + +COMMENT ON COLUMN S_DF13.OP_TYPE IS 'Вид операции'; + +COMMENT ON COLUMN S_DF13.OP_ORDER IS 'Очередность платежа'; + +COMMENT ON COLUMN S_DF13.RBANKNAM4 IS ''; + +COMMENT ON COLUMN S_DF13.RBANKNAM5 IS ''; + +COMMENT ON COLUMN S_DF13.PAY_DATE IS 'Платеж-дата'; + +COMMENT ON COLUMN S_DF13.EXT_DATE IS 'Дата по выписке'; + +COMMENT ON COLUMN S_DF13.PAY_VAL IS 'Валюта платежа'; + +COMMENT ON COLUMN S_DF13.SUM_DEB IS 'Сумма дебет '; + +COMMENT ON COLUMN S_DF13.SCLIENTN1 IS 'Наименование клиента-плательщика'; + +COMMENT ON COLUMN S_DF13.INN_DEB IS 'ИНН клиента-плательщика'; + +COMMENT ON COLUMN S_DF13.KPP_DEB IS 'КПП клиента-плательщика'; + +COMMENT ON COLUMN S_DF13.SCLIENTN4 IS ''; + +COMMENT ON COLUMN S_DF13.SC_CODE IS 'Код клиента-плательщика'; + +COMMENT ON COLUMN S_DF13.ACC_DEB IS 'Счет клиента-плательщика(дебет)'; + +COMMENT ON COLUMN S_DF13.RCLIENTN1 IS 'Наименование клиента-получателя'; + +COMMENT ON COLUMN S_DF13.INN_CRED IS 'ИНН клиента-получателя'; + +COMMENT ON COLUMN S_DF13.KPP_CRED IS 'КПП клиента-получателя'; + +COMMENT ON COLUMN S_DF13.RCLIENTN4 IS ''; + +COMMENT ON COLUMN S_DF13.ACC_KR_1 IS 'Счет получателя'; + +COMMENT ON COLUMN S_DF13.ACC_KR_2 IS ''; + +COMMENT ON COLUMN S_DF13.SP_CODE IS 'Код назначения платежа'; + +COMMENT ON COLUMN S_DF13.SPECIF_1 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF13.SPECIF_2 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF13.SPECIF_3 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF13.SPECIF_4 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF13.SPECIF_5 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF13.SPECIF_6 IS 'Назначение платежа'; + +COMMENT ON COLUMN S_DF13.SEND_TYPE IS 'Вид платежа'; + +COMMENT ON COLUMN S_DF13.SERVDATE IS 'Дата получения товара, оказания услуг в плат. поручении'; + +COMMENT ON COLUMN S_DF13.DOC_RESULT IS ''; + +COMMENT ON COLUMN S_DF13.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF13.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf16 - ДФ-16 Формат запроса по возврату депозита или дозачисление/списание денежных средств +DROP TABLE IF EXISTS S_DF16; +CREATE TABLE S_DF16 +( + ID bigint PRIMARY KEY, + ACCOUNT varchar(20), + SUM numeric(72, 18), + MARKET varchar(1), + TYPE varchar(1), + _I_N_N numeric(72, 18), + _B_I_C numeric(72, 18), + _S_P_E_C varchar(255), + NUMBER numeric(72, 18), + FILE_NAME varchar(255), + GENERATION_TIME timestamp, + GENERATION_ID bigint +); +COMMENT ON TABLE S_DF16 IS 'ДФ-16 Формат запроса по возврату депозита или дозачисление/списание денежных средств'; + +COMMENT ON COLUMN S_DF16.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF16.ACCOUNT IS 'Номер счета участника торгов'; + +COMMENT ON COLUMN S_DF16.SUM IS 'Сумма платежного документа (операции)'; + +COMMENT ON COLUMN S_DF16.MARKET IS 'Код сегмента рынка'; + +COMMENT ON COLUMN S_DF16.TYPE IS 'Код типа платежного документа (операции)'; + +COMMENT ON COLUMN S_DF16._I_N_N IS 'ИНН'; + +COMMENT ON COLUMN S_DF16._B_I_C IS 'БИК'; + +COMMENT ON COLUMN S_DF16._S_P_E_C IS 'Назначение'; + +COMMENT ON COLUMN S_DF16.NUMBER IS 'Номер платежного документа (операции)'; + +COMMENT ON COLUMN S_DF16.FILE_NAME IS 'Наименование входящего файла'; + +COMMENT ON COLUMN S_DF16.GENERATION_TIME IS 'Дата и время обработки файла'; + +COMMENT ON COLUMN S_DF16.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf17 - ДФ-17 Формат ответа на запрос по возврату депозита или дозачисление/списание денежных средств +DROP TABLE IF EXISTS S_DF17; +CREATE TABLE S_DF17 +( + ID bigint PRIMARY KEY, + ACCOUNT varchar(20), + SUM numeric(72, 18), + MARKET varchar(1), + TYPE varchar(1), + _I_N_N numeric(72, 18), + _B_I_C numeric(72, 18), + _S_P_E_C varchar(255), + NUMBER numeric(72, 18), + RESULT numeric(72, 18), + GENERATION_TIME timestamp, + GENERATION_ID bigint, + IN_S_DF16_ID bigint +); +COMMENT ON TABLE S_DF17 IS 'ДФ-17 Формат ответа на запрос по возврату депозита или дозачисление/списание денежных средств'; + +COMMENT ON COLUMN S_DF17.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF17.ACCOUNT IS 'Номер счета участника торгов'; + +COMMENT ON COLUMN S_DF17.SUM IS 'Сумма платежного документа (операции)'; + +COMMENT ON COLUMN S_DF17.MARKET IS 'Код сегмента рынка'; + +COMMENT ON COLUMN S_DF17.TYPE IS 'Код типа платежного документа (операции)'; + +COMMENT ON COLUMN S_DF17._I_N_N IS 'ИНН'; + +COMMENT ON COLUMN S_DF17._B_I_C IS 'БИК'; + +COMMENT ON COLUMN S_DF17._S_P_E_C IS 'Назначение'; + +COMMENT ON COLUMN S_DF17.NUMBER IS 'Номер платежного документа (операции)'; + +COMMENT ON COLUMN S_DF17.RESULT IS 'Код завершения операции'; + +COMMENT ON COLUMN S_DF17.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF17.GENERATION_ID IS 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN S_DF17.IN_S_DF16_ID IS 'Идентификатор соответствующей записи из таблицы-источника'; + +-- sDf18 - ДФ-18 Из КС в ПРЦ Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие) +DROP TABLE IF EXISTS S_DF18; +CREATE TABLE S_DF18 +( + ID bigint PRIMARY KEY, + ACCOUNT varchar(25), + DEAL varchar(4), + STATUS bigint, + RESULT numeric(72, 18), + GENERATION_TIME timestamp, + GENERATION_ID bigint, + IN_S_DF12_ID bigint +); +COMMENT ON TABLE S_DF18 IS 'ДФ-18 Из КС в ПРЦ Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие)'; + +COMMENT ON COLUMN S_DF18.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF18.ACCOUNT IS 'Код счета участника клиринга'; + +COMMENT ON COLUMN S_DF18.DEAL IS 'Биржевой код участника клиринга'; + +COMMENT ON COLUMN S_DF18.STATUS IS 'Статус счета'; + +COMMENT ON COLUMN S_DF18.RESULT IS 'Код завершения операции'; + +COMMENT ON COLUMN S_DF18.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF18.GENERATION_ID IS 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN S_DF18.IN_S_DF12_ID IS 'Идентификатор соответствующей записи из таблицы-источника'; + +-- trade_arqa - Выгрузка сделок из торговой системы +DROP TABLE IF EXISTS TRADE_ARQA; +CREATE TABLE TRADE_ARQA +( + TRADE_NUM numeric(72, 18), + SEC_CODE varchar(255), + TRADE_DATE_TIME timestamp, + SETTLE_DATE date, + PRICE numeric(72, 18), + VALUE numeric(72, 18), + QTY numeric(72, 18), + ACCRUEDINT numeric(72, 18), + FIRM_ID varchar(255), + CLIENT_CODE varchar(255), + EXCHANGE_COMMISSION numeric(72, 18), + CLASS_CODE varchar(255), + OPERATION varchar(255), + ISSUE_ACCOUNT varchar(255), + MONEY_ACCOUNT varchar(255), + TRADE_TYPE char(4), + DAYS_TO_MAT_DATE numeric(72, 18), + COLLATERAL char(4), + SETTLE_CODE varchar(255) +); +COMMENT ON TABLE TRADE_ARQA IS 'Выгрузка сделок из торговой системы'; + +COMMENT ON COLUMN TRADE_ARQA.TRADE_NUM IS 'Номер сделки'; + +COMMENT ON COLUMN TRADE_ARQA.SEC_CODE IS 'Код ценной бумаги'; + +COMMENT ON COLUMN TRADE_ARQA.TRADE_DATE_TIME IS 'Дата-время сделки'; + +COMMENT ON COLUMN TRADE_ARQA.SETTLE_DATE IS 'Плановая дата исполнения сделки'; + +COMMENT ON COLUMN TRADE_ARQA.PRICE IS 'Цена сделки'; + +COMMENT ON COLUMN TRADE_ARQA.VALUE IS 'Сумма сделки'; + +COMMENT ON COLUMN TRADE_ARQA.QTY IS 'Количество лотов по сделке'; + +COMMENT ON COLUMN TRADE_ARQA.ACCRUEDINT IS 'НКД за 1 ценную бумагу'; + +COMMENT ON COLUMN TRADE_ARQA.FIRM_ID IS 'ID клиента в КС'; + +COMMENT ON COLUMN TRADE_ARQA.CLIENT_CODE IS 'Код участника торгов = Код участника клиринга = Код участника расчетов'; + +COMMENT ON COLUMN TRADE_ARQA.EXCHANGE_COMMISSION IS 'Комиссия по сделке'; + +COMMENT ON COLUMN TRADE_ARQA.CLASS_CODE IS 'Код класса сделки из новой ТС'; + +COMMENT ON COLUMN TRADE_ARQA.OPERATION IS 'Тип плеча (Купля/Продажа)'; + +COMMENT ON COLUMN TRADE_ARQA.ISSUE_ACCOUNT IS 'Счет для учета ценной бумаги'; + +COMMENT ON COLUMN TRADE_ARQA.MONEY_ACCOUNT IS 'Счет для учета денежных средств'; + +COMMENT ON COLUMN TRADE_ARQA.TRADE_TYPE IS 'Первичное размещение/торги'; + +COMMENT ON COLUMN TRADE_ARQA.DAYS_TO_MAT_DATE IS 'Количество дней до погашения'; + +COMMENT ON COLUMN TRADE_ARQA.COLLATERAL IS 'Признак залога (не используется)'; + +COMMENT ON COLUMN TRADE_ARQA.SETTLE_CODE IS 'Код периода сделки из новой ТС'; + +-- notification - Сообщения +DROP TABLE IF EXISTS NOTIFICATION; +CREATE TABLE NOTIFICATION +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + SENDER_ID bigint, + ADDRESSEE_ID bigint, + OBJECT_TYPE char(4), + OBJECT_ID timestamp, + NOTIFICATION_STATUS char(4) +); +COMMENT ON TABLE NOTIFICATION IS 'Сообщения'; + +COMMENT ON COLUMN NOTIFICATION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN NOTIFICATION.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN NOTIFICATION.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN NOTIFICATION.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN NOTIFICATION.SENDER_ID IS 'Идентификатор участника отправителя (linked to company)'; + +COMMENT ON COLUMN NOTIFICATION.ADDRESSEE_ID IS 'Идентификатор участника получателя (linked to company)'; + +COMMENT ON COLUMN NOTIFICATION.OBJECT_TYPE IS 'Тип объекта (linked to objectType)'; + +COMMENT ON COLUMN NOTIFICATION.OBJECT_ID IS 'Идентификатор объекта'; + +COMMENT ON COLUMN NOTIFICATION.NOTIFICATION_STATUS IS 'Статус сообщения (linked to notificationStatus)'; + + +-- History log of notification - Сообщения +DROP TABLE IF EXISTS NOTIFICATION_HISTORY; +CREATE TABLE NOTIFICATION_HISTORY +( + NOTIFICATION_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + SENDER_ID bigint, + ADDRESSEE_ID bigint, + OBJECT_TYPE char(4), + OBJECT_ID timestamp, + NOTIFICATION_STATUS char(4) +); +COMMENT ON TABLE NOTIFICATION_HISTORY IS 'История изменений таблицы notification'; +COMMENT ON COLUMN NOTIFICATION_HISTORY.NOTIFICATION_ID IS 'Идентификатор записи в таблице NOTIFICATION'; +COMMENT ON COLUMN NOTIFICATION_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN NOTIFICATION_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.CLEARING_DATE IS 'Дата'; + +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.OBJECT_TYPE IS 'Тип объекта (linked to objectType)'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.OBJECT_ID IS 'Идентификатор объекта'; + +COMMENT ON COLUMN NOTIFICATION_HISTORY.NOTIFICATION_STATUS IS 'Статус сообщения (linked to notificationStatus)'; + +-- session - Клиринговая сессия +DROP TABLE IF EXISTS SESSION; +CREATE TABLE SESSION +( + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + SESSION_STATUS char(4) +); +COMMENT ON TABLE SESSION IS 'Клиринговая сессия'; + +COMMENT ON COLUMN SESSION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SESSION.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN SESSION.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN SESSION.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN SESSION.SESSION_STATUS IS 'Статус клиринговой сессии (linked to sessionStatus)'; + + +-- History log of session - Клиринговая сессия +DROP TABLE IF EXISTS SESSION_HISTORY; +CREATE TABLE SESSION_HISTORY +( + SESSION_ID BIGINT NOT NULL, + EVENT_TIME timestamp, + EVENT_USER_ID BIGINT, + ID bigint PRIMARY KEY, + CREATED_AT timestamp, + UPDATED_AT timestamp, + CLEARING_DATE date, + SESSION_STATUS char(4) +); +COMMENT ON TABLE SESSION_HISTORY IS 'История изменений таблицы session'; +COMMENT ON COLUMN SESSION_HISTORY.SESSION_ID IS 'Идентификатор записи в таблице SESSION'; +COMMENT ON COLUMN SESSION_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN SESSION_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; + +COMMENT ON COLUMN SESSION_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SESSION_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN SESSION_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN SESSION_HISTORY.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN SESSION_HISTORY.SESSION_STATUS IS 'Статус клиринговой сессии (linked to sessionStatus)'; + +/* views */ + + +-- Data types + \ No newline at end of file diff --git a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/AllMapStoreTest.java b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/AllMapStoreTest.java index 82eaa83c0..edf1dd52a 100644 --- a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/AllMapStoreTest.java +++ b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/AllMapStoreTest.java @@ -1,6 +1,7 @@ package ru.spcex.clearing.imdg; import com.hazelcast.config.MapStoreConfig; +import com.hazelcast.core.HazelcastInstance; import com.hazelcast.core.IMap; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assumptions; @@ -26,6 +27,8 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import javax.annotation.PostConstruct; import java.lang.reflect.InvocationTargetException; +import java.sql.*; +import java.util.ArrayList; import java.util.List; import static ru.spcex.clearing.imdg.structure.GeneratorMapNamesForHazelcast.objectForCheckMapStores; @@ -59,6 +62,50 @@ public class AllMapStoreTest { } } + @Test + public void checkAllMapStoreCreatedTest() throws SQLException { + //Поиск таблиц которым нужно добавить mapStore и вывод результата в консоль + List nameTables = new ArrayList<>(); + Connection jdbcConnection = DriverManager.getConnection("jdbc:postgresql://10.200.200.133:5432/postgres", "clearing", "Aa111111"); + DatabaseMetaData md = jdbcConnection.getMetaData(); + ResultSet rs = md.getTables(null, "clearing_tester", "%", new String[]{"TABLE"}); + while (rs.next()) { + String tableName = rs.getString("TABLE_NAME"); + //сущности для company_info и company_info_history включены соответсвенно в company и company_history + if (tableName.equals("company_info") || tableName.equals("company_info_history")) { + continue; + } + nameTables.add(tableName); + } + + HazelcastInstance hazelcastInstance = testConfig.getHazelcastInstance(); + hazelcastInstance.getMap(""); + for (String mapName : hazelcastInstance.getConfig().getMapConfigs().keySet()) { + MapStoreConfig mapStoreConfig = hazelcastInstance.getConfig().getMapConfig(mapName).getMapStoreConfig(); + Object mapStore = mapStoreConfig.getImplementation(); + String tableName; + if (mapStore instanceof TemplateMapStore) { + tableName = ((TemplateMapStore) mapStore).getTableName(); + } else if (mapStore instanceof DictionaryMapStore) { + tableName = ((DictionaryMapStore) mapStore).getTableName(); + } else if (mapStore instanceof TemplateEventMapStore) { + tableName = ((TemplateEventMapStore) mapStore).getTableName(); + } else if (mapStore instanceof BusinessObjectMapStore) { + tableName = ((BusinessObjectMapStore) mapStore).getTableName(); + } else if (mapName.equals("default")) { + continue; + } else { + System.out.println(mapStore == null ? "Не получилось сопоставить mapStore: is null" : "Не получилось сопоставить: " + mapStore.getClass() + " с таблицей"); + continue; + } + nameTables.remove(tableName.toLowerCase()); + } + System.out.println("** Результата поиска таблиц которым нужно добавить mapStore **"); + nameTables.forEach(System.out::println); + System.out.println("**************************************************************"); + Assertions.assertEquals(0, nameTables.size()); + } + @Test public void checkSavingForAllMapStoreTest() { saveObjectToMaps(); diff --git a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java index 51fbc8e3b..bdcaa1d6a 100644 --- a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java +++ b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java @@ -5,7 +5,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.ClassPathResource; import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.init.DatabasePopulator; +import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import ru.spcex.clearing.imdg.error.ModuleInitializeException; import javax.sql.DataSource; @@ -16,7 +19,14 @@ import java.sql.Connection; public class DbTestConnectionConfig { private final Logger log = LoggerFactory.getLogger(this.getClass()); - private ConfigurationRootElement configRoot = DfaConfig.get().getRoot(); + private final ConfigurationRootElement configRoot = DfaConfig.get().getRoot(); + + private DatabasePopulator createDatabasePopulator() { + ResourceDatabasePopulator databasePopulator = new ResourceDatabasePopulator(); + databasePopulator.setContinueOnError(true); + databasePopulator.addScript(new ClassPathResource("/ddl.sql")); + return databasePopulator; + } @Bean public DataSource dataSource() { @@ -24,7 +34,7 @@ public class DbTestConnectionConfig { String login = "clearing"; String password = "Aa111111"; String logTimeoutPart = ""; - String dbPath = "jdbc:postgresql://10.200.200.133:5432/postgres"; + String dbPath = "jdbc:postgresql://10.200.200.133:5432/postgres?currentSchema=clearing_tester"; int timeoutSec = configRoot.getDatabase().getConnectionAcquireTimeoutSeconds(); ComboPooledDataSource cpds = new ComboPooledDataSource(); @@ -42,6 +52,7 @@ public class DbTestConnectionConfig { cpds.setNumHelperThreads(configRoot.getDatabase().getNumHelperThreads()); cpds.setCheckoutTimeout(timeoutSec * 1000/*todo common 1000==ConstsCommon.SECOND*/); logTimeoutPart = String.format(" (timeout=%ds)", timeoutSec); +// DatabasePopulatorUtils.execute(createDatabasePopulator(), cpds); result = cpds; String OPERATION_DATABASE_CONNECTION_CHECK = String.format("Database [%s] connection check", dbPath); diff --git a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/structure/GeneratorMapNamesForHazelcast.java b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/structure/GeneratorMapNamesForHazelcast.java index c86ebe749..ad1ef222e 100644 --- a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/structure/GeneratorMapNamesForHazelcast.java +++ b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/structure/GeneratorMapNamesForHazelcast.java @@ -1,8 +1,22 @@ package ru.spcex.clearing.imdg.structure; import ru.clearing.classes.statics.data.account.Account; +import ru.clearing.classes.statics.data.account.AccountBalance; +import ru.clearing.classes.statics.data.company.Company; +import ru.clearing.classes.statics.data.company.relation.Relation; +import ru.clearing.classes.statics.data.messages.ErrorText; +import ru.clearing.classes.statics.data.scheduler.Scheduler; +import ru.clearing.classes.statics.data.scheduler.TaskRunner; +import ru.clearing.classes.statics.data.scheduler.Timetable; +import ru.clearing.classes.statics.data.scheduler.TradingCalendar; +import ru.clearing.classes.statics.data.security.Security; +import ru.clearing.classes.statics.data.statement.Statement; +import ru.clearing.classes.statics.data.user.User; +import ru.clearing.classes.statics.data.user.UserConnect; import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.structure.ObjectForCheckMapStore.SettingOperation; +import java.math.BigDecimal; import java.util.*; public class GeneratorMapNamesForHazelcast { @@ -17,7 +31,22 @@ public class GeneratorMapNamesForHazelcast { private static void init() { objectForCheckMapStores = new LinkedList<>(); + //businessobject objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_Account, Account.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_Company, Company.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_ErrorText, ErrorText.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_Relation, Relation.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_Scheduler, Scheduler.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_Security, Security.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_Statement, Statement.class, + new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("23.22")}))); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_TaskRunner, TaskRunner.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_Timetable, Timetable.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_TradingCalendar, TradingCalendar.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_UserConnect, UserConnect.class)); + objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_User, User.class)); +// objectForCheckMapStores.add(new ObjectForCheckMapStore<>(IMDGDistributedNames.Map_UserConnectHistory, UserConnectHistory.class)); } public static Map createClassByMapStoreName() { diff --git a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/structure/ObjectForCheckMapStore.java b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/structure/ObjectForCheckMapStore.java index b3aefd7ce..d421a901a 100644 --- a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/structure/ObjectForCheckMapStore.java +++ b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/structure/ObjectForCheckMapStore.java @@ -4,6 +4,9 @@ package ru.spcex.clearing.imdg.structure; import ru.spcex.clearing.imdg.utils.MatcherFactory.Matcher; import ru.spcex.platform.classes.base.SpcexObjectBase; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + import static ru.spcex.clearing.imdg.utils.MatcherFactory.usingIgnoringFieldsComparator; public class ObjectForCheckMapStore { @@ -11,6 +14,7 @@ public class ObjectForCheckMapStore { public final Matcher MATCHER = usingIgnoringFieldsComparator(); private final String mapName; private final Class clazz; + private SettingOperation settingOperation; private SpcexObjectBase predictableObj; @@ -19,6 +23,12 @@ public class ObjectForCheckMapStore { this.clazz = clazz; } + public ObjectForCheckMapStore(String mapName, Class clazz, SettingOperation settingOperation) { + this.mapName = mapName; + this.clazz = clazz; + this.settingOperation = settingOperation; + } + public String getMapName() { return mapName; } @@ -35,7 +45,35 @@ public class ObjectForCheckMapStore { return predictableObj; } - public void setPredictableObj(SpcexObjectBase predictableObj) { + public void setPredictableObj(SpcexObjectBase predictableObj) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + if (settingOperation != null) { + Method method = clazz.getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); + method.invoke(predictableObj, settingOperation.getParams()); + } this.predictableObj = predictableObj; } + + public static class SettingOperation { + private static String methodName; + private static Class[] parameterTypes; + private static Object[] params; + + public SettingOperation(String methodName, Class[] parameterTypes, Object[] params) { + SettingOperation.methodName = methodName; + SettingOperation.parameterTypes = parameterTypes; + SettingOperation.params = params; + } + + public String getMethodName() { + return methodName; + } + + public Class[] getParameterTypes() { + return parameterTypes; + } + + public Object[] getParams() { + return params; + } + } } diff --git a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/utils/DbDataUtils.java b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/utils/DbDataUtils.java index c2197b92c..d3ddbb8f6 100644 --- a/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/utils/DbDataUtils.java +++ b/clearing-parent/imdg/src/test/ru/spcex/clearing/imdg/utils/DbDataUtils.java @@ -8,12 +8,14 @@ import org.slf4j.LoggerFactory; import org.springframework.jdbc.core.JdbcTemplate; import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Modifier; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.Instant; import java.time.LocalDate; +import java.time.LocalTime; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -196,11 +198,13 @@ public final class DbDataUtils { } else if (typeField.equals(Integer.TYPE) || typeField.equals(Integer.class)) { field.set(object, 0); } else if (typeField.getName().equals(BigDecimal.class.getName())) { - field.set(object, BigDecimal.valueOf(23.22)); + field.set(object, new BigDecimal("23.220000000000000000")); } else if (typeField.equals(Long.TYPE) || typeField.equals(Long.class)) { - field.set(object, 0L); + field.set(object, 1000000L); } else if (typeField.equals(LocalDate.class)) { - field.set(object, LocalDate.of(2017, 11, 11)); + field.set(object, LocalDate.of(2022, 10, 7)); + } else if (typeField.equals(LocalTime.class)) { + field.set(object, LocalTime.of(19, 0)); } else if (typeField.getName().equals(Date.class.getName())) { field.set(object, new Date()); } else if (typeField.getName().equals(Boolean.class.getName())) { @@ -209,36 +213,23 @@ public final class DbDataUtils { field.set(object, UUID.randomUUID()); } else if (typeField.getName().equals(Instant.class.getName())) { field.set(object, Instant.parse("2022-10-05T15:39:18.659Z")); -// } else if (typeField.getSimpleName().equals(BusinessObjectRef.class.getSimpleName())) { -// field.set(object, BusinessObjectRef.createFromId(0L, BusinessObject.class)); -// } else if (typeField.getName().equals(Set.class.getName())) { -// Set hashSet = new HashSet<>(); -// hashSet.add(BusinessObjectRef.createFromId(0L, BusinessObject.class)); -// field.set(object, hashSet); -// } else if (typeField.getName().equals(Instant.class.getName())) { -// field.set(object, Instant.now()); -// } else if (typeField.getName().equals(Party.class.getName())) { -// Party party = new Party(); -// fillObjectDefaultValues(party, party.getClass()); -// field.set(object, party); -// } else if (typeField.getName().equals(LegalEntityProfile.class.getName())) { -// LegalEntityProfile legalEntityProfile = new LegalEntityProfile(); -// fillObjectDefaultValues(legalEntityProfile, legalEntityProfile.getClass()); -// legalEntityProfile.setId(1L); -// field.set(object, legalEntityProfile); +// } else if (typeField.getSimpleName().equals(CompanyInfo.class.getSimpleName())) { +// CompanyInfo companyInfo = new CompanyInfo(); +// fillObjectDefaultValues(companyInfo, CompanyInfo.class); +// field.set(object, companyInfo); +// } else if (typeField.getSuperclass().getName().equals(SpcexObjectBase.class.getName())) { +// Object objectField = typeField.getDeclaredConstructor().newInstance(); +// DbDataUtils.fillObjectDefaultValues(objectField, objectField.getClass()); +// field.set(object, objectField); } else { - if (Collection.class.isAssignableFrom(field.getType())) { - // ignore List, Set, etc. - log.debug("Any collection variable skipped: {}", field.getName()); - } else if (typeField.getName().equalsIgnoreCase("[Z") && field.getName().equalsIgnoreCase("$jacocoData")) { // Массив объектов в переменной $jacocoData - log.debug("Jacoco debug variable skipped: {}", field.getName()); - } else { - log.error("Для данного поля (в объекте " + object.getClass().getName() + "->" + field.getName() + ") значение по умолчению не может быть определенно для типа: " + typeField.getName()); - throw new RuntimeException(); - } + Object objectField = typeField.getDeclaredConstructor().newInstance(); + fillObjectDefaultValues(objectField, objectField.getClass()); + field.set(object, objectField); } } catch (IllegalAccessException e) { log.info(e.getMessage()); + } catch (InvocationTargetException | InstantiationException | NoSuchMethodException e) { + throw new RuntimeException(e); } }