1. 系统概述
“机务通”是一套面向民航维修领域的工单管理 + 航材管理一体化系统,覆盖从故障上报、调度派单、维修执行、航材领用、质量验收到适航归档的全流程闭环。系统以六大角色为核心,支撑维修单位日常运营与适航合规要求。
1.1 系统定位
| 维度 | 说明 |
|---|
| 系统名称 | 机务通 |
| 业务领域 | 民航飞机维修(MRO) |
| 核心模块 | 工单管理、航材管理、质量适航、机队档案 |
| 用户角色 | 6 类(技术员/调度/航材/质量/档案/管理员) |
| 部署形态 | B/S 架构,可选移动端 H5 |
1.2 系统架构图
2. 六大角色功能矩阵
系统按业务职责划分为六大角色,各角色功能模块如下:
| 角色 | 核心职责 | 主要功能模块 | 关键操作 |
|---|
| 维修技术员 | 一线维修执行 | 工单执行、航材工具、知识支持 | 接单、领料、完工提交 |
| 调度员/班组长 | 工单调度与管控 | 工单调度、进度管控、报表 | 派单、改派、超时预警 |
| 航材管理员 | 航材全生命周期 | 库存、采购、追溯 | 入库、出库、盘点 |
| 质量/适航人员 | 质量审核与合规 | 工单审核、适航合规、质量分析 | 验收、归档、AD跟踪 |
| 档案管理员 | 机队档案管理 | 飞机档案、使用监控 | 履历维护、状态跟踪 |
| 系统管理员 | 系统运维 | 用户权限、基础数据、运维 | 账号管理、日志审计 |
2.1 角色功能占比
3. 核心业务闭环设计
3.1 工单全流程闭环
3.2 航材联动闭环
3.3 适航追溯闭环(四维追溯)
| 追溯维度 | 追溯内容 | 关联实体 |
|---|
| 飞机档案 | 飞机履历、维修历史 | 飞机注册号 |
| 工单记录 | 维修过程、验收结果 | 工单编号 |
| 航材批次 | 件号、批次、效期 | 航材批次号 |
| 人员资质 | 执照、机型签署 | 技术员ID |
4. 数据库核心表设计
4.1 核心数据表清单
| 表名 | 说明 | 关键字段 |
|---|
| work_order | 工单主表 | id, aircraft_id, fault_type, priority, status |
| work_order_step | 工单步骤记录 | id, order_id, step_desc, images |
| material_stock | 航材库存表 | id, part_no, batch_no, qty, expiry_date |
| material_inout | 航材出入库流水 | id, material_id, type, qty, order_id |
| purchase_order | 采购订单表 | id, supplier_id, status, amount |
| aircraft_info | 飞机档案表 | id, reg_no, model, status |
| user_info | 用户表 | id, username, role, license_no |
| quality_audit | 质量审核表 | id, order_id, result, comment |
4.2 工单状态流转表
| 状态 | 说明 | 可流转至 |
|---|
| 待派单 | 新建工单待调度 | 进行中 |
| 进行中 | 技术员已接单 | 挂起/待验收 |
| 挂起 | 缺件或等待 | 进行中 |
| 待验收 | 完工待质量审核 | 已完成/退回整改 |
| 已完成 | 验收通过归档 | 无 |
5. 核心功能代码实现
5.1 工单状态机实现
publicenumWorkOrderStatus{PENDING("待派单"),IN_PROGRESS("进行中"),SUSPENDED("挂起"),PENDING_ACCEPT("待验收"),COMPLETED("已完成"),REJECTED("退回整改");privatefinalStringdesc;WorkOrderStatus(Stringdesc){this.desc=desc;}publicstaticbooleancanTransit(WorkOrderStatusfrom,WorkOrderStatusto){switch(from){casePENDING:returnto==IN_PROGRESS;caseIN_PROGRESS:returnto==SUSPENDED||to==PENDING_ACCEPT;caseSUSPENDED:returnto==IN_PROGRESS;casePENDING_ACCEPT:returnto==COMPLETED||to==REJECTED;default:returnfalse;}}}
5.2 航材库存扣减(事务控制)
@ServicepublicclassMaterialService{@TransactionalpublicvoiddeductStock(LongmaterialId,intqty,LongorderId){MaterialStockstock=stockMapper.selectByIdForUpdate(materialId);if(stock.getQty()<qty){thrownewBusinessException("库存不足");}stock.setQty(stock.getQty()-qty);stockMapper.updateById(stock);// 记录出入库流水MaterialInoutinout=newMaterialInout();inout.setMaterialId(materialId);inout.setType("OUT");inout.setQty(qty);inout.setOrderId(orderId);inoutMapper.insert(inout);// 低库存预警if(stock.getQty()<=stock.getMinQty()){alertService.sendLowStockAlert(stock);}}}
5.3 低库存自动触发采购
@ComponentpublicclassPurchaseTrigger{@Scheduled(cron="0 0 8 * * ?")publicvoidautoCreatePurchase(){List<MaterialStock>lowStocks=stockMapper.findLowStock();for(MaterialStockstock:lowStocks){PurchaseOrderorder=newPurchaseOrder();order.setPartNo(stock.getPartNo());order.setQty(stock.getMinQty()*2-stock.getQty());order.setStatus("PENDING");purchaseMapper.insert(order);notifyService.sendToPurchaser(order);}}}
5.4 重复故障预警
@ServicepublicclassFaultAlertService{publicvoidcheckRepeatFault(StringaircraftRegNo,StringfaultType){intcount=workOrderMapper.countByAircraftAndType(aircraftRegNo,faultType,LocalDate.now().minusMonths(3));if(count>=3){alertService.sendRepeatFaultAlert(aircraftRegNo,faultType,count);}}}
5.5 人员资质匹配校验
publicclassQualificationChecker{publicbooleancheckQualification(LongtechnicianId,StringaircraftModel,StringorderType){UserInfouser=userMapper.selectById(technicianId);if(user.getLicenseNo()==null)returnfalse;// 校验机型签署List<ModelAuth>auths=authMapper.findByUserId(technicianId);returnauths.stream().anyMatch(a->a.getModel().equals(aircraftModel));}}
5.6 工单看板统计 SQL
SELECTstatus,COUNT(*)ASorder_count,ROUND(COUNT(*)*100.0/SUM(COUNT(*))OVER(),2)ASpctFROMwork_orderWHEREcreate_time>=DATE_SUB(NOW(),INTERVAL7DAY)GROUPBYstatusORDERBYorder_countDESC;
6. 数据看板与统计
6.1 工单状态分布(示例数据)
| 状态 | 数量 | 占比 |
|---|
| 待派单 | 12 | 15% |
| 进行中 | 28 | 35% |
| 挂起 | 8 | 10% |
| 待验收 | 16 | 20% |
| 已完成 | 16 | 20% |
6.2 故障类型 TOP5
| 故障类型 | 数量 | 占比 |
|---|
| 发动机系统 | 32 | 28% |
| 航电系统 | 25 | 22% |
| 起落架系统 | 18 | 16% |
| 液压系统 | 15 | 13% |
| 其他 | 24 | 21% |
6.3 航材库存预警表
| 件号 | 名称 | 当前库存 | 最低阈值 | 状态 |
|---|
| P/N-1001 | 液压密封圈 | 5 | 10 | 预警 |
| P/N-1002 | 传感器模块 | 3 | 8 | 预警 |
| P/N-1003 | 滤芯组件 | 20 | 15 | 正常 |
| P/N-1004 | 刹车片 | 2 | 5 | 预警 |
7. 技术栈选型
| 层级 | 技术选型 | 说明 |
|---|
| 前端 | Vue3 + Element Plus | 组件化开发 |
| 图表 | ECharts | 看板/统计图 |
| 后端 | Spring Boot + MyBatis-Plus | 主流稳定 |
| 数据库 | MySQL | 主数据存储 |
| 缓存 | Redis(可选) | 会话/消息缓存 |
| 鉴权 | JWT | 登录认证 |
| 文件存储 | 本地/MinIO | 维修照片附件 |
| 消息通知 | 站内信/邮件 | 预警提醒 |
8. 亮点功能总结
| 亮点功能 | 核心价值 | 实现要点 |
|---|
| AOG 工单专项管理 | 保障飞机尽快恢复 | 红色标识、最高优先级、超时逐级告警 |
| 航材-工单双向追溯 | 全链路可查 | 工单↔航材双向关联 |
| 重复故障预警 | 提前发现隐患 | 3个月内同机型同故障≥3次自动提醒 |
| 人员资质匹配 | 合规派单 | 派单时校验机型签署 |
| 状态看板可视化 | 实时掌握全局 | ECharts 多维度看板 |
9. 总结
“机务通”系统通过工单、航材、质量、档案四大核心模块的联动,实现了维修业务的全流程数字化管理。系统不仅覆盖日常维修运营,更通过四维追溯机制满足适航合规要求,是民航维修单位数字化转型的可靠选择。
![]()
![]()
![]()
![]()
![]()
![]()