83 lines
2.2 KiB
Python
83 lines
2.2 KiB
Python
|
|
from pydantic import BaseModel
|
||
|
|
from typing import Optional
|
||
|
|
from datetime import datetime
|
||
|
|
from app.models.material import CoilStatus
|
||
|
|
|
||
|
|
|
||
|
|
class CoilCreate(BaseModel):
|
||
|
|
coil_no: str
|
||
|
|
order_no: Optional[str] = None
|
||
|
|
steel_grade: Optional[str] = None
|
||
|
|
spec_thickness: Optional[float] = None
|
||
|
|
spec_width: Optional[float] = None
|
||
|
|
target_thickness: Optional[float] = None
|
||
|
|
target_width: Optional[float] = None
|
||
|
|
gross_weight: Optional[float] = None
|
||
|
|
net_weight: Optional[float] = None
|
||
|
|
inner_diameter: Optional[float] = None
|
||
|
|
plan_id: Optional[int] = None
|
||
|
|
remark: Optional[str] = None
|
||
|
|
|
||
|
|
|
||
|
|
class CoilUpdate(BaseModel):
|
||
|
|
order_no: Optional[str] = None
|
||
|
|
steel_grade: Optional[str] = None
|
||
|
|
spec_thickness: Optional[float] = None
|
||
|
|
spec_width: Optional[float] = None
|
||
|
|
target_thickness: Optional[float] = None
|
||
|
|
target_width: Optional[float] = None
|
||
|
|
gross_weight: Optional[float] = None
|
||
|
|
net_weight: Optional[float] = None
|
||
|
|
status: Optional[CoilStatus] = None
|
||
|
|
plan_id: Optional[int] = None
|
||
|
|
remark: Optional[str] = None
|
||
|
|
|
||
|
|
|
||
|
|
class CoilOut(BaseModel):
|
||
|
|
id: int
|
||
|
|
coil_no: str
|
||
|
|
order_no: Optional[str]
|
||
|
|
steel_grade: Optional[str]
|
||
|
|
spec_thickness: Optional[float]
|
||
|
|
spec_width: Optional[float]
|
||
|
|
target_thickness: Optional[float]
|
||
|
|
target_width: Optional[float]
|
||
|
|
gross_weight: Optional[float]
|
||
|
|
net_weight: Optional[float]
|
||
|
|
status: CoilStatus
|
||
|
|
plan_id: Optional[int]
|
||
|
|
created_at: datetime
|
||
|
|
|
||
|
|
class Config:
|
||
|
|
from_attributes = True
|
||
|
|
|
||
|
|
|
||
|
|
class TrackingCreate(BaseModel):
|
||
|
|
coil_no: str
|
||
|
|
position: Optional[str] = None
|
||
|
|
event_type: str
|
||
|
|
event_desc: Optional[str] = None
|
||
|
|
actual_thickness: Optional[float] = None
|
||
|
|
actual_width: Optional[float] = None
|
||
|
|
speed: Optional[float] = None
|
||
|
|
tension: Optional[float] = None
|
||
|
|
operator: Optional[str] = None
|
||
|
|
event_time: datetime
|
||
|
|
|
||
|
|
|
||
|
|
class TrackingOut(BaseModel):
|
||
|
|
id: int
|
||
|
|
coil_id: int
|
||
|
|
coil_no: str
|
||
|
|
position: Optional[str]
|
||
|
|
event_type: str
|
||
|
|
event_desc: Optional[str]
|
||
|
|
actual_thickness: Optional[float]
|
||
|
|
actual_width: Optional[float]
|
||
|
|
speed: Optional[float]
|
||
|
|
operator: Optional[str]
|
||
|
|
event_time: datetime
|
||
|
|
|
||
|
|
class Config:
|
||
|
|
from_attributes = True
|