This commit is contained in:
parent
e557b948fe
commit
7fc8f95c20
2 changed files with 12 additions and 19 deletions
|
|
@ -1,8 +1,6 @@
|
||||||
package ru.spcex.clearing.swt.importer.logic.data.tables;
|
package ru.spcex.clearing.swt.importer.logic.data.tables;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import ru.clearing.classes.statics.data.sdf.SDf20;
|
import ru.clearing.classes.statics.data.sdf.SDf20;
|
||||||
|
|
@ -42,16 +40,4 @@ public class SDf20Table extends AbstractTable<SDf20> implements WithTransactionN
|
||||||
result.setNameCl(record.getValFor83DTag()[1]);
|
result.setNameCl(record.getValFor83DTag()[1]);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean checkOnExisting(SDf20 obj) {
|
|
||||||
if (map == null) {
|
|
||||||
bootMap();
|
|
||||||
}
|
|
||||||
Collection<SDf20> sDf20s = map.getCollectionObjectsByFieldValues(Map.of("transactionNumber", obj.getTransactionNumber()));
|
|
||||||
if (!sDf20s.isEmpty()) {
|
|
||||||
log.warn("Skip insert by {}, sdf57.dbfId: {}", PREFIX, obj.getTransactionNumber());
|
|
||||||
}
|
|
||||||
return sDf20s.isEmpty();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
package ru.spcex.clearing.swt.importer.logic.data.tables;
|
package ru.spcex.clearing.swt.importer.logic.data.tables;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Map;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
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;
|
||||||
import ru.spcex.clearing.swt.importer.readers.SWTRecord;
|
import ru.spcex.clearing.swt.importer.readers.SWTRecord;
|
||||||
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicate;
|
||||||
|
import ru.spcex.platform.imdg.api.predicate.ImdgPredicateBuilder;
|
||||||
|
|
||||||
public class SDf21Table extends AbstractTable<SDf21> implements WithTransactionNumber {
|
public class SDf21Table extends AbstractTable<SDf21> implements WithTransactionNumber {
|
||||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
|
@ -48,10 +48,17 @@ public class SDf21Table extends AbstractTable<SDf21> implements WithTransactionN
|
||||||
if (map == null) {
|
if (map == null) {
|
||||||
bootMap();
|
bootMap();
|
||||||
}
|
}
|
||||||
Collection<SDf21> sDf21s = map.getCollectionObjectsByFieldValues(Map.of("transactionNumber", obj.getTransactionNumber()));
|
ImdgPredicateBuilder pb = map.predicateBuilder();
|
||||||
if (!sDf21s.isEmpty()) {
|
ImdgPredicate sameTransactionNumberAndOperationCode = pb.and(
|
||||||
|
pb.equals("transactionNumber", obj.getTransactionNumber()),
|
||||||
|
pb.equals("operationCode", obj.getOperationCode())
|
||||||
|
);
|
||||||
|
SDf21 firstObjectBySQL = map.getFirstObjectByPredicate(
|
||||||
|
sameTransactionNumberAndOperationCode
|
||||||
|
);
|
||||||
|
if (firstObjectBySQL != null) {
|
||||||
log.warn("Skip insert by {}, sdf57.dbfId: {}", PREFIX, obj.getTransactionNumber());
|
log.warn("Skip insert by {}, sdf57.dbfId: {}", PREFIX, obj.getTransactionNumber());
|
||||||
}
|
}
|
||||||
return sDf21s.isEmpty();
|
return firstObjectBySQL == null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Reference in a new issue