diff --git a/clearing-parent/imdg/pom.xml b/clearing-parent/imdg/pom.xml
index c9082ec35..c0db709b4 100644
--- a/clearing-parent/imdg/pom.xml
+++ b/clearing-parent/imdg/pom.xml
@@ -55,7 +55,6 @@
com.mchange
c3p0
- 0.9.5.5
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java
index f89460479..330fa70ac 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/ObjectBaseMapStore.java
@@ -81,7 +81,6 @@ public abstract class ObjectBaseMapStore extends Simp
return rs.getObject(columnName, Long.class);
}
- // todo отрефакторить метод - длинное название
protected Instant getInstantFromTimestamp(ResultSet rs, String column) throws SQLException {
Timestamp date = rs.getTimestamp(column);
return date != null ? date.toInstant() : null;
diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java
index 50a6a8f60..7cdc489b8 100644
--- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java
+++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/base/SimpleObjectMapStore.java
@@ -9,6 +9,7 @@ import org.springframework.jdbc.core.SqlTypeValue;
import org.springframework.jdbc.core.StatementCreatorUtils;
import org.springframework.lang.NonNull;
import ru.spcex.platform.classes.base.SpcexObjectBase;
+import ru.spcex.platform.utils.text.TextUtil;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -16,6 +17,7 @@ import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.util.*;
+import java.util.stream.Collectors;
/**
* MapStore для выгрузки обычных объектов
@@ -25,9 +27,9 @@ import java.util.*;
public abstract class SimpleObjectMapStore implements MapStore {
protected final Logger log = LoggerFactory.getLogger(this.getClass());
- protected SimpleDateFormat FIREBIRD_DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd");//todo уже не firebird, а PostgreSQL
+ private final static int BATCH_SIZE = 1000;
+ protected SimpleDateFormat DB_DATE_FORMATTER = new SimpleDateFormat("yyyy-MM-dd");
protected final JdbcTemplate jdbcTemplate;
- private final int bathSize = 1000;
protected SimpleObjectMapStore(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
@@ -37,13 +39,8 @@ public abstract class SimpleObjectMapStore implements
public abstract String[] getFields();
- private boolean oidIsPresentInTheFields = Arrays.stream(getFields()).anyMatch(anotherString -> {
- if (anotherString == null) return false;
- return "oid".equalsIgnoreCase(anotherString.trim());
- });
-
public boolean deleteIsSupported() {
- return !oidIsPresentInTheFields;
+ return false;
}
@Override
@@ -91,7 +88,8 @@ public abstract class SimpleObjectMapStore implements
for (Long id : collection)
listOfID.add(new Object[]{id});
try {
- jdbcTemplate.batchUpdate("DELETE FROM " + getTableName() + " WHERE id=?", listOfID);
+ String sql = String.format("DELETE FROM %s WHERE id = ?", getTableName());
+ jdbcTemplate.batchUpdate(sql, listOfID);
} catch (Exception e) {
log.error("SQL error at batch DELETE FROM {}\n{}", getTableName(), ExceptionUtils.getStackTrace(e));
log.info("List of non deleted ID {}", collection); // показать список неудалённых UUID
@@ -124,25 +122,9 @@ public abstract class SimpleObjectMapStore implements
return keys;
}
- /**
- * Загружает ключи только за текущий день.
- * where CAST(tradingday as DATE) = ?
- * Осторожно со знаком: в некоторых случаях требуется за текущий и будущие дни, тогда этот метод не подходит.
- * См. так же loadAllKeys().
- *
- * @return список id
- */
- protected List defaultLoadAllKeysOnTradingDay() {
- log.debug("loadAllKeys from " + getTableName());
- return jdbcTemplate.query("select id from " + getTableName() + " where CAST(tradingday as DATE) = ?",
- new Object[]{FIREBIRD_DATE_FORMATTER.format(new Date())},
- (resultSet, i) -> resultSet.getObject("id", Long.class));
- }
-
-
protected void batchInsertUpdate(@NonNull String insertStatement, @NonNull List