方案设计:校园后勤服务平台
← 返回场景概览 | 上一阶段:需求探索 → | 下一阶段:开发资产 →
方案概览
本方案设计了一套完整的校园后勤数字化服务平台,涵盖宿舍报修、教室/会议室预约、物资领用三大核心场景,通过智能化规则和流程设计,解决传统校园后勤管理的痛点。
1. 宿舍报修管理
1.1 业务流程
参考物业报修巡检系统的报修流程设计,流程类似但有以下特点:
- 学生端:微信小程序一键报修,自动获取宿舍位置
- 自动派单:根据报修类型和宿舍位置自动匹配维修工
- 进度透明:学生实时查看报修进度
- 服务评价:报修完成后自动推送评价
1.2 智能派单规则
规则优先级:
- 报修类型匹配:根据报修类型(水电、空调、门窗等)匹配有相应技能的维修工
- 宿舍位置就近:优先派给距离宿舍位置最近的维修工
- 工作量均衡:优先派给当前工作量较少的维修工
- 学生时间偏好:考虑学生在宿舍的时间(上课时间较少)
2. 教室/会议室预约
2.1 预约流程
2.2 预约规则
时间规则:
- 提前预约:支持提前 7 天预约
- 预约时长:单次预约最多 4 小时
- 取消预约:支持提前 2 小时取消
- 超时释放:预约时间到了但未签到,30 分钟后自动释放
冲突检测规则:
- 时间冲突:同一教室在同一时间段只能被一个人预约
- 时间间隔:前后预约之间至少有 10 分钟间隔(用于打扫)
- 特殊教室:某些教室(如实验室)需要特殊权限
预约限制:
- 每人每天最多预约 2 次
- 每次预约最多 4 小时
- 同一教室同一人每天最多预约 1 次
2.3 教室状态
| 状态 | 说明 | 可操作 |
|---|---|---|
| 空闲 | 可预约 | 预约 |
| 已预约 | 已被预约 | 查看详情 |
| 使用中 | 正在使用 | 查看详情 |
| 维护中 | 维护中,不可预约 | - |
| 已关闭 | 已关闭 | - |
2.4 使用统计
利用率计算:
教室利用率 = 实际使用时间 / 可用时间 × 100%统计维度:
- 按教室统计:每个教室的使用频率
- 按时段统计:不同时段的使用情况
- 按用户统计:每个用户的使用习惯
3. 物资领用管理
3.1 申请流程
3.2 审批规则
审批流程配置:
- 普通物资:无需审批,自动批准
- 贵重物资:需要辅导员审批
- 高价值物资(>500元):需要系主任审批
- 特殊物资:需要后勤主管审批
审批时限:
- 辅导员审批:24 小时内
- 系主任审批:48 小时内
- 后勤主管审批:72 小时内
- 超时自动提醒,超过 3 天自动拒绝
3.3 库存管理
库存规则:
- 实时库存:每次领用后自动更新
- 安全库存:低于安全库存时自动提醒
- 库存预警:库存不足时自动通知采购
- 入库管理:支持批量入库、扫码入库
库存统计:
- 按物资类型统计
- 按时间段统计(入库、出库)
- 库存周转率统计
3.4 领用记录
记录内容:
- 申请人信息(姓名、学号/工号、联系方式)
- 申请物资(名称、数量、单价)
- 申请时间、审批时间、领用时间
- 审批流程(审批人、审批意见)
- 领用状态(已领用、已归还、已损坏)
追溯功能:
- 支持按申请人查询历史记录
- 支持按物资查询领用记录
- 支持按时间段统计
4. 数据模型设计
4.1 教室预约(RoomReservation)
typescript
interface RoomReservation {
id: string;
roomId: string; // 教室ID
roomName: string; // 教室名称
userId: string; // 申请人ID
userName: string; // 申请人姓名
reservationDate: Date; // 预约日期
startTime: Date; // 开始时间
endTime: Date; // 结束时间
purpose: string; // 使用目的
needApproval: boolean; // 是否需要审批
approvalStatus?: 'pending' | 'approved' | 'rejected';
checkInTime?: Date; // 签到时间
checkOutTime?: Date; // 签退时间
status: 'reserved' | 'in-use' | 'completed' | 'cancelled';
createdAt: Date;
updatedAt: Date;
}4.2 物资申请(MaterialApplication)
typescript
interface MaterialApplication {
id: string;
applicantId: string; // 申请人ID
applicantName: string; // 申请人姓名
applicantType: 'student' | 'teacher';
materials: MaterialItem[]; // 申请的物资列表
totalAmount: number; // 总金额
purpose: string; // 申请目的
approvalFlow: ApprovalStep[]; // 审批流程
status: 'pending' | 'approved' | 'rejected' | 'collected';
applyTime: Date;
approveTime?: Date;
collectTime?: Date;
createdAt: Date;
updatedAt: Date;
}4.3 物资库存(MaterialInventory)
typescript
interface MaterialInventory {
id: string;
materialId: string; // 物资ID
materialName: string; // 物资名称
category: string; // 物资类别
unit: string; // 单位
totalQuantity: number; // 总库存
availableQuantity: number; // 可用库存
reservedQuantity: number; // 已预留
safetyStock: number; // 安全库存
unitPrice: number; // 单价
location: string; // 存放位置
lastInTime?: Date; // 最后入库时间
lastOutTime?: Date; // 最后出库时间
updatedAt: Date;
}5. 权限设计
5.1 角色定义
| 角色 | 权限 |
|---|---|
| 超级管理员 | 所有权限 |
| 后勤主管 | 查看所有数据、统计数据、审批高价值物资 |
| 系主任 | 审批本系物资申请、查看本系数据 |
| 辅导员 | 审批本班物资申请、查看本班数据 |
| 教师 | 预约教室、申请物资、查看自己的记录 |
| 学生 | 报修、预约教室、申请物资、查看自己的记录 |
5.2 数据权限
- 项目隔离:不同学校的数据相互隔离
- 角色权限:不同角色只能查看和操作权限范围内的数据
- 数据脱敏:敏感信息(如学号)按权限脱敏显示
6. 技术架构
6.1 前端
- 学生/教师端:微信小程序(报修、预约、申请)
- 管理端:Web 后台(数据统计、审批、系统配置)
6.2 后端
- API 服务:RESTful API
- 消息推送:工单状态变更、预约提醒、审批通知
- 定时任务:自动释放超时预约、库存预警
6.3 核心功能模块
- 报修管理模块:报修单创建、派单、状态流转
- 预约管理模块:教室预约、冲突检测、使用统计
- 物资管理模块:物资申请、审批流程、库存管理
- 用户管理模块:角色权限、项目管理
- 数据统计模块:各类数据统计和报表
7. 关键业务规则总结
7.1 报修规则
- 自动派单:类型匹配 → 位置就近 → 工作量均衡
- 进度透明:实时状态更新
7.2 预约规则
- 冲突检测:时间冲突、时间间隔
- 自动释放:超时未签到自动释放
7.3 审批规则
- 多级审批:按金额和物资类型
- 审批时限:超时自动提醒和拒绝
下一步:开发资产
在开发资产阶段,我们将:
- 创建 Cursor Skills(业务规则、数据模型)
- 创建 PROMPT 模板(需求调研、方案设计)
- 创建代码模板(API 接口、前端组件)

