diff --git a/src/main/java/top/r3944realms/docchecktoolrefactored/System.java b/src/main/java/top/r3944realms/docchecktoolrefactored/System.java index e09ca8e..0d19c30 100644 --- a/src/main/java/top/r3944realms/docchecktoolrefactored/System.java +++ b/src/main/java/top/r3944realms/docchecktoolrefactored/System.java @@ -27,7 +27,7 @@ public enum System { private static final ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); // 默认值 private static final long DEFAULT_SINGLE_TIMEOUT = 30; - private static final long DEFAULT_TOTAL_TIMEOUT = 300; + private static final long DEFAULT_TOTAL_TIMEOUT = 12600; private static final boolean DEFAULT_ENABLE_STEP = false; public static void init() { diff --git a/src/main/java/top/r3944realms/docchecktoolrefactored/core/HashFileGenerator.java b/src/main/java/top/r3944realms/docchecktoolrefactored/core/HashFileGenerator.java index 2901ed3..233db99 100644 --- a/src/main/java/top/r3944realms/docchecktoolrefactored/core/HashFileGenerator.java +++ b/src/main/java/top/r3944realms/docchecktoolrefactored/core/HashFileGenerator.java @@ -136,7 +136,7 @@ public class HashFileGenerator { return; } - String hash = hashCalculator.calculatePartialHash(file); + String hash = hashCalculator.calculateHash(file); String[] result = {file.getFileName().toString(), hash}; synchronized (results) { diff --git a/src/main/java/top/r3944realms/docchecktoolrefactored/io/reader/ExcelFileReader.java b/src/main/java/top/r3944realms/docchecktoolrefactored/io/reader/ExcelFileReader.java index 1a4cc85..32503fa 100644 --- a/src/main/java/top/r3944realms/docchecktoolrefactored/io/reader/ExcelFileReader.java +++ b/src/main/java/top/r3944realms/docchecktoolrefactored/io/reader/ExcelFileReader.java @@ -5,6 +5,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import top.r3944realms.docchecktoolrefactored.core.LogicalAddressFileGenerator; +import top.r3944realms.docchecktoolrefactored.ui.utils.DialogUtil; import top.r3944realms.docchecktoolrefactored.util.FileUtil; import top.r3944realms.docchecktoolrefactored.util.LoggerMarker; @@ -34,11 +35,11 @@ public class ExcelFileReader implements CatalogFileReader { Sheet sheet = workbook.getSheetAt(0); log.debug(LoggerMarker.DEBUG_MARKER, "读取工作表: {}", sheet.getSheetName()); - // 获取标题行 + // 获取列标题行 Row headerRow = sheet.getRow(0); if (headerRow == null) { - log.error(LoggerMarker.RELEASE_MARKER, "Excel文件缺少标题行"); - throw new IllegalArgumentException("Excel文件缺少标题行"); + log.error(LoggerMarker.RELEASE_MARKER, "Excel文件缺少列标题行"); + throw new IllegalArgumentException("Excel文件缺少列标题行"); } // 查找"档号"和"页数"列的索引 int archiveCodeIndex = -1; @@ -79,7 +80,7 @@ public class ExcelFileReader implements CatalogFileReader { ) ); } - // 从第二行开始读取数据(跳过标题行) + // 从第二行开始读取数据(跳过列标题行,只取数据部分内容) int totalRows = sheet.getLastRowNum(); int validRecords = 0; int skippedRecords = 0; @@ -107,9 +108,12 @@ public class ExcelFileReader implements CatalogFileReader { // 验证数据有效性 if (archiveCode.isEmpty()) { + DialogUtil.showWarningDialog("警告", "操作有误", "第" + ( i + 1 ) + "行档号为空,停止处理"); throw new IllegalArgumentException("第" + ( i + 1 ) + "行档号为空,停止处理"); + } if (page <= 0) { + DialogUtil.showWarningDialog("警告", "操作有误", "第" + ( i + 1 ) + "第" + ( i + 1 ) + "行页数无效: " + page + ",停止处理"); throw new IllegalArgumentException("第" + ( i + 1 ) + "行页数无效: " + page + ",停止处理"); } diff --git a/src/main/java/top/r3944realms/docchecktoolrefactored/ui/MainStageController.java b/src/main/java/top/r3944realms/docchecktoolrefactored/ui/MainStageController.java index b4e424e..4480534 100644 --- a/src/main/java/top/r3944realms/docchecktoolrefactored/ui/MainStageController.java +++ b/src/main/java/top/r3944realms/docchecktoolrefactored/ui/MainStageController.java @@ -7,15 +7,20 @@ import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCodeCombination; import javafx.scene.input.KeyCombination; import javafx.scene.input.KeyEvent; + import lombok.extern.slf4j.Slf4j; import top.r3944realms.docchecktoolrefactored.System; import top.r3944realms.docchecktoolrefactored.core.Setting; import top.r3944realms.docchecktoolrefactored.ui.utils.DialogUtil; import top.r3944realms.docchecktoolrefactored.util.LoggerMarker; + + import java.util.ArrayList; import java.util.List; + + /** * The type Main stage controller. */ @@ -153,12 +158,17 @@ public class MainStageController { SceneManager.openSettingView(); } - @FXML void onOpenHelpDoc(ActionEvent actionEvent) { - DialogUtil.showDetailedInformationDialog("未实现", "敬请期待","待完善文档后内置"); + + @FXML + void onOpenHelpDoc(ActionEvent actionEvent) { + DialogUtil.showDetailedInformationDialog("帮助文档", "操作手册","见.exe程序同文件夹下的“操作手册。docx”文件。"); } + + + @FXML void onAbout(ActionEvent actionEvent) { - DialogUtil.showDetailedInformationDialog("版本", "版本信息","这里写些信息"); + DialogUtil.showDetailedInformationDialog("版本", "版本信息","1.0.0-beta"); } public void updateStepButtonsVisibility() { Setting setting = System.getSetting(); diff --git a/src/main/java/top/r3944realms/docchecktoolrefactored/ui/module/StorageCarrierPaneController.java b/src/main/java/top/r3944realms/docchecktoolrefactored/ui/module/StorageCarrierPaneController.java index f1eb659..d173f98 100644 --- a/src/main/java/top/r3944realms/docchecktoolrefactored/ui/module/StorageCarrierPaneController.java +++ b/src/main/java/top/r3944realms/docchecktoolrefactored/ui/module/StorageCarrierPaneController.java @@ -161,6 +161,7 @@ public class StorageCarrierPaneController { applySuccessStyle(result7TA); generateHashFile7B.setDisable(false); log.info(LoggerMarker.DEBUG_MARKER, "文件哈希值计算完成: {}", hashResult); + log.info(LoggerMarker.RELEASE_MARKER, "文件哈希值计算完成.\t{}文件的哈希值: {}", filePath,hashResult); } catch (IOException e) { log.error(LoggerMarker.DEBUG_MARKER, "计算文件哈希值时出错: {}", filePath, e); DialogUtil.showDetailedErrorDialog("错误", "生成哈希文件时出错:", e.getMessage()); @@ -253,6 +254,7 @@ public class StorageCarrierPaneController { applySuccessStyle(result7TA); resetButtonStyle(caculateHash7B, calculateHashOriginalText); result7TA.setText(task.getValue()); + log.info(LoggerMarker.RELEASE_MARKER, task.getValue()); }); // 任务失败处理 diff --git a/src/main/java/top/r3944realms/docchecktoolrefactored/ui/task/HashFileGenerationTask.java b/src/main/java/top/r3944realms/docchecktoolrefactored/ui/task/HashFileGenerationTask.java index 94a7f2a..db2958d 100644 --- a/src/main/java/top/r3944realms/docchecktoolrefactored/ui/task/HashFileGenerationTask.java +++ b/src/main/java/top/r3944realms/docchecktoolrefactored/ui/task/HashFileGenerationTask.java @@ -41,7 +41,7 @@ public class HashFileGenerationTask extends Task { generator.setCallback((current, total) -> { updateProgress(current, total); updateMessage("处理文件: " + current + "/" + total); - if (current % 500 == 0 || current == total) { + if (current % 5000 == 0 || current == total) { log.info(LoggerMarker.DEBUG_MARKER, "处理进度: {}/{}", current, total); } }); diff --git a/src/main/resources/fxml/module/step-2-pane.fxml b/src/main/resources/fxml/module/step-2-pane.fxml index 9c2b0f0..d75c0a8 100644 --- a/src/main/resources/fxml/module/step-2-pane.fxml +++ b/src/main/resources/fxml/module/step-2-pane.fxml @@ -67,7 +67,7 @@ - + diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index 651cfd0..16f1ecb 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -3,7 +3,7 @@ - + @@ -12,7 +12,7 @@ - + ${DEBUG_PATTERN} @@ -31,7 +31,7 @@ ACCEPT DENY - + ${RELEASE_PATTERN} @@ -50,7 +50,7 @@ ACCEPT DENY - + ${DEBUG_PATTERN} @@ -69,7 +69,7 @@ ACCEPT DENY - + ${TRACKER_PATTERN} @@ -89,6 +89,13 @@ + + + + + + +