From ccdd38ad1a57de9291a61559fe3867931aa65b47 Mon Sep 17 00:00:00 2001 From: AKurakin Date: Fri, 8 Sep 2023 12:10:57 +0300 Subject: [PATCH] imdg http://jira.mfd.msk:8088/browse/CLS-520 RegistryMapStore --- .../imdg/businessobject/RegistryMapStore.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RegistryMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RegistryMapStore.java index d504508aa..b848e2be1 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RegistryMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/RegistryMapStore.java @@ -1,5 +1,6 @@ package ru.spcex.clearing.imdg.businessobject; +import org.apache.commons.lang3.exception.ExceptionUtils; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.registry.Registry; @@ -10,6 +11,7 @@ import ru.spcex.platform.utils.time.TimeUtil; import java.math.BigDecimal; import java.sql.ResultSet; import java.sql.SQLException; +import java.time.LocalDate; import java.util.*; @Component @@ -34,6 +36,26 @@ public class RegistryMapStore extends TemplateMapStore { return new String[]{"sessionId"}; } + @Override + public Iterable loadAllKeys() { + LocalDate today = LocalDate.now(); + log.debug("loadAllKeys from {} with condition and today {}", getTableName(), today); + List keys; + String sql = "select id from " + getTableName() + " WHERE registry_designation='A' OR " + + "(registry_designation='D' AND (clearing_date = ? OR registry_status='PROC' OR registry_status='MNG')) OR" + + "((registry_designation='C' OR registry_designation='L') AND clearing_date=?) OR" + + "((registry_designation='O' OR registry_designation='T') AND (clearing_date=? OR registry_status='PROC' OR registry_status='MNG'))"; + try { + keys = jdbcTemplate.query(sql, + (resultSet, i) -> resultSet.getLong("id"), + new Object[]{today, today, today}); + } catch (Throwable e) { + log.error("At load keys from {} (sql \"{}\"): {}", getTableName(), sql, ExceptionUtils.getStackTrace(e)); + throw e; + } + return keys; + } + @Override public String[] getFields() { return new String[]{