跳到主要内容

C0726K07-核心数据结构设计

该版本为V0.0.1,不是发布版本,请勿参考该文档进行编码

工件实体核心字段设计方案

按照要求,系统应支持工件的维护记录日志和操作,分为以下两类操作

  1. 维护记录数据的相关设计与操作
  2. 工件实体自身数据的设计与操作

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 # 更新时间

数据结构关系说明

主要关系

  1. WorkpieceActionLog (一对多): 一个工件可以有多条维护记录
  2. WorkpieceIssueTicket (一对多): 一个工件可以有多个问题工单
  3. UserActionLog (一对多): 一个用户可以执行多个操作
  4. UserIssueTicket (多对多): 用户可以是报告人、分配人或监督人
  5. WorkpieceImageRecognition (一对多): 一个工件可以有多次识别记录

索引建议

  • 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

数据完整性约束

  1. 所有外键关系需要设置适当的约束
  2. 关键字段(如工件编号、用户名)需要唯一性约束
  3. 状态字段需要枚举值约束
  4. 时间字段需要合理性检查(如结束时间不能早于开始时间)