43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
from typing import List, Optional
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class ProductionTaskSetItemBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
task_name: str = Field(..., alias="taskName")
|
|
route_id: Optional[str] = Field(None, alias="routeId")
|
|
description: Optional[str] = None
|
|
remark: Optional[str] = None
|
|
|
|
|
|
class ProductionTaskSetCreateBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
set_name: str = Field(..., alias="setName")
|
|
status: Optional[str] = "1"
|
|
remark: Optional[str] = None
|
|
items: List[ProductionTaskSetItemBody] = []
|
|
|
|
|
|
class ProductionTaskSetUpdateBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
set_name: Optional[str] = Field(None, alias="setName")
|
|
status: Optional[str] = None
|
|
remark: Optional[str] = None
|
|
items: Optional[List[ProductionTaskSetItemBody]] = None
|
|
|
|
|
|
class ProductionTaskSetFromWorkOrderBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
work_order_id: str = Field(..., alias="workOrderId")
|
|
set_name: str = Field(..., alias="setName")
|
|
remark: Optional[str] = None
|
|
items: Optional[List[ProductionTaskSetItemBody]] = None
|
|
|
|
|
|
class ProductionTasksFromSetBody(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
work_order_id: str = Field(..., alias="workOrderId")
|
|
set_id: str = Field(..., alias="setId")
|
|
items: Optional[List[ProductionTaskSetItemBody]] = None
|