乘务作业智能调度提醒系统
功能建设文档(非信创版)
版本 V1.1 | 创建日期:2026-03-11
| 文档名称 | 功能建设文档 |
| 文档版本 | V1.1 |
| 创建日期 | 2026-03-11 |
| 适用方案 | 非信创版(方案A) |
| 文档状态 | 初稿 |
一、项目背景
1.1 建设单位概况
单位名称:中国铁路成都局集团有限公司贵阳车辆段
单位性质:铁路运输基层站段
业务范围:负责贵阳地区铁路客货车辆的检修、运用、乘务管理等作业
1.2 业务现状分析
1.2.1 当前作业模式
中国铁路成都局集团有限公司贵阳车辆段乘务作业当前采用传统人工调度模式,主要流程如下:
传统乘务作业流程
1. 班前准备阶段
└─ 调度员通过电话/微信群通知乘务员出乘信息
2. 运行作业阶段
└─ 乘务员需自行记忆到站时间和作业任务
└─ 依赖人工查看时刻表或等待车站通知
3. 到站作业阶段
└─ 乘务员凭记忆完成到站作业任务
└─ 作业完成后无需系统记录
4. 事后管理阶段
└─ 纸质记录或Excel表格统计
└─ 缺乏实时监督和追溯手段
1.2.2 存在问题
| 问题类别 | 具体问题 | 影响 |
|---|---|---|
| 提醒不及时 | 依赖人工记忆,容易遗漏提醒 | 作业任务未按时完成 |
| 信息传递滞后 | 电话/微信群通知效率低 | 信息传递不及时、不准确 |
| 监管缺失 | 无法实时掌握乘务员作业状态 | 管理盲区,责任难追溯 |
| 数据缺失 | 缺乏完整的作业数据记录 | 无法进行数据分析与改进 |
| 异常处理困难 | 设备故障或突发情况难以及时发现 | 安全隐患无法及时处置 |
| 离线场景覆盖不足 | 隧道、山区等信号盲区无法提醒 | 作业提醒可靠性不足 |
1.3 建设必要性
1.3.1 业务需求
核心业务需求
- 作业提醒自动化 - 根据车次时刻自动触发提醒,避免人工记忆遗漏
- 实时监控需求 - 实时掌握车次运行状态和乘务员在线状态
- 数据追溯需求 - 完整记录提醒、确认、作业数据,支持历史查询
- 离线作业保障 - 覆盖隧道、山区等信号盲区,断网情况下仍能正常提醒
1.3.2 技术可行性
| 技术要素 | 可行性分析 |
|---|---|
| GPS定位技术 | 成熟可靠,Android设备标配 |
| WebSocket推送 | 支持实时双向通信 |
| 依托现有智能设备 | Android设备 |
| 云计算能力 | 内网服务器部署满足需求 |
| 开源技术栈 | Spring Boot + Vue 3成熟稳定 |
二、建设目标
2.1 总体目标
构建一套智能化、实时化、可追溯的乘务作业调度提醒系统,实现乘务作业从"人工调度"向"智能调度"的转变,全面提升作业效率和管理水平。
2.2 具体目标
2.2.1 业务目标
| 目标项 | 当前状态(人工调度) | 目标状态(系统调度) | 提升幅度 |
|---|---|---|---|
| 作业提醒及时率 | 约70% | ≥95% | +25% |
| 作业任务完成率 | 约80% | ≥95% | +15% |
| 异常发现时效 | >30分钟 | <5分钟 | -83% |
| 数据记录完整性 | 约50% | 100% | +50% |
| 离线场景覆盖 | 0% | 100% | 全面覆盖 |
2.2.2 管理目标
四大核心管理能力
- 实时监控能力 - 调度中心实时掌握所有运行车次状态,实时监控乘务员在线状态和作业进度
- 预警响应能力 - 自动检测未确认情况并触发预警,红色预警实时推送到调度大屏
- 数据分析能力 - 统计任务完成率、预警发生率,为管理决策提供数据支撑
- 追溯问责能力 - 完整记录所有提醒、确认、作业数据,责任认定有据可查
2.2.3 技术目标
| 指标 | 目标值 |
|---|---|
| 系统可用性 | ≥99.5% |
| 消息推送延迟 | <3秒 |
| GPS定位精度 | <10米 |
| 离线续航能力 | ≥2小时 |
| 并发支持能力 | ≥200乘务员 |
三、预估成效
3.1 经济效益
3.1.1 直接经济效益
| 效益项 | 计算说明 | 年度效益 |
|---|---|---|
| 减少人工调度成本 | 减少1名调度员人工投入 | ¥80,000 |
| 减少作业失误损失 | 降低作业失误率带来的挽回损失 | ¥50,000 |
| 提高作业效率 | 作业时间缩短带来的效率提升 | ¥30,000 |
| 年度合计 | ¥160,000 | |
3.2 管理效益
3.2.1 管理效率提升
管理效率对比分析
传统管理模式 智能化管理模式
┌─────────────────────┐ ┌─────────────────────────────────────┐
│ • 电话通知,逐个联系 │ → │ • 系统自动推送,批量提醒 │
│ • Excel手工统计 │ → │ • 系统自动统计,实时展示 │
│ • 无法实时监控 │ → │ • 调度大屏实时监控 │
│ • 事后人工追溯 │ → │ • 系统完整记录,随时查询 │
│ • 异情况发现滞后 │ → │ • 预警自动触发,及时处理 │
└─────────────────────┘ └─────────────────────────────────────┘
管理效率提升:约60%
3.3 安全效益
3.3.1 安全风险降低
| 风险类别 | 风险降低效果 |
|---|---|
| 作业遗漏风险 | 降低80% |
| 异常发现滞后 | 降低90% |
| 责任不清风险 | 降低95% |
| 数据丢失风险 | 降低100% |
📊 测算逻辑说明
- 作业遗漏风险(降低80%)
- 实施前:依赖人工记忆和电话通知,遗漏率约30-40%
- 实施后:系统自动提醒,遗漏率预计降至3-6%
- 计算:(35% - 7%) / 35% ≈ 80%
- 异常发现滞后(降低90%)
- 实施前:依赖人工监控,异常发现平均需30分钟以上
- 实施后:系统自动预警,3-5分钟内发现并推送通知
- 计算:(30分钟 - 3分钟) / 30分钟 = 90%
- 责任不清风险(降低95%)
- 实施前:缺乏记录,责任难以追溯,认定困难率超过90%
- 实施后:完整记录提醒、确认、作业、定位数据,责任认定有据可查
- 计算:系统记录完整度从约10%提升至100%,风险降低90%以上
- 数据丢失风险(降低100%)
- 实施前:纸质记录易丢失、损坏,无备份机制
- 实施后:数据库存储+每日备份,基本消除数据丢失风险
- 计算:从有丢失风险降至几乎无风险,风险降低100%
四、功能架构设计
4.1 系统功能模块图
乘务作业智能调度提醒系统
服务端功能模块:
┌─────────────────────────────────────────────────────────┐
│ 调度大屏模块 │ 管理后台模块 │ 车次管理 │ 时刻作业图 │
│ 乘务员管理 │ 设备管理 │ 排班管理 │ 提醒 │
│ 预警 │ 定位 │ WebSocket推送 │
└─────────────────────────────────────────────────────────┘
│
│ WebSocket / HTTP API
│
客户端功能模块(Android):
┌─────────────────────────────────────────────────────────┐
│ 任务列表模块 │ 提醒弹窗模块 │ GPS定位模块 │ 确认操作模块 │
│ 离线缓存模块 │ 数据同步模块 │ 个人中心模块 │ 设置管理模块 │
└─────────────────────────────────────────────────────────┘
4.2 功能模块清单
| 序号 | 一级模块 | 二级模块 | 三级功能 | 面向用户 |
|---|---|---|---|---|
| 1 | 调度大屏 | 车次监控 | 实时车次列表、车次详情、地图视图 | 调度员 |
| 2 | 统计看板 | 运行车次、在线乘务员、任务完成率 | 调度员 | |
| 3 | 预警中心 | 预警列表、预警详情、预警处理 | 调度员 | |
| 4 | 管理后台 | 车次管理 | 车次列表、新增/编辑/删除车次 | 管理员 |
| 5 | 乘务员管理 | 乘务员列表、账号管理、状态管理 | 管理员 | |
| 6 | 设备管理 | 设备列表、车次绑定、设备状态 | 管理员 | |
| 7 | 排班管理 | 排班列表、创建排班、排班查询 | 管理员 | |
| 8 | 记录查询 | 提醒记录、确认记录、预警记录、交班记录 | 管理员 | |
| 9 | Android客户端 | 登录/登出 | 乘务员登录、交班登出 | 乘务员 |
| 10 | 任务列表 | 今日任务、任务详情、历史任务 | 乘务员 | |
| 11 | 提醒功能 | 震动提醒、响铃提醒、弹窗提醒 | 乘务员 | |
| 12 | GPS定位 | 定时上报、手动上报、位置记录 | 乘务员 |
五、服务端功能设计
5.1 调度大屏模块
5.1.1 车次实时监控
功能编号:F-DP-01
功能描述:实时显示所有运行车次的状态、位置、乘务员等信息
5.1.2 统计看板
关键业务指标
- 运行车次 - 当前运行中车次数量
- 在线乘务员 - 当前GPS在线乘务员数
- 今日任务 - 今日总提醒任务数
- 完成率 - 已确认/总任务数
- 预警数量 - 当前未处理预警数
5.2 管理后台模块
5.2.1 车次管理
管理车次基本信息,包括车次号、车次类型、始发站、终到站等。
5.2.2 乘务员管理
管理乘务员信息和APP账号,包括工号、姓名、性别、电话等。
5.2.3 设备管理
重要业务规则
设备跟随车次,不跟随乘务员
- 每个车次固定绑定一台或多台Android设备
- 乘务员登录设备后,形成"车次-设备-乘务员"的绑定关系
- 交班时,乘务员退出当前账号,接班人登录自己的账号
5.2.4 时刻作业图管理
配置车次到站时刻和作业任务清单,设置触发距离/时间阈值。
5.2.5 排班管理
管理乘务员与车次的绑定关系,支持排班创建、编辑、删除和查询。
5.3 业务服务层
5.3.1 提醒触发服务
根据GPS位置和时刻计算,判断是否触发提醒。触发条件为:距离≤30km 或 时间≤30分钟
5.3.2 预警判定服务
监控任务确认状态,连续3次未确认触发红色预警,2次未确认触发黄色预警。
5.3.3 WebSocket推送服务
实现服务端到客户端的实时消息推送,包括提醒推送、确认响应、预警通知等。
六、客户端功能设计
6.1 任务列表模块
显示乘务员今日所有任务,包括待提醒、提醒中、待确认、已完成等状态。
6.2 提醒功能模块
6.2.1 提醒弹窗
提醒行为规则
- 震动提醒:弹窗时震动提醒(500ms)
- 响铃提醒:播放提示音(可自定义)
- 屏幕唤醒:屏幕关闭时自动唤醒
- 锁屏显示:锁屏状态下显示全屏提醒
- 超时处理:5分钟无操作自动消失
6.3 GPS定位模块
定时获取GPS位置并上报到服务器,上报频率为30秒/次。
6.4 离线缓存模块
在本地SQLite数据库缓存任务数据,支持离线提醒和断网续传。
6.5 数据同步模块
网络恢复后自动上传离线期间的数据,包括离线确认记录和定位记录。
七、数据库设计
7.1 数据库选型
| 数据库 | 用途 | 版本 |
|---|---|---|
| MySQL | 业务数据主存储 | 8.0 |
| Redis | 缓存 + 会话 | 6.x |
| SQLite | Android本地存储 | 3.x |
7.2 核心数据表设计
核心数据表清单
- t_train - 车次信息表
- t_crew - 乘务员信息表
- t_device - 设备信息表
- t_login_record - 登录记录表(交班记录)
- t_work_schedule - 时刻作业图表
- t_scheduling - 排班表
- t_remind_record - 提醒记录表
- t_warning_record - 预警记录表
- t_location_record - 定位记录表
- t_system_config - 系统配置表
八、接口设计
8.1 接口规范
| 项目 | 规范 |
|---|---|
| 协议 | HTTP/HTTPS + WebSocket |
| 数据格式 | JSON |
| 字符编码 | UTF-8 |
| 时间格式 | ISO 8601 (yyyy-MM-dd'T'HH:mm:ss) |
| 时区 | Asia/Shanghai (GMT+8) |
8.2 REST API接口
认证相关
POST /api/v1/auth/login - 登录接口
POST /api/v1/auth/logout - 登出接口(交班)
任务相关
GET /api/v1/tasks/today - 获取今日任务
POST /api/v1/remind/confirm - 确认任务
定位相关
POST /api/v1/location/upload - 上报GPS位置
POST /api/v1/location/batch - 批量上传离线定位
8.3 WebSocket接口
消息类型
- REMIND_PUSH - 提醒推送 (S → C)
- REMIND_CONFIRM - 确认响应 (C → S)
- WARNING_NOTIFY - 预警通知 (S → 调度端)
- HEARTBEAT - 心跳包 (双向)
九、业务流程设计
9.1 完整业务流程
阶段一:准备阶段
1. 管理员配置基础数据
├─ 车次管理:创建车次(K108、K107...)
├─ 乘务员管理:添加乘务员(张三、李四...)
├─ 设备管理:设备与车次绑定
├─ 时刻作业图:配置车次到站时间和作业任务
└─ 排班管理:创建排班(3月9日,K108,张三)
2. 乘务员登录APP
├─ 输入工号密码
├─ 设备绑定验证
├─ 获取今日任务列表
└─ 启动GPS定位服务
阶段二:运行阶段
1. GPS定位上报(每30秒)
2. 服务端计算触发条件
3. 触发提醒 → WebSocket推送
4. Android接收提醒 → 震动+响铃+弹窗
5. 用户确认 → 更新提醒记录
6. 用户未确认 → 超时计数 → 预警
阶段三:完成阶段
1. 任务完成 → 统计今日完成率
2. 生成报表 → 提醒记录、预警记录
3. 次日准备 → 创建新排班
9.2 交班流程
重要:交班业务规则
场景说明:设备跟随车次,乘务员通过登录/登出实现交班
1. 接班流程
- 乘务员打开APP,输入工号密码
- 服务端验证设备绑定车次
- 创建登录记录(login_type=LOGIN)
- 更新设备当前登录人和乘务员当前设备
- 返回Token和车次信息
2. 交班流程
- 乘务员点击"交班下班"按钮
- 创建登出记录(login_type=LOGOUT)
- 清空设备当前登录人和乘务员当前设备
- Token失效,返回登录界面
- 接班人登录该设备
十、非功能性需求
10.1 性能要求
| 指标 | 要求 | 说明 |
|---|---|---|
| 响应时间 | < 2秒 | API接口响应时间 |
| 消息延迟 | < 3秒 | WebSocket消息推送延迟 |
| GPS上报频率 | 30秒/次 | Android客户端定位上报频率 |
| 并发用户 | ≥ 500 | 同时在线乘务员数 |
| 数据存储 | ≥ 3年 | 历史数据保留时长 |
10.2 可靠性要求
| 指标 | 要求 | 说明 |
|---|---|---|
| 系统可用性 | ≥ 99.5% | 年度系统可用率 |
| 数据准确性 | 100% | 定位、确认数据准确率 |
| 消息到达率 | ≥ 99% | WebSocket消息送达率 |
| 故障恢复时间 | < 30分钟 | 系统故障恢复时间 |
10.3 安全性要求
- 身份认证 - 基于Token的身份认证机制
- 数据加密 - HTTPS传输加密,敏感数据加密存储
- 权限控制 - 基于角色的权限控制(RBAC)
- 审计日志 - 关键操作审计日志记录
- 数据备份 - 每日数据备份,保留7天
10.4 兼容性要求
服务端
| 项目 | 要求 |
|---|---|
| 操作系统 | Linux (CentOS Stream / Rocky Linux) |
| Java版本 | JDK 17 LTS |
| 数据库 | MySQL 8.0 |
| 浏览器 | Chrome 90+, Edge 90+ |
Android客户端
| 项目 | 要求 |
|---|---|
| Android版本 | 8.0 (API 26) 及以上 |
| 屏幕尺寸 | 5.5英寸及以上 |
| 网络类型 | 4G/5G/WiFi |
| GPS要求 | 支持GPS定位 |
十一、功能开发优先级
11.1 功能分期规划
第一期:核心功能(MVP)- 4周
| 序号 | 功能模块 | 功能点 | 优先级 |
|---|---|---|---|
| 1 | 用户认证 | 登录/登出(交班) | P0 |
| 2 | 车次管理 | 车次CRUD | P0 |
| 3 | 乘务员管理 | 乘务员CRUD、账号管理 | P0 |
| 4 | 设备管理 | 设备CRUD、车次绑定 | P0 |
| 5 | 时刻作业图 | 作业图配置 | P0 |
| 6 | 排班管理 | 排班CRUD | P0 |
| 7 | GPS定位 | 定位上报(基于设备) | P0 |
| 8 | 提醒服务 | 触发提醒 | P0 |
| 9 | 提醒弹窗 | Android提醒 | P0 |
| 10 | 确认操作 | 确认/稍后 | P0 |
| 11 | 调度大屏 | 车次监控 | P0 |
第一期目标:实现基本的车次、乘务员、设备管理,完成GPS定位上报和提醒触发功能
第二期:完善功能 - 2周
| 序号 | 功能模块 | 功能点 | 优先级 |
|---|---|---|---|
| 1 | 预警服务 | 预警判定 | P1 |
| 2 | 预警中心 | 预警列表/处理 | P1 |
| 3 | 统计看板 | 数据统计 | P1 |
| 4 | 任务列表 | 今日任务 | P1 |
| 5 | 记录查询 | 历史记录、交班记录 | P1 |
| 6 | 个人中心 | 个人信息 | P1 |
第二期目标:完善预警机制、统计分析、查询功能
第三期:优化功能 - 2周
| 序号 | 功能模块 | 功能点 | 优先级 |
|---|---|---|---|
| 1 | 离线缓存 | 本地SQLite | P1 |
| 2 | 断网续传 | 离线数据同步 | P1 |
| 3 | 离线提醒 | 离线触发提醒 | P1 |
| 4 | 地图视图 | 车次地图显示 | P2 |
| 5 | 趋势图表 | 统计趋势图 | P2 |
第三期目标:完善离线功能和用户体验优化
11.2 开发排期建议
| 阶段 | 周次 | 开发内容 | 产出 |
|---|---|---|---|
| 第一阶段 | 第1周 | 基础数据管理(车次、乘务员、设备、作业图、排班) | 后端API + 前端页面 |
| 第2周 | 登录/登出服务、GPS定位服务、提醒触发服务 | 后端服务 | |
| 第3周 | WebSocket推送、Android基础功能 | 推送服务 + Android客户端 | |
| 第4周 | Android提醒弹窗、确认功能 | Android客户端完成 | |
| 第二阶段 | 第5周 | 预警服务、预警中心 | 后端服务 + 前端页面 |
| 第6周 | 统计看板、记录查询 | 前端页面 | |
| 第三阶段 | 第7周 | 离线缓存、断网续传 | Android客户端优化 |
| 第8周 | 功能优化、联调测试 | 整体联调 | |
| 测试阶段 | 第9-10周 | 功能测试、性能测试、Bug修复 | 测试报告 |
| 部署阶段 | 第11周 | 现场部署、用户培训 | 部署完成 |
附录
术语表
| 术语 | 说明 |
|---|---|
| 车次 | 列车编号,如K108、G1234 |
| 乘务员 | 列车工作人员 |
| 设备 | Android手持终端,固定绑定在车次上 |
| 排班 | 乘务员与车次的计划绑定关系 |
| 交班 | 乘务员通过登出当前账号、接班人登录实现工作交接 |
| 时刻作业图 | 车次到站时刻和作业任务配置 |
| 提醒 | 系统推送给乘务员的作业提醒 |
| 确认 | 乘务员对提醒的确认操作 |
| 预警 | 乘务员连续3次未确认触发的告警 |
| GPS | 全球定位系统 |
| WebSocket | 一种通信协议,用于服务端主动推送 |
| IMEI | 国际移动设备识别号,Android设备的唯一标识 |
参考文档
- 《乘务作业智能调度提醒系统-项目方案》
- Spring Boot官方文档
- Vue 3官方文档
- Android开发者文档
- MySQL 8.0参考手册
文档变更记录
| 版本 | 日期 | 修改人 | 修改内容 |
|---|---|---|---|
| V1.0 | 2026-03-09 | 系统生成 | 初始版本 |
| V1.1 | 2026-03-11 | 系统优化 | 优化设备绑定逻辑:设备跟随车次而非乘务员,增加设备管理模块和交班流程 |