编辑 | blame | 历史 | 原始文档

车辆异常运行监控告警系统

🎯 功能概述

本系统实现了完整的车辆异常运行监控告警功能,用于监控无任务状态下车辆的异常运行情况,并通过企业微信/小程序及时告警通知相关负责人。

✨ 核心特性

  • 智能监控: 实时监控所有车辆运行状态,基于GPS分段里程精准计算
  • 灵活配置: 支持全局/部门/车辆三级配置策略,配置优先级自动应用
  • 频率控制: 每日告警次数限制 + 告警间隔时间控制,避免频繁骚扰
  • 及时通知: 企业微信消息推送,支持可配置通知用户列表
  • 完善管理: 告警记录列表管理、批量处理、数据统计、导出功能

📊 技术架构

后端

  • Spring Boot 2.x
  • MyBatis
  • Quartz (定时任务)
  • MySQL 5.7+
  • 企业微信API

前端

  • Vue 2.x
  • Element UI
  • Axios

📁 项目结构

.
├── doc/                                    # 文档目录
│   ├── 车辆异常运行监控告警功能说明.md          # 功能说明
│   ├── 车辆异常运行监控告警-快速部署指南.md      # 后端部署
│   ├── 车辆异常运行监控告警-前端部署指南.md      # 前端部署
│   ├── 车辆异常运行监控告警-完整实现总结.md      # 实现总结
│   └── 车辆异常运行监控告警-README.md          # 本文档
│
├── sql/
│   └── vehicle_abnormal_alert.sql         # 数据库初始化脚本
│
├── ruoyi-system/                          # 后端核心模块
│   ├── src/main/java/com/ruoyi/system/
│   │   ├── domain/                        # 实体类
│   │   │   ├── VehicleAbnormalAlert.java  # 告警记录实体
│   │   │   └── VehicleAlertConfig.java    # 告警配置实体
│   │   ├── mapper/                        # Mapper接口
│   │   │   ├── VehicleAbnormalAlertMapper.java
│   │   │   └── VehicleAlertConfigMapper.java
│   │   └── service/                       # Service层
│   │       ├── IVehicleAbnormalAlertService.java
│   │       ├── IVehicleAlertConfigService.java
│   │       └── impl/
│   │           ├── VehicleAbnormalAlertServiceImpl.java
│   │           └── VehicleAlertConfigServiceImpl.java
│   └── src/main/resources/mapper/system/
│       ├── VehicleAbnormalAlertMapper.xml
│       └── VehicleAlertConfigMapper.xml
│
├── ruoyi-admin/                           # Controller层
│   └── src/main/java/com/ruoyi/web/controller/system/
│       ├── VehicleAbnormalAlertController.java
│       └── VehicleAlertConfigController.java
│
├── ruoyi-quartz/                          # 定时任务
│   └── src/main/java/com/ruoyi/quartz/task/
│       └── VehicleAbnormalAlertTask.java  # 监控定时任务
│
└── ruoyi-ui/                              # 前端项目
    ├── src/api/system/                    # API接口
    │   ├── vehicleAlert.js
    │   ├── vehicleAlertConfig.js
    │   └── vehicle.js
    └── src/views/system/                  # 页面组件
        ├── vehicleAlert/
        │   └── index.vue                  # 告警记录列表
        └── vehicleAlertConfig/
            └── index.vue                  # 告警配置管理

🚀 快速开始

1. 数据库初始化

mysql -u root -p database_name < sql/vehicle_abnormal_alert.sql

2. 配置系统参数

登录后台系统,进入 系统管理 > 参数设置,确认以下参数:

参数键名 默认值 说明
vehicle.alert.enabled true 功能总开关
vehicle.alert.mileage.threshold 10 公里数阈值(km)
vehicle.alert.daily.limit 5 每日告警次数
vehicle.alert.interval.minutes 5 告警间隔(分钟)
vehicle.alert.time.window 10 监控时间窗口(分钟)
vehicle.alert.notify.users 1 默认通知用户ID

3. 启动定时任务

进入 系统监控 > 定时任务,找到"车辆异常运行监控"任务,点击启动。

4. 配置菜单权限

进入 系统管理 > 菜单管理,添加以下菜单并分配权限:
- 车辆异常告警 (/system/vehicleAlert)
- 告警配置管理 (/system/vehicleAlertConfig)

5. 创建告警配置

进入 车辆监控 > 告警配置管理,创建全局配置或针对特定部门/车辆的配置。

📖 使用指南

告警配置优先级

系统支持三级配置策略,按以下优先级应用:

车辆配置 (最高优先级)
    ↓ 不存在时
部门配置
    ↓ 不存在时
全局配置 (默认配置)

配置示例
1. 创建全局配置:阈值10km,每日5次,间隔5分钟
2. 为"分公司A"创建部门配置:阈值8km
3. 为"车辆A001"创建车辆配置:阈值12km

生效结果
- 车辆A001使用12km阈值
- 分公司A的其他车辆使用8km阈值
- 其他车辆使用10km阈值

告警处理流程

  1. 查看告警:进入"车辆异常告警"页面
  2. 筛选告警:使用搜索条件筛选需要处理的告警
  3. 查看详情:点击"详情"按钮查看告警完整信息
  4. 处理告警
  • 单条处理:点击"处理"按钮,填写处理备注
  • 批量处理:勾选多条记录,点击"批量处理"
  1. 导出数据:需要时可导出告警记录为Excel

📊 数据统计

告警列表页面提供实时统计:
- 未处理告警:红色显示,需要优先处理
- 今日告警:当天产生的告警数量
- 累计告警车辆:历史产生过告警的车辆数
- 累计告警次数:总告警记录数

🔧 系统配置

定时任务配置

执行频率:每5分钟执行一次
Cron表达式0 0/5 * * * ?
任务方法vehicleAbnormalAlertTask.monitorVehicleAbnormalRunning

可根据实际需求调整执行频率,建议范围:
- 最短:1分钟 (0 0/1 * * * ?)
- 推荐:5分钟 (0 0/5 * * * ?)
- 最长:30分钟 (0 0/30 * * * ?)

通知配置

通知方式:企业微信消息推送
通知内容:车辆信息 + 运行里程 + 时间范围
通知用户
1. 优先使用配置表中的通知用户列表
2. 其次根据车辆归属部门查找负责人
3. 最后使用系统参数中的默认用户

📈 监控指标

系统运行监控建议关注以下指标:

  • 任务执行时间:建议 < 30秒(100辆车)
  • 告警响应时间:从触发到通知送达 < 1分钟
  • 通知成功率:> 95%
  • 误报率:< 5%

⚠️ 注意事项

  1. GPS数据依赖:系统依赖GPS分段里程数据,确保GPS设备正常工作
  2. 任务状态准确:及时更新任务状态,避免误判
  3. 配置合理性:根据实际业务场景调整阈值和频率
  4. 通知用户有效:定期检查通知用户列表是否有效
  5. 数据定期清理:建议定期归档或删除历史告警数据

🐛 故障排查

告警未产生

检查清单
- [ ] 功能开关是否启用
- [ ] 定时任务是否启动
- [ ] 车辆是否有GPS数据
- [ ] 里程是否超过阈值
- [ ] 是否已达到频率限制

通知未发送

检查清单
- [ ] 企业微信服务是否启用
- [ ] 通知用户ID是否配置
- [ ] 用户ID是否有效
- [ ] 企业微信应用配置是否正确
- [ ] 网络连接是否正常

性能问题

优化建议
- 适当增加定时任务执行间隔
- 为数据库表添加索引
- 定期清理历史数据
- 考虑使用缓存

📞 技术支持

文档链接

常见问题

详见各部署指南的"常见问题"章节

📝 更新日志

v1.0.0 (2026-01-12)

初始版本发布

  • ✅ 完整实现车辆异常运行监控功能
  • ✅ 三级配置策略支持
  • ✅ 告警记录管理
  • ✅ 告警配置管理
  • ✅ 企业微信通知集成
  • ✅ 前端管理页面
  • ✅ 完整文档体系

代码统计
- SQL脚本:1个文件,123行
- Java代码:11个文件,1,785行
- Vue代码:5个文件,1,151行
- 文档:5个文件,1,573+行

📄 许可证

本项目遵循 RuoYi 框架的许可证协议


开发时间:2026-01-12
项目状态:✅ 已完成
维护团队:AI开发助手