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