# 车辆异常运行监控告警系统 ## 🎯 功能概述 本系统实现了完整的车辆异常运行监控告警功能,用于监控无任务状态下车辆的异常运行情况,并通过企业微信/小程序及时告警通知相关负责人。 ## ✨ 核心特性 - ✅ **智能监控**: 实时监控所有车辆运行状态,基于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. 数据库初始化 ```bash 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. **处理告警**: - 单条处理:点击"处理"按钮,填写处理备注 - 批量处理:勾选多条记录,点击"批量处理" 5. **导出数据**:需要时可导出告警记录为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是否有效 - [ ] 企业微信应用配置是否正确 - [ ] 网络连接是否正常 ### 性能问题 **优化建议**: - 适当增加定时任务执行间隔 - 为数据库表添加索引 - 定期清理历史数据 - 考虑使用缓存 ## 📞 技术支持 ### 文档链接 - [功能说明文档](./车辆异常运行监控告警功能说明.md) - 详细功能介绍 - [快速部署指南](./车辆异常运行监控告警-快速部署指南.md) - 后端部署步骤 - [前端部署指南](./车辆异常运行监控告警-前端部署指南.md) - 前端部署步骤 - [完整实现总结](./车辆异常运行监控告警-完整实现总结.md) - 技术实现细节 ### 常见问题 详见各部署指南的"常见问题"章节 ## 📝 更新日志 ### 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开发助手