from datetime import date, datetime from sqlalchemy import Column, String, BigInteger, Date, DateTime from sqlalchemy.orm import relationship from config.database import Base class WarehouseReceipt(Base): """ 入库单表 对应数据库表 warehouse_receipt """ __tablename__ = 'warehouse_receipt' receipt_id = Column(BigInteger, primary_key=True, autoincrement=True, comment='入库单ID') receipt_no = Column(String(50), nullable=False, unique=True, comment='入库单号') commission_no = Column(String(100), comment='样品委托单号') client_unit = Column(String(200), comment='委托单位') client_contact = Column(String(100), comment='委托人') receipt_date = Column(Date, comment='收样日期') source_location = Column(String(200), comment='来源地') delivery_person = Column(String(100), comment='送样人') receipt_method = Column(String(50), comment='收样方式') receipt_method_detail = Column(String(200), comment='收样方式详情') receiver = Column(String(100), comment='收样人') recorder = Column(String(100), comment='入库记录人') purpose = Column(String(50), comment='来样目的') purpose_detail = Column(String(500), 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='删除标志') # 关联样品 samples = relationship('WarehouseSample', back_populates='receipt', cascade='all, delete-orphan') __table_args__ = {'comment': '入库单表'}