http://jira.mfd.msk:8088/browse/CLS-404 (bug fix CLS-313) поправил поиск по файлам

This commit is contained in:
AKurakin 2023-07-06 14:09:17 +03:00
parent 262166d470
commit 30349030dd

View file

@ -1,5 +1,7 @@
package ru.spcex.clearing.dbf.exporter.logic.data.enums; package ru.spcex.clearing.dbf.exporter.logic.data.enums;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.integration.sftp.session.SftpFileInfo; import org.springframework.integration.sftp.session.SftpFileInfo;
import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer; import ru.spcex.clearing.dbf.exporter.logic.data.ResultContainer;
@ -74,20 +76,26 @@ public enum FilenameTemplate {
} }
protected Integer countSameFilesInDir(String prefixOfTable, List<SftpFileInfo> files) { protected Integer countSameFilesInDir(String prefixOfTable, List<SftpFileInfo> files) {
final Logger log = LoggerFactory.getLogger(getClass());
int res = 0; int res = 0;
String timestampNow = utilFormatter.format(LocalDateTime.now()); String timestampNow = utilFormatter.format(LocalDateTime.now());
for (SftpFileInfo file : files) { for (SftpFileInfo file : files) {
if (file.isDirectory()) continue; if (file.isDirectory()) continue;
String name = file.getFilename(); String name = file.getFilename();
String[] splitName = name.split("_"); String[] splitName = name.split("_");
if (splitName.length < 3) if (splitName.length < 3) {
throw new IllegalArgumentException("Filename did not contains 3 or 4 separator \"_\": " + name); log.info("Filename did not contains 3 or 4+ separator \"_\": " + name);
continue;
}
String prefix = splitName[0]; String prefix = splitName[0];
String timestamp = splitName[2]; String timestamp = splitName[2];
if (prefix.equalsIgnoreCase(prefixOfTable) && timestamp.contains(timestampNow)) { if (prefix.equalsIgnoreCase(prefixOfTable) && timestamp.contains(timestampNow)) {
if (splitName.length < 4) if (splitName.length < 4) {
throw new IllegalArgumentException("Filename did not contains 4 separator \"_\": " + name); log.warn("Filename did not contains 4+ separator \"_\": " + name);
continue;
}
String counter = splitName[3]; String counter = splitName[3];
int positionOfDot = counter.indexOf('.'); int positionOfDot = counter.indexOf('.');
if (positionOfDot != -1) { if (positionOfDot != -1) {