Appearance
设备实体模型设计
**本文档引用的文件** - [device.sql](file://docs/ddl/device.sql) - [DeviceMainDo.java](file://lemes-job-devicemate/lemes-job-devicemate-executor/src/main/java/com/lenovo/lemes/job/devicemate/executor/model/device/DeviceMainDo.java) - [basicInfo.vue](file://app/devicemate-app/modules/equipment/basicInfo.vue) - [equipment.js](file://app/devicemate-app/store/modules/equipment.js) - [DeviceTypeApi.java](file://lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-common/src/main/java/com/lenovo/lemes/service/dm/device/api/DeviceTypeApi.java)目录
简介
本文件系统性梳理设备实体模型的设计与实现,围绕设备主数据表(device)、设备台账表(equipment)、设备分类表(device_class)等核心实体,详细解析字段定义、数据类型、约束条件与业务规则,并阐明实体间关联关系、外键约束与数据完整性保障机制。同时,结合前端展示与后端接口,完整呈现设备生命周期管理的数据流转过程与业务逻辑。
项目结构
设备实体模型涉及三层协同:
- 数据层:PostgreSQL DDL 定义的设备相关表结构
- 业务层:Java 实体模型与接口定义
- 表现层:前端页面与状态管理
图表来源
章节来源
核心组件
本节聚焦设备实体模型的关键表与字段,结合DDL注释与Java实体映射,给出字段字典与业务规则说明。
设备主数据表(device)
- 字段要点
- 设备唯一标识:设备编号(device_no)、设备编码(device_code)、设备名称(device_name)
- 设备状态:设备状态字段用于标识设备运行、停机、维修等状态
- 设备位置:设备所在产线(line_no/line_code)、产品线(product_line_no/product_line_name)
- 设备分类:设备分类字段(device_classify)与分类名称(device_classify_name)
- 关键属性:重要程度(is_important)、设备种类代号(device_type_no)
- 约束与完整性
- 主键:自增ID
- 逻辑删除:is_delete 标识
- 外键:与产线(line)、产品线(product_line)、设备分类(device_class)等关联
- 业务规则
- 设备编码与编号需满足唯一性与可追溯性
- 设备状态变更需遵循工作流或审批流程
- 设备位置与产线绑定,确保资产定位准确
- 字段要点
设备台账表(equipment)
- 字段要点
- 资产编号(asset_number)、初始价值(asset_init_value)、折旧年限(depreciable_life)、折旧截止日期(depreciable_end_date)
- 责任人信息(asset_person_name)
- 生产日期(date_of_production)、制造商(device_manufacturer)、最后CPK(last_cpk)
- 约束与完整性
- 与设备主数据(device)建立一对一或一对多关联
- 资产字段支持财务折旧计算与资产管理
- 业务规则
- 资产信息与设备物理信息分离,便于独立维护
- 折旧年限与价值影响后续折旧策略与报表
- 字段要点
设备分类表(device_class)
- 字段要点
- 分类编号(class_no)、分类名称(class_name)、父级分类(parent_class_no)
- 有效标志(valid_flag)、创建/更新时间(create_time/update_time)
- 约束与完整性
- 层级结构通过parent_class_no维护
- 逻辑删除与有效性控制
- 业务规则
- 支持多级分类,便于设备检索与统计分析
- 字段要点
相关辅助表
- 产线(line):包含工厂代号(factory_no)、产线编码(line_code)、产线名称(line_name)、有效标志(valid_flag)
- 产品线(product_line):包含工厂代号、产品线代号、编码、名称、有效标志
- 设备类型(device_type):与物料(part_main)关联,用于设备种类查询
章节来源
架构概览
设备实体模型贯穿数据层、业务层与表现层,形成“数据定义—实体映射—接口暴露—前端展示”的完整链路。
图表来源
详细组件分析
设备主数据表(device)字段字典
- 设备唯一标识
- 设备编号(device_no):设备在企业内的唯一识别码,用于业务操作与报表
- 设备编码(device_code):设备的标准编码,便于系统间对接与扫描识别
- 设备名称(device_name):设备显示名称,便于人工识别
- 设备状态
- 设备状态字段:标识设备当前状态(运行、停机、维修、报废等),驱动工作流与权限控制
- 设备位置
- 产线信息:line_no/line_code/product_line_no/product_line_name,明确设备所属产线与产品线
- 设备分类
- 设备分类字段(device_classify)与分类名称(device_classify_name),支撑分类统计与检索
- 关键属性
- 重要程度(is_important):区分关键设备与一般设备,影响维护策略与监控强度
- 设备种类代号(device_type_no):与物料关联,用于设备类型查询与配置
章节来源
设备台账表(equipment)字段字典
- 资产信息
- 资产编号(asset_number)、初始价值(asset_init_value)、折旧年限(depreciable_life)、折旧截止日期(depreciable_end_date)
- 责任人信息(asset_person_name)
- 设备属性
- 生产日期(date_of_production)、制造商(device_manufacturer)、最后CPK(last_cpk)
章节来源
设备分类表(device_class)字段字典
- 分类信息
- 分类编号(class_no)、分类名称(class_name)、父级分类(parent_class_no)
- 控制字段
- 有效标志(valid_flag)、创建/更新时间(create_time/update_time)
章节来源
Java实体模型(DeviceMainDo)
- 字段映射
- 设备编码(deviceCode)、设备编号(deviceNo)、设备名称(deviceName)
- 产品线名称(productLineName)、产品线代号(productLineNo)
- 产线代号(lineNo)、产线名称(lineName)、产线编码(lineCode)
- 设备分类名称(deviceClassifyName)、设备分类(deviceClassify)
- 重要程度(isImportant)、设备种类代号(deviceTypeNo)
章节来源
前端展示与状态管理
- 页面展示
- 基础信息页(basicInfo.vue)展示设备来源、生产日期、制造商、最后CPK等信息
- 状态管理
- 设备状态模块(equipment.js)维护设备编码、设备编号、图片URL等状态,供页面与接口调用
章节来源
接口与数据流转
- 设备类型查询接口(DeviceTypeApi)
- 功能:根据关联物料(partNo)查询设备种类
- 参数:partNo(必填)
- 返回:设备类型VO封装结果
- 数据流转
- 前端设置设备编码/编号到状态管理
- 调用接口获取设备类型信息
- 后端实体模型组装返回数据
- 前端渲染设备基础信息
章节来源
依赖分析
设备实体模型的依赖关系体现在表间外键与业务实体间的关联。
图表来源
章节来源
性能考虑
- 索引与唯一性
- 设备编码与编号需建立唯一索引,确保查询与去重效率
- 产线、产品线、设备分类等维度字段建议建立索引,提升关联查询性能
- 逻辑删除
- 使用is_delete进行软删除,避免全表扫描,但需在查询中显式过滤
- 分页与缓存
- 设备列表查询建议分页,结合Redis缓存热点设备信息
- 关联查询优化
- 设备主数据与台账、分类、产线等表的关联查询应使用JOIN并限制返回字段
故障排除指南
- 设备状态异常
- 现象:设备状态不随工作流变化
- 排查:检查设备状态字段更新逻辑与审批流程触发点
- 设备位置错配
- 现象:设备归属产线/产品线错误
- 排查:核对line_no、product_line_no字段一致性,检查产线/产品线有效性(valid_flag)
- 设备分类缺失
- 现象:设备分类字段为空或无效
- 排查:确认DEVICE_CLASS表数据完整性与外键关联
- 前端显示异常
- 现象:设备基础信息不显示或为空
- 排查:检查equipment.js状态更新逻辑与DeviceTypeApi接口返回值
章节来源
结论
设备实体模型通过清晰的表结构设计、严格的字段约束与业务规则,实现了设备从主数据到台账、从分类到位置的全生命周期管理。前后端协同与接口化设计,确保了设备信息的准确性与可追溯性。建议持续完善索引策略与缓存机制,以进一步提升系统性能与用户体验。