Files
SCGL/backend/app/schemas/work_order.py

41 lines
871 B
Python

"""工单 Schema"""
from pydantic import BaseModel, Field
from datetime import datetime
from app.models.production import WorkOrderStatus
class WorkOrderBase(BaseModel):
"""工单基础 Schema"""
project_id: int
target_base_id: int
target_quantity: int = Field(gt=0)
assignee_name: str | None = None
class WorkOrderCreate(WorkOrderBase):
"""创建工单"""
work_order_no: str
class WorkOrderUpdate(BaseModel):
"""更新工单"""
target_quantity: int | None = None
assignee_name: str | None = None
class WorkOrderStatusUpdate(BaseModel):
"""状态流转"""
status: WorkOrderStatus
class WorkOrderResponse(WorkOrderBase):
"""工单响应"""
id: int
work_order_no: str
status: WorkOrderStatus
created_at: datetime
updated_at: datetime | None
class Config:
from_attributes = True