from datetime import date, datetime from sqlalchemy import Column, String, BigInteger, Date, DateTime, ForeignKey from sqlalchemy.orm import relationship from config.database import Base class WarehouseSample(Base): """ 样品表 对应数据库表 warehouse_sample """ __tablename__ = 'warehouse_sample' sample_id = Column(BigInteger, primary_key=True, autoincrement=True, comment='样品ID') receipt_id = Column(BigInteger, ForeignKey('warehouse_receipt.receipt_id', ondelete='CASCADE'), nullable=False, comment='入库单ID') receipt_no = Column(String(50), comment='入库单号') sample_model = Column(String(100), comment='样品型号') sample_sn = Column(String(100), comment='样品SN号') hardware_version = Column(String(100), comment='样品硬件版本号') external_status = Column(String(50), comment='样品入库外测状态') test_items = Column(String(500), comment='计划测试项') test_deadline = Column(Date, comment='计划测试截止日期') actual_test_items = Column(String(500), comment='实际测试项') delivery_date = Column(Date, comment='出库交样日期') delivery_method = Column(String(50), comment='出库交样方式') delivery_person = Column(String(100), comment='出库交样人') receive_person = Column(String(100), comment='出库接样人') delivery_recorder = Column(String(100), comment='出库记录人') status = Column(String(1), default='0', comment='状态') remark = Column(String(500), comment='备注') create_by = Column(String(64), default='', comment='创建者') create_time = Column(DateTime, comment='创建时间') update_by = Column(String(64), default='', comment='更新者') update_time = Column(DateTime, comment='更新时间') del_flag = Column(String(1), default='0', comment='删除标志') # 关联入库单 receipt = relationship('WarehouseReceipt', back_populates='samples') __table_args__ = {'comment': '样品表'}