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

车辆GPS行驶统计管理界面

功能概述

在 ruoyi-ui 后台管理系统中新增了车辆GPS行驶统计功能,用于查看和管理车辆的GPS里程统计数据。

新增文件

1. 前端页面

  • 文件路径: ruoyi-ui/src/views/system/mileageStats/index.vue
  • 功能: 车辆里程统计管理界面

2. API接口文件

  • 文件路径: ruoyi-ui/src/api/system/mileageStats.js
  • 功能: 车辆里程统计相关的API接口调用

主要功能

1. 数据查询与展示

  • ✅ 支持按车牌号、车辆ID、统计日期查询
  • ✅ 支持日期范围查询
  • ✅ 分页显示统计数据
  • ✅ 实时展示以下数据:
  • 车辆ID、车牌号
  • 统计日期
  • 总里程(km)
  • 任务里程(km)
  • 非任务里程(km)
  • 任务占比(带颜色标签)
  • GPS点数量
  • 任务数量
  • 统计时间

2. 手动统计

  • ✅ 可指定车辆ID和统计日期
  • ✅ 手动触发单个车辆的里程计算
  • ✅ 实时显示统计进度

3. 批量统计

  • ✅ 可指定统计日期
  • ✅ 自动对所有活跃车辆进行里程计算
  • ✅ 提示用户等待时间可能较长

4. 数据详情

  • ✅ 查看详细的里程统计信息
  • ✅ 使用描述列表美观展示

5. 数据导出

  • ✅ 支持将统计数据导出为Excel文件
  • ✅ 可按查询条件导出

6. 数据删除

  • ✅ 支持单条或批量删除统计记录
  • ✅ 删除前二次确认

界面特色

1. 任务占比颜色标识

  • 🟢 绿色 (success): 占比 ≥ 80%
  • 🔵 蓝色 (primary): 占比 60% - 79%
  • 🟡 橙色 (warning): 占比 40% - 59%
  • 🔴 红色 (danger): 占比 < 40%
  • 灰色 (info): 无数据

2. 数据高亮显示

  • 总里程:蓝色加粗
  • 任务里程:绿色加粗
  • 详情数据:大字号加粗

权限配置

需要在系统菜单中配置以下权限标识:

system:mileageStats:list      # 查询列表
system:mileageStats:query     # 查看详情
system:mileageStats:export    # 导出数据
system:mileageStats:remove    # 删除数据
system:mileageStats:calculate # 手动统计
system:mileageStats:batch     # 批量统计

菜单配置示例

在系统管理 → 菜单管理中添加:

菜单名称: 车辆里程统计
父菜单: 系统管理
菜单类型: 菜单
路由地址: mileageStats
组件路径: system/mileageStats/index
权限标识: system:mileageStats:list
菜单图标: chart

后端接口

后端接口已完成,路径为:
- Controller: ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/VehicleMileageStatsController.java
- Service: ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleMileageStatsServiceImpl.java

接口列表

接口路径 方法 说明
/system/mileageStats/list GET 查询统计列表
/system/mileageStats/{statsId} GET 获取统计详情
/system/mileageStats/{statsIds} DELETE 删除统计记录
/system/mileageStats/export POST 导出统计数据
/system/mileageStats/calculate POST 手动计算统计
/system/mileageStats/batchCalculate POST 批量计算统计

使用说明

1. 查看统计数据

  1. 在后台管理系统中访问"车辆里程统计"菜单
  2. 可以通过车牌号、车辆ID、日期等条件筛选数据
  3. 点击"详情"按钮查看完整的统计信息

2. 手动统计单个车辆

  1. 点击"手动统计"按钮
  2. 输入车辆ID和统计日期
  3. 点击"开始统计",系统将计算该车辆在指定日期的里程数据

3. 批量统计所有车辆

  1. 点击"批量统计"按钮
  2. 选择统计日期
  3. 点击"开始统计",系统将计算所有活跃车辆在该日期的里程数据
  4. 注意:此操作可能需要较长时间,请耐心等待

4. 导出数据

  1. 设置查询条件(可选)
  2. 点击"导出"按钮
  3. 系统将生成Excel文件供下载

数据说明

  • 总里程: 车辆在统计日期内的总行驶里程
  • 任务里程: 车辆在执行任务期间的行驶里程
  • 非任务里程: 车辆在非任务时段的行驶里程
  • 任务占比: 任务里程 / 总里程的比例
  • GPS点数: 统计日期内记录的GPS定位点数量
  • 任务数: 统计日期内车辆执行的任务数量

注意事项

  1. 统计数据基于GPS定位点计算,需要车辆安装GPS设备并正常上传数据
  2. 批量统计可能消耗较多系统资源,建议在业务低峰期执行
  3. 建议定期清理历史统计数据,保留必要的时间范围即可
  4. 如果统计结果为0,可能是该日期内无GPS数据或无任务数据

技术实现

里程计算方法

  • 使用 Haversine公式 计算GPS坐标点之间的距离
  • 根据任务时间段自动分配里程到任务/非任务类别
  • 精确到小数点后2位

数据来源

  • GPS数据表: tb_vehicle_gps
  • 任务数据表: sys_task
  • 统计结果表: tb_vehicle_mileage_stats

未来扩展

可以考虑增加以下功能:
- 📊 统计图表展示(折线图、饼图等)
- 📅 月度、年度汇总统计
- 📈 车辆里程趋势分析
- 🚗 车辆利用率分析
- 💰 里程成本核算