diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java index f6fdd4400..5a8d56640 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/ASecurityMapStore.java @@ -6,6 +6,8 @@ import ru.clearing.classes.statics.data.security.Security; import ru.spcex.clearing.imdg.base.TemplateMapStore; import ru.spcex.platform.utils.time.TimeUtil; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -37,6 +39,17 @@ public abstract class ASecurityMapStore extends TemplateMap + @Override + protected final S objectReader(ResultSet resultSet) throws SQLException { + S object = securityObjectReader(resultSet); + fillBySecurity(object, securityIdFromSecurity(object)); + return object; + } + + protected abstract Long securityIdFromSecurity(S object); + + protected abstract S securityObjectReader(ResultSet resultSet) throws SQLException; + protected void fillBySecurity(S object, Long securityId) { List resouts = jdbcTemplate.query( "SELECT * FROM SECURITY WHERE id = ?", new Object[]{securityId}, diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java index b03eca856..c11ea7478 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/EquitySecurityMapStore.java @@ -3,6 +3,7 @@ package ru.spcex.clearing.imdg.businessobject; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.instrument.issue.EquitySecurity; +import ru.clearing.classes.statics.data.security.MoneyMarketSecurity; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.clearing.imdg.base.TemplateMapStore; import ru.spcex.platform.utils.time.TimeUtil; @@ -39,7 +40,7 @@ public class EquitySecurityMapStore extends ASecurityMapStore { @Override - protected EquitySecurity objectReader(ResultSet resultSet) throws SQLException { + protected EquitySecurity securityObjectReader(ResultSet resultSet) throws SQLException { EquitySecurity object = new EquitySecurity(); object.setId(resultSet.getObject("ID", Long.class)); @@ -47,10 +48,14 @@ public class EquitySecurityMapStore extends ASecurityMapStore { object.setShareType(resultSet.getObject("SHARE_TYPE", String.class)); // object.setLotSize(resultSet.getObject("LOT_SIZE", BigDecimal.class)); - fillBySecurity(object, object.getSecurityId()); return object; } + @Override + protected Long securityIdFromSecurity(EquitySecurity object) { + return object.getSecurityId(); + } + @Override protected Object[] objectToField(EquitySecurity equity) { Object[] args = new Object[]{ diff --git a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java index 4a0d2f652..866d7c8a8 100644 --- a/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java +++ b/clearing-parent/imdg/src/main/java/ru/spcex/clearing/imdg/businessobject/FixedIncomeSecurityMapStore.java @@ -3,6 +3,7 @@ package ru.spcex.clearing.imdg.businessobject; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; import ru.clearing.classes.statics.data.instrument.issue.FixedIncomeSecurity; +import ru.clearing.classes.statics.data.security.MoneyMarketSecurity; import ru.spcex.clearing.imdg.IMDGDistributedNames; import ru.spcex.platform.utils.time.TimeUtil; @@ -35,7 +36,7 @@ public class FixedIncomeSecurityMapStore extends ASecurityMapStore