From 46ac71e6e402f2be1f3bf7eb87d5149cc6d2c941 Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 17 Oct 2024 11:50:32 +0300 Subject: [PATCH] PAYM session 1) load execution SETTLEMENT_DATE >= today 2) set execution.sessionId --- .../stage/impl/InclusionObligations.java | 2 +- .../ExecutionCurrencyMapStore.java | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InclusionObligations.java b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InclusionObligations.java index e9da21f17..d848cf8d6 100644 --- a/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InclusionObligations.java +++ b/clearing-parent/clearing-service/src/main/java/ru/spcex/clearing/session/stage/impl/InclusionObligations.java @@ -137,7 +137,7 @@ public class InclusionObligations implements ISessionStage { Map rgsToUpdate = new HashMap<>(); List execsToUpdate = new ArrayList<>(); boolean loadExecs = !IEnumKey.contains(sessionType, - SessionType.TRDT, SessionType.CURR, SessionType.PAYM, SessionType.UNIT, SessionType.IPOT); + SessionType.TRDT, SessionType.CURR, SessionType.UNIT, SessionType.IPOT); for (Map.Entry> entrySet : registryByGroupId.entrySet()) { log.debug("Processing set of registry with groupId: {}", entrySet.getKey()); String rgsSection = null; diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionCurrencyMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionCurrencyMapStore.java index 70e3528bc..d13ecef36 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionCurrencyMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ExecutionCurrencyMapStore.java @@ -3,6 +3,9 @@ package ru.spcex.clearing.imdg.businessobject; import java.math.BigDecimal; import java.sql.ResultSet; import java.sql.SQLException; +import java.time.LocalDate; +import java.util.List; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.execution.ExecutionCurrency; @@ -33,7 +36,20 @@ public class ExecutionCurrencyMapStore extends TemplateMapStore loadAllKeys() { - return defaultLoadAllKeysOnTodayByField("TRADING_DATE", false); + LocalDate today = LocalDate.now(); + String dateField = "TRADING_DATE"; + log.debug("loadAllKeys from {}", getTableName()); + List keys; + try { + keys = jdbcTemplate.query("select id from " + getTableName() + + " where TRADING_DATE" + " = ? or SETTLEMENT_DATE >= ?", + (resultSet, i) -> resultSet.getLong("id"), + new Object[]{today, today}); + } catch (Throwable e) { + log.error("At load keys from {} (by field {}): {}", getTableName(), dateField, ExceptionUtils.getStackTrace(e)); + throw e; + } + return keys; } @Override