qc_material.py 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from datetime import datetime
  2. from sqlalchemy import Column, DateTime, Integer, Numeric, SmallInteger, String
  3. from app.core.database import Base
  4. class BizQcMaterial(Base):
  5. __tablename__ = "biz_qc_material"
  6. id = Column(String(64), primary_key=True, comment="主键ID")
  7. material_code = Column(String(64), nullable=False, comment="物料编码")
  8. material_name = Column(String(200), nullable=False, comment="物料名称")
  9. spec_model = Column(String(200), nullable=True, comment="规格型号")
  10. unit = Column(String(32), nullable=True, comment="单位")
  11. stock_qty = Column(Numeric(18, 4), nullable=False, default=0, comment="当前库存量")
  12. warning_qty = Column(Numeric(18, 4), nullable=False, default=0, comment="预警库存量")
  13. status = Column(String(1), nullable=False, default="1", comment="1-启用 0-停用")
  14. tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
  15. order_num = Column(Integer, nullable=True, comment="排序号")
  16. remark = Column(String(512), nullable=True, comment="备注")
  17. create_by = Column(String(64), nullable=True, comment="创建人id")
  18. create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
  19. create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
  20. update_by = Column(String(64), nullable=True, comment="更新人id")
  21. update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
  22. del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")
  23. class BizQcMaterialUsage(Base):
  24. __tablename__ = "biz_qc_material_usage"
  25. id = Column(String(64), primary_key=True, comment="主键ID")
  26. material_id = Column(String(64), nullable=False, comment="物料ID")
  27. material_code = Column(String(64), nullable=True, comment="物料编码快照")
  28. material_name = Column(String(200), nullable=True, comment="物料名称快照")
  29. change_type = Column(String(16), nullable=False, comment="变动类型:use使用 / in入库")
  30. change_qty = Column(Numeric(18, 4), nullable=False, comment="变动数量")
  31. stock_after = Column(Numeric(18, 4), nullable=False, comment="变动后库存量")
  32. qc_task_id = Column(String(64), nullable=True, comment="关联质检任务ID")
  33. qc_task_no = Column(String(32), nullable=True, comment="质检任务号快照")
  34. receiver = Column(String(64), nullable=True, comment="领用人(手动出库)")
  35. purpose = Column(String(512), nullable=True, comment="用途/事由(手动出库)")
  36. source_type = Column(
  37. String(16),
  38. nullable=False,
  39. comment="来源:task_complete / manual_in / manual_out",
  40. )
  41. tenant_no = Column(String(64), nullable=False, default="zkxw", comment="租户编号")
  42. remark = Column(String(512), nullable=True, comment="备注")
  43. create_by = Column(String(64), nullable=True, comment="创建人id")
  44. create_dept_id = Column(String(64), nullable=False, default="", comment="创建人部门ID")
  45. create_time = Column(DateTime, nullable=False, default=datetime.now, comment="创建时间")
  46. update_by = Column(String(64), nullable=True, comment="更新人id")
  47. update_time = Column(DateTime, nullable=False, default=datetime.now, onupdate=datetime.now, comment="更新时间")
  48. del_flag = Column(SmallInteger, nullable=False, default=0, comment="删除标记")