From e0b53a15d174c13ac773bb6954ced64f2307e718 Mon Sep 17 00:00:00 2001 From: psemenkov Date: Tue, 28 Feb 2023 11:47:42 +0300 Subject: [PATCH] Creating ProfileDocumentServiceTest AdmittedDealRegisterServiceTest tests. Creating InstantDateTimeDeserializer and InstantDateTimeSerializer with pattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z'"). --- .../service/ProfileDocumentServiceTest.java | 113 + .../spcex/clearing/imdg/AllMapStoreTest.java | 1 + ...bjectAndBusinessEventForCheckMapStore.java | 11 +- .../structure/RunnableMapNamesForTesting.java | 67 +- .../clearing/imdg/utils/DbDataUtils.java | 19 +- .../imdg/src/test/resources/ddl.sql | 3418 ----------------- clearing-parent/registry-service/pom.xml | 17 + .../HazelcastServiceTestConfiguration.java | 71 + .../registry/config/KafkaConfigTest.java | 44 + .../AdmittedDealRegisterServiceTest.java | 118 + .../registry/utils/MatcherFactory.java | 38 + .../clearing/registry/utils/TestUtils.java | 123 + .../AdmittedDealRegisterNewRequest.java | 21 + .../InstantDateTimeDeserializer.java | 23 + .../serialize/InstantDateTimeSerializer.java | 21 + .../spcex/platform/utils/time/TimeUtil.java | 4 + 16 files changed, 664 insertions(+), 3445 deletions(-) create mode 100644 clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java delete mode 100644 clearing-parent/imdg/src/test/resources/ddl.sql create mode 100644 clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/config/HazelcastServiceTestConfiguration.java create mode 100644 clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/config/KafkaConfigTest.java create mode 100644 clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/service/AdmittedDealRegisterServiceTest.java create mode 100644 clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/MatcherFactory.java create mode 100644 clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/TestUtils.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/json/deserialize/InstantDateTimeDeserializer.java create mode 100644 platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/json/serialize/InstantDateTimeSerializer.java diff --git a/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java new file mode 100644 index 000000000..491212001 --- /dev/null +++ b/clearing-parent/company-service/src/test/java/ru/spcex/clearing/company/service/ProfileDocumentServiceTest.java @@ -0,0 +1,113 @@ +package ru.spcex.clearing.company.service; + +import org.apache.kafka.clients.consumer.MockConsumer; +import org.apache.kafka.clients.producer.MockProducer; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +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.profile.ProfileDocument; +import ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration; +import ru.spcex.clearing.company.config.KafkaConfigTest; +import ru.spcex.clearing.company.utils.MatcherFactory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.BaseRequest; +import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.clearing.platform.messaging.domain.cud.company.ProfileDocumentNewRequest; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; + +import javax.annotation.PostConstruct; +import java.time.LocalDate; + +import static ru.spcex.clearing.company.config.HazelcastServiceTestConfiguration.currentID; +import static ru.spcex.clearing.company.utils.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.company.utils.TestUtils.*; + +@ExtendWith(SpringExtension.class) +@ContextConfiguration(classes = { + ProfileDocumentService.class, + KafkaConfigTest.class, + HazelcastServiceTestConfiguration.class}) +class ProfileDocumentServiceTest { + + public static final MatcherFactory.Matcher PROFILE_DOCUMENT_MATCHER = usingIgnoringFieldsComparator(); + private static final int PARTITION = 0; + private static final String TOPIC_DESTINATION_PROFILE_DOCUMENT_NEW = Consts.DESTINATION_PROFILE_DOCUMENT_NEW; + private static final Long ID = currentID.getAndIncrement(); + @Autowired + ProfileDocumentService profileDocumentService; + @Autowired + @Qualifier("hazelcastServiceTest") + private HazelcastService hazelcastServiceTest; + private Imdg profileDocumentMap; + private Imdg companyMap; + + @Captor + private ArgumentCaptor producerRecord; + @SpyBean + private MockProducer mockProducer; + + @PostConstruct + private void init() { + hazelcastServiceTest.waitAvailable(); + this.profileDocumentMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class); + this.companyMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_Company, Company.class); + } + + /** + * {@link ProfileDocumentService#newProfileDocument(BaseRequest)}
+ * Тест проверяет обновление сущности {@link ProfileDocument} в Hazelcast при передаче из Apache Kafka.
+ * Входной запрос {@link ProfileDocumentNewRequest}:
+ */ + @Test + void newProfileDocument() { + //ARRANGE + Long companyId = 1234L; + ProfileDocumentNewRequest profileDocumentNewRequest = new ProfileDocumentNewRequest(); + profileDocumentNewRequest.setCompanyId(companyId); + profileDocumentNewRequest.setDocumentType("doc"); + profileDocumentNewRequest.setIssueDate(LocalDate.now()); + profileDocumentNewRequest.setIssuePlace("place"); + profileDocumentNewRequest.setIssuer("issuer"); + profileDocumentNewRequest.setIssuerCode("issuerCode"); + profileDocumentNewRequest.setName("name"); + profileDocumentNewRequest.setNumber("number"); + profileDocumentNewRequest.setPlace("place"); + profileDocumentNewRequest.setValidFromDate(LocalDate.now()); + profileDocumentNewRequest.setValidToDate(LocalDate.now()); + profileDocumentNewRequest.setLink("link"); + + ProfileDocument predictableProfileDocument = new ProfileDocument(); + predictableProfileDocument.setCompanyId(profileDocumentNewRequest.getCompanyId()); + predictableProfileDocument.setDocumentType(profileDocumentNewRequest.getDocumentType()); + predictableProfileDocument.setIssueDate(profileDocumentNewRequest.getIssueDate()); + predictableProfileDocument.setIssuePlace(profileDocumentNewRequest.getIssuePlace()); + predictableProfileDocument.setIssuer(profileDocumentNewRequest.getIssuer()); + predictableProfileDocument.setIssuerCode(profileDocumentNewRequest.getIssuerCode()); + predictableProfileDocument.setName(profileDocumentNewRequest.getName()); + predictableProfileDocument.setNumber(profileDocumentNewRequest.getNumber()); + predictableProfileDocument.setPlace(profileDocumentNewRequest.getPlace()); + predictableProfileDocument.setValidFromDate(profileDocumentNewRequest.getValidFromDate()); + predictableProfileDocument.setValidToDate(profileDocumentNewRequest.getValidToDate()); + predictableProfileDocument.setLink(profileDocumentNewRequest.getLink()); + + //ACT + String jsonString = getJsonStringForNew(profileDocumentNewRequest, ID); + + addRecordToKafka((MockConsumer) profileDocumentService.getConsumer(), TOPIC_DESTINATION_PROFILE_DOCUMENT_NEW, PARTITION, 0, jsonString); + + //ASSERT + waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord); + ProfileDocument resultNew = profileDocumentMap.getSingleObjectBySQL(String.format("companyId = %d", companyId)); + predictableProfileDocument.setId(resultNew.getId()); + PROFILE_DOCUMENT_MATCHER.assertMatch(resultNew, predictableProfileDocument); + } +} \ No newline at end of file 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 a46974f66..214abb723 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 @@ -116,6 +116,7 @@ public class AllMapStoreTest { } catch (InstantiationException | IllegalAccessException e) { log.error(e.getMessage()); } catch (InvocationTargetException | NoSuchMethodException e) { + log.error(e.getMessage()); throw new RuntimeException(e); } } diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/BusinessObjectAndBusinessEventForCheckMapStore.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/BusinessObjectAndBusinessEventForCheckMapStore.java index 1dbe20cbc..a49f9b5e3 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/BusinessObjectAndBusinessEventForCheckMapStore.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/structure/BusinessObjectAndBusinessEventForCheckMapStore.java @@ -1,6 +1,8 @@ package ru.spcex.clearing.imdg.structure; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import ru.spcex.clearing.imdg.utils.MatcherFactory.Matcher; import ru.spcex.platform.classes.base.SpcexObjectBase; @@ -12,6 +14,7 @@ import static ru.spcex.clearing.imdg.utils.MatcherFactory.usingIgnoringFieldsCom public class BusinessObjectAndBusinessEventForCheckMapStore { public final Matcher MATCHER; + private final Logger log = LoggerFactory.getLogger(this.getClass()); private final String mapName; private final Class clazz; private SettingOperation[] settingOperations; @@ -56,7 +59,13 @@ public class BusinessObjectAndBusinessEventForCheckMapStore { public void setPredictableObj(SpcexObjectBase predictableObj) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { if (settingOperations != null) { for (SettingOperation settingOperation : settingOperations) { - Method method = clazz.getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); + Method method = null; + try { + method = clazz.getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); + } catch (NoSuchMethodException exception) { + log.debug("settingOperations for Superclass " + clazz.getName()); + method = clazz.getSuperclass().getDeclaredMethod(settingOperation.getMethodName(), settingOperation.getParameterTypes()); + } method.invoke(predictableObj, settingOperation.getParams()); } } 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 d53944c78..cb91c2895 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 @@ -8,6 +8,7 @@ import ru.clearing.classes.statics.data.company.CompanyRoleSet; import ru.clearing.classes.statics.data.company.CompanySymbols; import ru.clearing.classes.statics.data.company.relation.Relation; import ru.clearing.classes.statics.data.company.relation.RelationHistory; +import ru.clearing.classes.statics.data.execution.ExecutionDeposit; import ru.clearing.classes.statics.data.generated.ClearingMemberCategory; import ru.clearing.classes.statics.data.journal.InDocumentJournal; import ru.clearing.classes.statics.data.journal.ManagementJournal; @@ -19,8 +20,7 @@ import ru.clearing.classes.statics.data.misc.*; import ru.clearing.classes.statics.data.payment.PaymentInstruction; import ru.clearing.classes.statics.data.profile.Contact; import ru.clearing.classes.statics.data.profile.ProfileDocument; -import ru.clearing.classes.statics.data.register.OrderRegister; -import ru.clearing.classes.statics.data.register.ReportRegister; +import ru.clearing.classes.statics.data.register.*; import ru.clearing.classes.statics.data.scheduler.*; import ru.clearing.classes.statics.data.sdf.*; import ru.clearing.classes.statics.data.security.Security; @@ -32,9 +32,12 @@ import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.structure.BusinessObjectAndBusinessEventForCheckMapStore.SettingOperation; import java.math.BigDecimal; +import java.time.Instant; import java.util.LinkedList; import java.util.List; +import static ru.spcex.clearing.imdg.utils.DbDataUtils.generatingRandomBigDecimal; +import static ru.spcex.clearing.imdg.utils.DbDataUtils.generatingRandomInstant; import static ru.spcex.clearing.imdg.utils.MatcherFactory.usingIgnoringFieldsComparator; public class RunnableMapNamesForTesting { @@ -131,28 +134,38 @@ public class RunnableMapNamesForTesting { //object businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AccountRouting, AccountRouting.class)); -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_AdmittedDealRegister, AdmittedDealRegister.class, -// new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("19.12")}))); + 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)}), + new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_BankAccount, BankAccount.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ClearingMemberCategory, ClearingMemberCategory.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ClearMemberRegister, ClearMemberRegister.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Contact, Contact.class)); -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ContractRegister, ContractRegister.class)); -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CoveredDealRegister, CoveredDealRegister.class, -// new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("11.11")}))); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ContractRegister, ContractRegister.class, + new SettingOperation("setCreated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setUpdated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}))); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_CoveredDealRegister, CoveredDealRegister.class, + new SettingOperation("setCreated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setUpdated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Currency, Currency.class)); -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_DealRegister, DealRegister.class, -//// new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("11.11")}))); -// businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class, -// new SettingOperation("setFirstLegAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("03.22")}), -// new SettingOperation("setSecondLegAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("03.33")}), -// new SettingOperation("setInterestAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("04.22")}), -// new SettingOperation("setLots", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("05.22")}), -// new SettingOperation("setQuantity", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("09.22")}))); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_DealRegister, DealRegister.class, + new SettingOperation("setCreated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setUpdated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ExecutionDeposit, ExecutionDeposit.class, + new SettingOperation("setCreated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setUpdated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setFirstLegAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setSecondLegAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setInterestAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setLots", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setQuantity", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_InDocumentJournal, InDocumentJournal.class, - new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("22.12")}))); + new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_InformationAccount, InformationAccount.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_KeyRate, KeyRate.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class, @@ -164,7 +177,9 @@ public class RunnableMapNamesForTesting { businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_PaymentInstruction, PaymentInstruction.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_PlannerAllToday, PlannerAllToday.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ProfileDocument, ProfileDocument.class)); - businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ReportRegister, ReportRegister.class)); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_ReportRegister, ReportRegister.class, + new SettingOperation("setCreated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setUpdated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}))); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf01, SDf01.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf02, SDf02.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf03, SDf03.class)); @@ -181,15 +196,19 @@ public class RunnableMapNamesForTesting { businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_SDf18, SDf18.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_Session, Session.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_STrade, STrade.class, - new SettingOperation("setQty", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("23.92")}), - new SettingOperation("setValue", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("24.92")}), - new SettingOperation("setExchange_commission", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("26.26")}))); + new SettingOperation("setQty", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setValue", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setExchangeCommission", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); + businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_UncoveredDealRegister, UncoveredDealRegister.class, + new SettingOperation("setCreated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setUpdated", new Class[]{Instant.class}, new Object[]{generatingRandomInstant(true)}), + new SettingOperation("setAmount", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_UserRoleSession, UserRoleSession.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_UserSettings, UserSettings.class)); businessObjectAndBusinessEventForCheckMapStores.add(new BusinessObjectAndBusinessEventForCheckMapStore<>(IMDGDistributedNames.Map_VerificationResult, VerificationResult.class, - new SettingOperation("setDiffSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("13.22")}), - new SettingOperation("setInSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("14.22")}), - new SettingOperation("setOutExtSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("15.22")}), - new SettingOperation("setOutIntSum", new Class[]{BigDecimal.class}, new Object[]{new BigDecimal("19.22")}))); + new SettingOperation("setDiffSum", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setInSum", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setOutExtSum", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}), + new SettingOperation("setOutIntSum", new Class[]{BigDecimal.class}, new Object[]{generatingRandomBigDecimal(2)}))); } } diff --git a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/DbDataUtils.java b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/DbDataUtils.java index 10ec1bca6..52582c804 100644 --- a/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/DbDataUtils.java +++ b/clearing-parent/imdg/src/test/java/ru/spcex/clearing/imdg/utils/DbDataUtils.java @@ -191,7 +191,7 @@ public final class DbDataUtils { } else if (typeField.equals(Integer.TYPE) || typeField.equals(Integer.class)) { field.set(object, generatingRandomInteger()); } else if (typeField.getName().equals(BigDecimal.class.getName())) { - field.set(object, new BigDecimal(String.format("%d3.220000000000000000", generatingRandomInteger()))); + field.set(object, generatingRandomBigDecimal(18)); } else if (typeField.equals(Long.TYPE) || typeField.equals(Long.class)) { field.set(object, generatingRandomLong()); } else if (typeField.equals(LocalDate.class)) { @@ -205,7 +205,7 @@ public final class DbDataUtils { } else if (typeField.getName().equals(UUID.class.getName())) { field.set(object, UUID.randomUUID()); } else if (typeField.getName().equals(Instant.class.getName())) { - field.set(object, Instant.parse(String.format("2022-10-0%dT15:39:18.659Z", generatingRandomInteger()))); + field.set(object, generatingRandomInstant(false)); // } else if (typeField.getSimpleName().equals(CompanyInfo.class.getSimpleName())) { // CompanyInfo companyInfo = new CompanyInfo(); // fillObjectDefaultValues(companyInfo, CompanyInfo.class); @@ -248,4 +248,19 @@ public final class DbDataUtils { int rightLimit = 9; return leftLimit + (int) (new Random().nextFloat() * (rightLimit - leftLimit)); } + + public static int generatingRandomInteger(int leftLimit, int rightLimit) { + return leftLimit + (int) (new Random().nextFloat() * (rightLimit - leftLimit)); + } + + public static BigDecimal generatingRandomBigDecimal(int scale) { + BigDecimal num = new BigDecimal(String.format("%d3.%d20000000000000000", generatingRandomInteger(), generatingRandomInteger())); + return num.setScale(scale); + } + + public static Instant generatingRandomInstant(boolean withoutDate) { + if (withoutDate) + return Instant.parse(String.format("1970-01-01T%d:%d:18.659Z", generatingRandomInteger(10, 21), generatingRandomInteger(10, 59))); + return Instant.parse(String.format("2022-10-0%dT%d:%d:18.659Z", generatingRandomInteger(), generatingRandomInteger(10, 23), generatingRandomInteger(10, 59))); + } } diff --git a/clearing-parent/imdg/src/test/resources/ddl.sql b/clearing-parent/imdg/src/test/resources/ddl.sql deleted file mode 100644 index 20af99fb4..000000000 --- a/clearing-parent/imdg/src/test/resources/ddl.sql +++ /dev/null @@ -1,3418 +0,0 @@ --- DB version: 2.4.0.7 -/* Dictionaries */ - --- 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 'Способ доставки'; - --- 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 'Наименование'; - --- 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)); -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 'Статус транзакции'; - --- 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)); -COMMENT ON TABLE CLEARING_STATUS_DICTIONARY IS 'Справочник результатов клиринга'; - -COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.CODE IS 'Код'; - -COMMENT ON COLUMN CLEARING_STATUS_DICTIONARY.NAME IS 'Наименование'; - --- workflowStatus - Справочник статусов бизнес-процессов -DROP TABLE IF EXISTS WORKFLOW_STATUS_DICTIONARY; -CREATE TABLE WORKFLOW_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE 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 'Наименование'; - --- 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 'Наименование'; - --- 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 'Признак допустимости'; - --- 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 'Тип лимитов'; - --- 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 'Наименование'; - --- 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 'Наименование'; - --- 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 'Наименование'; - --- 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 'Наименование'; - --- 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 'Наименование'; - --- 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 'Наименование'; - --- 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 'Роль Участника'; - --- 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 'Роль пользователя'; - --- 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 'Наименование'; - --- 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 'Наименование'; - --- 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 'Наименование'; - --- 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 'Наименование'; - --- sector - Справочник секций -DROP TABLE IF EXISTS SECTOR_DICTIONARY; -CREATE TABLE SECTOR_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255)); -COMMENT ON TABLE SECTOR_DICTIONARY IS 'Справочник секций'; - -COMMENT ON COLUMN SECTOR_DICTIONARY.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN SECTOR_DICTIONARY.CODE IS 'Код'; - -COMMENT ON COLUMN SECTOR_DICTIONARY.NAME IS 'Наименование'; - --- resultStatus - Статус обработки -DROP TABLE IF EXISTS RESULT_STATUS_DICTIONARY; -CREATE TABLE RESULT_STATUS_DICTIONARY(ID bigint PRIMARY KEY, CODE 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 'Статус обработки'; - --- 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 'Текст ошибки'; - --- 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 bigint, ERROR_TEXT varchar(4)); -COMMENT ON TABLE USER_CONNECT IS 'Активность пользователей в системе'; - -COMMENT ON COLUMN USER_CONNECT.ID IS 'Идентификатор'; - -COMMENT ON COLUMN USER_CONNECT.CREATED_AT IS 'Создано'; - -COMMENT ON COLUMN USER_CONNECT.UPDATED_AT IS 'Изменено'; - -COMMENT ON COLUMN USER_CONNECT.USER_ID IS 'Пользователь (linked to userCls)'; - -COMMENT ON COLUMN USER_CONNECT.CONNECTION_TIME IS 'Последнее соединение'; - -COMMENT ON COLUMN USER_CONNECT.DISCONNECTION_TIME IS 'Разрыв соединения'; - -COMMENT ON COLUMN USER_CONNECT.SERVER_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 IS 'Код ошибки (linked to errorCode)'; - -COMMENT ON COLUMN USER_CONNECT.ERROR_TEXT IS 'Полный текст ошибки (linked to errorText)'; - - --- History log of userConnect - Активность пользователей в системе -DROP TABLE IF EXISTS USER_CONNECT_HISTORY; -CREATE TABLE USER_CONNECT_HISTORY(USER_CONNECT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, 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 bigint, ERROR_TEXT varchar(4)); -COMMENT ON TABLE USER_CONNECT_HISTORY IS 'История изменений таблицы userConnect'; -COMMENT ON COLUMN USER_CONNECT_HISTORY.USER_CONNECT_ID IS 'Идентификатор записи в таблице USER_CONNECT'; -COMMENT ON COLUMN USER_CONNECT_HISTORY.EVENT_TIME IS 'Дата и время изменения'; -COMMENT ON COLUMN USER_CONNECT_HISTORY.EVENT_USER_ID IS 'Инициатор изменения'; -COMMENT ON COLUMN USER_CONNECT_HISTORY.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 IS 'Код ошибки (linked to errorCode)'; - -COMMENT ON COLUMN USER_CONNECT_HISTORY.ERROR_TEXT IS 'Полный текст ошибки (linked to errorText)'; - --- 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 moneyMarketSecurity)'; - -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 moneyMarketSecurity)'; - -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 moneyMarketSecurity)'; - -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 'Изменено'; - --- 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 'Идентификатор записи'; - --- 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 'Идентификатор записи'; - --- 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 'Идентификатор записи'; - --- 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 'Идентификатор записи'; - --- companyRoleSet - Таблица ролей Компании -DROP TABLE IF EXISTS COMPANY_ROLE_SET; -CREATE TABLE COMPANY_ROLE_SET(COMPANY_ID bigint, ROLE_ID bigint, 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.ROLE_ID IS 'Значение справочника (linked to companyRole)'; - -COMMENT ON COLUMN COMPANY_ROLE_SET.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)'; - --- 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), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, 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.WORKFLOW_STATUS IS 'Наименование статуса (linked to workflowStatus)'; - -COMMENT ON COLUMN SECURITY.ID 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), WORKFLOW_STATUS varchar(4), ID bigint PRIMARY KEY, 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.WORKFLOW_STATUS IS 'Наименование статуса (linked to workflowStatus)'; - -COMMENT ON COLUMN SECURITY_HISTORY.ID 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,2), 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,2), 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 'Идентификатор записи'; - --- 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 currency)'; - -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 currency)'; - -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), SECTOR 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 currency)'; - -COMMENT ON COLUMN MARKET.SECTOR IS 'Наименование секции (linked to sector)'; - -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), SECTOR 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 currency)'; - -COMMENT ON COLUMN MARKET_HISTORY.SECTOR IS 'Наименование секции (linked to sector)'; - -COMMENT ON COLUMN MARKET_HISTORY.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN MARKET_HISTORY.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN MARKET_HISTORY.UPDATED_AT IS 'Дата и время изменения записи'; - --- accountBalance - Информация об остатках ден. средств -DROP TABLE IF EXISTS ACCOUNT_BALANCE; -CREATE TABLE ACCOUNT_BALANCE(COMPANY_ID bigint, ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), OPEN_BALANCE_AMOUNT numeric(72,18), START_BALANCE_AMOUNT numeric(72,18), CLOSE_BALANCE_AMOUNT numeric(72,18), TRADE_BALANCE_AMOUNT numeric(72,18), FREE_BALANCE_AMOUNT numeric(72,18), CHANGE_BALANCE_AMOUNT numeric(72,18), CREDIT_AMOUNT numeric(72,18), DEBIT_AMOUNT numeric(72,18), BALANCE_AMOUNT numeric(72,18), BALANCE_ACCOUNT_TYPE varchar(4), CLEARING_DATE date, CURRENCY_CODE varchar(4), TRADING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), 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.ACCOUNT_ID IS 'Наименование счета (linked to account)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.ACCOUNT IS 'Наименование счета'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.OPEN_BALANCE_AMOUNT IS 'Начальная сумма после расчетной организации'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.START_BALANCE_AMOUNT IS 'Начальная сумма остатков ден. средств на начало работы'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.CLOSE_BALANCE_AMOUNT IS 'Конечная сумма остатков ден. средств на счете'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.TRADE_BALANCE_AMOUNT IS 'Регистр «Денежные средства Участника клиринга – блокированные»'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.FREE_BALANCE_AMOUNT IS 'Регистр «Денежные средства Участника клиринга – свободные»'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.CHANGE_BALANCE_AMOUNT IS 'Сумма изменения остатков ден. средств на счете'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.CREDIT_AMOUNT IS 'Зачисления'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.DEBIT_AMOUNT IS 'Списания'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.BALANCE_AMOUNT IS 'Денежные средства Участника клиринга, зарезервированные на торги'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.BALANCE_ACCOUNT_TYPE IS 'Тип баланса (linked to balanceAccountType)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.CLEARING_DATE IS 'Дата расчета'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.CURRENCY_CODE IS 'Код валюты (linked to currency)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.TRADING_CODE IS 'Торговый код Участника (linked to company)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.SHORT_NAME IS 'Короткое наименование Участника (linked to company)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE.FULL_NAME IS 'Полное наименование Участника (linked to company)'; - -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, ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), OPEN_BALANCE_AMOUNT numeric(72,18), START_BALANCE_AMOUNT numeric(72,18), CLOSE_BALANCE_AMOUNT numeric(72,18), TRADE_BALANCE_AMOUNT numeric(72,18), FREE_BALANCE_AMOUNT numeric(72,18), CHANGE_BALANCE_AMOUNT numeric(72,18), CREDIT_AMOUNT numeric(72,18), DEBIT_AMOUNT numeric(72,18), BALANCE_AMOUNT numeric(72,18), BALANCE_ACCOUNT_TYPE varchar(4), CLEARING_DATE date, CURRENCY_CODE varchar(4), TRADING_CODE varchar(255), SHORT_NAME varchar(255), FULL_NAME varchar(255), 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.ACCOUNT_ID IS 'Наименование счета (linked to account)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.ACCOUNT IS 'Наименование счета'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.OPEN_BALANCE_AMOUNT IS 'Начальная сумма после расчетной организации'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.START_BALANCE_AMOUNT IS 'Начальная сумма остатков ден. средств на начало работы'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CLOSE_BALANCE_AMOUNT IS 'Конечная сумма остатков ден. средств на счете'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.TRADE_BALANCE_AMOUNT IS 'Регистр «Денежные средства Участника клиринга – блокированные»'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.FREE_BALANCE_AMOUNT IS 'Регистр «Денежные средства Участника клиринга – свободные»'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CHANGE_BALANCE_AMOUNT IS 'Сумма изменения остатков ден. средств на счете'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CREDIT_AMOUNT IS 'Зачисления'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.DEBIT_AMOUNT IS 'Списания'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.BALANCE_AMOUNT IS 'Денежные средства Участника клиринга, зарезервированные на торги'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.BALANCE_ACCOUNT_TYPE IS 'Тип баланса (linked to balanceAccountType)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CLEARING_DATE IS 'Дата расчета'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.CURRENCY_CODE IS 'Код валюты (linked to currency)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.TRADING_CODE IS 'Торговый код Участника (linked to company)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.SHORT_NAME IS 'Короткое наименование Участника (linked to company)'; - -COMMENT ON COLUMN ACCOUNT_BALANCE_HISTORY.FULL_NAME IS 'Полное наименование Участника (linked to company)'; - -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); -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, ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), LIABILITIES_AMOUNT numeric(72,2), CLAIMS_AMOUNT numeric(72,2), SETTLEMENT_DATE date, TRADING_DATE date, CURRENCY varchar(4), TRADING_CODE varchar(255), SHORT_NAME 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.ACCOUNT_ID IS 'Наименование счета (linked to account)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.ACCOUNT IS 'Наименование счета'; - -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.CURRENCY IS 'Код валюты (linked to currencyCode)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.TRADING_CODE IS 'Торговый код Участника (linked to company)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.SHORT_NAME IS 'Короткое наименование Участника (linked to company)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_MONEY.FULL_NAME IS 'Полное наименование Участника (linked to company)'; - -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, ACCOUNT_ID bigint, ACCOUNT_TYPE varchar(4), ACCOUNT varchar(50), LIABILITIES_QUANTITY numeric(72,18), CLAIMS_QUANTITY numeric(72,18), CURRENCY varchar(4), SETTLEMENT_DATE date, TRADING_DATE date, REFUND_DATE date, PRICE numeric(72,18), SECURITY_ID bigint, TRADING_CODE varchar(255), CLEARING_CODE varchar(255), SHORT_NAME varchar(255), CONTRACT varchar(255), COMMENT varchar(255), FULL_NAME varchar(255), PARENT_ID bigint, LIABILITIES_CLAIMS_MONEY_ID bigint, 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.ACCOUNT_ID IS 'Наименование счета (linked to account)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ACCOUNT_TYPE IS 'Тип счета (linked to accountType)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.ACCOUNT IS 'Наименование счета'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.LIABILITIES_QUANTITY IS 'Сумма обязательств'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLAIMS_QUANTITY IS 'Сумма требований'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CURRENCY IS 'Код валюты (linked to currencyCode)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SETTLEMENT_DATE IS 'Дата расчета'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.TRADING_DATE IS 'Дата торгов'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.REFUND_DATE IS 'Дата возврата'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.PRICE IS 'Ставка по депозиту'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SECURITY_ID IS 'Инструмент (linked to moneyMarketSecurity)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.TRADING_CODE IS 'Торговый код Участника (linked to company)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CLEARING_CODE IS 'Клиринговый код Участника (linked to company)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.SHORT_NAME IS 'Короткое наименование Участника (linked to company)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.CONTRACT IS 'Номер договора'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.COMMENT IS 'Комментарий'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.FULL_NAME IS 'Полное наименование Участника (linked to company)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.PARENT_ID IS 'Запись основного договора без разделения'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.LIABILITIES_CLAIMS_MONEY_ID IS 'Регистры денежных средств (linked to liabilitiesClaimsMoney)'; - -COMMENT ON COLUMN LIABILITIES_CLAIMS_ASSETS.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 bigint, DEBIT_LEG_AMOUNT bigint, CREDIT_LEG_ACCOUNT_ID bigint, CREDIT_CS_ACCOUNT varchar(255), CREDIT_LEG_ACCOUNT varchar(50), DEBIT_LEG_ACCOUNT_ID bigint, DEBIT_CS_ACCOUNT varchar(255), DEBIT_LEG_ACCOUNT varchar(50), CREDIT_LEG_DIRECTION bigint, DEBIT_LEG_DIRECTION bigint, CREDIT_LEG_CURRENCY_CODE varchar(4), DEBIT_LEG_CURRENCY_CODE varchar(4), TRANSACTION_STATUS varchar(4), DOCUMENT_NUMBER varchar(255), ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_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.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN PAYMENT_INSTRUCTION.UPDATED_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)'; - --- errorText - Полные тексты ошибок -DROP TABLE IF EXISTS ERROR_TEXT; -CREATE TABLE ERROR_TEXT(ID bigint PRIMARY KEY, CREATED_AT timestamp, UPDATED_AT timestamp, ERROR_CODE varchar(4), TEXT varchar(255), USER_ID bigint, CLEARING_DATE date); -COMMENT ON TABLE ERROR_TEXT IS 'Полные тексты ошибок'; - -COMMENT ON COLUMN ERROR_TEXT.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN ERROR_TEXT.CREATED_AT IS 'Дата и время создания записи'; - -COMMENT ON COLUMN ERROR_TEXT.UPDATED_AT IS 'Дата и время изменения записи'; - -COMMENT ON COLUMN ERROR_TEXT.ERROR_CODE IS 'Код ошибки (linked to errorCode)'; - -COMMENT ON COLUMN ERROR_TEXT.TEXT IS 'Полный текст ошибки'; - -COMMENT ON COLUMN ERROR_TEXT.USER_ID IS 'Автор сообщения (linked to userCls)'; - -COMMENT ON COLUMN ERROR_TEXT.CLEARING_DATE IS 'Текущая дата'; - --- sDf01 - ДФ-01 Информация о денежных средствах, находящихся на торговых банковских счетах Участников клиринга -DROP TABLE IF EXISTS S_DF01; -CREATE TABLE S_DF01(ID bigint PRIMARY KEY, CURR_CODE varchar(12), ACCOUNT varchar(35), REMAINDER varchar(22), DEAL varchar(10), ACC_CODE varchar(5), DAT varchar(8), MARKET varchar(1), ACC_NAME varchar(30), ACC_TYPE varchar(2), SUMENGAGE varchar(22), SUMUNBLOCK varchar(22), FILE_TYPE varchar(1), FILE_NAME varchar(255), GENERATION_TIME timestamp, GENERATION_ID bigint); -COMMENT ON TABLE S_DF01 IS 'ДФ-01 Информация о денежных средствах, находящихся на торговых банковских счетах Участников клиринга'; - -COMMENT ON COLUMN S_DF01.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN S_DF01.CURR_CODE IS 'Код валюты'; - -COMMENT ON COLUMN S_DF01.ACCOUNT IS 'Код счета участника клиринга'; - -COMMENT ON COLUMN S_DF01.REMAINDER IS 'Остаток денежных средств'; - -COMMENT ON COLUMN S_DF01.DEAL IS 'Биржевой код участника клиринга'; - -COMMENT ON COLUMN S_DF01.ACC_CODE IS 'Не используется в Системе'; - -COMMENT ON COLUMN S_DF01.DAT IS 'Дата расчетов'; - -COMMENT ON COLUMN S_DF01.MARKET IS 'Биржевая секция'; - -COMMENT ON COLUMN S_DF01.ACC_NAME IS 'Наименование участника клиринга'; - -COMMENT ON COLUMN S_DF01.ACC_TYPE IS 'Признак счета'; - -COMMENT ON COLUMN S_DF01.SUMENGAGE IS 'Не используется в Системе'; - -COMMENT ON COLUMN S_DF01.SUMUNBLOCK IS 'Не используется в Системе'; - -COMMENT ON COLUMN S_DF01.FILE_TYPE IS 'Не используется в Системе'; - -COMMENT ON COLUMN S_DF01.FILE_NAME IS 'Наименование входящего файла'; - -COMMENT ON COLUMN S_DF01.GENERATION_TIME IS 'Дата и время обработки файла'; - -COMMENT ON COLUMN S_DF01.GENERATION_ID IS 'Идентификатор взаимодействия'; - --- sDf02 - ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке -DROP TABLE IF EXISTS S_DF02; -CREATE TABLE S_DF02(ID bigint PRIMARY KEY, CURR_CODE varchar(12), ACCOUNT varchar(35), REMAINDER varchar(22), DEAL varchar(10), ACC_CODE varchar(5), DAT varchar(8), MARKET varchar(1), ACC_NAME varchar(30), ACC_TYPE varchar(2), SUMENGAGE varchar(22), SUMUNBLOCK varchar(22), FILE_TYPE varchar(1), RESULT varchar(3), GENERATION_TIME timestamp, GENERATION_ID bigint, IN_S_DF01_ID bigint); -COMMENT ON TABLE S_DF02 IS 'ДФ-02 Уведомление об исполнении операции загрузки денежных средств или уведомление об ошибке'; - -COMMENT ON COLUMN S_DF02.ID IS 'Идентификатор записи'; - -COMMENT ON COLUMN S_DF02.CURR_CODE IS 'Код валюты'; - -COMMENT ON COLUMN S_DF02.ACCOUNT IS 'Код счета участника клиринга'; - -COMMENT ON COLUMN S_DF02.REMAINDER IS 'Остаток денежных средств'; - -COMMENT ON COLUMN S_DF02.DEAL IS 'Биржевой код участника клиринга'; - -COMMENT ON COLUMN S_DF02.ACC_CODE IS 'Не используется в Системе'; - -COMMENT ON COLUMN S_DF02.DAT IS 'Дата расчетов'; - -COMMENT ON COLUMN S_DF02.MARKET IS 'Биржевая секция'; - -COMMENT ON COLUMN S_DF02.ACC_NAME IS 'Наименование участника клиринга'; - -COMMENT ON COLUMN S_DF02.ACC_TYPE IS 'Признак счета'; - -COMMENT ON COLUMN S_DF02.SUMENGAGE IS 'Не используется в Системе'; - -COMMENT ON COLUMN S_DF02.SUMUNBLOCK IS 'Не используется в Системе'; - -COMMENT ON COLUMN S_DF02.FILE_TYPE IS 'Не используется в Системе'; - -COMMENT ON COLUMN S_DF02.RESULT IS 'Результат обработки каждой записи исходного файла ДФ-01'; - -COMMENT ON COLUMN S_DF02.GENERATION_TIME IS 'Дата и время создания записи'; - -COMMENT ON COLUMN S_DF02.GENERATION_ID IS 'Идентификатор взаимодействия'; - -COMMENT ON COLUMN S_DF02.IN_S_DF01_ID IS 'Идентификатор соответствующей записи из таблицы-источника'; - --- sDf03 - ДФ-03 Сводное платежное поручение -DROP TABLE IF EXISTS S_DF03; -CREATE TABLE S_DF03(ID bigint PRIMARY KEY, SEG_TYPE varchar(1), DOC_TYPE varchar, DOCNM_REF varchar(16), DOCNMPREV varchar(16), PRIORITY varchar(1), SBANKCODE varchar(12), C_ACC_DEB varchar(35), SBANKNAM1 varchar(35), SBANKNAM2 varchar(35), SBANKNAM3 varchar(35), SBANKNAM4 varchar(35), SBANKNAM5 varchar(35), RBANKCODE varchar(12), C_ACC_CRED varchar(35), RBANKNAM1 varchar(35), RBANKNAM2 varchar(35), RBANKNAM3 varchar(35), RBANKNAM4 varchar(35), RBANKNAM5 varchar(35), PAY_DATE varchar, EXT_DATE varchar, PAY_VAL varchar(12), SUM_DEB varchar, SCLIENTN1 varchar(35), SCLIENTN2 varchar(35), SCLIENTN3 varchar(35), SCLIENTN4 varchar(35), SC_CODE varchar(12), ACC_DEB varchar(35), RCLIENTN1 varchar(35), RCLIENTN2 varchar(35), RCLIENTN3 varchar(35), RCLIENTN4 varchar(35), ACC_KR_1 varchar(35), ACC_KR_2 varchar(35), SP_CODE varchar(2), SPECIF_1 varchar(35), SPECIF_2 varchar(35), SPECIF_3 varchar(35), SPECIF_4 varchar(35), SPECIF_5 varchar(35), SPECIF_6 varchar(35), SEND_TYPE varchar(10), SERVDATE varchar(8), DOC_RESULT varchar(2), IMP_RESULT varchar(3), GENERATION_TIME timestamp, GENERATION_ID bigint, 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/clearing-parent/registry-service/pom.xml b/clearing-parent/registry-service/pom.xml index 28501d997..4b76a440c 100644 --- a/clearing-parent/registry-service/pom.xml +++ b/clearing-parent/registry-service/pom.xml @@ -69,6 +69,23 @@ ${project.artifactId} + + org.apache.maven.plugins + maven-surefire-plugin + 2.21.0 + + + org.junit.platform + junit-platform-surefire-provider + 1.2.0-M1 + + + org.junit.jupiter + junit-jupiter-engine + 5.2.0-M1 + + + diff --git a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/config/HazelcastServiceTestConfiguration.java b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/config/HazelcastServiceTestConfiguration.java new file mode 100644 index 000000000..a517c8d42 --- /dev/null +++ b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/config/HazelcastServiceTestConfiguration.java @@ -0,0 +1,71 @@ +package ru.spcex.clearing.registry.config; + +import com.hazelcast.config.*; +import com.hazelcast.core.Hazelcast; +import com.hazelcast.core.HazelcastInstance; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import ru.spcex.platform.imdg.iml.hazelcast.config.HazelcastClientParams; +import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; +import ru.spcex.platform.imdg.iml.hazelcast.util.HazelcastHelper; + +import java.util.List; +import java.util.Random; +import java.util.concurrent.atomic.AtomicLong; + +@Configuration +public class HazelcastServiceTestConfiguration { + + public static final AtomicLong currentID = new AtomicLong(0L); + private HazelcastInstance hazelcastInstance; + + private static ThreadPoolTaskExecutor createThreadPoolTaskExecutor(int maxPoolSz, boolean waitForCompletion) { + ThreadPoolTaskExecutor pool = new ThreadPoolTaskExecutor(); + if (maxPoolSz > 2) { + pool.setKeepAliveSeconds(60); + pool.setAllowCoreThreadTimeOut(true); + } + pool.setCorePoolSize(maxPoolSz); + pool.setWaitForTasksToCompleteOnShutdown(waitForCompletion); + return pool; + } + + @Bean(name = "hazelcastServiceTest") + public HazelcastService hazelcastService(@Qualifier("taskExecutorHazelcastClientInitializer") ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer, @Qualifier("taskExecutorIdGeneratorAwaiter") ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter, HazelcastClientParams params) { + Config cfg = new Config(); + cfg.setInstanceName("localhost"); + + NetworkConfig networkConfig = new NetworkConfig(); + JoinConfig joinConfig = new JoinConfig(); + joinConfig.setMulticastConfig(new MulticastConfig().setEnabled(false)); + joinConfig.setTcpIpConfig(new TcpIpConfig().setEnabled(true).setMembers(List.of("127.0.0.1"))); + networkConfig.setJoin(joinConfig); + cfg.setNetworkConfig(networkConfig); + hazelcastInstance = Hazelcast.getOrCreateHazelcastInstance(cfg); + HazelcastHelper.otcSystem_setStorageState(true, hazelcastInstance); + return new HazelcastService(taskExecutorHazelcastClientInitializer, taskExecutorIdGeneratorAwaiter, params); + } + + @Bean(name = "taskExecutorHazelcastClientInitializer") + public ThreadPoolTaskExecutor taskExecutorHazelcastClientInitializer() { + return createThreadPoolTaskExecutor(1, true); + } + + @Bean(name = "taskExecutorIdGeneratorAwaiter") + public ThreadPoolTaskExecutor taskExecutorIdGeneratorAwaiter() { + return createThreadPoolTaskExecutor(1, false); + } + + @Bean(name = "hazelcastClientParams") + public HazelcastClientParams getHazelcastClientParams() { + HazelcastClientParams params = new HazelcastClientParams(); + params.setLogin("dev"); + params.setPassword("dev-pass"); + params.setClusterMembers("127.0.0.1"); + params.setInstanceName("hzTestClient" + new Random().nextInt()); + params.setNearCacheConfig(new NearCacheConfig()); + return params; + } +} diff --git a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/config/KafkaConfigTest.java b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/config/KafkaConfigTest.java new file mode 100644 index 000000000..effdcf574 --- /dev/null +++ b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/config/KafkaConfigTest.java @@ -0,0 +1,44 @@ +package ru.spcex.clearing.registry.config; + + +import org.apache.kafka.clients.consumer.MockConsumer; +import org.apache.kafka.clients.consumer.OffsetResetStrategy; +import org.apache.kafka.clients.producer.Producer; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Scope; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.service.RequestInfo; +import ru.spcex.clearing.platform.messaging.service.sender.KafkaSender; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.api.ImdgId; +import ru.spcex.platform.imdg.api.ImdgProvider; + +@Configuration +public class KafkaConfigTest { + + @Autowired + @Bean(name = "kafkaSenderTest") + public KafkaSender kafkaSender(Producer kafkaProducer, @Qualifier("hazelcastServiceTest") ImdgProvider imdgProvider) { + ImdgId imdgIdGenerator = imdgProvider.getImdgIdGenerator(); + return KafkaSender + .setup() + .producer(kafkaProducer) + .idGenerator(imdgIdGenerator::nextId) + .imdgProvider(s -> { + Imdg imdg = imdgProvider.getImdg(IMDGDistributedNames.Map_RequestInfo, RequestInfo.class); + return imdg::insert; + }) + .build(); + } + + @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) + @Bean(name = "mockConsumerTest") + public MockConsumer createConsumer() { + return new MockConsumer<>(OffsetResetStrategy.EARLIEST); + } + +} diff --git a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/service/AdmittedDealRegisterServiceTest.java b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/service/AdmittedDealRegisterServiceTest.java new file mode 100644 index 000000000..acddc52d4 --- /dev/null +++ b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/service/AdmittedDealRegisterServiceTest.java @@ -0,0 +1,118 @@ +package ru.spcex.clearing.registry.service; + +import org.apache.kafka.clients.consumer.MockConsumer; +import org.apache.kafka.clients.producer.MockProducer; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +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.register.AdmittedDealRegister; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.platform.messaging.domain.BaseRequest; +import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.clearing.platform.messaging.domain.cud.registry.AdmittedDealRegisterNewRequest; +import ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration; +import ru.spcex.clearing.registry.config.KafkaConfigTest; +import ru.spcex.clearing.registry.utils.MatcherFactory; +import ru.spcex.platform.imdg.api.Imdg; +import ru.spcex.platform.imdg.iml.hazelcast.service.HazelcastService; + +import javax.annotation.PostConstruct; +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +import static ru.spcex.clearing.registry.config.HazelcastServiceTestConfiguration.currentID; +import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator; +import static ru.spcex.clearing.registry.utils.TestUtils.*; + +@ExtendWith(SpringExtension.class) +@ContextConfiguration(classes = { + AdmittedDealRegisterService.class, + KafkaConfigTest.class, + HazelcastServiceTestConfiguration.class}) +class AdmittedDealRegisterServiceTest { + + public static final MatcherFactory.Matcher ADMITTED_DEAL_REGISTER_MATCHER = usingIgnoringFieldsComparator(); + private static final int PARTITION = 0; + private static final String TOPIC_REGISTRY_ADMITTED_DEAL_REGISTER_NEW = Consts.REGISTRY_ADMITTED_DEAL_REGISTER_NEW; + private static final Long ID = currentID.getAndIncrement(); + @Autowired + AdmittedDealRegisterService admittedDealRegisterService; + @Autowired + @Qualifier("hazelcastServiceTest") + private HazelcastService hazelcastServiceTest; + private Imdg admittedDealRegisterMap; + + @Captor + private ArgumentCaptor producerRecord; + @SpyBean + private MockProducer mockProducer; + + @PostConstruct + private void init() { + hazelcastServiceTest.waitAvailable(); + this.admittedDealRegisterMap = hazelcastServiceTest.getImdg(IMDGDistributedNames.Map_AdmittedDealRegister, AdmittedDealRegister.class); + } + + /** + * {@link AdmittedDealRegisterService#admittedDealRegisterNew(BaseRequest)}
+ * Тест проверяет создание сущности {@link AdmittedDealRegister} в Hazelcast при передаче из Apache Kafka.
+ * Входной запрос {@link AdmittedDealRegisterNewRequest}:
+ */ + @Test + void admittedDealRegisterNew() { + //ARRANGE + Long executionId = 1234L; + AdmittedDealRegisterNewRequest admittedDealRegisterNewRequest = new AdmittedDealRegisterNewRequest(); + admittedDealRegisterNewRequest.setExecutionId(executionId); + admittedDealRegisterNewRequest.setCompanyFullName("companyFullName"); + admittedDealRegisterNewRequest.setTradingDate(LocalDate.now()); + admittedDealRegisterNewRequest.setExchangeExecutionId(1L); + admittedDealRegisterNewRequest.setExchangeExecutionTime(Instant.now()); + admittedDealRegisterNewRequest.setSecuritySymbol("symbol"); + admittedDealRegisterNewRequest.setSecurityFullName("full name"); + admittedDealRegisterNewRequest.setSellerFullName("full name"); + admittedDealRegisterNewRequest.setSellerClearingCode("code"); + admittedDealRegisterNewRequest.setSellerAccount("1561658"); + admittedDealRegisterNewRequest.setBuyerFullName("full name"); + admittedDealRegisterNewRequest.setBuyerClearingCode("ClearingCode"); + admittedDealRegisterNewRequest.setBuyerAccount("65464643"); + admittedDealRegisterNewRequest.setAmount(new BigDecimal(12)); + admittedDealRegisterNewRequest.setClearingDate(LocalDate.now()); + + AdmittedDealRegister predictableAdmittedDealRegister = new AdmittedDealRegister(); + predictableAdmittedDealRegister.setExecutionId(admittedDealRegisterNewRequest.getExecutionId()); + predictableAdmittedDealRegister.setCompanyFullName(admittedDealRegisterNewRequest.getCompanyFullName()); + predictableAdmittedDealRegister.setTradingDate(admittedDealRegisterNewRequest.getTradingDate()); + predictableAdmittedDealRegister.setExchangeExecutionId(admittedDealRegisterNewRequest.getExchangeExecutionId()); + predictableAdmittedDealRegister.setExchangeExecutionTime(admittedDealRegisterNewRequest.getExchangeExecutionTime()); + predictableAdmittedDealRegister.setSecuritySymbol(admittedDealRegisterNewRequest.getSecuritySymbol()); + predictableAdmittedDealRegister.setSecurityFullName(admittedDealRegisterNewRequest.getSecurityFullName()); + predictableAdmittedDealRegister.setSellerFullName(admittedDealRegisterNewRequest.getSellerFullName()); + predictableAdmittedDealRegister.setSellerClearingCode(admittedDealRegisterNewRequest.getSellerClearingCode()); + predictableAdmittedDealRegister.setSellerAccount(admittedDealRegisterNewRequest.getSellerAccount()); + predictableAdmittedDealRegister.setBuyerFullName(admittedDealRegisterNewRequest.getBuyerFullName()); + predictableAdmittedDealRegister.setBuyerClearingCode(admittedDealRegisterNewRequest.getBuyerClearingCode()); + predictableAdmittedDealRegister.setBuyerAccount(admittedDealRegisterNewRequest.getBuyerAccount()); + predictableAdmittedDealRegister.setAmount(admittedDealRegisterNewRequest.getAmount()); + predictableAdmittedDealRegister.setClearingDate(admittedDealRegisterNewRequest.getClearingDate()); + + //ACT + String jsonString = getJsonStringForNew(admittedDealRegisterNewRequest, ID); + + addRecordToKafka((MockConsumer) admittedDealRegisterService.getConsumer(), TOPIC_REGISTRY_ADMITTED_DEAL_REGISTER_NEW, PARTITION, 0, jsonString); + + //ASSERT + waitingWhenAddedRecordAndCheckIt(ID, mockProducer, producerRecord); + AdmittedDealRegister resultNew = admittedDealRegisterMap.getSingleObjectBySQL(String.format("executionId = %d", executionId)); + predictableAdmittedDealRegister.setId(resultNew.getId()); + ADMITTED_DEAL_REGISTER_MATCHER.assertMatch(resultNew, predictableAdmittedDealRegister); + } +} \ No newline at end of file diff --git a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/MatcherFactory.java b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/MatcherFactory.java new file mode 100644 index 000000000..bd87052c0 --- /dev/null +++ b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/MatcherFactory.java @@ -0,0 +1,38 @@ +package ru.spcex.clearing.registry.utils; + +import java.util.Arrays; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Factory for creating test matchers. + *

+ * Comparing actual and expected objects via AssertJ + */ +public class MatcherFactory { + + public static Matcher usingIgnoringFieldsComparator(String... fieldsToIgnore) { + return new Matcher<>(fieldsToIgnore); + } + + public static class Matcher { + private final String[] fieldsToIgnore; + + private Matcher(String... fieldsToIgnore) { + this.fieldsToIgnore = fieldsToIgnore; + } + + public void assertMatch(T actual, T expected) { + assertThat(actual).usingRecursiveComparison().ignoringFields(fieldsToIgnore).isEqualTo(expected); + } + + @SafeVarargs + public final void assertMatch(Iterable actual, T... expected) { + assertMatch(actual, Arrays.asList(expected)); + } + + public void assertMatch(Iterable actual, Iterable expected) { + assertThat(actual).usingRecursiveFieldByFieldElementComparatorIgnoringFields(fieldsToIgnore).isEqualTo(expected); + } + } +} diff --git a/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/TestUtils.java b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/TestUtils.java new file mode 100644 index 000000000..93099808c --- /dev/null +++ b/clearing-parent/registry-service/src/test/java/ru/spcex/clearing/registry/utils/TestUtils.java @@ -0,0 +1,123 @@ +package ru.spcex.clearing.registry.utils; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.kafka.clients.consumer.ConsumerRecord; +import org.apache.kafka.clients.consumer.MockConsumer; +import org.apache.kafka.clients.producer.MockProducer; +import org.apache.kafka.clients.producer.ProducerRecord; +import org.apache.kafka.clients.producer.RecordMetadata; +import org.apache.kafka.common.TopicPartition; +import org.mockito.ArgumentCaptor; +import ru.spcex.clearing.platform.messaging.domain.ActionType; +import ru.spcex.clearing.platform.messaging.domain.BaseRequest; +import ru.spcex.clearing.platform.messaging.domain.Consts; +import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; +import ru.spcex.platform.classes.base.SpcexObjectBase; +import ru.spcex.platform.imdg.api.Imdg; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.timeout; +import static org.mockito.Mockito.verify; +import static ru.spcex.clearing.platform.messaging.service.Status.Success; +import static ru.spcex.clearing.registry.utils.MatcherFactory.usingIgnoringFieldsComparator; + +public class TestUtils { + public static final MatcherFactory.Matcher> BASE_REQUEST_MATCHER = usingIgnoringFieldsComparator(); + private static final ObjectMapper objectMapper = new ObjectMapper(); + + public static void waitingWhenAddedRecordAndCheckIt(Long id, MockProducer mockProducer, ArgumentCaptor producerRecord) { + BaseRequest predictableBaseRequest = new BaseRequest<>(); + predictableBaseRequest.setId(id); + predictableBaseRequest.setActionType(ActionType.SYSTEM); + RequestInfoUpdate requestInfoUpdate = new RequestInfoUpdate(); + requestInfoUpdate.setId(id); + requestInfoUpdate.setStatus(Success); + predictableBaseRequest.setRequestPayload(requestInfoUpdate); + + //waiting for kafka producer send message (finale event) + verify(mockProducer, timeout(30_000L).times(1)) + .send(producerRecord.capture()); + + BaseRequest baseRequestResult = (BaseRequest) producerRecord.getValue().value(); + assertEquals(Consts.REQUEST_INFO_UPDATE, producerRecord.getValue().topic()); + BASE_REQUEST_MATCHER.assertMatch(baseRequestResult, predictableBaseRequest); + } + + public static void addRecordToKafka(MockConsumer mockConsumer, String topic, int partition, long offset, String jsonValue) { + TopicPartition tp = new TopicPartition(topic, partition); + HashMap startOffsets = new HashMap<>(); + startOffsets.put(tp, 0L); + mockConsumer.updateBeginningOffsets(startOffsets); + mockConsumer.schedulePollTask(() -> { + mockConsumer.rebalance(Collections.singletonList(tp)); + mockConsumer.addRecord(new ConsumerRecord<>(topic, partition, offset, "key", jsonValue)); + }); + } + + public static String getJsonStringForNew(T accountRequest, long id) { + return getJsonBaseRequest(accountRequest, id, ActionType.NEW); + } + + public static String getJsonStringForUPDATE(T accountRequest, long id) { + return getJsonBaseRequest(accountRequest, id, ActionType.UPDATE); + } + + public static String getJsonStringForDELETE(T accountRequest, long id) { + return getJsonBaseRequest(accountRequest, id, ActionType.DELETE); + } + + private static String getJsonBaseRequest(T accountRequest, long id, ActionType actionType) { + BaseRequest baseRequest = new BaseRequest<>(); + baseRequest.setRequestPayload(accountRequest); + baseRequest.setId(id); + baseRequest.setActionType(actionType); + String jsonBaseRequest; + try { + jsonBaseRequest = objectMapper.writeValueAsString(baseRequest); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + return jsonBaseRequest; + } + + public static void clearAllInImdg(Imdg imdg) { + Collection values = imdg.getAllValues(); + values.forEach(imdg::delete); + } + + public static class FutureRecordMetadata implements Future { + @Override + public boolean cancel(boolean mayInterruptIfRunning) { + return false; + } + + @Override + public boolean isCancelled() { + return false; + } + + @Override + public boolean isDone() { + return false; + } + + @Override + public RecordMetadata get() throws InterruptedException, ExecutionException { + return null; + } + + @Override + public RecordMetadata get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { + return null; + } + } +} diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/AdmittedDealRegisterNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/AdmittedDealRegisterNewRequest.java index f1b83a027..41870f415 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/AdmittedDealRegisterNewRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/registry/AdmittedDealRegisterNewRequest.java @@ -1,6 +1,12 @@ package ru.spcex.clearing.platform.messaging.domain.cud.registry; import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import ru.spcex.clearing.platform.messaging.domain.json.deserialize.InstantDateTimeDeserializer; +import ru.spcex.clearing.platform.messaging.domain.json.deserialize.LocalDateDeserializer; +import ru.spcex.clearing.platform.messaging.domain.json.serialize.InstantDateTimeSerializer; +import ru.spcex.clearing.platform.messaging.domain.json.serialize.LocalDateSerializer; import java.math.BigDecimal; import java.time.Instant; @@ -11,10 +17,16 @@ public class AdmittedDealRegisterNewRequest { public Long executionId; @JsonProperty public String companyFullName; + + @JsonSerialize(using = LocalDateSerializer.class) + @JsonDeserialize(using = LocalDateDeserializer.class) @JsonProperty public LocalDate tradingDate; @JsonProperty public Long exchangeExecutionId; + + @JsonSerialize(using = InstantDateTimeSerializer.class) + @JsonDeserialize(using = InstantDateTimeDeserializer.class) @JsonProperty public Instant exchangeExecutionTime; @JsonProperty @@ -37,10 +49,19 @@ public class AdmittedDealRegisterNewRequest { public BigDecimal amount; @JsonProperty public Long id; + + @JsonSerialize(using = InstantDateTimeSerializer.class) + @JsonDeserialize(using = InstantDateTimeDeserializer.class) @JsonProperty public Instant createdAt; + + @JsonSerialize(using = InstantDateTimeSerializer.class) + @JsonDeserialize(using = InstantDateTimeDeserializer.class) @JsonProperty public Instant updatedAt; + + @JsonSerialize(using = LocalDateSerializer.class) + @JsonDeserialize(using = LocalDateDeserializer.class) @JsonProperty public LocalDate clearingDate; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/json/deserialize/InstantDateTimeDeserializer.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/json/deserialize/InstantDateTimeDeserializer.java new file mode 100644 index 000000000..99115a1d4 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/json/deserialize/InstantDateTimeDeserializer.java @@ -0,0 +1,23 @@ +package ru.spcex.clearing.platform.messaging.domain.json.deserialize; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.io.IOException; +import java.time.Instant; +import java.time.format.DateTimeFormatter; + +public class InstantDateTimeDeserializer extends JsonDeserializer { + private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z'"); + + @Override + public Instant deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + String date = p.getText(); + if (date == null || date.trim().length() == 0) { + return null; + } + return TimeUtil.parseInstantDateAndTime(date, formatter); + } +} diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/json/serialize/InstantDateTimeSerializer.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/json/serialize/InstantDateTimeSerializer.java new file mode 100644 index 000000000..925498710 --- /dev/null +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/json/serialize/InstantDateTimeSerializer.java @@ -0,0 +1,21 @@ +package ru.spcex.clearing.platform.messaging.domain.json.serialize; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.io.IOException; +import java.time.Instant; +import java.time.format.DateTimeFormatter; + +public class InstantDateTimeSerializer extends JsonSerializer { + private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z'"); + + + @Override + public void serialize(Instant value, JsonGenerator gen, SerializerProvider serializers) throws IOException { + if (value == null) return; + gen.writeString(TimeUtil.formatInstant(value, formatter)); + } +} diff --git a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java index bd7bc0f90..49fcb22b6 100644 --- a/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java +++ b/platform-parent/platform-utils/src/main/java/ru/spcex/platform/utils/time/TimeUtil.java @@ -17,6 +17,10 @@ public class TimeUtil { return LocalDate.parse(date, formatter).atStartOfDay(zone).toInstant(); } + public static Instant parseInstantDateAndTime(String date, DateTimeFormatter formatter) { + return LocalDateTime.parse(date, formatter).atZone(zone).toInstant(); + } + public static String formatInstant(Instant date, DateTimeFormatter formatter) { if (date == null) return null; return formatter.format(date.atZone(zone));