Files
pickling-mes/backend/app/models/quality.py

39 lines
1.9 KiB
Python
Raw Normal View History

from sqlalchemy import Column, Integer, String, Float, DateTime, Text, Boolean, ForeignKey, func
from app.database import Base
class QualityRecord(Base):
"""质量检验记录"""
__tablename__ = "quality_records"
id = Column(Integer, primary_key=True, index=True)
coil_no = Column(String(30), nullable=False, index=True, comment="卷号")
production_record_id = Column(Integer, ForeignKey("production_records.id"), nullable=True, comment="关联生产实绩")
# 实测规格
thickness_actual = Column(Float, nullable=True, comment="实测厚度 mm")
width_actual = Column(Float, nullable=True, comment="实测宽度 mm")
flatness = Column(Float, nullable=True, comment="平直度 IU")
crown = Column(Float, nullable=True, comment="凸度 μm")
# 表面缺陷
surface_defect_type = Column(String(50), nullable=True, comment="表面缺陷类型")
defect_length_m = Column(Float, nullable=True, comment="缺陷长度 m")
defect_position = Column(String(50), nullable=True, comment="缺陷位置")
# 质量模型评分
pi_score = Column(Float, nullable=True, comment="酸洗指数评分 0-100")
surface_score = Column(Float, nullable=True, comment="表面质量评分 0-100")
overall_grade = Column(String(5), nullable=True, comment="综合等级 A1/A2/B1/B2/C")
# 残酸 / 粗糙度
acid_residual = Column(Float, nullable=True, comment="残酸量 g/m²")
roughness_ra = Column(Float, nullable=True, comment="粗糙度 Ra μm")
# 检验信息
inspector = Column(String(50), nullable=True, comment="检验员")
inspect_time = Column(DateTime, nullable=True, comment="检验时间")
is_passed = Column(Boolean, default=True, comment="是否合格")
created_at = Column(DateTime, server_default=func.now())