swt-importer sdf21 учитывается направление при проверке на выгруженность

This commit is contained in:
ialbert 2023-08-23 14:04:31 +03:00
parent d41edf57ff
commit 54b209a5ab

View file

@ -6,6 +6,8 @@ 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;
import java.time.Instant;
@ -48,7 +50,14 @@ public class SDf21Table extends AbstractTable<SDf21> {
if (map == null) {
bootMap();
}
SDf21 firstObjectBySQL = map.getFirstObjectBySQL("transactionNumber = '%s'".formatted(obj.getTransactionNumber()));
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 {}, sdf21.transactionNumber: {}", PREFIX, obj.getTransactionNumber());
} else {