C0726K07-核心数据结构设计
该版本为V0.0.1,不是发布版本,请勿参考该文档进行编码
工件实体核心字段设计方案
按照要求,系统应支持工件的维护记录日志和操作,分为以下两类操作
- 维护记录数据的相关设计与操作
- 工件实体自身数据的设计与操作
1. 工件实体数据结构 (Workpiece)
class Workpiece:
"""
工件实体核心数据结构
"""
# 基础标识信息
id: int # 主键ID
workpiece_code: str # 工件编号(唯一标识)
workpiece_name: str # 工件名称
# 技术规格信息
material: str # 材料
specification: str # 规格
fire_rating: str # 防火等级
waterproof_rating: str # 水密等级
fire_board_code: str # 防火板代号
# 位置信息
main_vertical_zone: str # 主竖区
installation_position: str # 安装位置
z_coordinate: float # Z坐标
rib_position: str # 肋位
longitudinal_girder: str # 纵桁
# 图纸信息
sap1: str # SAP1编号
sap2: str # SAP2编号
drawing_chapter: str # 图册章节
# 审计字段
created_at: datetime # 创建时间
updated_at: datetime # 更新时间
created_by: int # 创建人ID
updated_by: int # 更新人ID
is_deleted: bool # 软删除标记
2. 维护记录数据结构 (ActionLog)
class ActionLog:
"""
工件维护操作记录
"""
id: int # 主键ID
workpiece_id: int # 关联工件ID
action_type: str # 操作类型(检查/维修/更换/安装)
action_status: str # 操作状态(进行中/已完成/已取消)
# 操作人员信息
operator_id: int # 操作人员ID
operator_name: str # 操作人员姓名
supervisor_id: int # 监督人员ID
# 操作详情
action_description: str # 操作描述
problem_description: str # 问题描述
solution_description: str # 解决方案描述
action_result: str # 操作结果
# 时间信息
planned_start_time: datetime # 计划开始时间
actual_start_time: datetime # 实际开始时间
planned_end_time: datetime # 计划结束时间
actual_end_time: datetime # 实际结束时间
# 质量信息
quality_check_result: str # 质量检查结果
quality_score: float # 质量评分
# 附件信息
before_images: List[str] # 操作前图片
after_images: List[str] # 操作后图片
documents: List[str] # 相关文档
# 审计字段
created_at: datetime # 创建时间
updated_at: datetime # 更新时间
数据结构关系说明
主要关系
- Workpiece ← ActionLog (一对多): 一个工件可以有多条维护记录
- Workpiece ← IssueTicket (一对多): 一个工件可以有多个问题工单
- User ← ActionLog (一对多): 一个用户可以执行多个操作
- User ← IssueTicket (多对多): 用户可以是报告人、分配人或监督人
- Workpiece ← ImageRecognition (一对多): 一个工件可以有多次识别记录
索引建议
- Workpiece: workpiece_code(唯一), qr_code(唯一), rfid_tag(唯一)
- ActionLog: workpiece_id, operator_id, action_type, created_at
- IssueTicket: workpiece_id, assignee_id, status, priority
- User: username(唯一), email(唯一), employee_id(唯一)
- ImageRecognition: workpiece_id, created_at
数据完整性约束
- 所有外键关系需要设置适当的约束
- 关键字段(如工件编号、用户名)需要唯一性约束
- 状态字段需要枚举值约束
- 时间字段需要合理性检查(如结束时间不能早于开始时间)