41 lines
871 B
Python
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
|