【设备】点检保养项目、点检保养方案
设备点检及保养一般都是周期性的任务,区别在于点检的项目内容和保养的项目内容不同。点检保养配置模块由 yudao-module-mes 后端模块的 dv.subject、dv.checkplan 包实现,通过「项目 → 方案 → 记录」三层结构,实现设备点检和保养任务的标准化管理。
本文涉及两个子模块:
- 点检保养项目:对具体的检查内容进行统一维护(如温度检测、润滑检查、紧固检测等),是方案的最小执行单元。
- 点检保养方案:主要为用户提供一个模板功能,用于设置指定设备在指定周期内的点检保养项目。
本文涉及表如下图所示:

# 1. 点检保养项目
点检保养项目,由 MesDvSubjectController 提供接口。
# 1.1 表结构
省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段
CREATE TABLE `mes_dv_subject` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`code` varchar(64) NOT NULL COMMENT '项目编码',
`name` varchar(255) DEFAULT NULL COMMENT '项目名称',
`type` tinyint DEFAULT NULL COMMENT '项目类型',
`content` varchar(500) DEFAULT NULL COMMENT '项目内容',
`standard` varchar(255) DEFAULT NULL COMMENT '标准',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='MES 点检保养项目';
① type 为项目类型,字典 mes_dv_subject_type(点检项目/保养项目)。同一个项目只能属于一种类型。
② content 为项目的具体检查内容说明,standard 为判定标准(如"温度 ≤ 80℃")。均为说明性字段,后端不参与业务逻辑判定,供点检/保养人员在前端参考。
③ status 为通用启用/禁用状态,枚举 CommonStatusEnum(0=开启,1=关闭)。
# 1.2 管理后台
对应 [MES 系统 -> 设备管理 -> 点检保养项目] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/mes/dv/subject 目录。
支持按项目编码、名称、类型等条件搜索,以及新增、修改、删除操作。

# 2. 点检保养方案
点检保养方案,由 MesDvCheckPlanController 提供接口。
# 2.1 表结构
省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段
CREATE TABLE `mes_dv_check_plan` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`code` varchar(64) NOT NULL COMMENT '方案编码',
`name` varchar(255) DEFAULT NULL COMMENT '方案名称',
`type` tinyint DEFAULT NULL COMMENT '方案类型',
`start_date` datetime DEFAULT NULL COMMENT '开始日期',
`end_date` datetime DEFAULT NULL COMMENT '结束日期',
`cycle_type` tinyint DEFAULT NULL COMMENT '频次类型',
`cycle_count` int DEFAULT NULL COMMENT '频次',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='MES 点检保养方案';
① type 为方案类型,枚举 MesDvCheckPlanTypeEnum(1=点检,2=保养)。
② start_date、end_date 定义方案的生效时间范围。cycle_type 为执行频次类型,cycle_count 为频次数值。均为说明性字段,后端不基于这些字段自动触发任务,供用户规划参考。
③ status 为方案状态,枚举 MesDvCheckPlanStatusEnum(0=草稿,1=已启用)。
该表包含两个子表:
mes_dv_check_plan_machinery(方案关联设备):定义该方案适用于哪些设备。mes_dv_check_plan_subject(方案关联项目):定义该方案包含哪些点检/保养项目。
# 2.2 管理后台
对应 [MES 系统 -> 设备管理 -> 点检保养方案] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/mes/dv/checkplan 目录。
# 列表
支持按方案编码、名称、类型、状态等条件搜索。

# 新增
点击【新增】或【编辑】按钮,弹出方案编辑表单。用户需要填写方案编码、名称、类型、计划频率。表单下方展示关联设备和关联项目列表。

# 修改
点击编码链接或【编辑】按钮,弹出修改表单。表单下方展示子表数据:
★ 关联设备(编辑弹窗下方):由 mes_dv_check_plan_machinery 表存储,定义适用设备。由 MesDvCheckPlanMachineryController 提供接口。
mes_dv_check_plan_machinery 表结构
CREATE TABLE `mes_dv_check_plan_machinery` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`plan_id` bigint NOT NULL COMMENT '方案ID',
`machinery_id` bigint NOT NULL COMMENT '设备ID',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='MES 方案关联设备';
① plan_id 关联主表 mes_dv_check_plan 的 id 字段。
② machinery_id 关联 mes_dv_machinery 表的 id 字段(详见 《【设备】设备类型、设备台账》)。系统在添加时会做两层唯一性校验:同一方案内设备不可重复;同一设备不可同时归属多个同类型方案(例如不能把同一台设备加入两个点检方案)。
★ 关联项目(编辑弹窗下方):由 mes_dv_check_plan_subject 表存储,定义包含的点检/保养项目。由 MesDvCheckPlanSubjectController 提供接口。
mes_dv_check_plan_subject 表结构
CREATE TABLE `mes_dv_check_plan_subject` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`plan_id` bigint NOT NULL COMMENT '方案ID',
`subject_id` bigint NOT NULL COMMENT '项目ID',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='MES 方案关联项目';
① plan_id 关联主表 mes_dv_check_plan 的 id 字段。
② subject_id 关联 mes_dv_subject 表的 id 字段。
# 启用/关闭
点击【启用】或【关闭】按钮,切换方案状态。启用后方案开始生效,可用于生成点检/保养记录。