diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeNewAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeNewAction.java index 527f1881f..7b3478e35 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeNewAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeNewAction.java @@ -31,6 +31,9 @@ public class ClientCodeNewAction implements IAction { @ApiModelProperty(value = "Номер депозитарного счета", example = "1234") @JsonProperty private Long depoAccountId; + @ApiModelProperty(value = "Список валютных счетов", example = "[1234,5678]") + @JsonProperty + private List currencyAccountList; @ApiModelProperty(value = "Наименование статуса", example = "ACTV") @JsonProperty private String status; @@ -43,6 +46,7 @@ public class ClientCodeNewAction implements IAction { req.setTradingClearingRegistryId(this.tradingClearingRegistryId); req.setMoneyAccountId(this.moneyAccountId); req.setDepoAccountId(this.depoAccountId); + req.setCurrencyAccountList(this.currencyAccountList); req.setStatus(this.status); return req; } @@ -93,6 +97,14 @@ public class ClientCodeNewAction implements IAction { this.depoAccountId = depoAccountId; } + public List getCurrencyAccountList() { + return currencyAccountList; + } + + public void setCurrencyAccountList(List currencyAccountList) { + this.currencyAccountList = currencyAccountList; + } + public String getStatus() { return status; } diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeUpdateAction.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeUpdateAction.java index d5ff04da8..6b3a5770f 100644 --- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeUpdateAction.java +++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/request/cud/account/ClientCodeUpdateAction.java @@ -32,6 +32,9 @@ public class ClientCodeUpdateAction implements IAction @ApiModelProperty(value = "Номер депозитарного счета", example = "1234") @JsonProperty private Long depoAccountId; + @ApiModelProperty(value = "Список валютных счетов", example = "[1234,5678]") + @JsonProperty + private List currencyAccountList; @ApiModelProperty(value = "Наименование статуса", example = "ACTV") @JsonProperty private String status; @@ -46,6 +49,7 @@ public class ClientCodeUpdateAction implements IAction req.setTradingClearingRegistryId(this.tradingClearingRegistryId); req.setMoneyAccountId(this.moneyAccountId); req.setDepoAccountId(this.depoAccountId); + req.setCurrencyAccountList(this.currencyAccountList); req.setStatus(this.status); return req; } @@ -104,6 +108,14 @@ public class ClientCodeUpdateAction implements IAction this.depoAccountId = depoAccountId; } + public List getCurrencyAccountList() { + return currencyAccountList; + } + + public void setCurrencyAccountList(List currencyAccountList) { + this.currencyAccountList = currencyAccountList; + } + public String getStatus() { return status; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java index 49143d7d8..d2cc9b62e 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/Account.java @@ -14,6 +14,7 @@ public class Account extends BusinessObject { private String account; private String accountType; private Long relationId; + private String currency; private String status; private String processingSign; private Long companyId; @@ -42,6 +43,14 @@ public class Account extends BusinessObject { this.relationId = value; } + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + public String getStatus() { return status; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java index af4a3890d..faaafa6a9 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/ClientCode.java @@ -18,6 +18,7 @@ public class ClientCode extends BusinessObject { private Long tradingClearingRegistryId; private Long moneyAccountId; private Long depoAccountId; + private Long currencyAccountId; private String status; public Long getCompanyId() { @@ -60,6 +61,14 @@ public class ClientCode extends BusinessObject { this.depoAccountId = value; } + public Long getCurrencyAccountId() { + return currencyAccountId; + } + + public void setCurrencyAccountId(Long value) { + this.currencyAccountId = value; + } + public String getStatus() { return status; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/SettlementHouseProperties.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/SettlementHouseProperties.java new file mode 100644 index 000000000..c6c77265d --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/SettlementHouseProperties.java @@ -0,0 +1,33 @@ +package ru.clearing.classes.statics.data.company; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.SpcexObjectBase; + +/** + * Параметры расчетной организации + * + * DB table: SETTLEMENT_HOUSE_PROPERTIES + **/ +public class SettlementHouseProperties extends SpcexObjectBase { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long companyId; + private String currencyCode; + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long value) { + this.companyId = value; + } + + public String getCurrencyCode() { + return currencyCode; + } + + public void setCurrencyCode(String value) { + this.currencyCode = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/SettlementHousePropertiesHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/SettlementHousePropertiesHistory.java new file mode 100644 index 000000000..7b8a40e4f --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/SettlementHousePropertiesHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.company; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Параметры расчетной организации + * + * DB table: SETTLEMENT_HOUSE_PROPERTIES_HISTORY + **/ +public class SettlementHousePropertiesHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private SettlementHouseProperties object; + + @Override + public SettlementHouseProperties getObject() { + return object; + } + + @Override + public void setObject(SettlementHouseProperties object) { + this.object = object; + } +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCurrency.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCurrency.java new file mode 100644 index 000000000..f96b6ab90 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCurrency.java @@ -0,0 +1,180 @@ +package ru.clearing.classes.statics.data.execution; + +import ru.clearing.classes.ConstSerializable; +import ru.spcex.platform.classes.base.interfaces.ExecutionType; + +import java.math.BigDecimal; +import java.time.Instant; +import java.time.LocalDate; + +/** + * Сделки с валютными инструментами + *

+ * DB table: EXECUTION_CURRENCY + **/ +public class ExecutionCurrency extends ExecutionCommon { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + +// private Long exchangeExecutionId; +// private Instant exchangeExecutionTime; + private Instant exchangeExecutionMicroseconds; +// private LocalDate tradingDate; + private LocalDate settlementDate; + private String settlementCode; +// private Long securityId; +// private String securitySymbol; + private String securityName; +// private Long companyId; + private Long partyTradingClearingRegistryId; +// private String partyTradingClearingRegistry; +// private Long counterPartyId; +// private Long counterPartyTradingClearingRegistryId; +// private String counterPartyTradingClearingRegistry; +// private String market; +// private BigDecimal price; + // extend: private BigDecimal lotSize; +// private BigDecimal lots; + private BigDecimal settlementAmount; +// private BigDecimal quantity; +// private String side; + private String currencyCode; + private String settlementOrganization; +// private String coverageStatus; +// private Long sessionId; + private String depoCode; +// private LocalDate clearingDate; + + // --- API ExecutionCommon --- + public ExecutionType type() { + return ExecutionType.ExecutionCurrency; + } + + @Deprecated + @Override + public Long getTradingClearingRegistryId() { + return getPartyTradingClearingRegistryId(); + } + @Deprecated + @Override + public void setTradingClearingRegistryId(Long partyTradingClearingRegistryId) { + setPartyTradingClearingRegistryId(partyTradingClearingRegistryId); + } + @Deprecated + @Override + public BigDecimal getInterestAmount() { + throw new IllegalStateException("Not implemented for ExecutionCurrency"); + } + @Deprecated + @Override + public void setInterestAmount(BigDecimal interestAmount) { + throw new IllegalStateException("Not implemented for ExecutionCurrency"); + } + @Deprecated + @Override + public String getSettlementCurrency() { + throw new IllegalStateException("Not implemented for ExecutionCurrency"); + } + @Deprecated + @Override + public void setSettlementCurrency(String settlementCurrency) { + throw new IllegalStateException("Not implemented for ExecutionCurrency"); + } + + @Deprecated + @Override + public Long getDuration() { + throw new IllegalStateException("Not implemented for ExecutionCurrency"); + } + + @Deprecated + @Override + public void setDuration(Long duration) { + throw new IllegalStateException("Not implemented for ExecutionCurrency"); + } + + @Deprecated + @Override + public String getSecurityFullName() { + return getSecurityName(); + } + + @Deprecated + @Override + public void setSecurityFullName(String securityFullName) { + setSecurityName(securityFullName); + } + // --- end of API --- + + public Instant getExchangeExecutionMicroseconds() { + return exchangeExecutionMicroseconds; + } + + public void setExchangeExecutionMicroseconds(Instant value) { + this.exchangeExecutionMicroseconds = value; + } + + public LocalDate getSettlementDate() { + return settlementDate; + } + + public void setSettlementDate(LocalDate value) { + this.settlementDate = value; + } + + public String getSettlementCode() { + return settlementCode; + } + + public void setSettlementCode(String value) { + this.settlementCode = value; + } + + public String getSecurityName() { + return securityName; + } + + public void setSecurityName(String value) { + this.securityName = value; + } + + public Long getPartyTradingClearingRegistryId() { + return partyTradingClearingRegistryId; + } + + public void setPartyTradingClearingRegistryId(Long value) { + this.partyTradingClearingRegistryId = value; + } + + public BigDecimal getSettlementAmount() { + return settlementAmount; + } + + public void setSettlementAmount(BigDecimal value) { + this.settlementAmount = value; + } + + public String getCurrencyCode() { + return currencyCode; + } + + public void setCurrencyCode(String currencyCode) { + this.currencyCode = currencyCode; + } + + public String getSettlementOrganization() { + return settlementOrganization; + } + + public void setSettlementOrganization(String value) { + this.settlementOrganization = value; + } + + public String getDepoCode() { + return depoCode; + } + + public void setDepoCode(String value) { + this.depoCode = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCurrencyHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCurrencyHistory.java new file mode 100644 index 000000000..b4f926ebe --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/execution/ExecutionCurrencyHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.execution; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Сделки с валютными инструментами + *

+ * DB table: EXECUTION_CURRENCY_HISTORY + **/ +public class ExecutionCurrencyHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private ExecutionCurrency object; + + @Override + public ExecutionCurrency getObject() { + return object; + } + + @Override + public void setObject(ExecutionCurrency object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/Listing.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/Listing.java index 76ed88589..a1c29ebb5 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/Listing.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/Listing.java @@ -13,6 +13,8 @@ public class Listing extends BusinessObject { private String symbolName; private String tradingCurrency; private String workflowStatus; + private BigDecimal minStep; + private BigDecimal precision; public Long getSecurityId() { return securityId; @@ -69,4 +71,20 @@ public class Listing extends BusinessObject { public void setWorkflowStatus(String workflowStatus) { this.workflowStatus = workflowStatus; } + + public BigDecimal getMinStep() { + return minStep; + } + + public void setMinStep(BigDecimal minStep) { + this.minStep = minStep; + } + + public BigDecimal getPrecision() { + return precision; + } + + public void setPrecision(BigDecimal precision) { + this.precision = precision; + } } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java index 8571a4cc5..a59a0050d 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/DepoBalanceRegister.java @@ -17,6 +17,8 @@ public class DepoBalanceRegister extends BusinessObject { private Long companyId; private Long sessionId; + private String setHouseName; + private String number; private String depoCode; private BigDecimal quantity; private String securitySymbol; @@ -36,6 +38,20 @@ public class DepoBalanceRegister extends BusinessObject { this.sessionId=value; } + public String getSetHouseName() { + return setHouseName; + } + public void setSetHouseName(String value) { + this.setHouseName=value; + } + + public String getNumber() { + return number; + } + public void setNumber(String value) { + this.number=value; + } + public String getDepoCode() { return depoCode; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/GatewayResult.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/GatewayResult.java new file mode 100644 index 000000000..3180a52a8 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/GatewayResult.java @@ -0,0 +1,61 @@ +package ru.clearing.classes.statics.data.register; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessObject; + +/** + * Результат запроса к gateway + *

+ * DB table: GATEWAY_RESULT + **/ +public class GatewayResult extends BusinessObject { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private String requestId; + private String nameRequest; + private String request; + private String result; + private String gatewayResultStatus; + + + public String getRequestId() { + return requestId; + } + + public void setRequestId(String value) { + this.requestId = value; + } + + public String getNameRequest() { + return nameRequest; + } + + public void setNameRequest(String value) { + this.nameRequest = value; + } + + public String getRequest() { + return request; + } + + public void setRequest(String value) { + this.request = value; + } + + public String getResult() { + return result; + } + + public void setResult(String value) { + this.result = value; + } + + public String getGatewayResultStatus() { + return gatewayResultStatus; + } + + public void setGatewayResultStatus(String value) { + this.gatewayResultStatus = value; + } + +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java index dff2d1116..171dbae13 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/MoneyBalanceRegister.java @@ -14,6 +14,8 @@ public class MoneyBalanceRegister extends BusinessObject { private static final long serialVersionUID = ConstSerializable.serialVersionUID; private String setHouseName; + private String number; + private String currencyCode; private String account; private String infoAccount; private BigDecimal remainderSum; @@ -24,30 +26,6 @@ public class MoneyBalanceRegister extends BusinessObject { private String companyFullName; private Long companyId; - public static MoneyBalanceRegister makeMoneyBalanceRegister(String setHouseName, - String account, - String infoAccount, - BigDecimal remainderSum, - BigDecimal blockedSum, - BigDecimal unblockedSum, - String inn, - Long sessionId, - String companyFullName, - Long companyId) { - MoneyBalanceRegister moneyBalanceRegister = new MoneyBalanceRegister(); - moneyBalanceRegister.setSetHouseName(setHouseName); - moneyBalanceRegister.setAccount(account); - moneyBalanceRegister.setInfoAccount(infoAccount); - moneyBalanceRegister.setRemainderSum(remainderSum); - moneyBalanceRegister.setBlockedSum(blockedSum); - moneyBalanceRegister.setUnblockedSum(unblockedSum); - moneyBalanceRegister.setInn(inn); - moneyBalanceRegister.setSessionId(sessionId); - moneyBalanceRegister.setCompanyFullName(companyFullName); - moneyBalanceRegister.setCompanyId(companyId); - return moneyBalanceRegister; - } - public String getSetHouseName() { return setHouseName; } @@ -56,6 +34,22 @@ public class MoneyBalanceRegister extends BusinessObject { this.setHouseName = value; } + public String getNumber() { + return number; + } + + public void setNumber(String value) { + this.number = value; + } + + public String getCurrencyCode() { + return currencyCode; + } + + public void setCurrencyCode(String value) { + this.currencyCode = value; + } + public String getAccount() { return account; } diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/PairSdf.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/PairSdf.java new file mode 100644 index 000000000..96896d0c6 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/register/PairSdf.java @@ -0,0 +1,51 @@ +package ru.clearing.classes.statics.data.register; +//todo в какой пэкэдж - в data.sdf; или data.registers;? +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessObject; + +/** + * Пары файлов + * + * DB table: PAIR_SDF + **/ +public class PairSdf extends BusinessObject { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private String inSDfId; + private String inSDf; + private String outSDfId; + private String outSDf; + + public String getInSDfId() { + return inSDfId; + } + + public void setInSDfId(String value) { + this.inSDfId = value; + } + + public String getInSDf() { + return inSDf; + } + + public void setInSDf(String value) { + this.inSDf = value; + } + + public String getOutSDfId() { + return outSDfId; + } + + public void setOutSDfId(String value) { + this.outSDfId = value; + } + + public String getOutSDf() { + return outSDf; + } + + public void setOutSDf(String value) { + this.outSDf = value; + } + +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryList.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryList.java new file mode 100644 index 000000000..a506cc37f --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryList.java @@ -0,0 +1,51 @@ +package ru.clearing.classes.statics.data.registry; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessObject; + +/** + * Список счетов ТКР + *

+ * DB table: TRADING_CLEARING_REGISTRY_LIST + **/ +public class TradingClearingRegistryList extends BusinessObject { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private Long tradingClearingRegistryId; + private Long accountId; + private String currency; + private String status; + + public Long getTradingClearingRegistryId() { + return tradingClearingRegistryId; + } + + public void setTradingClearingRegistryId(Long value) { + this.tradingClearingRegistryId = value; + } + + public Long getAccountId() { + return accountId; + } + + public void setAccountId(Long value) { + this.accountId = value; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String value) { + this.currency = value; + } + + public String getStatus() { + return status; + } + + public void setStatus(String value) { + this.status = value; + } + +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryListHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryListHistory.java new file mode 100644 index 000000000..5c8f6878f --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/registry/TradingClearingRegistryListHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.registry; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Список счетов ТКР + *

+ * DB table: TRADING_CLEARING_REGISTRY_LIST_HISTORY + **/ +public class TradingClearingRegistryListHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private TradingClearingRegistryList object; + + @Override + public TradingClearingRegistryList getObject() { + return object; + } + + @Override + public void setObject(TradingClearingRegistryList object) { + this.object = object; + } +} diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf06.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf06.java index 7fc04551f..e96043ce8 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf06.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf06.java @@ -6,6 +6,7 @@ import ru.spcex.platform.classes.base.interfaces.WithFileName; import java.math.BigDecimal; import java.time.Instant; +import java.time.LocalDate; /** * ДФ-06 Запрос на зачисление/списание денежных средств @@ -28,6 +29,9 @@ public class SDf06 extends SpcexObjectBase implements WithFileName { private String fileName; private Instant generationTime; private Long generationId; + private String Doc_Num; + private LocalDate Doc_Date; + private String pay_val; public String getAccount() { return account; @@ -133,4 +137,25 @@ public class SDf06 extends SpcexObjectBase implements WithFileName { this.generationId = value; } + public String getDoc_Num() { + return Doc_Num; + } + public void setDoc_Num(String value) { + this.Doc_Num=value; + } + + public LocalDate getDoc_Date() { + return Doc_Date; + } + public void setDoc_Date(LocalDate value) { + this.Doc_Date=value; + } + + public String getPay_val() { + return pay_val; + } + public void setPay_val(String value) { + this.pay_val=value; + } + } \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf07.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf07.java index 8c16df934..614790558 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf07.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf07.java @@ -5,6 +5,7 @@ import ru.spcex.platform.classes.base.SpcexObjectBase; import java.math.BigDecimal; import java.time.Instant; +import java.time.LocalDate; /** * ДФ-07 Ответ на запрос по зачислению/списанию денежных средств @@ -28,6 +29,9 @@ public class SDf07 extends SpcexObjectBase { private Instant generationTime; private Long generationId; private Long inSDfId; + private String Doc_Num; + private LocalDate Doc_Date; + private String pay_val; public String getAccount() { return account; @@ -141,4 +145,28 @@ public class SDf07 extends SpcexObjectBase { this.inSDfId = value; } + public String getDoc_Num() { + return Doc_Num; + } + + public void setDoc_Num(String value) { + this.Doc_Num = value; + } + + public LocalDate getDoc_Date() { + return Doc_Date; + } + + public void setDoc_Date(LocalDate value) { + this.Doc_Date = value; + } + + public String getPay_val() { + return pay_val; + } + + public void setPay_val(String value) { + this.pay_val = value; + } + } \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf54.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf54.java index 8d5aad9d7..ffdc95f97 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf54.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf54.java @@ -4,6 +4,7 @@ import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; +import java.time.LocalDate; /** * ДФ-54 Вывод свободных средств для инициаторов категории В с клирингового счета 30414 @@ -55,6 +56,11 @@ public class SDf54 extends SpcexObjectBase { private String doc_result; private Instant generationTime; private Long generationId; + private String Doc_Num; + private LocalDate Doc_Date; + private String Value_date; + private String Swift_ben; + private String Swift_intermed; public String getSeg_type() { return seg_type; @@ -392,4 +398,44 @@ public class SDf54 extends SpcexObjectBase { this.generationId = value; } + public String getDoc_Num() { + return Doc_Num; + } + + public void setDoc_Num(String value) { + this.Doc_Num = value; + } + + public LocalDate getDoc_Date() { + return Doc_Date; + } + + public void setDoc_Date(LocalDate value) { + this.Doc_Date = value; + } + + public String getValue_date() { + return Value_date; + } + + public void setValue_date(String value) { + this.Value_date = value; + } + + public String getSwift_ben() { + return Swift_ben; + } + + public void setSwift_ben(String value) { + this.Swift_ben = value; + } + + public String getSwift_intermed() { + return Swift_intermed; + } + + public void setSwift_intermed(String value) { + this.Swift_intermed = value; + } + } \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf55.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf55.java index 926da9346..a01492f66 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf55.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf55.java @@ -4,6 +4,7 @@ import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; +import java.time.LocalDate; /** * ДФ-55 Квитанция об обработке ДФ-54 @@ -56,6 +57,11 @@ public class SDf55 extends SpcexObjectBase { private String fileName; private Instant generationTime; private Long generationId; + private String Doc_Num; + private LocalDate Doc_Date; + private String Value_date; + private String Swift_ben; + private String Swift_intermed; public String getSeg_type() { return seg_type; @@ -401,4 +407,44 @@ public class SDf55 extends SpcexObjectBase { this.generationId = value; } + public String getDoc_Num() { + return Doc_Num; + } + + public void setDoc_Num(String value) { + this.Doc_Num = value; + } + + public LocalDate getDoc_Date() { + return Doc_Date; + } + + public void setDoc_Date(LocalDate value) { + this.Doc_Date = value; + } + + public String getValue_date() { + return Value_date; + } + + public void setValue_date(String value) { + this.Value_date = value; + } + + public String getSwift_ben() { + return Swift_ben; + } + + public void setSwift_ben(String value) { + this.Swift_ben = value; + } + + public String getSwift_intermed() { + return Swift_intermed; + } + + public void setSwift_intermed(String value) { + this.Swift_intermed = value; + } + } \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf57.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf57.java index f66fcc510..56991365b 100644 --- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf57.java +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/sdf/SDf57.java @@ -4,6 +4,7 @@ import ru.clearing.classes.ConstSerializable; import ru.spcex.platform.classes.base.SpcexObjectBase; import java.time.Instant; +import java.time.LocalDate; /** * ДФ-57 Список транзакций о списании/зачислении за период по всем счетам (ТБС и КС) @@ -53,6 +54,12 @@ public class SDf57 extends SpcexObjectBase { private String fileName; private Instant generationTime; private Long generationId; + private String Doc_Num; + private LocalDate Doc_Date; + private String dt_in; + private String kt_in; + private String dt_out; + private String kt_out; public Long getDbfId() { return dbfId; @@ -374,4 +381,52 @@ public class SDf57 extends SpcexObjectBase { this.generationId = value; } + public String getDoc_Num() { + return Doc_Num; + } + + public void setDoc_Num(String value) { + this.Doc_Num = value; + } + + public LocalDate getDoc_Date() { + return Doc_Date; + } + + public void setDoc_Date(LocalDate value) { + this.Doc_Date = value; + } + + public String getDt_in() { + return dt_in; + } + + public void setDt_in(String value) { + this.dt_in = value; + } + + public String getKt_in() { + return kt_in; + } + + public void setKt_in(String value) { + this.kt_in = value; + } + + public String getDt_out() { + return dt_out; + } + + public void setDt_out(String value) { + this.dt_out = value; + } + + public String getKt_out() { + return kt_out; + } + + public void setKt_out(String value) { + this.kt_out = value; + } + } \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/CurrencyPairSecurity.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/CurrencyPairSecurity.java new file mode 100644 index 000000000..a8a2cc6d5 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/CurrencyPairSecurity.java @@ -0,0 +1,85 @@ +package ru.clearing.classes.statics.data.security; + +import ru.clearing.classes.ConstSerializable; + +import java.math.BigDecimal; + +/** + * Валютные пары + *

+ * DB table: CURRENCY_PAIR_SECURITY + **/ +public class CurrencyPairSecurity extends Security { + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private BigDecimal baseUnitSize; + private Long currencyPairId; + private String code; + private String settlementType; + private String clearingOrganization; + private String settlementOrganization; + private Long securityId; + // extend: private String securitySymbol; + // extend: private String shortName; + // extend: private String fullName; + // extend: private String shortNameEng; + // extend: private String fullNameEng; + // extend: private String workflowStatus; + + public BigDecimal getBaseUnitSize() { + return baseUnitSize; + } + + public void setBaseUnitSize(BigDecimal value) { + this.baseUnitSize = value; + } + + public Long getCurrencyPairId() { + return currencyPairId; + } + + public void setCurrencyPairId(Long value) { + this.currencyPairId = value; + } + + public String getCode() { + return code; + } + + public void setCode(String value) { + this.code = value; + } + + public String getSettlementType() { + return settlementType; + } + + public void setSettlementType(String value) { + this.settlementType = value; + } + + public String getClearingOrganization() { + return clearingOrganization; + } + + public void setClearingOrganization(String value) { + this.clearingOrganization = value; + } + + public String getSettlementOrganization() { + return settlementOrganization; + } + + public void setSettlementOrganization(String value) { + this.settlementOrganization = value; + } + + public Long getSecurityId() { + return securityId; + } + + public void setSecurityId(Long value) { + this.securityId = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/CurrencyPairSecurityHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/CurrencyPairSecurityHistory.java new file mode 100644 index 000000000..b6ece9924 --- /dev/null +++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/security/CurrencyPairSecurityHistory.java @@ -0,0 +1,28 @@ +package ru.clearing.classes.statics.data.security; + +import ru.clearing.classes.ConstSerializable; +import ru.clearing.classes.objects.BusinessEvent; + +import java.io.Serial; + +/** + * Изменение состояния объекта Валютные пары + *

+ * DB table: CURRENCY_PAIR_SECURITY_HISTORY + **/ +public class CurrencyPairSecurityHistory extends BusinessEvent { + @Serial + private static final long serialVersionUID = ConstSerializable.serialVersionUID; + + private CurrencyPairSecurity object; + + @Override + public CurrencyPairSecurity getObject() { + return object; + } + + @Override + public void setObject(CurrencyPairSecurity object) { + this.object = object; + } +} diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java index 81476c58f..5fe5c2e90 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/RequirementsAndObligationCreation.java @@ -251,6 +251,7 @@ public class RequirementsAndObligationCreation implements ISessionStage { return switch (executionType) { case ExecutionFond -> RegistryFondBuilder.builder(); case ExecutionDeposit -> RegistryDepoBuilder.builder(); + case ExecutionCurrency -> throw new IllegalStateException("ExecutionCurrency not supported"); // todo ExecutionCurrency по CLS-613 }; } diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencyPairDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencyPairDictionary.java new file mode 100644 index 000000000..a3d475beb --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencyPairDictionary.java @@ -0,0 +1,40 @@ +package ru.clearing.platform.dictionary; + + +/** + * Справочник способов доставки документа + *

+ * Dictionary DB table: CURRENCY_PAIR_DICTIONARY + **/ +public class CurrencyPairDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + + private String baseCurrencyId; + private String quoteCurrencyId; + private String majorSign; + + public String getBaseCurrencyId() { + return baseCurrencyId; + } + + public void setBaseCurrencyId(String value) { + this.baseCurrencyId = value; + } + + public String getQuoteCurrencyId() { + return quoteCurrencyId; + } + + public void setQuoteCurrencyId(String value) { + this.quoteCurrencyId = value; + } + + public String getMajorSign() { + return majorSign; + } + + public void setMajorSign(String value) { + this.majorSign = value; + } + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencySettlementTypeDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencySettlementTypeDictionary.java new file mode 100644 index 000000000..29c1965a8 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/CurrencySettlementTypeDictionary.java @@ -0,0 +1,13 @@ +package ru.clearing.platform.dictionary; + + +/** + * Справочник типов расчетов валютных пар + * + * Dictionary DB table: CURRENCY_SETTLEMENT_TYPE_DICTIONARY + **/ +public class CurrencySettlementTypeDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + + +} diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/GatewayResultStatusDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/GatewayResultStatusDictionary.java new file mode 100644 index 000000000..0a5dd890b --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/GatewayResultStatusDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник статусов обработки + * + * Dictionary DB table: GATEWAY_RESULT_STATUS_DICTIONARY + **/ +public class GatewayResultStatusDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MajorSignDictionary.java b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MajorSignDictionary.java new file mode 100644 index 000000000..0e74a22f8 --- /dev/null +++ b/clearing-parent/dictionary/src/main/java/ru/clearing/platform/dictionary/MajorSignDictionary.java @@ -0,0 +1,11 @@ +package ru.clearing.platform.dictionary; + +/** + * Справочник типов конвертируемости валюты + * + * Dictionary DB table: MAJOR_SIGN_DICTIONARY + **/ +public class MajorSignDictionary extends AbstractDictionary { + private static final long serialVersionUID = ConstDictionarySerializable.serialVersionUID; + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountHistoryMapStore.java index ec3c8c599..d7e27dedb 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountHistoryMapStore.java @@ -28,7 +28,7 @@ public class AccountHistoryMapStore extends TemplateEventMapStore { + + public CurrencyPairSecurityHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_CurrencyPairSecurityHistory; + } + + @Override + public String getTableName() { + return "CURRENCY_PAIR_SECURITY_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "CURRENCY_PAIR_SECURITY_ID", "BASE_UNIT_SIZE", "CURRENCY_PAIR_ID", "CODE", "SETTLEMENT_TYPE", "CLEARING_ORGANIZATION", "SETTLEMENT_ORGANIZATION", "SECURITY_ID", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public Object[] objectToField(CurrencyPairSecurityHistory historyLog) { + CurrencyPairSecurity object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + TimeUtil.toDateFromInstant(historyLog.getEventTime()), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getBaseUnitSize(), + object.getCurrencyPairId(), + object.getCode(), + object.getSettlementType(), + object.getClearingOrganization(), + object.getSettlementOrganization(), + object.getSecurityId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()) + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionCurrencyHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionCurrencyHistoryMapStore.java new file mode 100644 index 000000000..9d04b2560 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ExecutionCurrencyHistoryMapStore.java @@ -0,0 +1,78 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.execution.ExecutionCurrency; +import ru.clearing.classes.statics.data.execution.ExecutionCurrencyHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class ExecutionCurrencyHistoryMapStore extends TemplateEventMapStore { + + public ExecutionCurrencyHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ExecutionCurrencyHistory; + } + + @Override + public String getTableName() { + return "EXECUTION_CURRENCY_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "EXECUTION_CURRENCY_ID", "CREATED_AT", "UPDATED_AT", "EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "EXCHANGE_EXECUTION_MICROSECONDS", "TRADING_DATE", "SETTLEMENT_DATE", "SETTLEMENT_CODE", "SECURITY_ID", "SECURITY_SYMBOL", "SECURITY_NAME", "COMPANY_ID", "PARTY_TRADING_CLEARING_REGISTRY_ID", "PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY", "MARKET", "PRICE", "LOTS", "SETTLEMENT_AMOUNT", "QUANTITY", "SIDE", "CURRENCY_CODE", "SETTLEMENT_ORGANIZATION", "COVERAGE_STATUS", "SESSION_ID", "DEPO_CODE", "CLEARING_DATE" + }; + } + + @Override + public Object[] objectToField(ExecutionCurrencyHistory historyLog) { + ExecutionCurrency object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + TimeUtil.toDateFromInstant(historyLog.getEventTime()), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getExchangeExecutionId(), + TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()), + TimeUtil.toDateFromInstant(object.getExchangeExecutionMicroseconds()), + TimeUtil.toDateFromLocalDate(object.getTradingDate()), + TimeUtil.toDateFromLocalDate(object.getSettlementDate()), + object.getSettlementCode(), + object.getSecurityId(), + object.getSecuritySymbol(), + object.getSecurityName(), + object.getCompanyId(), + object.getPartyTradingClearingRegistryId(), + object.getPartyTradingClearingRegistry(), + object.getCounterPartyId(), + object.getCounterPartyTradingClearingRegistryId(), + object.getCounterPartyTradingClearingRegistry(), + object.getMarket(), + object.getPrice(), + object.getLots(), + object.getSettlementAmount(), + object.getQuantity(), + object.getSide(), + object.getCurrencyCode(), + object.getSettlementOrganization(), + object.getCoverageStatus(), + object.getSessionId(), + object.getDepoCode(), + TimeUtil.toDateFromLocalDate(object.getClearingDate()) + }; + return args; + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ListingHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ListingHistoryMapStore.java index d83d1a14e..798c045a4 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ListingHistoryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/ListingHistoryMapStore.java @@ -28,7 +28,7 @@ public class ListingHistoryMapStore extends TemplateEventMapStore { + + public SettlementHousePropertiesHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_SettlementHousePropertiesHistory; + } + + @Override + public String getTableName() { + return "SETTLEMENT_HOUSE_PROPERTIES_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID","EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "SETTLEMENT_HOUSE_PROPERTIES_ID", "COMPANY_ID", "CURRENCY_CODE" + }; + } + + @Override + public Object[] objectToField(SettlementHousePropertiesHistory historyLog) { + SettlementHouseProperties object=historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + TimeUtil.toDateFromInstant(historyLog.getEventTime()), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getCompanyId(), + object.getCurrencyCode() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/TradingClearingRegistryListHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/TradingClearingRegistryListHistoryMapStore.java new file mode 100644 index 000000000..2026dec57 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/TradingClearingRegistryListHistoryMapStore.java @@ -0,0 +1,55 @@ +package ru.spcex.clearing.imdg.businessevent; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.registry.TradingClearingRegistryList; +import ru.clearing.classes.statics.data.registry.TradingClearingRegistryListHistory; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateEventMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +@Component +public class TradingClearingRegistryListHistoryMapStore extends TemplateEventMapStore { + + public TradingClearingRegistryListHistoryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_TradingClearingRegistryListHistory; + } + + @Override + public String getTableName() { + return "TRADING_CLEARING_REGISTRY_LIST_HISTORY"; + } + + @Override + public String[] getFields() { + return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID", "EVENT_TYPE", + "TRADING_CLEARING_REGISTRY_LIST_ID", "TRADING_CLEARING_REGISTRY_ID", "ACCOUNT_ID", "CURRENCY", "STATUS", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public Object[] objectToField(TradingClearingRegistryListHistory historyLog) { + TradingClearingRegistryList object = historyLog.getObject(); + Object[] args = new Object[]{ + historyLog.getId(), + TimeUtil.toDateFromInstant(historyLog.getEventTime()), + historyLog.getUserId(), + historyLog.getEventType(), + + object.getId(), + object.getTradingClearingRegistryId(), + object.getAccountId(), + object.getCurrency(), + object.getStatus(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()) + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountMapStore.java index b503b8e27..23e31126d 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/AccountMapStore.java @@ -30,15 +30,10 @@ public class AccountMapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT", "ACCOUNT_TYPE", "RELATION_ID", "STATUS", "PROCESSING_SIGN", "COMPANY_ID" + "ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT", "ACCOUNT_TYPE", "RELATION_ID", "CURRENCY", "STATUS", "PROCESSING_SIGN", "COMPANY_ID" }; } - @Override - public String[] getIndexingField() { - return new String[]{"account", "companyId"}; - } - @Override public Account objectReader(ResultSet resultSet) throws SQLException { Account object = new Account(); @@ -48,6 +43,7 @@ public class AccountMapStore extends TemplateMapStore { object.setAccount(resultSet.getObject("ACCOUNT", String.class)); object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", String.class)); object.setRelationId(resultSet.getObject("RELATION_ID", Long.class)); + object.setCurrency(resultSet.getObject("CURRENCY", String.class)); object.setStatus(resultSet.getObject("STATUS", String.class)); object.setProcessingSign(resultSet.getObject("PROCESSING_SIGN", String.class)); object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); @@ -63,6 +59,7 @@ public class AccountMapStore extends TemplateMapStore { object.getAccount(), object.getAccountType(), object.getRelationId(), + object.getCurrency(), object.getStatus(), object.getProcessingSign(), object.getCompanyId() diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java index 17a27a1ea..8179d53e5 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ClientCodeMapStore.java @@ -30,7 +30,7 @@ public class ClientCodeMapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "COMPANY_ID", "CODE", "TRADING_CLEARING_REGISTRY_ID", "MONEY_ACCOUNT_ID", "DEPO_ACCOUNT_ID", "STATUS", "CREATED_AT", "UPDATED_AT" + "ID", "COMPANY_ID", "CODE", "TRADING_CLEARING_REGISTRY_ID", "MONEY_ACCOUNT_ID", "DEPO_ACCOUNT_ID", "CURRENCY_ACCOUNT_ID", "STATUS", "CREATED_AT", "UPDATED_AT" }; } @@ -43,6 +43,7 @@ public class ClientCodeMapStore extends TemplateMapStore { object.setTradingClearingRegistryId(resultSet.getObject("TRADING_CLEARING_REGISTRY_ID", Long.class)); object.setMoneyAccountId(resultSet.getObject("MONEY_ACCOUNT_ID", Long.class)); object.setDepoAccountId(resultSet.getObject("DEPO_ACCOUNT_ID", Long.class)); + object.setCurrencyAccountId(resultSet.getObject("CURRENCY_ACCOUNT_ID", Long.class)); object.setStatus(resultSet.getObject("STATUS", String.class)); object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); @@ -58,6 +59,7 @@ public class ClientCodeMapStore extends TemplateMapStore { object.getTradingClearingRegistryId(), object.getMoneyAccountId(), object.getDepoAccountId(), + object.getCurrencyAccountId(), object.getStatus(), TimeUtil.toDateFromInstant(object.getCreated()), TimeUtil.toDateFromInstant(object.getUpdated()) diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/DepoBalanceRegisterMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/DepoBalanceRegisterMapStore.java index 409bd3b7e..759da6393 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/DepoBalanceRegisterMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/DepoBalanceRegisterMapStore.java @@ -31,7 +31,8 @@ public class DepoBalanceRegisterMapStore extends TemplateMapStore { + + public ExecutionCurrencyMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_ExecutionCurrency; + } + + @Override + public String getTableName() { + return "EXECUTION_CURRENCY"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "CREATED_AT", "UPDATED_AT", "EXCHANGE_EXECUTION_ID", "EXCHANGE_EXECUTION_TIME", "EXCHANGE_EXECUTION_MICROSECONDS", "TRADING_DATE", "SETTLEMENT_DATE", "SETTLEMENT_CODE", "SECURITY_ID", "SECURITY_SYMBOL", "SECURITY_NAME", "COMPANY_ID", "PARTY_TRADING_CLEARING_REGISTRY_ID", "PARTY_TRADING_CLEARING_REGISTRY", "COUNTER_PARTY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", "COUNTER_PARTY_TRADING_CLEARING_REGISTRY", "MARKET", "PRICE", "LOTS", "SETTLEMENT_AMOUNT", "QUANTITY", "SIDE", "CURRENCY_CODE", "SETTLEMENT_ORGANIZATION", "COVERAGE_STATUS", "SESSION_ID", "DEPO_CODE", "CLEARING_DATE" + }; + } + + @Override + public ExecutionCurrency objectReader(ResultSet resultSet) throws SQLException { + ExecutionCurrency object = new ExecutionCurrency(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + object.setExchangeExecutionId(resultSet.getObject("EXCHANGE_EXECUTION_ID", Long.class)); + object.setExchangeExecutionTime(getInstantFromTimestamp(resultSet, "EXCHANGE_EXECUTION_TIME")); + object.setExchangeExecutionMicroseconds(getInstantFromTimestamp(resultSet, "EXCHANGE_EXECUTION_MICROSECONDS")); + object.setTradingDate(getLocalDateFromSqlDate(resultSet, "TRADING_DATE")); + object.setSettlementDate(getLocalDateFromSqlDate(resultSet, "SETTLEMENT_DATE")); + object.setSettlementCode(resultSet.getObject("SETTLEMENT_CODE", String.class)); + object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class)); + object.setSecuritySymbol(resultSet.getObject("SECURITY_SYMBOL", String.class)); + object.setSecurityName(resultSet.getObject("SECURITY_NAME", String.class)); + object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); + object.setPartyTradingClearingRegistryId(resultSet.getObject("PARTY_TRADING_CLEARING_REGISTRY_ID", Long.class)); + object.setPartyTradingClearingRegistry(resultSet.getObject("PARTY_TRADING_CLEARING_REGISTRY", String.class)); + object.setCounterPartyId(resultSet.getObject("COUNTER_PARTY_ID", Long.class)); + object.setCounterPartyTradingClearingRegistryId(resultSet.getObject("COUNTER_PARTY_TRADING_CLEARING_REGISTRY_ID", Long.class)); + object.setCounterPartyTradingClearingRegistry(resultSet.getObject("COUNTER_PARTY_TRADING_CLEARING_REGISTRY", String.class)); + object.setMarket(resultSet.getObject("MARKET", String.class)); + object.setPrice(resultSet.getObject("PRICE", BigDecimal.class)); + object.setLots(resultSet.getObject("LOTS", BigDecimal.class)); + object.setSettlementAmount(resultSet.getObject("SETTLEMENT_AMOUNT", BigDecimal.class)); + object.setQuantity(resultSet.getObject("QUANTITY", BigDecimal.class)); + object.setSide(resultSet.getObject("SIDE", String.class)); + object.setCurrencyCode(resultSet.getObject("CURRENCY_CODE", String.class)); + object.setSettlementOrganization(resultSet.getObject("SETTLEMENT_ORGANIZATION", String.class)); + object.setCoverageStatus(resultSet.getObject("COVERAGE_STATUS", String.class)); + object.setSessionId(resultSet.getObject("SESSION_ID", Long.class)); + object.setDepoCode(resultSet.getObject("DEPO_CODE", String.class)); + object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE")); + return object; + } + + @Override + public Object[] objectToField(ExecutionCurrency object) { + Object[] args = new Object[]{ + object.getId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getExchangeExecutionId(), + TimeUtil.toDateFromInstant(object.getExchangeExecutionTime()), + TimeUtil.toDateFromInstant(object.getExchangeExecutionMicroseconds()), + TimeUtil.toDateFromLocalDate(object.getTradingDate()), + TimeUtil.toDateFromLocalDate(object.getSettlementDate()), + object.getSettlementCode(), + object.getSecurityId(), + object.getSecuritySymbol(), + object.getSecurityName(), + object.getCompanyId(), + object.getPartyTradingClearingRegistryId(), + object.getPartyTradingClearingRegistry(), + object.getCounterPartyId(), + object.getCounterPartyTradingClearingRegistryId(), + object.getCounterPartyTradingClearingRegistry(), + object.getMarket(), + object.getPrice(), + object.getLots(), + object.getSettlementAmount(), + object.getQuantity(), + object.getSide(), + object.getCurrencyCode(), + object.getSettlementOrganization(), + object.getCoverageStatus(), + object.getSessionId(), + object.getDepoCode(), + TimeUtil.toDateFromLocalDate(object.getClearingDate()) + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/GatewayResultMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/GatewayResultMapStore.java new file mode 100644 index 000000000..741f3127c --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/GatewayResultMapStore.java @@ -0,0 +1,66 @@ +package ru.spcex.clearing.imdg.businessobject; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.clearing.classes.statics.data.register.GatewayResult; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class GatewayResultMapStore extends TemplateMapStore { + + public GatewayResultMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_GatewayResult; + } + + @Override + public String getTableName() { + return "GATEWAY_RESULT"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "CREATED_AT", "UPDATED_AT", "REQUEST_ID", "NAME_REQUEST", "REQUEST", "RESULT", "GATEWAY_RESULT_STATUS" + }; + } + + @Override + public GatewayResult objectReader(ResultSet resultSet) throws SQLException { + GatewayResult object = new GatewayResult(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + object.setRequestId(resultSet.getObject("REQUEST_ID", String.class)); + object.setNameRequest(resultSet.getObject("NAME_REQUEST", String.class)); + object.setRequest(resultSet.getObject("REQUEST", String.class)); + object.setResult(resultSet.getObject("RESULT", String.class)); + object.setGatewayResultStatus(resultSet.getObject("GATEWAY_RESULT_STATUS", String.class)); + return object; + } + + @Override + public Object[] objectToField(GatewayResult object) { + Object[] args = new Object[]{ + object.getId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getRequestId(), + object.getNameRequest(), + object.getRequest(), + object.getResult(), + object.getGatewayResultStatus() + }; + return args; + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ListingMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ListingMapStore.java index 00c477251..49e7a98e0 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ListingMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ListingMapStore.java @@ -30,7 +30,9 @@ public class ListingMapStore extends TemplateMapStore

{ @Override public String[] getFields() { - return new String[]{"ID", "CREATED_AT", "UPDATED_AT", "SECURITY_ID", "LOT_SIZE", "MARKET", "SYMBOL_CODE", "SYMBOL_NAME", "TRADING_CURRENCY", "WORKFLOW_STATUS"}; + return new String[]{ + "ID", "CREATED_AT", "UPDATED_AT", "SECURITY_ID", "MARKET", "LOT_SIZE", "SYMBOL_CODE", "SYMBOL_NAME", "TRADING_CURRENCY", "WORKFLOW_STATUS", "MIN_STEP", "PRECISION" + }; } @Override @@ -40,12 +42,14 @@ public class ListingMapStore extends TemplateMapStore { object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class)); - object.setLotSize(resultSet.getObject("LOT_SIZE", BigDecimal.class)); object.setMarket(resultSet.getObject("MARKET", String.class)); + object.setLotSize(resultSet.getObject("LOT_SIZE", BigDecimal.class)); object.setSymbolCode(resultSet.getObject("SYMBOL_CODE", String.class)); object.setSymbolName(resultSet.getObject("SYMBOL_NAME", String.class)); object.setTradingCurrency(resultSet.getObject("TRADING_CURRENCY", String.class)); object.setWorkflowStatus(resultSet.getObject("WORKFLOW_STATUS", String.class)); + object.setMinStep(resultSet.getObject("MIN_STEP", BigDecimal.class)); + object.setPrecision(resultSet.getObject("PRECISION", BigDecimal.class)); return object; } @@ -56,12 +60,14 @@ public class ListingMapStore extends TemplateMapStore { TimeUtil.toDateFromInstant(object.getCreated()), TimeUtil.toDateFromInstant(object.getUpdated()), object.getSecurityId(), - object.getLotSize(), object.getMarket(), + object.getLotSize(), object.getSymbolCode(), object.getSymbolName(), object.getTradingCurrency(), - object.getWorkflowStatus() + object.getWorkflowStatus(), + object.getMinStep(), + object.getPrecision() }; return args; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyBalanceRegisterMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyBalanceRegisterMapStore.java index d770db1a8..267dd40b2 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyBalanceRegisterMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/MoneyBalanceRegisterMapStore.java @@ -31,7 +31,7 @@ public class MoneyBalanceRegisterMapStore extends TemplateMapStore { + + public PairSdfMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_PairSdf; + } + + @Override + public String getTableName() { + return "PAIR_SDF"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "CREATED_AT", "UPDATED_AT", "IN_S_DF_ID", "IN_S_DF", "OUT_S_DF_ID", "OUT_S_DF" + }; + } + + @Override + public PairSdf objectReader(ResultSet resultSet) throws SQLException { + PairSdf object = new PairSdf(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + object.setInSDfId(resultSet.getObject("IN_S_DF_ID", String.class)); + object.setInSDf(resultSet.getObject("IN_S_DF", String.class)); + object.setOutSDfId(resultSet.getObject("OUT_S_DF_ID", String.class)); + object.setOutSDf(resultSet.getObject("OUT_S_DF", String.class)); + return object; + } + + @Override + public Object[] objectToField(PairSdf object) { + Object[] args = new Object[]{ + object.getId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()), + object.getInSDfId(), + object.getInSDf(), + object.getOutSDfId(), + object.getOutSDf() + }; + return args; + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SettlementHousePropertiesMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SettlementHousePropertiesMapStore.java new file mode 100644 index 000000000..7e034c826 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/SettlementHousePropertiesMapStore.java @@ -0,0 +1,55 @@ +package ru.spcex.clearing.imdg.businessobject; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.company.SettlementHouseProperties; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class SettlementHousePropertiesMapStore extends TemplateMapStore { + + public SettlementHousePropertiesMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_SettlementHouseProperties; + } + + @Override + public String getTableName() { + return "SETTLEMENT_HOUSE_PROPERTIES"; + } + + @Override + public String[] getFields() { + return new String[]{ + "ID", "COMPANY_ID", "CURRENCY_CODE" + }; + } + + @Override + public SettlementHouseProperties objectReader(ResultSet resultSet) throws SQLException { + SettlementHouseProperties object = new SettlementHouseProperties(); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class)); + object.setCurrencyCode(resultSet.getObject("CURRENCY_CODE", String.class)); + return object; + } + + @Override + public Object[] objectToField(SettlementHouseProperties object) { + Object[] args = new Object[]{ + object.getId(), + object.getCompanyId(), + object.getCurrencyCode() + }; + return args; + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/CurrencyPairDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/CurrencyPairDictionaryMapStore.java new file mode 100644 index 000000000..4f838efc9 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/CurrencyPairDictionaryMapStore.java @@ -0,0 +1,47 @@ +package ru.spcex.clearing.imdg.dictionary; + + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.CurrencyPairDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class CurrencyPairDictionaryMapStore extends DictionaryTMapStore { + + public CurrencyPairDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_CurrencyPairDictionary; + } + + @Override + public String getTableName() { + return "CURRENCY_PAIR_DICTIONARY"; + } + + @Override + public CurrencyPairDictionary getDictionaryObject() { + return new CurrencyPairDictionary(); + } + + + @Override + protected CurrencyPairDictionary mapRow(ResultSet rs, int rowNum) throws SQLException { + CurrencyPairDictionary dictionary = getDictionaryObject(); + dictionary.setId(rs.getLong("id")); + dictionary.setCode(rs.getString("code")); + dictionary.setName(rs.getString("name")); + dictionary.setBaseCurrencyId(rs.getString("baseCurrencyId")); + dictionary.setQuoteCurrencyId(rs.getString("quoteCurrencyId")); + dictionary.setMajorSign(rs.getString("majorSign")); + return dictionary; + } +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/CurrencySettlementTypeDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/CurrencySettlementTypeDictionaryMapStore.java new file mode 100644 index 000000000..f7e39884b --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/CurrencySettlementTypeDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.CurrencySettlementTypeDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class CurrencySettlementTypeDictionaryMapStore extends DictionaryTMapStore { + + public CurrencySettlementTypeDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_CurrencySettlementTypeDictionary; + } + + @Override + public String getTableName() { + return "CURRENCY_SETTLEMENT_TYPE_DICTIONARY"; + } + + @Override + public CurrencySettlementTypeDictionary getDictionaryObject() { + return new CurrencySettlementTypeDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/GatewayResultStatusDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/GatewayResultStatusDictionaryMapStore.java new file mode 100644 index 000000000..108071286 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/GatewayResultStatusDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.GatewayResultStatusDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class GatewayResultStatusDictionaryMapStore extends DictionaryTMapStore { + + public GatewayResultStatusDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_GatewayResultStatusDictionary; + } + + @Override + public String getTableName() { + return "GATEWAY_RESULT_STATUS_DICTIONARY"; + } + + @Override + public GatewayResultStatusDictionary getDictionaryObject() { + return new GatewayResultStatusDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/MajorSignDictionaryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/MajorSignDictionaryMapStore.java new file mode 100644 index 000000000..f4d640939 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/dictionary/MajorSignDictionaryMapStore.java @@ -0,0 +1,31 @@ +package ru.spcex.clearing.imdg.dictionary; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.platform.dictionary.MajorSignDictionary; +import ru.spcex.clearing.imdg.base.DictionaryTMapStore; +import ru.spcex.clearing.imdg.IMDGDistributedNames; + +@Component +public class MajorSignDictionaryMapStore extends DictionaryTMapStore { + + public MajorSignDictionaryMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_MajorSignDictionary; + } + + @Override + public String getTableName() { + return "MAJOR_SIGN_DICTIONARY"; + } + + @Override + public MajorSignDictionary getDictionaryObject() { + return new MajorSignDictionary(); + } + +} \ No newline at end of file diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CurrencyPairSecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CurrencyPairSecurityMapStore.java new file mode 100644 index 000000000..fd45b9ff3 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/CurrencyPairSecurityMapStore.java @@ -0,0 +1,74 @@ +package ru.spcex.clearing.imdg.object; + + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.security.CurrencyPairSecurity; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.businessobject.ASecurityMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.math.BigDecimal; +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class CurrencyPairSecurityMapStore extends ASecurityMapStore { + + public CurrencyPairSecurityMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_CurrencyPairSecurity; + } + + @Override + public String getTableName() { + return "CURRENCY_PAIR_SECURITY"; + } + + @Override + public String[] getFields() { + return new String[]{ + "BASE_UNIT_SIZE", "CURRENCY_PAIR_ID", "CODE", "SETTLEMENT_TYPE", "CLEARING_ORGANIZATION", "SETTLEMENT_ORGANIZATION", "SECURITY_ID", "ID", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public CurrencyPairSecurity objectReader(ResultSet resultSet) throws SQLException { + CurrencyPairSecurity object = new CurrencyPairSecurity(); + object.setBaseUnitSize(resultSet.getObject("BASE_UNIT_SIZE", BigDecimal.class)); + object.setCurrencyPairId(resultSet.getObject("CURRENCY_PAIR_ID", Long.class)); + object.setCode(resultSet.getObject("CODE", String.class)); + object.setSettlementType(resultSet.getObject("SETTLEMENT_TYPE", String.class)); + object.setClearingOrganization(resultSet.getObject("CLEARING_ORGANIZATION", String.class)); + object.setSettlementOrganization(resultSet.getObject("SETTLEMENT_ORGANIZATION", String.class)); + object.setSecurityId(resultSet.getObject("SECURITY_ID", Long.class)); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + + fillBySecurity(object, object.getSecurityId()); + return object; + } + + @Override + public Object[] objectToField(CurrencyPairSecurity object) { + Object[] args = new Object[]{ + object.getBaseUnitSize(), + object.getCurrencyPairId(), + object.getCode(), + object.getSettlementType(), + object.getClearingOrganization(), + object.getSettlementOrganization(), + object.getSecurityId(), + object.getId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()) + }; + return args; + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf06MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf06MapStore.java index 72ce4d137..a8acf74bc 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf06MapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf06MapStore.java @@ -34,7 +34,7 @@ public class SDf06MapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "DEAL", "CLIENT_N", "INN", "BIC", "SPEC", "NUMBER", "FILE_NAME", "GENERATION_TIME", "GENERATION_ID" + "ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "DEAL", "CLIENT_N", "INN", "BIC", "SPEC", "NUMBER", "FILE_NAME", "GENERATION_TIME", "GENERATION_ID", "_DOC__NUM", "_DOC__DATE", "PAY_VAL" }; } @@ -70,6 +70,9 @@ public class SDf06MapStore extends TemplateMapStore { object.setFileName(resultSet.getObject("FILE_NAME", String.class)); object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class)); + object.setDoc_Num(resultSet.getObject("_DOC__NUM", String.class)); + object.setDoc_Date(getLocalDateFromSqlDate(resultSet, "_DOC__DATE")); + object.setPay_val(resultSet.getObject("PAY_VAL", String.class)); return object; } @@ -89,7 +92,10 @@ public class SDf06MapStore extends TemplateMapStore { object.getNumber(), object.getFileName(), TimeUtil.toDateFromInstant(object.getGenerationTime()), - object.getGenerationId() + object.getGenerationId(), + object.getDoc_Num(), + TimeUtil.toDateFromLocalDate(object.getDoc_Date()), + object.getPay_val() }; return args; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf07MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf07MapStore.java index 0d58d4c63..3a31dda91 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf07MapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf07MapStore.java @@ -34,7 +34,8 @@ public class SDf07MapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "DEAL", "CLIENT_N", "INN", "BIC", "SPEC", "NUMBER", "RESULT", "GENERATION_TIME", "GENERATION_ID", "IN_S_DF_ID" + "ID", "ACCOUNT", "SUM", "MARKET", "TYPE", "DEAL", "CLIENT_N", "INN", "BIC", "SPEC", "NUMBER", "RESULT", + "GENERATION_TIME", "GENERATION_ID", "IN_S_DF_ID", "_DOC__NUM", "_DOC__DATE", "PAY_VAL" }; } @@ -71,6 +72,9 @@ public class SDf07MapStore extends TemplateMapStore { object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class)); object.setInSDfId(resultSet.getObject("IN_S_DF_ID", Long.class)); + object.setDoc_Num(resultSet.getObject("_DOC__NUM", String.class)); + object.setDoc_Date(getLocalDateFromSqlDate(resultSet, "_DOC__DATE")); + object.setPay_val(resultSet.getObject("PAY_VAL", String.class)); return object; } @@ -91,7 +95,10 @@ public class SDf07MapStore extends TemplateMapStore { object.getResult(), TimeUtil.toDateFromInstant(object.getGenerationTime()), object.getGenerationId(), - object.getInSDfId() + object.getInSDfId(), + object.getDoc_Num(), + TimeUtil.toDateFromLocalDate(object.getDoc_Date()), + object.getPay_val() }; return args; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf54MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf54MapStore.java index e83604594..a74583066 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf54MapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf54MapStore.java @@ -33,7 +33,7 @@ public class SDf54MapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "SEG_TYPE", "DOC_TYPE", "DOCNM_REF", "DOCNMPREV", "SBANKCODE", "C_ACC_DEB", "SBANKNAM1", "SBANKNAM2", "SBANKNAM3", "SBANKNAM4", "SBANKNAM5", "RBANKCODE", "C_ACC_CRED", "RBANKNAM1", "RBANKNAM2", "RBANKNAM3", "RBANKNAM4", "RBANKNAM5", "OP_TYPE", "OP_ORDER", "PAY_DATE", "PAY_VAL", "SUM_DEB", "SCLIENTN1", "SCLIENTN2", "SCLIENTN3", "SCLIENTN4", "INN_DEB", "KPP_DEB", "ACC_DEB", "RCLIENTN1", "RCLIENTN2", "RCLIENTN3", "RCLIENTN4", "INN_CRED", "KPP_CRED", "ACC_KR_1", "SPECIF_1", "SEND_TYPE", "DOC_RESULT", "GENERATION_TIME", "GENERATION_ID" + "ID", "SEG_TYPE", "DOC_TYPE", "DOCNM_REF", "DOCNMPREV", "SBANKCODE", "C_ACC_DEB", "SBANKNAM1", "SBANKNAM2", "SBANKNAM3", "SBANKNAM4", "SBANKNAM5", "RBANKCODE", "C_ACC_CRED", "RBANKNAM1", "RBANKNAM2", "RBANKNAM3", "RBANKNAM4", "RBANKNAM5", "OP_TYPE", "OP_ORDER", "PAY_DATE", "PAY_VAL", "SUM_DEB", "SCLIENTN1", "SCLIENTN2", "SCLIENTN3", "SCLIENTN4", "INN_DEB", "KPP_DEB", "ACC_DEB", "RCLIENTN1", "RCLIENTN2", "RCLIENTN3", "RCLIENTN4", "INN_CRED", "KPP_CRED", "ACC_KR_1", "SPECIF_1", "SEND_TYPE", "DOC_RESULT", "GENERATION_TIME", "GENERATION_ID", "_DOC__NUM", "_DOC__DATE", "_VALUE_DATE", "_SWIFT_BEN", "_SWIFT_INTERMED" }; } @@ -98,6 +98,11 @@ public class SDf54MapStore extends TemplateMapStore { object.setDoc_result(resultSet.getObject("DOC_RESULT", String.class)); object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class)); + object.setDoc_Num(resultSet.getObject("_DOC__NUM", String.class)); + object.setDoc_Date(getLocalDateFromSqlDate(resultSet, "_DOC__DATE")); + object.setValue_date(resultSet.getObject("_VALUE_DATE", String.class)); + object.setSwift_ben(resultSet.getObject("_SWIFT_BEN", String.class)); + object.setSwift_intermed(resultSet.getObject("_SWIFT_INTERMED", String.class)); return object; } @@ -146,7 +151,12 @@ public class SDf54MapStore extends TemplateMapStore { object.getSend_type(), object.getDoc_result(), TimeUtil.toDateFromInstant(object.getGenerationTime()), - object.getGenerationId() + object.getGenerationId(), + object.getDoc_Num(), + TimeUtil.toDateFromLocalDate(object.getDoc_Date()), + object.getValue_date(), + object.getSwift_ben(), + object.getSwift_intermed() }; return args; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf55MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf55MapStore.java index 81f1dd2c2..f6d9b9a1d 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf55MapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf55MapStore.java @@ -33,7 +33,14 @@ public class SDf55MapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "SEG_TYPE", "DOC_TYPE", "DOCNM_REF", "DOCNMPREV", "SBANKCODE", "C_ACC_DEB", "SBANKNAM1", "SBANKNAM2", "SBANKNAM3", "SBANKNAM4", "SBANKNAM5", "RBANKCODE", "C_ACC_CRED", "RBANKNAM1", "RBANKNAM2", "RBANKNAM3", "RBANKNAM4", "RBANKNAM5", "OP_TYPE", "OP_ORDER", "PAY_DATE", "PAY_VAL", "SUM_DEB", "SCLIENTN1", "SCLIENTN2", "SCLIENTN3", "SCLIENTN4", "INN_DEB", "KPP_DEB", "ACC_DEB", "RCLIENTN1", "RCLIENTN2", "RCLIENTN3", "RCLIENTN4", "INN_CRED", "KPP_CRED", "ACC_KR_1", "SPECIF_1", "SEND_TYPE", "DOC_RESULT", "FILE_NAME", "GENERATION_TIME", "GENERATION_ID" + "ID", "SEG_TYPE", "DOC_TYPE", "DOCNM_REF", "DOCNMPREV", "SBANKCODE", "C_ACC_DEB", + "SBANKNAM1", "SBANKNAM2", "SBANKNAM3", "SBANKNAM4", "SBANKNAM5", "RBANKCODE", "C_ACC_CRED", + "RBANKNAM1", "RBANKNAM2", "RBANKNAM3", "RBANKNAM4", "RBANKNAM5", "OP_TYPE", "OP_ORDER", + "PAY_DATE", "PAY_VAL", "SUM_DEB", "SCLIENTN1", "SCLIENTN2", "SCLIENTN3", "SCLIENTN4", "INN_DEB", "KPP_DEB", + "ACC_DEB", "RCLIENTN1", "RCLIENTN2", "RCLIENTN3", "RCLIENTN4", "INN_CRED", "KPP_CRED", + "ACC_KR_1", "SPECIF_1", "SEND_TYPE", "DOC_RESULT", "FILE_NAME", + "GENERATION_TIME", "GENERATION_ID", + "_DOC__NUM", "_DOC__DATE", "_VALUE_DATE", "_SWIFT_BEN", "_SWIFT_INTERMED" }; } @@ -99,6 +106,11 @@ public class SDf55MapStore extends TemplateMapStore { object.setFileName(resultSet.getObject("FILE_NAME", String.class)); object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class)); + object.setDoc_Num(resultSet.getObject("_DOC__NUM", String.class)); + object.setDoc_Date(getLocalDateFromSqlDate(resultSet, "_DOC__DATE")); + object.setValue_date(resultSet.getObject("_VALUE_DATE", String.class)); + object.setSwift_ben(resultSet.getObject("_SWIFT_BEN", String.class)); + object.setSwift_intermed(resultSet.getObject("_SWIFT_INTERMED", String.class)); return object; } @@ -148,7 +160,12 @@ public class SDf55MapStore extends TemplateMapStore { object.getDoc_result(), object.getFileName(), TimeUtil.toDateFromInstant(object.getGenerationTime()), - object.getGenerationId() + object.getGenerationId(), + object.getDoc_Num(), + TimeUtil.toDateFromLocalDate(object.getDoc_Date()), + object.getValue_date(), + object.getSwift_ben(), + object.getSwift_intermed() }; return args; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf57MapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf57MapStore.java index 5e9670970..8d16a02a8 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf57MapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/SDf57MapStore.java @@ -32,7 +32,7 @@ public class SDf57MapStore extends TemplateMapStore { @Override public String[] getFields() { return new String[]{ - "ID", "DBF_ID", "DEAL_DEB", "DEAL_CRED", "SBANKCODE", "C_ACC_DEB", "SBANKNAM1", "SBANKNAM2", "SBANKNAM3", "SBANKNAM4", "SBANKNAM5", "RBANKCODE", "C_ACC_CRED", "RBANKNAM1", "RBANKNAM2", "RBANKNAM3", "RBANKNAM4", "RBANKNAM5", "OP_TYPE", "PAY_DATE", "EXT_DATE", "PAY_VAL", "SUM_DEB", "SCLIENTN1", "SCLIENTN2", "SCLIENTN3", "SCLIENTN4", "INN_DEB", "KPP_DEB", "ACC_DEB", "RCLIENTN1", "RCLIENTN2", "RCLIENTN3", "RCLIENTN4", "INN_CRED", "KPP_CRED", "ACC_KR", "SPECIF", "FILE_NAME", "GENERATION_TIME", "GENERATION_ID" + "GENERATION_TIME", "ID", "DBF_ID", "DEAL_DEB", "DEAL_CRED", "SBANKCODE", "C_ACC_DEB", "SBANKNAM1", "SBANKNAM2", "SBANKNAM3", "SBANKNAM4", "SBANKNAM5", "RBANKCODE", "C_ACC_CRED", "RBANKNAM1", "RBANKNAM2", "RBANKNAM3", "RBANKNAM4", "RBANKNAM5", "OP_TYPE", "PAY_DATE", "EXT_DATE", "PAY_VAL", "SUM_DEB", "SCLIENTN1", "SCLIENTN2", "SCLIENTN3", "SCLIENTN4", "INN_DEB", "KPP_DEB", "ACC_DEB", "RCLIENTN1", "RCLIENTN2", "RCLIENTN3", "RCLIENTN4", "INN_CRED", "KPP_CRED", "ACC_KR", "SPECIF", "FILE_NAME", "GENERATION_ID", "_DOC__NUM", "_DOC__DATE", "DT_IN", "KT_IN", "DT_OUT", "KT_OUT" }; } @@ -53,6 +53,7 @@ public class SDf57MapStore extends TemplateMapStore { @Override public SDf57 objectReader(ResultSet resultSet) throws SQLException { SDf57 object = new SDf57(); + object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); object.setId(resultSet.getObject("ID", Long.class)); object.setDbfId(resultSet.getObject("DBF_ID", Long.class)); object.setDeal_deb(resultSet.getObject("DEAL_DEB", String.class)); @@ -92,14 +93,20 @@ public class SDf57MapStore extends TemplateMapStore { object.setAcc_kr(resultSet.getObject("ACC_KR", String.class)); object.setSpecif(resultSet.getObject("SPECIF", String.class)); object.setFileName(resultSet.getObject("FILE_NAME", String.class)); - object.setGenerationTime(getInstantFromTimestamp(resultSet, "GENERATION_TIME")); object.setGenerationId(resultSet.getObject("GENERATION_ID", Long.class)); + object.setDoc_Num(resultSet.getObject("_DOC__NUM", String.class)); + object.setDoc_Date(getLocalDateFromSqlDate(resultSet, "_DOC__DATE")); + object.setDt_in(resultSet.getObject("DT_IN", String.class)); + object.setKt_in(resultSet.getObject("KT_IN", String.class)); + object.setDt_out(resultSet.getObject("DT_OUT", String.class)); + object.setKt_out(resultSet.getObject("KT_OUT", String.class)); return object; } @Override public Object[] objectToField(SDf57 object) { Object[] args = new Object[]{ + TimeUtil.toDateFromInstant(object.getGenerationTime()), object.getId(), object.getDbfId(), object.getDeal_deb(), @@ -139,8 +146,13 @@ public class SDf57MapStore extends TemplateMapStore { object.getAcc_kr(), object.getSpecif(), object.getFileName(), - TimeUtil.toDateFromInstant(object.getGenerationTime()), - object.getGenerationId() + object.getGenerationId(), + object.getDoc_Num(), + TimeUtil.toDateFromLocalDate(object.getDoc_Date()), + object.getDt_in(), + object.getKt_in(), + object.getDt_out(), + object.getKt_out() }; return args; } diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/TradingClearingRegistryListMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/TradingClearingRegistryListMapStore.java new file mode 100644 index 000000000..002920e61 --- /dev/null +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/object/TradingClearingRegistryListMapStore.java @@ -0,0 +1,64 @@ +package ru.spcex.clearing.imdg.object; + +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; +import ru.clearing.classes.statics.data.registry.TradingClearingRegistryList; +import ru.spcex.clearing.imdg.IMDGDistributedNames; +import ru.spcex.clearing.imdg.base.TemplateMapStore; +import ru.spcex.platform.utils.time.TimeUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; + +@Component +public class TradingClearingRegistryListMapStore extends TemplateMapStore { + + public TradingClearingRegistryListMapStore(JdbcTemplate jdbcTemplate) { + super(jdbcTemplate); + } + + @Override + public String getMapName() { + return IMDGDistributedNames.Map_TradingClearingRegistryList; + } + + @Override + public String getTableName() { + return "TRADING_CLEARING_REGISTRY_LIST"; + } + + @Override + public String[] getFields() { + return new String[]{ + "TRADING_CLEARING_REGISTRY_ID", "ACCOUNT_ID", "CURRENCY", "STATUS", "ID", "CREATED_AT", "UPDATED_AT" + }; + } + + @Override + public TradingClearingRegistryList objectReader(ResultSet resultSet) throws SQLException { + TradingClearingRegistryList object = new TradingClearingRegistryList(); + object.setTradingClearingRegistryId(resultSet.getObject("TRADING_CLEARING_REGISTRY_ID", Long.class)); + object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class)); + object.setCurrency(resultSet.getObject("CURRENCY", String.class)); + object.setStatus(resultSet.getObject("STATUS", String.class)); + object.setId(resultSet.getObject("ID", Long.class)); + object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT")); + object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT")); + return object; + } + + @Override + public Object[] objectToField(TradingClearingRegistryList object) { + Object[] args = new Object[]{ + object.getTradingClearingRegistryId(), + object.getAccountId(), + object.getCurrency(), + object.getStatus(), + object.getId(), + TimeUtil.toDateFromInstant(object.getCreated()), + TimeUtil.toDateFromInstant(object.getUpdated()) + }; + return args; + } + +} diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/HazelcastLifecycleSupport.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/HazelcastLifecycleSupport.java index bf249777b..9066391c7 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/HazelcastLifecycleSupport.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/services/HazelcastLifecycleSupport.java @@ -14,7 +14,7 @@ public class HazelcastLifecycleSupport extends AbstractHazelcastLifecycleSupport /** * Рабочая версия БД. Требуется вручную сверять с DDL.sql и накручивать эту переменную. */ - public static final String CHECK_DB_VERSION = "1.0"; + public static final String CHECK_DB_VERSION = "3.11"; private final Logger log = LoggerFactory.getLogger(this.getClass()); diff --git a/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/ExecutionType.java b/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/ExecutionType.java index 6e6f3083f..9e62aa573 100644 --- a/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/ExecutionType.java +++ b/platform-parent/platform-classes-base/src/main/java/ru/spcex/platform/classes/base/interfaces/ExecutionType.java @@ -2,5 +2,5 @@ package ru.spcex.platform.classes.base.interfaces; public enum ExecutionType { - ExecutionDeposit, ExecutionFond; + ExecutionDeposit, ExecutionFond, ExecutionCurrency; } diff --git a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java index 79d91e2c3..aa00b217f 100644 --- a/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java +++ b/platform-parent/platform-imdg-api/src/main/java/ru/spcex/clearing/imdg/IMDGDistributedNames.java @@ -196,6 +196,20 @@ public final class IMDGDistributedNames { public static final String Map_ExecutionFondHistory = "Map_ExecutionFondHistory"; public static final String Map_PriorityDictionary = "Map_PriorityDictionary"; public static final String Map_SCrossRate = "Map_SCrossRate"; + public static final String Map_MajorSignDictionary = "Map_MajorSignDictionary"; + public static final String Map_CurrencySettlementTypeDictionary = "Map_CurrencySettlementTypeDictionary"; + public static final String Map_CurrencyPairDictionary = "Map_CurrencyPairDictionary"; + public static final String Map_GatewayResultStatusDictionary = "Map_GatewayResultStatusDictionary"; + public static final String Map_CurrencyPairSecurity = "Map_CurrencyPairSecurity"; + public static final String Map_CurrencyPairSecurityHistory = "Map_CurrencyPairSecurityHistory"; + public static final String Map_TradingClearingRegistryList = "Map_TradingClearingRegistryList"; + public static final String Map_TradingClearingRegistryListHistory = "Map_TradingClearingRegistryListHistory"; + public static final String Map_ExecutionCurrency = "Map_ExecutionCurrency"; + public static final String Map_ExecutionCurrencyHistory = "Map_ExecutionCurrencyHistory"; + public static final String Map_SettlementHouseProperties = "Map_SettlementHouseProperties"; + public static final String Map_SettlementHousePropertiesHistory = "Map_SettlementHousePropertiesHistory"; + public static final String Map_PairSdf = "Map_PairSdf"; + public static final String Map_GatewayResult = "Map_GatewayResult"; //-------------------history and search tables public static final String Map_SearchExecutionDeposit = "Map_SearchDeposit"; diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeNewRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeNewRequest.java index 2884c916c..ed883bd8a 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeNewRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeNewRequest.java @@ -2,6 +2,8 @@ package ru.spcex.clearing.platform.messaging.domain.cud.account; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + public class ClientCodeNewRequest { @JsonProperty private Long companyId; @@ -14,6 +16,8 @@ public class ClientCodeNewRequest { @JsonProperty private Long depoAccountId; @JsonProperty + private List currencyAccountList; + @JsonProperty private String status; public Long getCompanyId() { @@ -56,6 +60,14 @@ public class ClientCodeNewRequest { this.depoAccountId = depoAccountId; } + public List getCurrencyAccountList() { + return currencyAccountList; + } + + public void setCurrencyAccountList(List currencyAccountList) { + this.currencyAccountList = currencyAccountList; + } + public String getStatus() { return status; } diff --git a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java index e4bf6f8eb..8cbadc11a 100644 --- a/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java +++ b/platform-parent/platform-messaging/src/main/java/ru/spcex/clearing/platform/messaging/domain/cud/account/ClientCodeUpdateRequest.java @@ -2,6 +2,8 @@ package ru.spcex.clearing.platform.messaging.domain.cud.account; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + public class ClientCodeUpdateRequest { @JsonProperty public Long id; //Идентификатор записи @@ -16,6 +18,8 @@ public class ClientCodeUpdateRequest { @JsonProperty private Long depoAccountId; @JsonProperty + private List currencyAccountList; + @JsonProperty private String status; public Long getId() { @@ -66,6 +70,14 @@ public class ClientCodeUpdateRequest { this.depoAccountId = depoAccountId; } + public List getCurrencyAccountList() { + return currencyAccountList; + } + + public void setCurrencyAccountList(List currencyAccountList) { + this.currencyAccountList = currencyAccountList; + } + public String getStatus() { return status; }