diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java index 90eb87d67..274f69025 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/config/SFTPConfig.java @@ -22,6 +22,7 @@ import org.springframework.scheduling.support.PeriodicTrigger; import ru.spcex.clearing.dbf.importer.config.settings.ImportDBFServiceSettings; import java.io.File; +import java.util.Comparator; import java.util.concurrent.TimeUnit; @Configuration @@ -60,6 +61,8 @@ public class SFTPConfig { fileSync.setTemporaryFileSuffix(".tmp"); fileSync.setRemoteDirectory(settings.getStore().getSftpIn().getSftpSrcDir()); fileSync.setFilter(new AcceptAllFileListFilter<>()); + fileSync.setPreserveTimestamp(true); + fileSync.setComparator(Comparator.comparingInt(f -> f.getAttrs().getMTime())); return fileSync; } diff --git a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/FileChecker.java b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/FileChecker.java index 2ee390a94..b9e3d74e0 100644 --- a/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/FileChecker.java +++ b/clearing-parent/dbf-importer/src/main/java/ru/spcex/clearing/dbf/importer/services/FileChecker.java @@ -48,6 +48,7 @@ public class FileChecker { List resultFiles = new LinkedList<>(); if (dbfFiles != null && dbfFiles.length >= 1) { + Arrays.sort(dbfFiles, Comparator.comparingLong(File::lastModified)); resultFiles.addAll(Arrays.asList(dbfFiles)); } diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java index c0255fa1a..d96dfb250 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/config/SFTPConfig.java @@ -22,6 +22,7 @@ import org.springframework.scheduling.support.PeriodicTrigger; import ru.spcex.clearing.swt.importer.config.settings.ImportSWTServiceSettings; import java.io.File; +import java.util.Comparator; import java.util.concurrent.TimeUnit; @Configuration @@ -60,6 +61,8 @@ public class SFTPConfig { fileSync.setTemporaryFileSuffix(".tmp"); fileSync.setRemoteDirectory(settings.getStore().getSftpIn().getSftpSrcDir()); fileSync.setFilter(new AcceptAllFileListFilter<>()); + fileSync.setPreserveTimestamp(true); + fileSync.setComparator(Comparator.comparingInt(f -> f.getAttrs().getMTime())); return fileSync; } diff --git a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/services/FileChecker.java b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/services/FileChecker.java index f8287590d..6c99c5da7 100644 --- a/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/services/FileChecker.java +++ b/clearing-parent/swt-importer/src/main/java/ru/spcex/clearing/swt/importer/services/FileChecker.java @@ -54,6 +54,7 @@ public class FileChecker { List resultFiles = new LinkedList<>(); if (swtFiles != null && swtFiles.length >= 1) { + Arrays.sort(swtFiles, Comparator.comparingLong(File::lastModified)); resultFiles.addAll(Arrays.asList(swtFiles)); }