From e3bc062346b6374598dba6a35657aafbf660502f Mon Sep 17 00:00:00 2001 From: AKurakin Date: Sun, 9 Apr 2023 20:34:13 +0300 Subject: [PATCH 1/5] =?UTF-8?q?meta.1.xml=20=D0=B2=D0=B5=D1=80=D0=BD=D1=83?= =?UTF-8?q?=D0=BB=20=D0=BD=D1=83=D0=B6=D0=BD=D1=8B=D0=B5=20*History=20maps?= =?UTF-8?q?tore.=20=D0=A1=D0=BA=D0=BE=D1=80=D0=BE=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D0=B5=D1=82=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B4=D0=BE=20meta.2.xml=20+=20ddl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EditClearingMemberCategoryController.java | 2 +- .../ClearingMemberCategoryBackendGetAll.java | 2 +- .../src/main/resources/meta/meta.xml | 2 +- ...tClearingMemberCategoryControllerTest.java | 2 +- .../service/AccountBalanceService.java | 2 +- .../ClearingMemberCategory.java | 2 +- .../ClearingMemberCategoryHistory.java | 26 ++++ .../data/company/CompanySymbolsHistory.java | 27 +++++ .../instrument/issue/CouponPeriodHistory.java | 26 ++++ .../issue/EquitySecurityHistory.java | 23 ++++ .../issue/FixedIncomeCashFlowHistory.java | 23 ++++ .../issue/FixedIncomeSecurityHistory.java | 23 ++++ .../data/misc/MoneyMarketSecurityHistory.java | 26 ++++ .../data/profile/ProfileDocumentHistory.java | 27 +++++ .../spcex/clearing/config/SortingConfig.java | 2 +- .../ru/spcex/clearing/service/Clearing.java | 2 +- .../service/SdfCreatorBySTLDPayment.java | 2 +- .../order/PaymentInstructionSorter.java | 2 +- .../clearing/service/ClearingServiceTest.java | 2 +- ...learingMemberCategoryValidationConfig.java | 2 +- .../config/validation/ValidationConfig.java | 2 +- .../ClearingMemberCategoryService.java | 2 +- .../ClearingMemberCategoryServiceTest.java | 2 +- .../company/service/CompanyServiceTest.java | 2 +- ...ClearingMemberCategoryHistoryMapStore.java | 49 ++++++++ .../CompanySymbolsHistoryMapStore.java | 50 ++++++++ .../CouponPeriodHistoryMapStore.java | 53 ++++++++ .../EquitySecurityHistoryMapStore.java | 107 +++++++++++++++++ .../FixedIncomeCashFlowHistoryMapStore.java | 57 +++++++++ .../FixedIncomeSecurityHistoryMapStore.java | 113 ++++++++++++++++++ .../MoneyMarketSecurityHistoryMapStore.java | 112 +++++++++++++++++ .../ProfileDocumentHistoryMapStore.java | 61 ++++++++++ .../FixedIncomeSecurityMapStore.java | 18 +-- .../ClearingMemberCategoryMapStore.java | 2 +- .../imdg/services/UpdateMapService.java | 58 ++++++++- .../structure/RunnableMapNamesForTesting.java | 22 ++-- .../ReportBR_0420312_P1_Collector.java | 2 +- .../ReportBR_0420312_P8_Collector.java | 2 +- .../ReportBR_0420314_P1_Collector.java | 2 +- .../ReportBR_0420315_P1_Collector.java | 2 +- .../collector/ReportBR_0420318_Collector.java | 3 +- .../collector/ReportPA_B_Collector.java | 2 +- .../collector/ReportPA_IV_Collector.java | 2 +- .../clearing/imdg/IMDGDistributedNames.java | 8 ++ 44 files changed, 910 insertions(+), 48 deletions(-) rename clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/{generated => company}/ClearingMemberCategory.java (90%) create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategoryHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbolsHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriodHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/EquitySecurityHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeCashFlowHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeSecurityHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MoneyMarketSecurityHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocumentHistory.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingMemberCategoryHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanySymbolsHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CouponPeriodHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/EquitySecurityHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeCashFlowHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeSecurityHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ProfileDocumentHistoryMapStore.java diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryController.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryController.java index e7f84d5b6..8d4f64ae4 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryController.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryController.java @@ -8,7 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.spcex.clearing.backendapi.controller.queue.AbstractQueueController; import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction; diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/ClearingMemberCategoryBackendGetAll.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/ClearingMemberCategoryBackendGetAll.java index 18a5a4335..6d98ce5e2 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/ClearingMemberCategoryBackendGetAll.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/ClearingMemberCategoryBackendGetAll.java @@ -3,7 +3,7 @@ package ru.spcex.clearing.backendapi.controller.response.entity.company; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.spcex.clearing.backendapi.controller.response.BasicSpcexResponse; import java.util.ArrayList; diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.xml b/clearing-parent/backend-api/src/main/resources/meta/meta.xml index 4b220a528..1e1012672 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.xml @@ -421,7 +421,7 @@ - + diff --git a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java index 1126570ca..116f90605 100644 --- a/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java +++ b/clearing-parent/backend-api/src/test/java/ru/spcex/clearing/backendapi/controller/queue/company/EditClearingMemberCategoryControllerTest.java @@ -4,7 +4,7 @@ import org.junit.jupiter.api.Test; import org.springframework.core.NestedExceptionUtils; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.spcex.clearing.backendapi.controller.queue.AbstractControllerTest; import ru.spcex.clearing.backendapi.controller.request.cud.common.CommonDeleteAction; import ru.spcex.clearing.backendapi.controller.request.cud.company.ClearingMemberCategoryNewAction; diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java index ea7db2f9b..d10e23a02 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/service/AccountBalanceService.java @@ -7,7 +7,7 @@ import org.springframework.stereotype.Component; 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.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.spcex.clearing.balance.validation.AccountBalanceValidation; import ru.spcex.clearing.balance.validation.ValidationStored; import ru.spcex.clearing.imdg.IMDGDistributedNames; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/generated/ClearingMemberCategory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategory.java similarity index 90% rename from clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/generated/ClearingMemberCategory.java rename to clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategory.java index a9c962512..f009fa5db 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/generated/ClearingMemberCategory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategory.java @@ -1,4 +1,4 @@ -package ru.clearing.classes.statics.data.generated; +package ru.clearing.classes.statics.data.company; import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategoryHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategoryHistory.java new file mode 100644 index 000000000..6260aa3d4 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/ClearingMemberCategoryHistory.java @@ -0,0 +1,26 @@ +package ru.clearing.classes.statics.data.company; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * DB: CLEARING_MEMBER_CATEGORY_HISTORY + */ +public class ClearingMemberCategoryHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private ClearingMemberCategory object; + + @Override + public ClearingMemberCategory getObject() { + return object; + } + + @Override + public void setObject(ClearingMemberCategory object) { + this.object = object; + } +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbolsHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbolsHistory.java new file mode 100644 index 000000000..97e9babf0 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/CompanySymbolsHistory.java @@ -0,0 +1,27 @@ +package ru.clearing.classes.statics.data.company; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * DB: COMPANY_SYMBOLS_HISTORY + */ +public class CompanySymbolsHistory extends BusinessEvent { + + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private CompanySymbols object; + + @Override + public CompanySymbols getObject() { + return object; + } + + @Override + public void setObject(CompanySymbols object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriodHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriodHistory.java new file mode 100644 index 000000000..a06c672e7 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/CouponPeriodHistory.java @@ -0,0 +1,26 @@ +package ru.clearing.classes.statics.data.instrument.issue; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * DB: COUPON_PERIOD_HISTORY + */ +public class CouponPeriodHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private CouponPeriod object; + + @Override + public CouponPeriod getObject() { + return object; + } + + @Override + public void setObject(CouponPeriod object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/EquitySecurityHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/EquitySecurityHistory.java new file mode 100644 index 000000000..b5065b978 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/EquitySecurityHistory.java @@ -0,0 +1,23 @@ +package ru.clearing.classes.statics.data.instrument.issue; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +public class EquitySecurityHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private EquitySecurity object; + + @Override + public EquitySecurity getObject() { + return object; + } + + @Override + public void setObject(EquitySecurity object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeCashFlowHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeCashFlowHistory.java new file mode 100644 index 000000000..d3c6c591f --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeCashFlowHistory.java @@ -0,0 +1,23 @@ +package ru.clearing.classes.statics.data.instrument.issue; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +public class FixedIncomeCashFlowHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private FixedIncomeCashFlow object; + + @Override + public FixedIncomeCashFlow getObject() { + return object; + } + + @Override + public void setObject(FixedIncomeCashFlow object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeSecurityHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeSecurityHistory.java new file mode 100644 index 000000000..0c081e1da --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/instrument/issue/FixedIncomeSecurityHistory.java @@ -0,0 +1,23 @@ +package ru.clearing.classes.statics.data.instrument.issue; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +public class FixedIncomeSecurityHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private FixedIncomeSecurity object; + + @Override + public FixedIncomeSecurity getObject() { + return object; + } + + @Override + public void setObject(FixedIncomeSecurity object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MoneyMarketSecurityHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MoneyMarketSecurityHistory.java new file mode 100644 index 000000000..f24b02f70 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/MoneyMarketSecurityHistory.java @@ -0,0 +1,26 @@ +package ru.clearing.classes.statics.data.misc; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * DB table: MONEY_MARKET_SECURITY_HISTORY + **/ +public class MoneyMarketSecurityHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private MoneyMarketSecurity object; + + @Override + public MoneyMarketSecurity getObject() { + return object; + } + + @Override + public void setObject(MoneyMarketSecurity object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocumentHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocumentHistory.java new file mode 100644 index 000000000..c58e9108a --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/ProfileDocumentHistory.java @@ -0,0 +1,27 @@ +package ru.clearing.classes.statics.data.profile; + + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * DB: PROFILE_DOCUMENT_HISTORY + */ +public class ProfileDocumentHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private ProfileDocument object; + + @Override + public ProfileDocument getObject() { + return object; + } + + @Override + public void setObject(ProfileDocument object) { + this.object = object; + } +} \ No newline at end of file diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/SortingConfig.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/SortingConfig.java index b45a0085d..b84cc8e95 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/SortingConfig.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/config/SortingConfig.java @@ -3,7 +3,7 @@ package ru.spcex.clearing.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.platform.enumeration.ClearingCategory; import ru.spcex.platform.imdg.api.Imdg; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java index 7dcbd75a6..3e97acbb6 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/Clearing.java @@ -5,7 +5,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import ru.clearing.classes.statics.data.execution.ExecutionDeposit; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney; import ru.clearing.classes.statics.data.payment.PaymentInstruction; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java index 22f2c9c4e..8d49ef72e 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/SdfCreatorBySTLDPayment.java @@ -5,7 +5,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.company.Company; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.payment.PaymentInstruction; import ru.clearing.classes.statics.data.sdf.SDf03; import ru.clearing.classes.statics.data.sdf.SDf11; diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/PaymentInstructionSorter.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/PaymentInstructionSorter.java index 031bcf128..1fa43982d 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/PaymentInstructionSorter.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/order/PaymentInstructionSorter.java @@ -5,7 +5,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.account.Account; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.payment.PaymentInstruction; import ru.spcex.clearing.error.ClearingError; import ru.spcex.clearing.imdg.IMDGDistributedNames; diff --git a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java index e2964030e..4ca6ad3cc 100644 --- a/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java +++ b/clearing-parent/clearing-service/src/test/java/ru/spcex/clearing/service/ClearingServiceTest.java @@ -9,7 +9,7 @@ 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.execution.ExecutionDeposit; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney; import ru.clearing.classes.statics.data.payment.PaymentInstruction; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ClearingMemberCategoryValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ClearingMemberCategoryValidationConfig.java index d1c44aa66..573a2793c 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ClearingMemberCategoryValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ClearingMemberCategoryValidationConfig.java @@ -3,7 +3,7 @@ package ru.spcex.clearing.company.config.validation; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import ru.clearing.classes.statics.data.company.Company; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.platform.dictionary.ClearingCategoryDictionary; import ru.spcex.clearing.company.error.CompanyErrors; import ru.spcex.clearing.imdg.IMDGDistributedNames; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java index a076fa999..597365270 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/validation/ValidationConfig.java @@ -4,7 +4,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.profile.Contact; import ru.clearing.classes.statics.data.profile.ProfileDocument; import ru.clearing.platform.dictionary.*; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java index b777d0a1e..15551060b 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ClearingMemberCategoryService.java @@ -8,7 +8,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.platform.messaging.domain.BaseRequest; import ru.spcex.clearing.platform.messaging.domain.Consts; diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java index 25a487333..3902be6aa 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ClearingMemberCategoryServiceTest.java @@ -14,7 +14,7 @@ import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import ru.clearing.classes.statics.data.company.Company; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.platform.dictionary.ClearingCategoryDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; import ru.spcex.clearing.company.config.validation.ClearingMemberCategoryValidationConfig; diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java index 1eb67af79..85af35dc6 100644 --- a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/CompanyServiceTest.java @@ -15,7 +15,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.platform.dictionary.CompanySymbolDictionary; import ru.clearing.platform.dictionary.WorkflowStatusDictionary; import ru.spcex.clearing.company.config.BeanConfiguration; diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingMemberCategoryHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingMemberCategoryHistoryMapStore.java new file mode 100644 index 000000000..728799b99 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingMemberCategoryHistoryMapStore.java @@ -0,0 +1,49 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategoryHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; + +@Component +public class ClearingMemberCategoryHistoryMapStore extends TemplateEventMapStore { + + public ClearingMemberCategoryHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ClearingMemberCategoryHistory; + } + + @Override + public String getTableName() { + return "CLEARING_MEMBER_CATEGORY_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "CLEARING_MEMBER_CATEGORY_ID", "COMPANY_ID", "CLEARING_MEMBER_CATEGORY" + }; + } + + @Override + public Object[] objectToField(ClearingMemberCategoryHistory historyLog) { + ClearingMemberCategory object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getCompanyId(), + object.getClearingMemberCategory() + }; + return args; + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanySymbolsHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanySymbolsHistoryMapStore.java new file mode 100644 index 000000000..e145db919 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanySymbolsHistoryMapStore.java @@ -0,0 +1,50 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.company.CompanySymbols; +import ru.clearing.classes.statics.data.company.CompanySymbolsHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; + +@Component +public class CompanySymbolsHistoryMapStore extends TemplateEventMapStore { + + public CompanySymbolsHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_CompanySymbolsHistory; + } + + @Override + public String getTableName() { + return "COMPANY_SYMBOLS_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "company_symbols_id", "company_id", "company_symbol", "company_symbol_value" + }; + } + + @Override + public Object[] objectToField(CompanySymbolsHistory historyLog) { + CompanySymbols object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getCompanyId(), + object.getCompanySymbol(), + object.getCompanySymbolValue() + }; + return args; + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CouponPeriodHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CouponPeriodHistoryMapStore.java new file mode 100644 index 000000000..0bcc6d6d9 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CouponPeriodHistoryMapStore.java @@ -0,0 +1,53 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.instrument.issue.CouponPeriod; +import ru.clearing.classes.statics.data.instrument.issue.CouponPeriodHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class CouponPeriodHistoryMapStore extends TemplateEventMapStore { + + public CouponPeriodHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_CouponPeriodHistory; + } + + @Override + public String getTableName() { + return "COUPON_PERIOD_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "COUPON_PERIOD_ID", "SECURITY_ID", "COUPON_RATE", "NUMBER", "PERIOD_END_DATE", "PERIOD_START_DATE" + }; + } + + @Override + public Object[] objectToField(CouponPeriodHistory historyLog) { + CouponPeriod object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getSecurityId(), + object.getCouponRate(), + object.getNumber(), + TimeUtil.toDateFromLocalDate(object.getPeriodEndDate()), + TimeUtil.toDateFromLocalDate(object.getPeriodStartDate()), + }; + return args; + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/EquitySecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/EquitySecurityHistoryMapStore.java new file mode 100644 index 000000000..5c4af9ad2 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/EquitySecurityHistoryMapStore.java @@ -0,0 +1,107 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; +import ru.clearing.classes.statics.data.instrument.issue.EquitySecurityHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Component +public class EquitySecurityHistoryMapStore extends TemplateEventMapStore { + + public EquitySecurityHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_EquitySecurityHistory; + } + + @Override + public String getTableName() { + return "EQUITY_SECURITY_HISTORY"; + } + + + @Override + public String[] getFields() { + return new String[]{ + "ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "EQUITY_SECURITY_ID", "SECURITY_ID", "SHARE_TYPE"}; + } + + public String[] getFieldsSecurity() { + return new String[]{ + "ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "SECURITY_ID", "CREATED_AT", "UPDATED_AT", "INSTRUMENT_TYPE", "ISSUER_ID", "SHORT_NAME", "FULL_NAME", "SHORT_NAME_ENG", "FULL_NAME_ENG", "SECURITY_SYMBOL", "ISIN", "WORKFLOW_STATUS"}; + } + + private final String insertToSecurityStatement = makeInsertSql("SECURITY", + getFieldsSecurity(), "id"); + + + @Override + protected Object[] objectToField(EquitySecurityHistory historyLog) { + EquitySecurity equitySecurity = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + equitySecurity.getId(), + equitySecurity.getSecurityId(), + equitySecurity.getShareType() + }; + return args; + } + + protected Object[] securityField(EquitySecurityHistory historyLog) { + EquitySecurity object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getSecurityId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getInstrumentType(), + object.getIssuerId(), + object.getShortName(), + object.getFullName(), + object.getShortNameEng(), + object.getFullNameEng(), + object.getSecuritySymbol(), + object.getIsin(), + object.getWorkflowStatus() + }; + return args; + } + + @Override + public void store(Map map) { + List moneyMarketArgs = new ArrayList<>(); + List securityArgs = new ArrayList<>(); + + for (Map.Entry entry : map.entrySet()) { + EquitySecurityHistory obj = entry.getValue(); + Object[] args = objectToField(obj); + if (args.length != validateSize) { + throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); + } + moneyMarketArgs.add(args); + securityArgs.add(securityField(obj)); + } + batchInsertUpdate(insertStatement, moneyMarketArgs); + batchInsertUpdate(insertToSecurityStatement, securityArgs); + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeCashFlowHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeCashFlowHistoryMapStore.java new file mode 100644 index 000000000..23039f283 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeCashFlowHistoryMapStore.java @@ -0,0 +1,57 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlow; +import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeCashFlowHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + + +@Component +public class FixedIncomeCashFlowHistoryMapStore extends TemplateEventMapStore { + + public FixedIncomeCashFlowHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_FixedIncomeCashFlowHistory; + } + + @Override + public String getTableName() { + return "FIXED_INCOME_CASH_FLOW_HISTORY"; + } + + + @Override + public String[] getFields() { + return new String[]{ + "ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "FIXED_INCOME_CASH_FLOW_ID", "SECURITY_ID", "ACCRUED_COUPON", "NOMINAL_VALUE", "NUMBER", "VALUE_DATE" + }; + } + + @Override + protected Object[] objectToField(FixedIncomeCashFlowHistory historyLog) { + FixedIncomeCashFlow fixedIncomeCashFlow = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + fixedIncomeCashFlow.getId(), + fixedIncomeCashFlow.getSecurityId(), + fixedIncomeCashFlow.getAccruedCoupon(), + fixedIncomeCashFlow.getNominalValue(), + fixedIncomeCashFlow.getNumber(), + TimeUtil.toDateFromLocalDate(fixedIncomeCashFlow.getValueDate()), + }; + return args; + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeSecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeSecurityHistoryMapStore.java new file mode 100644 index 000000000..cfa67916d --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeSecurityHistoryMapStore.java @@ -0,0 +1,113 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; +import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurityHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Component +public class FixedIncomeSecurityHistoryMapStore extends TemplateEventMapStore { + + public FixedIncomeSecurityHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_FixedIncomeSecurityHistory; + } + + @Override + public String getTableName() { + return "FIXED_INCOME_SECURITY_HISTORY"; + } + + + @Override + public String[] getFields() { + return new String[]{ + "ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "FIXED_INCOME_SECURITY_ID", "SECURITY_ID", "BOND_TYPE", "MATURITY_DATE", "NOMINAL_VALUE", "NOMINAL_CURRENCY", "COUPON", "COUPON_FREQUENCY" + }; + } + + public String[] getFieldsSecurity() { + return new String[]{ + "ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "SECURITY_ID", "CREATED_AT", "UPDATED_AT", "INSTRUMENT_TYPE", "ISSUER_ID", "SHORT_NAME", "FULL_NAME", "SHORT_NAME_ENG", "FULL_NAME_ENG", "SECURITY_SYMBOL", "ISIN", "WORKFLOW_STATUS"}; + } + + private final String insertToSecurityStatement = makeInsertSql("SECURITY", + getFieldsSecurity(), "id"); + + + @Override + protected Object[] objectToField(FixedIncomeSecurityHistory historyLog) { + FixedIncomeSecurity fixedIncomeSecurity = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + fixedIncomeSecurity.getId(), + fixedIncomeSecurity.getSecurityId(), + fixedIncomeSecurity.getBondType(), + TimeUtil.toDateFromLocalDate(fixedIncomeSecurity.getMaturityDate()), + fixedIncomeSecurity.getNominalValue(), + fixedIncomeSecurity.getNominalCurrency(), + fixedIncomeSecurity.getCoupon(), + fixedIncomeSecurity.getCouponFrequency() + }; + return args; + } + + protected Object[] securityField(FixedIncomeSecurityHistory historyLog) { + FixedIncomeSecurity object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getSecurityId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getInstrumentType(), + object.getIssuerId(), + object.getShortName(), + object.getFullName(), + object.getShortNameEng(), + object.getFullNameEng(), + object.getSecuritySymbol(), + object.getIsin(), + object.getWorkflowStatus() + }; + return args; + } + + @Override + public void store(Map map) { + List moneyMarketArgs = new ArrayList<>(); + List securityArgs = new ArrayList<>(); + + for (Map.Entry entry : map.entrySet()) { + FixedIncomeSecurityHistory obj = entry.getValue(); + Object[] args = objectToField(obj); + if (args.length != validateSize) { + throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); + } + moneyMarketArgs.add(args); + securityArgs.add(securityField(obj)); + } + batchInsertUpdate(insertStatement, moneyMarketArgs); + batchInsertUpdate(insertToSecurityStatement, securityArgs); + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java new file mode 100644 index 000000000..56ca67880 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java @@ -0,0 +1,112 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.clearing.classes.statics.data.misc.MoneyMarketSecurity; +import ru.clearing.classes.statics.data.misc.MoneyMarketSecurityHistory; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Component +public class MoneyMarketSecurityHistoryMapStore extends TemplateEventMapStore { + + public MoneyMarketSecurityHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_MoneyMarketSecurityHistory; + } + + @Override + public String getTableName() { + return "MONEY_MARKET_SECURITY_HISTORY"; + } + + + @Override + public String[] getFields() { + return new String[]{ + "ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "MONEY_MARKET_SECURITY_ID", "SECURITY_ID", "DESCRIPTION", "START_DATE", "END_DATE", "NOMINAL_VALUE", "NOMINAL_CURRENCY", "TERM_TYPE"}; + } + + public String[] getFieldsSecurity() { + return new String[]{ + "ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "SECURITY_ID", "CREATED_AT", "UPDATED_AT", "INSTRUMENT_TYPE", "ISSUER_ID", "SHORT_NAME", "FULL_NAME", "SHORT_NAME_ENG", "FULL_NAME_ENG", "SECURITY_SYMBOL", "ISIN", "WORKFLOW_STATUS"}; + } + + private final String insertToSecurityStatement = makeInsertSql("SECURITY", + getFieldsSecurity(), "id"); + + + @Override + protected Object[] objectToField(MoneyMarketSecurityHistory historyLog) { + MoneyMarketSecurity moneyMarketSecurity = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + moneyMarketSecurity.getId(), + moneyMarketSecurity.getSecurityId(), + moneyMarketSecurity.getDescription(), + TimeUtil.toDateFromLocalDate(moneyMarketSecurity.getStartDate()), + TimeUtil.toDateFromLocalDate(moneyMarketSecurity.getEndDate()), + moneyMarketSecurity.getNominalValue(), + moneyMarketSecurity.getNominalCurrency(), + moneyMarketSecurity.getTermType() + }; + return args; + } + + protected Object[] securityField(MoneyMarketSecurityHistory historyLog) { + MoneyMarketSecurity object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getSecurityId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getInstrumentType(), + object.getIssuerId(), + object.getShortName(), + object.getFullName(), + object.getShortNameEng(), + object.getFullNameEng(), + object.getSecuritySymbol(), + object.getIsin(), + object.getWorkflowStatus() + }; + return args; + } + + @Override + public void store(Map map) { + List moneyMarketArgs = new ArrayList<>(); + List securityArgs = new ArrayList<>(); + + for (Map.Entry entry : map.entrySet()) { + MoneyMarketSecurityHistory obj = entry.getValue(); + Object[] args = objectToField(obj); + if (args.length != validateSize) { + throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); + } + moneyMarketArgs.add(args); + securityArgs.add(securityField(obj)); + } + batchInsertUpdate(insertStatement, moneyMarketArgs); + batchInsertUpdate(insertToSecurityStatement, securityArgs); + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ProfileDocumentHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ProfileDocumentHistoryMapStore.java new file mode 100644 index 000000000..b2bf17603 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ProfileDocumentHistoryMapStore.java @@ -0,0 +1,61 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.profile.ProfileDocument; +import ru.clearing.classes.statics.data.profile.ProfileDocumentHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class ProfileDocumentHistoryMapStore extends TemplateEventMapStore { + + public ProfileDocumentHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ProfileDocumentHistory; + } + + @Override + public String getTableName() { + return "PROFILE_DOCUMENT_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "profile_document_id", "company_id", "document_type", "issue_date", "issue_place", "issuer", "issuer_code", + "name", "number", "place", "valid_from_date", "valid_to_date", "link" + }; + } + + @Override + public Object[] objectToField(ProfileDocumentHistory historyLog) { + ProfileDocument object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getCompanyId(), + object.getDocumentType(), + TimeUtil.toDateFromLocalDate(object.getIssueDate()), + object.getIssuePlace(), + object.getIssuer(), + object.getIssuerCode(), + object.getName(), + object.getNumber(), + object.getPlace(), + TimeUtil.toDateFromLocalDate(object.getValidFromDate()), + TimeUtil.toDateFromLocalDate(object.getValidToDate()), + object.getLink() + }; + return args; + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java index 7ff20d516..89ff3e9a8 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java @@ -85,16 +85,16 @@ public class FixedIncomeSecurityMapStore extends TemplateMapStore(IMDGDistributedNames.Map_InformationAccountHistory, InformationAccountHistory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_RelationHistory, RelationHistory.class)); - businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SecurityHistory, SecurityHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SecurityHistory, SecurityHistory.class)); // parent table businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_UserConnectHistory, UserConnectHistory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_UserHistory, UserHistory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CurrencyHistory, CurrencyHistory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ListingHistory, ListingHistory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_MarketHistory, MarketHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CompanySymbolsHistory, CompanySymbolsHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ProfileDocumentHistory, ProfileDocumentHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ClearingMemberCategoryHistory, ClearingMemberCategoryHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_MoneyMarketSecurityHistory, MoneyMarketSecurityHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_EquitySecurityHistory, EquitySecurityHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_FixedIncomeSecurityHistory, FixedIncomeSecurityHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_FixedIncomeCashFlowHistory, FixedIncomeCashFlowHistory.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CouponPeriodHistory, CouponPeriodHistory.class)); //business object businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class)); diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420312_P1_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420312_P1_Collector.java index 2c87bdf45..2daa9d14c 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420312_P1_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420312_P1_Collector.java @@ -4,7 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.reports.reports.bt_17_5.ReportBR_0420312_P1; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420312_P8_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420312_P8_Collector.java index c3aafad83..76f53b9fc 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420312_P8_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420312_P8_Collector.java @@ -4,7 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.clearing.platform.dictionary.CurrencyCodeDictionary; import ru.spcex.clearing.imdg.IMDGDistributedNames; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420314_P1_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420314_P1_Collector.java index 824ddfd32..75e0d3f0c 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420314_P1_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420314_P1_Collector.java @@ -4,7 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.clearing.platform.dictionary.ClearingStatusDictionary; import ru.spcex.clearing.imdg.IMDGDistributedNames; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420315_P1_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420315_P1_Collector.java index 5c0ddb435..3f4f9f381 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420315_P1_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420315_P1_Collector.java @@ -4,7 +4,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.company.Company; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.misc.Listing; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.clearing.platform.dictionary.ClearingStatusDictionary; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420318_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420318_Collector.java index 2dd08ed64..fa512d506 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420318_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportBR_0420318_Collector.java @@ -4,7 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.company.Company; import ru.clearing.classes.statics.data.company.CompanySymbols; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsMoney; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.spcex.clearing.imdg.IMDGDistributedNames; @@ -16,7 +16,6 @@ import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import java.math.BigDecimal; -import java.time.Instant; import java.time.LocalDate; import java.util.Collection; import java.util.List; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_B_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_B_Collector.java index bc373378d..22f76e2b2 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_B_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_B_Collector.java @@ -1,7 +1,7 @@ package ru.spcex.clearing.reports.services.collector; import org.springframework.stereotype.Component; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.reports.reports.bt_12_2.ReportPA_B; diff --git a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_IV_Collector.java b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_IV_Collector.java index 159b72c32..c7620a313 100644 --- a/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_IV_Collector.java +++ b/clearing-parent/reports-service/src/main/java/ru/spcex/clearing/reports/services/collector/ReportPA_IV_Collector.java @@ -1,7 +1,7 @@ package ru.spcex.clearing.reports.services.collector; import org.springframework.stereotype.Component; -import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; +import ru.clearing.classes.statics.data.company.ClearingMemberCategory; import ru.clearing.classes.statics.data.liabilities.LiabilitiesClaimsAssets; import ru.clearing.platform.dictionary.ClearingStatusDictionary; import ru.spcex.clearing.imdg.IMDGDistributedNames; diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index 6ddba6e78..ebb948fd2 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -126,6 +126,14 @@ public final class IMDGDistributedNames { public static final String Map_ShareTypeDictionary = "Map_ShareTypeDictionary"; public static final String Map_BondTypeDictionary = "Map_BondTypeDictionary"; public static final String Map_CurrencyHistory = "Map_CurrencyHistory"; + public static final String Map_MoneyMarketSecurityHistory = "Map_MoneyMarketSecurityHistory"; + public static final String Map_CompanySymbolsHistory = "Map_CompanySymbolsHistory"; + public static final String Map_ProfileDocumentHistory = "Map_ProfileDocumentHistory"; + public static final String Map_ClearingMemberCategoryHistory = "Map_ClearingMemberCategoryHistory"; + public static final String Map_EquitySecurityHistory = "Map_EquitySecurityHistory"; + public static final String Map_FixedIncomeSecurityHistory = "Map_FixedIncomeSecurityHistory"; + public static final String Map_FixedIncomeCashFlowHistory = "Map_FixedIncomeCashFlowHistory"; + public static final String Map_CouponPeriodHistory = "Map_CouponPeriodHistory"; public static final String Map_EquitySecurity = "Map_EquitySecurity"; public static final String Map_FixedIncomeSecurity = "Map_FixedIncomeSecurity"; public static final String Map_FixedIncomeCashFlow = "Map_FixedIncomeCashFlow"; From f701b0db8ca50c4dc4c0b08398e7fae3f9dd912a Mon Sep 17 00:00:00 2001 From: AKurakin Date: Mon, 10 Apr 2023 13:29:36 +0300 Subject: [PATCH 2/5] =?UTF-8?q?IMDG=20refactoring=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=87=D0=B5=D1=80=D0=BD=D0=B8=D1=85=20=D1=82=D0=B0?= =?UTF-8?q?=D0=B1=D0=BB=D0=B8=D1=86=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=B4=D0=B8?= =?UTF-8?q?=D0=BD=D0=B8=D0=BB=20=D0=BE=D0=B1=D1=89=D0=B8=D0=B9=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ASecurityHistoryMapStore.java | 83 ++++++++++++++ .../EquitySecurityHistoryMapStore.java | 59 +--------- .../FixedIncomeSecurityHistoryMapStore.java | 57 +--------- .../MoneyMarketSecurityHistoryMapStore.java | 52 +-------- .../SecurityHistoryMapStore.java | 1 + .../businessobject/ASecurityMapStore.java | 105 ++++++++++++++++++ .../EquitySecurityMapStore.java | 73 +----------- .../FixedIncomeSecurityMapStore.java | 72 +----------- .../imdg/businessobject/SecurityMapStore.java | 1 + 9 files changed, 195 insertions(+), 308 deletions(-) create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java new file mode 100644 index 000000000..39cda97d8 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java @@ -0,0 +1,83 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import ru.clearing.classes.objects.BusinessEvent; +import ru.clearing.classes.statics.data.security.Security; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Двойная запись в 2 таблицы: + * SECURITY_HISTORY + * *_SECURITY_HISTORY + */ +public abstract class ASecurityHistoryMapStore> extends TemplateEventMapStore { + + protected final int validateSecuritySize; + + public ASecurityHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + this.validateSecuritySize = getFieldsSecurity().length; + } + + public String[] getFieldsSecurity() { + return new String[]{ + "ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "SECURITY_ID", "CREATED_AT", "UPDATED_AT", "INSTRUMENT_TYPE", "ISSUER_ID", "SHORT_NAME", "FULL_NAME", "SHORT_NAME_ENG", "FULL_NAME_ENG", "SECURITY_SYMBOL", "ISIN", "WORKFLOW_STATUS"}; + } + + private final String insertToSecurityStatement = makeInsertSql("SECURITY", + getFieldsSecurity(), "id"); + + + protected Object[] securityField(STH historyLog) { + Security object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), // securitytId + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getInstrumentType(), + object.getIssuerId(), + object.getShortName(), + object.getFullName(), + object.getShortNameEng(), + object.getFullNameEng(), + object.getSecuritySymbol(), + object.getIsin(), + object.getWorkflowStatus() + }; + return args; + } + + @Override + public void store(Map map) { + List tableArgs = new ArrayList<>(); + List securityArgs = new ArrayList<>(); + + for (Map.Entry entry : map.entrySet()) { + STH obj = entry.getValue(); + Object[] args = objectToField(obj); + if (args.length != validateSize) { + throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); + } + tableArgs.add(args); + Object[] securityItemArgs = securityField(obj); + + if (securityItemArgs.length != validateSecuritySize) { + throw new IllegalArgumentException("securityField return " + securityItemArgs.length + " arguments, but expected " + validateSecuritySize); + } + securityArgs.add(securityItemArgs); + } + batchInsertUpdate(insertStatement, tableArgs); + batchInsertUpdate(insertToSecurityStatement, securityArgs); + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/EquitySecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/EquitySecurityHistoryMapStore.java index 5c4af9ad2..38cb86897 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/EquitySecurityHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/EquitySecurityHistoryMapStore.java @@ -5,15 +5,9 @@ import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; import ru.clearing.classes.statics.data.instrument.issue.EquitySecurityHistory; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.imdg.base.TemplateEventMapStore; -import ru.spcex.platform.utils.time.TimeUtil; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; @Component -public class EquitySecurityHistoryMapStore extends TemplateEventMapStore { +public class EquitySecurityHistoryMapStore extends ASecurityHistoryMapStore { public EquitySecurityHistoryMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); @@ -37,16 +31,6 @@ public class EquitySecurityHistoryMapStore extends TemplateEventMapStore map) { - List moneyMarketArgs = new ArrayList<>(); - List securityArgs = new ArrayList<>(); - - for (Map.Entry entry : map.entrySet()) { - EquitySecurityHistory obj = entry.getValue(); - Object[] args = objectToField(obj); - if (args.length != validateSize) { - throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); - } - moneyMarketArgs.add(args); - securityArgs.add(securityField(obj)); - } - batchInsertUpdate(insertStatement, moneyMarketArgs); - batchInsertUpdate(insertToSecurityStatement, securityArgs); - } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeSecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeSecurityHistoryMapStore.java index cfa67916d..bed37e509 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeSecurityHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/FixedIncomeSecurityHistoryMapStore.java @@ -5,15 +5,11 @@ import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurityHistory; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.imdg.base.TemplateEventMapStore; import ru.spcex.platform.utils.time.TimeUtil; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; @Component -public class FixedIncomeSecurityHistoryMapStore extends TemplateEventMapStore { +public class FixedIncomeSecurityHistoryMapStore extends ASecurityHistoryMapStore { public FixedIncomeSecurityHistoryMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); @@ -38,16 +34,6 @@ public class FixedIncomeSecurityHistoryMapStore extends TemplateEventMapStore map) { - List moneyMarketArgs = new ArrayList<>(); - List securityArgs = new ArrayList<>(); - - for (Map.Entry entry : map.entrySet()) { - FixedIncomeSecurityHistory obj = entry.getValue(); - Object[] args = objectToField(obj); - if (args.length != validateSize) { - throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); - } - moneyMarketArgs.add(args); - securityArgs.add(securityField(obj)); - } - batchInsertUpdate(insertStatement, moneyMarketArgs); - batchInsertUpdate(insertToSecurityStatement, securityArgs); - } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java index 56ca67880..d2549e572 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java @@ -13,7 +13,7 @@ import java.util.List; import java.util.Map; @Component -public class MoneyMarketSecurityHistoryMapStore extends TemplateEventMapStore { +public class MoneyMarketSecurityHistoryMapStore extends ASecurityHistoryMapStore { public MoneyMarketSecurityHistoryMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); @@ -37,15 +37,6 @@ public class MoneyMarketSecurityHistoryMapStore extends TemplateEventMapStore map) { - List moneyMarketArgs = new ArrayList<>(); - List securityArgs = new ArrayList<>(); - - for (Map.Entry entry : map.entrySet()) { - MoneyMarketSecurityHistory obj = entry.getValue(); - Object[] args = objectToField(obj); - if (args.length != validateSize) { - throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); - } - moneyMarketArgs.add(args); - securityArgs.add(securityField(obj)); - } - batchInsertUpdate(insertStatement, moneyMarketArgs); - batchInsertUpdate(insertToSecurityStatement, securityArgs); - } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/SecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/SecurityHistoryMapStore.java index 5dad83db3..9f0c5dc60 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/SecurityHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/SecurityHistoryMapStore.java @@ -8,6 +8,7 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.base.TemplateEventMapStore; import ru.spcex.platform.utils.time.TimeUtil; +// Abstract table: ASecurityHistoryMapStore @Component public class SecurityHistoryMapStore extends TemplateEventMapStore { diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java new file mode 100644 index 000000000..df50fd421 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java @@ -0,0 +1,105 @@ +package ru.spcex.clearing.imdg.businessobject; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.security.Security; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Двойная запись в 2 таблицы: + * SECURITY_HISTORY + * *_SECURITY_HISTORY + * + * objectReader() надо использовать fillBySecurity(object, object.getSecurityId()); + * objectToField() требуется возвращать только поля в дополнительную таблицу, без полей для SECURITY + */ +@Component +public abstract class ASecurityMapStore extends TemplateMapStore { + + protected final int validateSecuritySize; + + public ASecurityMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + validateSecuritySize = getFieldsSecurity().length; + } + + public String[] getFieldsSecurity() { + return new String[]{"ID", "CREATED_AT", "UPDATED_AT", "INSTRUMENT_TYPE", "ISSUER_ID", "SHORT_NAME", "FULL_NAME", "SHORT_NAME_ENG", "FULL_NAME_ENG", "SECURITY_SYMBOL", "ISIN", "WORKFLOW_STATUS"}; + } + + private final String insertToSecurityStatement = makeInsertSql("SECURITY", + getFieldsSecurity(), "id"); + + + + protected void fillBySecurity(S object, Long securityId) { + List resouts = jdbcTemplate.query( + "SELECT * FROM SECURITY WHERE id = ?", new Object[]{securityId}, + (rs, rowNum) -> { + object.setCreated(getInstantFromTimestamp(rs, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(rs, "UPDATED_AT")); + object.setInstrumentType(rs.getObject("INSTRUMENT_TYPE", String.class)); + object.setIssuerId(rs.getObject("issuer_id", Long.class)); + object.setShortName(rs.getObject("short_name", String.class)); + object.setFullName(rs.getObject("FULL_NAME", String.class)); + object.setShortNameEng(rs.getObject("short_name_eng", String.class)); + object.setFullNameEng(rs.getObject("full_name_eng", String.class)); + object.setSecuritySymbol(rs.getObject("SECURITY_SYMBOL", String.class)); + object.setIsin(rs.getObject("ISIN", String.class)); + object.setWorkflowStatus(rs.getObject("workflow_status", String.class)); + return object; + } + ); + if (resouts.size() != 1) { + log.warn("Result size={} not expected for table SECURITY, {} where id={}", getTableName(), resouts.size(), securityId); + } + } + + + protected Object[] securityField(S object) { + Object[] args = new Object[]{ + object.getId(), // SecurityId + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getInstrumentType(), + object.getIssuerId(), + object.getShortName(), + object.getFullName(), + object.getShortNameEng(), + object.getFullNameEng(), + object.getSecuritySymbol(), + object.getIsin(), + object.getWorkflowStatus() + }; + return args; + } + + @Override + public void store(Map map) { + List childTableArgs = new ArrayList<>(); + List securityArgs = new ArrayList<>(); + + for (Map.Entry entry : map.entrySet()) { + S obj = entry.getValue(); + Object[] args = objectToField(obj); + if (args.length != validateSize) { + throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); + } + childTableArgs.add(args); + Object[] argsSecurityItem = securityField(obj); + if (argsSecurityItem.length != validateSecuritySize) { + throw new IllegalArgumentException("securityField return " + argsSecurityItem.length + " arguments, but expected " + validateSecuritySize); + } + securityArgs.add(argsSecurityItem); + } + batchInsertUpdate(insertStatement, childTableArgs); + batchInsertUpdate(insertToSecurityStatement, securityArgs); + } + + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java index c6d21f3f2..a87523eee 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Map; @Component -public class EquitySecurityMapStore extends TemplateMapStore { +public class EquitySecurityMapStore extends ASecurityMapStore { public EquitySecurityMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); @@ -37,18 +37,6 @@ public class EquitySecurityMapStore extends TemplateMapStore { }; } - public String[] getFieldsSecurity() { - return new String[]{"ID", "CREATED_AT", "UPDATED_AT", "INSTRUMENT_TYPE", "ISSUER_ID", "SHORT_NAME", "FULL_NAME", "SHORT_NAME_ENG", "FULL_NAME_ENG", "SECURITY_SYMBOL", "ISIN", "WORKFLOW_STATUS"}; - } - - private final String insertToSecurityStatement = makeInsertSql("SECURITY", - getFieldsSecurity(), "id"); - - - - - - @Override protected EquitySecurity objectReader(ResultSet resultSet) throws SQLException { @@ -62,29 +50,6 @@ public class EquitySecurityMapStore extends TemplateMapStore { return object; } - private void fillBySecurity(EquitySecurity object, Long securityId) { - List resouts = jdbcTemplate.query( - "SELECT * FROM SECURITY WHERE id = ?", new Object[]{securityId}, - (rs, rowNum) -> { - object.setCreated(getInstantFromTimestamp(rs, "CREATED_AT")); - object.setUpdated(getInstantFromTimestamp(rs, "UPDATED_AT")); - object.setInstrumentType(rs.getObject("INSTRUMENT_TYPE", String.class)); - object.setIssuerId(rs.getObject("issuer_id", Long.class)); - object.setShortName(rs.getObject("short_name", String.class)); - object.setFullName(rs.getObject("FULL_NAME", String.class)); - object.setShortNameEng(rs.getObject("short_name_eng", String.class)); - object.setFullNameEng(rs.getObject("full_name_eng", String.class)); - object.setSecuritySymbol(rs.getObject("SECURITY_SYMBOL", String.class)); - object.setIsin(rs.getObject("ISIN", String.class)); - object.setWorkflowStatus(rs.getObject("workflow_status", String.class)); - return object; - } - ); - if (resouts.size() != 1) { - log.warn("Result size={} not expected for table MONEY_MARKET_SECURITY where id={}", resouts.size(), securityId); - } - } - @Override protected Object[] objectToField(EquitySecurity equity) { Object[] args = new Object[]{ @@ -95,40 +60,4 @@ public class EquitySecurityMapStore extends TemplateMapStore { return args; } - protected Object[] securityField(EquitySecurity object) { - Object[] args = new Object[]{ - object.getSecurityId(), - TimeUtil.toDateFromInstant(object.getCreated()), - TimeUtil.toDateFromInstant(object.getUpdated()), - object.getInstrumentType(), - object.getIssuerId(), - object.getShortName(), - object.getFullName(), - object.getShortNameEng(), - object.getFullNameEng(), - object.getSecuritySymbol(), - object.getIsin(), - object.getWorkflowStatus() - }; - return args; - } - - @Override - public void store(Map map) { - List moneyMarketArgs = new ArrayList<>(); - List securityArgs = new ArrayList<>(); - - for (Map.Entry entry : map.entrySet()) { - EquitySecurity obj = entry.getValue(); - Object[] args = objectToField(obj); - if (args.length != validateSize) { - throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); - } - moneyMarketArgs.add(args); - securityArgs.add(securityField(obj)); - } - batchInsertUpdate(insertStatement, moneyMarketArgs); - batchInsertUpdate(insertToSecurityStatement, securityArgs); - } - } \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java index 89ff3e9a8..13702905d 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java @@ -4,16 +4,14 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.imdg.base.TemplateMapStore; import ru.spcex.platform.utils.time.TimeUtil; import java.math.BigDecimal; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.*; @Component -public class FixedIncomeSecurityMapStore extends TemplateMapStore { +public class FixedIncomeSecurityMapStore extends ASecurityMapStore { public FixedIncomeSecurityMapStore(JdbcTemplate jdbcTemplate) { super(jdbcTemplate); @@ -36,14 +34,6 @@ public class FixedIncomeSecurityMapStore extends TemplateMapStore resouts = jdbcTemplate.query( - "SELECT * FROM SECURITY WHERE id = ?", new Object[]{securityId}, - (rs, rowNum) -> { - object.setCreated(getInstantFromTimestamp(rs, "CREATED_AT")); - object.setUpdated(getInstantFromTimestamp(rs, "UPDATED_AT")); - object.setInstrumentType(rs.getObject("INSTRUMENT_TYPE", String.class)); - object.setIssuerId(rs.getObject("issuer_id", Long.class)); - object.setShortName(rs.getObject("short_name", String.class)); - object.setFullName(rs.getObject("FULL_NAME", String.class)); - object.setShortNameEng(rs.getObject("short_name_eng", String.class)); - object.setFullNameEng(rs.getObject("full_name_eng", String.class)); - object.setSecuritySymbol(rs.getObject("SECURITY_SYMBOL", String.class)); - object.setIsin(rs.getObject("ISIN", String.class)); - object.setWorkflowStatus(rs.getObject("workflow_status", String.class)); - return object; - } - ); - if (resouts.size() != 1) { - log.warn("Result size={} not expected for table MONEY_MARKET_SECURITY where id={}", resouts.size(), securityId); - } - } - @Override protected Object[] objectToField(FixedIncomeSecurity object) { Object[] args = new Object[]{ @@ -99,41 +66,4 @@ public class FixedIncomeSecurityMapStore extends TemplateMapStore map) { - List moneyMarketArgs = new ArrayList<>(); - List securityArgs = new ArrayList<>(); - - for (Map.Entry entry : map.entrySet()) { - FixedIncomeSecurity obj = entry.getValue(); - Object[] args = objectToField(obj); - if (args.length != validateSize) { - throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); - } - moneyMarketArgs.add(args); - securityArgs.add(securityField(obj)); - } - batchInsertUpdate(insertStatement, moneyMarketArgs); - batchInsertUpdate(insertToSecurityStatement, securityArgs); - } - - } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SecurityMapStore.java index d48f17ed2..7b876cd81 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SecurityMapStore.java @@ -10,6 +10,7 @@ import ru.spcex.platform.utils.time.TimeUtil; import java.sql.ResultSet; import java.sql.SQLException; +// Abstract table: ASecurityHistoryMapStore @Component public class SecurityMapStore extends TemplateMapStore { From 7f58755bb805026fc202db4306ae7989bf0a4e5e Mon Sep 17 00:00:00 2001 From: AKurakin Date: Mon, 10 Apr 2023 21:23:18 +0300 Subject: [PATCH 3/5] http://jira.mfd.msk:8088/browse/CLS-261 DDL, meta.2 --- .../src/main/resources/meta/data.xml | 2 +- .../src/main/resources/meta/meta.xml | 4 +- .../statics/data/account/ClearingAccount.java | 23 +- .../statics/data/account/DepoAccount.java | 42 + .../data/account/DepoAccountHistory.java | 28 + .../classes/statics/data/misc/ClientCode.java | 71 + .../statics/data/misc/ClientCodeHistory.java | 28 + .../statics/data/registry/Registry.java | 425 +++++ .../data/registry/RegistryHistory.java | 28 + .../registry/TradingClearingRegistry.java | 88 + .../TradingClearingRegistryHistory.java | 28 + .../classes/statics/data/sdf/SDf51.java | 49 + .../classes/statics/data/sdf/SDf52.java | 81 + .../classes/statics/data/sdf/SDf53.java | 81 + .../statics/data/security/Security.java | 8 + .../db-scripts/src/main/resources/db/DATA.sql | 282 ++- .../db-scripts/src/main/resources/db/DDL.sql | 1557 ++++++++++++----- .../BalanceDimensionDictionary.java | 10 + .../ClearingAccountTypeDictionary.java | 11 + .../dictionary/DepoAccountTypeDictionary.java | 11 + .../RegistryCapacityDictionary.java | 11 + .../dictionary/RegistryCodeDictionary.java | 11 + .../RegistryDesignationDictionary.java | 11 + .../RegistryInstrumentTypeDictionary.java | 11 + .../dictionary/RegistryStatusDictionary.java | 12 + .../dictionary/RegistryUnitDictionary.java | 11 + ...radingClearingRegistryLevelDictionary.java | 11 + ...dingClearingRegistryPurposeDictionary.java | 11 + ...TradingClearingRegistryTypeDictionary.java | 10 + .../ASecurityHistoryMapStore.java | 5 +- .../ClearingAccountHistoryMapStore.java | 51 + .../ClientCodeHistoryMapStore.java | 57 + .../DepoAccountHistoryMapStore.java | 51 + .../RegistryHistoryMapStore.java | 94 + ...radingClearingRegistryHistoryMapStore.java | 59 + .../businessobject/ASecurityMapStore.java | 6 +- .../businessobject/ClientCodeMapStore.java | 68 + .../imdg/businessobject/RegistryMapStore.java | 144 ++ .../TradingClearingRegistryMapStore.java | 72 + .../BalanceDimensionDictionaryMapStore.java | 31 + ...ClearingAccountTypeDictionaryMapStore.java | 31 + .../DepoAccountTypeDictionaryMapStore.java | 31 + .../RegistryCapacityDictionaryMapStore.java | 31 + .../RegistryCodeDictionaryMapStore.java | 31 + ...RegistryDesignationDictionaryMapStore.java | 31 + .../RegistryStatusDictionaryMapStore.java | 31 + .../RegistryUnitDictionaryMapStore.java | 31 + ...earingRegistryLevelDictionaryMapStore.java | 31 + ...ringRegistryPurposeDictionaryMapStore.java | 31 + ...learingRegistryTypeDictionaryMapStore.java | 32 + .../imdg/object/ClearingAccountMapStore.java | 57 + .../imdg/object/DepoAccountMapStore.java | 59 + ...istryInstrumentTypeDictionaryMapStore.java | 31 + .../clearing/imdg/object/SDf51MapStore.java | 60 + .../clearing/imdg/object/SDf52MapStore.java | 68 + .../clearing/imdg/object/SDf53MapStore.java | 68 + .../structure/RunnableMapNamesForTesting.java | 17 + .../clearing/imdg/IMDGDistributedNames.java | 23 + 58 files changed, 3742 insertions(+), 546 deletions(-) create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccount.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccountHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCode.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCodeHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/Registry.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/RegistryHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistry.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryHistory.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf51.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf52.java create mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BalanceDimensionDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingAccountTypeDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DepoAccountTypeDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCapacityDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCodeDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryDesignationDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryInstrumentTypeDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryStatusDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryUnitDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryLevelDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryPurposeDictionary.java create mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryTypeDictionary.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingAccountHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/DepoAccountHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/RegistryHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/TradingClearingRegistryHistoryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RegistryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TradingClearingRegistryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/BalanceDimensionDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/ClearingAccountTypeDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/DepoAccountTypeDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryCapacityDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryCodeDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryDesignationDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryStatusDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryUnitDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryLevelDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryPurposeDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryTypeDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/ClearingAccountMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/DepoAccountMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/RegistryInstrumentTypeDictionaryMapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf51MapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf52MapStore.java create mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf53MapStore.java diff --git a/clearing-parent/backend-api/src/main/resources/meta/data.xml b/clearing-parent/backend-api/src/main/resources/meta/data.xml index 4d742a9ef..2627cc907 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/data.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/data.xml @@ -167,7 +167,7 @@ - + diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.xml b/clearing-parent/backend-api/src/main/resources/meta/meta.xml index 1e1012672..281b1e4c7 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.xml @@ -169,7 +169,7 @@ - + @@ -421,7 +421,7 @@ - + diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccount.java index 1157575b4..68fdebd2d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccount.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClearingAccount.java @@ -12,21 +12,30 @@ public class ClearingAccount extends SpcexObjectBase { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private Long accountId; - private String account; + private String clearingAccountType; + private Long companyId; public Long getAccountId() { return accountId; } - public void setAccountId(Long value) { - this.accountId = value; + public void setAccountId(Long accountId) { + this.accountId = accountId; } - public String getAccount() { - return account; + public String getClearingAccountType() { + return clearingAccountType; } - public void setAccount(String account) { - this.account = account; + public void setClearingAccountType(String clearingAccountType) { + this.clearingAccountType = clearingAccountType; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; } } \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccount.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccount.java new file mode 100644 index 000000000..e1f8bc73a --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccount.java @@ -0,0 +1,42 @@ +package ru.clearing.classes.statics.data.account; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +/** + * Депозитарные счета + *

+ * DB table: DEPO_ACCOUNT + **/ +public class DepoAccount extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long accountId; + private String depoAccountType; + private Long companyId; + + public Long getAccountId() { + return accountId; + } + + public void setAccountId(Long value) { + this.accountId = value; + } + + public String getDepoAccountType() { + return depoAccountType; + } + + public void setDepoAccountType(String value) { + this.depoAccountType = value; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long value) { + this.companyId = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccountHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccountHistory.java new file mode 100644 index 000000000..eb14cf879 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/DepoAccountHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.account; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Депозитарные счета + *

+ * DB table: DEPO_ACCOUNT_HISTORY + **/ +public class DepoAccountHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private DepoAccount object; + + @Override + public DepoAccount getObject() { + return object; + } + + @Override + public void setObject(DepoAccount object) { + this.object = object; + } +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCode.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCode.java new file mode 100644 index 000000000..45aab81af --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCode.java @@ -0,0 +1,71 @@ +package ru.clearing.classes.statics.data.misc; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessObject; + +import java.time.Instant; + +/** + * Коды клиентов компании + *

+ * DB table: CLIENT_CODE + **/ +public class ClientCode extends BusinessObject { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long companyId; + private String code; + private Long tradingClearingRegistryId; + private Long moneyAccountId; + private Long depoAccountId; + private String status; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long value) { + this.companyId = value; + } + + public String getCode() { + return code; + } + + public void setCode(String value) { + this.code = value; + } + + public Long getTradingClearingRegistryId() { + return tradingClearingRegistryId; + } + + public void setTradingClearingRegistryId(Long value) { + this.tradingClearingRegistryId = value; + } + + public Long getMoneyAccountId() { + return moneyAccountId; + } + + public void setMoneyAccountId(Long value) { + this.moneyAccountId = value; + } + + public Long getDepoAccountId() { + return depoAccountId; + } + + public void setDepoAccountId(Long value) { + this.depoAccountId = value; + } + + public String getStatus() { + return status; + } + + public void setStatus(String value) { + this.status = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCodeHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCodeHistory.java new file mode 100644 index 000000000..4c26f82aa --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCodeHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.misc; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Коды клиентов компании + *

+ * DB table: CLIENT_CODE_HISTORY + **/ +public class ClientCodeHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private ClientCode object; + + @Override + public ClientCode getObject() { + return object; + } + + @Override + public void setObject(ClientCode object) { + this.object = object; + } +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/Registry.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/Registry.java new file mode 100644 index 000000000..6e3d759f8 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/Registry.java @@ -0,0 +1,425 @@ +package ru.clearing.classes.statics.data.registry; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +/** + * Регистр активов, обязательств и требований УК + *

+ * DB table: REGISTRY + **/ +public class Registry extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long companyId; + private String tradingCode; + private String clearingCode; + private String shortName; + private String fullName; + private Long accountId; + private String accountType; + private String account; + private String registryDesignation; + private String registryInstrumentType; + private String registryCapacity; + private String registryUnit; + private String registryCode; + private Long tradingClearingRegistryId; + private String tradingClearingRegistry; + private String registryStatus; + private Long securityId; + private BigDecimal balance; + private BigDecimal openBalance; + private BigDecimal closeBalance; + private BigDecimal credit; + private BigDecimal debit; + private BigDecimal settledCredit; + private BigDecimal settledDebit; + private BigDecimal checkBalance; + private BigDecimal diffBalance; + private BigDecimal planBalance; + private String balanceDimension; + private LocalDate settlementDate; + private String settlementCode; + private LocalDate tradingDate; + private LocalDate clearingDate; + private LocalDate refundDate; + private LocalDate valueDate; + private BigDecimal price; + private String contract; + private Long counterPartyId; + private String comment; + private Long parentId; + private Long groupId; + private Long sessionId; + private Long paymentId; + private Long refundPaymentId; + // (in parent) private Long id; + private Instant createdAt; + private Instant updatedAt; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long value) { + this.companyId = value; + } + + public String getTradingCode() { + return tradingCode; + } + + public void setTradingCode(String value) { + this.tradingCode = value; + } + + public String getClearingCode() { + return clearingCode; + } + + public void setClearingCode(String value) { + this.clearingCode = value; + } + + public String getShortName() { + return shortName; + } + + public void setShortName(String value) { + this.shortName = value; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String value) { + this.fullName = value; + } + + public Long getAccountId() { + return accountId; + } + + public void setAccountId(Long value) { + this.accountId = value; + } + + public String getAccountType() { + return accountType; + } + + public void setAccountType(String value) { + this.accountType = value; + } + + public String getAccount() { + return account; + } + + public void setAccount(String value) { + this.account = value; + } + + public String getRegistryDesignation() { + return registryDesignation; + } + + public void setRegistryDesignation(String value) { + this.registryDesignation = value; + } + + public String getRegistryInstrumentType() { + return registryInstrumentType; + } + + public void setRegistryInstrumentType(String value) { + this.registryInstrumentType = value; + } + + public String getRegistryCapacity() { + return registryCapacity; + } + + public void setRegistryCapacity(String value) { + this.registryCapacity = value; + } + + public String getRegistryUnit() { + return registryUnit; + } + + public void setRegistryUnit(String value) { + this.registryUnit = value; + } + + public String getRegistryCode() { + return registryCode; + } + + public void setRegistryCode(String value) { + this.registryCode = value; + } + + public Long getTradingClearingRegistryId() { + return tradingClearingRegistryId; + } + + public void setTradingClearingRegistryId(Long value) { + this.tradingClearingRegistryId = value; + } + + public String getTradingClearingRegistry() { + return tradingClearingRegistry; + } + + public void setTradingClearingRegistry(String value) { + this.tradingClearingRegistry = value; + } + + public String getRegistryStatus() { + return registryStatus; + } + + public void setRegistryStatus(String value) { + this.registryStatus = value; + } + + public Long getSecurityId() { + return securityId; + } + + public void setSecurityId(Long value) { + this.securityId = value; + } + + public BigDecimal getBalance() { + return balance; + } + + public void setBalance(BigDecimal value) { + this.balance = value; + } + + public BigDecimal getOpenBalance() { + return openBalance; + } + + public void setOpenBalance(BigDecimal value) { + this.openBalance = value; + } + + public BigDecimal getCloseBalance() { + return closeBalance; + } + + public void setCloseBalance(BigDecimal value) { + this.closeBalance = value; + } + + public BigDecimal getCredit() { + return credit; + } + + public void setCredit(BigDecimal value) { + this.credit = value; + } + + public BigDecimal getDebit() { + return debit; + } + + public void setDebit(BigDecimal value) { + this.debit = value; + } + + public BigDecimal getSettledCredit() { + return settledCredit; + } + + public void setSettledCredit(BigDecimal value) { + this.settledCredit = value; + } + + public BigDecimal getSettledDebit() { + return settledDebit; + } + + public void setSettledDebit(BigDecimal value) { + this.settledDebit = value; + } + + public BigDecimal getCheckBalance() { + return checkBalance; + } + + public void setCheckBalance(BigDecimal value) { + this.checkBalance = value; + } + + public BigDecimal getDiffBalance() { + return diffBalance; + } + + public void setDiffBalance(BigDecimal value) { + this.diffBalance = value; + } + + public BigDecimal getPlanBalance() { + return planBalance; + } + + public void setPlanBalance(BigDecimal value) { + this.planBalance = value; + } + + public String getBalanceDimension() { + return balanceDimension; + } + + public void setBalanceDimension(String value) { + this.balanceDimension = value; + } + + public LocalDate getSettlementDate() { + return settlementDate; + } + + public void setSettlementDate(LocalDate value) { + this.settlementDate = value; + } + + public String getSettlementCode() { + return settlementCode; + } + + public void setSettlementCode(String value) { + this.settlementCode = value; + } + + public LocalDate getTradingDate() { + return tradingDate; + } + + public void setTradingDate(LocalDate value) { + this.tradingDate = value; + } + + public LocalDate getClearingDate() { + return clearingDate; + } + + public void setClearingDate(LocalDate value) { + this.clearingDate = value; + } + + public LocalDate getRefundDate() { + return refundDate; + } + + public void setRefundDate(LocalDate value) { + this.refundDate = value; + } + + public LocalDate getValueDate() { + return valueDate; + } + + public void setValueDate(LocalDate value) { + this.valueDate = value; + } + + public BigDecimal getPrice() { + return price; + } + + public void setPrice(BigDecimal value) { + this.price = value; + } + + public String getContract() { + return contract; + } + + public void setContract(String value) { + this.contract = value; + } + + public Long getCounterPartyId() { + return counterPartyId; + } + + public void setCounterPartyId(Long value) { + this.counterPartyId = value; + } + + public String getComment() { + return comment; + } + + public void setComment(String value) { + this.comment = value; + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long value) { + this.parentId = value; + } + + public Long getGroupId() { + return groupId; + } + + public void setGroupId(Long value) { + this.groupId = value; + } + + public Long getSessionId() { + return sessionId; + } + + public void setSessionId(Long value) { + this.sessionId = value; + } + + public Long getPaymentId() { + return paymentId; + } + + public void setPaymentId(Long value) { + this.paymentId = value; + } + + public Long getRefundPaymentId() { + return refundPaymentId; + } + + public void setRefundPaymentId(Long value) { + this.refundPaymentId = value; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant value) { + this.createdAt = value; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant value) { + this.updatedAt = value; + } + +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/RegistryHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/RegistryHistory.java new file mode 100644 index 000000000..5650de6cf --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/RegistryHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.registry; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Регистр активов, обязательств и требований УК + *

+ * DB table: REGISTRY_HISTORY + **/ +public class RegistryHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Registry object; + + @Override + public Registry getObject() { + return object; + } + + @Override + public void setObject(Registry object) { + this.object = object; + } +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistry.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistry.java new file mode 100644 index 000000000..9fa9a6050 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistry.java @@ -0,0 +1,88 @@ +package ru.clearing.classes.statics.data.registry; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessObject; + + +/** + * Торгово-клиринговый регистр + *

+ * DB table: TRADING_CLEARING_REGISTRY + **/ +public class TradingClearingRegistry extends BusinessObject { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long companyId; + private String code; + private Long moneyAccountId; + private Long depoAaccountId; + private String tradingClearingRegistryType; + private String tradingClearingRegistryLevel; + private String tradingClearingRegistryPurpose; + private String status; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long value) { + this.companyId = value; + } + + public String getCode() { + return code; + } + + public void setCode(String value) { + this.code = value; + } + + public Long getMoneyAccountId() { + return moneyAccountId; + } + + public void setMoneyAccountId(Long value) { + this.moneyAccountId = value; + } + + public Long getDepoAaccountId() { + return depoAaccountId; + } + + public void setDepoAaccountId(Long value) { + this.depoAaccountId = value; + } + + public String getTradingClearingRegistryType() { + return tradingClearingRegistryType; + } + + public void setTradingClearingRegistryType(String value) { + this.tradingClearingRegistryType = value; + } + + public String getTradingClearingRegistryLevel() { + return tradingClearingRegistryLevel; + } + + public void setTradingClearingRegistryLevel(String value) { + this.tradingClearingRegistryLevel = value; + } + + public String getTradingClearingRegistryPurpose() { + return tradingClearingRegistryPurpose; + } + + public void setTradingClearingRegistryPurpose(String value) { + this.tradingClearingRegistryPurpose = value; + } + + public String getStatus() { + return status; + } + + public void setStatus(String value) { + this.status = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryHistory.java new file mode 100644 index 000000000..a8b77b902 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.registry; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Торгово-клиринговый регистр + * + * DB table: TRADING_CLEARING_REGISTRY_HISTORY + **/ +public class TradingClearingRegistryHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private TradingClearingRegistry object; + + @Override + public TradingClearingRegistry getObject() { + return object; + } + + @Override + public void setObject(TradingClearingRegistry object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf51.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf51.java new file mode 100644 index 000000000..04889c6eb --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf51.java @@ -0,0 +1,49 @@ +package ru.clearing.classes.statics.data.sdf; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +import java.time.Instant; + +/** + * ДФ-51 Запрос остатков по всем счетам + * + * DB table: S_DF51 + **/ +public class SDf51 extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private String number; + private String datetime; + private Instant generationTime; + private Long generationId; + + public String getNumber() { + return number; + } + public void setNumber(String value) { + this.number=value; + } + + public String getDatetime() { + return datetime; + } + public void setDatetime(String value) { + this.datetime=value; + } + + public Instant getGenerationTime() { + return generationTime; + } + public void setGenerationTime(Instant value) { + this.generationTime=value; + } + + public Long getGenerationId() { + return generationId; + } + public void setGenerationId(Long value) { + this.generationId=value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf52.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf52.java new file mode 100644 index 000000000..22a257c90 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf52.java @@ -0,0 +1,81 @@ +package ru.clearing.classes.statics.data.sdf; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +import java.time.Instant; + +/** + * ДФ-52 Из ПРЦ в КС Информация о состоянии счета (блокировка/разблокировка/закрытие/открытие) + * + * DB table: S_DF52 + **/ +public class SDf52 extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private String account; + private String acc_name; + private String deal; + private String date; + private Long status; + private String fileName; + private Instant generationTime; + private Long generationId; + + public String getAccount() { + return account; + } + public void setAccount(String value) { + this.account=value; + } + + public String getAcc_name() { + return acc_name; + } + public void setAcc_name(String value) { + this.acc_name=value; + } + + public String getDeal() { + return deal; + } + public void setDeal(String value) { + this.deal=value; + } + + public String getDate() { + return date; + } + public void setDate(String value) { + this.date=value; + } + + public Long getStatus() { + return status; + } + public void setStatus(Long value) { + this.status=value; + } + + public String getFileName() { + return fileName; + } + public void setFileName(String value) { + this.fileName=value; + } + + public Instant getGenerationTime() { + return generationTime; + } + public void setGenerationTime(Instant value) { + this.generationTime=value; + } + + public Long getGenerationId() { + return generationId; + } + public void setGenerationId(Long value) { + this.generationId=value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java new file mode 100644 index 000000000..5f51902de --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf53.java @@ -0,0 +1,81 @@ +package ru.clearing.classes.statics.data.sdf; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +import java.math.BigDecimal; +import java.time.Instant; + +/** + * ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие) + *

+ * DB table: S_DF53 + **/ +public class SDf53 extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private String account; + private String deal; + private Long status; + private BigDecimal result; + private Instant generationTime; + private Long generationId; + private Long inSDfId; + + public String getAccount() { + return account; + } + + public void setAccount(String value) { + this.account = value; + } + + public String getDeal() { + return deal; + } + + public void setDeal(String value) { + this.deal = value; + } + + public Long getStatus() { + return status; + } + + public void setStatus(Long value) { + this.status = value; + } + + public BigDecimal getResult() { + return result; + } + + public void setResult(BigDecimal value) { + this.result = value; + } + + public Instant getGenerationTime() { + return generationTime; + } + + public void setGenerationTime(Instant value) { + this.generationTime = value; + } + + public Long getGenerationId() { + return generationId; + } + + public void setGenerationId(Long value) { + this.generationId = value; + } + + public Long getInSDfId() { + return inSDfId; + } + + public void setInSDfId(Long value) { + this.inSDfId = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java index b962fd9a8..49d06d171 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/Security.java @@ -22,6 +22,7 @@ public class Security extends BusinessObject implements WithWorkflowStatus, With private String securitySymbol; private String isin; private String workflowStatus; + private String uuid; public String getInstrumentType() { return instrumentType; @@ -95,4 +96,11 @@ public class Security extends BusinessObject implements WithWorkflowStatus, With this.workflowStatus = value; } + public String getUuid() { + return uuid; + } + + public void setUuid(String uuid) { + this.uuid = uuid; + } } \ No newline at end of file diff --git a/clearing-parent/db-scripts/src/main/resources/db/DATA.sql b/clearing-parent/db-scripts/src/main/resources/db/DATA.sql index 51d2c5f8b..61510c946 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DATA.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DATA.sql @@ -1,5 +1,5 @@ --- DB version: 3.5.0.16 --- DATA version: 3.5.0.1 +-- DB version: 3.5.0.18 +-- DATA version: 3.5.0.2 /* Dictionaries */ INSERT INTO ALLOWED_DICTIONARY(ID, CODE, NAME) values (1, 'ALWD', 'Разрешено') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -208,7 +208,167 @@ INSERT INTO BOND_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'I', 'Облигац INSERT INTO BOND_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'M', 'Облигации с амортизацией долга') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO COURIER_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STHS', 'ЭДО с Расчетной Организацией') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'А', 'Владелец') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'B', 'Клиентский') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'С', 'Попечитель') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'D', 'Доверительный управляющий') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (5, 'E', 'Эмитент') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'Z', 'К размещению/выкупу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'H', 'Депо по учету облигаций') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (8, 'T', 'Депо по учету акций') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (9, 'N', 'Депо по учету облигаций с попечителем') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID, CODE, NAME) values (10, 'S', 'Депо по учету акций с попечителем') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY(ID, CODE, NAME) values (1, 'ONE', 'Первый уровень ТКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY(ID, CODE, NAME) values (2, 'TWO', 'Второй уровень ТКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY(ID, CODE, NAME) values (1, 'C', 'Общий') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY(ID, CODE, NAME) values (2, 'M', 'Денежный рынок') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY(ID, CODE, NAME) values (3, 'K', 'Код ТКР второго уровня') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_DICTIONARY(ID, CODE, NAME) values (1, 'MKR', 'Денежный рынок МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_DICTIONARY(ID, CODE, NAME) values (2, 'FOND', 'Фондовый рынок') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Активен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'BLKD', 'Заблокирован') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'SSPD', 'Приостановлен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'CLOS', 'Закрыт') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'ROPN', 'Возобновлен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (6, 'APPL', 'Допущен к клиринговому обслуживанию') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_PRODUCT_DICTIONARY(ID, CODE, NAME) values (1, 'PRNT', 'Расчет обязательств с процентом') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO SERVICE_PRODUCT_DICTIONARY(ID, CODE, NAME) values (2, 'ZERO', 'Расчет обязательств без процента (по умолчанию)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_DESIGNATION_DICTIONARY(ID, CODE, NAME) values (1, 'L', 'Обязательства') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_DESIGNATION_DICTIONARY(ID, CODE, NAME) values (2, 'A', 'Активы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_DESIGNATION_DICTIONARY(ID, CODE, NAME) values (3, 'C', 'Требования') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_DESIGNATION_DICTIONARY(ID, CODE, NAME) values (4, 'O', 'Обязательства по сделкам в рамках формирования клирингового пула') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_DESIGNATION_DICTIONARY(ID, CODE, NAME) values (5, 'T', 'Требования по сделкам в рамках формирования клирингового пула') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_DESIGNATION_DICTIONARY(ID, CODE, NAME) values (6, 'D', 'Депозиты') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_INSTRUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'M', 'Деньги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_INSTRUMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'S', 'Бумаги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CAPACITY_DICTIONARY(ID, CODE, NAME) values (1, 'A', 'Принципал') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CAPACITY_DICTIONARY(ID, CODE, NAME) values (2, 'B', 'Клиент') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CAPACITY_DICTIONARY(ID, CODE, NAME) values (3, 'C', 'Попечитель') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CAPACITY_DICTIONARY(ID, CODE, NAME) values (4, 'D', 'ДУ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CAPACITY_DICTIONARY(ID, CODE, NAME) values (5, 'Z', 'Размещение/Выкуп') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CAPACITY_DICTIONARY(ID, CODE, NAME) values (6, 'F', 'Держатель') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CAPACITY_DICTIONARY(ID, CODE, NAME) values (7, 'E', 'Эмитент') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_UNIT_DICTIONARY(ID, CODE, NAME) values (1, 'T', 'Под торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_UNIT_DICTIONARY(ID, CODE, NAME) values (2, 'F', 'Свободные') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_UNIT_DICTIONARY(ID, CODE, NAME) values (3, 'B', 'Заблокированные') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_UNIT_DICTIONARY(ID, CODE, NAME) values (4, 'C', 'Комиссия') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (1, 'AMPT', 'Денежные средства - на торги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (2, 'AMPF', 'Денежные средства - свободные') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (3, 'AMPB', 'Денежные средства - блокированные') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (4, 'TMPT', 'Требования по деньгам - клиринговый пул') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (5, 'OSPT', 'Обязательства по инструментам - клиринговый пул') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (6, 'OMPT', 'Обязательства по деньгам - клиринговый пул') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (7, 'TSPT', 'Требования по инструментам - клиринговый пул') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (8, 'CMPT', 'Требования по деньгам - свои') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (9, 'LSPT', 'Обязательства по инструментам - свои') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (10, 'LMPT', 'Обязательства по деньгам - свои') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_CODE_DICTIONARY(ID, CODE, NAME) values (11, 'CSPT', 'Требования по инструментам - свои') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'OK', 'Успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'FAIL', 'Не успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'MNG', 'Не учитывать') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'PROC', 'К клирингу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO REGISTRY_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'LIQU', 'Ликвидационный неттинг') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO BALANCE_DIMENSION_DICTIONARY(ID, CODE, NAME) values (1, 'PICS', 'Штуки') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO BALANCE_DIMENSION_DICTIONARY(ID, CODE, NAME) values (2, 'LOTS', 'Лоты') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO BALANCE_DIMENSION_DICTIONARY(ID, CODE, NAME) values (3, 'MONY', 'Деньги') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CLRN', 'Торгово-Банковский Счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'BANK', 'Счет вывода средств из ПРЦ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'USPD', 'Регистр невыясненных поступлений') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'CORR', 'Корреспондентский счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (5, 'INFO', 'Регистр') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'PYER', 'Счет плательщика') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'ANLT', 'Клиринговый-Банковский Счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (8, 'TRAN', 'Транзакционный счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (9, 'DEPO', 'Депозитарный счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'A', 'Счет участника') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'B', 'Счет клиента') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'C', 'Счет попечителя') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'D', 'Счет доверительного управляющего') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (5, 'Z', 'Счет к размещению/выкупу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'F', 'Счет держателя') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO DEPO_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'E', 'Счет эмитента') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO CLEARING_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'A', 'Счет участника') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO CLEARING_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'B', 'Счет клиента') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (1, 'GBAL', 'Зачисление остатков') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -240,9 +400,7 @@ INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (25, 'GTRD', 'Получен INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (32, 'GACA', 'Создание файла остатков CSV по клиринговым счетам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (33, 'GAIA', 'Создание файла остатков CSV по внутренним информационным счетам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (34, 'GBLD', 'Поступление средств') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (33, 'GAIA', 'Создание файла остатков CSV по внутренним информацион.счетам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (35, 'SCLR', 'Запуск клиринговой сессии') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -250,6 +408,30 @@ INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (36, 'SPRC', 'Запуск п INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (37, 'SPOC', 'Запуск постклиринга') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (38, 'LIMM', 'Выгрузка в торговую систему остатков секции МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (38, 'LIMF', 'Выгрузка в торговую систему остатков Фондовой секции') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (39, 'LIQU', 'Ликвидационная сессия по обязательтсвам участника') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (40, 'STRM', 'Начало торговой сессии секции МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (41, 'ETRM', 'Завершение торговой сессии секции МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (42, 'SIPO', 'Начало торговой сессии по первичным торгам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (43, 'EIPO', 'Завершение торговой сессии по первичным торгам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (44, 'STRF', 'Начало торговой сессии по вторичным торгам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (45, 'ETRF', 'Завершение торговой сессии по вторичным торгам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (46, 'RCHK', 'Запрос на сверку активов') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (47, 'GRYT', 'Сформировать регистр на текущий день') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO TASK_DICTIONARY(ID, CODE, NAME) values (48, 'GRRT', 'Сформировать реестр на текущий день') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO TASK_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'BLKD', 'Не активна') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -260,6 +442,14 @@ INSERT INTO DAY_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'BDAY', 'Рабоч INSERT INTO DAY_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'DOFF', 'Нерабочий') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (1, 'TMPL', 'Шаблон') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (2, 'PLNR', 'Расписание') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (3, 'CLND', 'Календарь') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO COURIER_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'STHS', 'ЭДО с Расчетной Организацией') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'STLD', 'Рассчитан') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'SENT', 'Отправлен в ПРЦ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -272,12 +462,6 @@ INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'CHER', 'О INSERT INTO TRANSACTION_STATUS_DICTIONARY(ID, CODE, NAME) values (6, 'NSNT', 'Не отправлен в ПРЦ') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (1, 'TMPL', 'Шаблон') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (2, 'PLNR', 'Расписание') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO PARENT_DICTIONARY(ID, CODE, NAME) values (3, 'CLND', 'Календарь') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - INSERT INTO CHARGE_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'PRCT', 'Процент') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO CHARGE_DIRECTION_DICTIONARY(ID, CODE, NAME) values (1, 'GET', 'Получить') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -292,12 +476,6 @@ INSERT INTO CLEARING_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'MNG', 'Не INSERT INTO CLEARING_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'PROC', 'К клирингу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ACCOUNT_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Активен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'BLKD', 'Заблокирован') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'CLOS', 'Закрыт') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - INSERT INTO BALANCE_ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'ACNT', 'Остатки по счетам') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO IN_OUT_DIRECTION_DICTIONARY(ID, CODE, NAME) values (1, 'IN', 'Зачисление') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -308,16 +486,6 @@ INSERT INTO MONEY_FLOW_SIDE_DICTIONARY(ID, CODE, NAME) values (1, 'BUY', 'Раз INSERT INTO MONEY_FLOW_SIDE_DICTIONARY(ID, CODE, NAME) values (2, 'SELL', 'Привлечь') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'ACTV', 'Активен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'BLKD', 'Заблокирован') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'SSPD', 'Приостановлен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'CLOS', 'Закрыт') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO SERVICE_STATUS_DICTIONARY(ID, CODE, NAME) values (5, 'ROPN', 'Возобновлен') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - INSERT INTO STATEMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'FULL', 'Установка суммы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO STATEMENT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'INCR', 'Изменение суммы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -334,12 +502,6 @@ INSERT INTO OPERATION_STATUS_DICTIONARY(ID, CODE, NAME) values (3, 'EXEC', 'Ис INSERT INTO OPERATION_STATUS_DICTIONARY(ID, CODE, NAME) values (4, 'CNCL', 'Отменена') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO SERVICE_DICTIONARY(ID, CODE, NAME) values (1, 'MKR', 'Денежный рынок МКР') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO SERVICE_PRODUCT_DICTIONARY(ID, CODE, NAME) values (1, 'PRNT', 'Расчет обязательств с процентом') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO SERVICE_PRODUCT_DICTIONARY(ID, CODE, NAME) values (2, 'ZERO', 'Расчет обязательств без процента (по умолчанию)') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CRPA', 'Корпоративное событие, связанное с допуском') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO MANAGEMENT_JOURNAL_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'DFLT', 'Отсутствие возврата по платежу') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -356,22 +518,6 @@ INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (2, 'NO INSERT INTO MANAGEMENT_JOURNAL_PURPOSE_DICTIONARY(ID, CODE, NAME) values (3, 'DEL', 'Удалена') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (1, 'CLRN', 'Клиринговый счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (2, 'BANK', 'Банковский счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (3, 'USPD', 'Счет невыясненных поступлений') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (4, 'CORR', 'Корреспондентский счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (5, 'INFO', 'Информационный счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (6, 'PYER', 'Счет плательщика') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (7, 'ANLT', 'Аналитический счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - -INSERT INTO ACCOUNT_TYPE_DICTIONARY(ID, CODE, NAME) values (8, 'TRAN', 'Транзакционный счет') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; - INSERT INTO RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (1, 'NACK', 'Неуспешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO RESULT_STATUS_DICTIONARY(ID, CODE, NAME) values (2, 'ACK', 'Успешно') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -412,7 +558,7 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1001, 'SECR', 'Нет INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1002, 'SECR', 'Не заданы обязательные поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1003, 'SECR', 'Запись с идентификатором %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1003, 'SECR', 'Запись с кодом %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1004, 'SECR', 'Неверное значение поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -430,13 +576,21 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1011, 'SECR', 'Инс INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1012, 'SECR', 'Инструмент %s неактивен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1013, 'SECR', 'Запись по инструменту %s уже существует.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1014, 'SECR', 'Запись по инструменту %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1015, 'SECR', 'Валюта %s уже существует.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (1016, 'SECR', 'Валюта %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2000, 'UTIL', 'Общая ошибка модуля utility-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2001, 'UTIL', 'Нет прав на проведение данной операции.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2002, 'UTIL', 'Не заданы обязательные поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2003, 'UTIL', 'Запись с идентификатором %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2003, 'UTIL', 'Запись с кодом %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2004, 'UTIL', 'Неверное значение поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -444,13 +598,17 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2005, 'UTIL', 'Зап INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2006, 'UTIL', 'Запись с идентификатором %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2007, 'UTIL', 'Пользователь %s не найден.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (2008, 'UTIL', 'Пользователь %s неактивен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3000, 'CMPN', 'Общая ошибка модуля company-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3001, 'CMPN', 'Нет прав на проведение данной операции.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3002, 'CMPN', 'Не заданы обязательные поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3003, 'CMPN', 'Запись с идентификатором %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3003, 'CMPN', 'Запись с кодом %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3004, 'CMPN', 'Неверное значение поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -476,6 +634,8 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3017, 'CMPN', 'Ком INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3018, 'CMPN', 'У компании %s присутствуют обязательства.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3019, 'CMPN', 'Компания с %s = %s уже создана.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3020, 'CMPN', 'Тип реквизита компании %s не может быть изменен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (3021, 'CMPN', 'Тип контакта компании %s не может быть изменен.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -488,7 +648,7 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5001, 'ACNT', 'Нет INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5002, 'ACNT', 'Не заданы обязательные поля.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5003, 'ACNT', 'Запись с указанным идентификатором в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5003, 'ACNT', 'Запись с кодом %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5004, 'ACNT', 'Неверное значение поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -542,7 +702,7 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5401, 'CLRN', 'Нет INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5402, 'CLRN', 'Не заданы обязательные поля.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5403, 'CLRN', 'Запись с указанным идентификатором в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5403, 'CLRN', 'Запись с кодом %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5404, 'CLRN', 'Неверное значение поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -578,7 +738,11 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5600, 'DBFI', 'Общ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (5800, 'DBFE', 'Общая ошибка модуля dbf-exporter.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (6000, 'APIC', 'Общая ошибка модуля api-lk-company.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (6000, 'GTWA', 'Общая ошибка модуля gateway-api.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (6001, 'GTWA', 'Не удается найти запись %s в Company') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; + +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (6002, 'GTWA', 'Не удается найти запись %s в security') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7000, 'SCHD', 'Общая ошибка модуля scheduler-service.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -586,7 +750,7 @@ INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7001, 'SCHD', 'Нет INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7002, 'SCHD', 'Не заданы обязательные поля.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; -INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7003, 'SCHD', 'Запись с указанным идентификатором в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; +INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7003, 'SCHD', 'Запись с кодом %s в справочнике %s не найдена.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; INSERT INTO ERROR_CODE_DICTIONARY(ID, CODE, NAME) values (7004, 'SCHD', 'Неверное значение поля %s.') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME; @@ -632,8 +796,8 @@ INSERT INTO COMPANY_SYMBOLS(ID, COMPANY_ID, COMPANY_SYMBOL, COMPANY_SYMBOL_VALUE INSERT INTO COMPANY_SYMBOLS(ID, COMPANY_ID, COMPANY_SYMBOL, COMPANY_SYMBOL_VALUE) values (2, 2, 'BIC', '044030505') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, COMPANY_SYMBOL = EXCLUDED.COMPANY_SYMBOL, COMPANY_SYMBOL_VALUE = EXCLUDED.COMPANY_SYMBOL_VALUE; -INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, ACCOUNT_STATUS, PROCESSING_SIGN) values (1, 1, '30414810300000006000', 'TRAN', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, ACCOUNT_STATUS = EXCLUDED.ACCOUNT_STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN; +INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (1, 1, '30414810300000006000', 'TRAN', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN; -INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, ACCOUNT_STATUS, PROCESSING_SIGN) values (2, 1, '30414810600000007000', 'ANLT', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, ACCOUNT_STATUS = EXCLUDED.ACCOUNT_STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN; +INSERT INTO ACCOUNT(ID, COMPANY_ID, ACCOUNT, ACCOUNT_TYPE, STATUS, PROCESSING_SIGN) values (2, 1, '30414810600000007000', 'ANLT', 'ACTV', 'ALWD') ON CONFLICT (ID) DO UPDATE SET COMPANY_ID = EXCLUDED.COMPANY_ID, ACCOUNT = EXCLUDED.ACCOUNT, ACCOUNT_TYPE = EXCLUDED.ACCOUNT_TYPE, STATUS = EXCLUDED.STATUS, PROCESSING_SIGN = EXCLUDED.PROCESSING_SIGN; INSERT INTO MARKET(ID, CODE, NAME, SECTION) values (1, 'MKRS', 'Денежный рынок МКР', 'MKR') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, NAME = EXCLUDED.NAME, SECTION = EXCLUDED.SECTION; diff --git a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql index c0d29c684..78382efaa 100644 --- a/clearing-parent/db-scripts/src/main/resources/db/DDL.sql +++ b/clearing-parent/db-scripts/src/main/resources/db/DDL.sql @@ -1,4 +1,4 @@ --- DB version: 3.5.0.16 +-- DB version: 3.5.0.18 /* Dictionaries */ -- allowed - Справочник признаков допустимости использования объектов @@ -223,6 +223,226 @@ COMMENT ON COLUMN BOND_TYPE_DICTIONARY.CODE IS 'Код облигации'; COMMENT ON COLUMN BOND_TYPE_DICTIONARY.NAME IS 'Наименование'; +-- tradingClearingRegistryType - Справочник типов торгово-клиринговых регистров +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY IS 'Справочник типов торгово-клиринговых регистров'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- tradingClearingRegistryLevel - Справочник уровней торгово-клиринговых регистров +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY IS 'Справочник уровней торгово-клиринговых регистров'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.NAME IS 'Наименование'; + +-- tradingClearingRegistryPurpose - Справочник областей применения +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY IS 'Справочник областей применения'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.NAME IS 'Наименование'; + +-- service - Справочник услуг +DROP TABLE IF EXISTS SERVICE_DICTIONARY; +CREATE TABLE SERVICE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- serviceStatus - Справочник статусов услуг +DROP TABLE IF EXISTS SERVICE_STATUS_DICTIONARY; +CREATE TABLE SERVICE_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- serviceProduct - Справочник продуктов для услуг +DROP TABLE IF EXISTS SERVICE_PRODUCT_DICTIONARY; +CREATE TABLE SERVICE_PRODUCT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- registryDesignation - Справочник символов регистров - назначения +DROP TABLE IF EXISTS REGISTRY_DESIGNATION_DICTIONARY; +CREATE TABLE REGISTRY_DESIGNATION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_DESIGNATION_DICTIONARY IS 'Справочник символов регистров - назначения'; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.NAME IS 'Наименование'; + +-- registryInstrumentType - Справочник символов регистров - инструменты +DROP TABLE IF EXISTS REGISTRY_INSTRUMENT_TYPE_DICTIONARY; +CREATE TABLE REGISTRY_INSTRUMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_INSTRUMENT_TYPE_DICTIONARY IS 'Справочник символов регистров - инструменты'; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- registryCapacity - Справочник символов регистров - источники средств +DROP TABLE IF EXISTS REGISTRY_CAPACITY_DICTIONARY; +CREATE TABLE REGISTRY_CAPACITY_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_CAPACITY_DICTIONARY IS 'Справочник символов регистров - источники средств'; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.NAME IS 'Наименование'; + +-- registryUnit - Справочник символов регистров - части регистров +DROP TABLE IF EXISTS REGISTRY_UNIT_DICTIONARY; +CREATE TABLE REGISTRY_UNIT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_UNIT_DICTIONARY IS 'Справочник символов регистров - части регистров'; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.NAME IS 'Наименование'; + +-- registryCode - Справочник кодов регистров +DROP TABLE IF EXISTS REGISTRY_CODE_DICTIONARY; +CREATE TABLE REGISTRY_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_CODE_DICTIONARY IS 'Справочник кодов регистров'; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.NAME IS 'Наименование'; + +-- registryStatus - Справочник статусов регистров +DROP TABLE IF EXISTS REGISTRY_STATUS_DICTIONARY; +CREATE TABLE REGISTRY_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_STATUS_DICTIONARY IS 'Справочник статусов регистров'; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.NAME IS 'Наименование'; + +-- balanceDimension - Справочник размерностей балансов +DROP TABLE IF EXISTS BALANCE_DIMENSION_DICTIONARY; +CREATE TABLE BALANCE_DIMENSION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE BALANCE_DIMENSION_DICTIONARY IS 'Справочник размерностей балансов'; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.NAME IS 'Размерность баланса'; + +-- accountType - Справочник типов счетов +DROP TABLE IF EXISTS ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- depoAccountType - Справочник типов депозитарных счетов +DROP TABLE IF EXISTS DEPO_ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE DEPO_ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE DEPO_ACCOUNT_TYPE_DICTIONARY IS 'Справочник типов депозитарных счетов'; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- clearingAccountType - Справочник типов клиринговых счетов +DROP TABLE IF EXISTS CLEARING_ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE CLEARING_ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE CLEARING_ACCOUNT_TYPE_DICTIONARY IS 'Справочник типов клиринговых счетов'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- task - Справочник задач +DROP TABLE IF EXISTS TASK_DICTIONARY; +CREATE TABLE TASK_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 'Статус задачи'; + +-- dayStatus - Справочник статусов дней +DROP TABLE IF EXISTS DAY_STATUS_DICTIONARY; +CREATE TABLE DAY_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE DAY_STATUS_DICTIONARY IS 'Справочник статусов дней'; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.NAME IS 'Статус дня'; + +-- parent - Справочник источников +DROP TABLE IF EXISTS PARENT_DICTIONARY; +CREATE TABLE PARENT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE PARENT_DICTIONARY IS 'Справочник источников'; + +COMMENT ON COLUMN PARENT_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN PARENT_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN PARENT_DICTIONARY.NAME IS 'Наименование'; + -- chargeDirection - Направление начисления комиссии DROP TABLE IF EXISTS CHARGE_DIRECTION_DICTIONARY; CREATE TABLE CHARGE_DIRECTION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); @@ -256,39 +476,6 @@ COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.CODE IS 'Код'; COMMENT ON COLUMN COURIER_TYPE_DICTIONARY.NAME IS 'Способ доставки'; --- task - Справочник задач -DROP TABLE IF EXISTS TASK_DICTIONARY; -CREATE TABLE TASK_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 'Статус'; - --- dayStatus - Справочник статусов дней -DROP TABLE IF EXISTS DAY_STATUS_DICTIONARY; -CREATE TABLE DAY_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); -COMMENT ON TABLE DAY_STATUS_DICTIONARY IS 'Справочник статусов дней'; - -COMMENT ON COLUMN DAY_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN DAY_STATUS_DICTIONARY.CODE IS 'Код'; - -COMMENT ON COLUMN DAY_STATUS_DICTIONARY.NAME IS 'Статус дня'; - -- transactionStatus - Справочник статусов транзакций DROP TABLE IF EXISTS TRANSACTION_STATUS_DICTIONARY; CREATE TABLE TRANSACTION_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); @@ -300,17 +487,6 @@ COMMENT ON COLUMN TRANSACTION_STATUS_DICTIONARY.CODE IS 'Код'; COMMENT ON COLUMN TRANSACTION_STATUS_DICTIONARY.NAME IS 'Статус транзакции'; --- parent - Справочник источников -DROP TABLE IF EXISTS PARENT_DICTIONARY; -CREATE TABLE PARENT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); -COMMENT ON TABLE PARENT_DICTIONARY IS 'Справочник источников'; - -COMMENT ON COLUMN PARENT_DICTIONARY.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN PARENT_DICTIONARY.CODE IS 'Код'; - -COMMENT ON COLUMN PARENT_DICTIONARY.NAME IS 'Наименование'; - -- clearingStatus - Справочник результатов клиринга DROP TABLE IF EXISTS CLEARING_STATUS_DICTIONARY; CREATE TABLE CLEARING_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); @@ -322,17 +498,6 @@ COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.CODE IS 'Код'; COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.NAME IS 'Наименование'; --- accountStatus - Справочник статусов счетов -DROP TABLE IF EXISTS ACCOUNT_STATUS_DICTIONARY; -CREATE TABLE ACCOUNT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; - -- moneyFlowSide - Направление заявки DROP TABLE IF EXISTS MONEY_FLOW_SIDE_DICTIONARY; CREATE TABLE MONEY_FLOW_SIDE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); @@ -399,50 +564,6 @@ COMMENT ON COLUMN BALANCE_ACCOUNT_TYPE_DICTIONARY.CODE IS 'Код'; COMMENT ON COLUMN BALANCE_ACCOUNT_TYPE_DICTIONARY.NAME IS 'Тип лимитов'; --- accountType - Справочник типов счетов -DROP TABLE IF EXISTS ACCOUNT_TYPE_DICTIONARY; -CREATE TABLE ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; - --- serviceStatus - Справочник услуги -DROP TABLE IF EXISTS SERVICE_STATUS_DICTIONARY; -CREATE TABLE SERVICE_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 varchar(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 'Наименование'; - -- resultStatus - Статус обработки DROP TABLE IF EXISTS RESULT_STATUS_DICTIONARY; CREATE TABLE RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); @@ -807,6 +928,22 @@ COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.CLEARING_MEMBER_CATEGORY IS 'Код COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.ID IS 'Идентификатор записи'; + +-- History log of clearingMemberCategory - Категории участника клиринга +DROP TABLE IF EXISTS CLEARING_MEMBER_CATEGORY_HISTORY; +CREATE TABLE CLEARING_MEMBER_CATEGORY_HISTORY(CLEARING_MEMBER_CATEGORY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CLEARING_MEMBER_CATEGORY varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_MEMBER_CATEGORY_HISTORY IS 'История изменений таблицы clearingMemberCategory'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.CLEARING_MEMBER_CATEGORY_ID IS 'Идентификатор записи в таблице CLEARING_MEMBER_CATEGORY'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.CLEARING_MEMBER_CATEGORY IS 'Код категории участника клиринга (linked to clearingCategory)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.ID IS 'Идентификатор записи'; + -- contact - Контакты компании DROP TABLE IF EXISTS CONTACT; CREATE TABLE CONTACT(COMPANY_ID bigint, CONTACT_TYPE varchar(4), CONTACT_VALUE varchar(255), ID bigint PRIMARY KEY); @@ -851,6 +988,42 @@ COMMENT ON COLUMN PROFILE_DOCUMENT.LINK IS 'Ссылка на документ'; COMMENT ON COLUMN PROFILE_DOCUMENT.ID IS 'Идентификатор записи'; + +-- History log of profileDocument - Досье компании +DROP TABLE IF EXISTS PROFILE_DOCUMENT_HISTORY; +CREATE TABLE PROFILE_DOCUMENT_HISTORY(PROFILE_DOCUMENT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, DOCUMENT_TYPE varchar(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), ID bigint PRIMARY KEY); +COMMENT ON TABLE PROFILE_DOCUMENT_HISTORY IS 'История изменений таблицы profileDocument'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.PROFILE_DOCUMENT_ID IS 'Идентификатор записи в таблице PROFILE_DOCUMENT'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.DOCUMENT_TYPE IS 'Код типа документа (linked to documentType)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUE_DATE IS 'Дата выдачи'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUE_PLACE IS 'Место выдачи'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUER IS 'Кем выдан'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUER_CODE IS 'Код выдавшего органа'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.NAME IS 'Наименование документа'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.NUMBER IS 'Номер документа'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.PLACE IS 'Место'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.LINK IS 'Ссылка на документ'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ID IS 'Идентификатор записи'; + -- companySymbols - Реквизиты компании DROP TABLE IF EXISTS COMPANY_SYMBOLS; CREATE TABLE COMPANY_SYMBOLS(COMPANY_ID bigint, COMPANY_SYMBOL varchar(4), COMPANY_SYMBOL_VALUE varchar(255), ID bigint PRIMARY KEY); @@ -864,6 +1037,24 @@ COMMENT ON COLUMN COMPANY_SYMBOLS.COMPANY_SYMBOL_VALUE IS 'Значение ре COMMENT ON COLUMN COMPANY_SYMBOLS.ID IS 'Идентификатор записи'; + +-- History log of companySymbols - Реквизиты компании +DROP TABLE IF EXISTS COMPANY_SYMBOLS_HISTORY; +CREATE TABLE COMPANY_SYMBOLS_HISTORY(COMPANY_SYMBOLS_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, COMPANY_SYMBOL varchar(4), COMPANY_SYMBOL_VALUE varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_SYMBOLS_HISTORY IS 'История изменений таблицы companySymbols'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOLS_ID IS 'Идентификатор записи в таблице COMPANY_SYMBOLS'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOL IS 'Код типа реквизита (linked to companySymbol)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOL_VALUE IS 'Значение реквизита'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.ID IS 'Идентификатор записи'; + -- companyRoleSet - Таблица ролей компании DROP TABLE IF EXISTS COMPANY_ROLE_SET; CREATE TABLE COMPANY_ROLE_SET(COMPANY_ID bigint, COMPANY_ROLE varchar(4), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY); @@ -879,7 +1070,7 @@ COMMENT ON COLUMN COMPANY_ROLE_SET.ID IS 'Идентификатор запис -- security - Инструменты DROP TABLE IF EXISTS SECURITY; -CREATE TABLE SECURITY(INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +CREATE TABLE SECURITY(INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, UUID varchar(255), CREATED_AT timestamp, UPDATED_AT timestamp); COMMENT ON TABLE SECURITY IS 'Инструменты'; COMMENT ON COLUMN SECURITY.INSTRUMENT_TYPE IS 'Код типа инструмента (linked to instrumentType)'; @@ -902,6 +1093,8 @@ COMMENT ON COLUMN SECURITY.WORKFLOW_STATUS IS 'Код статуса (linked to COMMENT ON COLUMN SECURITY.ID IS 'Идентификатор записи'; +COMMENT ON COLUMN SECURITY.UUID IS 'Идентификатор во внешней системе'; + COMMENT ON COLUMN SECURITY.CREATED_AT IS 'Дата-время создания записи'; COMMENT ON COLUMN SECURITY.UPDATED_AT IS 'Дата-время изменения записи'; @@ -909,7 +1102,7 @@ COMMENT ON COLUMN SECURITY.UPDATED_AT IS 'Дата-время изменения -- 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, EVENT_TYPE VARCHAR(4), INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +CREATE TABLE SECURITY_HISTORY(SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, UUID varchar(255), CREATED_AT timestamp, UPDATED_AT timestamp); COMMENT ON TABLE SECURITY_HISTORY IS 'История изменений таблицы security'; COMMENT ON COLUMN SECURITY_HISTORY.SECURITY_ID IS 'Идентификатор записи в таблице SECURITY'; COMMENT ON COLUMN SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; @@ -936,6 +1129,8 @@ COMMENT ON COLUMN SECURITY_HISTORY.WORKFLOW_STATUS IS 'Код статуса (li COMMENT ON COLUMN SECURITY_HISTORY.ID IS 'Идентификатор записи'; +COMMENT ON COLUMN SECURITY_HISTORY.UUID IS 'Идентификатор во внешней системе'; + COMMENT ON COLUMN SECURITY_HISTORY.CREATED_AT IS 'Дата-время создания записи'; COMMENT ON COLUMN SECURITY_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; @@ -988,6 +1183,32 @@ COMMENT ON COLUMN MONEY_MARKET_SECURITY.TERM_TYPE IS 'Код вида инстр COMMENT ON COLUMN MONEY_MARKET_SECURITY.ID IS 'Идентификатор записи'; + +-- 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, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, DESCRIPTION varchar(255), START_DATE date, END_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), TERM_TYPE varchar(4), ID bigint PRIMARY KEY); +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.EVENT_TYPE 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.TERM_TYPE IS 'Код вида инструмента (linked to termType)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.ID IS 'Идентификатор записи'; + -- equitySecurity - Акции DROP TABLE IF EXISTS EQUITY_SECURITY; CREATE TABLE EQUITY_SECURITY(SECURITY_ID bigint, SHARE_TYPE varchar(4), ID bigint PRIMARY KEY); @@ -999,6 +1220,22 @@ COMMENT ON COLUMN EQUITY_SECURITY.SHARE_TYPE IS 'Код типа акции (lin COMMENT ON COLUMN EQUITY_SECURITY.ID IS 'Идентификатор записи'; + +-- History log of equitySecurity - Акции +DROP TABLE IF EXISTS EQUITY_SECURITY_HISTORY; +CREATE TABLE EQUITY_SECURITY_HISTORY(EQUITY_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, SHARE_TYPE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE EQUITY_SECURITY_HISTORY IS 'История изменений таблицы equitySecurity'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EQUITY_SECURITY_ID IS 'Идентификатор записи в таблице EQUITY_SECURITY'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.SHARE_TYPE IS 'Код типа акции (linked to shareType)'; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.ID IS 'Идентификатор записи'; + -- fixedIncomeSecurity - Облигации DROP TABLE IF EXISTS FIXED_INCOME_SECURITY; CREATE TABLE FIXED_INCOME_SECURITY(SECURITY_ID bigint, BOND_TYPE varchar(4), MATURITY_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), COUPON numeric(72,18), COUPON_FREQUENCY bigint, ID bigint PRIMARY KEY); @@ -1020,32 +1257,110 @@ COMMENT ON COLUMN FIXED_INCOME_SECURITY.COUPON_FREQUENCY IS 'Длительно COMMENT ON COLUMN FIXED_INCOME_SECURITY.ID IS 'Идентификатор записи'; + +-- History log of fixedIncomeSecurity - Облигации +DROP TABLE IF EXISTS FIXED_INCOME_SECURITY_HISTORY; +CREATE TABLE FIXED_INCOME_SECURITY_HISTORY(FIXED_INCOME_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, BOND_TYPE varchar(4), MATURITY_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), COUPON numeric(72,18), COUPON_FREQUENCY bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_SECURITY_HISTORY IS 'История изменений таблицы fixedIncomeSecurity'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.FIXED_INCOME_SECURITY_ID IS 'Идентификатор записи в таблице FIXED_INCOME_SECURITY'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.BOND_TYPE IS 'Код типа облигации (linked to bondType)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.MATURITY_DATE IS 'Дата погашения'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.NOMINAL_VALUE IS 'Номинал'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.NOMINAL_CURRENCY IS 'Код валюты номинала (linked to currencyCode)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.COUPON IS 'Купон'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.COUPON_FREQUENCY IS 'Длительность купона'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.ID IS 'Идентификатор записи'; + -- fixedIncomeCashFlow - Выплаты по купонам DROP TABLE IF EXISTS FIXED_INCOME_CASH_FLOW; -CREATE TABLE FIXED_INCOME_CASH_FLOW(SECURITY_ID bigint, NOMINAL_VALUE numeric(72,18), VALUE_DATE date, ID bigint PRIMARY KEY); +CREATE TABLE FIXED_INCOME_CASH_FLOW(SECURITY_ID bigint, ACCRUED_COUPON numeric(72,2), NOMINAL_VALUE numeric(72,18), NUMBER bigint, VALUE_DATE date, ID bigint PRIMARY KEY); COMMENT ON TABLE FIXED_INCOME_CASH_FLOW IS 'Выплаты по купонам'; COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.ACCRUED_COUPON IS 'Купон'; + COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.NOMINAL_VALUE IS 'Номинал'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.NUMBER IS 'Номер купона'; + COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.VALUE_DATE IS 'Дата выплаты купона'; COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.ID IS 'Идентификатор записи'; + +-- History log of fixedIncomeCashFlow - Выплаты по купонам +DROP TABLE IF EXISTS FIXED_INCOME_CASH_FLOW_HISTORY; +CREATE TABLE FIXED_INCOME_CASH_FLOW_HISTORY(FIXED_INCOME_CASH_FLOW_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, ACCRUED_COUPON numeric(72,2), NOMINAL_VALUE numeric(72,18), NUMBER bigint, VALUE_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_CASH_FLOW_HISTORY IS 'История изменений таблицы fixedIncomeCashFlow'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.FIXED_INCOME_CASH_FLOW_ID IS 'Идентификатор записи в таблице FIXED_INCOME_CASH_FLOW'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.ACCRUED_COUPON IS 'Купон'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.NOMINAL_VALUE IS 'Номинал'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.NUMBER IS 'Номер купона'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.VALUE_DATE IS 'Дата выплаты купона'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.ID IS 'Идентификатор записи'; + -- couponPeriod - Купонное расписание DROP TABLE IF EXISTS COUPON_PERIOD; -CREATE TABLE COUPON_PERIOD(SECURITY_ID bigint, PERIOD_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY); +CREATE TABLE COUPON_PERIOD(SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY); COMMENT ON TABLE COUPON_PERIOD IS 'Купонное расписание'; COMMENT ON COLUMN COUPON_PERIOD.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; +COMMENT ON COLUMN COUPON_PERIOD.COUPON_RATE IS 'Купонная ставка'; + +COMMENT ON COLUMN COUPON_PERIOD.NUMBER IS 'Номер купона'; + COMMENT ON COLUMN COUPON_PERIOD.PERIOD_END_DATE IS 'Начало периода действия'; COMMENT ON COLUMN COUPON_PERIOD.PERIOD_START_DATE IS 'Окончание периода действия'; COMMENT ON COLUMN COUPON_PERIOD.ID IS 'Идентификатор записи'; + +-- History log of couponPeriod - Купонное расписание +DROP TABLE IF EXISTS COUPON_PERIOD_HISTORY; +CREATE TABLE COUPON_PERIOD_HISTORY(COUPON_PERIOD_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE COUPON_PERIOD_HISTORY IS 'История изменений таблицы couponPeriod'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_PERIOD_ID IS 'Идентификатор записи в таблице COUPON_PERIOD'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_RATE IS 'Купонная ставка'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.NUMBER IS 'Номер купона'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_END_DATE IS 'Начало периода действия'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_START_DATE IS 'Окончание периода действия'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.ID IS 'Идентификатор записи'; + -- listing - Листинг инструментов DROP TABLE IF EXISTS LISTING; CREATE TABLE LISTING(SECURITY_ID bigint, LOT_SIZE numeric(72,2), MARKET varchar(4), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); @@ -1171,26 +1486,664 @@ COMMENT ON COLUMN ERROR_TEXT.USER_ID IS 'Идентификатор автора COMMENT ON COLUMN ERROR_TEXT.CLEARING_DATE IS 'Текущая дата'; +-- clientCode - Коды клиентов компании +DROP TABLE IF EXISTS CLIENT_CODE; +CREATE TABLE CLIENT_CODE(ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLIENT_CODE IS 'Коды клиентов компании'; + +COMMENT ON COLUMN CLIENT_CODE.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLIENT_CODE.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLIENT_CODE.CODE IS 'Код клиента'; + +COMMENT ON COLUMN CLIENT_CODE.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN CLIENT_CODE.MONEY_ACCOUNT_ID IS 'Идентификатор денежного счета (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE.DEPO_ACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE.STATUS IS 'Код статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN CLIENT_CODE.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN CLIENT_CODE.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- History log of clientCode - Коды клиентов компании +DROP TABLE IF EXISTS CLIENT_CODE_HISTORY; +CREATE TABLE CLIENT_CODE_HISTORY(CLIENT_CODE_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLIENT_CODE_HISTORY IS 'История изменений таблицы clientCode'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CLIENT_CODE_ID IS 'Идентификатор записи в таблице CLIENT_CODE'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CODE IS 'Код клиента'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.MONEY_ACCOUNT_ID IS 'Идентификатор денежного счета (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.DEPO_ACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.STATUS IS 'Код статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- tradingClearingRegistry - Торгово-клиринговый регистр +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY; +CREATE TABLE TRADING_CLEARING_REGISTRY(ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), MONEY_ACCOUNT_ID bigint, DEPO_AACCOUNT_ID bigint, TRADING_CLEARING_REGISTRY_TYPE varchar(4), TRADING_CLEARING_REGISTRY_LEVEL varchar(4), TRADING_CLEARING_REGISTRY_PURPOSE varchar(4), STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.CODE IS 'Код торгово-клирингового регистра'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.MONEY_ACCOUNT_ID IS 'Идентификатор денежного счета (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.DEPO_AACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_TYPE IS 'Код торгово-клирингового регистра (linked to tradingClearingRegistryType)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_LEVEL IS 'Код торгово-клирингового регистра (linked to tradingClearingRegistryLevel)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_PURPOSE IS 'Код области применения (linked to tradingClearingRegistryPurpose)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.STATUS IS 'Код статуса (linked to serviceStatus)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- History log of tradingClearingRegistry - Торгово-клиринговый регистр +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_HISTORY; +CREATE TABLE TRADING_CLEARING_REGISTRY_HISTORY(TRADING_CLEARING_REGISTRY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), MONEY_ACCOUNT_ID bigint, DEPO_AACCOUNT_ID bigint, TRADING_CLEARING_REGISTRY_TYPE varchar(4), TRADING_CLEARING_REGISTRY_LEVEL varchar(4), TRADING_CLEARING_REGISTRY_PURPOSE varchar(4), STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_HISTORY IS 'История изменений таблицы tradingClearingRegistry'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор записи в таблице TRADING_CLEARING_REGISTRY'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.CODE IS 'Код торгово-клирингового регистра'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.MONEY_ACCOUNT_ID IS 'Идентификатор денежного счета (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.DEPO_AACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_TYPE IS 'Код торгово-клирингового регистра (linked to tradingClearingRegistryType)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_LEVEL IS 'Код торгово-клирингового регистра (linked to tradingClearingRegistryLevel)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_PURPOSE IS 'Код области применения (linked to tradingClearingRegistryPurpose)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.STATUS IS 'Код статуса (linked to serviceStatus)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- registry - Регистр активов, обязательств и требований УК +DROP TABLE IF EXISTS REGISTRY; +CREATE TABLE REGISTRY(COMPANY_ID bigint, TRADING_CODE varchar(255), CLEARING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), REGISTRY_DESIGNATION varchar(4), REGISTRY_INSTRUMENT_TYPE varchar(4), REGISTRY_CAPACITY varchar(4), REGISTRY_UNIT varchar(4), REGISTRY_CODE varchar(4), TRADING_CLEARING_REGISTRY_ID bigint, TRADING_CLEARING_REGISTRY varchar(50), REGISTRY_STATUS varchar(4), SECURITY_ID bigint, BALANCE numeric(72,18), OPEN_BALANCE numeric(72,18), CLOSE_BALANCE numeric(72,18), CREDIT numeric(72,18), DEBIT numeric(72,18), SETTLED_CREDIT numeric(72,18), SETTLED_DEBIT numeric(72,18), CHECK_BALANCE numeric(72,18), DIFF_BALANCE numeric(72,18), PLAN_BALANCE numeric(72,18), BALANCE_DIMENSION varchar(4), SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), TRADING_DATE date, CLEARING_DATE date, REFUND_DATE date, VALUE_DATE date, PRICE numeric(72,18), CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COMMENT varchar(255), PARENT_ID bigint, GROUP_ID bigint, SESSION_ID bigint, PAYMENT_ID bigint, REFUND_PAYMENT_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE REGISTRY IS 'Регистр активов, обязательств и требований УК'; + +COMMENT ON COLUMN REGISTRY.COMPANY_ID IS 'Идентификатор участника (linked to company)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CODE IS 'Торговый код участника'; + +COMMENT ON COLUMN REGISTRY.CLEARING_CODE IS 'Клиринговый код участника'; + +COMMENT ON COLUMN REGISTRY.SHORT_NAME IS 'Краткое наименование компании'; + +COMMENT ON COLUMN REGISTRY.FULL_NAME IS 'Полное наименование участника'; + +COMMENT ON COLUMN REGISTRY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN REGISTRY.ACCOUNT_TYPE IS 'Код типа счета (linked to accountType)'; + +COMMENT ON COLUMN REGISTRY.ACCOUNT IS 'Номер счета'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_DESIGNATION IS 'Код назначения (linked to registryDesignation)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_INSTRUMENT_TYPE IS 'Код типа инструмента (linked to registryInstrumentType)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_CAPACITY IS 'Код принадлежности регистра (linked to registryCapacity)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_UNIT IS 'Код части регистра (linked to registryUnit)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_CODE IS 'Код регистра (linked to registryCode)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_STATUS IS 'Код статуса (linked to registryStatus)'; + +COMMENT ON COLUMN REGISTRY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN REGISTRY.BALANCE IS 'Текущий баланс'; + +COMMENT ON COLUMN REGISTRY.OPEN_BALANCE IS 'Начальная сумма после расчетной организации'; + +COMMENT ON COLUMN REGISTRY.CLOSE_BALANCE IS 'Конечная сумма остатков ден. средств на счете'; + +COMMENT ON COLUMN REGISTRY.CREDIT IS 'Зачисления'; + +COMMENT ON COLUMN REGISTRY.DEBIT IS 'Списания'; + +COMMENT ON COLUMN REGISTRY.SETTLED_CREDIT IS 'Зачисления по расчетам'; + +COMMENT ON COLUMN REGISTRY.SETTLED_DEBIT IS 'Списания по расчетам'; + +COMMENT ON COLUMN REGISTRY.CHECK_BALANCE IS 'Сверочный баланс'; + +COMMENT ON COLUMN REGISTRY.DIFF_BALANCE IS 'Расхождение в балансе'; + +COMMENT ON COLUMN REGISTRY.PLAN_BALANCE IS 'Плановый баланс'; + +COMMENT ON COLUMN REGISTRY.BALANCE_DIMENSION IS 'Код единицы измерения (linked to balanceDimension)'; + +COMMENT ON COLUMN REGISTRY.SETTLEMENT_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN REGISTRY.SETTLEMENT_CODE IS 'Код расчетов при размещении'; + +COMMENT ON COLUMN REGISTRY.TRADING_DATE IS 'Дата торгов'; + +COMMENT ON COLUMN REGISTRY.CLEARING_DATE IS 'Дата клиринга'; + +COMMENT ON COLUMN REGISTRY.REFUND_DATE IS 'Дата возврата депозита'; + +COMMENT ON COLUMN REGISTRY.VALUE_DATE IS 'Дата оплаты вклада депозита'; + +COMMENT ON COLUMN REGISTRY.PRICE IS 'Ставка по депозиту'; + +COMMENT ON COLUMN REGISTRY.CONTRACT IS 'Продукт'; + +COMMENT ON COLUMN REGISTRY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера (linked to company)'; + +COMMENT ON COLUMN REGISTRY.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN REGISTRY.PARENT_ID IS 'Идентификатор родительского депозита'; + +COMMENT ON COLUMN REGISTRY.GROUP_ID IS 'Идентификатор группы связанных регистров'; + +COMMENT ON COLUMN REGISTRY.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)'; + +COMMENT ON COLUMN REGISTRY.PAYMENT_ID IS 'Идентификатор платежа'; + +COMMENT ON COLUMN REGISTRY.REFUND_PAYMENT_ID IS 'Идентификатор обратного платежа'; + +COMMENT ON COLUMN REGISTRY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN REGISTRY.UPDATED_AT IS 'Дата и время изменения записи'; + + +-- History log of registry - Регистр активов, обязательств и требований УК +DROP TABLE IF EXISTS REGISTRY_HISTORY; +CREATE TABLE REGISTRY_HISTORY(REGISTRY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, TRADING_CODE varchar(255), CLEARING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), REGISTRY_DESIGNATION varchar(4), REGISTRY_INSTRUMENT_TYPE varchar(4), REGISTRY_CAPACITY varchar(4), REGISTRY_UNIT varchar(4), REGISTRY_CODE varchar(4), TRADING_CLEARING_REGISTRY_ID bigint, TRADING_CLEARING_REGISTRY varchar(50), REGISTRY_STATUS varchar(4), SECURITY_ID bigint, BALANCE numeric(72,18), OPEN_BALANCE numeric(72,18), CLOSE_BALANCE numeric(72,18), CREDIT numeric(72,18), DEBIT numeric(72,18), SETTLED_CREDIT numeric(72,18), SETTLED_DEBIT numeric(72,18), CHECK_BALANCE numeric(72,18), DIFF_BALANCE numeric(72,18), PLAN_BALANCE numeric(72,18), BALANCE_DIMENSION varchar(4), SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), TRADING_DATE date, CLEARING_DATE date, REFUND_DATE date, VALUE_DATE date, PRICE numeric(72,18), CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COMMENT varchar(255), PARENT_ID bigint, GROUP_ID bigint, SESSION_ID bigint, PAYMENT_ID bigint, REFUND_PAYMENT_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE REGISTRY_HISTORY IS 'История изменений таблицы registry'; +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_ID IS 'Идентификатор записи в таблице REGISTRY'; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN REGISTRY_HISTORY.COMPANY_ID IS 'Идентификатор участника (linked to company)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CODE IS 'Торговый код участника'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLEARING_CODE IS 'Клиринговый код участника'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SHORT_NAME IS 'Краткое наименование компании'; + +COMMENT ON COLUMN REGISTRY_HISTORY.FULL_NAME IS 'Полное наименование участника'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT_TYPE IS 'Код типа счета (linked to accountType)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT IS 'Номер счета'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_DESIGNATION IS 'Код назначения (linked to registryDesignation)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_INSTRUMENT_TYPE IS 'Код типа инструмента (linked to registryInstrumentType)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_CAPACITY IS 'Код принадлежности регистра (linked to registryCapacity)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_UNIT IS 'Код части регистра (linked to registryUnit)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_CODE IS 'Код регистра (linked to registryCode)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_STATUS IS 'Код статуса (linked to registryStatus)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.BALANCE IS 'Текущий баланс'; + +COMMENT ON COLUMN REGISTRY_HISTORY.OPEN_BALANCE IS 'Начальная сумма после расчетной организации'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLOSE_BALANCE IS 'Конечная сумма остатков ден. средств на счете'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CREDIT IS 'Зачисления'; + +COMMENT ON COLUMN REGISTRY_HISTORY.DEBIT IS 'Списания'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLED_CREDIT IS 'Зачисления по расчетам'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLED_DEBIT IS 'Списания по расчетам'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CHECK_BALANCE IS 'Сверочный баланс'; + +COMMENT ON COLUMN REGISTRY_HISTORY.DIFF_BALANCE IS 'Расхождение в балансе'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PLAN_BALANCE IS 'Плановый баланс'; + +COMMENT ON COLUMN REGISTRY_HISTORY.BALANCE_DIMENSION IS 'Код единицы измерения (linked to balanceDimension)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLEMENT_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLEMENT_CODE IS 'Код расчетов при размещении'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_DATE IS 'Дата торгов'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLEARING_DATE IS 'Дата клиринга'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REFUND_DATE IS 'Дата возврата депозита'; + +COMMENT ON COLUMN REGISTRY_HISTORY.VALUE_DATE IS 'Дата оплаты вклада депозита'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PRICE IS 'Ставка по депозиту'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CONTRACT IS 'Продукт'; + +COMMENT ON COLUMN REGISTRY_HISTORY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера (linked to company)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PARENT_ID IS 'Идентификатор родительского депозита'; + +COMMENT ON COLUMN REGISTRY_HISTORY.GROUP_ID IS 'Идентификатор группы связанных регистров'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PAYMENT_ID IS 'Идентификатор платежа'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REFUND_PAYMENT_ID IS 'Идентификатор обратного платежа'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN REGISTRY_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +-- account - Счета +DROP TABLE IF EXISTS ACCOUNT; +CREATE TABLE ACCOUNT(ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE ACCOUNT 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.STATUS IS 'Код статуса (linked to serviceStatus)'; + +COMMENT ON COLUMN ACCOUNT.PROCESSING_SIGN IS 'Код признака обработки счета (linked to allowed)'; + +COMMENT ON COLUMN ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN ACCOUNT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN ACCOUNT.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- History log of account - Счета +DROP TABLE IF EXISTS ACCOUNT_HISTORY; +CREATE TABLE ACCOUNT_HISTORY(ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +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.EVENT_TYPE 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.STATUS IS 'Код статуса (linked to serviceStatus)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.PROCESSING_SIGN IS 'Код признака обработки счета (linked to allowed)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- relation - Доступ в секцию +DROP TABLE IF EXISTS RELATION; +CREATE TABLE RELATION(CONSUMER_ID bigint, SUPPLIER_ID bigint, SERVICE_STATUS varchar(4), SERVICE varchar(4), SERVICE_PRODUCT varchar(4), COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE RELATION 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 serviceStatus)'; + +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 'Текст причины'; + +COMMENT ON COLUMN RELATION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN RELATION.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN RELATION.UPDATED_AT 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, EVENT_TYPE VARCHAR(4), CONSUMER_ID bigint, SUPPLIER_ID bigint, SERVICE_STATUS varchar(4), SERVICE varchar(4), SERVICE_PRODUCT varchar(4), COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +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.EVENT_TYPE 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 serviceStatus)'; + +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 'Текст причины'; + +COMMENT ON COLUMN RELATION_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN RELATION_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN RELATION_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- bankAccount - Счета вывода средств из ПРЦ +DROP TABLE IF EXISTS BANK_ACCOUNT; +CREATE TABLE BANK_ACCOUNT(ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE BANK_ACCOUNT 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 'Номер счета'; + +COMMENT ON COLUMN BANK_ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN BANK_ACCOUNT.ID 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, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY); +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.EVENT_TYPE 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 'Номер счета'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +-- informationAccount - Регистры +DROP TABLE IF EXISTS INFORMATION_ACCOUNT; +CREATE TABLE INFORMATION_ACCOUNT(ACCOUNT_ID bigint, CLEARING_ACCOUNT_ID bigint, COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE INFORMATION_ACCOUNT IS 'Регистры'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.ACCOUNT_ID IS 'Идентификатор информационного счета (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.CLEARING_ACCOUNT_ID IS 'Идентификатор аналитического счета (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.ID IS 'Идентификатор записи'; + + +-- 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, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, CLEARING_ACCOUNT_ID bigint, COMPANY_ID bigint, ID bigint PRIMARY KEY); +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.EVENT_TYPE 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)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +-- depoAccount - Депозитарные счета +DROP TABLE IF EXISTS DEPO_ACCOUNT; +CREATE TABLE DEPO_ACCOUNT(ACCOUNT_ID bigint, DEPO_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE DEPO_ACCOUNT IS 'Депозитарные счета'; + +COMMENT ON COLUMN DEPO_ACCOUNT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.DEPO_ACCOUNT_TYPE IS 'Код типа счета (linked to depoAccountType)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.ID IS 'Идентификатор записи'; + + +-- History log of depoAccount - Депозитарные счета +DROP TABLE IF EXISTS DEPO_ACCOUNT_HISTORY; +CREATE TABLE DEPO_ACCOUNT_HISTORY(DEPO_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, DEPO_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE DEPO_ACCOUNT_HISTORY IS 'История изменений таблицы depoAccount'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.DEPO_ACCOUNT_ID IS 'Идентификатор записи в таблице DEPO_ACCOUNT'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.DEPO_ACCOUNT_TYPE IS 'Код типа счета (linked to depoAccountType)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +-- clearingAccount - Торгово-Банковские счета +DROP TABLE IF EXISTS CLEARING_ACCOUNT; +CREATE TABLE CLEARING_ACCOUNT(ACCOUNT_ID bigint, CLEARING_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_ACCOUNT IS 'Торгово-Банковские счета'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.CLEARING_ACCOUNT_TYPE IS 'Код типа счета (linked to clearingAccountType)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.ID IS 'Идентификатор записи'; + + +-- History log of clearingAccount - Торгово-Банковские счета +DROP TABLE IF EXISTS CLEARING_ACCOUNT_HISTORY; +CREATE TABLE CLEARING_ACCOUNT_HISTORY(CLEARING_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, CLEARING_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_ACCOUNT_HISTORY IS 'История изменений таблицы clearingAccount'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.CLEARING_ACCOUNT_ID IS 'Идентификатор записи в таблице CLEARING_ACCOUNT'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.CLEARING_ACCOUNT_TYPE IS 'Код типа счета (linked to clearingAccountType)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +-- sDf51 - ДФ-51 Запрос остатков по всем счетам +DROP TABLE IF EXISTS S_DF51; +CREATE TABLE S_DF51(ID bigint PRIMARY KEY, NUMBER varchar(10), DATETIME varchar(13), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF51 IS 'ДФ-51 Запрос остатков по всем счетам'; + +COMMENT ON COLUMN S_DF51.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF51.NUMBER IS 'Номер запроса остатков по счетам'; + +COMMENT ON COLUMN S_DF51.DATETIME IS 'Дата и время сообщения'; + +COMMENT ON COLUMN S_DF51.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF51.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf52 - ДФ-52 Из ПРЦ в КС Информация о состоянии счета (блокировка/разблокировка/закрытие/открытие) +DROP TABLE IF EXISTS S_DF52; +CREATE TABLE S_DF52(ID bigint PRIMARY KEY, ACCOUNT varchar(25), ACC_NAME varchar(30), DEAL varchar(4), DATE varchar, STATUS bigint, FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF52 IS 'ДФ-52 Из ПРЦ в КС Информация о состоянии счета (блокировка/разблокировка/закрытие/открытие)'; + +COMMENT ON COLUMN S_DF52.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF52.ACCOUNT IS 'Код счета участника клиринга'; + +COMMENT ON COLUMN S_DF52.ACC_NAME IS 'Наименование участника клиринга'; + +COMMENT ON COLUMN S_DF52.DEAL IS 'Биржевой код участника клиринга'; + +COMMENT ON COLUMN S_DF52.DATE IS 'Дата изменения состояния счета'; + +COMMENT ON COLUMN S_DF52.STATUS IS 'Статус счета'; + +COMMENT ON COLUMN S_DF52.FILE_NAME IS 'Наименование входящего файла'; + +COMMENT ON COLUMN S_DF52.GENERATION_TIME IS 'Дата и время обработки файла'; + +COMMENT ON COLUMN S_DF52.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf53 - ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие) +DROP TABLE IF EXISTS S_DF53; +CREATE TABLE S_DF53(ID bigint PRIMARY KEY, ACCOUNT varchar(25), DEAL varchar(4), STATUS bigint, RESULT numeric(72,18), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint); +COMMENT ON TABLE S_DF53 IS 'ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)'; + +COMMENT ON COLUMN S_DF53.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF53.ACCOUNT IS 'Код счета участника клиринга'; + +COMMENT ON COLUMN S_DF53.DEAL IS 'Биржевой код участника клиринга'; + +COMMENT ON COLUMN S_DF53.STATUS IS 'Статус счета'; + +COMMENT ON COLUMN S_DF53.RESULT IS 'Код завершения операции'; + +COMMENT ON COLUMN S_DF53.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF53.GENERATION_ID IS 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN S_DF53.IN_S_DF_ID IS 'Идентификатор соответствующей записи из таблицы-источника'; + -- plannerTemplate - Шаблон расписания операционного дня DROP TABLE IF EXISTS PLANNER_TEMPLATE; CREATE TABLE PLANNER_TEMPLATE(TASK varchar(4), TASK_TIME time, TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); COMMENT ON TABLE PLANNER_TEMPLATE IS 'Шаблон расписания операционного дня'; -COMMENT ON COLUMN PLANNER_TEMPLATE.TASK IS 'Наименование задачи (linked to task)'; +COMMENT ON COLUMN PLANNER_TEMPLATE.TASK IS 'Код задачи (linked to task)'; COMMENT ON COLUMN PLANNER_TEMPLATE.TASK_TIME IS 'Время задачи'; -COMMENT ON COLUMN PLANNER_TEMPLATE.TASK_STATUS IS 'Статус (linked to taskStatus)'; +COMMENT ON COLUMN PLANNER_TEMPLATE.TASK_STATUS IS 'Код статуса (linked to taskStatus)'; -COMMENT ON COLUMN PLANNER_TEMPLATE.COMPANY_ID IS 'Компания (linked to company)'; +COMMENT ON COLUMN PLANNER_TEMPLATE.COMPANY_ID IS 'Идентификатор компании (linked to company)'; -COMMENT ON COLUMN PLANNER_TEMPLATE.SECURITY_ID IS 'Инструмент (linked to moneyMarketSecurity)'; +COMMENT ON COLUMN PLANNER_TEMPLATE.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; COMMENT ON COLUMN PLANNER_TEMPLATE.ID IS 'Идентификатор'; -COMMENT ON COLUMN PLANNER_TEMPLATE.CREATED_AT IS 'Создано'; +COMMENT ON COLUMN PLANNER_TEMPLATE.CREATED_AT IS 'Дата-время создания записи'; -COMMENT ON COLUMN PLANNER_TEMPLATE.UPDATED_AT IS 'Изменено'; +COMMENT ON COLUMN PLANNER_TEMPLATE.UPDATED_AT IS 'Дата-время изменения записи'; -- clearingCalendar - Рабочие и нерабочие дни DROP TABLE IF EXISTS CLEARING_CALENDAR; @@ -1199,61 +2152,61 @@ COMMENT ON TABLE CLEARING_CALENDAR IS 'Рабочие и нерабочие дн COMMENT ON COLUMN CLEARING_CALENDAR.CLEARING_DATE IS 'Дата'; -COMMENT ON COLUMN CLEARING_CALENDAR.COMPANY_ID IS 'Компания (linked to company)'; +COMMENT ON COLUMN CLEARING_CALENDAR.COMPANY_ID IS 'Идентификатор компании (linked to company)'; -COMMENT ON COLUMN CLEARING_CALENDAR.DAY_STATUS IS 'Статус (linked to dayStatus)'; +COMMENT ON COLUMN CLEARING_CALENDAR.DAY_STATUS IS 'Код статуса (linked to dayStatus)'; COMMENT ON COLUMN CLEARING_CALENDAR.ID IS 'Идентификатор'; -COMMENT ON COLUMN CLEARING_CALENDAR.CREATED_AT IS 'Создано'; +COMMENT ON COLUMN CLEARING_CALENDAR.CREATED_AT IS 'Дата-время создания записи'; -COMMENT ON COLUMN CLEARING_CALENDAR.UPDATED_AT IS 'Изменено'; +COMMENT ON COLUMN CLEARING_CALENDAR.UPDATED_AT IS 'Дата-время изменения записи'; -- planner - Расписание DROP TABLE IF EXISTS PLANNER; CREATE TABLE PLANNER(TASK varchar(4), TASK_TIME time, CLEARING_DATE date, MARKET varchar(4), TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); COMMENT ON TABLE PLANNER IS 'Расписание'; -COMMENT ON COLUMN PLANNER.TASK IS 'Наименование задачи (linked to task)'; +COMMENT ON COLUMN PLANNER.TASK IS 'Код задачи (linked to task)'; COMMENT ON COLUMN PLANNER.TASK_TIME IS 'Время задачи'; COMMENT ON COLUMN PLANNER.CLEARING_DATE IS 'Дата задачи'; -COMMENT ON COLUMN PLANNER.MARKET IS 'Секция (linked to market)'; +COMMENT ON COLUMN PLANNER.MARKET IS 'Код секции (linked to market)'; -COMMENT ON COLUMN PLANNER.TASK_STATUS IS 'Статус (linked to taskStatus)'; +COMMENT ON COLUMN PLANNER.TASK_STATUS IS 'Код статуса (linked to taskStatus)'; -COMMENT ON COLUMN PLANNER.COMPANY_ID IS 'Компания (linked to company)'; +COMMENT ON COLUMN PLANNER.COMPANY_ID IS 'Идентификатор компании (linked to company)'; -COMMENT ON COLUMN PLANNER.SECURITY_ID IS 'Инструмент (linked to moneyMarketSecurity)'; +COMMENT ON COLUMN PLANNER.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; COMMENT ON COLUMN PLANNER.ID IS 'Идентификатор'; -COMMENT ON COLUMN PLANNER.CREATED_AT IS 'Создано'; +COMMENT ON COLUMN PLANNER.CREATED_AT IS 'Дата-время создания записи'; -COMMENT ON COLUMN PLANNER.UPDATED_AT IS 'Изменено'; +COMMENT ON COLUMN PLANNER.UPDATED_AT IS 'Дата-время изменения записи'; -- plannerAllToday - Расписание на текущий день DROP TABLE IF EXISTS PLANNER_ALL_TODAY; CREATE TABLE PLANNER_ALL_TODAY(TASK varchar(4), TASK_TIME time, CLEARING_DATE date, MARKET varchar(4), TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, PARENT varchar(4), PARENT_ID bigint, ID bigint PRIMARY KEY); COMMENT ON TABLE PLANNER_ALL_TODAY IS 'Расписание на текущий день'; -COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK IS 'Идентификатор задачи (linked to task)'; +COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK IS 'Код задачи (linked to task)'; COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK_TIME IS 'Время'; COMMENT ON COLUMN PLANNER_ALL_TODAY.CLEARING_DATE IS 'Дата'; -COMMENT ON COLUMN PLANNER_ALL_TODAY.MARKET IS 'Секция (linked to market)'; +COMMENT ON COLUMN PLANNER_ALL_TODAY.MARKET IS 'Код секции (linked to market)'; -COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK_STATUS IS 'Статус (linked to taskStatus)'; +COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK_STATUS IS 'Код статуса (linked to taskStatus)'; -COMMENT ON COLUMN PLANNER_ALL_TODAY.COMPANY_ID IS 'Компания (linked to company)'; +COMMENT ON COLUMN PLANNER_ALL_TODAY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; -COMMENT ON COLUMN PLANNER_ALL_TODAY.SECURITY_ID IS 'Инструмент (linked to moneyMarketSecurity)'; +COMMENT ON COLUMN PLANNER_ALL_TODAY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; -COMMENT ON COLUMN PLANNER_ALL_TODAY.PARENT IS 'Источник записи расписания (linked to parent)'; +COMMENT ON COLUMN PLANNER_ALL_TODAY.PARENT IS 'Код источника записи расписания (linked to parent)'; COMMENT ON COLUMN PLANNER_ALL_TODAY.PARENT_ID IS 'Идентификатор записи в таблице-источнике'; @@ -1264,15 +2217,15 @@ DROP TABLE IF EXISTS LAUNCHER; CREATE TABLE LAUNCHER(SENDER_ID bigint, TASK varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); COMMENT ON TABLE LAUNCHER IS 'Запуск задачи'; -COMMENT ON COLUMN LAUNCHER.SENDER_ID IS 'Отправитель (linked to userCls)'; +COMMENT ON COLUMN LAUNCHER.SENDER_ID IS 'Идентификатор отправителя (linked to userCls)'; -COMMENT ON COLUMN LAUNCHER.TASK IS 'Задача (linked to task)'; +COMMENT ON COLUMN LAUNCHER.TASK IS 'Код задачи (linked to task)'; COMMENT ON COLUMN LAUNCHER.ID IS 'Идентификатор'; -COMMENT ON COLUMN LAUNCHER.CREATED_AT IS 'Создано'; +COMMENT ON COLUMN LAUNCHER.CREATED_AT IS 'Дата-время создания записи'; -COMMENT ON COLUMN LAUNCHER.UPDATED_AT IS 'Изменено'; +COMMENT ON COLUMN LAUNCHER.UPDATED_AT IS 'Дата-время изменения записи'; -- clearmemberRegister - Реестр участников клиринга DROP TABLE IF EXISTS CLEARMEMBER_REGISTER; @@ -1363,348 +2316,6 @@ COMMENT ON COLUMN KEY_RATE.WORKFLOW_STATUS IS 'Статус (linked to workflowS COMMENT ON COLUMN KEY_RATE.ID IS 'Идентификатор записи'; --- account - Счета -DROP TABLE IF EXISTS ACCOUNT; -CREATE TABLE ACCOUNT(ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, ACCOUNT_STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); -COMMENT ON TABLE ACCOUNT IS 'Счета'; - -COMMENT ON COLUMN ACCOUNT.ACCOUNT IS 'Номер счета'; - -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)'; - -COMMENT ON COLUMN ACCOUNT.COMPANY_ID IS 'Компания (linked to company)'; - -COMMENT ON COLUMN ACCOUNT.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN ACCOUNT.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN ACCOUNT.UPDATED_AT IS 'Дата и время изменения записи'; - - --- History log of account - Счета -DROP TABLE IF EXISTS ACCOUNT_HISTORY; -CREATE TABLE ACCOUNT_HISTORY(ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, ACCOUNT_STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); -COMMENT ON TABLE ACCOUNT_HISTORY IS 'История изменений таблицы account'; -COMMENT ON COLUMN ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор записи в таблице ACCOUNT'; -COMMENT ON COLUMN ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; -COMMENT ON COLUMN ACCOUNT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; -COMMENT ON COLUMN ACCOUNT_HISTORY.EVENT_TYPE 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)'; - -COMMENT ON COLUMN ACCOUNT_HISTORY.COMPANY_ID IS 'Компания (linked to company)'; - -COMMENT ON COLUMN ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN ACCOUNT_HISTORY.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN ACCOUNT_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; - --- relation - Договорные отношения -DROP TABLE IF EXISTS RELATION; -CREATE TABLE RELATION(CONSUMER_ID bigint, SUPPLIER_ID bigint, SERVICE_STATUS varchar(4), SERVICE varchar(4), SERVICE_PRODUCT varchar(4), COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); -COMMENT ON TABLE RELATION 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 serviceStatus)'; - -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 'Текст причины'; - -COMMENT ON COLUMN RELATION.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN RELATION.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN RELATION.UPDATED_AT 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, EVENT_TYPE VARCHAR(4), CONSUMER_ID bigint, SUPPLIER_ID bigint, SERVICE_STATUS varchar(4), SERVICE varchar(4), SERVICE_PRODUCT varchar(4), COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); -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.EVENT_TYPE 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 serviceStatus)'; - -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 'Текст причины'; - -COMMENT ON COLUMN RELATION_HISTORY.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN RELATION_HISTORY.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN RELATION_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; - --- bankAccount - Банковские реквизиты для перечисления денежных средств -DROP TABLE IF EXISTS BANK_ACCOUNT; -CREATE TABLE BANK_ACCOUNT(ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY); -COMMENT ON TABLE BANK_ACCOUNT 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 'Номер счета'; - -COMMENT ON COLUMN BANK_ACCOUNT.COMPANY_ID IS 'Компания (linked to company)'; - -COMMENT ON COLUMN BANK_ACCOUNT.ID 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, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY); -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.EVENT_TYPE 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 'Номер счета'; - -COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.COMPANY_ID IS 'Компания (linked to company)'; - -COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; - --- informationAccount - Информационные счета -DROP TABLE IF EXISTS INFORMATION_ACCOUNT; -CREATE TABLE INFORMATION_ACCOUNT(ACCOUNT_ID bigint, CLEARING_ACCOUNT_ID bigint, COMPANY_ID bigint, ID bigint PRIMARY KEY); -COMMENT ON TABLE INFORMATION_ACCOUNT IS 'Информационные счета'; - -COMMENT ON COLUMN INFORMATION_ACCOUNT.ACCOUNT_ID IS 'Информационный счет (linked to account)'; - -COMMENT ON COLUMN INFORMATION_ACCOUNT.CLEARING_ACCOUNT_ID IS 'Аналитический счет (linked to account)'; - -COMMENT ON COLUMN INFORMATION_ACCOUNT.COMPANY_ID IS 'Компания (linked to company)'; - -COMMENT ON COLUMN INFORMATION_ACCOUNT.ID IS 'Идентификатор записи'; - - --- 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, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, CLEARING_ACCOUNT_ID bigint, COMPANY_ID bigint, ID bigint PRIMARY KEY); -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.EVENT_TYPE 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)'; - -COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.COMPANY_ID IS 'Компания (linked to company)'; - -COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; - --- 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, EVENT_TYPE VARCHAR(4), 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.EVENT_TYPE 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)'; - --- accountBalance - Информация об остатках ден. средств -DROP TABLE IF EXISTS ACCOUNT_BALANCE; -CREATE TABLE ACCOUNT_BALANCE(COMPANY_ID bigint, SHORT_NAME varchar(255), CURRENCY_CODE varchar(4), ACCOUNT_ID bigint, ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), 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), BALANCE_AMOUNT numeric(72,18), CHANGE_BALANCE_AMOUNT numeric(72,18), CREDIT_AMOUNT numeric(72,18), DEBIT_AMOUNT numeric(72,18), CLEARING_DATE date, TRADING_CODE varchar(255), FULL_NAME varchar(255), BALANCE_ACCOUNT_TYPE varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); -COMMENT ON TABLE ACCOUNT_BALANCE IS 'Информация об остатках ден. средств'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.COMPANY_ID IS 'Наименование участника (linked to company)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.SHORT_NAME IS 'Короткое наименование Участника'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT_ID IS 'Наименование счета (linked to account)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT IS 'Наименование счета'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)'; - -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.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.CLEARING_DATE IS 'Дата расчета'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.TRADING_CODE IS 'Торговый код Участника'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.FULL_NAME IS 'Полное наименование Участника'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.BALANCE_ACCOUNT_TYPE IS 'Тип баланса (linked to balanceAccountType)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.UPDATED_AT IS 'Дата и время изменения записи'; - - --- 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, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, SHORT_NAME varchar(255), CURRENCY_CODE varchar(4), ACCOUNT_ID bigint, ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), 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), BALANCE_AMOUNT numeric(72,18), CHANGE_BALANCE_AMOUNT numeric(72,18), CREDIT_AMOUNT numeric(72,18), DEBIT_AMOUNT numeric(72,18), CLEARING_DATE date, TRADING_CODE varchar(255), FULL_NAME varchar(255), BALANCE_ACCOUNT_TYPE varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); -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.EVENT_TYPE IS 'Тип изменения'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.COMPANY_ID IS 'Наименование участника (linked to company)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.SHORT_NAME IS 'Короткое наименование Участника'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_ID IS 'Наименование счета (linked to account)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT IS 'Наименование счета'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)'; - -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.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.CLEARING_DATE IS 'Дата расчета'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.TRADING_CODE IS 'Торговый код Участника'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.FULL_NAME IS 'Полное наименование Участника'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.BALANCE_ACCOUNT_TYPE IS 'Тип баланса (linked to balanceAccountType)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; - -- balanceRegister - Реестр остатков денежных средств DROP TABLE IF EXISTS BALANCE_REGISTER; CREATE TABLE BALANCE_REGISTER(S_DF01_DATE timestamp, CURRENCY_CODE varchar(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, FULL_NAME varchar(255), TYPE_REMAINS varchar(4), DOC_NUMBER varchar(255), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BalanceDimensionDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BalanceDimensionDictionary.java new file mode 100644 index 000000000..1ba6eff87 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/BalanceDimensionDictionary.java @@ -0,0 +1,10 @@ +package ru.clearing.platform.dictionary; +/** + * Справочник размерностей балансов + * + * Dictionary DB table: BALANCE_DIMENSION_DICTIONARY + **/ +public class BalanceDimensionDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingAccountTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingAccountTypeDictionary.java new file mode 100644 index 000000000..7937910bd --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/ClearingAccountTypeDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник типов клиринговых счетов + * + * Dictionary DB table: CLEARING_ACCOUNT_TYPE_DICTIONARY + **/ +public class ClearingAccountTypeDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DepoAccountTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DepoAccountTypeDictionary.java new file mode 100644 index 000000000..1b86ce7ed --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/DepoAccountTypeDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник типов депозитарных счетов + * + * Dictionary DB table: DEPO_ACCOUNT_TYPE_DICTIONARY + **/ +public class DepoAccountTypeDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCapacityDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCapacityDictionary.java new file mode 100644 index 000000000..5df412229 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCapacityDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник символов регистров - источники средств + * + * Dictionary DB table: REGISTRY_CAPACITY_DICTIONARY + **/ +public class RegistryCapacityDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCodeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCodeDictionary.java new file mode 100644 index 000000000..754f9bd77 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryCodeDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник кодов регистров + * + * Dictionary DB table: REGISTRY_CODE_DICTIONARY + **/ +public class RegistryCodeDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryDesignationDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryDesignationDictionary.java new file mode 100644 index 000000000..01e1b1f74 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryDesignationDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник символов регистров - назначения + * + * Dictionary DB table: REGISTRY_DESIGNATION_DICTIONARY + **/ +public class RegistryDesignationDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryInstrumentTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryInstrumentTypeDictionary.java new file mode 100644 index 000000000..8ddb13d88 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryInstrumentTypeDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник символов регистров - инструменты + * + * Dictionary DB table: REGISTRY_INSTRUMENT_TYPE_DICTIONARY + **/ +public class RegistryInstrumentTypeDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryStatusDictionary.java new file mode 100644 index 000000000..7bab1d6b3 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryStatusDictionary.java @@ -0,0 +1,12 @@ +package ru.clearing.platform.dictionary; + + +/** + * Справочник статусов регистров + * + * Dictionary DB table: REGISTRY_STATUS_DICTIONARY + **/ +public class RegistryStatusDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryUnitDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryUnitDictionary.java new file mode 100644 index 000000000..26affd2d0 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/RegistryUnitDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник символов регистров - части регистров + * + * Dictionary DB table: REGISTRY_UNIT_DICTIONARY + **/ +public class RegistryUnitDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryLevelDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryLevelDictionary.java new file mode 100644 index 000000000..6e3e3a96f --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryLevelDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник уровней торгово-клиринговых регистров + * + * Dictionary DB table: TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY + **/ +public class TradingClearingRegistryLevelDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryPurposeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryPurposeDictionary.java new file mode 100644 index 000000000..fa81fe060 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryPurposeDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник областей применения + * + * Dictionary DB table: TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY + **/ +public class TradingClearingRegistryPurposeDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryTypeDictionary.java new file mode 100644 index 000000000..8d14252bf --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/TradingClearingRegistryTypeDictionary.java @@ -0,0 +1,10 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник типов торгово-клиринговых регистров + * + * Dictionary DB table: TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY + **/ +public class TradingClearingRegistryTypeDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java index 39cda97d8..25ef20696 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ASecurityHistoryMapStore.java @@ -27,7 +27,7 @@ public abstract class ASecurityHistoryMapStore { + + public ClearingAccountHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ClearingAccountHistory; + } + + @Override + public String getTableName() { + return "CLEARING_ACCOUNT_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "CLEARING_ACCOUNT_ID", "ACCOUNT_ID", "CLEARING_ACCOUNT_TYPE", "COMPANY_ID" + }; + } + + @Override + public Object[] objectToField(ClearingAccountHistory historyLog) { + ClearingAccount object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getAccountId(), + object.getClearingAccountType(), + object.getCompanyId() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java new file mode 100644 index 000000000..2939af7d7 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java @@ -0,0 +1,57 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.misc.ClientCode; +import ru.clearing.classes.statics.data.misc.ClientCodeHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class ClientCodeHistoryMapStore extends TemplateEventMapStore { + + public ClientCodeHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ClientCodeHistory; + } + + @Override + public String getTableName() { + return "CLIENT_CODE_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "CLIENT_CODE_ID", "COMPANY_ID", "CODE", "TRADING_CLEARING_REGISTRY_ID", "MONEY_ACCOUNT_ID", "DEPO_ACCOUNT_ID", "STATUS", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public Object[] objectToField(ClientCodeHistory historyLog) { + ClientCode object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getCompanyId(), + object.getCode(), + object.getTradingClearingRegistryId(), + object.getMoneyAccountId(), + object.getDepoAccountId(), + object.getStatus(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()) + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/DepoAccountHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/DepoAccountHistoryMapStore.java new file mode 100644 index 000000000..52377e04d --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/DepoAccountHistoryMapStore.java @@ -0,0 +1,51 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.account.DepoAccount; +import ru.clearing.classes.statics.data.account.DepoAccountHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; + +@Component +public class DepoAccountHistoryMapStore extends TemplateEventMapStore { + + public DepoAccountHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_DepoAccountHistory; + } + + @Override + public String getTableName() { + return "DEPO_ACCOUNT_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "DEPO_ACCOUNT_ID", "ACCOUNT_ID", "DEPO_ACCOUNT_TYPE", "COMPANY_ID" + }; + } + + @Override + public Object[] objectToField(DepoAccountHistory historyLog) { + DepoAccount object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getAccountId(), + object.getDepoAccountType(), + object.getCompanyId() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/RegistryHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/RegistryHistoryMapStore.java new file mode 100644 index 000000000..6b20eabbd --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/RegistryHistoryMapStore.java @@ -0,0 +1,94 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.registry.Registry; +import ru.clearing.classes.statics.data.registry.RegistryHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class RegistryHistoryMapStore extends TemplateEventMapStore { + + public RegistryHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_RegistryHistory; + } + + @Override + public String getTableName() { + return "REGISTRY_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "REGISTRY_COMPANY_ID", "TRADING_CODE", "CLEARING_CODE", "SHORT_NAME", "FULL_NAME", "ACCOUNT_ID", "ACCOUNT_TYPE", "ACCOUNT", "REGISTRY_DESIGNATION", "REGISTRY_INSTRUMENT_TYPE", "REGISTRY_CAPACITY", "REGISTRY_UNIT", "REGISTRY_CODE", "TRADING_CLEARING_REGISTRY_ID", "TRADING_CLEARING_REGISTRY", "REGISTRY_STATUS", "SECURITY_ID", "BALANCE", "OPEN_BALANCE", "CLOSE_BALANCE", "CREDIT", "DEBIT", "SETTLED_CREDIT", "SETTLED_DEBIT", "CHECK_BALANCE", "DIFF_BALANCE", "PLAN_BALANCE", "BALANCE_DIMENSION", "SETTLEMENT_DATE", "SETTLEMENT_CODE", "TRADING_DATE", "CLEARING_DATE", "REFUND_DATE", "VALUE_DATE", "PRICE", "CONTRACT", "COUNTER_PARTY_ID", "COMMENT", "PARENT_ID", "GROUP_ID", "SESSION_ID", "PAYMENT_ID", "REFUND_PAYMENT_ID", "ID", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public Object[] objectToField(RegistryHistory historyLog) { + Registry object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getCompanyId(), + object.getTradingCode(), + object.getClearingCode(), + object.getShortName(), + object.getFullName(), + object.getAccountId(), + object.getAccountType(), + object.getAccount(), + object.getRegistryDesignation(), + object.getRegistryInstrumentType(), + object.getRegistryCapacity(), + object.getRegistryUnit(), + object.getRegistryCode(), + object.getTradingClearingRegistryId(), + object.getTradingClearingRegistry(), + object.getRegistryStatus(), + object.getSecurityId(), + object.getBalance(), + object.getOpenBalance(), + object.getCloseBalance(), + object.getCredit(), + object.getDebit(), + object.getSettledCredit(), + object.getSettledDebit(), + object.getCheckBalance(), + object.getDiffBalance(), + object.getPlanBalance(), + object.getBalanceDimension(), + TimeUtil.toDateFromLocalDate(object.getSettlementDate()), + object.getSettlementCode(), + TimeUtil.toDateFromLocalDate(object.getTradingDate()), + TimeUtil.toDateFromLocalDate(object.getClearingDate()), + TimeUtil.toDateFromLocalDate(object.getRefundDate()), + TimeUtil.toDateFromLocalDate(object.getValueDate()), + object.getPrice(), + object.getContract(), + object.getCounterPartyId(), + object.getComment(), + object.getParentId(), + object.getGroupId(), + object.getSessionId(), + object.getPaymentId(), + object.getRefundPaymentId(), + object.getId(), + TimeUtil.toDateFromInstant(object.getCreatedAt()), + TimeUtil.toDateFromInstant(object.getUpdatedAt()) + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/TradingClearingRegistryHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/TradingClearingRegistryHistoryMapStore.java new file mode 100644 index 000000000..402d1ac6c --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/TradingClearingRegistryHistoryMapStore.java @@ -0,0 +1,59 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; +import ru.clearing.classes.statics.data.registry.TradingClearingRegistryHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class TradingClearingRegistryHistoryMapStore extends TemplateEventMapStore { + + public TradingClearingRegistryHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_TradingClearingRegistryHistory; + } + + @Override + public String getTableName() { + return "TRADING_CLEARING_REGISTRY_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID","EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "TRADING_CLEARING_REGISTRY_ID", "COMPANY_ID", "CODE", "MONEY_ACCOUNT_ID", "DEPO_AACCOUNT_ID", "TRADING_CLEARING_REGISTRY_TYPE", "TRADING_CLEARING_REGISTRY_LEVEL", "TRADING_CLEARING_REGISTRY_PURPOSE", "STATUS", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public Object[] objectToField(TradingClearingRegistryHistory historyLog) { + TradingClearingRegistry object=historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + historyLog.getEventTime(), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getCompanyId(), + object.getCode(), + object.getMoneyAccountId(), + object.getDepoAaccountId(), + object.getTradingClearingRegistryType(), + object.getTradingClearingRegistryLevel(), + object.getTradingClearingRegistryPurpose(), + object.getStatus(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()) + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java index df50fd421..f6fdd4400 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java @@ -29,7 +29,7 @@ public abstract class ASecurityMapStore extends TemplateMap } public String[] getFieldsSecurity() { - return new String[]{"ID", "CREATED_AT", "UPDATED_AT", "INSTRUMENT_TYPE", "ISSUER_ID", "SHORT_NAME", "FULL_NAME", "SHORT_NAME_ENG", "FULL_NAME_ENG", "SECURITY_SYMBOL", "ISIN", "WORKFLOW_STATUS"}; + return new String[]{"ID", "CREATED_AT", "UPDATED_AT", "INSTRUMENT_TYPE", "ISSUER_ID", "SHORT_NAME", "FULL_NAME", "SHORT_NAME_ENG", "FULL_NAME_ENG", "SECURITY_SYMBOL", "ISIN", "WORKFLOW_STATUS", "UUID"}; } private final String insertToSecurityStatement = makeInsertSql("SECURITY", @@ -52,6 +52,7 @@ public abstract class ASecurityMapStore extends TemplateMap object.setSecuritySymbol(rs.getObject("SECURITY_SYMBOL", String.class)); object.setIsin(rs.getObject("ISIN", String.class)); object.setWorkflowStatus(rs.getObject("workflow_status", String.class)); + object.setIsin(rs.getObject("UUID", String.class)); return object; } ); @@ -74,7 +75,8 @@ public abstract class ASecurityMapStore extends TemplateMap object.getFullNameEng(), object.getSecuritySymbol(), object.getIsin(), - object.getWorkflowStatus() + object.getWorkflowStatus(), + object.getUuid() }; return args; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java new file mode 100644 index 000000000..291d42d2b --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java @@ -0,0 +1,68 @@ +package ru.spcex.clearing.imdg.businessobject; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.misc.ClientCode; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class ClientCodeMapStore extends TemplateMapStore { + + public ClientCodeMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ClientCode; + } + + @Override + public String getTableName() { + return "CLIENT_CODE"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "COMPANY_ID", "CODE", "TRADING_CLEARING_REGISTRY_ID", "MONEY_ACCOUNT_ID", "DEPO_ACCOUNT_ID", "STATUS", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public ClientCode objectReader(ResultSet resultSet) throws SQLException { + ClientCode object = new ClientCode(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); + object.setCode(resultSet.getObject("CODE", String.class)); + object.setTradingClearingRegistryId(resultSet.getObject("TRADING_CLEARING_REGISTRY_ID", Long.class)); + object.setMoneyAccountId(resultSet.getObject("MONEY_ACCOUNT_ID", Long.class)); + object.setDepoAccountId(resultSet.getObject("DEPO_ACCOUNT_ID", Long.class)); + object.setStatus(resultSet.getObject("STATUS", String.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + return object; + } + + @Override + public Object[] objectToField(ClientCode object) { + Object[] args = new Object[]{ + object.getId(), + object.getCompanyId(), + object.getCode(), + object.getTradingClearingRegistryId(), + object.getMoneyAccountId(), + object.getDepoAccountId(), + object.getStatus(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()) + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RegistryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RegistryMapStore.java new file mode 100644 index 000000000..c9c5be948 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RegistryMapStore.java @@ -0,0 +1,144 @@ +package ru.spcex.clearing.imdg.businessobject; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.registry.Registry; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.math.BigDecimal; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; + +@Component +public class RegistryMapStore extends TemplateMapStore { + + public RegistryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_Registry; + } + + @Override + public String getTableName() { + return "REGISTRY"; + } + + @Override + public String[] getFields() { + return new String[]{ + "COMPANY_ID", "TRADING_CODE", "CLEARING_CODE", "SHORT_NAME", "FULL_NAME", "ACCOUNT_ID", "ACCOUNT_TYPE", "ACCOUNT", "REGISTRY_DESIGNATION", "REGISTRY_INSTRUMENT_TYPE", "REGISTRY_CAPACITY", "REGISTRY_UNIT", "REGISTRY_CODE", "TRADING_CLEARING_REGISTRY_ID", "TRADING_CLEARING_REGISTRY", "REGISTRY_STATUS", "SECURITY_ID", "BALANCE", "OPEN_BALANCE", "CLOSE_BALANCE", "CREDIT", "DEBIT", "SETTLED_CREDIT", "SETTLED_DEBIT", "CHECK_BALANCE", "DIFF_BALANCE", "PLAN_BALANCE", "BALANCE_DIMENSION", "SETTLEMENT_DATE", "SETTLEMENT_CODE", "TRADING_DATE", "CLEARING_DATE", "REFUND_DATE", "VALUE_DATE", "PRICE", "CONTRACT", "COUNTER_PARTY_ID", "COMMENT", "PARENT_ID", "GROUP_ID", "SESSION_ID", "PAYMENT_ID", "REFUND_PAYMENT_ID", "ID", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public Registry objectReader(ResultSet resultSet) throws SQLException { + Registry object = new Registry(); + object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); + object.setTradingCode(resultSet.getObject("TRADING_CODE", String.class)); + object.setClearingCode(resultSet.getObject("CLEARING_CODE", String.class)); + object.setShortName(resultSet.getObject("SHORT_NAME", String.class)); + object.setFullName(resultSet.getObject("FULL_NAME", String.class)); + object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class)); + object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", String.class)); + object.setAccount(resultSet.getObject("ACCOUNT", String.class)); + object.setRegistryDesignation(resultSet.getObject("REGISTRY_DESIGNATION", String.class)); + object.setRegistryInstrumentType(resultSet.getObject("REGISTRY_INSTRUMENT_TYPE", String.class)); + object.setRegistryCapacity(resultSet.getObject("REGISTRY_CAPACITY", String.class)); + object.setRegistryUnit(resultSet.getObject("REGISTRY_UNIT", String.class)); + object.setRegistryCode(resultSet.getObject("REGISTRY_CODE", String.class)); + object.setTradingClearingRegistryId(resultSet.getObject("TRADING_CLEARING_REGISTRY_ID", Long.class)); + object.setTradingClearingRegistry(resultSet.getObject("TRADING_CLEARING_REGISTRY", String.class)); + object.setRegistryStatus(resultSet.getObject("REGISTRY_STATUS", String.class)); + object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class)); + object.setBalance(resultSet.getObject("BALANCE", BigDecimal.class)); + object.setOpenBalance(resultSet.getObject("OPEN_BALANCE", BigDecimal.class)); + object.setCloseBalance(resultSet.getObject("CLOSE_BALANCE", BigDecimal.class)); + object.setCredit(resultSet.getObject("CREDIT", BigDecimal.class)); + object.setDebit(resultSet.getObject("DEBIT", BigDecimal.class)); + object.setSettledCredit(resultSet.getObject("SETTLED_CREDIT", BigDecimal.class)); + object.setSettledDebit(resultSet.getObject("SETTLED_DEBIT", BigDecimal.class)); + object.setCheckBalance(resultSet.getObject("CHECK_BALANCE", BigDecimal.class)); + object.setDiffBalance(resultSet.getObject("DIFF_BALANCE", BigDecimal.class)); + object.setPlanBalance(resultSet.getObject("PLAN_BALANCE", BigDecimal.class)); + object.setBalanceDimension(resultSet.getObject("BALANCE_DIMENSION", String.class)); + object.setSettlementDate(getLocalDateFromSqlDate(resultSet, "SETTLEMENT_DATE")); + object.setSettlementCode(resultSet.getObject("SETTLEMENT_CODE", String.class)); + object.setTradingDate(getLocalDateFromSqlDate(resultSet, "TRADING_DATE")); + object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE")); + object.setRefundDate(getLocalDateFromSqlDate(resultSet, "REFUND_DATE")); + object.setValueDate(getLocalDateFromSqlDate(resultSet, "VALUE_DATE")); + object.setPrice(resultSet.getObject("PRICE", BigDecimal.class)); + object.setContract(resultSet.getObject("CONTRACT", String.class)); + object.setCounterPartyId(resultSet.getObject("COUNTER_PARTY_ID", Long.class)); + object.setComment(resultSet.getObject("COMMENT", String.class)); + object.setParentId(resultSet.getObject("PARENT_ID", Long.class)); + object.setGroupId(resultSet.getObject("GROUP_ID", Long.class)); + object.setSessionId(resultSet.getObject("SESSION_ID", Long.class)); + object.setPaymentId(resultSet.getObject("PAYMENT_ID", Long.class)); + object.setRefundPaymentId(resultSet.getObject("REFUND_PAYMENT_ID", Long.class)); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCreatedAt(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdatedAt(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + return object; + } + + @Override + public Object[] objectToField(Registry object) { + Object[] args = new Object[]{ + object.getCompanyId(), + object.getTradingCode(), + object.getClearingCode(), + object.getShortName(), + object.getFullName(), + object.getAccountId(), + object.getAccountType(), + object.getAccount(), + object.getRegistryDesignation(), + object.getRegistryInstrumentType(), + object.getRegistryCapacity(), + object.getRegistryUnit(), + object.getRegistryCode(), + object.getTradingClearingRegistryId(), + object.getTradingClearingRegistry(), + object.getRegistryStatus(), + object.getSecurityId(), + object.getBalance(), + object.getOpenBalance(), + object.getCloseBalance(), + object.getCredit(), + object.getDebit(), + object.getSettledCredit(), + object.getSettledDebit(), + object.getCheckBalance(), + object.getDiffBalance(), + object.getPlanBalance(), + object.getBalanceDimension(), + TimeUtil.toDateFromLocalDate(object.getSettlementDate()), + object.getSettlementCode(), + TimeUtil.toDateFromLocalDate(object.getTradingDate()), + TimeUtil.toDateFromLocalDate(object.getClearingDate()), + TimeUtil.toDateFromLocalDate(object.getRefundDate()), + TimeUtil.toDateFromLocalDate(object.getValueDate()), + object.getPrice(), + object.getContract(), + object.getCounterPartyId(), + object.getComment(), + object.getParentId(), + object.getGroupId(), + object.getSessionId(), + object.getPaymentId(), + object.getRefundPaymentId(), + object.getId(), + TimeUtil.toDateFromInstant(object.getCreatedAt()), + TimeUtil.toDateFromInstant(object.getUpdatedAt()) + }; + return args; + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TradingClearingRegistryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TradingClearingRegistryMapStore.java new file mode 100644 index 000000000..ad13a8dc1 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/TradingClearingRegistryMapStore.java @@ -0,0 +1,72 @@ +package ru.spcex.clearing.imdg.businessobject; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.registry.TradingClearingRegistry; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class TradingClearingRegistryMapStore extends TemplateMapStore { + + public TradingClearingRegistryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_TradingClearingRegistry; + } + + @Override + public String getTableName() { + return "TRADING_CLEARING_REGISTRY"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "COMPANY_ID", "CODE", "MONEY_ACCOUNT_ID", "DEPO_AACCOUNT_ID", "TRADING_CLEARING_REGISTRY_TYPE", "TRADING_CLEARING_REGISTRY_LEVEL", "TRADING_CLEARING_REGISTRY_PURPOSE", "STATUS", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public TradingClearingRegistry objectReader(ResultSet resultSet) throws SQLException { + TradingClearingRegistry object = new TradingClearingRegistry(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); + object.setCode(resultSet.getObject("CODE", String.class)); + object.setMoneyAccountId(resultSet.getObject("MONEY_ACCOUNT_ID", Long.class)); + object.setDepoAaccountId(resultSet.getObject("DEPO_AACCOUNT_ID", Long.class)); + object.setTradingClearingRegistryType(resultSet.getObject("TRADING_CLEARING_REGISTRY_TYPE", String.class)); + object.setTradingClearingRegistryLevel(resultSet.getObject("TRADING_CLEARING_REGISTRY_LEVEL", String.class)); + object.setTradingClearingRegistryPurpose(resultSet.getObject("TRADING_CLEARING_REGISTRY_PURPOSE", String.class)); + object.setStatus(resultSet.getObject("STATUS", String.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + return object; + } + + @Override + public Object[] objectToField(TradingClearingRegistry object) { + Object[] args = new Object[]{ + object.getId(), + object.getCompanyId(), + object.getCode(), + object.getMoneyAccountId(), + object.getDepoAaccountId(), + object.getTradingClearingRegistryType(), + object.getTradingClearingRegistryLevel(), + object.getTradingClearingRegistryPurpose(), + object.getStatus(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()) + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/BalanceDimensionDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/BalanceDimensionDictionaryMapStore.java new file mode 100644 index 000000000..021d56ad6 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/BalanceDimensionDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.BalanceDimensionDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class BalanceDimensionDictionaryMapStore extends DictionaryTMapStore { + + public BalanceDimensionDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_BalanceDimensionDictionary; + } + + @Override + public String getTableName() { + return "BALANCE_DIMENSION_DICTIONARY"; + } + + @Override + public BalanceDimensionDictionary getDictionaryObject() { + return new BalanceDimensionDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/ClearingAccountTypeDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/ClearingAccountTypeDictionaryMapStore.java new file mode 100644 index 000000000..7e62ec607 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/ClearingAccountTypeDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.ClearingAccountTypeDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class ClearingAccountTypeDictionaryMapStore extends DictionaryTMapStore { + + public ClearingAccountTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ClearingAccountTypeDictionary; + } + + @Override + public String getTableName() { + return "CLEARING_ACCOUNT_TYPE_DICTIONARY"; + } + + @Override + public ClearingAccountTypeDictionary getDictionaryObject() { + return new ClearingAccountTypeDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/DepoAccountTypeDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/DepoAccountTypeDictionaryMapStore.java new file mode 100644 index 000000000..362ce7264 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/DepoAccountTypeDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.DepoAccountTypeDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class DepoAccountTypeDictionaryMapStore extends DictionaryTMapStore { + + public DepoAccountTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_DepoAccountTypeDictionary; + } + + @Override + public String getTableName() { + return "DEPO_ACCOUNT_TYPE_DICTIONARY"; + } + + @Override + public DepoAccountTypeDictionary getDictionaryObject() { + return new DepoAccountTypeDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryCapacityDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryCapacityDictionaryMapStore.java new file mode 100644 index 000000000..8fc06562b --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryCapacityDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.RegistryCapacityDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class RegistryCapacityDictionaryMapStore extends DictionaryTMapStore { + + public RegistryCapacityDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_RegistryCapacityDictionary; + } + + @Override + public String getTableName() { + return "REGISTRY_CAPACITY_DICTIONARY"; + } + + @Override + public RegistryCapacityDictionary getDictionaryObject() { + return new RegistryCapacityDictionary(); + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryCodeDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryCodeDictionaryMapStore.java new file mode 100644 index 000000000..fc35e8975 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryCodeDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.RegistryCodeDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class RegistryCodeDictionaryMapStore extends DictionaryTMapStore { + + public RegistryCodeDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_RegistryCodeDictionary; + } + + @Override + public String getTableName() { + return "REGISTRY_CODE_DICTIONARY"; + } + + @Override + public RegistryCodeDictionary getDictionaryObject() { + return new RegistryCodeDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryDesignationDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryDesignationDictionaryMapStore.java new file mode 100644 index 000000000..ef25c5f3d --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryDesignationDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.RegistryDesignationDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class RegistryDesignationDictionaryMapStore extends DictionaryTMapStore { + + public RegistryDesignationDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_RegistryDesignationDictionary; + } + + @Override + public String getTableName() { + return "REGISTRY_DESIGNATION_DICTIONARY"; + } + + @Override + public RegistryDesignationDictionary getDictionaryObject() { + return new RegistryDesignationDictionary(); + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryStatusDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryStatusDictionaryMapStore.java new file mode 100644 index 000000000..87c1c78eb --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryStatusDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.RegistryStatusDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class RegistryStatusDictionaryMapStore extends DictionaryTMapStore { + + public RegistryStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_RegistryStatusDictionary; + } + + @Override + public String getTableName() { + return "REGISTRY_STATUS_DICTIONARY"; + } + + @Override + public RegistryStatusDictionary getDictionaryObject() { + return new RegistryStatusDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryUnitDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryUnitDictionaryMapStore.java new file mode 100644 index 000000000..04bad19b4 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/RegistryUnitDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.RegistryUnitDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class RegistryUnitDictionaryMapStore extends DictionaryTMapStore { + + public RegistryUnitDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_RegistryUnitDictionary; + } + + @Override + public String getTableName() { + return "REGISTRY_UNIT_DICTIONARY"; + } + + @Override + public RegistryUnitDictionary getDictionaryObject() { + return new RegistryUnitDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryLevelDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryLevelDictionaryMapStore.java new file mode 100644 index 000000000..cce1e5510 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryLevelDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.TradingClearingRegistryLevelDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class TradingClearingRegistryLevelDictionaryMapStore extends DictionaryTMapStore { + + public TradingClearingRegistryLevelDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_TradingClearingRegistryLevelDictionary; + } + + @Override + public String getTableName() { + return "TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY"; + } + + @Override + public TradingClearingRegistryLevelDictionary getDictionaryObject() { + return new TradingClearingRegistryLevelDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryPurposeDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryPurposeDictionaryMapStore.java new file mode 100644 index 000000000..1c7384328 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryPurposeDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.TradingClearingRegistryPurposeDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class TradingClearingRegistryPurposeDictionaryMapStore extends DictionaryTMapStore { + + public TradingClearingRegistryPurposeDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_TradingClearingRegistryPurposeDictionary; + } + + @Override + public String getTableName() { + return "TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY"; + } + + @Override + public TradingClearingRegistryPurposeDictionary getDictionaryObject() { + return new TradingClearingRegistryPurposeDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryTypeDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryTypeDictionaryMapStore.java new file mode 100644 index 000000000..669adc1db --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/TradingClearingRegistryTypeDictionaryMapStore.java @@ -0,0 +1,32 @@ +package ru.spcex.clearing.imdg.dictionary; + + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.TradingClearingRegistryTypeDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class TradingClearingRegistryTypeDictionaryMapStore extends DictionaryTMapStore { + + public TradingClearingRegistryTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_TradingClearingRegistryTypeDictionary; + } + + @Override + public String getTableName() { + return "TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY"; + } + + @Override + public TradingClearingRegistryTypeDictionary getDictionaryObject() { + return new TradingClearingRegistryTypeDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/ClearingAccountMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/ClearingAccountMapStore.java new file mode 100644 index 000000000..ff397b37b --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/ClearingAccountMapStore.java @@ -0,0 +1,57 @@ +package ru.spcex.clearing.imdg.object; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.account.ClearingAccount; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class ClearingAccountMapStore extends TemplateMapStore { + + public ClearingAccountMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ClearingAccount; + } + + @Override + public String getTableName() { + return "CLEARING_ACCOUNT"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ACCOUNT_ID", "CLEARING_ACCOUNT_TYPE", "COMPANY_ID", "ID" + }; + } + + @Override + public ClearingAccount objectReader(ResultSet resultSet) throws SQLException { + ClearingAccount object = new ClearingAccount(); + object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class)); + object.setClearingAccountType(resultSet.getObject("CLEARING_ACCOUNT_TYPE", String.class)); + object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); + object.setId(resultSet.getObject("ID", Long.class)); + return object; + } + + @Override + public Object[] objectToField(ClearingAccount object) { + Object[] args = new Object[]{ + object.getAccountId(), + object.getClearingAccountType(), + object.getCompanyId(), + object.getId() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/DepoAccountMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/DepoAccountMapStore.java new file mode 100644 index 000000000..905fc740a --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/DepoAccountMapStore.java @@ -0,0 +1,59 @@ +package ru.spcex.clearing.imdg.object; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.account.DepoAccount; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; + +@Component +public class DepoAccountMapStore extends TemplateMapStore { + + public DepoAccountMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_DepoAccount; + } + + @Override + public String getTableName() { + return "DEPO_ACCOUNT"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ACCOUNT_ID", "DEPO_ACCOUNT_TYPE", "COMPANY_ID", "ID" + }; + } + + @Override + public DepoAccount objectReader(ResultSet resultSet) throws SQLException { + DepoAccount object = new DepoAccount(); + object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class)); + object.setDepoAccountType(resultSet.getObject("DEPO_ACCOUNT_TYPE", String.class)); + object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); + object.setId(resultSet.getObject("ID", Long.class)); + return object; + } + + @Override + public Object[] objectToField(DepoAccount object) { + Object[] args = new Object[]{ + object.getAccountId(), + object.getDepoAccountType(), + object.getCompanyId(), + object.getId() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/RegistryInstrumentTypeDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/RegistryInstrumentTypeDictionaryMapStore.java new file mode 100644 index 000000000..d96cc5ee4 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/RegistryInstrumentTypeDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.object; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.RegistryInstrumentTypeDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class RegistryInstrumentTypeDictionaryMapStore extends DictionaryTMapStore { + + public RegistryInstrumentTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_RegistryInstrumentTypeDictionary; + } + + @Override + public String getTableName() { + return "REGISTRY_INSTRUMENT_TYPE_DICTIONARY"; + } + + @Override + public RegistryInstrumentTypeDictionary getDictionaryObject() { + return new RegistryInstrumentTypeDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf51MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf51MapStore.java new file mode 100644 index 000000000..b454a835d --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf51MapStore.java @@ -0,0 +1,60 @@ +package ru.spcex.clearing.imdg.object; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.clearing.classes.statics.data.sdf.SDf51; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class SDf51MapStore extends TemplateMapStore { + + public SDf51MapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_SDf51; + } + + @Override + public String getTableName() { + return "S_DF51"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "NUMBER", "DATETIME", "GENERATION_TIME", "GENERATION_ID" + }; + } + + @Override + public SDf51 objectReader(ResultSet resultSet) throws SQLException { + SDf51 object = new SDf51(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setNumber(resultSet.getObject("NUMBER", String.class)); + object.setDatetime(resultSet.getObject("DATETIME", String.class)); + object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); + object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class)); + return object; + } + + @Override + public Object[] objectToField(SDf51 object) { + Object[] args = new Object[]{ + object.getId(), + object.getNumber(), + object.getDatetime(), + TimeUtil.toDateFromInstant(object.getGenerationTime()), + object.getGenerationId() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf52MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf52MapStore.java new file mode 100644 index 000000000..10b260390 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf52MapStore.java @@ -0,0 +1,68 @@ +package ru.spcex.clearing.imdg.object; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.clearing.classes.statics.data.sdf.SDf52; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class SDf52MapStore extends TemplateMapStore { + + public SDf52MapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_SDf52; + } + + @Override + public String getTableName() { + return "S_DF52"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "ACCOUNT", "ACC_NAME", "DEAL", "DATE", "STATUS", "FILE_NAME", "GENERATION_TIME", "GENERATION_ID" + }; + } + + @Override + public SDf52 objectReader(ResultSet resultSet) throws SQLException { + SDf52 object = new SDf52(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setAccount(resultSet.getObject("ACCOUNT", String.class)); + object.setAcc_name(resultSet.getObject("ACC_NAME", String.class)); + object.setDeal(resultSet.getObject("DEAL", String.class)); + object.setDate(resultSet.getObject("DATE", String.class)); + object.setStatus(resultSet.getObject("STATUS", Long.class)); + object.setFileName(resultSet.getObject("FILE_NAME", String.class)); + object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); + object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class)); + return object; + } + + @Override + public Object[] objectToField(SDf52 object) { + Object[] args = new Object[]{ + object.getId(), + object.getAccount(), + object.getAcc_name(), + object.getDeal(), + object.getDate(), + object.getStatus(), + object.getFileName(), + TimeUtil.toDateFromInstant(object.getGenerationTime()), + object.getGenerationId() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf53MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf53MapStore.java new file mode 100644 index 000000000..4a7a16413 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf53MapStore.java @@ -0,0 +1,68 @@ +package ru.spcex.clearing.imdg.object; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.clearing.classes.statics.data.sdf.SDf53; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.math.BigDecimal; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.*; + +@Component +public class SDf53MapStore extends TemplateMapStore { + + public SDf53MapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_SDf53; + } + + @Override + public String getTableName() { + return "S_DF53"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "ACCOUNT", "DEAL", "STATUS", "RESULT", "GENERATION_TIME", "GENERATION_ID", "IN_S_DF_ID" + }; + } + + @Override + public SDf53 objectReader(ResultSet resultSet) throws SQLException { + SDf53 object = new SDf53(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setAccount(resultSet.getObject("ACCOUNT", String.class)); + object.setDeal(resultSet.getObject("DEAL", String.class)); + object.setStatus(resultSet.getObject("STATUS", Long.class)); + object.setResult(resultSet.getObject("RESULT", BigDecimal.class)); + object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); + object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class)); + object.setInSDfId(resultSet.getObject("IN_S_DF_ID", Long.class)); + return object; + } + + @Override + public Object[] objectToField(SDf53 object) { + Object[] args = new Object[]{ + object.getId(), + object.getAccount(), + object.getDeal(), + object.getStatus(), + object.getResult(), + TimeUtil.toDateFromInstant(object.getGenerationTime()), + object.getGenerationId(), + object.getInSDfId() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java index b4a476597..1301939c0 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java @@ -145,6 +145,18 @@ public class RunnableMapNamesForTesting { dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_SectionDictionary, SectionDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ShareTypeDictionary, ShareTypeDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_BondTypeDictionary, BondTypeDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_TradingClearingRegistryTypeDictionary, TradingClearingRegistryTypeDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_TradingClearingRegistryLevelDictionary, TradingClearingRegistryLevelDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_TradingClearingRegistryPurposeDictionary, TradingClearingRegistryPurposeDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_RegistryDesignationDictionary, RegistryDesignationDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_RegistryInstrumentTypeDictionary, RegistryInstrumentTypeDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_RegistryCapacityDictionary, RegistryCapacityDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_RegistryUnitDictionary, RegistryUnitDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_RegistryCodeDictionary, RegistryCodeDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_RegistryStatusDictionary, RegistryStatusDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_BalanceDimensionDictionary, BalanceDimensionDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_DepoAccountTypeDictionary, DepoAccountTypeDictionary.class)); + dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ClearingAccountTypeDictionary, ClearingAccountTypeDictionary.class)); //object businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountRouting, AccountRouting.class)); @@ -226,5 +238,10 @@ public class RunnableMapNamesForTesting { new SettingOperation("setOutIntSum", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_FixedIncomeCashFlow, FixedIncomeCashFlow.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CouponPeriod, CouponPeriod.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf51, SDf51.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf52, SDf52.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf53, SDf53.class)); + //todo other... + } } diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index ebb948fd2..e40c7b98f 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -58,6 +58,9 @@ public final class IMDGDistributedNames { public static final String Map_SDf09 = "Map_SDf09"; public static final String Map_SDf12 = "Map_SDf12"; public static final String Map_SDf18 = "Map_SDf18"; + public static final String Map_SDf51 = "Map_sDf51"; + public static final String Map_SDf52 = "Map_sDf52"; + public static final String Map_SDf53 = "Map_sDf53"; public static final String Map_AllowedDictionary = "Map_AllowedDictionary"; public static final String Map_ClearingCategoryDictionary = "Map_ClearingCategoryDictionary"; public static final String Map_CompanyRoleDictionary = "Map_CompanyRoleDictionary"; @@ -140,6 +143,26 @@ public final class IMDGDistributedNames { public static final String Map_CouponPeriod = "Map_CouponPeriod"; public static final String Map_ListingHistory = "Map_ListingHistory"; public static final String Map_MarketHistory = "Map_MarketHistory"; + public static final String Map_TradingClearingRegistryTypeDictionary = "Map_TradingClearingRegistryTypeDictionary"; + public static final String Map_TradingClearingRegistryLevelDictionary = "Map_TradingClearingRegistryLevelDictionary"; + public static final String Map_TradingClearingRegistryPurposeDictionary = "Map_TradingClearingRegistryPurposeDictionary"; + public static final String Map_RegistryDesignationDictionary = "Map_RegistryDesignationDictionary"; + public static final String Map_RegistryInstrumentTypeDictionary = "Map_RegistryInstrumentTypeDictionary"; + public static final String Map_RegistryCapacityDictionary = "Map_RegistryCapacityDictionary"; + public static final String Map_RegistryUnitDictionary = "Map_RegistryUnitDictionary"; + public static final String Map_RegistryCodeDictionary = "Map_RegistryCodeDictionary"; + public static final String Map_RegistryStatusDictionary = "Map_RegistryStatusDictionary"; + public static final String Map_BalanceDimensionDictionary = "Map_BalanceDimensionDictionary"; + public static final String Map_DepoAccountTypeDictionary = "Map_DepoAccountTypeDictionary"; + public static final String Map_ClearingAccountTypeDictionary = "Map_ClearingAccountTypeDictionary"; + public static final String Map_ClientCode = "Map_ClientCode"; + public static final String Map_ClientCodeHistory = "Map_ClientCodeHistory"; + public static final String Map_TradingClearingRegistry = "Map_TradingClearingRegistry"; + public static final String Map_TradingClearingRegistryHistory = "Map_TradingClearingRegistryHistory"; + public static final String Map_Registry = "Map_Registry"; + public static final String Map_RegistryHistory = "Map_RegistryHistory"; + public static final String Map_DepoAccount = "Map_DepoAccount"; + public static final String Map_DepoAccountHistory = "Map_DepoAccountHistory"; public static final String MAP_SEQUENCE_NAME = "MAP_SEQUENCE_NAME"; From 57b912dee1d866f3e76cbf5e64645cf15be69913 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 11 Apr 2023 12:07:56 +0300 Subject: [PATCH 4/5] http://jira.mfd.msk:8088/browse/CLS-261 DDL, meta.2 refactoring --- .../src/main/resources/meta/meta.xml | 34 +++++++++---------- .../data/{misc => account}/ClientCode.java | 2 +- .../{misc => account}/ClientCodeHistory.java | 2 +- .../ClientCodeHistoryMapStore.java | 4 +-- .../businessobject/ClientCodeMapStore.java | 2 +- 5 files changed, 22 insertions(+), 22 deletions(-) rename clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/{misc => account}/ClientCode.java (92%) rename clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/{misc => account}/ClientCodeHistory.java (89%) diff --git a/clearing-parent/backend-api/src/main/resources/meta/meta.xml b/clearing-parent/backend-api/src/main/resources/meta/meta.xml index 281b1e4c7..70a75f9a5 100644 --- a/clearing-parent/backend-api/src/main/resources/meta/meta.xml +++ b/clearing-parent/backend-api/src/main/resources/meta/meta.xml @@ -136,37 +136,37 @@ - + - + - + - + - + - + - + @@ -207,17 +207,17 @@ - + - + - + @@ -227,7 +227,7 @@ - + @@ -262,7 +262,7 @@ - + @@ -760,7 +760,7 @@ - + @@ -793,7 +793,7 @@ - + @@ -806,7 +806,7 @@ - + @@ -935,13 +935,13 @@ - + - + diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCode.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java similarity index 92% rename from clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCode.java rename to clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java index 45aab81af..af4a3890d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCode.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java @@ -1,4 +1,4 @@ -package ru.clearing.classes.statics.data.misc; +package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessObject; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCodeHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCodeHistory.java similarity index 89% rename from clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCodeHistory.java rename to clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCodeHistory.java index 4c26f82aa..7b6df9819 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/ClientCodeHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCodeHistory.java @@ -1,4 +1,4 @@ -package ru.clearing.classes.statics.data.misc; +package ru.clearing.classes.statics.data.account; import ru.clearing.classes.ConstSerializable; import ru.clearing.classes.objects.BusinessEvent; diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java index 2939af7d7..6ae55caea 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java @@ -2,8 +2,8 @@ package ru.spcex.clearing.imdg.businessevent; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; -import ru.clearing.classes.statics.data.misc.ClientCode; -import ru.clearing.classes.statics.data.misc.ClientCodeHistory; +import ru.clearing.classes.statics.data.account.ClientCode; +import ru.clearing.classes.statics.data.account.ClientCodeHistory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.base.TemplateEventMapStore; import ru.spcex.platform.utils.time.TimeUtil; diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java index 291d42d2b..17a27a1ea 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java @@ -2,7 +2,7 @@ package ru.spcex.clearing.imdg.businessobject; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; -import ru.clearing.classes.statics.data.misc.ClientCode; +import ru.clearing.classes.statics.data.account.ClientCode; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.base.TemplateMapStore; import ru.spcex.platform.utils.time.TimeUtil; From f71ae406a29072a1fbe597921833c9d99e190dbe Mon Sep 17 00:00:00 2001 From: AKurakin Date: Tue, 11 Apr 2023 14:46:37 +0300 Subject: [PATCH 5/5] =?UTF-8?q?http://jira.mfd.msk:8088/browse/CLS-261=20D?= =?UTF-8?q?DL=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20mapstore.=20=D0=9E?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D1=80=D0=BE=D0=B6=D0=BD=D0=BE:=20=D1=83?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D1=81=D1=81=D0=BE=D0=B2!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account/service/BankAccountService.java | 4 +- .../service/BankAccountServiceTest.java | 2 +- .../entity/account/AccountBackendGetAll.java | 2 +- .../AccountBalanceValidationRule.java | 2 +- .../balance/service/AbstractServiceTest.java | 2 +- .../service/AccountBalanceServiceTest.java | 8 +- .../balance/service/Sdf01ExecutorTest.java | 4 +- .../balance/service/Sdf09ExecutorTest.java | 2 +- .../balance/service/Sdf16ExecutorTest.java | 2 +- .../classes/statics/data/account/Account.java | 10 +- .../statics/data/account/AccountBalance.java | 1 + .../data/account/AccountBalanceHistory.java | 1 + .../statics/data/account/AccountRouting.java | 45 - .../data/account/AccountRoutingHistory.java | 26 - .../service/VerificationResultComponent.java | 2 +- .../ExecutionDepositValidationRule.java | 2 +- .../clearing/service/ClearingServiceTest.java | 6 +- .../VerificationResultComponentTest.java | 2 +- .../dictionary/AccountStatusDictionary.java | 12 - .../platform/dictionary/SectorDictionary.java | 11 - .../ASecurityHistoryMapStore.java | 4 +- .../AccountBalanceHistoryMapStore.java | 3 +- .../businessevent/AccountHistoryMapStore.java | 4 +- .../AccountRoutingHistoryMapStore.java | 52 - .../ClearingAccountHistoryMapStore.java | 3 +- ...ClearingMemberCategoryHistoryMapStore.java | 3 +- .../ClientCodeHistoryMapStore.java | 2 +- .../CompanySymbolsHistoryMapStore.java | 3 +- .../CouponPeriodHistoryMapStore.java | 2 +- .../CurrencyHistoryMapStore.java | 3 +- .../DepoAccountHistoryMapStore.java | 3 +- .../EquitySecurityHistoryMapStore.java | 3 +- .../FixedIncomeCashFlowHistoryMapStore.java | 2 +- .../FixedIncomeSecurityHistoryMapStore.java | 2 +- .../businessevent/ListingHistoryMapStore.java | 2 +- .../businessevent/MarketHistoryMapStore.java | 2 +- .../MoneyMarketSecurityHistoryMapStore.java | 2 +- .../ProfileDocumentHistoryMapStore.java | 2 +- .../RegistryHistoryMapStore.java | 2 +- ...radingClearingRegistryHistoryMapStore.java | 2 +- .../AccountBalanceMapStore.java | 3 +- .../imdg/businessobject/AccountMapStore.java | 6 +- .../MoneyMarketSecurityMapStore.java | 71 +- .../AccountStatusDictionaryMapStore.java | 31 - .../dictionary/SectorDictionaryMapStore.java | 32 - .../imdg/object/AccountRoutingMapStore.java | 58 - .../imdg/services/UpdateMapService.java | 6 - .../spcex/clearing/imdg/AllMapStoreTest.java | 2 +- .../imdg/config/DbTestConnectionConfig.java | 3 +- .../structure/RunnableMapNamesForTesting.java | 8 +- .../imdg/src/test/resources/ddl.sql | 4089 +++++++++++++++++ .../clearing/imdg/IMDGDistributedNames.java | 4 - 52 files changed, 4158 insertions(+), 402 deletions(-) delete mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountRouting.java delete mode 100644 clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountRoutingHistory.java delete mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/AccountStatusDictionary.java delete mode 100644 clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/SectorDictionary.java delete mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountRoutingHistoryMapStore.java rename clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/{object => businessobject}/MoneyMarketSecurityMapStore.java (50%) delete mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/AccountStatusDictionaryMapStore.java delete mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/SectorDictionaryMapStore.java delete mode 100644 clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/AccountRoutingMapStore.java create mode 100644 clearing-parent/imdg/src/test/resources/ddl.sql diff --git a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/BankAccountService.java b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/BankAccountService.java index 992297cf5..7cc642a92 100644 --- a/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/BankAccountService.java +++ b/clearing-parent/account-service/src/main/java/ru/spcex/clearing/account/service/BankAccountService.java @@ -133,7 +133,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea } else { log.warn("Not found relation by condition: {}", relationSqlCondition); } - account.setAccountStatus(AccountStatus.ACTIVE.getKey()); + account.setStatus(AccountStatus.ACTIVE.getKey()); account.setProcessingSign(Allowed.ALLOWED.getKey()); account.setCreated(Instant.now()); account.setUpdated(Instant.now()); @@ -176,7 +176,7 @@ public class BankAccountService extends QueueConsumer implements InitializingBea BankAccount bankAccount = bankAccountMap.getSingleObjectByID(req.getId()); Account account = accountMap.getSingleObjectByID(bankAccount.getAccountId()); - account.setAccountStatus(AccountStatus.BLOCKED.getKey()); + account.setStatus(AccountStatus.BLOCKED.getKey()); account.setUpdated(Instant.now()); accountMap.update(account); diff --git a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/BankAccountServiceTest.java b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/BankAccountServiceTest.java index 5bfb30923..ad579b228 100644 --- a/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/BankAccountServiceTest.java +++ b/clearing-parent/account-service/src/test/java/ru/spcex/clearing/account/service/BankAccountServiceTest.java @@ -363,7 +363,7 @@ public class BankAccountServiceTest { account.setId(id); account.setAccount(acc); account.setAccountType(AccountType.Bank.getKey()); - account.setAccountStatus(Status.Active.getKey()); + account.setStatus(Status.Active.getKey()); account.setProcessingSign(Allowed.ALLOWED.getKey()); return account; } 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 03bf7a7e4..46a4a0f1e 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 @@ -33,7 +33,7 @@ public class AccountBackendGetAll extends BasicSpcexResponse { singleItem.setAccount(account.getAccount()); singleItem.setAccountType(account.getAccountType()); singleItem.setRelationId(account.getRelationId()); - singleItem.setStatus(account.getAccountStatus()); + singleItem.setStatus(account.getStatus()); singleItem.setProcessingSign(account.getProcessingSign()); singleItem.setCreated(account.getCreated()); singleItem.setUpdated(account.getUpdated()); diff --git a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/AccountBalanceValidationRule.java b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/AccountBalanceValidationRule.java index 59ccb81b1..865e67035 100644 --- a/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/AccountBalanceValidationRule.java +++ b/clearing-parent/balance-service/src/main/java/ru/spcex/clearing/balance/validation/AccountBalanceValidationRule.java @@ -45,7 +45,7 @@ public enum AccountBalanceValidationRule implements IValidationRule * DB table: ACCOUNT_BALANCE **/ +@Deprecated public class AccountBalance extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private Long companyId; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java index 3fd8f9d11..c6782567a 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java @@ -10,6 +10,7 @@ import java.io.Serial; *

* DB table: ACCOUNT_BALANCE_HISTORY **/ +@Deprecated public class AccountBalanceHistory extends BusinessEvent { @Serial private static final long serialVersionUID = ConstSerializable.serialVersionUID; diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountRouting.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountRouting.java deleted file mode 100644 index ae3f67e66..000000000 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountRouting.java +++ /dev/null @@ -1,45 +0,0 @@ -package ru.clearing.classes.statics.data.account; - -import ru.clearing.classes.ConstSerializable; -import ru.spcex.platform.classes.base.SpcexObjectBase; - -import java.io.Serial; - -/** - * Маршрутизация счета - *

- * DB table: ACCOUNT_ROUTING - **/ -public class AccountRouting extends SpcexObjectBase { - @Serial - private static final long serialVersionUID = ConstSerializable.serialVersionUID; - - private Long destinationId; - private Long relationId; - private Long sourceId; - - public Long getDestinationId() { - return destinationId; - } - - public void setDestinationId(Long value) { - this.destinationId = value; - } - - public Long getRelationId() { - return relationId; - } - - public void setRelationId(Long value) { - this.relationId = value; - } - - public Long getSourceId() { - return sourceId; - } - - public void setSourceId(Long value) { - this.sourceId = value; - } - -} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountRoutingHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountRoutingHistory.java deleted file mode 100644 index f2212cd15..000000000 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountRoutingHistory.java +++ /dev/null @@ -1,26 +0,0 @@ -package ru.clearing.classes.statics.data.account; - -import ru.clearing.classes.ConstSerializable; -import ru.clearing.classes.objects.BusinessEvent; -import java.io.Serial; -/** - * Изменение состояния объекта Маршрутизация счета - * - * DB table: ACCOUNT_ROUTING_UPDATE - **/ -public class AccountRoutingHistory extends BusinessEvent { - @Serial - private static final long serialVersionUID = ConstSerializable.serialVersionUID; - - private AccountRouting object; - - @Override - public AccountRouting getObject() { - return object; - } - - @Override - public void setObject(AccountRouting object) { - this.object = object; - } -} \ No newline at end of file diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/VerificationResultComponent.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/VerificationResultComponent.java index 3beebfcb7..c10007d94 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/VerificationResultComponent.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/VerificationResultComponent.java @@ -200,7 +200,7 @@ public class VerificationResultComponent { .map(sdf01 -> sdf01.getDeal()) .collect(Collectors.toSet()); Set accountKeys = allAccount.stream() - .filter(account -> AccountType.Clrn.equalsByKey(account.getAccountType()) && "UNBL".equals(account.getAccountStatus())) + .filter(account -> AccountType.Clrn.equalsByKey(account.getAccountType()) && "UNBL".equals(account.getStatus())) .map(sdf01 -> sdf01.getAccount()) .collect(Collectors.toSet()); boolean isOk = sDf01Keys.size() == accountKeys.size() && diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java index cd124a1d8..449e93754 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/service/validation/ExecutionDepositValidationRule.java @@ -44,7 +44,7 @@ public enum ExecutionDepositValidationRule implements IValidationRule { public AccountBalanceHistoryMapStore(JdbcTemplate jdbcTemplate) { 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 0f24bb82a..ec3c8c599 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 @@ -28,7 +28,7 @@ public class AccountHistoryMapStore extends TemplateEventMapStore { - - public AccountRoutingHistoryMapStore(JdbcTemplate jdbcTemplate) { - super(jdbcTemplate); - } - - @Override - public String getMapName() { - return IMDGDistributedNames.Map_AccountRoutingHistory; - } - - @Override - public String getTableName() { - return "ACCOUNT_ROUTING_HISTORY"; - } - - @Override - public String[] getFields() { - return new String[]{"ID", "EVENT_TIME", "EVENT_TYPE", "EVENT_USER_ID", - "ACCOUNT_ROUTING_ID", "DESTINATION_ID", "RELATION_ID", "SOURCE_ID" - }; - } - - @Override - public Object[] objectToField(AccountRoutingHistory updateLog) { - AccountRouting object = updateLog.getObject(); - Object[] args = new Object[]{ - updateLog.getId(), - TimeUtil.toDateFromInstant(updateLog.getEventTime()), - updateLog.getEventType(), - updateLog.getUserId(), - - object.getId(), - object.getDestinationId(), - object.getRelationId(), - object.getSourceId() - }; - return args; - } - -} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingAccountHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingAccountHistoryMapStore.java index 62182bd92..07846ea39 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingAccountHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClearingAccountHistoryMapStore.java @@ -6,6 +6,7 @@ import ru.clearing.classes.statics.data.account.ClearingAccount; import ru.clearing.classes.statics.data.account.ClearingAccountHistory; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; @Component public class ClearingAccountHistoryMapStore extends TemplateEventMapStore { @@ -36,7 +37,7 @@ public class ClearingAccountHistoryMapStore extends TemplateEventMapStore { @@ -36,7 +37,7 @@ public class ClearingMemberCategoryHistoryMapStore extends TemplateEventMapStore ClearingMemberCategory object = historyLog.getObject(); Object[] args = new Object[]{ historyLog.getId(), - historyLog.getEventTime(), + TimeUtil.toDateFromInstant(historyLog.getEventTime()), historyLog.getUserId(), historyLog.getEventType(), diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java index 6ae55caea..cb800439e 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ClientCodeHistoryMapStore.java @@ -37,7 +37,7 @@ public class ClientCodeHistoryMapStore extends TemplateEventMapStore { @@ -36,7 +37,7 @@ public class CompanySymbolsHistoryMapStore extends TemplateEventMapStore { @@ -37,7 +38,7 @@ public class CurrencyHistoryMapStore extends TemplateEventMapStore { @@ -36,7 +37,7 @@ public class DepoAccountHistoryMapStore extends TemplateEventMapStore { @@ -36,7 +37,7 @@ public class EquitySecurityHistoryMapStore extends ASecurityHistoryMapStore Market object = historyLog.getObject(); Object[] args = new Object[]{ historyLog.getId(), - historyLog.getEventTime(), + TimeUtil.toDateFromInstant(historyLog.getEventTime()), historyLog.getUserId(), historyLog.getEventType(), diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java index d2549e572..9d2cae9ad 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/MoneyMarketSecurityHistoryMapStore.java @@ -43,7 +43,7 @@ public class MoneyMarketSecurityHistoryMapStore extends ASecurityHistoryMapStore MoneyMarketSecurity moneyMarketSecurity = historyLog.getObject(); Object[] args = new Object[]{ historyLog.getId(), - historyLog.getEventTime(), + TimeUtil.toDateFromInstant(historyLog.getEventTime()), historyLog.getUserId(), historyLog.getEventType(), diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ProfileDocumentHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ProfileDocumentHistoryMapStore.java index b2bf17603..5a99760d7 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ProfileDocumentHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ProfileDocumentHistoryMapStore.java @@ -38,7 +38,7 @@ public class ProfileDocumentHistoryMapStore extends TemplateEventMapStore { public AccountBalanceMapStore(JdbcTemplate jdbcTemplate) { 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 abaf55e36..51614bb9a 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", "ACCOUNT_STATUS", "PROCESSING_SIGN", "COMPANY_ID" + "ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT", "ACCOUNT_TYPE", "RELATION_ID", "STATUS", "PROCESSING_SIGN", "COMPANY_ID" }; } @@ -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.setAccountStatus(resultSet.getObject("ACCOUNT_STATUS", String.class)); + object.setStatus(resultSet.getObject("STATUS", String.class)); object.setProcessingSign(resultSet.getObject("PROCESSING_SIGN", String.class)); object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); return object; @@ -58,7 +58,7 @@ public class AccountMapStore extends TemplateMapStore { object.getAccount(), object.getAccountType(), object.getRelationId(), - object.getAccountStatus(), + object.getStatus(), object.getProcessingSign(), object.getCompanyId() }; diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/MoneyMarketSecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyMarketSecurityMapStore.java similarity index 50% rename from clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/MoneyMarketSecurityMapStore.java rename to clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyMarketSecurityMapStore.java index 48a96b428..75651a2c5 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/MoneyMarketSecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyMarketSecurityMapStore.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.imdg.object; +package ru.spcex.clearing.imdg.businessobject; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; @@ -15,7 +15,7 @@ import java.util.List; import java.util.Map; @Component -public class MoneyMarketSecurityMapStore extends TemplateMapStore { +public class MoneyMarketSecurityMapStore extends ASecurityMapStore { private final String insertToSecurityStatement = makeInsertSql("SECURITY", getFieldsSecurity(), "id"); @@ -41,11 +41,7 @@ public class MoneyMarketSecurityMapStore extends TemplateMapStore resouts = jdbcTemplate.query( - "SELECT * FROM SECURITY WHERE id = ?", new Object[]{securityId}, - (rs, rowNum) -> { - object.setCreated(getInstantFromTimestamp(rs, "CREATED_AT")); - object.setUpdated(getInstantFromTimestamp(rs, "UPDATED_AT")); - object.setInstrumentType(rs.getObject("INSTRUMENT_TYPE", String.class)); - object.setIssuerId(rs.getObject("issuer_id", Long.class)); - object.setShortName(rs.getObject("short_name", String.class)); - object.setFullName(rs.getObject("FULL_NAME", String.class)); - object.setShortNameEng(rs.getObject("short_name_eng", String.class)); - object.setFullNameEng(rs.getObject("full_name_eng", String.class)); - object.setSecuritySymbol(rs.getObject("SECURITY_SYMBOL", String.class)); - object.setIsin(rs.getObject("ISIN", String.class)); - object.setWorkflowStatus(rs.getObject("workflow_status", String.class)); - return object; - } - ); - if (resouts.size() != 1) { - log.warn("Result size={} not expected for table MONEY_MARKET_SECURITY where id={}", resouts.size(), securityId); - } - } @Override protected Object[] objectToField(MoneyMarketSecurity moneyMarketSecurity) { @@ -110,45 +83,9 @@ public class MoneyMarketSecurityMapStore extends TemplateMapStore map) { - List moneyMarketArgs = new ArrayList<>(); - List securityArgs = new ArrayList<>(); - - for (Map.Entry entry : map.entrySet()) { - MoneyMarketSecurity obj = entry.getValue(); - Object[] args = objectToField(obj); - if (args.length != validateSize) { - throw new IllegalArgumentException("objectToField return " + args.length + " arguments, but expected " + validateSize); - } - moneyMarketArgs.add(args); - securityArgs.add(securityField(obj)); - } - batchInsertUpdate(insertStatement, moneyMarketArgs); - batchInsertUpdate(insertToSecurityStatement, securityArgs); - } } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/AccountStatusDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/AccountStatusDictionaryMapStore.java deleted file mode 100644 index 558ad66eb..000000000 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/AccountStatusDictionaryMapStore.java +++ /dev/null @@ -1,31 +0,0 @@ -package ru.spcex.clearing.imdg.dictionary; - -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.stereotype.Component; -import ru.clearing.platform.dictionary.AccountStatusDictionary; -import ru.spcex.clearing.imdg.base.DictionaryTMapStore; -import ru.spcex.clearing.imdg.IMDGDistributedNames; - -@Component -public class AccountStatusDictionaryMapStore extends DictionaryTMapStore { - - public AccountStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) { - super(jdbcTemplate); - } - - @Override - public String getMapName() { - return IMDGDistributedNames.Map_AccountStatusDictionary; - } - - @Override - public String getTableName() { - return "ACCOUNT_STATUS_DICTIONARY"; - } - - @Override - public AccountStatusDictionary getDictionaryObject() { - return new AccountStatusDictionary(); - } - -} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/SectorDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/SectorDictionaryMapStore.java deleted file mode 100644 index 9b3859afc..000000000 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/SectorDictionaryMapStore.java +++ /dev/null @@ -1,32 +0,0 @@ -package ru.spcex.clearing.imdg.dictionary; - - -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.stereotype.Component; -import ru.clearing.platform.dictionary.SectorDictionary; -import ru.spcex.clearing.imdg.base.DictionaryTMapStore; -import ru.spcex.clearing.imdg.IMDGDistributedNames; - -@Component -public class SectorDictionaryMapStore extends DictionaryTMapStore { - - public SectorDictionaryMapStore(JdbcTemplate jdbcTemplate) { - super(jdbcTemplate); - } - - @Override - public String getMapName() { - return IMDGDistributedNames.Map_SectorDictionary; - } - - @Override - public String getTableName() { - return "SECTOR_DICTIONARY"; - } - - @Override - public SectorDictionary getDictionaryObject() { - return new SectorDictionary(); - } - -} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/AccountRoutingMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/AccountRoutingMapStore.java deleted file mode 100644 index aad8c68be..000000000 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/AccountRoutingMapStore.java +++ /dev/null @@ -1,58 +0,0 @@ -package ru.spcex.clearing.imdg.object; - -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.stereotype.Component; -import ru.clearing.classes.statics.data.account.AccountRouting; -import ru.spcex.clearing.imdg.IMDGDistributedNames; -import ru.spcex.clearing.imdg.base.TemplateMapStore; - -import java.sql.ResultSet; -import java.sql.SQLException; - -@Component -public class AccountRoutingMapStore extends TemplateMapStore { - - public AccountRoutingMapStore(JdbcTemplate jdbcTemplate) { - super(jdbcTemplate); - } - - @Override - public String getMapName() { - return IMDGDistributedNames.Map_AccountRouting; - } - - @Override - public String getTableName() { - return "ACCOUNT_ROUTING"; - } - - @Override - public String[] getFields() { - return new String[]{ - "ID", "DESTINATION_ID", "RELATION_ID", "SOURCE_ID" - }; - } - - @Override - public AccountRouting objectReader(ResultSet resultSet) throws SQLException { - AccountRouting object = new AccountRouting(); - object.setId(resultSet.getObject("ID", Long.class)); - object.setDestinationId(resultSet.getObject("DESTINATION_ID", Long.class)); - object.setRelationId(resultSet.getObject("RELATION_ID", Long.class)); - object.setSourceId(resultSet.getObject("SOURCE_ID", Long.class)); - return object; - } - - @Override - public Object[] objectToField(AccountRouting object) { - Object[] args = new Object[]{ - object.getId(), - object.getDestinationId(), - object.getRelationId(), - object.getSourceId() - }; - return args; - } - -} -// todo Сделать BusinessEventMapStore AccountRoutingUpdateMapStore \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/UpdateMapService.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/UpdateMapService.java index ec3bf7cb2..2deeb3540 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/UpdateMapService.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/UpdateMapService.java @@ -36,7 +36,6 @@ public class UpdateMapService extends AbstractUpdateMapService { public void addingListenersToCards() { hazelcastServerInstance.getMap(IMDGDistributedNames.Map_AccountBalance).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_Account).addLocalEntryListener(this, Predicates.alwaysTrue(), true); - hazelcastServerInstance.getMap(IMDGDistributedNames.Map_AccountRouting).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_BankAccount).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_Company).addLocalEntryListener(this, Predicates.alwaysTrue(), true); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_CompanySymbols).addLocalEntryListener(this, Predicates.alwaysTrue(), true); @@ -71,11 +70,6 @@ public class UpdateMapService extends AbstractUpdateMapService { createBusinessEvent(accountHistory, eventType); accountHistory.setObject((Account) value); hazelcastServerInstance.getMap(IMDGDistributedNames.Map_AccountHistory).put(accountHistory.getId(), accountHistory); - } else if (value instanceof AccountRouting) { - AccountRoutingHistory accountRoutingHistory = new AccountRoutingHistory(); - createBusinessEvent(accountRoutingHistory, eventType); - accountRoutingHistory.setObject((AccountRouting) value); - hazelcastServerInstance.getMap(IMDGDistributedNames.Map_AccountRoutingHistory).put(accountRoutingHistory.getId(), accountRoutingHistory); } else if (value instanceof BankAccount) { BankAccountHistory bankAccountHistory = new BankAccountHistory(); createBusinessEvent(bankAccountHistory, eventType); diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/AllMapStoreTest.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/AllMapStoreTest.java index 214abb723..f3a5970d0 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/AllMapStoreTest.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/AllMapStoreTest.java @@ -206,7 +206,7 @@ public class AllMapStoreTest { } //todo удалить если будет не нужна, пока не работает из-за "deleteIsSupported() return false" в SimpleObjectMapStore. - @Test +// @Test public void checkDeletingForAllMapStoreTest() { Assumptions.assumeTrue(false, "todo удалить если будет не нужна, пока не работает из-за \"deleteIsSupported() return false\" в SimpleObjectMapStore."); saveBusinessObjectAndBusinessEventToMaps(); diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java index b292343e3..0aa13adc3 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/config/DbTestConnectionConfig.java @@ -8,6 +8,7 @@ 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.DatabasePopulatorUtils; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; import ru.spcex.clearing.imdg.error.ModuleInitializeException; @@ -51,7 +52,7 @@ public class DbTestConnectionConfig { cpds.setNumHelperThreads(numHelperThreads); cpds.setCheckoutTimeout(timeoutSec * 1000); logTimeoutPart = String.format(" (timeout=%ds)", timeoutSec); -// DatabasePopulatorUtils.execute(createDatabasePopulator(), cpds); +// DatabasePopulatorUtils.execute(createDatabasePopulator(), cpds); // пересоздание таблиц по DDL result = cpds; String OPERATION_DATABASE_CONNECTION_CHECK = String.format("Database [%s] connection check", dbPath); diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java index 1301939c0..1f495d479 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/RunnableMapNamesForTesting.java @@ -51,9 +51,8 @@ public class RunnableMapNamesForTesting { dictionaryObjectForCheckMapStores = new LinkedList<>(); //business event - businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountBalanceHistory, AccountBalanceHistory.class)); +// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountBalanceHistory, AccountBalanceHistory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountHistory, AccountHistory.class)); - businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountRoutingHistory, AccountRoutingHistory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_BankAccountHistory, BankAccountHistory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CompanyHistory, CompanyHistory.class, usingIgnoringFieldsComparator("object.profile.clearingCode", "object.profile.fullName", "object.profile.registrationCode", "object.profile.shortName", "object.profile.tradingCode"))); @@ -75,7 +74,7 @@ public class RunnableMapNamesForTesting { businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CouponPeriodHistory, CouponPeriodHistory.class)); //business object - businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class)); +// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountBalance, AccountBalance.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Account, Account.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ClearingCalendar, ClearingCalendar.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Company, Company.class, @@ -102,7 +101,6 @@ public class RunnableMapNamesForTesting { businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class)); //dictionary - dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_AccountStatusDictionary, AccountStatusDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_AccountTypeDictionary, AccountTypeDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_AllowedDictionary, AllowedDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_BalanceAccountTypeDictionary, BalanceAccountTypeDictionary.class)); @@ -132,7 +130,6 @@ public class RunnableMapNamesForTesting { dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_OrganizationTypeDictionary, OrganizationTypeDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ParentDictionary, ParentDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ResultStatusDictionary, ResultStatusDictionary.class)); - dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_SectorDictionary, SectorDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ServiceDictionary, ServiceDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ServiceProductDictionary, ServiceProductDictionary.class)); dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ServiceStatusDictionary, ServiceStatusDictionary.class)); @@ -159,7 +156,6 @@ public class RunnableMapNamesForTesting { dictionaryObjectForCheckMapStores.add(new DictionaryObjectForCheckMapStore<>(IMDGDistributedNames.Map_ClearingAccountTypeDictionary, ClearingAccountTypeDictionary.class)); //object - businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountRouting, AccountRouting.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AdmittedDealRegister, AdmittedDealRegister.class, new SettingOperation("setCreated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), new SettingOperation("setUpdated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), diff --git a/clearing-parent/imdg/src/test/resources/ddl.sql b/clearing-parent/imdg/src/test/resources/ddl.sql new file mode 100644 index 000000000..78382efaa --- /dev/null +++ b/clearing-parent/imdg/src/test/resources/ddl.sql @@ -0,0 +1,4089 @@ +-- DB version: 3.5.0.18 +/* Dictionaries */ + +-- allowed - Справочник признаков допустимости использования объектов +DROP TABLE IF EXISTS ALLOWED_DICTIONARY; +CREATE TABLE ALLOWED_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Признак допустимости'; + +-- workflowStatus - Справочник статусов бизнес-процессов +DROP TABLE IF EXISTS WORKFLOW_STATUS_DICTIONARY; +CREATE TABLE WORKFLOW_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- errorCode - Коды ошибок +DROP TABLE IF EXISTS ERROR_CODE_DICTIONARY; +CREATE TABLE ERROR_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Текст ошибки'; + +-- countryCode - Справочник кодов стран +DROP TABLE IF EXISTS COUNTRY_CODE_DICTIONARY; +CREATE TABLE COUNTRY_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- section - Справочник секций +DROP TABLE IF EXISTS SECTION_DICTIONARY; +CREATE TABLE SECTION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SECTION_DICTIONARY IS 'Справочник секций'; + +COMMENT ON COLUMN SECTION_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SECTION_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN SECTION_DICTIONARY.NAME IS 'Наименование'; + +-- userRole - Роли пользователей +DROP TABLE IF EXISTS USER_ROLE_DICTIONARY; +CREATE TABLE USER_ROLE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Роль пользователя'; + +-- connectionState - Справочник состояний соединений +DROP TABLE IF EXISTS CONNECTION_STATE_DICTIONARY; +CREATE TABLE CONNECTION_STATE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- legalKind - Справочник видов субъекта +DROP TABLE IF EXISTS LEGAL_KIND_DICTIONARY; +CREATE TABLE LEGAL_KIND_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 'Наименование'; + +-- corporationSoleType - Справочник единоличных исполнительных органов +DROP TABLE IF EXISTS CORPORATION_SOLE_TYPE_DICTIONARY; +CREATE TABLE CORPORATION_SOLE_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- clearingCategory - Справочник категорий участника клиринга +DROP TABLE IF EXISTS CLEARING_CATEGORY_DICTIONARY; +CREATE TABLE CLEARING_CATEGORY_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE CLEARING_CATEGORY_DICTIONARY IS 'Справочник категорий участника клиринга'; + +COMMENT ON COLUMN CLEARING_CATEGORY_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLEARING_CATEGORY_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CLEARING_CATEGORY_DICTIONARY.NAME IS 'Наименование'; + +-- contactType - Справочник типов контактов компании +DROP TABLE IF EXISTS CONTACT_TYPE_DICTIONARY; +CREATE TABLE CONTACT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- documentType - Справочник типов документов +DROP TABLE IF EXISTS DOCUMENT_TYPE_DICTIONARY; +CREATE TABLE DOCUMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- companySymbol - Справочник имен компании +DROP TABLE IF EXISTS COMPANY_SYMBOL_DICTIONARY; +CREATE TABLE COMPANY_SYMBOL_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 'Роль Участника'; + +-- currencyCode - Справочник кодов валют +DROP TABLE IF EXISTS CURRENCY_CODE_DICTIONARY; +CREATE TABLE CURRENCY_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- instrumentType - Справочник типов инструментов +DROP TABLE IF EXISTS INSTRUMENT_TYPE_DICTIONARY; +CREATE TABLE INSTRUMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- termType - Справочник видов инструментов Денежного рынка +DROP TABLE IF EXISTS TERM_TYPE_DICTIONARY; +CREATE TABLE TERM_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- shareType - Справочник типов акций +DROP TABLE IF EXISTS SHARE_TYPE_DICTIONARY; +CREATE TABLE SHARE_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE SHARE_TYPE_DICTIONARY IS 'Справочник типов акций'; + +COMMENT ON COLUMN SHARE_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SHARE_TYPE_DICTIONARY.CODE IS 'Код акции'; + +COMMENT ON COLUMN SHARE_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- bondType - Справочник типов облигаций +DROP TABLE IF EXISTS BOND_TYPE_DICTIONARY; +CREATE TABLE BOND_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE BOND_TYPE_DICTIONARY IS 'Справочник типов облигаций'; + +COMMENT ON COLUMN BOND_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN BOND_TYPE_DICTIONARY.CODE IS 'Код облигации'; + +COMMENT ON COLUMN BOND_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- tradingClearingRegistryType - Справочник типов торгово-клиринговых регистров +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY IS 'Справочник типов торгово-клиринговых регистров'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- tradingClearingRegistryLevel - Справочник уровней торгово-клиринговых регистров +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY IS 'Справочник уровней торгово-клиринговых регистров'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_LEVEL_DICTIONARY.NAME IS 'Наименование'; + +-- tradingClearingRegistryPurpose - Справочник областей применения +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY; +CREATE TABLE TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY IS 'Справочник областей применения'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_PURPOSE_DICTIONARY.NAME IS 'Наименование'; + +-- service - Справочник услуг +DROP TABLE IF EXISTS SERVICE_DICTIONARY; +CREATE TABLE SERVICE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- serviceStatus - Справочник статусов услуг +DROP TABLE IF EXISTS SERVICE_STATUS_DICTIONARY; +CREATE TABLE SERVICE_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- serviceProduct - Справочник продуктов для услуг +DROP TABLE IF EXISTS SERVICE_PRODUCT_DICTIONARY; +CREATE TABLE SERVICE_PRODUCT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- registryDesignation - Справочник символов регистров - назначения +DROP TABLE IF EXISTS REGISTRY_DESIGNATION_DICTIONARY; +CREATE TABLE REGISTRY_DESIGNATION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_DESIGNATION_DICTIONARY IS 'Справочник символов регистров - назначения'; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_DESIGNATION_DICTIONARY.NAME IS 'Наименование'; + +-- registryInstrumentType - Справочник символов регистров - инструменты +DROP TABLE IF EXISTS REGISTRY_INSTRUMENT_TYPE_DICTIONARY; +CREATE TABLE REGISTRY_INSTRUMENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_INSTRUMENT_TYPE_DICTIONARY IS 'Справочник символов регистров - инструменты'; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_INSTRUMENT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- registryCapacity - Справочник символов регистров - источники средств +DROP TABLE IF EXISTS REGISTRY_CAPACITY_DICTIONARY; +CREATE TABLE REGISTRY_CAPACITY_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_CAPACITY_DICTIONARY IS 'Справочник символов регистров - источники средств'; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_CAPACITY_DICTIONARY.NAME IS 'Наименование'; + +-- registryUnit - Справочник символов регистров - части регистров +DROP TABLE IF EXISTS REGISTRY_UNIT_DICTIONARY; +CREATE TABLE REGISTRY_UNIT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_UNIT_DICTIONARY IS 'Справочник символов регистров - части регистров'; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_UNIT_DICTIONARY.NAME IS 'Наименование'; + +-- registryCode - Справочник кодов регистров +DROP TABLE IF EXISTS REGISTRY_CODE_DICTIONARY; +CREATE TABLE REGISTRY_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_CODE_DICTIONARY IS 'Справочник кодов регистров'; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_CODE_DICTIONARY.NAME IS 'Наименование'; + +-- registryStatus - Справочник статусов регистров +DROP TABLE IF EXISTS REGISTRY_STATUS_DICTIONARY; +CREATE TABLE REGISTRY_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE REGISTRY_STATUS_DICTIONARY IS 'Справочник статусов регистров'; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN REGISTRY_STATUS_DICTIONARY.NAME IS 'Наименование'; + +-- balanceDimension - Справочник размерностей балансов +DROP TABLE IF EXISTS BALANCE_DIMENSION_DICTIONARY; +CREATE TABLE BALANCE_DIMENSION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE BALANCE_DIMENSION_DICTIONARY IS 'Справочник размерностей балансов'; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN BALANCE_DIMENSION_DICTIONARY.NAME IS 'Размерность баланса'; + +-- accountType - Справочник типов счетов +DROP TABLE IF EXISTS ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- depoAccountType - Справочник типов депозитарных счетов +DROP TABLE IF EXISTS DEPO_ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE DEPO_ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE DEPO_ACCOUNT_TYPE_DICTIONARY IS 'Справочник типов депозитарных счетов'; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN DEPO_ACCOUNT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- clearingAccountType - Справочник типов клиринговых счетов +DROP TABLE IF EXISTS CLEARING_ACCOUNT_TYPE_DICTIONARY; +CREATE TABLE CLEARING_ACCOUNT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); +COMMENT ON TABLE CLEARING_ACCOUNT_TYPE_DICTIONARY IS 'Справочник типов клиринговых счетов'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_TYPE_DICTIONARY.NAME IS 'Наименование'; + +-- task - Справочник задач +DROP TABLE IF EXISTS TASK_DICTIONARY; +CREATE TABLE TASK_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 'Статус задачи'; + +-- dayStatus - Справочник статусов дней +DROP TABLE IF EXISTS DAY_STATUS_DICTIONARY; +CREATE TABLE DAY_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE DAY_STATUS_DICTIONARY IS 'Справочник статусов дней'; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN DAY_STATUS_DICTIONARY.NAME IS 'Статус дня'; + +-- parent - Справочник источников +DROP TABLE IF EXISTS PARENT_DICTIONARY; +CREATE TABLE PARENT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE PARENT_DICTIONARY IS 'Справочник источников'; + +COMMENT ON COLUMN PARENT_DICTIONARY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN PARENT_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN PARENT_DICTIONARY.NAME IS 'Наименование'; + +-- chargeDirection - Направление начисления комиссии +DROP TABLE IF EXISTS CHARGE_DIRECTION_DICTIONARY; +CREATE TABLE CHARGE_DIRECTION_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 varchar(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 'Способ доставки'; + +-- transactionStatus - Справочник статусов транзакций +DROP TABLE IF EXISTS TRANSACTION_STATUS_DICTIONARY; +CREATE TABLE TRANSACTION_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Статус транзакции'; + +-- clearingStatus - Справочник результатов клиринга +DROP TABLE IF EXISTS CLEARING_STATUS_DICTIONARY; +CREATE TABLE CLEARING_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Наименование'; + +-- moneyFlowSide - Направление заявки +DROP TABLE IF EXISTS MONEY_FLOW_SIDE_DICTIONARY; +CREATE TABLE MONEY_FLOW_SIDE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 varchar(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 varchar(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 varchar(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 varchar(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 'Тип лимитов'; + +-- resultStatus - Статус обработки +DROP TABLE IF EXISTS RESULT_STATUS_DICTIONARY; +CREATE TABLE RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 'Статус обработки'; + +-- managementJournalStatus - Справочник статусов журнала мониторинга и контроля +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL_STATUS_DICTIONARY; +CREATE TABLE MANAGEMENT_JOURNAL_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(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 varchar(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 varchar(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 varchar(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 varchar(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 varchar(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 varchar(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 'Наименование'; + +-- eventType - Типы изменений записей +DROP TABLE IF EXISTS EVENT_TYPE_DICTIONARY; +CREATE TABLE EVENT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50)); +COMMENT ON TABLE EVENT_TYPE_DICTIONARY IS 'Типы изменений записей'; + +COMMENT ON COLUMN EVENT_TYPE_DICTIONARY.ID IS 'Идентификатор'; + +COMMENT ON COLUMN EVENT_TYPE_DICTIONARY.CODE IS 'Код'; + +COMMENT ON COLUMN EVENT_TYPE_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), NAME varchar(250), FIRST_NAME varchar(250), LAST_NAME varchar(250), MIDDLE_NAME varchar(250), EMAIL 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 'Внешний идентификатор'; + +COMMENT ON COLUMN USER_CLS.NAME IS 'Имя и фамилия пользователя'; + +COMMENT ON COLUMN USER_CLS.FIRST_NAME IS 'Имя пользователя'; + +COMMENT ON COLUMN USER_CLS.LAST_NAME IS 'Фамилия пользователя'; + +COMMENT ON COLUMN USER_CLS.MIDDLE_NAME IS 'Отчество пользователя'; + +COMMENT ON COLUMN USER_CLS.EMAIL IS 'Email пользователя'; + + +-- 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, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, IDENTIFIER varchar(250), NAME varchar(250), FIRST_NAME varchar(250), LAST_NAME varchar(250), MIDDLE_NAME varchar(250), EMAIL 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.EVENT_TYPE 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 'Внешний идентификатор'; + +COMMENT ON COLUMN USER_CLS_HISTORY.NAME IS 'Имя и фамилия пользователя'; + +COMMENT ON COLUMN USER_CLS_HISTORY.FIRST_NAME IS 'Имя пользователя'; + +COMMENT ON COLUMN USER_CLS_HISTORY.LAST_NAME IS 'Фамилия пользователя'; + +COMMENT ON COLUMN USER_CLS_HISTORY.MIDDLE_NAME IS 'Отчество пользователя'; + +COMMENT ON COLUMN USER_CLS_HISTORY.EMAIL IS 'Email пользователя'; + +-- userRoleSession - Набор ролей +DROP TABLE IF EXISTS USER_ROLE_SESSION; +CREATE TABLE USER_ROLE_SESSION(ID bigint PRIMARY KEY, USER_ID bigint, USER_ROLE varchar(4), COMPANY_ID bigint, STATUS varchar(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_IP varchar(250), CLIENT_IP varchar(250), CONNECTION_STATE varchar(4), CLEARING_DATE date, ERROR_CODE_ID bigint, ERROR_TEXT_ID bigint); +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_IP IS 'IP адрес сервера'; + +COMMENT ON COLUMN USER_CONNECT.CLIENT_IP 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_ID IS 'Код ошибки (linked to errorCode)'; + +COMMENT ON COLUMN USER_CONNECT.ERROR_TEXT_ID 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, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, USER_ID bigint, CONNECTION_TIME timestamp, DISCONNECTION_TIME timestamp, SERVER_IP varchar(250), CLIENT_IP varchar(250), CONNECTION_STATE varchar(4), CLEARING_DATE date, ERROR_CODE_ID bigint, ERROR_TEXT_ID bigint); +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.EVENT_TYPE 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_IP IS 'IP адрес сервера'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.CLIENT_IP 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_ID IS 'Код ошибки (linked to errorCode)'; + +COMMENT ON COLUMN USER_CONNECT_HISTORY.ERROR_TEXT_ID IS 'Идентификатор полного текста ошибки (linked to errorText)'; + +-- company - Компании +DROP TABLE IF EXISTS COMPANY; +CREATE TABLE COMPANY(SHORT_NAME varchar(255), FULL_NAME varchar(255), TRADING_CODE varchar(255), CLEARING_CODE varchar(255), REGISTRATION_CODE varchar(255), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE COMPANY IS 'Компании'; + +COMMENT ON COLUMN COMPANY.SHORT_NAME IS 'Краткое наименование компании'; + +COMMENT ON COLUMN COMPANY.FULL_NAME 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.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN COMPANY.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- History log of company - Компании +DROP TABLE IF EXISTS COMPANY_HISTORY; +CREATE TABLE COMPANY_HISTORY(COMPANY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SHORT_NAME varchar(255), FULL_NAME varchar(255), TRADING_CODE varchar(255), CLEARING_CODE varchar(255), REGISTRATION_CODE varchar(255), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE COMPANY_HISTORY IS 'История изменений таблицы company'; +COMMENT ON COLUMN COMPANY_HISTORY.COMPANY_ID IS 'Идентификатор записи в таблице COMPANY'; +COMMENT ON COLUMN COMPANY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN COMPANY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN COMPANY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN COMPANY_HISTORY.SHORT_NAME IS 'Краткое наименование компании'; + +COMMENT ON COLUMN COMPANY_HISTORY.FULL_NAME IS 'Полное наименование компании'; + +COMMENT ON COLUMN COMPANY_HISTORY.TRADING_CODE IS 'Код участника торгов'; + +COMMENT ON COLUMN COMPANY_HISTORY.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN COMPANY_HISTORY.REGISTRATION_CODE IS 'Регистрационный код участника'; + +COMMENT ON COLUMN COMPANY_HISTORY.WORKFLOW_STATUS IS 'Код статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN COMPANY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COMPANY_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN COMPANY_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- companyInfo - Профили компаний +DROP TABLE IF EXISTS COMPANY_INFO; +CREATE TABLE COMPANY_INFO(COMPANY_ID bigint, CORPORATION_SOLE_TYPE varchar(4), COUNTRY_CODE varchar(4), DESCRIPTION varchar(255), PROFESSIONAL_SIGN varchar(4), LEGAL_KIND varchar(4), ORGANIZATION_TYPE varchar(4), RESIDENCE varchar(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_INFO 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.ID 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, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CORPORATION_SOLE_TYPE varchar(4), COUNTRY_CODE varchar(4), DESCRIPTION varchar(255), PROFESSIONAL_SIGN varchar(4), LEGAL_KIND varchar(4), ORGANIZATION_TYPE varchar(4), RESIDENCE varchar(4), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), ID bigint PRIMARY KEY); +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.EVENT_TYPE 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.ID IS 'Идентификатор записи'; + +-- clearingMemberCategory - Категории участника клиринга +DROP TABLE IF EXISTS CLEARING_MEMBER_CATEGORY; +CREATE TABLE CLEARING_MEMBER_CATEGORY(COMPANY_ID bigint, CLEARING_MEMBER_CATEGORY varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_MEMBER_CATEGORY 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 clearingCategory)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY.ID IS 'Идентификатор записи'; + + +-- History log of clearingMemberCategory - Категории участника клиринга +DROP TABLE IF EXISTS CLEARING_MEMBER_CATEGORY_HISTORY; +CREATE TABLE CLEARING_MEMBER_CATEGORY_HISTORY(CLEARING_MEMBER_CATEGORY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, CLEARING_MEMBER_CATEGORY varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_MEMBER_CATEGORY_HISTORY IS 'История изменений таблицы clearingMemberCategory'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.CLEARING_MEMBER_CATEGORY_ID IS 'Идентификатор записи в таблице CLEARING_MEMBER_CATEGORY'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.CLEARING_MEMBER_CATEGORY IS 'Код категории участника клиринга (linked to clearingCategory)'; + +COMMENT ON COLUMN CLEARING_MEMBER_CATEGORY_HISTORY.ID IS 'Идентификатор записи'; + +-- contact - Контакты компании +DROP TABLE IF EXISTS CONTACT; +CREATE TABLE CONTACT(COMPANY_ID bigint, CONTACT_TYPE varchar(4), CONTACT_VALUE varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE CONTACT 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 'Значение контакта'; + +COMMENT ON COLUMN CONTACT.ID IS 'Идентификатор записи'; + +-- profileDocument - Досье компании +DROP TABLE IF EXISTS PROFILE_DOCUMENT; +CREATE TABLE PROFILE_DOCUMENT(COMPANY_ID bigint, DOCUMENT_TYPE varchar(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), ID bigint PRIMARY KEY); +COMMENT ON TABLE PROFILE_DOCUMENT 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 'Ссылка на документ'; + +COMMENT ON COLUMN PROFILE_DOCUMENT.ID IS 'Идентификатор записи'; + + +-- History log of profileDocument - Досье компании +DROP TABLE IF EXISTS PROFILE_DOCUMENT_HISTORY; +CREATE TABLE PROFILE_DOCUMENT_HISTORY(PROFILE_DOCUMENT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, DOCUMENT_TYPE varchar(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), ID bigint PRIMARY KEY); +COMMENT ON TABLE PROFILE_DOCUMENT_HISTORY IS 'История изменений таблицы profileDocument'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.PROFILE_DOCUMENT_ID IS 'Идентификатор записи в таблице PROFILE_DOCUMENT'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.DOCUMENT_TYPE IS 'Код типа документа (linked to documentType)'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUE_DATE IS 'Дата выдачи'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUE_PLACE IS 'Место выдачи'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUER IS 'Кем выдан'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ISSUER_CODE IS 'Код выдавшего органа'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.NAME IS 'Наименование документа'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.NUMBER IS 'Номер документа'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.PLACE IS 'Место'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.VALID_FROM_DATE IS 'Дата начала срока действия'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.VALID_TO_DATE IS 'Дата окончания срока действия'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.LINK IS 'Ссылка на документ'; + +COMMENT ON COLUMN PROFILE_DOCUMENT_HISTORY.ID IS 'Идентификатор записи'; + +-- companySymbols - Реквизиты компании +DROP TABLE IF EXISTS COMPANY_SYMBOLS; +CREATE TABLE COMPANY_SYMBOLS(COMPANY_ID bigint, COMPANY_SYMBOL varchar(4), COMPANY_SYMBOL_VALUE varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_SYMBOLS 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 'Значение реквизита'; + +COMMENT ON COLUMN COMPANY_SYMBOLS.ID IS 'Идентификатор записи'; + + +-- History log of companySymbols - Реквизиты компании +DROP TABLE IF EXISTS COMPANY_SYMBOLS_HISTORY; +CREATE TABLE COMPANY_SYMBOLS_HISTORY(COMPANY_SYMBOLS_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, COMPANY_SYMBOL varchar(4), COMPANY_SYMBOL_VALUE varchar(255), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_SYMBOLS_HISTORY IS 'История изменений таблицы companySymbols'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOLS_ID IS 'Идентификатор записи в таблице COMPANY_SYMBOLS'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOL IS 'Код типа реквизита (linked to companySymbol)'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.COMPANY_SYMBOL_VALUE IS 'Значение реквизита'; + +COMMENT ON COLUMN COMPANY_SYMBOLS_HISTORY.ID IS 'Идентификатор записи'; + +-- companyRoleSet - Таблица ролей компании +DROP TABLE IF EXISTS COMPANY_ROLE_SET; +CREATE TABLE COMPANY_ROLE_SET(COMPANY_ID bigint, COMPANY_ROLE varchar(4), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE COMPANY_ROLE_SET IS 'Таблица ролей компании'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.COMPANY_ROLE IS 'Код роли компании (linked to companyRole)'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.WORKFLOW_STATUS IS 'Код статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN COMPANY_ROLE_SET.ID IS 'Идентификатор записи'; + +-- security - Инструменты +DROP TABLE IF EXISTS SECURITY; +CREATE TABLE SECURITY(INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, UUID varchar(255), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE SECURITY 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.ISIN IS 'Наименование инструмента ISIN'; + +COMMENT ON COLUMN SECURITY.WORKFLOW_STATUS IS 'Код статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN SECURITY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SECURITY.UUID IS 'Идентификатор во внешней системе'; + +COMMENT ON COLUMN SECURITY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN SECURITY.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- 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, EVENT_TYPE VARCHAR(4), INSTRUMENT_TYPE varchar(4), ISSUER_ID bigint, SHORT_NAME varchar(255), FULL_NAME varchar(255), SHORT_NAME_ENG varchar(255), FULL_NAME_ENG varchar(255), SECURITY_SYMBOL varchar(255), ISIN varchar(50), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, UUID varchar(255), CREATED_AT timestamp, UPDATED_AT timestamp); +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.EVENT_TYPE 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.ISIN IS 'Наименование инструмента ISIN'; + +COMMENT ON COLUMN SECURITY_HISTORY.WORKFLOW_STATUS IS 'Код статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN SECURITY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN SECURITY_HISTORY.UUID IS 'Идентификатор во внешней системе'; + +COMMENT ON COLUMN SECURITY_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN SECURITY_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- currency - Валюты +DROP TABLE IF EXISTS CURRENCY; +CREATE TABLE CURRENCY(COUNTRY_CODE varchar(4), CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE CURRENCY IS 'Валюты'; + +COMMENT ON COLUMN CURRENCY.COUNTRY_CODE IS 'Код страны (linked to countryCode)'; + +COMMENT ON COLUMN CURRENCY.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)'; + +COMMENT ON COLUMN CURRENCY.ID IS 'Идентификатор записи'; + + +-- 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, EVENT_TYPE VARCHAR(4), COUNTRY_CODE varchar(4), CURRENCY_CODE varchar(4), ID bigint PRIMARY KEY); +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.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN CURRENCY_HISTORY.COUNTRY_CODE IS 'Код страны (linked to countryCode)'; + +COMMENT ON COLUMN CURRENCY_HISTORY.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)'; + +COMMENT ON COLUMN CURRENCY_HISTORY.ID IS 'Идентификатор записи'; + +-- moneyMarketSecurity - Инструменты Денежного рынка +DROP TABLE IF EXISTS MONEY_MARKET_SECURITY; +CREATE TABLE MONEY_MARKET_SECURITY(SECURITY_ID bigint, DESCRIPTION varchar(255), START_DATE date, END_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), TERM_TYPE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE MONEY_MARKET_SECURITY 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.TERM_TYPE IS 'Код вида инструмента (linked to termType)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY.ID IS 'Идентификатор записи'; + + +-- 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, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, DESCRIPTION varchar(255), START_DATE date, END_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), TERM_TYPE varchar(4), ID bigint PRIMARY KEY); +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.EVENT_TYPE 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.TERM_TYPE IS 'Код вида инструмента (linked to termType)'; + +COMMENT ON COLUMN MONEY_MARKET_SECURITY_HISTORY.ID IS 'Идентификатор записи'; + +-- equitySecurity - Акции +DROP TABLE IF EXISTS EQUITY_SECURITY; +CREATE TABLE EQUITY_SECURITY(SECURITY_ID bigint, SHARE_TYPE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE EQUITY_SECURITY IS 'Акции'; + +COMMENT ON COLUMN EQUITY_SECURITY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN EQUITY_SECURITY.SHARE_TYPE IS 'Код типа акции (linked to shareType)'; + +COMMENT ON COLUMN EQUITY_SECURITY.ID IS 'Идентификатор записи'; + + +-- History log of equitySecurity - Акции +DROP TABLE IF EXISTS EQUITY_SECURITY_HISTORY; +CREATE TABLE EQUITY_SECURITY_HISTORY(EQUITY_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, SHARE_TYPE varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE EQUITY_SECURITY_HISTORY IS 'История изменений таблицы equitySecurity'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EQUITY_SECURITY_ID IS 'Идентификатор записи в таблице EQUITY_SECURITY'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.SHARE_TYPE IS 'Код типа акции (linked to shareType)'; + +COMMENT ON COLUMN EQUITY_SECURITY_HISTORY.ID IS 'Идентификатор записи'; + +-- fixedIncomeSecurity - Облигации +DROP TABLE IF EXISTS FIXED_INCOME_SECURITY; +CREATE TABLE FIXED_INCOME_SECURITY(SECURITY_ID bigint, BOND_TYPE varchar(4), MATURITY_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), COUPON numeric(72,18), COUPON_FREQUENCY bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_SECURITY IS 'Облигации'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.BOND_TYPE IS 'Код типа облигации (linked to bondType)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.MATURITY_DATE IS 'Дата погашения'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.NOMINAL_VALUE IS 'Номинал'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.NOMINAL_CURRENCY IS 'Код валюты номинала (linked to currencyCode)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.COUPON IS 'Купон'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.COUPON_FREQUENCY IS 'Длительность купона'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY.ID IS 'Идентификатор записи'; + + +-- History log of fixedIncomeSecurity - Облигации +DROP TABLE IF EXISTS FIXED_INCOME_SECURITY_HISTORY; +CREATE TABLE FIXED_INCOME_SECURITY_HISTORY(FIXED_INCOME_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, BOND_TYPE varchar(4), MATURITY_DATE date, NOMINAL_VALUE numeric(72,18), NOMINAL_CURRENCY varchar(4), COUPON numeric(72,18), COUPON_FREQUENCY bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_SECURITY_HISTORY IS 'История изменений таблицы fixedIncomeSecurity'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.FIXED_INCOME_SECURITY_ID IS 'Идентификатор записи в таблице FIXED_INCOME_SECURITY'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.BOND_TYPE IS 'Код типа облигации (linked to bondType)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.MATURITY_DATE IS 'Дата погашения'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.NOMINAL_VALUE IS 'Номинал'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.NOMINAL_CURRENCY IS 'Код валюты номинала (linked to currencyCode)'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.COUPON IS 'Купон'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.COUPON_FREQUENCY IS 'Длительность купона'; + +COMMENT ON COLUMN FIXED_INCOME_SECURITY_HISTORY.ID IS 'Идентификатор записи'; + +-- fixedIncomeCashFlow - Выплаты по купонам +DROP TABLE IF EXISTS FIXED_INCOME_CASH_FLOW; +CREATE TABLE FIXED_INCOME_CASH_FLOW(SECURITY_ID bigint, ACCRUED_COUPON numeric(72,2), NOMINAL_VALUE numeric(72,18), NUMBER bigint, VALUE_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_CASH_FLOW IS 'Выплаты по купонам'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.ACCRUED_COUPON IS 'Купон'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.NOMINAL_VALUE IS 'Номинал'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.NUMBER IS 'Номер купона'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.VALUE_DATE IS 'Дата выплаты купона'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW.ID IS 'Идентификатор записи'; + + +-- History log of fixedIncomeCashFlow - Выплаты по купонам +DROP TABLE IF EXISTS FIXED_INCOME_CASH_FLOW_HISTORY; +CREATE TABLE FIXED_INCOME_CASH_FLOW_HISTORY(FIXED_INCOME_CASH_FLOW_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, ACCRUED_COUPON numeric(72,2), NOMINAL_VALUE numeric(72,18), NUMBER bigint, VALUE_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE FIXED_INCOME_CASH_FLOW_HISTORY IS 'История изменений таблицы fixedIncomeCashFlow'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.FIXED_INCOME_CASH_FLOW_ID IS 'Идентификатор записи в таблице FIXED_INCOME_CASH_FLOW'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.ACCRUED_COUPON IS 'Купон'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.NOMINAL_VALUE IS 'Номинал'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.NUMBER IS 'Номер купона'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.VALUE_DATE IS 'Дата выплаты купона'; + +COMMENT ON COLUMN FIXED_INCOME_CASH_FLOW_HISTORY.ID IS 'Идентификатор записи'; + +-- couponPeriod - Купонное расписание +DROP TABLE IF EXISTS COUPON_PERIOD; +CREATE TABLE COUPON_PERIOD(SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE COUPON_PERIOD IS 'Купонное расписание'; + +COMMENT ON COLUMN COUPON_PERIOD.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN COUPON_PERIOD.COUPON_RATE IS 'Купонная ставка'; + +COMMENT ON COLUMN COUPON_PERIOD.NUMBER IS 'Номер купона'; + +COMMENT ON COLUMN COUPON_PERIOD.PERIOD_END_DATE IS 'Начало периода действия'; + +COMMENT ON COLUMN COUPON_PERIOD.PERIOD_START_DATE IS 'Окончание периода действия'; + +COMMENT ON COLUMN COUPON_PERIOD.ID IS 'Идентификатор записи'; + + +-- History log of couponPeriod - Купонное расписание +DROP TABLE IF EXISTS COUPON_PERIOD_HISTORY; +CREATE TABLE COUPON_PERIOD_HISTORY(COUPON_PERIOD_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, COUPON_RATE numeric(72,2), NUMBER bigint, PERIOD_END_DATE date, PERIOD_START_DATE date, ID bigint PRIMARY KEY); +COMMENT ON TABLE COUPON_PERIOD_HISTORY IS 'История изменений таблицы couponPeriod'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_PERIOD_ID IS 'Идентификатор записи в таблице COUPON_PERIOD'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.COUPON_RATE IS 'Купонная ставка'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.NUMBER IS 'Номер купона'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_END_DATE IS 'Начало периода действия'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.PERIOD_START_DATE IS 'Окончание периода действия'; + +COMMENT ON COLUMN COUPON_PERIOD_HISTORY.ID IS 'Идентификатор записи'; + +-- listing - Листинг инструментов +DROP TABLE IF EXISTS LISTING; +CREATE TABLE LISTING(SECURITY_ID bigint, LOT_SIZE numeric(72,2), MARKET varchar(4), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE LISTING 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 currencyCode)'; + +COMMENT ON COLUMN LISTING.WORKFLOW_STATUS IS 'Код статуса листинга в системе (linked to workflowStatus)'; + +COMMENT ON COLUMN LISTING.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LISTING.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN LISTING.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- History log of listing - Листинг инструментов +DROP TABLE IF EXISTS LISTING_HISTORY; +CREATE TABLE LISTING_HISTORY(LISTING_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), SECURITY_ID bigint, LOT_SIZE numeric(72,2), MARKET varchar(4), SYMBOL_CODE varchar(255), SYMBOL_NAME varchar(255), TRADING_CURRENCY varchar(4), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +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.EVENT_TYPE 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 currencyCode)'; + +COMMENT ON COLUMN LISTING_HISTORY.WORKFLOW_STATUS IS 'Код статуса листинга в системе (linked to workflowStatus)'; + +COMMENT ON COLUMN LISTING_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LISTING_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN LISTING_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- market - Торговые секции +DROP TABLE IF EXISTS MARKET; +CREATE TABLE MARKET(DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), CODE varchar(4), SETTLEMENT_CURRENCY varchar(4), SECTION varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE MARKET 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 currencyCode)'; + +COMMENT ON COLUMN MARKET.SECTION IS 'Код секции (linked to section)'; + +COMMENT ON COLUMN MARKET.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MARKET.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN MARKET.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- 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, EVENT_TYPE VARCHAR(4), DESCRIPTION varchar(255), EXCHANGE_ID bigint, NAME varchar(255), CODE varchar(4), SETTLEMENT_CURRENCY varchar(4), SECTION varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +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.EVENT_TYPE 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 currencyCode)'; + +COMMENT ON COLUMN MARKET_HISTORY.SECTION IS 'Код секции (linked to section)'; + +COMMENT ON COLUMN MARKET_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MARKET_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN MARKET_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- errorText - Полные тексты ошибок +DROP TABLE IF EXISTS ERROR_TEXT; +CREATE TABLE ERROR_TEXT(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, ERROR_CODE_ID bigint, 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_ID 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 'Текущая дата'; + +-- clientCode - Коды клиентов компании +DROP TABLE IF EXISTS CLIENT_CODE; +CREATE TABLE CLIENT_CODE(ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLIENT_CODE IS 'Коды клиентов компании'; + +COMMENT ON COLUMN CLIENT_CODE.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLIENT_CODE.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLIENT_CODE.CODE IS 'Код клиента'; + +COMMENT ON COLUMN CLIENT_CODE.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN CLIENT_CODE.MONEY_ACCOUNT_ID IS 'Идентификатор денежного счета (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE.DEPO_ACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE.STATUS IS 'Код статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN CLIENT_CODE.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN CLIENT_CODE.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- History log of clientCode - Коды клиентов компании +DROP TABLE IF EXISTS CLIENT_CODE_HISTORY; +CREATE TABLE CLIENT_CODE_HISTORY(CLIENT_CODE_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), TRADING_CLEARING_REGISTRY_ID bigint, MONEY_ACCOUNT_ID bigint, DEPO_ACCOUNT_ID bigint, STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLIENT_CODE_HISTORY IS 'История изменений таблицы clientCode'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CLIENT_CODE_ID IS 'Идентификатор записи в таблице CLIENT_CODE'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN CLIENT_CODE_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CODE IS 'Код клиента'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.MONEY_ACCOUNT_ID IS 'Идентификатор денежного счета (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.DEPO_ACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.STATUS IS 'Код статуса (linked to workflowStatus)'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN CLIENT_CODE_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- tradingClearingRegistry - Торгово-клиринговый регистр +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY; +CREATE TABLE TRADING_CLEARING_REGISTRY(ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), MONEY_ACCOUNT_ID bigint, DEPO_AACCOUNT_ID bigint, TRADING_CLEARING_REGISTRY_TYPE varchar(4), TRADING_CLEARING_REGISTRY_LEVEL varchar(4), TRADING_CLEARING_REGISTRY_PURPOSE varchar(4), STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.CODE IS 'Код торгово-клирингового регистра'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.MONEY_ACCOUNT_ID IS 'Идентификатор денежного счета (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.DEPO_AACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_TYPE IS 'Код торгово-клирингового регистра (linked to tradingClearingRegistryType)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_LEVEL IS 'Код торгово-клирингового регистра (linked to tradingClearingRegistryLevel)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.TRADING_CLEARING_REGISTRY_PURPOSE IS 'Код области применения (linked to tradingClearingRegistryPurpose)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.STATUS IS 'Код статуса (linked to serviceStatus)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- History log of tradingClearingRegistry - Торгово-клиринговый регистр +DROP TABLE IF EXISTS TRADING_CLEARING_REGISTRY_HISTORY; +CREATE TABLE TRADING_CLEARING_REGISTRY_HISTORY(TRADING_CLEARING_REGISTRY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, CODE varchar(255), MONEY_ACCOUNT_ID bigint, DEPO_AACCOUNT_ID bigint, TRADING_CLEARING_REGISTRY_TYPE varchar(4), TRADING_CLEARING_REGISTRY_LEVEL varchar(4), TRADING_CLEARING_REGISTRY_PURPOSE varchar(4), STATUS varchar(4), CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE TRADING_CLEARING_REGISTRY_HISTORY IS 'История изменений таблицы tradingClearingRegistry'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор записи в таблице TRADING_CLEARING_REGISTRY'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.CODE IS 'Код торгово-клирингового регистра'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.MONEY_ACCOUNT_ID IS 'Идентификатор денежного счета (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.DEPO_AACCOUNT_ID IS 'Идентификатор депозитарного счета (linked to account)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_TYPE IS 'Код торгово-клирингового регистра (linked to tradingClearingRegistryType)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_LEVEL IS 'Код торгово-клирингового регистра (linked to tradingClearingRegistryLevel)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_PURPOSE IS 'Код области применения (linked to tradingClearingRegistryPurpose)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.STATUS IS 'Код статуса (linked to serviceStatus)'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN TRADING_CLEARING_REGISTRY_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- registry - Регистр активов, обязательств и требований УК +DROP TABLE IF EXISTS REGISTRY; +CREATE TABLE REGISTRY(COMPANY_ID bigint, TRADING_CODE varchar(255), CLEARING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), REGISTRY_DESIGNATION varchar(4), REGISTRY_INSTRUMENT_TYPE varchar(4), REGISTRY_CAPACITY varchar(4), REGISTRY_UNIT varchar(4), REGISTRY_CODE varchar(4), TRADING_CLEARING_REGISTRY_ID bigint, TRADING_CLEARING_REGISTRY varchar(50), REGISTRY_STATUS varchar(4), SECURITY_ID bigint, BALANCE numeric(72,18), OPEN_BALANCE numeric(72,18), CLOSE_BALANCE numeric(72,18), CREDIT numeric(72,18), DEBIT numeric(72,18), SETTLED_CREDIT numeric(72,18), SETTLED_DEBIT numeric(72,18), CHECK_BALANCE numeric(72,18), DIFF_BALANCE numeric(72,18), PLAN_BALANCE numeric(72,18), BALANCE_DIMENSION varchar(4), SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), TRADING_DATE date, CLEARING_DATE date, REFUND_DATE date, VALUE_DATE date, PRICE numeric(72,18), CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COMMENT varchar(255), PARENT_ID bigint, GROUP_ID bigint, SESSION_ID bigint, PAYMENT_ID bigint, REFUND_PAYMENT_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE REGISTRY IS 'Регистр активов, обязательств и требований УК'; + +COMMENT ON COLUMN REGISTRY.COMPANY_ID IS 'Идентификатор участника (linked to company)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CODE IS 'Торговый код участника'; + +COMMENT ON COLUMN REGISTRY.CLEARING_CODE IS 'Клиринговый код участника'; + +COMMENT ON COLUMN REGISTRY.SHORT_NAME IS 'Краткое наименование компании'; + +COMMENT ON COLUMN REGISTRY.FULL_NAME IS 'Полное наименование участника'; + +COMMENT ON COLUMN REGISTRY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN REGISTRY.ACCOUNT_TYPE IS 'Код типа счета (linked to accountType)'; + +COMMENT ON COLUMN REGISTRY.ACCOUNT IS 'Номер счета'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_DESIGNATION IS 'Код назначения (linked to registryDesignation)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_INSTRUMENT_TYPE IS 'Код типа инструмента (linked to registryInstrumentType)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_CAPACITY IS 'Код принадлежности регистра (linked to registryCapacity)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_UNIT IS 'Код части регистра (linked to registryUnit)'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_CODE IS 'Код регистра (linked to registryCode)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN REGISTRY.TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр'; + +COMMENT ON COLUMN REGISTRY.REGISTRY_STATUS IS 'Код статуса (linked to registryStatus)'; + +COMMENT ON COLUMN REGISTRY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN REGISTRY.BALANCE IS 'Текущий баланс'; + +COMMENT ON COLUMN REGISTRY.OPEN_BALANCE IS 'Начальная сумма после расчетной организации'; + +COMMENT ON COLUMN REGISTRY.CLOSE_BALANCE IS 'Конечная сумма остатков ден. средств на счете'; + +COMMENT ON COLUMN REGISTRY.CREDIT IS 'Зачисления'; + +COMMENT ON COLUMN REGISTRY.DEBIT IS 'Списания'; + +COMMENT ON COLUMN REGISTRY.SETTLED_CREDIT IS 'Зачисления по расчетам'; + +COMMENT ON COLUMN REGISTRY.SETTLED_DEBIT IS 'Списания по расчетам'; + +COMMENT ON COLUMN REGISTRY.CHECK_BALANCE IS 'Сверочный баланс'; + +COMMENT ON COLUMN REGISTRY.DIFF_BALANCE IS 'Расхождение в балансе'; + +COMMENT ON COLUMN REGISTRY.PLAN_BALANCE IS 'Плановый баланс'; + +COMMENT ON COLUMN REGISTRY.BALANCE_DIMENSION IS 'Код единицы измерения (linked to balanceDimension)'; + +COMMENT ON COLUMN REGISTRY.SETTLEMENT_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN REGISTRY.SETTLEMENT_CODE IS 'Код расчетов при размещении'; + +COMMENT ON COLUMN REGISTRY.TRADING_DATE IS 'Дата торгов'; + +COMMENT ON COLUMN REGISTRY.CLEARING_DATE IS 'Дата клиринга'; + +COMMENT ON COLUMN REGISTRY.REFUND_DATE IS 'Дата возврата депозита'; + +COMMENT ON COLUMN REGISTRY.VALUE_DATE IS 'Дата оплаты вклада депозита'; + +COMMENT ON COLUMN REGISTRY.PRICE IS 'Ставка по депозиту'; + +COMMENT ON COLUMN REGISTRY.CONTRACT IS 'Продукт'; + +COMMENT ON COLUMN REGISTRY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера (linked to company)'; + +COMMENT ON COLUMN REGISTRY.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN REGISTRY.PARENT_ID IS 'Идентификатор родительского депозита'; + +COMMENT ON COLUMN REGISTRY.GROUP_ID IS 'Идентификатор группы связанных регистров'; + +COMMENT ON COLUMN REGISTRY.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)'; + +COMMENT ON COLUMN REGISTRY.PAYMENT_ID IS 'Идентификатор платежа'; + +COMMENT ON COLUMN REGISTRY.REFUND_PAYMENT_ID IS 'Идентификатор обратного платежа'; + +COMMENT ON COLUMN REGISTRY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN REGISTRY.UPDATED_AT IS 'Дата и время изменения записи'; + + +-- History log of registry - Регистр активов, обязательств и требований УК +DROP TABLE IF EXISTS REGISTRY_HISTORY; +CREATE TABLE REGISTRY_HISTORY(REGISTRY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), COMPANY_ID bigint, TRADING_CODE varchar(255), CLEARING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), REGISTRY_DESIGNATION varchar(4), REGISTRY_INSTRUMENT_TYPE varchar(4), REGISTRY_CAPACITY varchar(4), REGISTRY_UNIT varchar(4), REGISTRY_CODE varchar(4), TRADING_CLEARING_REGISTRY_ID bigint, TRADING_CLEARING_REGISTRY varchar(50), REGISTRY_STATUS varchar(4), SECURITY_ID bigint, BALANCE numeric(72,18), OPEN_BALANCE numeric(72,18), CLOSE_BALANCE numeric(72,18), CREDIT numeric(72,18), DEBIT numeric(72,18), SETTLED_CREDIT numeric(72,18), SETTLED_DEBIT numeric(72,18), CHECK_BALANCE numeric(72,18), DIFF_BALANCE numeric(72,18), PLAN_BALANCE numeric(72,18), BALANCE_DIMENSION varchar(4), SETTLEMENT_DATE date, SETTLEMENT_CODE varchar(12), TRADING_DATE date, CLEARING_DATE date, REFUND_DATE date, VALUE_DATE date, PRICE numeric(72,18), CONTRACT varchar(255), COUNTER_PARTY_ID bigint, COMMENT varchar(255), PARENT_ID bigint, GROUP_ID bigint, SESSION_ID bigint, PAYMENT_ID bigint, REFUND_PAYMENT_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE REGISTRY_HISTORY IS 'История изменений таблицы registry'; +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_ID IS 'Идентификатор записи в таблице REGISTRY'; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN REGISTRY_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN REGISTRY_HISTORY.COMPANY_ID IS 'Идентификатор участника (linked to company)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CODE IS 'Торговый код участника'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLEARING_CODE IS 'Клиринговый код участника'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SHORT_NAME IS 'Краткое наименование компании'; + +COMMENT ON COLUMN REGISTRY_HISTORY.FULL_NAME IS 'Полное наименование участника'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT_TYPE IS 'Код типа счета (linked to accountType)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ACCOUNT IS 'Номер счета'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_DESIGNATION IS 'Код назначения (linked to registryDesignation)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_INSTRUMENT_TYPE IS 'Код типа инструмента (linked to registryInstrumentType)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_CAPACITY IS 'Код принадлежности регистра (linked to registryCapacity)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_UNIT IS 'Код части регистра (linked to registryUnit)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_CODE IS 'Код регистра (linked to registryCode)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY_ID IS 'Идентификатор торгово-клирингового регистра (linked to tradingClearingRegistry)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_CLEARING_REGISTRY IS 'Торгово-клиринговый регистр'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REGISTRY_STATUS IS 'Код статуса (linked to registryStatus)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.BALANCE IS 'Текущий баланс'; + +COMMENT ON COLUMN REGISTRY_HISTORY.OPEN_BALANCE IS 'Начальная сумма после расчетной организации'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLOSE_BALANCE IS 'Конечная сумма остатков ден. средств на счете'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CREDIT IS 'Зачисления'; + +COMMENT ON COLUMN REGISTRY_HISTORY.DEBIT IS 'Списания'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLED_CREDIT IS 'Зачисления по расчетам'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLED_DEBIT IS 'Списания по расчетам'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CHECK_BALANCE IS 'Сверочный баланс'; + +COMMENT ON COLUMN REGISTRY_HISTORY.DIFF_BALANCE IS 'Расхождение в балансе'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PLAN_BALANCE IS 'Плановый баланс'; + +COMMENT ON COLUMN REGISTRY_HISTORY.BALANCE_DIMENSION IS 'Код единицы измерения (linked to balanceDimension)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLEMENT_DATE IS 'Дата расчета'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SETTLEMENT_CODE IS 'Код расчетов при размещении'; + +COMMENT ON COLUMN REGISTRY_HISTORY.TRADING_DATE IS 'Дата торгов'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CLEARING_DATE IS 'Дата клиринга'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REFUND_DATE IS 'Дата возврата депозита'; + +COMMENT ON COLUMN REGISTRY_HISTORY.VALUE_DATE IS 'Дата оплаты вклада депозита'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PRICE IS 'Ставка по депозиту'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CONTRACT IS 'Продукт'; + +COMMENT ON COLUMN REGISTRY_HISTORY.COUNTER_PARTY_ID IS 'Идентификатор компании-партнера (linked to company)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PARENT_ID IS 'Идентификатор родительского депозита'; + +COMMENT ON COLUMN REGISTRY_HISTORY.GROUP_ID IS 'Идентификатор группы связанных регистров'; + +COMMENT ON COLUMN REGISTRY_HISTORY.SESSION_ID IS 'Идентификатор клиринговой сессии (linked to session)'; + +COMMENT ON COLUMN REGISTRY_HISTORY.PAYMENT_ID IS 'Идентификатор платежа'; + +COMMENT ON COLUMN REGISTRY_HISTORY.REFUND_PAYMENT_ID IS 'Идентификатор обратного платежа'; + +COMMENT ON COLUMN REGISTRY_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REGISTRY_HISTORY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN REGISTRY_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; + +-- account - Счета +DROP TABLE IF EXISTS ACCOUNT; +CREATE TABLE ACCOUNT(ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE ACCOUNT 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.STATUS IS 'Код статуса (linked to serviceStatus)'; + +COMMENT ON COLUMN ACCOUNT.PROCESSING_SIGN IS 'Код признака обработки счета (linked to allowed)'; + +COMMENT ON COLUMN ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN ACCOUNT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN ACCOUNT.UPDATED_AT IS 'Дата-время изменения записи'; + + +-- History log of account - Счета +DROP TABLE IF EXISTS ACCOUNT_HISTORY; +CREATE TABLE ACCOUNT_HISTORY(ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), RELATION_ID bigint, STATUS varchar(4), PROCESSING_SIGN varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +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.EVENT_TYPE 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.STATUS IS 'Код статуса (linked to serviceStatus)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.PROCESSING_SIGN IS 'Код признака обработки счета (linked to allowed)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN ACCOUNT_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- relation - Доступ в секцию +DROP TABLE IF EXISTS RELATION; +CREATE TABLE RELATION(CONSUMER_ID bigint, SUPPLIER_ID bigint, SERVICE_STATUS varchar(4), SERVICE varchar(4), SERVICE_PRODUCT varchar(4), COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE RELATION 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 serviceStatus)'; + +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 'Текст причины'; + +COMMENT ON COLUMN RELATION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN RELATION.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN RELATION.UPDATED_AT 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, EVENT_TYPE VARCHAR(4), CONSUMER_ID bigint, SUPPLIER_ID bigint, SERVICE_STATUS varchar(4), SERVICE varchar(4), SERVICE_PRODUCT varchar(4), COMMENT varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +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.EVENT_TYPE 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 serviceStatus)'; + +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 'Текст причины'; + +COMMENT ON COLUMN RELATION_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN RELATION_HISTORY.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN RELATION_HISTORY.UPDATED_AT IS 'Дата-время изменения записи'; + +-- bankAccount - Счета вывода средств из ПРЦ +DROP TABLE IF EXISTS BANK_ACCOUNT; +CREATE TABLE BANK_ACCOUNT(ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE BANK_ACCOUNT 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 'Номер счета'; + +COMMENT ON COLUMN BANK_ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN BANK_ACCOUNT.ID 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, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, BANK_IDENTIFICATION_CODE varchar(255), BANK_NAME varchar(255), CORRESPONDENT_ACCOUNT varchar(255), CORRESPONDENT_ACCOUNT_NAME varchar(255), CURRENCY varchar(4), DESTINATION varchar(255), IBAN varchar(255), INTERNATIONAL_TRANSFER_SIGN varchar(4), SWIFT_CODE varchar(255), TAXPAYER_IDENTIFICATION_NUMBER varchar(255), TAX_REGISTRATION_REASON_CODE varchar(255), ACCOUNT varchar(50), COMPANY_ID bigint, ID bigint PRIMARY KEY); +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.EVENT_TYPE 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 'Номер счета'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN BANK_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +-- informationAccount - Регистры +DROP TABLE IF EXISTS INFORMATION_ACCOUNT; +CREATE TABLE INFORMATION_ACCOUNT(ACCOUNT_ID bigint, CLEARING_ACCOUNT_ID bigint, COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE INFORMATION_ACCOUNT IS 'Регистры'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.ACCOUNT_ID IS 'Идентификатор информационного счета (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.CLEARING_ACCOUNT_ID IS 'Идентификатор аналитического счета (linked to account)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT.ID IS 'Идентификатор записи'; + + +-- 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, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, CLEARING_ACCOUNT_ID bigint, COMPANY_ID bigint, ID bigint PRIMARY KEY); +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.EVENT_TYPE 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)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN INFORMATION_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +-- depoAccount - Депозитарные счета +DROP TABLE IF EXISTS DEPO_ACCOUNT; +CREATE TABLE DEPO_ACCOUNT(ACCOUNT_ID bigint, DEPO_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE DEPO_ACCOUNT IS 'Депозитарные счета'; + +COMMENT ON COLUMN DEPO_ACCOUNT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.DEPO_ACCOUNT_TYPE IS 'Код типа счета (linked to depoAccountType)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN DEPO_ACCOUNT.ID IS 'Идентификатор записи'; + + +-- History log of depoAccount - Депозитарные счета +DROP TABLE IF EXISTS DEPO_ACCOUNT_HISTORY; +CREATE TABLE DEPO_ACCOUNT_HISTORY(DEPO_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, DEPO_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE DEPO_ACCOUNT_HISTORY IS 'История изменений таблицы depoAccount'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.DEPO_ACCOUNT_ID IS 'Идентификатор записи в таблице DEPO_ACCOUNT'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.DEPO_ACCOUNT_TYPE IS 'Код типа счета (linked to depoAccountType)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN DEPO_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +-- clearingAccount - Торгово-Банковские счета +DROP TABLE IF EXISTS CLEARING_ACCOUNT; +CREATE TABLE CLEARING_ACCOUNT(ACCOUNT_ID bigint, CLEARING_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_ACCOUNT IS 'Торгово-Банковские счета'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.CLEARING_ACCOUNT_TYPE IS 'Код типа счета (linked to clearingAccountType)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT.ID IS 'Идентификатор записи'; + + +-- History log of clearingAccount - Торгово-Банковские счета +DROP TABLE IF EXISTS CLEARING_ACCOUNT_HISTORY; +CREATE TABLE CLEARING_ACCOUNT_HISTORY(CLEARING_ACCOUNT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ACCOUNT_ID bigint, CLEARING_ACCOUNT_TYPE varchar(4), COMPANY_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE CLEARING_ACCOUNT_HISTORY IS 'История изменений таблицы clearingAccount'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.CLEARING_ACCOUNT_ID IS 'Идентификатор записи в таблице CLEARING_ACCOUNT'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.ACCOUNT_ID IS 'Идентификатор счета (linked to account)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.CLEARING_ACCOUNT_TYPE IS 'Код типа счета (linked to clearingAccountType)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLEARING_ACCOUNT_HISTORY.ID IS 'Идентификатор записи'; + +-- sDf51 - ДФ-51 Запрос остатков по всем счетам +DROP TABLE IF EXISTS S_DF51; +CREATE TABLE S_DF51(ID bigint PRIMARY KEY, NUMBER varchar(10), DATETIME varchar(13), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF51 IS 'ДФ-51 Запрос остатков по всем счетам'; + +COMMENT ON COLUMN S_DF51.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF51.NUMBER IS 'Номер запроса остатков по счетам'; + +COMMENT ON COLUMN S_DF51.DATETIME IS 'Дата и время сообщения'; + +COMMENT ON COLUMN S_DF51.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF51.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf52 - ДФ-52 Из ПРЦ в КС Информация о состоянии счета (блокировка/разблокировка/закрытие/открытие) +DROP TABLE IF EXISTS S_DF52; +CREATE TABLE S_DF52(ID bigint PRIMARY KEY, ACCOUNT varchar(25), ACC_NAME varchar(30), DEAL varchar(4), DATE varchar, STATUS bigint, FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); +COMMENT ON TABLE S_DF52 IS 'ДФ-52 Из ПРЦ в КС Информация о состоянии счета (блокировка/разблокировка/закрытие/открытие)'; + +COMMENT ON COLUMN S_DF52.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF52.ACCOUNT IS 'Код счета участника клиринга'; + +COMMENT ON COLUMN S_DF52.ACC_NAME IS 'Наименование участника клиринга'; + +COMMENT ON COLUMN S_DF52.DEAL IS 'Биржевой код участника клиринга'; + +COMMENT ON COLUMN S_DF52.DATE IS 'Дата изменения состояния счета'; + +COMMENT ON COLUMN S_DF52.STATUS IS 'Статус счета'; + +COMMENT ON COLUMN S_DF52.FILE_NAME IS 'Наименование входящего файла'; + +COMMENT ON COLUMN S_DF52.GENERATION_TIME IS 'Дата и время обработки файла'; + +COMMENT ON COLUMN S_DF52.GENERATION_ID IS 'Идентификатор взаимодействия'; + +-- sDf53 - ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие) +DROP TABLE IF EXISTS S_DF53; +CREATE TABLE S_DF53(ID bigint PRIMARY KEY, ACCOUNT varchar(25), DEAL varchar(4), STATUS bigint, RESULT numeric(72,18), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF_ID bigint); +COMMENT ON TABLE S_DF53 IS 'ДФ-53 Квитанция о получении информации о состоянии счета (блокировка/разблокировка/закрытие/открытие)'; + +COMMENT ON COLUMN S_DF53.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_DF53.ACCOUNT IS 'Код счета участника клиринга'; + +COMMENT ON COLUMN S_DF53.DEAL IS 'Биржевой код участника клиринга'; + +COMMENT ON COLUMN S_DF53.STATUS IS 'Статус счета'; + +COMMENT ON COLUMN S_DF53.RESULT IS 'Код завершения операции'; + +COMMENT ON COLUMN S_DF53.GENERATION_TIME IS 'Дата и время создания записи'; + +COMMENT ON COLUMN S_DF53.GENERATION_ID IS 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN S_DF53.IN_S_DF_ID IS 'Идентификатор соответствующей записи из таблицы-источника'; + +-- plannerTemplate - Шаблон расписания операционного дня +DROP TABLE IF EXISTS PLANNER_TEMPLATE; +CREATE TABLE PLANNER_TEMPLATE(TASK varchar(4), TASK_TIME time, TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE PLANNER_TEMPLATE IS 'Шаблон расписания операционного дня'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.TASK IS 'Код задачи (linked to task)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.TASK_TIME IS 'Время задачи'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.TASK_STATUS IS 'Код статуса (linked to taskStatus)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.ID IS 'Идентификатор'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN PLANNER_TEMPLATE.UPDATED_AT IS 'Дата-время изменения записи'; + +-- clearingCalendar - Рабочие и нерабочие дни +DROP TABLE IF EXISTS CLEARING_CALENDAR; +CREATE TABLE CLEARING_CALENDAR(CLEARING_DATE date, COMPANY_ID bigint, DAY_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLEARING_CALENDAR IS 'Рабочие и нерабочие дни'; + +COMMENT ON COLUMN CLEARING_CALENDAR.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN CLEARING_CALENDAR.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN CLEARING_CALENDAR.DAY_STATUS IS 'Код статуса (linked to dayStatus)'; + +COMMENT ON COLUMN CLEARING_CALENDAR.ID IS 'Идентификатор'; + +COMMENT ON COLUMN CLEARING_CALENDAR.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN CLEARING_CALENDAR.UPDATED_AT IS 'Дата-время изменения записи'; + +-- planner - Расписание +DROP TABLE IF EXISTS PLANNER; +CREATE TABLE PLANNER(TASK varchar(4), TASK_TIME time, CLEARING_DATE date, MARKET varchar(4), TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE PLANNER IS 'Расписание'; + +COMMENT ON COLUMN PLANNER.TASK IS 'Код задачи (linked to task)'; + +COMMENT ON COLUMN PLANNER.TASK_TIME IS 'Время задачи'; + +COMMENT ON COLUMN PLANNER.CLEARING_DATE IS 'Дата задачи'; + +COMMENT ON COLUMN PLANNER.MARKET IS 'Код секции (linked to market)'; + +COMMENT ON COLUMN PLANNER.TASK_STATUS IS 'Код статуса (linked to taskStatus)'; + +COMMENT ON COLUMN PLANNER.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN PLANNER.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN PLANNER.ID IS 'Идентификатор'; + +COMMENT ON COLUMN PLANNER.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN PLANNER.UPDATED_AT IS 'Дата-время изменения записи'; + +-- plannerAllToday - Расписание на текущий день +DROP TABLE IF EXISTS PLANNER_ALL_TODAY; +CREATE TABLE PLANNER_ALL_TODAY(TASK varchar(4), TASK_TIME time, CLEARING_DATE date, MARKET varchar(4), TASK_STATUS varchar(4), COMPANY_ID bigint, SECURITY_ID bigint, PARENT varchar(4), PARENT_ID bigint, ID bigint PRIMARY KEY); +COMMENT ON TABLE PLANNER_ALL_TODAY IS 'Расписание на текущий день'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK IS 'Код задачи (linked to task)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK_TIME IS 'Время'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.CLEARING_DATE IS 'Дата'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.MARKET IS 'Код секции (linked to market)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.TASK_STATUS IS 'Код статуса (linked to taskStatus)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.COMPANY_ID IS 'Идентификатор компании (linked to company)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.SECURITY_ID IS 'Идентификатор инструмента (linked to security)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.PARENT IS 'Код источника записи расписания (linked to parent)'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.PARENT_ID IS 'Идентификатор записи в таблице-источнике'; + +COMMENT ON COLUMN PLANNER_ALL_TODAY.ID IS 'Идентификатор'; + +-- launcher - Запуск задачи +DROP TABLE IF EXISTS LAUNCHER; +CREATE TABLE LAUNCHER(SENDER_ID bigint, TASK varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE LAUNCHER IS 'Запуск задачи'; + +COMMENT ON COLUMN LAUNCHER.SENDER_ID IS 'Идентификатор отправителя (linked to userCls)'; + +COMMENT ON COLUMN LAUNCHER.TASK IS 'Код задачи (linked to task)'; + +COMMENT ON COLUMN LAUNCHER.ID IS 'Идентификатор'; + +COMMENT ON COLUMN LAUNCHER.CREATED_AT IS 'Дата-время создания записи'; + +COMMENT ON COLUMN LAUNCHER.UPDATED_AT IS 'Дата-время изменения записи'; + +-- clearmemberRegister - Реестр участников клиринга +DROP TABLE IF EXISTS CLEARMEMBER_REGISTER; +CREATE TABLE CLEARMEMBER_REGISTER(TRADING_CODE varchar(255), CLEARING_CODE varchar(255), FULL_NAME varchar(255), SHORT_NAME varchar(255), CATEGORY_LIST varchar(4), CORPORATION_SOLE varchar(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), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE CLEARMEMBER_REGISTER IS 'Реестр участников клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.TRADING_CODE IS 'Код участника торгов'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.FULL_NAME IS 'Полное наименование участника клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.SHORT_NAME IS 'Краткое наименование участника клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.CATEGORY_LIST IS 'Категория участника клиринга (linked to clearingCategory)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.CORPORATION_SOLE IS 'Единоличный исполнительный орган (linked to corporationSoleType)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.ACCOUNT IS 'Счета'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.BANK IS 'Наименование банка (linked to bankAccount)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.BANK_NAME IS 'Наименование банка'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.INN IS 'Идентификационный номер налогоплательщика (ИНН)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.BIC IS 'Банковский идентификационный код (БИК)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.OGRN IS 'Основной государственный регистрационный номер'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.CPP IS 'Код причины постановки (КПП)'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.OCPO IS 'Код в Общероссийском классификаторе предприятий'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.CONTRACT_NUMBER IS 'Номер договора'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.CONTRACT_DATE IS 'Дата выдачи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.REGISTRATION_DATE IS 'Дата регистрации'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.SYSTEM_DATE IS 'Системная дата'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.ACCESS_DATE IS 'Дата допуска к КО'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.SUSPENTION_DATE IS 'Дата приостановления'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.REOPENING_DATE IS 'Дата возобновления'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.CLOSE_DATE IS 'Дата прекращения'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.EXCLUSION_DATE IS 'Дата исключения из реестра'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.ADDRESS IS 'Адрес местонахождения'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.EMAIL IS 'Электронная почта'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER.UPDATED_AT IS 'Дата и время изменения записи'; + +-- clearmemberRegisterChange - Журнал изменений информации участников клиринга +DROP TABLE IF EXISTS CLEARMEMBER_REGISTER_CHANGE; +CREATE TABLE CLEARMEMBER_REGISTER_CHANGE(DATE timestamp, CLEARING_CODE varchar(255), COMMENT varchar(255)); +COMMENT ON TABLE CLEARMEMBER_REGISTER_CHANGE IS 'Журнал изменений информации участников клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER_CHANGE.DATE IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER_CHANGE.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN CLEARMEMBER_REGISTER_CHANGE.COMMENT IS 'Комментарий'; + +-- keyRate - Ключевая ставка ЦБ +DROP TABLE IF EXISTS KEY_RATE; +CREATE TABLE KEY_RATE(RATE numeric(72,18), START_DATE date, END_DATE date, DOCUMENT varchar(255), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE KEY_RATE 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)'; + +COMMENT ON COLUMN KEY_RATE.ID IS 'Идентификатор записи'; + +-- balanceRegister - Реестр остатков денежных средств +DROP TABLE IF EXISTS BALANCE_REGISTER; +CREATE TABLE BALANCE_REGISTER(S_DF01_DATE timestamp, CURRENCY_CODE varchar(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, FULL_NAME varchar(255), TYPE_REMAINS varchar(4), DOC_NUMBER varchar(255), COMPANY_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE BALANCE_REGISTER IS 'Реестр остатков денежных средств'; + +COMMENT ON COLUMN BALANCE_REGISTER.S_DF01_DATE IS 'Дата создания записи в S_DF01'; + +COMMENT ON COLUMN BALANCE_REGISTER.CURRENCY_CODE IS 'Код валюты (linked to currencyCode)'; + +COMMENT ON COLUMN BALANCE_REGISTER.SET_HOUSE_NAME IS 'Наименование РО'; + +COMMENT ON COLUMN BALANCE_REGISTER.ACCOUNT IS 'Номер торгового/клирингового счета'; + +COMMENT ON COLUMN BALANCE_REGISTER.INFO_ACCOUNT IS 'Номер счета внутреннего учета СПВБ'; + +COMMENT ON COLUMN BALANCE_REGISTER.REMAINDER_SUM IS 'Остаток денежных средст'; + +COMMENT ON COLUMN BALANCE_REGISTER.BLOCKED_SUM IS 'Сумма блокированных денежных средств'; + +COMMENT ON COLUMN BALANCE_REGISTER.UNBLOCKED_SUM IS 'Сумма свободных денежных средств'; + +COMMENT ON COLUMN BALANCE_REGISTER.INN IS 'Идентификационный номер налогоплательщика (ИНН)'; + +COMMENT ON COLUMN BALANCE_REGISTER.MARKET IS 'Сегмент рынка (linked to market)'; + +COMMENT ON COLUMN BALANCE_REGISTER.FULL_NAME IS 'Наименование Участника Клиринга'; + +COMMENT ON COLUMN BALANCE_REGISTER.TYPE_REMAINS IS 'Тип остатка'; + +COMMENT ON COLUMN BALANCE_REGISTER.DOC_NUMBER IS 'Номер документа'; + +COMMENT ON COLUMN BALANCE_REGISTER.COMPANY_ID IS 'Компания (linked to company)'; + +COMMENT ON COLUMN BALANCE_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN BALANCE_REGISTER.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN BALANCE_REGISTER.UPDATED_AT IS 'Дата и время изменения записи'; + +-- managementJournal - Журнал мониторинга и контроля +DROP TABLE IF EXISTS MANAGEMENT_JOURNAL; +CREATE TABLE MANAGEMENT_JOURNAL(COMPANY_ID bigint, USER_ID bigint, MANAGEMENT_JOURNAL_TYPE varchar(4), MANAGEMENT_JOURNAL_PURPOSE varchar(4), MANAGEMENT_JOURNAL_STATUS varchar(4), TEXT varchar(4096), CHANGE_ACCESS_SIGN varchar(4), CHANGE_DATA_SIGN varchar(4), EVENT_DATE timestamp, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE MANAGEMENT_JOURNAL 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.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.CREATED_AT IS 'Создано'; + +COMMENT ON COLUMN MANAGEMENT_JOURNAL.UPDATED_AT IS 'Изменено'; + +-- inDocumentJournal - Журнал входящих документов +DROP TABLE IF EXISTS IN_DOCUMENT_JOURNAL; +CREATE TABLE IN_DOCUMENT_JOURNAL(REGISTRATION_DATE date, REGISTRATION_TIME time, REGISTRATION_NUMBER bigint, DOCUMENT_NAME varchar(255), SENDER varchar(255), QUANTITY bigint, CLEARING_CODE varchar(255), COURIER_TYPE varchar(4), EMAIL_DATE date, AMOUNT numeric(72,2), DOSSIER_NUMBER varchar(50), COMMENT varchar(255), RECEIPT_DATE date, RESULT_STATUS varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE IN_DOCUMENT_JOURNAL 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)'; + +COMMENT ON COLUMN IN_DOCUMENT_JOURNAL.ID IS 'Идентификатор записи'; + +-- outDocumentJournal - Журнал исходящих документов +DROP TABLE IF EXISTS OUT_DOCUMENT_JOURNAL; +CREATE TABLE OUT_DOCUMENT_JOURNAL(REGISTRATION_DATE date, REGISTRATION_TIME time, REGISTRATION_NUMBER bigint, DOCUMENT_NAME varchar(255), ADDRESSEE varchar(255), QUANTITY bigint, CLEARING_CODE varchar(255), COURIER_TYPE varchar(4), EMAIL_DATE date, AMOUNT numeric(72,2), DOSSIER_NUMBER varchar(50), POST_DATE date, RESULT_STATUS varchar(4), ID bigint PRIMARY KEY); +COMMENT ON TABLE OUT_DOCUMENT_JOURNAL 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)'; + +COMMENT ON COLUMN OUT_DOCUMENT_JOURNAL.ID IS 'Идентификатор записи'; + +-- executionDeposit - Сделки +DROP TABLE IF EXISTS EXECUTION_DEPOSIT; +CREATE TABLE EXECUTION_DEPOSIT(EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, TRADING_DATE date, ACCOUNT_ID bigint, MARKET varchar(4), PRICE numeric(72,18), LOTS numeric(72,2), QUANTITY numeric(72,2), FIRST_LEG_AMOUNT numeric(72,2), SECOND_LEG_AMOUNT numeric(72,2), INTEREST_AMOUNT numeric(72,2), SIDE varchar(4), SETTLEMENT_CURRENCY varchar(4), COMPANY_ID bigint, DURATION bigint, FIRST_LEG_SETTLEMENT_DATE date, SECOND_LEG_SETTLEMENT_DATE date, FIRST_LEG_SETTLEMENT_CODE date, SECOND_LEG_SETTLEMENT_CODE date, SECURITY_FULL_NAME varchar(255), SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, COUNTER_PARTY_ID bigint, COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time, CLEARING_DATE date); +COMMENT ON TABLE EXECUTION_DEPOSIT IS 'Сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.EXCHANGE_EXECUTION_TIME 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.LOTS IS 'Количество лотов'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.QUANTITY IS 'Количество штук'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.FIRST_LEG_AMOUNT IS 'Объем сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_AMOUNT IS 'Объем возврата'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.INTEREST_AMOUNT IS 'Объем процентов'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SIDE IS 'Направление сделки (linked to moneyFlowSide)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SETTLEMENT_CURRENCY 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.FIRST_LEG_SETTLEMENT_CODE IS 'Код расчетов при размещении'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECOND_LEG_SETTLEMENT_CODE IS 'Код расчетов при возврате'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_FULL_NAME IS 'Наименование инструмента'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SECURITY_ID IS 'Финансовый инструмент (linked to moneyMarketSecurity)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COUNTER_PARTY_ID IS 'Имя компании-партнера, с которым заключена сделка (linked to company)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.COVERAGE_STATUS IS 'Cтатус достаточности обеспечения (linked to allowed)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.SESSION_ID IS 'Наименование сессии (linked to moneyMarketSession)'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.CREATED_AT IS 'Время регистрации сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.UPDATED_AT IS 'Время изменения сделки'; + +COMMENT ON COLUMN EXECUTION_DEPOSIT.CLEARING_DATE IS 'Дата клиринга'; + +-- dealRegister - Реестр сделок +DROP TABLE IF EXISTS DEAL_REGISTER; +CREATE TABLE DEAL_REGISTER(EXECUTION_ID bigint, EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, TRADING_DATE date, ACCOUNT varchar(50), MARKET varchar(4), PRICE numeric(72,18), AMOUNT numeric(72,2), SIDE varchar(4), SETTLEMENT_CURRENCY varchar(4), COMPANY_ID bigint, FIRST_LEG_SETTLEMENT_DATE date, SECOND_LEG_SETTLEMENT_DATE date, SECURITY_FULL_NAME varchar(255), SECURITY_SYMBOL varchar(255), SECURITY_ID bigint, COUNTER_PARTY_ID bigint, COVERAGE_STATUS varchar(4), SESSION_ID bigint, ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time, CLEARING_DATE date); +COMMENT ON TABLE DEAL_REGISTER IS 'Реестр сделок'; + +COMMENT ON COLUMN DEAL_REGISTER.EXECUTION_ID IS 'Идентификационный номер сделки в Клиринговой системе'; + +COMMENT ON COLUMN DEAL_REGISTER.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе'; + +COMMENT ON COLUMN DEAL_REGISTER.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе'; + +COMMENT ON COLUMN DEAL_REGISTER.TRADING_DATE IS 'Дата заключения сделки'; + +COMMENT ON COLUMN DEAL_REGISTER.ACCOUNT IS 'Торговый счет'; + +COMMENT ON COLUMN DEAL_REGISTER.MARKET IS 'Секция финансового инструмента (linked to market)'; + +COMMENT ON COLUMN DEAL_REGISTER.PRICE IS 'Ставка по депозиту'; + +COMMENT ON COLUMN DEAL_REGISTER.AMOUNT IS 'Сумма сделки'; + +COMMENT ON COLUMN DEAL_REGISTER.SIDE IS 'Направление сделки (linked to moneyFlowSide)'; + +COMMENT ON COLUMN DEAL_REGISTER.SETTLEMENT_CURRENCY IS 'Валюта расчетов по инструменту (linked to currencyCode)'; + +COMMENT ON COLUMN DEAL_REGISTER.COMPANY_ID IS 'Название компании (linked to company)'; + +COMMENT ON COLUMN DEAL_REGISTER.FIRST_LEG_SETTLEMENT_DATE IS 'Дата размещения'; + +COMMENT ON COLUMN DEAL_REGISTER.SECOND_LEG_SETTLEMENT_DATE IS 'Дата возврата'; + +COMMENT ON COLUMN DEAL_REGISTER.SECURITY_FULL_NAME IS 'Наименование инструмента'; + +COMMENT ON COLUMN DEAL_REGISTER.SECURITY_SYMBOL IS 'Код инструмента в Торговой Системе'; + +COMMENT ON COLUMN DEAL_REGISTER.SECURITY_ID IS 'Финансовый инструмент (linked to moneyMarketSecurity)'; + +COMMENT ON COLUMN DEAL_REGISTER.COUNTER_PARTY_ID IS 'Имя компании-партнера, с которым заключена сделка (linked to company)'; + +COMMENT ON COLUMN DEAL_REGISTER.COVERAGE_STATUS IS 'Cтатус достаточности обеспечения (linked to allowed)'; + +COMMENT ON COLUMN DEAL_REGISTER.SESSION_ID IS 'Наименование сессии (linked to moneyMarketSession)'; + +COMMENT ON COLUMN DEAL_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN DEAL_REGISTER.CREATED_AT IS 'Время регистрации'; + +COMMENT ON COLUMN DEAL_REGISTER.UPDATED_AT IS 'Время изменения'; + +COMMENT ON COLUMN DEAL_REGISTER.CLEARING_DATE IS 'Дата клиринга'; + +-- admittedDealRegister - Реестр сделок, допущенных к клирингу +DROP TABLE IF EXISTS ADMITTED_DEAL_REGISTER; +CREATE TABLE ADMITTED_DEAL_REGISTER(EXECUTION_ID bigint, COMPANY_FULL_NAME varchar(255), TRADING_DATE date, EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, SECURITY_SYMBOL varchar(255), SECURITY_FULL_NAME varchar(255), SELLER_FULL_NAME varchar(255), SELLER_CLEARING_CODE varchar(255), SELLER_ACCOUNT varchar(50), BUYER_FULL_NAME varchar(255), BUYER_CLEARING_CODE varchar(255), BUYER_ACCOUNT varchar(50), AMOUNT numeric(72,2), ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time, CLEARING_DATE date); +COMMENT ON TABLE ADMITTED_DEAL_REGISTER IS 'Реестр сделок, допущенных к клирингу'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.EXECUTION_ID IS 'Идентификационный номер сделки в Клиринговой системе'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.COMPANY_FULL_NAME IS 'Наименование биржи'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.TRADING_DATE IS 'Дата заключения сделки'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.SECURITY_SYMBOL IS 'Финансовый инструмент'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.SECURITY_FULL_NAME IS 'Наименование инструмента'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.SELLER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.SELLER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.SELLER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.BUYER_FULL_NAME IS 'Наименование покупателя'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.BUYER_CLEARING_CODE IS 'Код покупателя'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.BUYER_ACCOUNT IS 'Счет покупателя'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.AMOUNT IS 'Сумма сделки'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.CREATED_AT IS 'Время регистрации'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.UPDATED_AT IS 'Время изменения'; + +COMMENT ON COLUMN ADMITTED_DEAL_REGISTER.CLEARING_DATE IS 'Дата клиринга'; + +-- coveredDealRegister - Реестр сделок, прошедших процедуру контроля обеспечения +DROP TABLE IF EXISTS COVERED_DEAL_REGISTER; +CREATE TABLE COVERED_DEAL_REGISTER(EXECUTION_ID bigint, COMPANY_FULL_NAME varchar(255), TRADING_DATE date, EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, SECURITY_SYMBOL varchar(255), SECURITY_FULL_NAME varchar(255), SELLER_FULL_NAME varchar(255), SELLER_CLEARING_CODE varchar(255), SELLER_ACCOUNT varchar(50), BUYER_FULL_NAME varchar(255), BUYER_CLEARING_CODE varchar(255), BUYER_ACCOUNT varchar(50), AMOUNT numeric(72,2), ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time, CLEARING_DATE date); +COMMENT ON TABLE COVERED_DEAL_REGISTER IS 'Реестр сделок, прошедших процедуру контроля обеспечения'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.EXECUTION_ID IS 'Идентификационный номер сделки в Клиринговой системе'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.COMPANY_FULL_NAME IS 'Наименование биржи'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.TRADING_DATE IS 'Дата заключения сделки'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.SECURITY_SYMBOL IS 'Финансовый инструмент'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.SECURITY_FULL_NAME IS 'Наименование инструмента'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.SELLER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.SELLER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.SELLER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.BUYER_FULL_NAME IS 'Наименование покупателя'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.BUYER_CLEARING_CODE IS 'Код покупателя'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.BUYER_ACCOUNT IS 'Счет покупателя'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.AMOUNT IS 'Сумма сделки'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.CREATED_AT IS 'Время регистрации'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.UPDATED_AT IS 'Время изменения'; + +COMMENT ON COLUMN COVERED_DEAL_REGISTER.CLEARING_DATE IS 'Дата клиринга'; + +-- uncoveredDealRegister - Реестр сделок, не прошедших процедуру контроля обеспечения +DROP TABLE IF EXISTS UNCOVERED_DEAL_REGISTER; +CREATE TABLE UNCOVERED_DEAL_REGISTER(EXECUTION_ID bigint, COMPANY_FULL_NAME varchar(255), TRADING_DATE date, EXCHANGE_EXECUTION_ID bigint, EXCHANGE_EXECUTION_TIME timestamp, SECURITY_SYMBOL varchar(255), SECURITY_FULL_NAME varchar(255), SELLER_FULL_NAME varchar(255), SELLER_CLEARING_CODE varchar(255), SELLER_ACCOUNT varchar(50), BUYER_FULL_NAME varchar(255), BUYER_CLEARING_CODE varchar(255), BUYER_ACCOUNT varchar(50), AMOUNT numeric(72,2), RESULT_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time, CLEARING_DATE date); +COMMENT ON TABLE UNCOVERED_DEAL_REGISTER IS 'Реестр сделок, не прошедших процедуру контроля обеспечения'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.EXECUTION_ID IS 'Идентификационный номер сделки в Клиринговой системе'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.COMPANY_FULL_NAME IS 'Наименование биржи'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.TRADING_DATE IS 'Дата заключения сделки'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.EXCHANGE_EXECUTION_ID IS 'Идентификационный номер сделки в Торговой системе'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.EXCHANGE_EXECUTION_TIME IS 'Время заключения сделки в Торговой системе'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.SECURITY_SYMBOL IS 'Финансовый инструмент'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.SECURITY_FULL_NAME IS 'Наименование инструмента'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.SELLER_FULL_NAME IS 'Наименование продавца'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.SELLER_CLEARING_CODE IS 'Код продавца'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.SELLER_ACCOUNT IS 'Счет продавца'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.BUYER_FULL_NAME IS 'Наименование покупателя'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.BUYER_CLEARING_CODE IS 'Код покупателя'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.BUYER_ACCOUNT IS 'Счет покупателя'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.AMOUNT IS 'Сумма сделки'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.RESULT_STATUS IS 'Результат клиринга (linked to resultStatus)'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.CREATED_AT IS 'Время регистрации'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.UPDATED_AT IS 'Время изменения'; + +COMMENT ON COLUMN UNCOVERED_DEAL_REGISTER.CLEARING_DATE IS 'Дата клиринга'; + +-- reportRegister - Реестр отправленных отчетов +DROP TABLE IF EXISTS REPORT_REGISTER; +CREATE TABLE REPORT_REGISTER(COMPANY_FULL_NAME varchar(255), CLEARING_CODE varchar(255), SESSION_ID bigint, COMMENT varchar(255), NAME varchar(255), QUANTITY bigint, ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time, CLEARING_DATE date); +COMMENT ON TABLE REPORT_REGISTER 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 'Количество записей'; + +COMMENT ON COLUMN REPORT_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN REPORT_REGISTER.CREATED_AT IS 'Время регистрации'; + +COMMENT ON COLUMN REPORT_REGISTER.UPDATED_AT IS 'Время изменения'; + +COMMENT ON COLUMN REPORT_REGISTER.CLEARING_DATE IS 'Дата клиринга'; + +-- contractRegister - Журнал регистрации договоров +DROP TABLE IF EXISTS CONTRACT_REGISTER; +CREATE TABLE CONTRACT_REGISTER(NAME varchar(255), NUMBER varchar(255), ISSUE_DATE date, COMPANY_FULL_NAME bigint, COMPANY_ID bigint, DOCUMENT_TYPE varchar(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), ID bigint PRIMARY KEY, CREATED_AT time, UPDATED_AT time); +COMMENT ON TABLE CONTRACT_REGISTER 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 'Место'; + +COMMENT ON COLUMN CONTRACT_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN CONTRACT_REGISTER.CREATED_AT IS 'Дата и время регистрации документа'; + +COMMENT ON COLUMN CONTRACT_REGISTER.UPDATED_AT IS 'Время изменения сделки'; + +-- orderRegister - Реестр распоряжений, направленных расчетной организации +DROP TABLE IF EXISTS ORDER_REGISTER; +CREATE TABLE ORDER_REGISTER(CREDIT_LEG_ACCOUNT varchar, CREDIT_LEG_AMOUNT numeric(72,18), CREDIT_LEG_CURRENCY_CODE varchar(4), CREDIT_LEG_DIRECTION bigint, DEBIT_LEG_ACCOUNT varchar, SENDER varchar(255), ADDRESSEE varchar(255), DOCUMENT_NUMBER varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE ORDER_REGISTER IS 'Реестр распоряжений, направленных расчетной организации'; + +COMMENT ON COLUMN ORDER_REGISTER.CREDIT_LEG_ACCOUNT IS 'Счет отправителя'; + +COMMENT ON COLUMN ORDER_REGISTER.CREDIT_LEG_AMOUNT IS 'Сумма отправителя'; + +COMMENT ON COLUMN ORDER_REGISTER.CREDIT_LEG_CURRENCY_CODE IS 'Код валюты отправителя (linked to currency)'; + +COMMENT ON COLUMN ORDER_REGISTER.CREDIT_LEG_DIRECTION IS 'Направление отправителя (linked to inOutDirection)'; + +COMMENT ON COLUMN ORDER_REGISTER.DEBIT_LEG_ACCOUNT IS 'Счет получателя'; + +COMMENT ON COLUMN ORDER_REGISTER.SENDER IS 'Отправитель'; + +COMMENT ON COLUMN ORDER_REGISTER.ADDRESSEE IS 'Получатель'; + +COMMENT ON COLUMN ORDER_REGISTER.DOCUMENT_NUMBER IS 'Номер документа в сторонней системе'; + +COMMENT ON COLUMN ORDER_REGISTER.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN ORDER_REGISTER.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN ORDER_REGISTER.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN ORDER_REGISTER.CLEARING_DATE IS 'Дата расчета'; + +-- liabilitiesClaimsMoney - Требования и обязательства денежных средств +DROP TABLE IF EXISTS LIABILITIES_CLAIMS_MONEY; +CREATE TABLE LIABILITIES_CLAIMS_MONEY(COMPANY_ID bigint, SHORT_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), CURRENCY varchar(4), LIABILITIES_AMOUNT numeric(72,2), CLAIMS_AMOUNT numeric(72,2), SETTLEMENT_DATE date, TRADING_DATE date, TRADING_CODE varchar(255), FULL_NAME varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE LIABILITIES_CLAIMS_MONEY IS 'Требования и обязательства денежных средств'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.COMPANY_ID IS 'Наименование участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.SHORT_NAME IS 'Короткое наименование Участника'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT_ID IS 'Наименование счета (linked to account)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT IS 'Наименование счета'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CURRENCY IS 'Код валюты (linked to currencyCode)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.LIABILITIES_AMOUNT 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.TRADING_CODE IS 'Торговый код Участника'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.FULL_NAME IS 'Полное наименование Участника'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.CLEARING_DATE IS 'Дата клиринга'; + +-- liabilitiesClaimsAssets - Требования и обязательства финансовых активов +DROP TABLE IF EXISTS LIABILITIES_CLAIMS_ASSETS; +CREATE TABLE LIABILITIES_CLAIMS_ASSETS(COMPANY_ID bigint, SHORT_NAME varchar(255), ACCOUNT_ID bigint, ACCOUNT varchar(50), ACCOUNT_TYPE varchar(4), CURRENCY varchar(4), SETTLEMENT_DATE date, LIABILITIES_QUANTITY numeric(72,18), CLAIMS_QUANTITY numeric(72,18), CONTRACT varchar(255), SECURITY_ID bigint, TRADING_DATE date, REFUND_DATE date, PRICE numeric(72,18), TRADING_CODE varchar(255), CLEARING_CODE varchar(255), COMMENT varchar(255), FULL_NAME varchar(255), PARENT_ID bigint, LIABILITIES_CLAIMS_MONEY_ID bigint, CLEARING_STATUS bigint, PAYMENT_ID bigint, REFUND_PAYMENT_ID bigint, ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE LIABILITIES_CLAIMS_ASSETS IS 'Требования и обязательства финансовых активов'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.COMPANY_ID IS 'Наименование участника (linked to company)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SHORT_NAME IS 'Короткое наименование Участника'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ACCOUNT_ID IS 'Наименование счета (linked to account)'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ACCOUNT IS 'Наименование счета'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)'; + +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.LIABILITIES_QUANTITY IS 'Сумма обязательств'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLAIMS_QUANTITY IS 'Сумма требований'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CONTRACT IS 'Номер договора'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SECURITY_ID IS 'Инструмент (linked to moneyMarketSecurity)'; + +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.TRADING_CODE IS 'Торговый код Участника'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLEARING_CODE IS 'Клиринговый код Участника'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.COMMENT IS 'Комментарий'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.FULL_NAME IS 'Полное наименование Участника'; + +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.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 'Обратный платежа'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLEARING_DATE IS 'Дата клиринга'; + +-- statement - Денежные средства от расчетной организации +DROP TABLE IF EXISTS STATEMENT; +CREATE TABLE STATEMENT(ADDRESSEE_ID bigint, SENDER_ID bigint, STATEMENT_TYPE varchar(4), COMMENT varchar(255), ACCOUNT_ID bigint, ACCOUNT varchar(50), IN_OUT_DIRECTION varchar(4), SETTLEMENT_DATE date, AMOUNT numeric(72,2), CASH_MOVEMENT_CURRENCY_CODE varchar(4), OPERATION_STATUS varchar(4), ERROR_CODE varchar(4), ERROR_TEXT varchar(4), IN_S_DF_ID bigint, OUT_S_DF_ID bigint, IN_OUT_S_DF_TYPE varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE STATEMENT 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.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)'; + +COMMENT ON COLUMN STATEMENT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN STATEMENT.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN STATEMENT.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN STATEMENT.CLEARING_DATE IS 'Дата расчета'; + +-- 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 varchar(4), IN_OUT_DIRECTION bigint, ACCOUNT_ID bigint, ACCOUNT varchar(50), OPERATION_STATUS varchar(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 varchar(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(SENDER_ID bigint, ADDRESSEE_ID bigint, ADRESSEE_BIC varchar(255), PAYEE_BANK_NAME varchar(255), PAYEE_BIC varchar(255), ADDRESSEE_BANK_NAME varchar(255), PAYMENT_DATE timestamp, PAYMENT_PURPOSE varchar(255), SETTLEMENT_DATE date, CREDIT_LEG_AMOUNT numeric(72,18), DEBIT_LEG_AMOUNT numeric(72,18), 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 varchar(4), DEBIT_LEG_CURRENCY_CODE varchar(4), TRANSACTION_STATUS varchar(4), DOCUMENT_NUMBER varchar(255), ID bigint PRIMARY KEY, UPDATED_AT timestamp, CREATED_AT timestamp, CLEARING_DATE date); +COMMENT ON TABLE PAYMENT_INSTRUCTION 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_BIC IS 'Банковский идентификационный код (БИК) получателя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYEE_BANK_NAME IS 'Наименование банка отправителя'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.PAYEE_BIC 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 'Счет отправителя'; + +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 'Счет получателя'; + +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.TRANSACTION_STATUS IS 'Cтатус транзакции (linked to transactionStatus)'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.DOCUMENT_NUMBER IS 'Номер документа в сторонней системе'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.UPDATED_AT IS 'Дата и время изменения записи'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN PAYMENT_INSTRUCTION.CLEARING_DATE 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 varchar(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 'Идентификатор записи'; + +COMMENT ON COLUMN MARKET_DATA.SECURITIES_DEPOSIT_ID IS 'Биржевой код инструмента (linked to moneyMarketSecurity)'; + +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 varchar(4), CLEARING_MEMBER_CATEGORY varchar(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 clearingCategory)'; + +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, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, MARKET varchar(4), CLEARING_MEMBER_CATEGORY varchar(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.EVENT_TYPE 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 clearingCategory)'; + +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 varchar(4), CLEARING_MEMBER_CATEGORY varchar(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 clearingCategory)'; + +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, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, MARKET varchar(4), CLEARING_MEMBER_CATEGORY varchar(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.EVENT_TYPE 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 clearingCategory)'; + +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 varchar(4), CLEARING_MEMBER_CATEGORY varchar(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 clearingCategory)'; + +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)'; + +-- 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, PAYMENT_INSTRUCTION_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 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN S_DF03.PAYMENT_INSTRUCTION_ID IS 'Идентификатор соответствующей записи из таблицы-источника (linked to paymentInstruction)'; + +-- 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 varchar(10), DATETIME varchar(13), 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 'Номер запроса остатков по счетам'; + +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), INN 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.INN 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), INN 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.INN 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, PAYMENT_INSTRUCTION_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 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN S_DF11.PAYMENT_INSTRUCTION_ID IS 'Идентификатор соответствующей записи из таблицы-источника (linked to paymentInstruction)'; + +-- 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), INN numeric(72,18), BIC numeric(72,18), SPEC 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.INN IS 'ИНН'; + +COMMENT ON COLUMN S_DF16.BIC IS 'БИК'; + +COMMENT ON COLUMN S_DF16.SPEC 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), INN numeric(72,18), BIC numeric(72,18), SPEC 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.INN IS 'ИНН'; + +COMMENT ON COLUMN S_DF17.BIC IS 'БИК'; + +COMMENT ON COLUMN S_DF17.SPEC 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 'Идентификатор соответствующей записи из таблицы-источника'; + +-- s_trade - Сделки из Торговой системы +DROP TABLE IF EXISTS S_TRADE; +CREATE TABLE S_TRADE(ID bigint PRIMARY KEY, TRADE_NUM bigint, SEC_CODE varchar(255), TRADE_DATE_TIME timestamp, SETTLE_DATE date, PRICE numeric(72,18), VALUE numeric(72,2), QTY numeric(72,2), ACCRUEDINT numeric(72,18), FIRM_ID varchar(255), CLIENT_CODE varchar(255), EXCHANGE_COMMISSION numeric(72,2), CLASS_CODE varchar(255), OPERATION varchar(255), ISSUE_ACCOUNT varchar(50), MONEY_ACCOUNT varchar(50), TRADE_TYPE varchar(50), DAYS_TO_MAT_DATE bigint, COLLATERAL varchar(50), SETTLE_CODE varchar(50)); +COMMENT ON TABLE S_TRADE IS 'Сделки из Торговой системы'; + +COMMENT ON COLUMN S_TRADE.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN S_TRADE.TRADE_NUM IS 'Номер сделки'; + +COMMENT ON COLUMN S_TRADE.SEC_CODE IS 'Код ценной бумаги'; + +COMMENT ON COLUMN S_TRADE.TRADE_DATE_TIME IS 'Дата-время сделки'; + +COMMENT ON COLUMN S_TRADE.SETTLE_DATE IS 'Плановая дата исполнения сделки'; + +COMMENT ON COLUMN S_TRADE.PRICE IS 'Цена сделки'; + +COMMENT ON COLUMN S_TRADE.VALUE IS 'Сумма сделки'; + +COMMENT ON COLUMN S_TRADE.QTY IS 'Количество лотов по сделке'; + +COMMENT ON COLUMN S_TRADE.ACCRUEDINT IS 'НКД за 1 ценную бумагу'; + +COMMENT ON COLUMN S_TRADE.FIRM_ID IS 'ID клиента в КС'; + +COMMENT ON COLUMN S_TRADE.CLIENT_CODE IS 'Код участника торгов = Код участника клиринга = Код участника расчетов'; + +COMMENT ON COLUMN S_TRADE.EXCHANGE_COMMISSION IS 'Комиссия по сделке'; + +COMMENT ON COLUMN S_TRADE.CLASS_CODE IS 'Код класса сделки из новой ТС'; + +COMMENT ON COLUMN S_TRADE.OPERATION IS 'Тип плеча (Купля/Продажа)'; + +COMMENT ON COLUMN S_TRADE.ISSUE_ACCOUNT IS 'Счет для учета ценной бумаги'; + +COMMENT ON COLUMN S_TRADE.MONEY_ACCOUNT IS 'Счет для учета денежных средств'; + +COMMENT ON COLUMN S_TRADE.TRADE_TYPE IS 'Первичное размещение/торги'; + +COMMENT ON COLUMN S_TRADE.DAYS_TO_MAT_DATE IS 'Количество дней до погашения'; + +COMMENT ON COLUMN S_TRADE.COLLATERAL IS 'Признак залога (не используется)'; + +COMMENT ON COLUMN S_TRADE.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 varchar(4), OBJECT_ID timestamp, NOTIFICATION_STATUS varchar(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, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SENDER_ID bigint, ADDRESSEE_ID bigint, OBJECT_TYPE varchar(4), OBJECT_ID timestamp, NOTIFICATION_STATUS varchar(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.EVENT_TYPE 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)'; + +-- verificationResult - Результаты сверки +DROP TABLE IF EXISTS VERIFICATION_RESULT; +CREATE TABLE VERIFICATION_RESULT(CLEARING_CODE varchar(255), ACCOUNT_ID bigint, IN_SUM numeric(72,2), OUT_INT_SUM numeric(72,2), OUT_EXT_SUM numeric(72,2), DIFF_SUM numeric(72,2), GENERATION_ID bigint, GENERATION_STATUS varchar(4), RESULT_STATUS varchar(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp); +COMMENT ON TABLE VERIFICATION_RESULT IS 'Результаты сверки'; + +COMMENT ON COLUMN VERIFICATION_RESULT.CLEARING_CODE IS 'Код участника клиринга'; + +COMMENT ON COLUMN VERIFICATION_RESULT.ACCOUNT_ID IS 'Счет УК, по которому проводится сверка'; + +COMMENT ON COLUMN VERIFICATION_RESULT.IN_SUM IS 'Входящая сумма остатков'; + +COMMENT ON COLUMN VERIFICATION_RESULT.OUT_INT_SUM IS 'Исходящая сумма остатков, полученная в КС'; + +COMMENT ON COLUMN VERIFICATION_RESULT.OUT_EXT_SUM IS 'Исходящая сумма остатков из отчета ПРЦ'; + +COMMENT ON COLUMN VERIFICATION_RESULT.DIFF_SUM IS 'Сумма расхождений'; + +COMMENT ON COLUMN VERIFICATION_RESULT.GENERATION_ID IS 'Идентификатор взаимодействия'; + +COMMENT ON COLUMN VERIFICATION_RESULT.GENERATION_STATUS IS 'Общий статус сверки (linked to resultStatus)'; + +COMMENT ON COLUMN VERIFICATION_RESULT.RESULT_STATUS IS 'Статус сверки (linked to resultStatus)'; + +COMMENT ON COLUMN VERIFICATION_RESULT.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN VERIFICATION_RESULT.CREATED_AT IS 'Дата и время создания записи'; + +COMMENT ON COLUMN VERIFICATION_RESULT.UPDATED_AT IS 'Дата и время изменения записи'; + +-- session - Клиринговая сессия +DROP TABLE IF EXISTS SESSION; +CREATE TABLE SESSION(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_STATUS varchar(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, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, CLEARING_DATE date, SESSION_STATUS varchar(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.EVENT_TYPE 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)'; + +-- moneyMarketSession - Сессия денежного рынка +DROP TABLE IF EXISTS MONEY_MARKET_SESSION; +CREATE TABLE MONEY_MARKET_SESSION(ID bigint PRIMARY KEY, COMPANY_ID bigint, SECURITY_ID bigint, USER_ID bigint); +COMMENT ON TABLE MONEY_MARKET_SESSION IS 'Сессия денежного рынка'; + +COMMENT ON COLUMN MONEY_MARKET_SESSION.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MONEY_MARKET_SESSION.COMPANY_ID IS 'Наименование инициатора торгов (linked to company)'; + +COMMENT ON COLUMN MONEY_MARKET_SESSION.SECURITY_ID IS 'Наименование инструмента (linked to moneyMarketSecurity)'; + +COMMENT ON COLUMN MONEY_MARKET_SESSION.USER_ID IS 'Наименование пользователя (linked to userCls)'; + + +-- History log of moneyMarketSession - Сессия денежного рынка +DROP TABLE IF EXISTS MONEY_MARKET_SESSION_HISTORY; +CREATE TABLE MONEY_MARKET_SESSION_HISTORY(MONEY_MARKET_SESSION_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, COMPANY_ID bigint, SECURITY_ID bigint, USER_ID bigint); +COMMENT ON TABLE MONEY_MARKET_SESSION_HISTORY IS 'История изменений таблицы moneyMarketSession'; +COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.MONEY_MARKET_SESSION_ID IS 'Идентификатор записи в таблице MONEY_MARKET_SESSION'; +COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.EVENT_TIME IS 'Дата и время изменения'; +COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; +COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.EVENT_TYPE IS 'Тип изменения'; + +COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.ID IS 'Идентификатор записи'; + +COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.COMPANY_ID IS 'Наименование инициатора торгов (linked to company)'; + +COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.SECURITY_ID IS 'Наименование инструмента (linked to moneyMarketSecurity)'; + +COMMENT ON COLUMN MONEY_MARKET_SESSION_HISTORY.USER_ID IS 'Наименование пользователя (linked to userCls)'; + + /* views */ + + -- Data types + \ No newline at end of file diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index e40c7b98f..68a98faee 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -23,8 +23,6 @@ public final class IMDGDistributedNames { public static final String Map_BankAccount = "Map_BankAccount"; public static final String Map_BankAccountHistory = "Map_BankAccountHistory"; public static final String Map_ClearingMemberCategory = "Map_ClearingMemberCategory"; - public static final String Map_AccountRouting = "Map_AccountRouting"; - public static final String Map_AccountRoutingHistory = "Map_AccountRoutingHistory"; public static final String Map_InformationAccountHistory = "Map_InformationAccountHistory"; public static final String Map_InformationAccount = "Map_InformationAccount"; public static final String Map_Security = "Map_Security"; @@ -86,7 +84,6 @@ public final class IMDGDistributedNames { public static final String Map_OperationStatusDictionary = "Map_OperationStatusDictionary"; public static final String Map_OperationTypeDictionary = "Map_OperationTypeDictionary"; public static final String Map_ResultStatusDictionary = "Map_ResultStatusDictionary"; - public static final String Map_SectorDictionary = "Map_SectorDictionary"; public static final String Map_ServiceDictionary = "Map_ServiceDictionary"; public static final String Map_ServiceProductDictionary = "Map_ServiceProductDictionary"; public static final String Map_ServiceStatusDictionary = "Map_ServiceStatusDictionary"; @@ -102,7 +99,6 @@ public final class IMDGDistributedNames { public static final String Map_UserRoleDictionary = "Map_UserRoleDictionary"; public static final String Map_UserSettings = "Map_UserSettings"; public static final String Map_UserRoleSession = "Map_UserRoleSession"; - public static final String Map_AccountStatusDictionary = "Map_AccountStatusDictionary"; public static final String Map_KeyRate = "Map_KeyRate"; public static final String Map_MoneyMarketSecurity = "Map_MoneyMarketSecurity"; public static final String Map_Currency = "Map_Currency";