【设备】点检记录、保养记录、维修单
设备执行记录模块,由 yudao-module-mes 后端模块的 dv.checkrecord、dv.maintenrecord、dv.repair 包实现。基于点检保养方案,记录每次设备点检、保养的执行结果;同时提供独立的维修工单管理。
本文涉及三个子模块:
- 点检记录:记录某台设备的一次点检执行结果,相关人员可直接填写实际执行的结果,以及登记在点检过程中发现的缺陷异常信息。
- 保养记录:记录某台设备的一次保养执行结果,包含各保养项目的逐项结果。
- 维修单:当设备需要维修时,可直接起草维修单。内容主要包括维修项目及故障描述,维修人员根据设备实际情况填写维修结果。
本文涉及表如下图所示:

# 1. 点检记录
点检记录,由 MesDvCheckRecordController 提供接口。
# 1.1 表结构
省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段
CREATE TABLE `mes_dv_check_record` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`plan_id` bigint DEFAULT NULL COMMENT '方案ID',
`machinery_id` bigint DEFAULT NULL COMMENT '设备ID',
`check_time` datetime DEFAULT NULL COMMENT '点检时间',
`user_id` bigint DEFAULT NULL COMMENT '点检人',
`status` tinyint NOT NULL DEFAULT '10' COMMENT '状态',
`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 字段(详见 《【设备】设备类型、设备台账》)。
③ check_time 为点检时间。user_id 关联系统用户(AdminUserDO),为执行点检的人员。
④ status 为记录状态,枚举 MesDvCheckRecordStatusEnum(10=草稿,20=已完成)。
该表包含一个子表:
mes_dv_check_record_line(点检记录行):每个检查项目的逐项结果。
# 1.2 管理后台
对应 [MES 系统 -> 设备管理 -> 点检记录] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/mes/dv/checkrecord 目录。
# 列表
支持按点检计划、设备、点检人、状态、点检时间等条件搜索。

# 新增
点击【新增】或【编辑】按钮,弹出点检记录表单。选择方案和设备后,表单下方展示检查项目行。

# 修改
点击编码链接或【编辑】按钮,弹出修改表单。表单下方展示子表数据:
★ 检查项目行(编辑弹窗下方):由 mes_dv_check_record_line 表存储。由 MesDvCheckRecordLineController 提供接口。
mes_dv_check_record_line 表结构
CREATE TABLE `mes_dv_check_record_line` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`record_id` bigint NOT NULL COMMENT '记录ID',
`subject_id` bigint NOT NULL COMMENT '项目ID',
`check_status` tinyint DEFAULT NULL COMMENT '检查结果',
`check_result` varchar(500) DEFAULT NULL COMMENT '结果描述',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='MES 点检记录行';
① record_id 关联主表 mes_dv_check_record 的 id 字段。
② subject_id 关联 mes_dv_subject 表的 id 字段(详见 《【设备】点检保养项目、点检保养方案》)。
③ check_status 为检查结果,枚举 MesDvCheckResultEnum(1=正常,2=异常)。check_result 为结果的文字描述。
# 提交
点检完毕后点击【提交】(submitCheckRecord),状态变为「已完成」。
# 2. 保养记录
保养记录,由 MesDvMaintenRecordController 提供接口。结构与点检记录一致,用于记录保养执行结果。
# 2.1 表结构
省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段
CREATE TABLE `mes_dv_mainten_record` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`plan_id` bigint DEFAULT NULL COMMENT '方案ID',
`machinery_id` bigint DEFAULT NULL COMMENT '设备ID',
`mainten_time` datetime DEFAULT NULL COMMENT '保养时间',
`user_id` bigint DEFAULT NULL COMMENT '保养人',
`status` tinyint NOT NULL DEFAULT '1' COMMENT '状态',
`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 字段(详见 《【设备】设备类型、设备台账》)。
③ status 为记录状态,枚举 MesDvMaintenRecordStatusEnum(1=草稿,2=已提交)。
该表包含一个子表:
mes_dv_mainten_record_line(保养记录行):每个保养项目的逐项结果。
# 2.2 管理后台
对应 [MES 系统 -> 设备管理 -> 保养记录] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/mes/dv/maintenrecord 目录。
# 列表
支持按保养计划、设备、保养人、保养时间等条件搜索。

# 新增
点击【新增】或【编辑】按钮,弹出保养记录表单。选择方案和设备后,表单下方展示保养项目行。

# 修改
点击编码链接或【编辑】按钮,弹出修改表单。表单下方展示子表数据:
★ 保养项目行(编辑弹窗下方):由 mes_dv_mainten_record_line 表存储。由 MesDvMaintenRecordLineController 提供接口。
mes_dv_mainten_record_line 表结构
CREATE TABLE `mes_dv_mainten_record_line` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`record_id` bigint NOT NULL COMMENT '记录ID',
`subject_id` bigint NOT NULL COMMENT '项目ID',
`status` tinyint DEFAULT NULL COMMENT '保养状态',
`result` varchar(500) DEFAULT NULL COMMENT '结果描述',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='MES 保养记录行';
① record_id 关联主表 mes_dv_mainten_record 的 id 字段。
② subject_id 关联 mes_dv_subject 表的 id 字段(详见 《【设备】点检保养项目、点检保养方案》)。
③ status 为保养状态,枚举 MesDvMaintenStatusEnum(1=正常,2=异常)。result 为结果的文字描述。
# 提交
保养完毕后点击【提交】,状态变为「已提交」。
# 3. 维修单
维修单,由 MesDvRepairController 提供接口。用于设备故障时创建维修工单,记录故障描述、维修过程和验收结果。
# 3.1 表结构
省略 creator/create_time/updater/update_time/deleted/tenant_id 等通用字段
CREATE TABLE `mes_dv_repair` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`code` varchar(64) NOT NULL COMMENT '维修工单编码',
`name` varchar(255) DEFAULT NULL COMMENT '维修工单名称',
`machinery_id` bigint DEFAULT NULL COMMENT '设备ID',
`require_date` datetime DEFAULT NULL COMMENT '报修日期',
`finish_date` datetime DEFAULT NULL COMMENT '维修完成日期',
`confirm_date` datetime DEFAULT NULL COMMENT '验收日期',
`result` tinyint DEFAULT NULL COMMENT '维修结果',
`accepted_user_id` bigint DEFAULT NULL COMMENT '维修人',
`confirm_user_id` bigint DEFAULT NULL COMMENT '验收人',
`source_doc_type` tinyint DEFAULT NULL COMMENT '来源单据类型',
`source_doc_id` bigint DEFAULT NULL COMMENT '来源单据ID',
`source_doc_code` varchar(64) DEFAULT NULL COMMENT '来源单据编码',
`status` tinyint NOT NULL DEFAULT '0' COMMENT '状态',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='MES 维修工单';
① machinery_id 关联 mes_dv_machinery 表的 id 字段(详见 《【设备】设备类型、设备台账》)。
② result 为维修结果,枚举 MesDvRepairResultEnum(1=通过,2=不通过)。由验收人在验收时填写。
③ accepted_user_id 为维修人,confirm_user_id 为验收人。
④ source_doc_type、source_doc_id、source_doc_code 为来源单据预留字段,暂未使用。
⑤ status 为维修单状态,枚举 MesDvRepairStatusEnum:
| 状态值 | 枚举名 | 说明 | 可执行操作 |
|---|---|---|---|
| 0 | PREPARE | 草稿 | 提交 |
| 1 | CONFIRMED | 维修中 | 提交验收 |
| 2 | APPROVING | 待验收 | 确认完成 |
| 4 | FINISHED | 已确认 | — |
状态流转说明
创建 ──→ 草稿(0) ──提交──→ 维修中(1) ──确认──→ 待验收(2) ──完成──→ 已确认(4)
- 创建(
createRepair):填写设备、报修日期、故障描述等。 - 提交(
submitRepair):指定维修人,进入维修阶段。 - 确认(
confirmRepair):维修人完成维修,提交待验收。 - 完成(
finishRepair):验收人验收,填写维修结果,并维护设备的最终状态。
该表包含一个子表:
mes_dv_repair_line(维修行):记录具体的故障项。
# 3.2 管理后台
对应 [MES 系统 -> 设备管理 -> 维修工单] 菜单,对应 yudao-ui-admin-vue3 项目的 @/views/mes/dv/repair 目录。
# 列表
支持按维修单编码、名称、设备、维修结果、状态等条件搜索。

# 新增
点击【新增】或【编辑】按钮,弹出维修单表单。主要填写维修单编码、名称、设备、报修日期。表单下方展示故障行,需要填写维修的项目及故障描述。

# 修改
点击编码链接或【编辑】按钮,弹出修改表单。表单下方展示子表数据:
★ 故障行(编辑弹窗下方):由 mes_dv_repair_line 表存储。由 MesDvRepairLineController 提供接口。
mes_dv_repair_line 表结构
CREATE TABLE `mes_dv_repair_line` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`repair_id` bigint NOT NULL COMMENT '维修单ID',
`subject_id` bigint DEFAULT NULL COMMENT '项目ID',
`malfunction` varchar(500) DEFAULT NULL COMMENT '故障描述',
`malfunction_url` varchar(1000) DEFAULT NULL COMMENT '故障图片URL',
`description` varchar(500) DEFAULT NULL COMMENT '维修说明',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='MES 维修行';
① repair_id 关联主表 mes_dv_repair 的 id 字段。
② subject_id 关联 mes_dv_subject 表的 id 字段(选填,可关联具体的点检/保养项目,详见 《【设备】点检保养项目、点检保养方案》)。
③ malfunction 为故障现象描述,malfunction_url 为故障照片。description 为维修说明。均为说明性字段,后端不参与业务逻辑判定。