Files
pickling-mes/backend/app/schemas/pdi.py
wangyu 193da0018f feat: 移除PDI和订单号字段,新增设备巡检模块
- 从物料跟踪页面移除订单号列和表单字段
- 从导航菜单移除PDI管理,添加设备巡检
- 新增InspectionLocation和InspectionRecord后端模型和API
- 新增设备巡检前端页面(左侧点位列表,右侧设备和历史记录)
2026-05-27 16:38:40 +08:00

82 lines
3.0 KiB
Python

from pydantic import BaseModel
from typing import Optional
from datetime import datetime
from app.models.pdi import L3Status, L2Status
class PDIRecordCreate(BaseModel):
coil_no: str
order_no: Optional[str] = None
customer: Optional[str] = None
steel_grade: Optional[str] = None
thickness: Optional[float] = None
width: Optional[float] = None
target_thickness: Optional[float] = None
target_width: Optional[float] = None
yield_strength: Optional[float] = None
tensile_strength: Optional[float] = None
elongation: Optional[float] = None
coil_weight: Optional[float] = None
inner_diameter: Optional[float] = None
outer_diameter: Optional[float] = None
process_route: Optional[str] = None
priority: Optional[int] = 3
l3_status: Optional[L3Status] = L3Status.pending
l2_status: Optional[L2Status] = L2Status.pending
send_time: Optional[datetime] = None
confirm_time: Optional[datetime] = None
remark: Optional[str] = None
class PDIRecordUpdate(BaseModel):
order_no: Optional[str] = None
customer: Optional[str] = None
steel_grade: Optional[str] = None
thickness: Optional[float] = None
width: Optional[float] = None
target_thickness: Optional[float] = None
target_width: Optional[float] = None
yield_strength: Optional[float] = None
tensile_strength: Optional[float] = None
elongation: Optional[float] = None
coil_weight: Optional[float] = None
inner_diameter: Optional[float] = None
outer_diameter: Optional[float] = None
process_route: Optional[str] = None
priority: Optional[int] = None
l3_status: Optional[L3Status] = None
l2_status: Optional[L2Status] = None
send_time: Optional[datetime] = None
confirm_time: Optional[datetime] = None
remark: Optional[str] = None
class PDIRecordOut(BaseModel):
id: int
coil_no: str
order_no: Optional[str]
customer: Optional[str]
steel_grade: Optional[str]
thickness: Optional[float]
width: Optional[float]
target_thickness: Optional[float]
target_width: Optional[float]
yield_strength: Optional[float]
tensile_strength: Optional[float]
elongation: Optional[float]
coil_weight: Optional[float]
inner_diameter: Optional[float]
outer_diameter: Optional[float]
process_route: Optional[str]
priority: Optional[int]
l3_status: Optional[L3Status]
l2_status: Optional[L2Status]
send_time: Optional[datetime]
confirm_time: Optional[datetime]
remark: Optional[str]
created_at: datetime
updated_at: Optional[datetime]
class Config:
from_attributes = True