# 金额验证工具 用于验证工单赔付金额与实际文档中金额一致性的桌面应用程序。 ## 功能特性 - 从 Excel 表格读取工单数据(IMEI码、赔付金额、工单号) - 扫描文件夹,匹配对应工单的 PDF 或图片文件 - 通过 OCR 识别图片/PDF 中的理赔金额 - 自动比对赔付金额与实际金额,生成差异报告 - 支持输出 Excel 报告,包含"正常"和"错误"两个Sheet ## 技术栈 - Java 17 - JavaFX - 桌面UI - RapidOCR - 图片文字识别(OCR) - Apache PDFBox - PDF文本提取 - EasyExcel - Excel读写 - Tesseract - OCR备选方案 ## 项目结构 ``` src/ ├── main/ │ ├── java/space/anyi/amountVerification/ │ │ ├── Main.java # 程序入口 │ │ ├── App.java # 主应用类 │ │ └── model/ # 数据模型 │ └── resources/ │ ├── logo.jpg # 应用图标 │ ├── logback.xml # 日志配置 │ └── package # 打包脚本 └── test/ # 测试代码 pom.xml # Maven配置 tessdata/ # Tesseract语言包 ``` ## 构建与运行 ### 环境要求 - JDK 17+ - Maven 3.6+ - Windows(桌面应用) ### 构建命令 ```bash # 编译打包(生成含所有依赖的JAR) mvn clean package # 运行测试 mvn test ``` ### 运行应用 ```bash # 直接运行JAR java -jar target/amount-verification-0.0.2.jar # 或运行已打包的应用(在dist目录) dist3/amountVerify/amountVerify.exe ``` ### 打包为安装程序 ```bash jpackage --type app-image --name amountVerify --input target --main-jar amount-verification-0.0.2.jar --dest dist ``` ## 使用说明 ### 输入文件格式 Excel 文件(.xlsx)需包含以下列: | 列名 | 说明 | |------|------| | IMEI码 | 设备唯一标识 | | 赔付金额 | 保险公司赔付金额 | | 工单号 | 工单编号 | ### 文件夹结构 工具会扫描文件夹下的子文件夹,文件夹命名格式为: ``` {工单号}-{IMEI} # 或 {工单号}_{IMEI} ``` 文件夹内需要包含以下文件之一: - PDF文件(.pdf) - 图片文件(.jpg/.png/.jpeg) 文件名需包含"工单照片"或"工单资料"关键词。 ### 使用流程 1. 点击"浏览"选择 Excel 清单文件 2. 点击"浏览"选择包含工单文件夹的目录 3. 点击"开始验证" 4. 验证完成后,自动生成对比结果文件 ### 输出结果 生成的 Excel 文件包含两个Sheet: - **正常**:金额匹配的工单 - **错误**:未找到文件或金额不匹配的工单 ## OCR 配置 - 主要使用 RapidOCR(基于ONNX模型) - 备用方案:Tesseract(需在 `tessdata/` 目录放置 `chi_sim.traineddata` 语言包) - OCR 引擎初始化时会设置临时目录:`System.setProperty("java.io.tmpdir", "temp")` ## 日志 日志文件位置:`log/amount-verification/amount-verification.log` ## 注意事项 1. 应用有效期至 2025-11-28,过期后需联系作者更新 2. 确保工单文件夹命名正确,否则无法匹配 3. 图片OCR依赖 RapidOCR 模型,首次运行会下载模型文件 4. 测试代码位于 `src/test/java/space/anyi/` ## 许可证 私人使用 - 联系作者: huanglve2004@163.com