| 1234567891011121314151617181920212223242526272829303132333435363738 |
- from __future__ import annotations
- from sqlmodel import Field, SQLModel
- class PurchasePlan(SQLModel, table=True):
- """计划表 - 对应 purchase_plans"""
- __tablename__ = "purchase_plans"
- id: int | None = Field(default=None, primary_key=True)
- plan_no: str | None = Field(default=None, max_length=255, index=True) # 计划号
- plan_date: str = Field(max_length=255, index=True) # 计划日期
- start_date: str | None = Field(default=None, max_length=255, index=True) # 开始时间
- end_date: str | None = Field(default=None, max_length=255, index=True) # 结束时间
- business_type: str = Field(max_length=255, index=True) # 业务类型(入库/出库)
- product: str = Field(max_length=255, index=True) # 产品名称
- specification: str | None = Field(default=None, max_length=255) # 规格
- planned_quantity: float = Field() # 计划数量(t)
- vehicle_no: str | None = Field(default="", max_length=255) # 车牌号
- customer_name: str | None = Field(default=None, max_length=255) # 往来单位
- remarks: str | None = Field(default=None) # 备注
- is_deleted: int = Field(default=0, index=True) # 是否删除(0=否,1=是)
- execution_status: str | None = Field(default=None, max_length=50, index=True) # 执行状态
- executed_at: str | None = Field(default=None, max_length=255) # 执行时间
- last_weighing_slip_id: int | None = Field(default=None) # 最后关联的地磅单ID
- executed_quantity: float | None = Field(default=0) # 已执行量(kg)
- created_at: str = Field(max_length=255) # 创建时间
- auto_generate_enabled: int = Field(default=0, index=True) # 是否自动按月生成(0=否,1=是)
- auto_generate_end_month: str | None = Field(
- default=None, max_length=7, index=True
- ) # 自动生成结束月份(YYYY-MM,None=一直生成)
- auto_generate_last_month: str | None = Field(
- default=None, max_length=7
- ) # 最后一次自动生成的月份(YYYY-MM,用于防重复)
- # 保留别名以兼容
- Plan = PurchasePlan
|