diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendGetAll.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendGetAll.java
index c657efe39..d7f4fab4f 100644
--- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendGetAll.java
+++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendGetAll.java
@@ -55,7 +55,6 @@ public class CompanyBackendGetAll extends BasicSpcexResponse {
CompanyInfo profile = company.getProfile();
companyInfoFields.setId(profile.getId());
companyInfoFields.setCompanyId(profile.getCompanyId());
- companyInfoFields.setClearingMemberCategory(profile.getClearingMemberCategory());
companyInfoFields.setCorporationSoleType(profile.getCorporationSoleType());
companyInfoFields.setCountryCode(profile.getCountryCode());
companyInfoFields.setDescription(profile.getDescription());
diff --git a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendInfoGetAll.java b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendInfoGetAll.java
index ddb1692a7..effd0af08 100644
--- a/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendInfoGetAll.java
+++ b/clearing-parent/backend-api/src/main/java/ru/spcex/clearing/backendapi/controller/response/entity/company/CompanyBackendInfoGetAll.java
@@ -43,7 +43,6 @@ public class CompanyBackendInfoGetAll extends BasicSpcexResponse {
var singleItem = new CompanyBackendInfoGetFields();
singleItem.setId(companyInfo.getId());
singleItem.setCompanyId(companyInfo.getCompanyId());
- singleItem.setClearingMemberCategory(companyInfo.getClearingMemberCategory());
singleItem.setCorporationSoleType(companyInfo.getCorporationSoleType());
singleItem.setCountryCode(companyInfo.getCountryCode());
singleItem.setDescription(companyInfo.getDescription());
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java
new file mode 100644
index 000000000..ad7611ace
--- /dev/null
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalance.java
@@ -0,0 +1,187 @@
+package ru.clearing.classes.statics.data.account;
+
+import ru.clearing.classes.ConstSerializable;
+import ru.clearing.classes.objects.BusinessObject;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+/**
+ * Счета
+ *
+ * DB table: ACCOUNT_BALANCE
+ **/
+public class AccountBalance extends BusinessObject {
+ private static final long serialVersionUID = ConstSerializable.serialVersionUID;
+ private Long companyId;
+ private Long accountId;
+ private Long accountType;
+ private String account;
+ private BigDecimal openBalanceAmount;
+ private BigDecimal startBalanceAmount;
+ private BigDecimal closeBalanceAmount;
+ private BigDecimal tradeBalanceAmount;
+ private BigDecimal freeBalanceAmount;
+ private BigDecimal changeBalanceAmount;
+ private BigDecimal creditAmount;
+ private BigDecimal debitAmount;
+ private BigDecimal balanceAmount;
+ private String balanceAccountType;
+ private LocalDate clearingDate;
+ private String currencyCode;
+ private String tradingCode;
+ private String shortName;
+ private String fullName;
+
+ public Long getCompanyId() {
+ return companyId;
+ }
+
+ public void setCompanyId(Long companyId) {
+ this.companyId = companyId;
+ }
+
+ public Long getAccountId() {
+ return accountId;
+ }
+
+ public void setAccountId(Long accountId) {
+ this.accountId = accountId;
+ }
+
+ public Long getAccountType() {
+ return accountType;
+ }
+
+ public void setAccountType(Long accountType) {
+ this.accountType = accountType;
+ }
+
+ public String getAccount() {
+ return account;
+ }
+
+ public void setAccount(String account) {
+ this.account = account;
+ }
+
+ public BigDecimal getOpenBalanceAmount() {
+ return openBalanceAmount;
+ }
+
+ public void setOpenBalanceAmount(BigDecimal openBalanceAmount) {
+ this.openBalanceAmount = openBalanceAmount;
+ }
+
+ public BigDecimal getStartBalanceAmount() {
+ return startBalanceAmount;
+ }
+
+ public void setStartBalanceAmount(BigDecimal startBalanceAmount) {
+ this.startBalanceAmount = startBalanceAmount;
+ }
+
+ public BigDecimal getCloseBalanceAmount() {
+ return closeBalanceAmount;
+ }
+
+ public void setCloseBalanceAmount(BigDecimal closeBalanceAmount) {
+ this.closeBalanceAmount = closeBalanceAmount;
+ }
+
+ public BigDecimal getTradeBalanceAmount() {
+ return tradeBalanceAmount;
+ }
+
+ public void setTradeBalanceAmount(BigDecimal tradeBalanceAmount) {
+ this.tradeBalanceAmount = tradeBalanceAmount;
+ }
+
+ public BigDecimal getFreeBalanceAmount() {
+ return freeBalanceAmount;
+ }
+
+ public void setFreeBalanceAmount(BigDecimal freeBalanceAmount) {
+ this.freeBalanceAmount = freeBalanceAmount;
+ }
+
+ public BigDecimal getChangeBalanceAmount() {
+ return changeBalanceAmount;
+ }
+
+ public void setChangeBalanceAmount(BigDecimal changeBalanceAmount) {
+ this.changeBalanceAmount = changeBalanceAmount;
+ }
+
+ public BigDecimal getCreditAmount() {
+ return creditAmount;
+ }
+
+ public void setCreditAmount(BigDecimal creditAmount) {
+ this.creditAmount = creditAmount;
+ }
+
+ public BigDecimal getDebitAmount() {
+ return debitAmount;
+ }
+
+ public void setDebitAmount(BigDecimal debitAmount) {
+ this.debitAmount = debitAmount;
+ }
+
+ public BigDecimal getBalanceAmount() {
+ return balanceAmount;
+ }
+
+ public void setBalanceAmount(BigDecimal balanceAmount) {
+ this.balanceAmount = balanceAmount;
+ }
+
+ public String getBalanceAccountType() {
+ return balanceAccountType;
+ }
+
+ public void setBalanceAccountType(String balanceAccountType) {
+ this.balanceAccountType = balanceAccountType;
+ }
+
+ public LocalDate getClearingDate() {
+ return clearingDate;
+ }
+
+ public void setClearingDate(LocalDate clearingDate) {
+ this.clearingDate = clearingDate;
+ }
+
+ public String getCurrencyCode() {
+ return currencyCode;
+ }
+
+ public void setCurrencyCode(String currencyCode) {
+ this.currencyCode = currencyCode;
+ }
+
+ public String getTradingCode() {
+ return tradingCode;
+ }
+
+ public void setTradingCode(String tradingCode) {
+ this.tradingCode = tradingCode;
+ }
+
+ public String getShortName() {
+ return shortName;
+ }
+
+ public void setShortName(String shortName) {
+ this.shortName = shortName;
+ }
+
+ public String getFullName() {
+ return fullName;
+ }
+
+ public void setFullName(String fullName) {
+ this.fullName = fullName;
+ }
+}
\ No newline at end of file
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java
new file mode 100644
index 000000000..3fd8f9d11
--- /dev/null
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/account/AccountBalanceHistory.java
@@ -0,0 +1,28 @@
+package ru.clearing.classes.statics.data.account;
+
+import ru.clearing.classes.ConstSerializable;
+import ru.clearing.classes.objects.BusinessEvent;
+
+import java.io.Serial;
+
+/**
+ * Изменение состояния объекта Счета
+ *
+ * DB table: ACCOUNT_BALANCE_HISTORY
+ **/
+public class AccountBalanceHistory extends BusinessEvent {
+ @Serial
+ private static final long serialVersionUID = ConstSerializable.serialVersionUID;
+
+ private AccountBalance object;
+
+ @Override
+ public AccountBalance getObject() {
+ return object;
+ }
+
+ @Override
+ public void setObject(AccountBalance object) {
+ this.object = object;
+ }
+}
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/Company.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/Company.java
index 4e82c1bb6..9bbc2ee44 100644
--- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/Company.java
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/company/Company.java
@@ -1,8 +1,8 @@
package ru.clearing.classes.statics.data.company;
import ru.clearing.classes.ConstSerializable;
-import ru.clearing.classes.statics.data.profile.CompanyInfo;
import ru.clearing.classes.objects.BusinessObject;
+import ru.clearing.classes.statics.data.profile.CompanyInfo;
import java.io.Serial;
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/AdmittedDeal.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/AdmittedDeal.java
new file mode 100644
index 000000000..b83f356d8
--- /dev/null
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/misc/AdmittedDeal.java
@@ -0,0 +1,30 @@
+package ru.clearing.classes.statics.data.misc;
+
+import ru.clearing.classes.ConstSerializable;
+import ru.clearing.classes.objects.BusinessObject;
+
+import java.math.BigDecimal;
+import java.time.Instant;
+import java.time.LocalTime;
+
+/**
+ * Счета
+ *
+ * DB table: ADMITTED_DEAL
+ **/
+public class AdmittedDeal extends BusinessObject {
+ private static final long serialVersionUID = ConstSerializable.serialVersionUID;
+
+ private String companyFullName;
+ private Instant executionDepositRegisterTradingDate;
+ private String exchangeExecutionId;
+ private LocalTime exchangeExecutionTime;
+ private Long securityShortName;
+ private String sellerFullName;
+ private String sellerClearingCode;
+ private String sellerAccount;
+ private String buyerFullName;
+ private String buyerClearingCode;
+ private String buyerAccount;
+ private BigDecimal executionDepositRegisterAmount;
+}
\ No newline at end of file
diff --git a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java
index 824450757..175c17b69 100644
--- a/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java
+++ b/clearing-parent/classes/src/main/java/ru/clearing/classes/statics/data/profile/CompanyInfo.java
@@ -10,7 +10,6 @@ public class CompanyInfo extends SpcexObjectBase {
private static final long serialVersionUID = ConstSerializable.serialVersionUID;
private Long companyId; // Company.CompanyInfo.companyId = CompanyInfo.id
- private String clearingMemberCategory; // ref CHAR(4),
private String corporationSoleType; // ref CHAR(4),
private String countryCode; //ref CHAR(4),
private String description;
@@ -34,14 +33,6 @@ public class CompanyInfo extends SpcexObjectBase {
this.companyId = companyId;
}
- public String getClearingMemberCategory() {
- return clearingMemberCategory;
- }
-
- public void setClearingMemberCategory(String clearingMemberCategory) {
- this.clearingMemberCategory = clearingMemberCategory;
- }
-
public String getCorporationSoleType() {
return corporationSoleType;
}
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/IMDGApplication.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/IMDGApplication.java
index 917737e04..18f22bce6 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/IMDGApplication.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/IMDGApplication.java
@@ -1,17 +1,70 @@
package ru.spcex.clearing.imdg;
+import com.hazelcast.config.MapStoreConfig;
+import com.hazelcast.core.HazelcastInstance;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.context.ConfigurableApplicationContext;
+import ru.spcex.clearing.imdg.base.BusinessObjectMapStore;
+import ru.spcex.clearing.imdg.base.DictionaryMapStore;
+import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
+import ru.spcex.clearing.imdg.base.TemplateMapStore;
+
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.List;
@SpringBootApplication
public class IMDGApplication {
public static void main(String[] args) {
+ SpringApplicationBuilder builder = new SpringApplicationBuilder(IMDGApplication.class);
+ ConfigurableApplicationContext configurableApplicationContext = builder.run(args);
+ tmpLogUncompletedMapStores(configurableApplicationContext);
+ }
+
+ public static void tmpLogUncompletedMapStores(ConfigurableApplicationContext configurableApplicationContext) {
try {
- SpringApplicationBuilder builder = new SpringApplicationBuilder(IMDGApplication.class);
- builder.run(args);
- } catch (Throwable e) {
+ //Поиск таблиц которым нужно добавить mapStore и вывод результата в консоль
+ List nameTables = new ArrayList<>();
+ Connection jdbcConnection = DriverManager.getConnection("jdbc:postgresql://10.200.200.133:5432/postgres", "clearing", "Aa111111");
+ DatabaseMetaData md = jdbcConnection.getMetaData();
+ ResultSet rs = md.getTables(null, "clearing", "%", new String[]{"TABLE"});
+ while (rs.next()) {
+ nameTables.add(rs.getString(3));
+ }
+
+ HazelcastInstance hazelcastInstance = configurableApplicationContext.getBean(HazelcastInstance.class);
+ hazelcastInstance.getMap("");
+ for (String mapName : hazelcastInstance.getConfig().getMapConfigs().keySet()) {
+ MapStoreConfig mapStoreConfig = hazelcastInstance.getConfig().getMapConfig(mapName).getMapStoreConfig();
+ Object mapStore = mapStoreConfig.getImplementation();
+ String tableName;
+ if (mapStore instanceof TemplateMapStore) {
+ tableName = ((TemplateMapStore>) mapStore).getTableName();
+ } else if (mapStore instanceof DictionaryMapStore) {
+ tableName = ((DictionaryMapStore>) mapStore).getTableName();
+ } else if (mapStore instanceof TemplateEventMapStore) {
+ tableName = ((TemplateEventMapStore>) mapStore).getTableName();
+ } else if (mapStore instanceof BusinessObjectMapStore) {
+ tableName = ((BusinessObjectMapStore>) mapStore).getTableName();
+ } else if (mapName.equals("default")) {
+ continue;
+ } else {
+ System.out.println(mapStore == null ? "Не получилось сопоставить mapStore: is null" : "Не получилось сопоставить: " + mapStore.getClass() + " с таблицей");
+ continue;
+ }
+ nameTables.remove(tableName.toLowerCase());
+ }
+ System.out.println("** Результата поиска таблиц которым нужно добавить mapStore **");
+ nameTables.forEach(System.out::println);
+ System.out.println("**************************************************************");
+ } catch (
+ Throwable e) {
LoggerFactory.getLogger(IMDGApplication.class).error("STORAGE start failed: {} -> {}", e.getClass().getSimpleName(), e.getMessage());
System.exit(-1);
}
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/BusinessObjectMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/BusinessObjectMapStore.java
index 3a7c7e706..32b4b047a 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/BusinessObjectMapStore.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/BusinessObjectMapStore.java
@@ -27,8 +27,8 @@ public abstract class BusinessObjectMapStore extends O
}
protected void fillBusinessObjectFields(BusinessObject businessObject, ResultSet rs, String idName) throws SQLException {
- businessObject.setUpdated(getInstantFromTimestamp(rs, "updated"));
- businessObject.setCreated(getInstantFromTimestamp(rs, "created"));
+ businessObject.setUpdated(getInstantFromTimestamp(rs, "updated_at"));
+ businessObject.setCreated(getInstantFromTimestamp(rs, "created_at"));
businessObject.setId(getLong(rs, idName));
}
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java
new file mode 100644
index 000000000..9e081556d
--- /dev/null
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/AccountBalanceHistoryMapStore.java
@@ -0,0 +1,73 @@
+package ru.spcex.clearing.imdg.businessevent;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Component;
+import ru.clearing.classes.statics.data.account.AccountBalance;
+import ru.clearing.classes.statics.data.account.AccountBalanceHistory;
+import ru.spcex.clearing.imdg.IMDGDistributedNames;
+import ru.spcex.clearing.imdg.base.TemplateEventMapStore;
+import ru.spcex.platform.utils.time.TimeUtil;
+
+@Component
+public class AccountBalanceHistoryMapStore extends TemplateEventMapStore {
+
+ public AccountBalanceHistoryMapStore(JdbcTemplate jdbcTemplate) {
+ super(jdbcTemplate);
+ }
+
+ @Override
+ public String getMapName() {
+ return IMDGDistributedNames.Map_AccountBalanceHistory;
+ }
+
+ @Override
+ public String getTableName() {
+ return "ACCOUNT_BALANCE_HISTORY";
+ }
+
+ @Override
+ public String[] getFields() {
+ return new String[]{"ID", "EVENT_TIME", "EVENT_USER_ID",
+ "ACCOUNT_BALANCE_ID", "COMPANY_ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT_ID", "ACCOUNT_TYPE",
+ "ACCOUNT", "OPEN_BALANCE_AMOUNT", "START_BALANCE_AMOUNT", "CLOSE_BALANCE_AMOUNT",
+ "TRADE_BALANCE_AMOUNT", "FREE_BALANCE_AMOUNT", "CHANGE_BALANCE_AMOUNT",
+ "CREDIT_AMOUNT", "DEBIT_AMOUNT", "BALANCE_AMOUNT", "BALANCE_ACCOUNT_TYPE",
+ "CLEARING_DATE", "CURRENCY_CODE", "TRADING_CODE", "SHORT_NAME", "FULL_NAME"
+ };
+ }
+
+ @Override
+ public Object[] objectToField(AccountBalanceHistory updateLog) {
+ AccountBalance object = updateLog.getObject();
+ Object[] args = new Object[]{
+ updateLog.getId(),
+ updateLog.getEventTime(),
+ updateLog.getUserId(),
+
+ object.getId(),
+ object.getCompanyId(),
+ TimeUtil.toDateFromInstant(object.getCreated()),
+ TimeUtil.toDateFromInstant(object.getUpdated()),
+ object.getAccountId(),
+ object.getAccountType(),
+ object.getAccount(),
+ object.getOpenBalanceAmount(),
+ object.getStartBalanceAmount(),
+ object.getCloseBalanceAmount(),
+ object.getTradeBalanceAmount(),
+ object.getFreeBalanceAmount(),
+ object.getChangeBalanceAmount(),
+ object.getCreditAmount(),
+ object.getDebitAmount(),
+ object.getBalanceAmount(),
+ object.getBalanceAccountType(),
+ TimeUtil.toDateFromLocalDate(object.getClearingDate()),
+ object.getCurrencyCode(),
+ object.getTradingCode(),
+ object.getShortName(),
+ object.getFullName()
+ };
+ return args;
+ }
+
+}
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanyHistoryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanyHistoryMapStore.java
index aa0ff5f3c..ce029e5a9 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanyHistoryMapStore.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessevent/CompanyHistoryMapStore.java
@@ -29,16 +29,16 @@ public class CompanyHistoryMapStore extends BusinessEventMapStore companyInfoToSQLArgs(@NonNull CompanyInfo companyInfo, CompanyHistory rootUpdate) {
@@ -97,7 +97,6 @@ public class CompanyHistoryMapStore extends BusinessEventMapStore {
+
+ public AccountBalanceMapStore(JdbcTemplate jdbcTemplate) {
+ super(jdbcTemplate);
+ }
+
+ @Override
+ public String getMapName() {
+ return IMDGDistributedNames.Map_AccountBalance;
+ }
+
+ @Override
+ public String getTableName() {
+ return "ACCOUNT_BALANCE";
+ }
+
+ @Override
+ public String[] getFields() {
+ return new String[]{
+ "ID", "COMPANY_ID", "CREATED_AT", "UPDATED_AT", "ACCOUNT_ID", "ACCOUNT_TYPE",
+ "ACCOUNT", "OPEN_BALANCE_AMOUNT", "START_BALANCE_AMOUNT", "CLOSE_BALANCE_AMOUNT",
+ "TRADE_BALANCE_AMOUNT", "FREE_BALANCE_AMOUNT", "CHANGE_BALANCE_AMOUNT",
+ "CREDIT_AMOUNT", "DEBIT_AMOUNT", "BALANCE_AMOUNT", "BALANCE_ACCOUNT_TYPE",
+ "CLEARING_DATE", "CURRENCY_CODE", "TRADING_CODE", "SHORT_NAME", "FULL_NAME"
+ };
+ }
+
+ @Override
+ public AccountBalance objectReader(ResultSet resultSet) throws SQLException {
+ AccountBalance object = new AccountBalance();
+ object.setId(resultSet.getObject("ID", Long.class));
+ object.setCompanyId(resultSet.getObject("COMPANY_ID", Long.class));
+ object.setCreated(getInstantFromTimestamp(resultSet, "CREATED_AT"));
+ object.setUpdated(getInstantFromTimestamp(resultSet, "UPDATED_AT"));
+ object.setAccountId(resultSet.getObject("ACCOUNT_ID", Long.class));
+ object.setAccountType(resultSet.getObject("ACCOUNT_TYPE", Long.class));
+ object.setAccount(resultSet.getObject("ACCOUNT", String.class));
+ object.setOpenBalanceAmount(resultSet.getObject("OPEN_BALANCE_AMOUNT", BigDecimal.class));
+ object.setStartBalanceAmount(resultSet.getObject("START_BALANCE_AMOUNT", BigDecimal.class));
+ object.setCloseBalanceAmount(resultSet.getObject("CLOSE_BALANCE_AMOUNT", BigDecimal.class));
+ object.setTradeBalanceAmount(resultSet.getObject("TRADE_BALANCE_AMOUNT", BigDecimal.class));
+ object.setFreeBalanceAmount(resultSet.getObject("FREE_BALANCE_AMOU", BigDecimal.class));
+ object.setChangeBalanceAmount(resultSet.getObject("CHANGE_BALANCE_AMOUNT", BigDecimal.class));
+ object.setCreditAmount(resultSet.getObject("CREDIT_AMOUNT", BigDecimal.class));
+ object.setDebitAmount(resultSet.getObject("DEBIT_AMOUNT", BigDecimal.class));
+ object.setBalanceAmount(resultSet.getObject("BALANCE_AMOUNT", BigDecimal.class));
+ object.setBalanceAccountType(resultSet.getObject("BALANCE_ACCOUNT_TYPE", String.class));
+ object.setClearingDate(getLocalDateFromSqlDate(resultSet, "CLEARING_DATE"));
+ object.setCurrencyCode(resultSet.getObject("CURRENCY_CODE", String.class));
+ object.setTradingCode(resultSet.getObject("TRADING_CODE", String.class));
+ object.setShortName(resultSet.getObject("SHORT_NAME", String.class));
+ object.setFullName(resultSet.getObject("FULL_NAME", String.class));
+ return object;
+ }
+
+ @Override
+ public Object[] objectToField(AccountBalance object) {
+ Object[] args = new Object[]{
+ object.getId(),
+ object.getCompanyId(),
+ TimeUtil.toDateFromInstant(object.getCreated()),
+ TimeUtil.toDateFromInstant(object.getUpdated()),
+ object.getAccountId(),
+ object.getAccountType(),
+ object.getAccount(),
+ object.getOpenBalanceAmount(),
+ object.getStartBalanceAmount(),
+ object.getCloseBalanceAmount(),
+ object.getTradeBalanceAmount(),
+ object.getFreeBalanceAmount(),
+ object.getChangeBalanceAmount(),
+ object.getCreditAmount(),
+ object.getDebitAmount(),
+ object.getBalanceAmount(),
+ object.getBalanceAccountType(),
+ TimeUtil.toDateFromLocalDate(object.getClearingDate()),
+ object.getCurrencyCode(),
+ object.getTradingCode(),
+ object.getShortName(),
+ object.getFullName()
+ };
+ return args;
+ }
+
+}
\ No newline at end of file
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/CompanyMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/CompanyMapStore.java
index 62ed7e51e..23a7caef6 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/CompanyMapStore.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/CompanyMapStore.java
@@ -14,6 +14,9 @@ import java.util.*;
@Component
public class CompanyMapStore extends BusinessObjectMapStore {
+ protected final String insertStatement = makeInsertSql(getTableName(), getFields(), "id");
+ protected final String insertCompanyInfoStatement = makeInsertSql("COMPANY_INFO", getFieldsForCompanyInfo(), "id");
+
public CompanyMapStore(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
@@ -26,21 +29,18 @@ public class CompanyMapStore extends BusinessObjectMapStore {
@Override
public String[] getFields() {
return new String[]{
- "id", "created_at", "updated_at", "trading_code", "clearing_code", "registration_code", "workflow_status", "short_name", "full_name"
+ "id", "created_at", "updated_at", "trading_code", "clearing_code", "registration_code", "workflow_status", "short_name", "full_name"
};
}
public String[] getFieldsForCompanyInfo() {
return new String[]{
- "id", "company_id", "clearing_member_category", "corporation_sole_type", "country_code", "description",
+ "id", "company_id", "corporation_sole_type", "country_code", "description",
"professional_sign", "legal_kind", "organization_type", "residence", "short_name", "full_name",
- "short_name_eng", "full_name_eng", "trading_code", "clearing_code", "registration_code"
+ "short_name_eng", "full_name_eng", "trading_code", "clearing_code", "registration_code"
};
}
- protected final String insertStatement = makeInsertSql(getTableName(), getFields(), "id");
- protected final String insertCompanyInfoStatement = makeInsertSql("COMPANY_INFO", getFieldsForCompanyInfo(), "id");
-
@Override
public Collection load(Collection keys) {
Map> paramMap = Collections.singletonMap("ids", keys);
@@ -103,19 +103,18 @@ public class CompanyMapStore extends BusinessObjectMapStore {
(rs, rowNum) -> {
CompanyInfo companyInfo = new CompanyInfo();
companyInfo.setId(rs.getObject("Id", Long.class));
- companyInfo.setCompanyId(rs.getObject("CompanyId", Long.class));
- companyInfo.setClearingMemberCategory(rs.getString("ClearingMemberCategory"));
- companyInfo.setCorporationSoleType(rs.getString("CorporationSoleType"));
- companyInfo.setCountryCode(rs.getString("CountryCode"));
- companyInfo.setDescription(rs.getString("Description"));
- companyInfo.setProfessionalSign(rs.getString("ProfessionalSign"));
- companyInfo.setLegalKind(rs.getString("LegalKind"));
- companyInfo.setOrganizationType(rs.getString("OrganizationType"));
- companyInfo.setResidence(rs.getString("Residence"));
- companyInfo.setShortName(rs.getString("ShortName"));
- companyInfo.setFullName(rs.getString("FullName"));
- companyInfo.setShortNameEng(rs.getString("ShortNameEng"));
- companyInfo.setFullNameEng(rs.getString("FullNameEng"));
+ companyInfo.setCompanyId(rs.getObject("COMPANY_ID", Long.class));
+ companyInfo.setCorporationSoleType(rs.getString("CORPORATION_SOLE_TYPE"));
+ companyInfo.setCountryCode(rs.getString("COUNTRY_CODE"));
+ companyInfo.setDescription(rs.getString("DESCRIPTION"));
+ companyInfo.setProfessionalSign(rs.getString("PROFESSIONAL_SIGN"));
+ companyInfo.setLegalKind(rs.getString("LEGAL_KIND"));
+ companyInfo.setOrganizationType(rs.getString("ORGANIZATION_TYPE"));
+ companyInfo.setResidence(rs.getString("RESIDENCE"));
+ companyInfo.setShortName(rs.getString("SHORT_NAME"));
+ companyInfo.setFullName(rs.getString("FULL_NAME"));
+ companyInfo.setShortNameEng(rs.getString("SHORT_NAME_ENG"));
+ companyInfo.setFullNameEng(rs.getString("FULL_NAME_ENG"));
companyInfo.setTradingCode(rs.getObject("TRADING_CODE", String.class));
companyInfo.setClearingCode(rs.getObject("CLEARING_CODE", String.class));
companyInfo.setRegistrationCode(rs.getObject("REGISTRATION_CODE", String.class));
@@ -135,14 +134,13 @@ public class CompanyMapStore extends BusinessObjectMapStore {
* Перечисление значений полей CompanyInfo.
* См. insertCompanyInfoStatement
*
- * @param companyInfo должен быть заполнен id, company_id = company.id
+ * @param companyInfo должен быть заполнен id, company_id = company.id
* @return
*/
protected List