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.sdf.*;
|
||||||
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
|
import ru.clearing.classes.statics.data.security.MoneyMarketSecurity;
|
||||||
import ru.clearing.classes.statics.data.security.Security;
|
import ru.clearing.classes.statics.data.security.Security;
|
||||||
|
import ru.clearing.classes.statics.data.statement.Statement;
|
||||||
import ru.clearing.platform.dictionary.SectionDictionary;
|
import ru.clearing.platform.dictionary.SectionDictionary;
|
||||||
import ru.spcex.clearing.error.ClearingError;
|
import ru.spcex.clearing.error.ClearingError;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
|
|
@ -51,6 +52,7 @@ public class ValidationConfig {
|
||||||
Imdg<TradingClearingRegistry> imdgTradingClearingRegistry;
|
Imdg<TradingClearingRegistry> imdgTradingClearingRegistry;
|
||||||
Imdg<Session> imdgSession;
|
Imdg<Session> imdgSession;
|
||||||
Imdg<SectionDictionary> imdgSectionDictionary;
|
Imdg<SectionDictionary> imdgSectionDictionary;
|
||||||
|
Imdg<Statement> imdgStatement;
|
||||||
ImdgProvider imdgProvider;
|
ImdgProvider imdgProvider;
|
||||||
|
|
||||||
public ValidationConfig(ImdgProvider imdgProvider) {
|
public ValidationConfig(ImdgProvider imdgProvider) {
|
||||||
|
|
@ -67,6 +69,7 @@ public class ValidationConfig {
|
||||||
this.imdgMoneyMarketSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class);
|
this.imdgMoneyMarketSecurity = imdgProvider.getImdg(IMDGDistributedNames.Map_MoneyMarketSecurity, MoneyMarketSecurity.class);
|
||||||
this.fixedIncomeSecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class);
|
this.fixedIncomeSecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_FixedIncomeSecurity, FixedIncomeSecurity.class);
|
||||||
this.equitySecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class);
|
this.equitySecurityImdg = imdgProvider.getImdg(IMDGDistributedNames.Map_EquitySecurity, EquitySecurity.class);
|
||||||
|
this.imdgStatement = imdgProvider.getImdg(IMDGDistributedNames.Map_Statement, Statement.class);
|
||||||
this.imdgProvider = imdgProvider;
|
this.imdgProvider = imdgProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ public abstract class AbstractTable<T extends SpcexObjectBase> {
|
||||||
map.insert(obj);
|
map.insert(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void bootMap() {
|
protected void bootMap() {
|
||||||
map = (ImdgHazelcast<T>) hazelcastService.getImdg(nameOfMap, clazz);
|
map = (ImdgHazelcast<T>) hazelcastService.getImdg(nameOfMap, clazz);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package ru.spcex.clearing.swt.importer.logic.data.tables;
|
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.clearing.classes.statics.data.sdf.SDf21;
|
||||||
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
import ru.spcex.clearing.imdg.IMDGDistributedNames;
|
||||||
import ru.spcex.clearing.swt.importer.logic.data.enums.ETable;
|
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;
|
import java.time.Instant;
|
||||||
|
|
||||||
public class SDf21Table extends AbstractTable<SDf21> {
|
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 String PREFIX = ETable.S_DF_21.name();
|
||||||
private static final Class<SDf21> CLAZZ = SDf21.class;
|
private static final Class<SDf21> CLAZZ = SDf21.class;
|
||||||
|
|
@ -36,7 +39,20 @@ public class SDf21Table extends AbstractTable<SDf21> {
|
||||||
result.setFileName(filename);
|
result.setFileName(filename);
|
||||||
result.setGenerationTime(Instant.now());
|
result.setGenerationTime(Instant.now());
|
||||||
result.setGenerationId(fileId);
|
result.setGenerationId(fileId);
|
||||||
|
result.setTransactionNumber(record.getValFor23Tag());
|
||||||
return result;
|
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