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;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
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]);
|
||||
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;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
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;
|
||||
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 {
|
||||
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||
|
|
@ -48,10 +48,17 @@ public class SDf21Table extends AbstractTable<SDf21> implements WithTransactionN
|
|||
if (map == null) {
|
||||
bootMap();
|
||||
}
|
||||
Collection<SDf21> sDf21s = map.getCollectionObjectsByFieldValues(Map.of("transactionNumber", obj.getTransactionNumber()));
|
||||
if (!sDf21s.isEmpty()) {
|
||||
ImdgPredicateBuilder pb = map.predicateBuilder();
|
||||
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());
|
||||
}
|
||||
return sDf21s.isEmpty();
|
||||
return firstObjectBySQL == null;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue