swt-importer SDF21 transactionNumber
This commit is contained in:
parent
c2a1f4a20a
commit
c01cc429a0
3 changed files with 20 additions and 1 deletions
|
|
@ -17,6 +17,7 @@ import ru.clearing.classes.statics.data.registry.TradingClearingRegistry;
|
|||
import ru.clearing.classes.statics.data.sdf.*;
|
||||
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
|
||||
import ru.clearing.classes.statics.data.security.Security;
|
||||
import ru.clearing.classes.statics.data.statement.Statement;
|
||||
import ru.clearing.platform.dictionary.SectionDictionary;
|
||||
import ru.spcex.clearing.error.ClearingError;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
|
|
@ -51,6 +52,7 @@ public class ValidationConfig {
|
|||
Imdg<TradingClearingRegistry> imdgTradingClearingRegistry;
|
||||
Imdg<Session> imdgSession;
|
||||
Imdg<SectionDictionary> imdgSectionDictionary;
|
||||
Imdg<Statement> imdgStatement;
|
||||
ImdgProvider imdgProvider;
|
||||
|
||||
public ValidationConfig(ImdgProvider imdgProvider) {
|
||||
|
|
@ -67,6 +69,7 @@ public class ValidationConfig {
|
|||
this.imdgMoneyMarketSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class);
|
||||
this.fixedIncomeSecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class);
|
||||
this.equitySecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class);
|
||||
this.imdgStatement = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
|
||||
this.imdgProvider = imdgProvider;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public abstract class AbstractTable<T extends SpcexObjectBase> {
|
|||
map.insert(obj);
|
||||
}
|
||||
|
||||
private void bootMap() {
|
||||
protected void bootMap() {
|
||||
map = (ImdgHazelcast<T>) hazelcastService.getImdg(nameOfMap, clazz);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
package ru.spcex.clearing.swt.importer.logic.data.tables;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import ru.clearing.classes.statics.data.sdf.SDf21;
|
||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||
import ru.spcex.clearing.swt.importer.logic.data.enums.ETable;
|
||||
|
|
@ -8,6 +10,7 @@ import ru.spcex.clearing.swt.importer.readers.SWTRecord;
|
|||
import java.time.Instant;
|
||||
|
||||
public class SDf21Table extends AbstractTable<SDf21> {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
||||
private static final String PREFIX = ETable.S_DF_21.name();
|
||||
private static final Class<SDf21> CLAZZ = SDf21.class;
|
||||
|
|
@ -36,7 +39,20 @@ public class SDf21Table extends AbstractTable<SDf21> {
|
|||
result.setFileName(filename);
|
||||
result.setGenerationTime(Instant.now());
|
||||
result.setGenerationId(fileId);
|
||||
result.setTransactionNumber(record.getValFor23Tag());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void injectEntity(SDf21 obj) {
|
||||
if (map == null) {
|
||||
bootMap();
|
||||
}
|
||||
SDf21 firstObjectBySQL = map.getFirstObjectBySQL("transactionNumber = '%s'".formatted(obj.getTransactionNumber()));
|
||||
if (firstObjectBySQL != null) {
|
||||
log.warn("Skip insert by {}, sdf21.transactionNumber: {}", PREFIX, obj.getTransactionNumber());
|
||||
} else {
|
||||
map.insert(obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue