5.8 KiB
5.8 KiB
数字档案标准系统 (Digital Archive Standard System)
项目概述
这是一个基于 Spring Boot 2.3.7 的企业级数字档案管理系统,专门用于档案的数字化管理、存储、检索和利用。系统支持多种数据库(MySQL、人大金仓、达梦等),集成了 OCR 识别、全文检索、报表生成、工作流等功能。
核心技术栈
- 后端框架: Spring Boot 2.3.7.RELEASE
- 数据库: MySQL 5.1.6 / 人大金仓 8.6.0 / 达梦数据库
- ORM框架: MyBatis 3.4.5 + MyBatis-Spring-Boot-Starter 1.2.0
- 分页插件: PageHelper 4.1.0
- 连接池: Druid 1.1.9
- 缓存: Redis
- 搜索引擎: Elasticsearch
- 报表工具: UReport2 2.2.9
- 文档处理:
- Aspose Words 15.8.0 (Word文档处理)
- Aspose Cells 8.5.2 (Excel文档处理)
- PDFBox 2.0.27 (PDF处理)
- Tess4j 4.5.3 (OCR识别)
- API文档: Swagger 2.9.2
- 工具类: Hutool 5.5.2, Lombok 1.18.16
项目结构
src/main/java/com/point/strategy/
├── controller/ # 控制器层
├── service/ # 服务层
├── dao/ # 数据访问层
├── bean/ # 实体类
├── common/ # 公共工具类
├── workFlow/ # 工作流模块
├── elasticsearch/ # 搜索模块
├── ocr/ # OCR识别模块
├── pdf/ # PDF处理模块
├── webSocket/ # WebSocket模块
├── webService/ # WebService模块
└── PointStrategyApplication.java # 主启动类
核心功能模块
1. 档案管理
- 文件管理 (
FileManageController): 文件上传、下载、批量操作 - 档案接收 (
ArchivesReceiveController): 档案接收和登记 - 档案移交 (
ArchivesTransferController): 档案移交流程 - 档案借阅 (
BorrowingFilesController): 档案借阅管理
2. 库房管理
- 库房实体 (
StorehouseEntityController): 库房实体管理 - 库房点位 (
StorehousePointController): 库房点位管理 - 温湿度监控 (
TemperatureController): 环境监控 - 档案装具 (
FileBoxController,FileFrameController): 装具管理
3. 检索与统计
- 全文检索 (
FulltextSearchLogController): 基于 Elasticsearch 的全文搜索 - 统计分析 (
StatisticsController,HomeStatisticsController): 各类统计报表 - 四性检测 (
fourCheck): 档案四性检测功能
4. 工作流与审批
- 工作流 (
workFlow): 档案审批流程 - 审批设置 (
ApproveSettingController): 审批流程配置 - 预约管理 (
ArchiveAppointmentController): 档案预约
5. 元数据管理
- 元数据标准 (
metaData): 元数据标准管理 - 实体结构 (
TentityStructDescriptionController): 实体结构描述 - 数据字典 (
DictController): 数据字典管理
构建和运行
环境要求
- JDK 1.8+
- Maven 3.6+
- MySQL 5.7+ / 人大金仓 8.6.0 / 达梦数据库
- Redis 3.0+
- Elasticsearch 7.x (可选)
构建命令
# 编译项目
mvn clean compile
# 打包项目
mvn clean package
# 跳过测试打包
mvn clean package -DskipTests
# 运行项目
mvn spring-boot:run
# 生成 MyBatis 代码
mvn mybatis-generator:generate
运行配置
开发环境 (application-dev.yml)
- 服务端口: 9081
- 数据库: MySQL (100.64.11.2:3311)
- Redis: 100.64.11.2:6379
生产环境配置
修改 application.properties 中的数据库连接和相关配置:
# 数据库配置
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://your-host:port/database
spring.datasource.username=your-username
spring.datasource.password=your-password
# 人大金仓配置 (取消注释使用)
#spring.datasource.driverClassName=com.kingbase8.Driver
#spring.datasource.url=jdbc:kingbase8://your-host:port/database
开发约定
代码规范
- 使用 Lombok 简化代码
- 遵循 RESTful API 设计规范
- 统一使用
AjaxJson作为返回格式 - 接口文档使用 Swagger 注解
数据库规范
- 表名使用小写字母和下划线
- 字段名使用驼峰命名,MyBatis 自动转换
- 主键统一使用
id - 时间字段使用
datetime类型
文件存储规范
- 上传文件路径:
${upload.path} - 临时文件路径:
${temp.path} - 解压文件路径:
${unzip.path} - 图片上传路径:
${img.upload} - 报表生成路径:
${report.path}
部署说明
传统部署
- 打包生成 WAR 文件
- 部署到 Tomcat 8.5+
- 配置数据库连接和 Redis 连接
- 配置文件上传路径
Docker 部署
FROM openjdk:8-jre-alpine
COPY target/point-strategy.war app.war
EXPOSE 9081
CMD ["java", "-jar", "app.war"]
第三方集成
OCR 集成
- 友虹 OCR: 通过 HTTP API 调用
- Tess4j: 本地 OCR 识别
报表集成
- UReport2: 可视化报表设计器
- 访问路径:
/ureport/*
全文检索
- Elasticsearch: 基于 Spring Data Elasticsearch
- 支持多字段检索和高亮显示
监控和日志
日志配置
- 日志文件位置:
logs/ - 日志级别: DEBUG/INFO/WARN/ERROR
- 日志轮转: 按大小和时间轮转
- 最大文件大小: 500MB
- 保留天数: 20 天
性能监控
- 数据库连接池监控
- Redis 连接池监控
- 接口响应时间监控
常见问题
数据库连接问题
- 检查数据库服务是否启动
- 验证连接字符串和凭据
- 确认网络连通性
文件上传问题
- 检查上传路径权限
- 确认磁盘空间充足
- 验证文件大小限制
OCR 识别问题
- 确认 OCR 服务配置正确
- 检查图片格式和质量
- 验证 Tess4j 本地环境
开发工具推荐
- IDE: IntelliJ IDEA
- 数据库工具: DBeaver, Navicat
- API 测试: Postman, Swagger UI
- 版本控制: Git
联系方式
如有问题请联系开发团队或提交 Issue。