文书档案管理系统统计模块全流程搭建实操零基础落地指南

前置准备:环境与依赖安装

1. 基础环境要求

支持操作系统:Windows10+、CentOS7+、Ubuntu20.04+,硬件最低配置2核4G内存,50G以上可用磁盘空间。

2. 依赖一键安装

所有依赖优先使用国内镜像,避免下载超时:

  • Linux(Ubuntu)执行命令:
    sudo apt update
    安装JDK1.8
    sudo apt install openjdk-8-jdk -y
    安装MySQL8.0
    sudo apt install mysql-server-8.0 -y
    安装Maven3.6+
    sudo apt install maven -y
  • Linux(CentOS)执行命令:
    sudo yum update
    安装JDK1.8
    sudo yum install java-1.8.0-openjdk -y
    安装MySQL8.0
    sudo yum install mysql-server -y
    安装Maven3.6+
    sudo yum install maven -y
  • Windows直接下载安装包:

    JDK1.8:https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-windows-x64.exe

    MySQL8.0:https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-8.0.33-winx64.zip

    Maven3.6.3:https://repo.huaweicloud.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip

Maven配置阿里云镜像,打开Maven安装目录下conf/settings.xml,在mirrors节点下添加以下内容:


aliyunmaven

https://maven.aliyun.com/repository/public

统计模块核心配置与初始化

1. 数据库初始化

登录MySQL执行以下SQL,完成库、用户创建和权限配置:

 创建统计模块专用库
CREATE DATABASE document_manage_stat DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
创建专用用户
CREATE USER 'doc_stat'@'%' IDENTIFIED BY 'Doc_Stat123!@';
赋权
GRANT ALL PRIVILEGES ON document_manage_stat. TO 'doc_stat'@'%';
FLUSH PRIVILEGES;

执行统计模块表结构导入,直接复制以下SQL执行:

文书档案管理系统统计模块全流程搭建实操零基础落地指南

USE document_manage_stat;
统计规则表
CREATE TABLE `stat_rule` (
`id` bigint NOT NULL AUTO_INCREMENT,
`rule_name` varchar(100) NOT NULL COMMENT '规则名称',
`dimensions` varchar(500) NOT NULL COMMENT '统计维度,JSON数组',
`indicators` varchar(500) NOT NULL COMMENT '统计指标,JSON数组',
`time_range` varchar(200) NOT NULL COMMENT '统计时间范围',
`cron` varchar(100) DEFAULT NULL COMMENT '定时执行表达式',
`is_enable` tinyint NOT NULL DEFAULT '1' COMMENT '是否启用',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统计规则表';
统计任务表
CREATE TABLE `stat_task` (
`id` bigint NOT NULL AUTO_INCREMENT,
`rule_id` bigint NOT NULL COMMENT '关联规则ID',
`task_status` tinyint NOT NULL COMMENT '0待执行1执行中2成功3失败',
`error_msg` varchar(1000) DEFAULT NULL COMMENT '错误信息',
`start_time` datetime DEFAULT NULL,
`end_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_rule_id` (`rule_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统计任务表';
统计结果表
CREATE TABLE `stat_result` (
`id` bigint NOT NULL AUTO_INCREMENT,
`task_id` bigint NOT NULL COMMENT '关联任务ID',
`dimension_value` varchar(500) NOT NULL COMMENT '维度组合值',
`indicator_value` varchar(500) NOT NULL COMMENT '指标值',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `idx_task_id` (`task_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='统计结果表';

2. 应用配置修改

克隆系统源码:git clone https://gitee.com/open-source/document-manage-system.git,进入源码根目录,修改src/main/resources/application.yml,直接复制以下内容覆盖原有配置:

spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/document_manage_stat?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: doc_stat
password: Doc_Stat123!@
driver-class-name: com.mysql.cj.jdbc.Driver
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
统计模块配置
stat:
task:
通用默认定时执行时间:每日凌晨1点
default-cron: 0 0 1   ?
单批次查询数据量,避免OOM
batch-size: 1000
export:
单Sheet最大行数,避免导出文件损坏
sheet-max-row: 2000
server:
port: 8080
mybatis:
mapper-locations: classpath:mapper/.xml
configuration:
map-underscore-to-camel-case: true

执行打包启动命令:

mvn clean package -DskipTests
java -jar target/document-manage-system-1.0.0.jar

启动完成后访问http://127.0.0.1:8080,默认账号admin,密码Admin123!登录即可。

核心统计功能实操步骤

1. 自定义统计规则配置

登录后进入系统设置-统计规则管理,按以下步骤操作:

  • 第一步:点击【新增规则】按钮,填写规则名称,例如“2024年各部门归档量统计”
  • 第二步:勾选统计维度,支持多选:归档年份、保管期限、密级、部门、档案类型
  • 第三步:勾选统计指标,支持多选:归档总量、涉密档案量、已借阅量、超期未归档量
  • 第四步:设置统计时间范围,精确到时分秒,例如2024-01-01 00:00:00至2024-12-31 23:59:59
  • 第五步:如需定时自动统计,勾选【启用定时执行】,可自定义cron表达式,默认使用全局配置的凌晨1点执行
  • 第六步:点击【保存】,规则自动生效

2. 统计任务执行与结果查看

进入统计中心-任务管理页面,找到对应规则的任务:

  • 手动触发:点击任务右侧立即执行按钮,100万条以内数据预计1-5分钟完成,任务状态变为“已完成”即可查看结果
  • 错误排查:任务状态为“失败”时,点击【日志】按钮查看错误信息,常见问题为统计范围内无数据、维度配置冲突,调整规则参数后重新执行即可
  • 结果查看:点击任务右侧【查看结果】,可直接查看可视化图表和明细数据,支持按维度筛选

3. 统计结果导出

进入统计中心-结果列表,找到对应任务的结果,点击右侧导出按钮,支持Excel、PDF、CSV三种格式,导出文件默认包含表头、维度值、指标值、统计时间,可直接用于工作汇报。

常见问题排查与优化

1. 统计任务执行超时

当档案原始表数据量超过100万条时,执行以下SQL添加联合索引,可提升统计效率80%以上:

ALTER TABLE `document_info` ADD INDEX idx_stat_dimension (archive_year,department,secret_level,keep_period);

同时将配置文件中stat.task.batch-size调整为500,减少单次查询数据量。

2. 统计数据不准确

  • 核对统计时间范围是否包含时分秒,默认选择日期仅包含当天0点,需手动调整到23:59:59才能覆盖全天数据
  • 进入统计规则编辑页,勾选【排除已逻辑删除数据】,避免已删除的档案被计入统计
  • 维度为“未分类”的数据是原始档案缺失对应维度值,可在档案管理页补充字段后重新统计

3. 导出文件过大无法打开

当统计结果超过1万行时,将配置文件中stat.export.sheet-max-row调整为1000,导出时会自动拆分多个Sheet,避免单个Sheet数据量过大导致文件损坏。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统