From 63eab63c4854ab73dcdf540d60525f40e6b58017 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Mon, 21 Aug 2023 11:15:29 +0300 Subject: [PATCH] =?UTF-8?q?imdg=20http://jira.mfd.msk:8088/browse/CLS-473?= =?UTF-8?q?=20ExecutionFondMapStore=20=D0=B2=D1=8B=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BF=D0=BE=20SETTLEMENT=5FDATE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../imdg/base/SimpleObjectMapStore.java | 17 +++++++++++++---- .../businessobject/ExecutionFondMapStore.java | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) 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 b1cea7337..b71534f45 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 @@ -122,21 +122,30 @@ public abstract class SimpleObjectMapStore implements return keys; } - public Iterable defaultLoadAllKeysOnTodayByTradingDate() { + /** + * Выгружает ID по таблице по условию dateField >= today + * @param dateField оле даты + * @return ID's + */ + public Iterable defaultLoadAllKeysOnTodayByField(String dateField) { LocalDate today = LocalDate.now(); - log.debug("loadAllKeys from {} on today {}", getTableName(), today); + log.debug("loadAllKeys from {} on {} >= today {}", getTableName(), dateField, today); List keys; try { - keys = jdbcTemplate.query("select id from " + getTableName() + " where trading_date = ?", + keys = jdbcTemplate.query("select id from " + getTableName() + " where "+ dateField +" >= ?", (resultSet, i) -> resultSet.getLong("id"), new Object[]{today}); } catch (Throwable e) { - log.error("At load keys from {}: {}", getTableName(), ExceptionUtils.getStackTrace(e)); + log.error("At load keys from {} (by field {}): {}", getTableName(), dateField, ExceptionUtils.getStackTrace(e)); throw e; } return keys; } + public Iterable defaultLoadAllKeysOnTodayByTradingDate() { + return defaultLoadAllKeysOnTodayByField("trading_date"); + } + protected void batchInsertUpdate(@NonNull String insertStatement, @NonNull List args) { try { int[][] ret = jdbcTemplate.batchUpdate(insertStatement, args, BATCH_SIZE, (ps, params) -> { diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionFondMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionFondMapStore.java index d57f4e42b..1cee4c879 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionFondMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionFondMapStore.java @@ -37,7 +37,7 @@ public class ExecutionFondMapStore extends TemplateMapStore { @Override public Iterable loadAllKeys() { - return defaultLoadAllKeysOnTodayByTradingDate(); + return defaultLoadAllKeysOnTodayByField("SETTLEMENT_DATE"); } @Override