Skip to content

维护计划管理

**本文引用的文件** - [MaintenancePlansDo.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/model/device/MaintenancePlansDo.java) - [MaintenanceTasksDo.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/model/device/MaintenanceTasksDo.java) - [MaintenanceWorkOrdersDo.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/model/device/MaintenanceWorkOrdersDo.java) - [MaintenanceStandardsDo.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/model/device/MaintenanceStandardsDo.java) - [MaintenancePlansMapper.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/mapper/device/MaintenancePlansMapper.java) - [MaintenancePlansServiceImpl.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/service/device/impl/MaintenancePlansServiceImpl.java) - [MaintenanceStandardsServiceImpl.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/service/device/impl/MaintenanceStandardsServiceImpl.java) - [MaintenanceWorkOrdersService.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/service/device/MaintenanceWorkOrdersService.java) - [SpCreatWotJob.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/handler/SpCreatWotJob.java) - [MpCreatWotJob.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/handler/MpCreatWotJob.java) - [HjSpCreatWotJob.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/handler/HjSpCreatWotJob.java) - [LpCreatWotJob.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/handler/LpCreatWotJob.java) - [maintain.vue](file://app/devicemate-app/modules/maintain/maintain.vue) - [execute.vue](file://app/devicemate-app/modules/maintain/execute.vue) - [apply.vue](file://app/devicemate-app/modules/maintain/apply.vue) - [maintain.js](file://app/devicemate-app/store/modules/maintain.js) - [device.sql](file://docs/ddl/device.sql)

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖分析
  7. 性能考虑
  8. 故障排查指南
  9. 结论
  10. 附录

简介

本技术文档围绕“维护计划管理”功能,系统化阐述设备维护计划的制定、执行与监控全生命周期实现。文档覆盖数据模型设计(计划类型、周期设置、执行标准、责任人分配等)、维护任务生成机制(定期、预防性、预测性)、维护标准管理(项目定义、标准工时、所需物料清单)、执行跟踪(派发、记录、完成确认、异常处理)、导入导出(Excel模板与批量处理)以及最佳实践与性能优化建议。目标读者既包括一线工程师,也涵盖对技术细节感兴趣的非技术用户。

项目结构

维护计划管理由三层组成:

  • 前端应用层:移动端小程序模块,负责计划查询、工单执行、物料与标准查看、状态变更等交互。
  • 后端服务层:基于Spring Boot的服务模块,包含计划、任务、工单、标准等实体与服务实现,以及定时任务处理器。
  • 数据层:PostgreSQL数据库,包含维护计划、任务、工单、标准等核心表及序列。

图表来源

章节来源

核心组件

  • 数据模型
    • 维护计划:包含计划编号、名称、描述、计划类型、线体信息、生成方式、维保等级、优先级、周期计划、提醒与预警设置、首次执行时间、是否需确认、状态、部门信息、执行人信息、业务类型等。
    • 维护任务:继承计划字段,新增任务编号、设备数量、完成数量、任务生成/完成时间、计划开始时间、提醒与预警用户、业务类型等。
    • 维护工单:包含工单编号、任务编号、设备编号、工单状态、执行人/确认人、开始/截止时间、标准编号、超期/提醒标记、产线信息等。
    • 维护标准:包含工厂代号、标准编号、名称、机型/制程/工位、维保等级、设备分类/类型、描述、状态、设备型号、标准类型(保养/巡点检)、父级标准等。
  • 服务与处理器
    • 计划服务:查询计划、生成任务、生成工单、发送提醒邮件、查询设备清单。
    • 工单服务:查询超期工单、更新超期提醒状态。
    • 标准服务:维护标准的增删改查。
    • 定时任务处理器:按固定时间或上次周期推算时间生成工单,支持保养、点检、巡检、逻辑设备等业务类型。

章节来源

架构总览

系统采用前后端分离架构,前端通过HTTP接口调用后端服务;后端以服务层为核心,结合定时任务处理器自动触发工单生成;数据持久化通过MyBatis-Plus映射至PostgreSQL数据库。

图表来源

详细组件分析

数据模型设计

  • 维护计划(maintenance_plans)
    • 关键字段:计划编号、名称、描述、计划类型、线体代号/名称、生成方式、维保等级、优先级、周期计划(类型+数值)、提醒/预警(类型+数值)、首次执行时间、是否需确认、状态、部门信息、执行人信息、业务类型。
    • 用途:作为任务与工单生成的源头,承载周期与提醒策略。
  • 维护任务(maintenance_tasks)
    • 关键字段:任务编号、关联计划编号、设备数量、完成数量、任务生成/完成时间、计划开始时间、提醒/预警用户、业务类型等。
    • 用途:记录一次计划到多台设备的任务聚合,便于后续批量派发与跟踪。
  • 维护工单(maintenance_work_orders)
    • 关键字段:工单编号、任务编号、设备编号、工单状态、执行人/确认人、开始/截止时间、标准编号、超期/提醒标记、产线信息等。
    • 用途:面向具体设备的最小执行单元,承载检查项、物料、工具、安全提示与文件附件。
  • 维护标准(maintenance_standards)
    • 关键字段:工厂代号、标准编号、名称、机型/制程/工位、维保等级、设备分类/类型、描述、状态、设备型号、标准类型、父级标准等。
    • 用途:定义保养/巡点检的标准项、工时、所需物料与工具清单。

图表来源

章节来源

维护任务生成机制

  • 固定时间生成:当“首次执行时间”到达时,按计划绑定的设备清单生成任务与工单。
  • 上次周期推算生成:根据上次任务的完成时间或生成时间,结合周期计划(类型+数值)推算下次生成时间,满足预防性与周期性维护需求。
  • 业务类型区分:支持保养(DJ)、点检(XJ)、巡检(HJ)、逻辑设备(BY)等不同业务类型的计划与生成策略。

图表来源

章节来源

维护标准管理

  • 标准定义:通过标准编号/名称、机型/制程/工位、维保等级、设备分类/类型、描述、状态、设备型号、标准类型(保养/巡点检)等字段统一管理。
  • 工时与清单:标准与工单关联,前端可加载标准对应的检查项、消耗品、工具等清单,支撑执行与成本控制。
  • 前端交互:申请/标准查看页面支持按标准编码获取明细,格式化物料/工具列表,支持产线选择与筛选。

章节来源

执行跟踪与异常处理

  • 工单执行:前端执行页面支持基本信息、检查项、物料/工具、安全提示、文件附件等模块化展示与编辑。
  • 状态流转:支持派发、执行、完成、确认等状态变更;支持领导指定确认人,完成后进行确认。
  • 异常处理:超期预警与提前提醒标记,超期工单可通过服务更新状态并通知相关人员;邮件提醒可按业务类型定制模板与链接。

图表来源

章节来源

导入导出与批量处理

  • Excel导入导出:前端表格组件具备导出能力,可按字段与数据进行导出;导入场景可参考通用表格组件的字段映射与校验逻辑。
  • 批量处理:后端服务层支持批量查询与操作(如批量生成工单、批量状态更新),前端通过分页与筛选提升交互效率。
  • 最佳实践:导入前进行字段校验与唯一性检查,导出时保留关键字段与业务含义,避免冗余列影响解析。

章节来源

依赖分析

  • 组件耦合
    • 计划服务依赖任务服务、工单服务、标准服务、Redis序列号服务、邮件服务等,形成清晰的职责边界。
    • 定时任务处理器按业务类型分别处理,降低耦合并提高可扩展性。
  • 外部依赖
    • MyBatis-Plus用于数据访问;Redis用于序列号生成;邮件服务用于提醒通知。
  • 循环依赖
    • 当前结构未见循环依赖迹象,服务间通过接口与Mapper解耦。

图表来源

章节来源

性能考虑

  • 数据访问
    • 使用MyBatis-Plus分页查询与条件构造器,避免全表扫描;对常用查询建立索引(如计划状态、业务类型、设备绑定等)。
  • 缓存与序列号
    • Redis用于生成有序序列号,减少数据库序列争用;合理设置过期策略与并发控制。
  • 定时任务
    • 按业务类型拆分处理器,避免单点瓶颈;对生成时间窗口进行限流与幂等校验。
  • 前端交互
    • 分页加载与懒渲染,减少一次性渲染压力;对图片与附件采用延迟加载策略。

故障排查指南

  • 工单未生成
    • 检查计划状态与生成方式、首次执行时间是否到达;核对设备绑定是否有效。
  • 工单状态异常
    • 核对状态流转逻辑与前端提交参数;检查超期/提醒标记是否正确更新。
  • 邮件提醒失败
    • 检查邮件服务配置、收件人邮箱与模板路径;关注业务类型对应的模板名称。
  • 数据不一致
    • 对事务性操作(生成任务/工单)进行日志追踪与重试;必要时回滚并人工干预。

章节来源

结论

维护计划管理通过清晰的数据模型、完善的任务生成机制、标准化的执行跟踪与丰富的前端交互,实现了从计划制定到工单执行的闭环管理。结合定时任务与邮件提醒,系统能够高效支撑预防性与周期性维护需求。建议在实际部署中完善索引与缓存策略,持续优化前端交互体验,并建立标准化的导入导出流程以提升运维效率。

附录

  • 数据库DDL要点
    • 维护计划、任务、工单、标准表均包含必要的业务字段与状态字段,建议在生产环境建立合适的索引以提升查询性能。
  • 前端模块
    • 维护模块提供计划查询与状态管理;执行页面提供工单详情与提交;申请页面提供标准与物料清单查看。

章节来源